{
  "definitions": [
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 19,
      "name": "ESLINT_DIR",
      "signature": "const ESLINT_DIR = absolutePath(\"govlabHost.rules\");"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 20,
      "name": "GENERATED_DIR",
      "signature": "const GENERATED_DIR = absolutePath(\"govlabHost.generated\");"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 21,
      "name": "OUT",
      "signature": "const OUT = join(GENERATED_DIR, \"rule-index.generated.ts\");"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 22,
      "name": "IMPORT_PREFIX",
      "signature": "const IMPORT_PREFIX = relative(GENERATED_DIR, ESLINT_DIR).split(\"\\\\\").join(\"/\");"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 23,
      "name": "SEVERITY",
      "signature": "const SEVERITY = \"error\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 25,
      "name": "HEADER",
      "signature": "const HEADER = \"\";"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 27,
      "name": "isRuleSource",
      "signature": "const isRuleSource = function isRuleSource(name: string): boolean {"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 40,
      "name": "isRule",
      "signature": "const isRule = function isRule(text: string): boolean {"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 44,
      "name": "isPluginWrapper",
      "signature": "const isPluginWrapper = function isPluginWrapper(text: string): boolean {"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 48,
      "name": "identifierOf",
      "signature": "const identifierOf = function identifierOf(label: string): string {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 49,
      "name": "parts",
      "signature": "const parts = label.split(\"-\").flatMap((segment) => segment.split(\".\"));"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 50,
      "name": "head",
      "signature": "const head = parts[0] ?? label;"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 51,
      "name": "tail",
      "signature": "const tail = parts.slice(1).map((p) => p.charAt(0).toUpperCase() + p.slice(1));"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 55,
      "name": "sources",
      "signature": "const sources = readdirSync(ESLINT_DIR)"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 59,
      "name": "withoutExt",
      "signature": "const withoutExt = name.slice(0, -3);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 63,
      "name": "wrappers",
      "signature": "const wrappers = sources.filter((entry) => isPluginWrapper(entry.text));"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 64,
      "name": "rules",
      "signature": "const rules = sources.filter((entry) => !isPluginWrapper(entry.text) && isRule(entry.text));"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 66,
      "name": "STYLELINT_DIR",
      "signature": "const STYLELINT_DIR = absolutePath(\"govlabHost.stylelintRules\");"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 67,
      "name": "STYLELINT_PREFIX",
      "signature": "const STYLELINT_PREFIX = relative(GENERATED_DIR, STYLELINT_DIR).split(\"\\\\\").join(\"/\");"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 68,
      "name": "STYLELINT_SUFFIX",
      "signature": "const STYLELINT_SUFFIX = \".stylelint.rule.ts\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 69,
      "name": "STYLELINT_IDENTIFIER_TAIL",
      "signature": "const STYLELINT_IDENTIFIER_TAIL = \"Stylesheet\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 71,
      "name": "stylesheetRules",
      "signature": "const stylesheetRules = (existsSync(STYLELINT_DIR) ? readdirSync(STYLELINT_DIR) : [])"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 76,
      "name": "imports",
      "signature": "const imports = ["
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 80,
      "name": "stylesheetImports",
      "signature": "const stylesheetImports = stylesheetRules"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 84,
      "name": "entries",
      "signature": "const entries = rules.map((r) => `    \"${r.label}\": ${identifierOf(r.label)},`).join(\"\\n\");"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 85,
      "name": "severities",
      "signature": "const severities = rules.map((r) => `    \"local/${r.label}\": \"${SEVERITY}\",`).join(\"\\n\");"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 86,
      "name": "pluginList",
      "signature": "const pluginList = wrappers.map((w) => `    ${identifierOf(w.label)}Plugin,`).join(\"\\n\");"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 87,
      "name": "stylesheetEntries",
      "signature": "const stylesheetEntries = stylesheetRules"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 90,
      "name": "stylesheetSeverities",
      "signature": "const stylesheetSeverities = stylesheetRules.map((s) => `    \"local/${s.label}\": true,`).join(\"\\n\");"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 92,
      "name": "body",
      "signature": "const body = ["
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 116,
      "name": "STYLELINT_OUT",
      "signature": "const STYLELINT_OUT = join(GENERATED_DIR, \"stylelint-index.generated.ts\");"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 130,
      "name": "EXCLUSIONS_OUT",
      "signature": "const EXCLUSIONS_OUT = join(GENERATED_DIR, \"exclusions.generated.ts\");"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 132,
      "name": "exclusionsSource",
      "signature": "const exclusionsSource = function exclusionsSource(values: readonly string[]): string {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 145,
      "name": "THRESHOLDS_OUT",
      "signature": "const THRESHOLDS_OUT = join(GENERATED_DIR, \"thresholds.generated.ts\");"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 146,
      "name": "FILE_LENGTH_CONCERN",
      "signature": "const FILE_LENGTH_CONCERN = \"file-length\";"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 148,
      "name": "thresholdsSource",
      "signature": "const thresholdsSource = function thresholdsSource(fileLength: number): string {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 156,
      "name": "config",
      "signature": "const config = await loadGovlabConfig(ROOT);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 157,
      "name": "markers",
      "signature": "const markers = masterExcludeMarkers(config);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 160,
      "name": "fileLength",
      "signature": "const fileLength = config.qualityMaster?.concerns?.[FILE_LENGTH_CONCERN];"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 166,
      "name": "TESTS_ROOT",
      "signature": "const TESTS_ROOT = `${absolutePath(\"codebase.testing\")}${sep}`;"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 167,
      "name": "SOURCE_SUFFIX",
      "signature": "const SOURCE_SUFFIX = \".ts\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 169,
      "name": "declaredChecks",
      "signature": "const declaredChecks = filesUnder(ROOT, pathExclusion(ROOT, markers))"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 172,
      "name": "text",
      "signature": "const text = readFileSync(file, \"utf8\");"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 176,
      "name": "check",
      "signature": "const check = relative(ROOT, file).split(sep).join(\"/\");"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 185,
      "name": "CHECKS_OUT",
      "signature": "const CHECKS_OUT = absolutePath(\"govlabHost.checks\");"
    }
  ],
  "document": null,
  "findings": [],
  "generated": false,
  "href": "https://banes-lab.com/anatomy/governance#file-governance-rules-entrypoints-index-entrypoint-ts",
  "language": "typescript",
  "layer": "runtime",
  "name": "index.entrypoint.ts",
  "path": "rules/entrypoints/index.entrypoint.ts",
  "ref": "anatomy:file-governance-rules-entrypoints-index-entrypoint-ts",
  "relations": [
    {
      "links": [
        {
          "href": "https://banes-lab.com/anatomy/governance#folder-governance-rules-entrypoints",
          "json": "https://banes-lab.com/json/anatomy/governance/folder-governance-rules-entrypoints",
          "label": "rules/entrypoints",
          "markdown": "https://banes-lab.com/anatomy/governance/folder-governance-rules-entrypoints.md",
          "ref": "chapter:/anatomy/governance#folder-governance-rules-entrypoints"
        }
      ],
      "relation": "contained-in"
    }
  ],
  "slots": {
    "concern": "entrypoint",
    "subject": "index",
    "variant": null
  },
  "stats": {
    "bytes": 7274,
    "callable": 6,
    "definitions": 45,
    "edges": 0,
    "exported": 0,
    "files": 1,
    "findings": {},
    "flows": {
      "isolated": 45
    },
    "lines": {
      "blank": 27,
      "code": 165,
      "total": 192
    }
  },
  "summary": "165 lines of code and 45 definitions.",
  "text": "https://banes-lab.com/source/governance/rules/entrypoints/index.entrypoint.ts.txt",
  "tree": "governance",
  "siblings": {
    "next": {
      "href": "https://banes-lab.com/anatomy/governance#file-governance-rules-entrypoints-taxonomy-entrypoint-ts",
      "json": "https://banes-lab.com/json/source/governance/rules/entrypoints/taxonomy.entrypoint.ts",
      "label": "rules/entrypoints/taxonomy.entrypoint.ts",
      "markdown": "https://banes-lab.com/source/governance/rules/entrypoints/taxonomy.entrypoint.ts.md",
      "ref": "anatomy:file-governance-rules-entrypoints-taxonomy-entrypoint-ts"
    },
    "previous": null
  },
  "up": {
    "href": null,
    "json": "https://banes-lab.com/json/api/source/governance/rules/entrypoints",
    "label": "rules/entrypoints",
    "markdown": "https://banes-lab.com/api/source/governance/rules/entrypoints.md",
    "ref": "api:source/governance/rules/entrypoints"
  }
}
