code-auditor-mcp 4.0.4 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +96 -0
  3. package/README.md +5 -5
  4. package/configs/hhra-compat.json +2 -2
  5. package/dist/analyzers/applicability.d.ts +25 -2
  6. package/dist/analyzers/applicability.d.ts.map +1 -1
  7. package/dist/analyzers/applicability.js +44 -50
  8. package/dist/analyzers/applicability.js.map +1 -1
  9. package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts +18 -49
  10. package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts.map +1 -1
  11. package/dist/analyzers/cross-language/APIContractAnalyzer.js +22 -240
  12. package/dist/analyzers/cross-language/APIContractAnalyzer.js.map +1 -1
  13. package/dist/analyzers/cross-language/SchemaValidator.d.ts +2 -14
  14. package/dist/analyzers/cross-language/SchemaValidator.d.ts.map +1 -1
  15. package/dist/analyzers/cross-language/SchemaValidator.js +0 -104
  16. package/dist/analyzers/cross-language/SchemaValidator.js.map +1 -1
  17. package/dist/analyzers/orgFilterTiers.d.ts +89 -0
  18. package/dist/analyzers/orgFilterTiers.d.ts.map +1 -0
  19. package/dist/analyzers/orgFilterTiers.js +96 -0
  20. package/dist/analyzers/orgFilterTiers.js.map +1 -0
  21. package/dist/analyzers/ruleRegistry.d.ts +15 -0
  22. package/dist/analyzers/ruleRegistry.d.ts.map +1 -1
  23. package/dist/analyzers/ruleRegistry.js +139 -185
  24. package/dist/analyzers/ruleRegistry.js.map +1 -1
  25. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +39 -0
  26. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
  27. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +62 -41
  28. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
  29. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +2 -2
  30. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
  31. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +2 -2
  32. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
  33. package/dist/analyzers/universal/UniversalSecurityAnalyzer.d.ts +86 -0
  34. package/dist/analyzers/universal/UniversalSecurityAnalyzer.d.ts.map +1 -0
  35. package/dist/analyzers/universal/UniversalSecurityAnalyzer.js +606 -0
  36. package/dist/analyzers/universal/UniversalSecurityAnalyzer.js.map +1 -0
  37. package/dist/analyzers/universal/schema/codeAnalysis.d.ts +14 -0
  38. package/dist/analyzers/universal/schema/codeAnalysis.d.ts.map +1 -1
  39. package/dist/analyzers/universal/schema/codeAnalysis.js +35 -18
  40. package/dist/analyzers/universal/schema/codeAnalysis.js.map +1 -1
  41. package/dist/analyzers/universal/schema/migrations.d.ts +14 -1
  42. package/dist/analyzers/universal/schema/migrations.d.ts.map +1 -1
  43. package/dist/analyzers/universal/schema/migrations.js +58 -14
  44. package/dist/analyzers/universal/schema/migrations.js.map +1 -1
  45. package/dist/auditRunner.d.ts.map +1 -1
  46. package/dist/auditRunner.js +70 -13
  47. package/dist/auditRunner.js.map +1 -1
  48. package/dist/churn/churnExtractor.js +5 -5
  49. package/dist/churn/churnExtractor.js.map +1 -1
  50. package/dist/cli.js +21 -9
  51. package/dist/cli.js.map +1 -1
  52. package/dist/codeIndexDB.d.ts +6 -0
  53. package/dist/codeIndexDB.d.ts.map +1 -1
  54. package/dist/codeIndexDB.js +33 -1
  55. package/dist/codeIndexDB.js.map +1 -1
  56. package/dist/config/configGeneratePath.d.ts +19 -0
  57. package/dist/config/configGeneratePath.d.ts.map +1 -0
  58. package/dist/config/configGeneratePath.js +29 -0
  59. package/dist/config/configGeneratePath.js.map +1 -0
  60. package/dist/config/configLoader.d.ts +36 -4
  61. package/dist/config/configLoader.d.ts.map +1 -1
  62. package/dist/config/configLoader.js +136 -15
  63. package/dist/config/configLoader.js.map +1 -1
  64. package/dist/config/lintConfigReader.d.ts +4 -0
  65. package/dist/config/lintConfigReader.d.ts.map +1 -1
  66. package/dist/config/lintConfigReader.js +35 -36
  67. package/dist/config/lintConfigReader.js.map +1 -1
  68. package/dist/config/staticObjectExtract.d.ts +35 -0
  69. package/dist/config/staticObjectExtract.d.ts.map +1 -0
  70. package/dist/config/staticObjectExtract.js +312 -0
  71. package/dist/config/staticObjectExtract.js.map +1 -0
  72. package/dist/constants.d.ts +1 -2
  73. package/dist/constants.d.ts.map +1 -1
  74. package/dist/constants.js +0 -2
  75. package/dist/constants.js.map +1 -1
  76. package/dist/daemon/core.js +1 -1
  77. package/dist/daemon/core.js.map +1 -1
  78. package/dist/daemon/main.js +1 -1
  79. package/dist/daemon/main.js.map +1 -1
  80. package/dist/dataPaths.d.ts.map +1 -1
  81. package/dist/dataPaths.js +11 -2
  82. package/dist/dataPaths.js.map +1 -1
  83. package/dist/generators/BaseConfigGenerator.d.ts +0 -4
  84. package/dist/generators/BaseConfigGenerator.d.ts.map +1 -1
  85. package/dist/generators/BaseConfigGenerator.js +1 -7
  86. package/dist/generators/BaseConfigGenerator.js.map +1 -1
  87. package/dist/installConfig.d.ts +3 -1
  88. package/dist/installConfig.d.ts.map +1 -1
  89. package/dist/installConfig.js +15 -2
  90. package/dist/installConfig.js.map +1 -1
  91. package/dist/installer.d.ts +10 -0
  92. package/dist/installer.d.ts.map +1 -1
  93. package/dist/installer.js +14 -2
  94. package/dist/installer.js.map +1 -1
  95. package/dist/languages/LanguageOrchestrator.js +6 -6
  96. package/dist/languages/LanguageOrchestrator.js.map +1 -1
  97. package/dist/languages/RuntimeManager.js +13 -10
  98. package/dist/languages/RuntimeManager.js.map +1 -1
  99. package/dist/mcp-tools-shared.d.ts.map +1 -1
  100. package/dist/mcp-tools-shared.js +7 -2
  101. package/dist/mcp-tools-shared.js.map +1 -1
  102. package/dist/mcp-ui-simple.d.ts +5 -1
  103. package/dist/mcp-ui-simple.d.ts.map +1 -1
  104. package/dist/mcp-ui-simple.js +81 -29
  105. package/dist/mcp-ui-simple.js.map +1 -1
  106. package/dist/mcp.js +19 -4
  107. package/dist/mcp.js.map +1 -1
  108. package/dist/mcpAuditJobs.d.ts.map +1 -1
  109. package/dist/mcpAuditJobs.js +1 -0
  110. package/dist/mcpAuditJobs.js.map +1 -1
  111. package/dist/nextFileIncremental.js +1 -1
  112. package/dist/nextFileIncremental.js.map +1 -1
  113. package/dist/pipeline.d.ts.map +1 -1
  114. package/dist/pipeline.js +13 -2
  115. package/dist/pipeline.js.map +1 -1
  116. package/dist/pipelineAdapters.d.ts +15 -0
  117. package/dist/pipelineAdapters.d.ts.map +1 -1
  118. package/dist/pipelineAdapters.js +140 -6
  119. package/dist/pipelineAdapters.js.map +1 -1
  120. package/dist/reporting/htmlReportGenerator.js +2 -2
  121. package/dist/reporting/htmlReportGenerator.js.map +1 -1
  122. package/dist/ruleAliases.d.ts.map +1 -1
  123. package/dist/ruleAliases.js +45 -0
  124. package/dist/ruleAliases.js.map +1 -1
  125. package/dist/styles/tailwindConfigLoader.d.ts +4 -0
  126. package/dist/styles/tailwindConfigLoader.d.ts.map +1 -1
  127. package/dist/styles/tailwindConfigLoader.js +54 -36
  128. package/dist/styles/tailwindConfigLoader.js.map +1 -1
  129. package/dist/types.d.ts +55 -2
  130. package/dist/types.d.ts.map +1 -1
  131. package/dist/types.js +15 -0
  132. package/dist/types.js.map +1 -1
  133. package/dist/version.generated.d.ts +1 -1
  134. package/dist/version.generated.js +1 -1
  135. package/examples/.auditrc.example.json +2 -2
  136. package/examples/.auditrc.json +3 -3
  137. package/examples/nextjs.auditrc.json +1 -1
  138. package/examples/node-api.auditrc.json +1 -1
  139. package/examples/react.auditrc.json +2 -2
  140. package/examples/tolerant-solid.auditrc.json +1 -1
  141. package/package.json +2 -1
  142. package/plugin/.claude-plugin/plugin.json +1 -1
  143. package/plugin/scripts/hook-common.sh +27 -27
  144. package/plugin/skills/code-auditor/SKILL.md +1 -1
  145. package/server.json +2 -2
