# configuration/constants/validation.constants.ts

> 40 lines of code and 14 definitions.

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

Listed in [configuration/constants](https://banes-lab.com/api/source/quality/configuration/constants.md), after [configuration/constants/tool.htmlhint.constants.ts](https://banes-lab.com/source/quality/configuration/constants/tool.htmlhint.constants.ts.md) and before [configuration/constants/word.constants.ts](https://banes-lab.com/source/quality/configuration/constants/word.constants.ts.md).

## Definitions

- `PROJECT_TOOL` (lexical_declaration, line 1, exported)
- `VALIDATOR_SUFFIX` (lexical_declaration, line 3, exported)
- `CONSTANT_EXTENSIONS` (lexical_declaration, line 5, exported)
- `CSS_EXTENSIONS` (lexical_declaration, line 7, exported)
- `SCRIPT_EXTENSIONS` (lexical_declaration, line 9, exported)
- `NAMING_EXTENSIONS` (lexical_declaration, line 11, exported)
- `GATE_SOURCE_EXTENSIONS` (lexical_declaration, line 13, exported)
- `RUNTIME_RELATIVE_MARKERS` (lexical_declaration, line 15, exported)
- `BASE_COMPONENTS` (lexical_declaration, line 17, exported)
- `COMPONENT_BOUNDARIES` (lexical_declaration, line 36, exported)
- `PAGES_SEGMENT` (lexical_declaration, line 38, exported)
- `ALLOWED_VAR_FILES` (lexical_declaration, line 40, exported)
- `ALLOWED_VAR_DIRS` (lexical_declaration, line 51, exported)
- `MOBILE_SUFFIX` (lexical_declaration, line 53, exported)

## Contained in

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

## Source

```typescript
export const PROJECT_TOOL = "govlab-native";

export const VALIDATOR_SUFFIX = ".validator.ts";

export const CONSTANT_EXTENSIONS: readonly string[] = ["ts", "mts", "cts", "js", "mjs", "cjs"];

export const CSS_EXTENSIONS: readonly string[] = ["css", "scss"];

export const SCRIPT_EXTENSIONS: readonly string[] = ["ts", "tsx", "mts", "cts", "js", "mjs", "cjs"];

export const NAMING_EXTENSIONS: readonly string[] = ["js", "ts", "mjs", "cjs", "jsx", "tsx", "css", "scss"];

export const GATE_SOURCE_EXTENSIONS: ReadonlySet<string> = new Set([".ts", ".tsx", ".mts", ".cts", ".css", ".scss"]);

export const RUNTIME_RELATIVE_MARKERS: readonly string[] = ["import.meta", "__dirname", "__filename", "process.env"];

export const BASE_COMPONENTS: readonly string[] = [
    "btn",
    "form",
    "input",
    "select",
    "textarea",
    "modal",
    "card",
    "alert",
    "badge",
    "dropdown",
    "tooltip",
    "tabs",
    "accordion",
    "table",
    "nav",
    "menu",
];

export const COMPONENT_BOUNDARIES: ReadonlySet<string> = new Set(["-", " ", ".", ":", ",", ">", "{"]);

export const PAGES_SEGMENT = "/pages/";

export const ALLOWED_VAR_FILES: readonly string[] = [
    "tokens.css",
    "variables.css",
    "theme.css",
    "style-tokens.css",
    "colors.css",
    "typography.css",
    "effects.css",
    "objects.css",
];

export const ALLOWED_VAR_DIRS: readonly string[] = ["/styles/globals/", "/styles/tokens/"];

export const MOBILE_SUFFIX = "-mobile.css";
```
