# configuration/constants/source.constants.ts

> 38 lines of code and 22 definitions.

Tree: GovLab Stats
Language: typescript
Layer: infrastructure
Canonical: https://banes-lab.com/anatomy/stats#file-stats-configuration-constants-source-constants-ts
Source text: https://banes-lab.com/source/stats/configuration/constants/source.constants.ts.txt

Listed in [configuration/constants](https://banes-lab.com/api/source/stats/configuration/constants.md), after [configuration/constants/site.constants.ts](https://banes-lab.com/source/stats/configuration/constants/site.constants.ts.md) and before [configuration/constants/taxonomy.constants.ts](https://banes-lab.com/source/stats/configuration/constants/taxonomy.constants.ts.md).

## Definitions

- `ROLE_BY_EXT` (lexical_declaration, line 3, exported)
- `AUTHORED_ROLES` (lexical_declaration, line 15, exported)
- `EXCLUDED_ORDER` (lexical_declaration, line 17, exported)
- `EXTENSION_DOT` (lexical_declaration, line 19, exported)
- `NO_EXTENSION` (lexical_declaration, line 21, exported)
- `ROOT_AREA` (lexical_declaration, line 23, exported)
- `LINE_BREAK` (lexical_declaration, line 25, exported)
- `INLINE_BLANKS` (lexical_declaration, line 27, exported)
- `KIBIBYTE` (lexical_declaration, line 29, exported)
- `MAX_TEXT_BYTES` (lexical_declaration, line 31, exported)
- `SNIFF_BYTES` (lexical_declaration, line 33, exported)
- `LARGEST_KEEP` (lexical_declaration, line 35, exported)
- `TEST_NAME_MARKERS` (lexical_declaration, line 37, exported)
- `TEST_NAME_SUFFIX` (lexical_declaration, line 39, exported)
- `TEST_FOLDER` (lexical_declaration, line 41, exported)
- `MANIFEST_FILE` (lexical_declaration, line 43, exported)
- `GENERATED_NAME_MARKER` (lexical_declaration, line 45, exported)
- `GENERATED_SEGMENT_MARKER` (lexical_declaration, line 47, exported)
- `README_FILE` (lexical_declaration, line 49, exported)
- `LOCKFILES` (lexical_declaration, line 51, exported)
- `HEAD_BYTES` (lexical_declaration, line 58, exported)
- `HEAD_MARKERS` (lexical_declaration, line 60, exported)

## Contained in

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

## Source

```typescript
import type { ExcludedKind, FileRole } from "#types/source.types";

export const ROLE_BY_EXT: ReadonlyMap<string, FileRole> = new Map<string, FileRole>([
    [".ts", "source"],
    [".css", "source"],
    [".html", "source"],
    [".md", "prose"],
    [".json", "data"],
    [".jsonc", "data"],
    [".jsonl", "data"],
    [".yaml", "data"],
    [".yml", "data"],
]);

export const AUTHORED_ROLES: readonly FileRole[] = ["source", "prose"];

export const EXCLUDED_ORDER: readonly ExcludedKind[] = ["generated", "ingested", "binary"];

export const EXTENSION_DOT = ".";

export const NO_EXTENSION = "(no extension)";

export const ROOT_AREA = "(root files)";

export const LINE_BREAK = "\n";

export const INLINE_BLANKS: ReadonlySet<string> = new Set([" ", "\t", "\r"]);

export const KIBIBYTE = 1024;

export const MAX_TEXT_BYTES = 8 * KIBIBYTE * KIBIBYTE;

export const SNIFF_BYTES = 8192;

export const LARGEST_KEEP = 200;

export const TEST_NAME_MARKERS: readonly string[] = [".test.", ".spec."];

export const TEST_NAME_SUFFIX = "_test.go";

export const TEST_FOLDER = "__tests__";

export const MANIFEST_FILE = "_manifest.json";

export const GENERATED_NAME_MARKER = ".generated.";

export const GENERATED_SEGMENT_MARKER = "generated";

export const README_FILE = "readme.md";

export const LOCKFILES: ReadonlySet<string> = new Set([
    "package-lock.json",
    "npm-shrinkwrap.json",
    "yarn.lock",
    "pnpm-lock.yaml",
]);

export const HEAD_BYTES = 400;

export const HEAD_MARKERS: readonly string[] = ["do not edit", "auto-generated", "autogenerated", "@generated"];
```
