# shared/manifests/asset.manifest.ts

> 20 lines of code and 5 definitions.

Tree: Governance tree
Language: typescript
Layer: infrastructure
Canonical: https://banes-lab.com/anatomy/governance#file-governance-shared-manifests-asset-manifest-ts
Source text: https://banes-lab.com/source/governance/shared/manifests/asset.manifest.ts.txt

Listed in [shared/manifests](https://banes-lab.com/api/source/governance/shared/manifests.md), before [shared/manifests/capability.manifest.ts](https://banes-lab.com/source/governance/shared/manifests/capability.manifest.ts.md).

## Definitions

- `assetFolder` (lexical_declaration, line 6)
- `ASSET_TAG` (lexical_declaration, line 4)
- `folder` (lexical_declaration, line 7)
- `ASSET_MODULE_NAME` (lexical_declaration, line 14, exported)
- `ASSET_PATH_HINTS` (lexical_declaration, line 16, exported)

## Uses

- [shared/strings/taxonomy.strings.ts](https://banes-lab.com/source/governance/shared/strings/taxonomy.strings.ts.md)

## Source

```typescript
import { folderFor } from "./taxonomy.manifest.ts";
import { undeclaredConcernTag } from "../strings/taxonomy.strings.ts";

const ASSET_TAG = "asset";

const assetFolder = function assetFolder(): string {
    const folder = folderFor(ASSET_TAG);
    if (folder === undefined) {
        throw new Error(undeclaredConcernTag(ASSET_TAG));
    }
    return folder;
};

export const ASSET_MODULE_NAME = assetFolder();

export const ASSET_PATH_HINTS: readonly string[] = [
    `/${ASSET_MODULE_NAME}/`,
    "/static/",
    "/public/",
    "/media/",
    "/api/",
    "/v1/",
    "/v2/",
];
```
