# configuration/constants/asset.constants.ts

> 59 lines of code and 12 definitions.

Tree: Bane's Lab Build Scripts
Language: typescript
Layer: infrastructure
Canonical: https://banes-lab.com/anatomy/build-scripts#file-build-scripts-configuration-constants-asset-constants-ts
Source text: https://banes-lab.com/source/build-scripts/configuration/constants/asset.constants.ts.txt

Listed in [configuration/constants](https://banes-lab.com/api/source/build-scripts/configuration/constants.md), after [configuration/constants/anatomy.constants.ts](https://banes-lab.com/source/build-scripts/configuration/constants/anatomy.constants.ts.md) and before [configuration/constants/binding.constants.ts](https://banes-lab.com/source/build-scripts/configuration/constants/binding.constants.ts.md).

## Definitions

- `TEXT_EXTENSIONS` (lexical_declaration, line 11, exported)
- `REFERENCE_DELIMITERS` (lexical_declaration, line 22, exported)
- `REFERENCE_ENDS` (lexical_declaration, line 44, exported)
- `PAGE_EXTENSION` (lexical_declaration, line 46, exported)
- `BROTLI_EXTENSION` (lexical_declaration, line 48, exported)
- `BROTLI_THRESHOLD` (lexical_declaration, line 50, exported)
- `BROTLI_CACHE` (lexical_declaration, line 52, exported)
- `PRECOMPRESSED_EXTENSIONS` (lexical_declaration, line 54, exported)
- `SERVED_ROOT_FILES` (lexical_declaration, line 56, exported)
- `SERVED_EXTENSIONS` (lexical_declaration, line 67, exported)
- `SERVED_ROUTES` (lexical_declaration, line 69, exported)
- `ASSET_KEYS` (lexical_declaration, line 71, exported)

## Contained in

- [configuration/constants](https://banes-lab.com/anatomy/build-scripts/folder-build-scripts-configuration-constants.md)

## Source

```typescript
import {
    FULL_TEXT_FOLDER,
    FULL_TEXT_ROUTE,
    SEARCH_KEY_FILE,
    SECURITY_KEY_FILE,
    SECURITY_TXT_FILE,
    SITEMAP_PART_PREFIX,
    SITEMAP_ROUTE,
} from "#configuration/constants/site.constants";

export const TEXT_EXTENSIONS: ReadonlySet<string> = new Set([
    ".css",
    ".html",
    ".js",
    ".json",
    ".md",
    ".svg",
    ".txt",
    ".xml",
]);

export const REFERENCE_DELIMITERS: ReadonlySet<string> = new Set([
    " ",
    "\t",
    "\n",
    "\r",
    '"',
    "'",
    "`",
    "\\",
    "(",
    ")",
    "[",
    "]",
    "{",
    "}",
    "<",
    ">",
    ",",
    ";",
    "=",
]);

export const REFERENCE_ENDS: ReadonlySet<string> = new Set(["?", "#"]);

export const PAGE_EXTENSION = ".html";

export const BROTLI_EXTENSION = ".br";

export const BROTLI_THRESHOLD = 256;

export const BROTLI_CACHE = "brotli";

export const PRECOMPRESSED_EXTENSIONS: ReadonlySet<string> = new Set([".br", ".gz"]);

export const SERVED_ROOT_FILES: ReadonlySet<string> = new Set([
    "favicon.ico",
    "llms.txt",
    FULL_TEXT_ROUTE,
    "robots.txt",
    SEARCH_KEY_FILE,
    SECURITY_KEY_FILE,
    SECURITY_TXT_FILE,
    SITEMAP_ROUTE.slice(1),
]);

export const SERVED_EXTENSIONS: ReadonlySet<string> = new Set([".html", ".md"]);

export const SERVED_ROUTES: readonly string[] = ["json/", `${FULL_TEXT_FOLDER}/`, SITEMAP_PART_PREFIX];

export const ASSET_KEYS: readonly string[] = ["app.diagrams", "app.walks", "app.sources", "app.surfaces"];
```
