# configuration/constants/concern.constants.ts

> 68 lines of code and 8 definitions.

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

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

## Definitions

- `CONCERNS` (lexical_declaration, line 3, exported)
- `AGGREGATE_CONCERN` (lexical_declaration, line 64, exported)
- `INSTALL_CONCERN` (lexical_declaration, line 66, exported)
- `CONFIG_FLAG` (lexical_declaration, line 68, exported)
- `FLAG_PREFIX` (lexical_declaration, line 70, exported)
- `VALUE_FLAGS` (lexical_declaration, line 72, exported)
- `REPORTERS` (lexical_declaration, line 74, exported)
- `FLAG_AND_VALUE` (lexical_declaration, line 76, exported)

## Contained in

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

## Source

```typescript
import type { Concern, ConcernSpec, Reporter } from "#types/quality.types";

export const CONCERNS: Readonly<Record<Concern, ConcernSpec>> = {
    actions: { ecosystems: ["actions"] },
    ansible: { ecosystems: ["ansible"] },
    clojure: { ecosystems: ["clojure"] },
    cpp: { ecosystems: ["cpp"] },
    csharp: { ecosystems: ["csharp"] },
    dockerfile: { ecosystems: ["dockerfile"] },
    duplication: { ecosystems: ["javascript", "typescript", "css", "html"], only: ["jscpd"] },
    elixir: { ecosystems: ["elixir"] },
    eslint: { ecosystems: ["javascript", "typescript"], only: ["eslint"] },
    format: { ecosystems: ["javascript", "typescript", "css", "json"], only: ["prettier"] },
    go: { ecosystems: ["go"] },
    htmlhint: { ecosystems: ["html"], only: ["htmlhint"] },
    iac: { ecosystems: ["iac"] },
    install: {},
    java: { ecosystems: ["java"] },
    kotlin: { ecosystems: ["kotlin"] },
    lint: {
        ecosystems: [
            "javascript",
            "typescript",
            "css",
            "html",
            "json",
            "yaml",
            "python",
            "go",
            "ruby",
            "rust",
            "sql",
            "shell",
            "dockerfile",
            "php",
            "lua",
            "java",
            "kotlin",
            "scala",
            "clojure",
            "perl",
            "swift",
        ],
    },
    list: {},
    lua: { ecosystems: ["lua"] },
    oxlint: { ecosystems: ["typescript"], only: ["oxlint"] },
    perl: { ecosystems: ["perl"] },
    php: { ecosystems: ["php"] },
    python: { ecosystems: ["python"] },
    r: { ecosystems: ["r"] },
    ruby: { ecosystems: ["ruby"] },
    rust: { ecosystems: ["rust"] },
    scala: { ecosystems: ["scala"] },
    shell: { ecosystems: ["shell"] },
    solidity: { ecosystems: ["solidity"] },
    sql: { ecosystems: ["sql"] },
    stylelint: { ecosystems: ["css"], only: ["stylelint"] },
    swift: { ecosystems: ["swift"] },
    unused: { ecosystems: ["javascript", "typescript"], only: ["knip"] },
    yaml: { ecosystems: ["yaml"], only: ["yamllint"] },
};

export const AGGREGATE_CONCERN: Concern = "lint";

export const INSTALL_CONCERN: Concern = "install";

export const CONFIG_FLAG = "--config";

export const FLAG_PREFIX = "--";

export const VALUE_FLAGS: ReadonlySet<string> = new Set(["--reporter", CONFIG_FLAG]);

export const REPORTERS: ReadonlySet<Reporter> = new Set<Reporter>(["human", "json"]);

export const FLAG_AND_VALUE = 2;
```