@@ -2,10 +2,118 @@
2
2
  * Configuration Loader (Functional)
3
3
  * Handles loading and merging configuration from multiple sources
4
4
  */
5
- import { promises as fs } from 'fs';
5
+ import { promises as fs, realpathSync } from 'fs';
6
6
  import path from 'path';
7
+ import { PROJECT_FILE_CONFIG_KEYS } from '../types.js';
7
8
  import { getDefaultConfig, DEFAULT_CODE_INDEX_CONFIG, mergePathProfiles } from './defaults.js';
8
- import { ALL_ANALYZERS } from '../analyzers/ruleRegistry.js';
9
+ import { RUNNABLE_ANALYZERS } from '../analyzers/ruleRegistry.js';
10
+ /** Realpath that falls back to `path.resolve` when the path does not exist
11
+ * (globs, not-yet-created output dirs). */
12
+ function realpathIfExists(p) {
13
+ try {
14
+ return realpathSync.native(p);
15
+ }
16
+ catch {
17
+ return path.resolve(p);
18
+ }
19
+ }
20
+ /**
21
+ * Realpath the deepest *existing ancestor* of `p`, rejoining the non-existent
22
+ * (glob) suffix. A containment check must compare the candidate against the
23
+ * realpath'd project root on the same canonical basis: `path.resolve` alone
24
+ * leaves `/var` (symlinked to `/private/var` on macOS) unresolved, so a glob
25
+ * like `src/**` would otherwise be misread as outside the root. Realpathing the
26
+ * existing prefix still resolves any symlink in the path, so a symlink pointing
27
+ * out of the tree is caught.
28
+ */
29
+ function realpathExistingAncestor(p) {
30
+ let cur = p;
31
+ const suffix = [];
32
+ for (;;) {
33
+ try {
34
+ const real = realpathSync.native(cur);
35
+ return suffix.length === 0 ? real : path.join(real, ...suffix.reverse());
36
+ }
37
+ catch {
38
+ const parent = path.dirname(cur);
39
+ if (parent === cur)
40
+ return path.resolve(p); // nothing above exists
41
+ suffix.push(path.basename(cur));
42
+ cur = parent;
43
+ }
44
+ }
45
+ }
46
+ /** True when `candidate` is `projectRootReal` or beneath it. Comparison is on
47
+ * resolved real paths, so a symlink pointing out of the tree is caught. */
48
+ function isWithinProjectRoot(candidate, projectRootReal) {
49
+ return candidate === projectRootReal || candidate.startsWith(projectRootReal + path.sep);
50
+ }
51
+ function safeStringify(value) {
52
+ try {
53
+ const s = JSON.stringify(value);
54
+ return s === undefined ? String(value) : s;
55
+ }
56
+ catch {
57
+ return String(value);
58
+ }
59
+ }
60
+ /**
61
+ * Spec 61 R1.2 — strip every key not in `PROJECT_FILE_CONFIG_KEYS` and contain
62
+ * path-valued keys to the project root. `raw` is the untrusted `JSON.parse`
63
+ * result of a `.codeauditor.json` found inside the project being audited.
64
+ *
65
+ * `scope` is the canonical example of what this drops: it was never declared on
66
+ * `AuditConfig`, reached `execSync(\`git diff --name-only ${ref}\`)` only
67
+ * because `mergeConfig` iterated raw JSON keys, and is absent from
68
+ * `PROJECT_FILE_CONFIG_KEYS`.
69
+ */
70
+ export function sanitizeProjectFileConfig(raw, configPath, projectRoot) {
71
+ const rejected = [];
72
+ if (raw === null || typeof raw !== 'object' || Array.isArray(raw)) {
73
+ return { config: {}, rejected };
74
+ }
75
+ const configDir = path.dirname(configPath);
76
+ const projectRootReal = realpathIfExists(projectRoot);
77
+ const config = {};
78
+ for (const [key, value] of Object.entries(raw)) {
79
+ if (!PROJECT_FILE_CONFIG_KEYS.includes(key)) {
80
+ rejected.push({ key, value: safeStringify(value), reason: 'unknown-key' });
81
+ continue;
82
+ }
83
+ if (value === undefined)
84
+ continue;
85
+ if (key === 'includePaths' || key === 'excludePaths') {
86
+ if (!Array.isArray(value))
87
+ continue;
88
+ const kept = [];
89
+ for (const entry of value) {
90
+ if (typeof entry !== 'string')
91
+ continue;
92
+ const resolved = path.resolve(configDir, entry);
93
+ if (!isWithinProjectRoot(realpathExistingAncestor(resolved), projectRootReal)) {
94
+ rejected.push({ key, value: entry, reason: 'outside-project-root' });
95
+ continue;
96
+ }
97
+ kept.push(resolved);
98
+ }
99
+ config[key] = kept;
100
+ continue;
101
+ }
102
+ if (key === 'outputDir' || key === 'outputDirectory') {
103
+ if (typeof value !== 'string')
104
+ continue;
105
+ const resolved = path.resolve(configDir, value);
106
+ if (!isWithinProjectRoot(realpathExistingAncestor(resolved), projectRootReal)) {
107
+ rejected.push({ key, value, reason: 'outside-project-root' });
108
+ continue;
109
+ }
110
+ config[key] = resolved;
111
+ continue;
112
+ }
113
+ config[key] = value;
114
+ }
115
+ return { config, rejected };
116
+ }
9
117
  /**
10
118
  * Load configuration from multiple sources
11
119
  */
