code-auditor-mcp 3.9.6 → 3.9.11
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.
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +220 -0
- package/README.md +18 -0
- package/dist/analyzers/reactAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/reactAnalyzer.js +4 -1
- package/dist/analyzers/reactAnalyzer.js.map +1 -1
- package/dist/analyzers/ruleRegistry.d.ts +8 -0
- package/dist/analyzers/ruleRegistry.d.ts.map +1 -1
- package/dist/analyzers/ruleRegistry.js +32 -10
- package/dist/analyzers/ruleRegistry.js.map +1 -1
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +23 -20
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +1 -0
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +19 -5
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/schema/codeAnalysis.d.ts +44 -2
- package/dist/analyzers/universal/schema/codeAnalysis.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/codeAnalysis.js +153 -8
- package/dist/analyzers/universal/schema/codeAnalysis.js.map +1 -1
- package/dist/analyzers/universal/schema/config.d.ts +8 -0
- package/dist/analyzers/universal/schema/config.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/config.js +9 -0
- package/dist/analyzers/universal/schema/config.js.map +1 -1
- package/dist/analyzers/universal/schema/types.d.ts +5 -0
- package/dist/analyzers/universal/schema/types.d.ts.map +1 -1
- package/dist/auditRouter.d.ts.map +1 -1
- package/dist/auditRouter.js +6 -1
- package/dist/auditRouter.js.map +1 -1
- package/dist/auditRunner.d.ts.map +1 -1
- package/dist/auditRunner.js +62 -8
- package/dist/auditRunner.js.map +1 -1
- package/dist/cli.js +157 -13
- package/dist/cli.js.map +1 -1
- package/dist/codeIndexDB.d.ts.map +1 -1
- package/dist/codeIndexDB.js +29 -7
- package/dist/codeIndexDB.js.map +1 -1
- package/dist/config/defaults.d.ts +2 -0
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +15 -6
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/effectiveConfig.d.ts +22 -1
- package/dist/config/effectiveConfig.d.ts.map +1 -1
- package/dist/config/effectiveConfig.js +69 -2
- package/dist/config/effectiveConfig.js.map +1 -1
- package/dist/config/lintConfigReader.d.ts +56 -0
- package/dist/config/lintConfigReader.d.ts.map +1 -0
- package/dist/config/lintConfigReader.js +263 -0
- package/dist/config/lintConfigReader.js.map +1 -0
- package/dist/constants.d.ts +9 -2
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +10 -6
- package/dist/constants.js.map +1 -1
- package/dist/dataPaths.d.ts +8 -0
- package/dist/dataPaths.d.ts.map +1 -1
- package/dist/dataPaths.js +21 -0
- package/dist/dataPaths.js.map +1 -1
- package/dist/dismissals.d.ts +59 -0
- package/dist/dismissals.d.ts.map +1 -0
- package/dist/dismissals.js +128 -0
- package/dist/dismissals.js.map +1 -0
- package/dist/enforcement/gate.d.ts.map +1 -1
- package/dist/enforcement/gate.js +5 -0
- package/dist/enforcement/gate.js.map +1 -1
- package/dist/hooks/codex.d.ts.map +1 -1
- package/dist/hooks/codex.js +18 -6
- package/dist/hooks/codex.js.map +1 -1
- package/dist/hooks/core.d.ts +12 -0
- package/dist/hooks/core.d.ts.map +1 -1
- package/dist/hooks/core.js +12 -3
- package/dist/hooks/core.js.map +1 -1
- package/dist/hooks/cursor.d.ts.map +1 -1
- package/dist/hooks/cursor.js +17 -10
- package/dist/hooks/cursor.js.map +1 -1
- package/dist/installConfig.d.ts +40 -0
- package/dist/installConfig.d.ts.map +1 -0
- package/dist/installConfig.js +84 -0
- package/dist/installConfig.js.map +1 -0
- package/dist/installer.d.ts.map +1 -1
- package/dist/installer.js +2 -15
- package/dist/installer.js.map +1 -1
- package/dist/languages/go/analyzer +0 -0
- package/dist/languages/go/analyzer-src/solid.go +14 -6
- package/dist/mcp.js +54 -0
- package/dist/mcp.js.map +1 -1
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +12 -1
- package/dist/pipeline.js.map +1 -1
- package/dist/pipelineAdapters.d.ts.map +1 -1
- package/dist/pipelineAdapters.js +87 -7
- package/dist/pipelineAdapters.js.map +1 -1
- package/dist/reporting/csvReportGenerator.d.ts.map +1 -1
- package/dist/reporting/csvReportGenerator.js +1 -0
- package/dist/reporting/csvReportGenerator.js.map +1 -1
- package/dist/reporting/htmlReportGenerator.d.ts.map +1 -1
- package/dist/reporting/htmlReportGenerator.js +5 -0
- package/dist/reporting/htmlReportGenerator.js.map +1 -1
- package/dist/reporting/jsonReportGenerator.d.ts.map +1 -1
- package/dist/reporting/jsonReportGenerator.js +6 -0
- package/dist/reporting/jsonReportGenerator.js.map +1 -1
- package/dist/reporting/sarifReportGenerator.d.ts.map +1 -1
- package/dist/reporting/sarifReportGenerator.js +3 -0
- package/dist/reporting/sarifReportGenerator.js.map +1 -1
- package/dist/services/auditJobService.d.ts.map +1 -1
- package/dist/services/auditJobService.js +4 -7
- package/dist/services/auditJobService.js.map +1 -1
- package/dist/structuralSignature.d.ts +41 -0
- package/dist/structuralSignature.d.ts.map +1 -0
- package/dist/structuralSignature.js +93 -0
- package/dist/structuralSignature.js.map +1 -0
- package/dist/telemetry.d.ts +80 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +148 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/types.d.ts +72 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/version.generated.d.ts +2 -0
- package/dist/version.generated.d.ts.map +1 -0
- package/dist/version.generated.js +7 -0
- package/dist/version.generated.js.map +1 -0
- package/package.json +3 -2
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/scripts/hook-common.sh +37 -9
- package/plugin/skills/code-auditor/SKILL.md +24 -2
- package/server.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGvD;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,WAAW,CAwC9C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CA+BhF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAyBxE;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB;;
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGvD;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,WAAW,CAwC9C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CA+BhF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAyBxE;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB;;QAWjC,kBAAkB;QAClB,iBAAiB;QACjB,sBAAsB;QACtB,iBAAiB;QACjB,aAAa;QACb,mBAAmB;QAEnB,mBAAmB;QAEnB,qBAAqB;QACrB,wBAAwB;;;QAWxB,gBAAgB;QAChB,mBAAmB;QACnB,eAAe;QAOf,YAAY;QACZ,YAAY;QACZ,cAAc;QACd,gBAAgB;QAChB,yBAAyB;QACzB,yBAAyB;QACzB,aAAa;QAIb,UAAU;YACR,mBAAmB;YACnB,cAAc;YACd,iBAAiB;;;;QAMnB,gBAAgB;YACd,QAAQ;YACR,KAAK;YACL,OAAO;;QAET,gBAAgB;YACd,oBAAoB;;QAEtB,qBAAqB;YACnB,QAAQ;YACR,gBAAgB;;QAGlB,SAAS;YACP,IAAI,EAAE,QAAQ;;;;QAMhB,qBAAqB;;;QAKrB,mBAAmB;QACnB,gBAAgB;QAIhB,gBAAgB;QAChB,iBAAiB;QACjB,oBAAoB;QACpB,cAAc;QAed,KAAK;QACL,YAAY;QACZ,WAAW;QACX,eAAe;;;;;;;;;;;;;;;;;;YA+Bb,IAAI,EAAE,QAAQ;;;;;;;;;;;QAkBhB,SAAS;QACT,WAAW;QACX,eAAe;QACf,YAAY;QACZ,eAAe;QAKf,iBAAiB;QACjB,mCAAmC;QACnC,6BAA6B;QAC7B,iCAAiC;QACjC,6BAA6B;;;QAW7B,SAAS;QACT,cAAc;QACd,SAAS;QACT,uBAAuB;;;QAKvB,eAAe;YACb,sBAAsB;YACtB,sBAAsB;YACtB,6BAA6B;YAC7B,WAAW;;QAEb,eAAe;YACb,UAAU;YACV,SAAS;YACT,SAAS;YACT,KAAK;;QAEP,QAAQ;YACN,SAAS;YACT,gBAAgB;YAChB,aAAa;;;CAGlB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAAW,EAc9C,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,WAAW,EAAE,GAAG,SAAS,EACvC,cAAc,EAAE,OAAO,GAAG,SAAS,GAClC,WAAW,EAAE,GAAG,SAAS,CAqB3B;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB;IACpC,YAAY;IACZ,YAAY;IACZ,iBAAiB;IACjB,eAAe;CAChB,CAAC"}
|
package/dist/config/defaults.js
CHANGED
|
@@ -110,17 +110,25 @@ export function getEnvironmentDefaults(env) {
|
|
|
110
110
|
export const DEFAULT_ANALYZER_CONFIGS = {
|
|
111
111
|
// Spec-17 R5: maxComplexity (old heuristic) deprecated; use maxMethodComplexity
|
|
112
112
|
// and classAggregateComplexity for true cyclomatic complexity.
|
|
113
|
+
//
|
|
114
|
+
// AUTHORITATIVE source is DEFAULT_SOLID_CONFIG (UniversalSOLIDAnalyzer.ts) —
|
|
115
|
+
// the pipeline and `--print-config` resolve from there (RUNTIME_DEFAULT_CONFIGS),
|
|
116
|
+
// NOT from this copy. This namespace is exported from the library (`src/index.ts`)
|
|
117
|
+
// but must not drift: the size thresholds below are kept identical to
|
|
118
|
+
// DEFAULT_SOLID_CONFIG (re-calibrated 2026-09-12 — see the rule registry's
|
|
119
|
+
// `thresholdRationale` for the per-rule rationale).
|
|
113
120
|
solid: {
|
|
114
|
-
maxMethodsPerClass:
|
|
115
|
-
maxLinesPerMethod:
|
|
116
|
-
maxParametersPerMethod:
|
|
121
|
+
maxMethodsPerClass: 20,
|
|
122
|
+
maxLinesPerMethod: 200,
|
|
123
|
+
maxParametersPerMethod: 6,
|
|
117
124
|
maxImportsPerFile: 5, // Spec 11 R3 sweep: 20 → 5 (precision-first)
|
|
118
125
|
maxComplexity: 10, // DEPRECATED — old heuristic
|
|
126
|
+
maxInterfaceMembers: 25,
|
|
119
127
|
// R5.1: Per-method cyclomatic complexity threshold (true McCC)
|
|
120
|
-
maxMethodComplexity:
|
|
128
|
+
maxMethodComplexity: 50,
|
|
121
129
|
// R5.2: Class-level aggregation thresholds
|
|
122
|
-
classMethodsThreshold:
|
|
123
|
-
classAggregateComplexity:
|
|
130
|
+
classMethodsThreshold: 20,
|
|
131
|
+
classAggregateComplexity: 150,
|
|
124
132
|
},
|
|
125
133
|
// Keep in sync with `DEFAULT_DRY_CONFIG` (UniversalDRYAnalyzer.ts) — that is the
|
|
126
134
|
// authoritative, *enforced* default. This namespace is exported from the library
|
|
@@ -224,6 +232,7 @@ export const DEFAULT_ANALYZER_CONFIGS = {
|
|
|
224
232
|
checkNamingConventions: true,
|
|
225
233
|
detectUnusedTables: false,
|
|
226
234
|
validateQueryPatterns: true,
|
|
235
|
+
reportUnresolvedQueries: true,
|
|
227
236
|
maxQueriesPerFunction: 1, // Spec 11 R3 sweep: 5 → 1 (precision-first)
|
|
228
237
|
requiredSchemas: [],
|
|
229
238
|
sqlTagNames: ['sql', 'db'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,4EAA4E;QAC5E,4EAA4E;QAC5E,6EAA6E;QAC7E,wEAAwE;QACxE,0EAA0E;QAC1E,4DAA4D;QAC5D,YAAY,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,CAAC;QACpN,YAAY,EAAE;YACZ,oBAAoB;YACpB,aAAa;YACb,YAAY;YACZ,aAAa;YACb,gBAAgB;YAChB,2BAA2B;YAC3B,2BAA2B;SAC5B;QACD,gBAAgB,EAAE,CAAC,GAAG,aAAa,CAAC;QACpC,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QAC/B,eAAe,EAAE,iBAAiB;QAClC,WAAW,EAAE,MAAM;QACnB,cAAc,EAAE,KAAK;QACrB,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE;YACV,WAAW,EAAE,CAAC;YACd,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,EAAE;SACnB;QACD,gEAAgE;QAChE,6EAA6E;QAC7E,yEAAyE;QACzE,uDAAuD;QACvD,4EAA4E;QAC5E,0EAA0E;QAC1E,MAAM,EAAE;YACN,SAAS,EAAE,KAAK;YAChB,aAAa,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;SAC7B;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,WAAmB;IACxD,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,QAAQ;YACX,OAAO;gBACL,YAAY,EAAE,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,mBAAmB,CAAC;gBAC/E,YAAY,EAAE;oBACZ,GAAG,gBAAgB,EAAE,CAAC,YAAa;oBACnC,aAAa;oBACb,cAAc;iBACf;aACF,CAAC;QAEJ,KAAK,OAAO;YACV,OAAO;gBACL,YAAY,EAAE,CAAC,0BAA0B,CAAC;gBAC1C,YAAY,EAAE;oBACZ,GAAG,gBAAgB,EAAE,CAAC,YAAa;oBACnC,cAAc;oBACd,aAAa;iBACd;aACF,CAAC;QAEJ,KAAK,MAAM;YACT,OAAO;gBACL,YAAY,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;gBACtD,aAAa,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;aAC/B,CAAC;QAEJ;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAW;IAChD,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,IAAI;YACP,OAAO;gBACL,aAAa,EAAE,CAAC,MAAM,CAAC;gBACvB,cAAc,EAAE,IAAI;gBACpB,YAAY,EAAE,KAAK;aACpB,CAAC;QAEJ,KAAK,aAAa;YAChB,OAAO;gBACL,aAAa,EAAE,CAAC,MAAM,CAAC;gBACvB,YAAY,EAAE,IAAI;gBAClB,WAAW,EAAE,MAAM;aACpB,CAAC;QAEJ,KAAK,YAAY;YACf,OAAO;gBACL,WAAW,EAAE,QAAQ;gBACrB,cAAc,EAAE,IAAI;aACrB,CAAC;QAEJ;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,gFAAgF;IAChF,+DAA+D;IAC/D,KAAK,EAAE;QACL,kBAAkB,EAAE,EAAE;QACtB,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import { type PathProfile } from './pathProfiles.js';
|
|
16
16
|
import type { Preset } from '../presets/presets.js';
|
|
17
|
-
|
|
17
|
+
import type { ThresholdSource } from '../types.js';
|
|
18
|
+
export type ConfigSource = 'default' | 'project-config' | 'project-lint-config' | 'env' | 'cli' | `path-profile:${string}` | `builtin:${string}` | `preset:${string}`;
|
|
18
19
|
export interface EffectiveKey {
|
|
19
20
|
/** Dot-notation key (e.g. `solid.maxMethodsPerClass`). */
|
|
20
21
|
key: string;
|
|
@@ -66,10 +67,30 @@ export declare function computeEffectiveConfig(opts: {
|
|
|
66
67
|
enabledAnalyzers?: string[];
|
|
67
68
|
/** Ordered presets; later presets win on key collision (Spec 38 R4). */
|
|
68
69
|
presets?: Preset[];
|
|
70
|
+
/** Lint-sourced thresholds (analyzerConfigs-shaped, e.g. `{ solid: { maxLinesPerMethod } }`),
|
|
71
|
+
* merged as a base under `analyzerConfigs` (Spec 50 R2). */
|
|
72
|
+
lintConfig?: Record<string, unknown>;
|
|
69
73
|
}): EffectiveConfigResult;
|
|
70
74
|
/**
|
|
71
75
|
* Top-level (non-analyzer) config keys with source tracking. `base` is
|
|
72
76
|
* `getDefaultConfig()`; `project` is the config loaded from file/env/cli.
|
|
73
77
|
*/
|
|
74
78
|
export declare function computeTopLevelConfig(base: Record<string, unknown>, project: Record<string, unknown>): EffectiveKey[];
|
|
79
|
+
/**
|
|
80
|
+
* Spec 50 R2 — enumerate every size threshold named by the rule registry and
|
|
81
|
+
* name which config layer supplied its effective value.
|
|
82
|
+
*
|
|
83
|
+
* This is the run-level (non-file) counterpart to `computeEffectiveConfig`:
|
|
84
|
+
* it has no filePath, so path-profile overrides are out of scope. Precedence
|
|
85
|
+
* mirrors the pipeline: project-config > project-lint-config > preset > default.
|
|
86
|
+
*
|
|
87
|
+
* @param projectConfig User-facing `analyzerConfigs` (.codeauditor.json + inline options).
|
|
88
|
+
* @param lintThresholds Dot-notation lint thresholds (`solid.maxLinesPerMethod`, …).
|
|
89
|
+
* @param presets Ordered presets; later presets win.
|
|
90
|
+
*/
|
|
91
|
+
export declare function computeThresholdSources(opts: {
|
|
92
|
+
projectConfig?: Record<string, unknown>;
|
|
93
|
+
lintThresholds?: Record<string, number>;
|
|
94
|
+
presets?: Preset[];
|
|
95
|
+
}): ThresholdSource[];
|
|
75
96
|
//# sourceMappingURL=effectiveConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effectiveConfig.d.ts","sourceRoot":"","sources":["../../src/config/effectiveConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"effectiveConfig.d.ts","sourceRoot":"","sources":["../../src/config/effectiveConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAYnD,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,gBAAgB,GAChB,qBAAqB,GACrB,KAAK,GACL,KAAK,GACL,gBAAgB,MAAM,EAAE,GACxB,WAAW,MAAM,EAAE,GACnB,UAAU,MAAM,EAAE,CAAC;AAEvB,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,sEAAsE;IACtE,kBAAkB,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,YAAY,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,EAAE,uBAAuB,EAAE,CAAC;IACrC,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AA6BD;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAW3E,CAAC;AAWF,kFAAkF;AAClF,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,SAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAW5E;AA6BD;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;iEAC6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC,GAAG,qBAAqB,CAmExB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,YAAY,EAAE,CAqBhB;AAUD;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,GAAG,eAAe,EAAE,CAoDpB"}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import { BUILTIN_PATH_PROFILES } from './defaults.js';
|
|
16
16
|
import { resolvePathProfile } from './pathProfiles.js';
|
|
17
|
+
import { RULE_REGISTRY } from '../analyzers/ruleRegistry.js';
|
|
17
18
|
import { DEFAULT_SOLID_CONFIG } from '../analyzers/universal/UniversalSOLIDAnalyzer.js';
|
|
18
19
|
import { DEFAULT_DRY_CONFIG } from '../analyzers/universal/UniversalDRYAnalyzer.js';
|
|
19
20
|
import { DEFAULT_DATA_ACCESS_CONFIG } from '../analyzers/universal/UniversalDataAccessAnalyzer.js';
|
|
@@ -122,7 +123,7 @@ function flattenPresetLayer(namespace, presets) {
|
|
|
122
123
|
* per analyzer.
|
|
123
124
|
*/
|
|
124
125
|
export function computeEffectiveConfig(opts) {
|
|
125
|
-
const { filePath, projectRoot, analyzerConfigs = {}, pathProfiles = [], enabledAnalyzers, presets = [] } = opts;
|
|
126
|
+
const { filePath, projectRoot, analyzerConfigs = {}, pathProfiles = [], enabledAnalyzers, presets = [], lintConfig = {} } = opts;
|
|
126
127
|
const resolved = pathProfiles.length > 0
|
|
127
128
|
? resolvePathProfile(filePath, projectRoot, pathProfiles)
|
|
128
129
|
: { overrides: {}, excludeFromGate: false, matchedProfileNames: [] };
|
|
@@ -136,10 +137,12 @@ export function computeEffectiveConfig(opts) {
|
|
|
136
137
|
const flatDefaults = flatten(defaults, namespace);
|
|
137
138
|
const flatPreset = flattenPresetLayer(namespace, presets);
|
|
138
139
|
const flatProject = flatten(projectOverride, namespace);
|
|
140
|
+
// Lint-sourced thresholds sit between project config and presets (Spec 50 R2).
|
|
141
|
+
const flatLint = flatten(lintConfig[namespace] ?? {}, namespace);
|
|
139
142
|
// Path-profile overrides are flat and unnamespaced; the pipeline spreads
|
|
140
143
|
// them into every visitor, so namespace them for display parity.
|
|
141
144
|
const flatProfile = flatten(resolved.overrides, namespace);
|
|
142
|
-
const merged = { ...flatDefaults, ...flatPreset.flat, ...flatProject, ...flatProfile };
|
|
145
|
+
const merged = { ...flatDefaults, ...flatPreset.flat, ...flatLint, ...flatProject, ...flatProfile };
|
|
143
146
|
const keys = Object.keys(merged)
|
|
144
147
|
.sort()
|
|
145
148
|
.map((key) => {
|
|
@@ -156,6 +159,9 @@ export function computeEffectiveConfig(opts) {
|
|
|
156
159
|
else if (key in flatProject) {
|
|
157
160
|
source = 'project-config';
|
|
158
161
|
}
|
|
162
|
+
else if (key in flatLint) {
|
|
163
|
+
source = 'project-lint-config';
|
|
164
|
+
}
|
|
159
165
|
else if (key in flatPreset.sourceByKey) {
|
|
160
166
|
source = `preset:${flatPreset.sourceByKey[key]}`;
|
|
161
167
|
}
|
|
@@ -212,4 +218,65 @@ function relativePosix(root, file) {
|
|
|
212
218
|
: file;
|
|
213
219
|
return rel.split('\\').join('/');
|
|
214
220
|
}
|
|
221
|
+
/**
|
|
222
|
+
* Spec 50 R2 — enumerate every size threshold named by the rule registry and
|
|
223
|
+
* name which config layer supplied its effective value.
|
|
224
|
+
*
|
|
225
|
+
* This is the run-level (non-file) counterpart to `computeEffectiveConfig`:
|
|
226
|
+
* it has no filePath, so path-profile overrides are out of scope. Precedence
|
|
227
|
+
* mirrors the pipeline: project-config > project-lint-config > preset > default.
|
|
228
|
+
*
|
|
229
|
+
* @param projectConfig User-facing `analyzerConfigs` (.codeauditor.json + inline options).
|
|
230
|
+
* @param lintThresholds Dot-notation lint thresholds (`solid.maxLinesPerMethod`, …).
|
|
231
|
+
* @param presets Ordered presets; later presets win.
|
|
232
|
+
*/
|
|
233
|
+
export function computeThresholdSources(opts) {
|
|
234
|
+
const { projectConfig = {}, lintThresholds = {}, presets = [] } = opts;
|
|
235
|
+
// Flatten the ordered preset layer once into a merged flat map + source map.
|
|
236
|
+
const flatPreset = {};
|
|
237
|
+
const presetSourceByKey = {};
|
|
238
|
+
for (const preset of presets) {
|
|
239
|
+
for (const [namespace, fragment] of Object.entries(preset.config)) {
|
|
240
|
+
for (const [key, value] of Object.entries(flatten(fragment, namespace))) {
|
|
241
|
+
flatPreset[key] = value;
|
|
242
|
+
presetSourceByKey[key] = preset.id;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
const out = [];
|
|
247
|
+
const seen = new Set();
|
|
248
|
+
for (const entry of Object.values(RULE_REGISTRY)) {
|
|
249
|
+
const analyzer = entry.analyzer;
|
|
250
|
+
const defaults = RUNTIME_DEFAULT_CONFIGS[analyzer];
|
|
251
|
+
if (!defaults)
|
|
252
|
+
continue;
|
|
253
|
+
const flatDefaults = flatten(defaults, analyzer);
|
|
254
|
+
const flatProject = flatten(projectConfig[analyzer] ?? {}, analyzer);
|
|
255
|
+
for (const threshold of entry.thresholds) {
|
|
256
|
+
const fullKey = `${analyzer}.${threshold}`;
|
|
257
|
+
if (seen.has(fullKey))
|
|
258
|
+
continue;
|
|
259
|
+
seen.add(fullKey);
|
|
260
|
+
const defaultValue = flatDefaults[fullKey];
|
|
261
|
+
if (defaultValue === undefined)
|
|
262
|
+
continue;
|
|
263
|
+
let value = defaultValue;
|
|
264
|
+
let source = 'default';
|
|
265
|
+
if (fullKey in flatProject) {
|
|
266
|
+
value = flatProject[fullKey];
|
|
267
|
+
source = 'project-config';
|
|
268
|
+
}
|
|
269
|
+
else if (fullKey in lintThresholds) {
|
|
270
|
+
value = lintThresholds[fullKey];
|
|
271
|
+
source = 'project-lint-config';
|
|
272
|
+
}
|
|
273
|
+
else if (fullKey in flatPreset) {
|
|
274
|
+
value = flatPreset[fullKey];
|
|
275
|
+
source = `preset:${presetSourceByKey[fullKey]}`;
|
|
276
|
+
}
|
|
277
|
+
out.push({ key: fullKey, value, source, defaultValue });
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
return out;
|
|
281
|
+
}
|
|
215
282
|
//# sourceMappingURL=effectiveConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effectiveConfig.js","sourceRoot":"","sources":["../../src/config/effectiveConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAoB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"effectiveConfig.js","sourceRoot":"","sources":["../../src/config/effectiveConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lint-config threshold reader — Spec 50 "size-threshold" recalibration, part 2.
|
|
3
|
+
*
|
|
4
|
+
* The size-threshold rules (`function-length`, `parameter-count`,
|
|
5
|
+
* `method-complexity`) default to numbers the project may already have an
|
|
6
|
+
* opinion about — its ESLint config. When a project declares
|
|
7
|
+
* `max-lines-per-function`, `max-params`, or `complexity`, those are the
|
|
8
|
+
* project's *own* authoritative thresholds and should win over our defaults
|
|
9
|
+
* (though never over an explicit `.codeauditor.json`).
|
|
10
|
+
*
|
|
11
|
+
* This module mirrors the Tailwind compile-probe philosophy
|
|
12
|
+
* (`src/styles/tailwindProbe.ts`): read the project's *own declared* config as
|
|
13
|
+
* the oracle, never guess. It is deliberately narrow:
|
|
14
|
+
*
|
|
15
|
+
* - Only the project's **own `rules` object** is read. `extends` / flat-config
|
|
16
|
+
* spreads are NOT resolved — a rule inherited from `@eslint/js`,
|
|
17
|
+
* `airbnb`, or a shared preset is invisible to us, exactly as the Tailwind
|
|
18
|
+
* probe does not hand-curate a dictionary for plugins it cannot load.
|
|
19
|
+
* - Only rules with a code-auditor equivalent are mapped. `max-depth` and
|
|
20
|
+
* `max-statements` are recognized (returned for transparency) but unmapped
|
|
21
|
+
* because no code-auditor rule measures nesting depth or statement count.
|
|
22
|
+
* - **Fail-open:** no config, an unloadable config, or an unparseable value
|
|
23
|
+
* yields `null` (or an empty result), never an error.
|
|
24
|
+
*
|
|
25
|
+
* Precedence (highest wins), enforced upstream in `auditRunner.ts`:
|
|
26
|
+
* `.codeauditor.json` (`analyzerConfigs`) > project lint config > presets > defaults
|
|
27
|
+
*/
|
|
28
|
+
export interface LintThresholdResult {
|
|
29
|
+
/** Absolute path to the config file that supplied thresholds, or null. */
|
|
30
|
+
configPath: string | null;
|
|
31
|
+
/** 'flat' (eslint.config.*) or 'legacy' (.eslintrc.*), or null when absent. */
|
|
32
|
+
configKind: 'flat' | 'legacy' | null;
|
|
33
|
+
/** ESLint rule name → mapped code-auditor threshold value (already numeric). */
|
|
34
|
+
thresholds: Record<string, number>;
|
|
35
|
+
/** Rules recognized but with no code-auditor equivalent. */
|
|
36
|
+
recognizedUnmapped: Array<{
|
|
37
|
+
rule: string;
|
|
38
|
+
value: unknown;
|
|
39
|
+
}>;
|
|
40
|
+
/** The raw rules object, for transparency in coverage output. */
|
|
41
|
+
rawRules: Record<string, unknown>;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Read the project's own lint-config size thresholds.
|
|
45
|
+
*
|
|
46
|
+
* Returns `null` when no lint config is found (or nothing loadable). The
|
|
47
|
+
* caller treats `null` as "defaults" — absence is not an error.
|
|
48
|
+
*/
|
|
49
|
+
export declare function readProjectLintThresholds(projectRoot: string): Promise<LintThresholdResult | null>;
|
|
50
|
+
/**
|
|
51
|
+
* Convert a mapped `thresholds` map (dot-notation keys) into the
|
|
52
|
+
* `analyzerConfigs` fragment shape the pipeline merges, grouped by namespace
|
|
53
|
+
* (the prefix before the first `.`).
|
|
54
|
+
*/
|
|
55
|
+
export declare function thresholdsToAnalyzerConfig(thresholds: Record<string, number>): Record<string, Record<string, number>>;
|
|
56
|
+
//# sourceMappingURL=lintConfigReader.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lint-config threshold reader — Spec 50 "size-threshold" recalibration, part 2.
|
|
3
|
+
*
|
|
4
|
+
* The size-threshold rules (`function-length`, `parameter-count`,
|
|
5
|
+
* `method-complexity`) default to numbers the project may already have an
|
|
6
|
+
* opinion about — its ESLint config. When a project declares
|
|
7
|
+
* `max-lines-per-function`, `max-params`, or `complexity`, those are the
|
|
8
|
+
* project's *own* authoritative thresholds and should win over our defaults
|
|
9
|
+
* (though never over an explicit `.codeauditor.json`).
|
|
10
|
+
*
|
|
11
|
+
* This module mirrors the Tailwind compile-probe philosophy
|
|
12
|
+
* (`src/styles/tailwindProbe.ts`): read the project's *own declared* config as
|
|
13
|
+
* the oracle, never guess. It is deliberately narrow:
|
|
14
|
+
*
|
|
15
|
+
* - Only the project's **own `rules` object** is read. `extends` / flat-config
|
|
16
|
+
* spreads are NOT resolved — a rule inherited from `@eslint/js`,
|
|
17
|
+
* `airbnb`, or a shared preset is invisible to us, exactly as the Tailwind
|
|
18
|
+
* probe does not hand-curate a dictionary for plugins it cannot load.
|
|
19
|
+
* - Only rules with a code-auditor equivalent are mapped. `max-depth` and
|
|
20
|
+
* `max-statements` are recognized (returned for transparency) but unmapped
|
|
21
|
+
* because no code-auditor rule measures nesting depth or statement count.
|
|
22
|
+
* - **Fail-open:** no config, an unloadable config, or an unparseable value
|
|
23
|
+
* yields `null` (or an empty result), never an error.
|
|
24
|
+
*
|
|
25
|
+
* Precedence (highest wins), enforced upstream in `auditRunner.ts`:
|
|
26
|
+
* `.codeauditor.json` (`analyzerConfigs`) > project lint config > presets > defaults
|
|
27
|
+
*/
|
|
28
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
29
|
+
import { extname, join } from 'node:path';
|
|
30
|
+
import { createRequire } from 'node:module';
|
|
31
|
+
import { pathToFileURL } from 'node:url';
|
|
32
|
+
/** ESLint rule → dot-notation code-auditor threshold key. */
|
|
33
|
+
const ESLINT_RULE_TO_THRESHOLD = {
|
|
34
|
+
'max-lines-per-function': 'solid.maxLinesPerMethod',
|
|
35
|
+
'max-params': 'solid.maxParametersPerMethod',
|
|
36
|
+
complexity: 'solid.maxMethodComplexity',
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* ESLint rules we can *see* but have no code-auditor threshold for. Returned in
|
|
40
|
+
* `recognizedUnmapped` so the coverage output can say "the project configured
|
|
41
|
+
* max-depth: 4, which code-auditor does not model", rather than silently
|
|
42
|
+
* dropping it.
|
|
43
|
+
*/
|
|
44
|
+
const RECOGNIZED_UNMAPPED = new Set(['max-depth', 'max-statements']);
|
|
45
|
+
// Flat config first (ESLint 9+), legacy after (ESLint ≤8).
|
|
46
|
+
const CONFIG_CANDIDATES = [
|
|
47
|
+
'eslint.config.js',
|
|
48
|
+
'eslint.config.mjs',
|
|
49
|
+
'eslint.config.cjs',
|
|
50
|
+
'eslint.config.ts',
|
|
51
|
+
'.eslintrc.js',
|
|
52
|
+
'.eslintrc.cjs',
|
|
53
|
+
'.eslintrc.json',
|
|
54
|
+
'.eslintrc.yaml',
|
|
55
|
+
'.eslintrc.yml',
|
|
56
|
+
];
|
|
57
|
+
// ---------------------------------------------------------------------------
|
|
58
|
+
// Public API
|
|
59
|
+
// ---------------------------------------------------------------------------
|
|
60
|
+
/**
|
|
61
|
+
* Read the project's own lint-config size thresholds.
|
|
62
|
+
*
|
|
63
|
+
* Returns `null` when no lint config is found (or nothing loadable). The
|
|
64
|
+
* caller treats `null` as "defaults" — absence is not an error.
|
|
65
|
+
*/
|
|
66
|
+
export async function readProjectLintThresholds(projectRoot) {
|
|
67
|
+
const configPath = findConfigFile(projectRoot);
|
|
68
|
+
if (!configPath)
|
|
69
|
+
return null;
|
|
70
|
+
let loaded;
|
|
71
|
+
try {
|
|
72
|
+
loaded = await loadConfigModule(configPath, projectRoot);
|
|
73
|
+
}
|
|
74
|
+
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
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
const rawRules = extractRules(loaded);
|
|
80
|
+
if (!rawRules || typeof rawRules !== 'object') {
|
|
81
|
+
return {
|
|
82
|
+
configPath,
|
|
83
|
+
configKind: configKind(configPath),
|
|
84
|
+
thresholds: {},
|
|
85
|
+
recognizedUnmapped: [],
|
|
86
|
+
rawRules: {},
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
const thresholds = {};
|
|
90
|
+
const recognizedUnmapped = [];
|
|
91
|
+
for (const [rule, value] of Object.entries(rawRules)) {
|
|
92
|
+
const mapped = ESLINT_RULE_TO_THRESHOLD[rule];
|
|
93
|
+
if (mapped) {
|
|
94
|
+
const parsed = parseThreshold(value);
|
|
95
|
+
if (parsed !== null)
|
|
96
|
+
thresholds[mapped] = parsed;
|
|
97
|
+
// `parsed === null` means "off"/"0"/absent — skip, not an error.
|
|
98
|
+
}
|
|
99
|
+
else if (RECOGNIZED_UNMAPPED.has(rule)) {
|
|
100
|
+
recognizedUnmapped.push({ rule, value });
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return {
|
|
104
|
+
configPath,
|
|
105
|
+
configKind: configKind(configPath),
|
|
106
|
+
thresholds,
|
|
107
|
+
recognizedUnmapped,
|
|
108
|
+
rawRules,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Convert a mapped `thresholds` map (dot-notation keys) into the
|
|
113
|
+
* `analyzerConfigs` fragment shape the pipeline merges, grouped by namespace
|
|
114
|
+
* (the prefix before the first `.`).
|
|
115
|
+
*/
|
|
116
|
+
export function thresholdsToAnalyzerConfig(thresholds) {
|
|
117
|
+
const out = {};
|
|
118
|
+
for (const [key, value] of Object.entries(thresholds)) {
|
|
119
|
+
const dot = key.indexOf('.');
|
|
120
|
+
const namespace = dot >= 0 ? key.slice(0, dot) : key;
|
|
121
|
+
const leaf = dot >= 0 ? key.slice(dot + 1) : key;
|
|
122
|
+
(out[namespace] ??= {})[leaf] = value;
|
|
123
|
+
}
|
|
124
|
+
return out;
|
|
125
|
+
}
|
|
126
|
+
// ---------------------------------------------------------------------------
|
|
127
|
+
// Discovery
|
|
128
|
+
// ---------------------------------------------------------------------------
|
|
129
|
+
function findConfigFile(projectRoot) {
|
|
130
|
+
for (const candidate of CONFIG_CANDIDATES) {
|
|
131
|
+
const full = join(projectRoot, candidate);
|
|
132
|
+
if (existsSync(full))
|
|
133
|
+
return full;
|
|
134
|
+
}
|
|
135
|
+
return null;
|
|
136
|
+
}
|
|
137
|
+
function configKind(configPath) {
|
|
138
|
+
return configPath.endsWith('.eslintrc.js') ||
|
|
139
|
+
configPath.endsWith('.eslintrc.cjs') ||
|
|
140
|
+
configPath.endsWith('.eslintrc.json') ||
|
|
141
|
+
configPath.endsWith('.eslintrc.yaml') ||
|
|
142
|
+
configPath.endsWith('.eslintrc.yml')
|
|
143
|
+
? 'legacy'
|
|
144
|
+
: 'flat';
|
|
145
|
+
}
|
|
146
|
+
// ---------------------------------------------------------------------------
|
|
147
|
+
// Loading
|
|
148
|
+
// ---------------------------------------------------------------------------
|
|
149
|
+
/**
|
|
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
|
+
*/
|
|
155
|
+
async function loadConfigModule(configPath, projectRoot) {
|
|
156
|
+
const ext = extname(configPath);
|
|
157
|
+
if (ext === '.json') {
|
|
158
|
+
return JSON.parse(readFileSync(configPath, 'utf-8'));
|
|
159
|
+
}
|
|
160
|
+
if (ext === '.yaml' || ext === '.yml') {
|
|
161
|
+
// No YAML dependency is bundled; a legacy .eslintrc.yaml is rare and
|
|
162
|
+
// 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();
|
|
180
|
+
}
|
|
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';
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
// ---------------------------------------------------------------------------
|
|
193
|
+
// Rule extraction + value parsing
|
|
194
|
+
// ---------------------------------------------------------------------------
|
|
195
|
+
/**
|
|
196
|
+
* Pull the project's own `rules` object out of a loaded config.
|
|
197
|
+
*
|
|
198
|
+
* Flat config is an array of config objects (each possibly carrying `rules`,
|
|
199
|
+
* `files`, `languageOptions`, `ignores`); we merge every `rules` object in
|
|
200
|
+
* order. Legacy config is a single object with a top-level `rules`.
|
|
201
|
+
*/
|
|
202
|
+
function extractRules(loaded) {
|
|
203
|
+
if (Array.isArray(loaded)) {
|
|
204
|
+
const rules = {};
|
|
205
|
+
for (const entry of loaded) {
|
|
206
|
+
if (entry && typeof entry === 'object' && !Array.isArray(entry)) {
|
|
207
|
+
const r = entry.rules;
|
|
208
|
+
if (r && typeof r === 'object' && !Array.isArray(r)) {
|
|
209
|
+
Object.assign(rules, r);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
return rules;
|
|
214
|
+
}
|
|
215
|
+
if (loaded && typeof loaded === 'object' && !Array.isArray(loaded)) {
|
|
216
|
+
const rules = loaded.rules;
|
|
217
|
+
if (rules && typeof rules === 'object' && !Array.isArray(rules)) {
|
|
218
|
+
return rules;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
return null;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Parse an ESLint rule's threshold value into a number, or null when absent.
|
|
225
|
+
*
|
|
226
|
+
* ESLint accepts several shapes for these rules:
|
|
227
|
+
* `6` — a bare number (legacy shorthand)
|
|
228
|
+
* `["error", 6]` — severity + number
|
|
229
|
+
* `["error", {max:6}]`— severity + options object (max-lines-per-function,
|
|
230
|
+
* complexity)
|
|
231
|
+
* `{ max: 6 }` — options object only
|
|
232
|
+
* `"off"` / `0` — disabled (treated as absent)
|
|
233
|
+
*/
|
|
234
|
+
function parseThreshold(value) {
|
|
235
|
+
if (typeof value === 'number')
|
|
236
|
+
return value;
|
|
237
|
+
if (typeof value === 'string') {
|
|
238
|
+
if (value === 'off')
|
|
239
|
+
return null;
|
|
240
|
+
const n = Number(value);
|
|
241
|
+
return Number.isFinite(n) && n > 0 ? n : null;
|
|
242
|
+
}
|
|
243
|
+
if (Array.isArray(value)) {
|
|
244
|
+
for (const item of value) {
|
|
245
|
+
if (typeof item === 'number')
|
|
246
|
+
return item;
|
|
247
|
+
const max = maxFromOptions(item);
|
|
248
|
+
if (max !== null)
|
|
249
|
+
return max;
|
|
250
|
+
}
|
|
251
|
+
return null;
|
|
252
|
+
}
|
|
253
|
+
return maxFromOptions(value);
|
|
254
|
+
}
|
|
255
|
+
function maxFromOptions(value) {
|
|
256
|
+
if (value && typeof value === 'object' && !Array.isArray(value)) {
|
|
257
|
+
const max = value.max;
|
|
258
|
+
if (typeof max === 'number')
|
|
259
|
+
return max;
|
|
260
|
+
}
|
|
261
|
+
return null;
|
|
262
|
+
}
|
|
263
|
+
//# sourceMappingURL=lintConfigReader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lintConfigReader.js","sourceRoot":"","sources":["../../src/config/lintConfigReader.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Global constants for the code-auditor MCP server
|
|
3
3
|
*/
|
|
4
|
-
/**
|
|
5
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Package version, stamped into the build by `scripts/write-version.mjs`.
|
|
6
|
+
*
|
|
7
|
+
* This is a compile-time literal, not a runtime `package.json` read. A stale
|
|
8
|
+
* binary therefore reports the version it was actually built as — not the
|
|
9
|
+
* version of whatever package.json sits next to it on disk (the defect where a
|
|
10
|
+
* pre-3.9.4 binary announced itself as 3.9.9).
|
|
11
|
+
*/
|
|
12
|
+
export declare const PACKAGE_VERSION = "3.9.11";
|
|
6
13
|
export declare const DEFAULT_PORT = 11437;
|
|
7
14
|
export declare const DEFAULT_SERVER_URL = "http://localhost:11437";
|
|
8
15
|
export declare const MCP_SERVER_NAME = "code-index";
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,WAAU,CAAC;AAKvC,eAAO,MAAM,YAAY,QAAQ,CAAC;AAGlC,eAAO,MAAM,kBAAkB,2BAAqC,CAAC;AAGrE,eAAO,MAAM,eAAe,eAAe,CAAC;AAG5C,eAAO,MAAM,eAAe,mBAAmB,CAAC;AAGhD,eAAO,MAAM,WAAW,SAG6B,CAAC"}
|