@@ -14,25 +122,36 @@ export async function loadConfig(options) {
14
122
  let config = getDefaultConfig();
15
123
  // Add code index defaults
16
124
  config.codeIndex = DEFAULT_CODE_INDEX_CONFIG;
125
+ // Rejected file-sourced keys, surfaced to the CLI (Spec 61 R1.4).
126
+ let rejected = [];
17
127
  // Load from config file if specified
18
- if (options?.configPath) {
19
- config = await loadFromFile(config, options.configPath);
128
+ if (options.configPath) {
129
+ const loaded = await loadFromFile(config, options.configPath, options.projectRoot);
130
+ config = loaded.config;
131
+ rejected = loaded.rejected;
20
132
  }
21
133
  // Load from environment variables
22
- if (options?.environmentPrefix) {
134
+ if (options.environmentPrefix) {
23
135
  config = loadFromEnvironment(config, options.environmentPrefix);
24
136
  }
25
137
  // Apply CLI arguments (highest priority)
26
- if (options?.cliArgs) {
138
+ if (options.cliArgs) {
27
139
  config = { ...config, ...options.cliArgs };
28
140
  }
29
141
  // Normalize paths — resolve relative paths against the config file's directory
30
142
  // (or cwd when loading defaults only, which is the CLI's typical invocation)
31
- const baseDir = options?.configPath ? path.dirname(options.configPath) : undefined;
143
+ const baseDir = options.configPath ? path.dirname(options.configPath) : undefined;
32
144
  config = normalizePaths(config, baseDir);
33
145
  // Merge built-in path profiles with user-configured profiles (Spec-20)
34
146
  config.pathProfiles = mergePathProfiles(config.pathProfiles, config.builtin);
35
- return config;
147
+ // Spec 61 R1.5 — validateConfig was exported and never called in the run
148
+ // path; a bad config failed the audit only if a downstream reader noticed.
149
+ // Fail loudly here instead of silently skipping a misconfigured rule.
150
+ const errors = validateConfig(config);
151
+ if (errors.length > 0) {
152
+ throw new Error(`Invalid configuration:\n${errors.map((e) => ` - ${e}`).join('\n')}`);
153
+ }
154
+ return { config, rejected };
36
155
  }
37
156
  /**
38
157
  * Find the nearest `.codeauditor.json` by walking up from `startDir` to the
@@ -62,15 +181,16 @@ export async function findConfigFileUp(startDir) {
62
181
  /**
63
182
  * Load configuration from a JSON file
64
183
  */
65
- async function loadFromFile(baseConfig, configPath) {
184
+ async function loadFromFile(baseConfig, configPath, projectRoot) {
66
185
  try {
67
186
  const content = await fs.readFile(configPath, 'utf-8');
68
187
  const fileConfig = JSON.parse(content);
69
- return mergeConfig(baseConfig, fileConfig);
188
+ const { config: sanitized, rejected } = sanitizeProjectFileConfig(fileConfig, configPath, projectRoot);
189
+ return { config: mergeConfig(baseConfig, sanitized), rejected };
70
190
  }
71
191
  catch (error) {
72
192
  console.warn(`Failed to load config from ${configPath}:`, error);
73
- return baseConfig;
193
+ return { config: baseConfig, rejected: [] };
74
194
  }
75
195
  }
76
196
  /**
@@ -161,10 +281,11 @@ export function validateConfig(config) {
161
281
  if (config.minSeverity && !['critical', 'severe', 'high'].includes(config.minSeverity)) {
162
282
  errors.push(`Invalid severity: ${config.minSeverity}`);
163
283
  }
164
- // Validate analyzers against the canonical registry-derived set, so a user
165
- // naming any registered analyzer (including the cross-language trio) is never
166
- // rejected for an analyzer that is valid but was missing from a hand-typed list.
167
- const validAnalyzers = ALL_ANALYZERS;
284
+ // Validate analyzers against the canonical runnable set (registry rule
285
+ // emitters plus pipeline-only analyzers like `invariants`), so a user naming
286
+ // any analyzer the pipeline can actually run is never rejected for an analyzer
287
+ // that is valid but was missing from a hand-typed list.
288
+ const validAnalyzers = RUNNABLE_ANALYZERS;
168
289
  if (config.enabledAnalyzers) {
169
290
  const invalid = config.enabledAnalyzers.filter(a => !validAnalyzers.includes(a));
170
291
  if (invalid.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"configLoader.js","sourceRoot":"","sources":["../../src/config/configLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configLoader.js","sourceRoot":"","sources":["../../src/config/configLoader.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@
25
25
  * Precedence (highest wins), enforced upstream in `auditRunner.ts`:
26
26
  * `.codeauditor.json` (`analyzerConfigs`) > project lint config > presets > defaults
27
27
  */
28
+ import type { CoverageDiagnostic } from '../types.js';
28
29
  export interface LintThresholdResult {
29
30
  /** Absolute path to the config file that supplied thresholds, or null. */
30
31
  configPath: string | null;
@@ -39,6 +40,9 @@ export interface LintThresholdResult {
39
40
  }>;
40
41
  /** The raw rules object, for transparency in coverage output. */
41
42
  rawRules: Record<string, unknown>;
43
+ /** When the config exists but could not be read statically (Spec 61 R3.2),
44
+ * a `cannot-fire` coverage diagnostic naming the file and the reason. */
45
+ diagnostic?: CoverageDiagnostic;
42
46
  }
43
47
  /**
44
48
  * Read the project's own lint-config size thresholds.
@@ -1 +1 @@
1
- {"version":3,"file":"lintConfigReader.d.ts","sourceRoot":"","sources":["../../src/config/lintConfigReader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAWH,MAAM,WAAW,mBAAmB;IAClC,0EAA0E;IAC1E,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,+EAA+E;IAC/E,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;IACrC,gFAAgF;IAChF,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,4DAA4D;IAC5D,kBAAkB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC5D,iEAAiE;IACjE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAkCD;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CA6CrC;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CASxC"}
1
+ {"version":3,"file":"lintConfigReader.d.ts","sourceRoot":"","sources":["../../src/config/lintConfigReader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAOtD,MAAM,WAAW,mBAAmB;IAClC,0EAA0E;IAC1E,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,+EAA+E;IAC/E,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;IACrC,gFAAgF;IAChF,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,4DAA4D;IAC5D,kBAAkB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC5D,iEAAiE;IACjE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC;8EAC0E;IAC1E,UAAU,CAAC,EAAE,kBAAkB,CAAC;CACjC;AAkCD;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAkDrC;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CASxC"}
@@ -27,8 +27,7 @@
27
27
  */
28
28
  import { existsSync, readFileSync } from 'node:fs';
29
29
  import { extname, join } from 'node:path';
30
- import { createRequire } from 'node:module';
31
- import { pathToFileURL } from 'node:url';
30
+ import { extractModuleExport } from './staticObjectExtract.js';
32
31
  /** ESLint rule → dot-notation code-auditor threshold key. */
33
32
  const ESLINT_RULE_TO_THRESHOLD = {
34
33
  'max-lines-per-function': 'solid.maxLinesPerMethod',
@@ -68,12 +67,15 @@ export async function readProjectLintThresholds(projectRoot) {
68
67
  if (!configPath)
69
68
  return null;
70
69
  let loaded;
70
+ let diagnostic;
71
71
  try {
72
- loaded = await loadConfigModule(configPath, projectRoot);
72
+ const result = await loadConfigModule(configPath, projectRoot);
73
+ loaded = result.value;
74
+ diagnostic = result.diagnostic;
73
75
  }
74
76
  catch {
75
- // Fail-open: an unloadable config (e.g. a `.ts` config without a loader,
76
- // or a `.js` config that throws at import time) is treated as absent.
77
+ // Fail-open: an unreadable config (e.g. the file was deleted between
78
+ // discovery and read) is treated as absent.
77
79
  return null;
78
80
  }
79
81
  const rawRules = extractRules(loaded);
@@ -84,6 +86,7 @@ export async function readProjectLintThresholds(projectRoot) {
84
86
  thresholds: {},
85
87
  recognizedUnmapped: [],
86
88
  rawRules: {},
89
+ ...(diagnostic ? { diagnostic } : {}),
87
90
  };
88
91
  }
89
92
  const thresholds = {};
@@ -106,6 +109,7 @@ export async function readProjectLintThresholds(projectRoot) {
106
109
  thresholds,
107
110
  recognizedUnmapped,
108
111
  rawRules,
112
+ ...(diagnostic ? { diagnostic } : {}),
109
113
  };
110
114
  }
111
115
  /**
@@ -147,47 +151,42 @@ function configKind(configPath) {
147
151
  // Loading
148
152
  // ---------------------------------------------------------------------------
149
153
  /**
150
- * Load a lint config module from disk. Handles JSON, ESM (`.mjs`, or `.js`
151
- * under `"type": "module"`), and CommonJS (`.cjs`, or `.js` under CJS).
152
- * `.ts` and `.yaml`/`.yml` are attempted but fail open when they cannot be
153
- * loaded without a runtime loader.
154
+ * Load a lint config from disk **without executing it** (Spec 61 R3.2).
155
+ *
156
+ * A config file inside a cloned repository is data, not code. JSON is parsed;
157
+ * `.js` / `.cjs` / `.mjs` / `.ts` are reduced to a plain value by
158
+ * `extractModuleExport` — never `require()`d, never `import()`ed, never invoked
159
+ * as a factory. A config whose export is not a literal (a call, a computed key,
160
+ * an imported spread, a template substitution) yields `{ value: null,
161
+ * diagnostic }` naming the file and the reason; the caller surfaces that as a
162
+ * `cannot-fire` coverage diagnostic rather than silently reading "absent".
154
163
  */
155
164
  async function loadConfigModule(configPath, projectRoot) {
156
165
  const ext = extname(configPath);
157
166
  if (ext === '.json') {
158
- return JSON.parse(readFileSync(configPath, 'utf-8'));
167
+ return { value: JSON.parse(readFileSync(configPath, 'utf-8')) };
159
168
  }
160
169
  if (ext === '.yaml' || ext === '.yml') {
161
170
  // No YAML dependency is bundled; a legacy .eslintrc.yaml is rare and
162
171
  // fails open here rather than pulling a parser.
163
- return null;
164
- }
165
- // .cjs is always CommonJS; .mjs is always ESM.
166
- if (ext === '.cjs') {
167
- return createRequire(join(projectRoot, 'package.json'))(configPath);
168
- }
169
- let loaded;
170
- if (ext === '.mjs' || readPackageType(projectRoot) === 'module') {
171
- const mod = await import(pathToFileURL(configPath).href);
172
- loaded = mod.default ?? mod;
173
- }
174
- else {
175
- loaded = createRequire(join(projectRoot, 'package.json'))(configPath);
176
- }
177
- // Some flat configs export a factory function that returns the array.
178
- if (typeof loaded === 'function') {
179
- loaded = await loaded();
172
+ return { value: null };
180
173
  }
181
- return loaded;
182
- }
183
- function readPackageType(projectRoot) {
184
- try {
185
- const pkg = JSON.parse(readFileSync(join(projectRoot, 'package.json'), 'utf-8'));
186
- return pkg?.type === 'module' ? 'module' : 'commonjs';
187
- }
188
- catch {
189
- return 'commonjs';
174
+ const sourceText = readFileSync(configPath, 'utf-8');
175
+ const extracted = extractModuleExport(configPath, sourceText);
176
+ if (!extracted.resolved) {
177
+ return {
178
+ value: null,
179
+ diagnostic: {
180
+ analyzerName: 'config',
181
+ kind: 'cannot-fire',
182
+ message: `Config ${configPath} could not be read statically: ${extracted.reason}`,
183
+ file: configPath,
184
+ line: extracted.node?.line ?? 0,
185
+ details: { reason: extracted.reason },
186
+ },
187
+ };
190
188
  }
189
+ return { value: extracted.value };
191
190
  }
192
191
  // ---------------------------------------------------------------------------
193
192
  // Rule extraction + value parsing
@@ -1 +1 @@
1
- {"version":3,"file":"lintConfigReader.js","sourceRoot":"","sources":["../../src/config/lintConfigReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lintConfigReader.js","sourceRoot":"","sources":["../../src/config/lintConfigReader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Static config extraction (Spec 61 R3.1).
3
+ *
4
+ * Reads a project-supplied JS/TS config and evaluates only its literal export —
5
+ * without `require()`, `import()`, `createRequire(...)()` or a factory
6
+ * invocation. A config file inside a cloned repository is data, not code; the
7
+ * tool must be able to read it without executing the untrusted module.
8
+ *
9
+ * The extractor never runs the file. It parses it with tree-sitter and reduces
10
+ * the export expression to a plain value. Anything it cannot prove is a literal
11
+ * (a call, a computed key, an imported spread, a template substitution) is an
12
+ * unresolved result — a first-class value, not an exception — that the caller
13
+ * surfaces as a `cannot-fire` coverage diagnostic.
14
+ */
15
+ export type StaticExtractResult = {
16
+ resolved: true;
17
+ value: unknown;
18
+ } | {
19
+ resolved: false;
20
+ reason: string;
21
+ node?: {
22
+ line: number;
23
+ column: number;
24
+ };
25
+ };
26
+ /**
27
+ * Extract the module export of `filePath` as a static value.
28
+ *
29
+ * Returns `{ resolved: true, value }` when the export reduces to a literal, or
30
+ * `{ resolved: false, reason, node? }` naming why it could not. Reasons are the
31
+ * spec's vocabulary: `call-expression`, `imported-spread`, `computed-key`,
32
+ * `function-value`, `template-substitution`, `dynamic-export`, `parse-error`.
33
+ */
34
+ export declare function extractModuleExport(filePath: string, sourceText: string): StaticExtractResult;
35
+ //# sourceMappingURL=staticObjectExtract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"staticObjectExtract.d.ts","sourceRoot":"","sources":["../../src/config/staticObjectExtract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,MAAM,MAAM,mBAAmB,GAC3B;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAClC;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAejF;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,mBAAmB,CA4B7F"}