code-auditor-mcp 3.9.1 → 3.9.2
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 +27 -0
- package/dist/analyzers/analyzerUtils.js +2 -2
- package/dist/analyzers/analyzerUtils.js.map +1 -1
- package/dist/analyzers/cross-language/APIContractAnalyzer.js +5 -5
- package/dist/analyzers/cross-language/APIContractAnalyzer.js.map +1 -1
- package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts +1 -1
- package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -1
- package/dist/analyzers/cross-language/DependencyGraphBuilder.js +7 -7
- package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -1
- package/dist/analyzers/cross-language/SchemaValidator.js +7 -7
- package/dist/analyzers/cross-language/SchemaValidator.js.map +1 -1
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts +2 -1
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js +8 -7
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js.map +1 -1
- package/dist/analyzers/documentationAnalyzer.js +5 -5
- package/dist/analyzers/documentationAnalyzer.js.map +1 -1
- package/dist/analyzers/invariantsAnalyzer.js +1 -1
- package/dist/analyzers/invariantsAnalyzer.js.map +1 -1
- package/dist/analyzers/reactAnalyzer.d.ts +1 -1
- package/dist/analyzers/reactAnalyzer.js +13 -13
- package/dist/analyzers/reactAnalyzer.js.map +1 -1
- package/dist/analyzers/ruleRegistry.d.ts +3 -4
- package/dist/analyzers/ruleRegistry.d.ts.map +1 -1
- package/dist/analyzers/ruleRegistry.js.map +1 -1
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts +2 -2
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.js +7 -7
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts +6 -6
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js +12 -12
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +8 -8
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts +2 -2
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js +8 -8
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +12 -12
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +2 -2
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js +12 -24
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/schema/codeAnalysis.js +6 -6
- package/dist/analyzers/universal/schema/codeAnalysis.js.map +1 -1
- package/dist/analyzers/universal/schema/jsonSchema.js +19 -19
- package/dist/analyzers/universal/schema/jsonSchema.js.map +1 -1
- package/dist/analyzers/universal/schema/violations.d.ts +1 -1
- package/dist/analyzers/universal/schema/violations.d.ts.map +1 -1
- package/dist/auditRouter.js +4 -4
- package/dist/auditRouter.js.map +1 -1
- package/dist/auditRunner.d.ts.map +1 -1
- package/dist/auditRunner.js +11 -12
- package/dist/auditRunner.js.map +1 -1
- package/dist/cli.js +41 -56
- package/dist/cli.js.map +1 -1
- package/dist/config/configLoader.d.ts.map +1 -1
- package/dist/config/configLoader.js +1 -16
- package/dist/config/configLoader.js.map +1 -1
- package/dist/config/defaults.d.ts +1 -8
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +8 -31
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/effectiveConfig.d.ts +4 -4
- package/dist/config/effectiveConfig.js +4 -4
- package/dist/daemon/lspServer.js +2 -2
- package/dist/daemon/lspServer.js.map +1 -1
- package/dist/enforcement/gate.d.ts +1 -1
- package/dist/enforcement/gate.d.ts.map +1 -1
- package/dist/enforcement/gate.js +10 -9
- package/dist/enforcement/gate.js.map +1 -1
- package/dist/hooks/codex.d.ts +2 -2
- package/dist/hooks/codex.d.ts.map +1 -1
- package/dist/hooks/codex.js +22 -37
- package/dist/hooks/codex.js.map +1 -1
- package/dist/hooks/core.d.ts +2 -2
- package/dist/hooks/core.d.ts.map +1 -1
- package/dist/hooks/core.js +6 -6
- package/dist/hooks/core.js.map +1 -1
- package/dist/hooks/cursor.d.ts +1 -1
- package/dist/hooks/cursor.d.ts.map +1 -1
- package/dist/hooks/cursor.js +18 -37
- package/dist/hooks/cursor.js.map +1 -1
- package/dist/invariants/invariant-rules.schema.json +1 -1
- package/dist/invariants/ruleValidator.js +1 -1
- package/dist/invariants/ruleValidator.js.map +1 -1
- package/dist/invariants/types.d.ts +1 -1
- package/dist/invariants/types.d.ts.map +1 -1
- package/dist/languages/LanguageOrchestrator.d.ts +2 -2
- package/dist/languages/LanguageOrchestrator.d.ts.map +1 -1
- package/dist/languages/RuntimeManager.js +2 -2
- package/dist/languages/RuntimeManager.js.map +1 -1
- package/dist/languages/UniversalAnalyzer.d.ts +2 -13
- package/dist/languages/UniversalAnalyzer.d.ts.map +1 -1
- package/dist/languages/UniversalAnalyzer.js +2 -23
- package/dist/languages/UniversalAnalyzer.js.map +1 -1
- package/dist/languages/go/analyzer +0 -0
- package/dist/languages/go/analyzer-src/analyzer.go +8 -8
- package/dist/languages/go/analyzer-src/solid.go +6 -6
- package/dist/ledger.js +1 -1
- package/dist/ledger.js.map +1 -1
- package/dist/mcp-tools/projectTasks.d.ts.map +1 -1
- package/dist/mcp-tools/projectTasks.js +4 -5
- package/dist/mcp-tools/projectTasks.js.map +1 -1
- package/dist/mcp-tools/workflowGuide.js +3 -3
- package/dist/mcp-tools/workflowGuide.js.map +1 -1
- package/dist/mcp-tools-shared.d.ts.map +1 -1
- package/dist/mcp-tools-shared.js +21 -20
- package/dist/mcp-tools-shared.js.map +1 -1
- package/dist/mcp-ui-simple.js +15 -15
- package/dist/mcp-ui-simple.js.map +1 -1
- package/dist/mcp.js +20 -19
- package/dist/mcp.js.map +1 -1
- package/dist/mcpAuditJobs.js +14 -14
- package/dist/mcpAuditJobs.js.map +1 -1
- package/dist/mcpAutoIndex.js +1 -1
- package/dist/mcpAutoIndex.js.map +1 -1
- package/dist/nextFile.d.ts +2 -2
- package/dist/nextFile.d.ts.map +1 -1
- package/dist/nextFile.js +4 -5
- package/dist/nextFile.js.map +1 -1
- package/dist/nextFileIncremental.d.ts +2 -2
- package/dist/nextFileIncremental.d.ts.map +1 -1
- package/dist/nextFileIncremental.js +7 -7
- package/dist/nextFileIncremental.js.map +1 -1
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +4 -8
- package/dist/pipeline.js.map +1 -1
- package/dist/pipelineAdapters.d.ts.map +1 -1
- package/dist/pipelineAdapters.js +11 -8
- package/dist/pipelineAdapters.js.map +1 -1
- package/dist/reporting/csvReportGenerator.js +7 -7
- package/dist/reporting/csvReportGenerator.js.map +1 -1
- package/dist/reporting/htmlReportGenerator.js +18 -18
- package/dist/reporting/htmlReportGenerator.js.map +1 -1
- package/dist/reporting/jsonReportGenerator.js +3 -3
- package/dist/reporting/jsonReportGenerator.js.map +1 -1
- package/dist/reporting/sarifReportGenerator.js +3 -3
- package/dist/reporting/sarifReportGenerator.js.map +1 -1
- package/dist/scripts/benchmarkWorkers.js +1 -1
- package/dist/scripts/benchmarkWorkers.js.map +1 -1
- package/dist/types/crossLanguage.d.ts +1 -1
- package/dist/types/crossLanguage.d.ts.map +1 -1
- package/dist/types.d.ts +26 -24
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +11 -0
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/skills/code-auditor/SKILL-RULE-KINDS.md +25 -23
- package/plugin/skills/code-auditor/SKILL.md +9 -9
- package/server.json +2 -2
|
@@ -140,7 +140,7 @@ export class UniversalSOLIDAnalyzer extends UniversalAnalyzer {
|
|
|
140
140
|
withRuleTiming('solid/class-size', () => {
|
|
141
141
|
const methodsThreshold = config.classMethodsThreshold ?? config.maxMethodsPerClass ?? 15;
|
|
142
142
|
if (cls.methods.length > methodsThreshold) {
|
|
143
|
-
violations.push(this.createViolation(ast.filePath, cls.location.start, `Class "${cls.name}" has ${cls.methods.length} methods, exceeding the maximum of ${methodsThreshold}. Consider splitting into smaller classes.`, { severity: '
|
|
143
|
+
violations.push(this.createViolation(ast.filePath, cls.location.start, `Class "${cls.name}" has ${cls.methods.length} methods, exceeding the maximum of ${methodsThreshold}. Consider splitting into smaller classes.`, { severity: 'high', rule: 'solid/class-size', symbol: cls.name, // R7: class-size → high
|
|
144
144
|
resolution: {
|
|
145
145
|
action: 'split-class',
|
|
146
146
|
summary: `Split class "${cls.name}" (${cls.methods.length} methods) into smaller classes by extracting a cohesive subset of its methods.`,
|
|
@@ -155,7 +155,7 @@ export class UniversalSOLIDAnalyzer extends UniversalAnalyzer {
|
|
|
155
155
|
const maxAggregate = config.classAggregateComplexity ?? 100;
|
|
156
156
|
if (aggregateComplexity > maxAggregate) {
|
|
157
157
|
violations.push(this.createViolation(ast.filePath, cls.location.start, `Class "${cls.name}" has aggregate cyclomatic complexity ${aggregateComplexity}, ` +
|
|
158
|
-
`exceeding the maximum of ${maxAggregate}. Consider splitting the class.`, { severity: '
|
|
158
|
+
`exceeding the maximum of ${maxAggregate}. Consider splitting the class.`, { severity: 'high', rule: 'solid/class-size', symbol: cls.name, // R7: class-size → high
|
|
159
159
|
resolution: {
|
|
160
160
|
action: 'split-class',
|
|
161
161
|
summary: `Split class "${cls.name}" (aggregate complexity ${aggregateComplexity}) to move its most-complex methods into a separate class.`,
|
|
@@ -174,7 +174,7 @@ export class UniversalSOLIDAnalyzer extends UniversalAnalyzer {
|
|
|
174
174
|
const { ast, adapter, config } = ctx;
|
|
175
175
|
let aggregateComplexity = 0;
|
|
176
176
|
for (const method of cls.methods) {
|
|
177
|
-
// R5.1: Per-method cyclomatic complexity (
|
|
177
|
+
// R5.1: Per-method cyclomatic complexity (high)
|
|
178
178
|
const methodNode = findNodeByLocation(ast.root, method.location.start);
|
|
179
179
|
if (methodNode) {
|
|
180
180
|
const methodComplexity = adapter.getComplexity(methodNode);
|
|
@@ -182,7 +182,7 @@ export class UniversalSOLIDAnalyzer extends UniversalAnalyzer {
|
|
|
182
182
|
const maxMethod = config.maxMethodComplexity ?? 50;
|
|
183
183
|
if (methodComplexity > maxMethod) {
|
|
184
184
|
violations.push(this.createViolation(ast.filePath, method.location.start, `Method "${cls.name}.${method.name}" has cyclomatic complexity ${methodComplexity}, ` +
|
|
185
|
-
`exceeding the maximum of ${maxMethod}. Consider breaking it into smaller methods.`, { severity: '
|
|
185
|
+
`exceeding the maximum of ${maxMethod}. Consider breaking it into smaller methods.`, { severity: 'high', rule: 'solid/method-complexity', symbol: `${cls.name}.${method.name}` } // R7: method-complexity → high
|
|
186
186
|
));
|
|
187
187
|
}
|
|
188
188
|
}
|
|
@@ -196,7 +196,7 @@ export class UniversalSOLIDAnalyzer extends UniversalAnalyzer {
|
|
|
196
196
|
*/
|
|
197
197
|
checkOpenClosed(cls, ctx, violations) {
|
|
198
198
|
if (this.hasModificationPatterns(cls, ctx.ast, ctx.adapter, ctx.sourceCode)) {
|
|
199
|
-
violations.push(this.createViolation(ctx.ast.filePath, cls.location.start, `Class "${cls.name}" uses instanceof against a user-defined type. Consider composition or inheritance for extension.`, { severity: '
|
|
199
|
+
violations.push(this.createViolation(ctx.ast.filePath, cls.location.start, `Class "${cls.name}" uses instanceof against a user-defined type. Consider composition or inheritance for extension.`, { severity: 'high', rule: 'solid/open-closed', symbol: cls.name }));
|
|
200
200
|
}
|
|
201
201
|
}
|
|
202
202
|
/**
|
|
@@ -226,7 +226,7 @@ export class UniversalSOLIDAnalyzer extends UniversalAnalyzer {
|
|
|
226
226
|
const { ast, config } = ctx;
|
|
227
227
|
withRuleTiming('parameter-count', () => {
|
|
228
228
|
if (func.parameters.length > (config.maxParametersPerMethod || 4)) {
|
|
229
|
-
violations.push(this.createViolation(ast.filePath, func.location.start, `Function "${func.name}" has ${func.parameters.length} parameters, exceeding the maximum of ${config.maxParametersPerMethod || 4}. Consider using an options object.`, { severity: '
|
|
229
|
+
violations.push(this.createViolation(ast.filePath, func.location.start, `Function "${func.name}" has ${func.parameters.length} parameters, exceeding the maximum of ${config.maxParametersPerMethod || 4}. Consider using an options object.`, { severity: 'high', rule: 'parameter-count', symbol: functionSymbol(func),
|
|
230
230
|
resolution: {
|
|
231
231
|
action: 'bundle-params',
|
|
232
232
|
summary: `Bundle the ${func.parameters.length} parameters of "${func.name}" into an options object.`,
|
|
@@ -239,7 +239,7 @@ export class UniversalSOLIDAnalyzer extends UniversalAnalyzer {
|
|
|
239
239
|
withRuleTiming('function-length', () => {
|
|
240
240
|
const lineCount = func.location.end.line - func.location.start.line + 1;
|
|
241
241
|
if (lineCount > (config.maxLinesPerMethod || 50)) {
|
|
242
|
-
violations.push(this.createViolation(ast.filePath, func.location.start, `Function "${func.name}" has ${lineCount} lines, exceeding the maximum of ${config.maxLinesPerMethod || 50}. Consider breaking it down.`, { severity: '
|
|
242
|
+
violations.push(this.createViolation(ast.filePath, func.location.start, `Function "${func.name}" has ${lineCount} lines, exceeding the maximum of ${config.maxLinesPerMethod || 50}. Consider breaking it down.`, { severity: 'high', rule: 'function-length', symbol: functionSymbol(func),
|
|
243
243
|
resolution: {
|
|
244
244
|
action: 'break-down-function',
|
|
245
245
|
summary: `Break "${func.name}" (${lineCount} lines) into smaller functions, extracting named helper blocks.`,
|
|
@@ -275,7 +275,7 @@ export class UniversalSOLIDAnalyzer extends UniversalAnalyzer {
|
|
|
275
275
|
// List only the *voting* concerns — transformation/logging are glue, not
|
|
276
276
|
// the reason the function is a god-function.
|
|
277
277
|
const labels = votingConcerns(concerns).map((c) => CONCERN_LABELS[c]);
|
|
278
|
-
violations.push(this.createViolation(ast.filePath, func.location.start, `Function "${func.name}" mixes ${groupCount} unrelated concerns (${labels.join(', ')}). Split it into one function per concern.`, { severity: '
|
|
278
|
+
violations.push(this.createViolation(ast.filePath, func.location.start, `Function "${func.name}" mixes ${groupCount} unrelated concerns (${labels.join(', ')}). Split it into one function per concern.`, { severity: 'high', rule: 'solid/single-responsibility', symbol: functionSymbol(func),
|
|
279
279
|
resolution: {
|
|
280
280
|
action: 'split-function',
|
|
281
281
|
summary: `Split "${func.name}" into one function per concern (${labels.join(', ')}) and compose them at the call site.`,
|
|
@@ -296,7 +296,7 @@ export class UniversalSOLIDAnalyzer extends UniversalAnalyzer {
|
|
|
296
296
|
const maxMethod = ctx.config.maxMethodComplexity ?? 50;
|
|
297
297
|
if (cyclomaticComplexity > maxMethod) {
|
|
298
298
|
violations.push(this.createViolation(ctx.ast.filePath, func.location.start, `Function "${func.name}" has cyclomatic complexity ${cyclomaticComplexity}, ` +
|
|
299
|
-
`exceeding the maximum of ${maxMethod}. Consider breaking it into smaller functions.`, { severity: '
|
|
299
|
+
`exceeding the maximum of ${maxMethod}. Consider breaking it into smaller functions.`, { severity: 'high', rule: 'solid/method-complexity', symbol: functionSymbol(func) } // R7: method-complexity → high
|
|
300
300
|
));
|
|
301
301
|
}
|
|
302
302
|
}
|
|
@@ -328,7 +328,7 @@ export class UniversalSOLIDAnalyzer extends UniversalAnalyzer {
|
|
|
328
328
|
// methods carry the interface-size smell.
|
|
329
329
|
const hasMethodMembers = members.some(member => member.type === 'method');
|
|
330
330
|
if (hasMethodMembers && memberCount > maxMembers) {
|
|
331
|
-
violations.push(this.createViolation(ast.filePath, iface.location.start, `Interface "${iface.name}" has ${memberCount} members, exceeding the maximum of ${maxMembers}. Consider splitting this large interface into smaller interfaces.`, { severity: '
|
|
331
|
+
violations.push(this.createViolation(ast.filePath, iface.location.start, `Interface "${iface.name}" has ${memberCount} members, exceeding the maximum of ${maxMembers}. Consider splitting this large interface into smaller interfaces.`, { severity: 'high', rule: 'interface-size', symbol: iface.name }));
|
|
332
332
|
}
|
|
333
333
|
return violations;
|
|
334
334
|
}
|
|
@@ -392,7 +392,7 @@ export class UniversalSOLIDAnalyzer extends UniversalAnalyzer {
|
|
|
392
392
|
const childThrows = this.methodThrows(methodNode, adapter);
|
|
393
393
|
const parentThrows = this.methodThrows(parentNode, adapter);
|
|
394
394
|
if (childThrows && !parentThrows) {
|
|
395
|
-
violations.push(this.createViolation(ast.filePath, method.location.start, `Method "${cls.name}.${method.name}" overrides "${parent.name}.${method.name}" and throws where the parent does not. Callers of the parent contract cannot handle it.`, { severity: '
|
|
395
|
+
violations.push(this.createViolation(ast.filePath, method.location.start, `Method "${cls.name}.${method.name}" overrides "${parent.name}.${method.name}" and throws where the parent does not. Callers of the parent contract cannot handle it.`, { severity: 'severe', rule: 'solid/liskov-substitution', symbol: `${cls.name}.${method.name}` }));
|
|
396
396
|
}
|
|
397
397
|
}
|
|
398
398
|
return violations;
|
|
@@ -416,7 +416,7 @@ export class UniversalSOLIDAnalyzer extends UniversalAnalyzer {
|
|
|
416
416
|
return;
|
|
417
417
|
}
|
|
418
418
|
if (this.hasDirectInstantiation(cls, classNode, ctx)) {
|
|
419
|
-
violations.push(this.createViolation(ctx.ast.filePath, cls.location.start, `Class "${cls.name}" directly instantiates a concrete dependency. Consider depending on abstractions.`, { severity: '
|
|
419
|
+
violations.push(this.createViolation(ctx.ast.filePath, cls.location.start, `Class "${cls.name}" directly instantiates a concrete dependency. Consider depending on abstractions.`, { severity: 'high', rule: 'solid/dependency-inversion', symbol: cls.name }));
|
|
420
420
|
}
|
|
421
421
|
}
|
|
422
422
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniversalSOLIDAnalyzer.js","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalSOLIDAnalyzer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UniversalSOLIDAnalyzer.js","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalSOLIDAnalyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* R2.3: Template expressions resolve to wildcards for known-table matching.
|
|
7
7
|
* R2.4: Unknown-table findings include SQL kind, line, and Levenshtein suggestions.
|
|
8
8
|
* R2.5: Legacy scan-all-strings path DELETED.
|
|
9
|
-
* R7: schema/unknown-table severity is "
|
|
9
|
+
* R7: schema/unknown-table severity is "critical".
|
|
10
10
|
*/
|
|
11
11
|
import { UniversalAnalyzer } from '../../languages/UniversalAnalyzer.js';
|
|
12
12
|
import type { Violation, AnalyzerResult, SchemaUsage } from '../../types.js';
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* R2.3: Template expressions resolve to wildcards for known-table matching.
|
|
7
7
|
* R2.4: Unknown-table findings include SQL kind, line, and Levenshtein suggestions.
|
|
8
8
|
* R2.5: Legacy scan-all-strings path DELETED.
|
|
9
|
-
* R7: schema/unknown-table severity is "
|
|
9
|
+
* R7: schema/unknown-table severity is "critical".
|
|
10
10
|
*/
|
|
11
11
|
import { readFileSync } from 'node:fs';
|
|
12
12
|
import { UniversalAnalyzer } from '../../languages/UniversalAnalyzer.js';
|
|
@@ -74,7 +74,7 @@ export class UniversalSchemaAnalyzer extends UniversalAnalyzer {
|
|
|
74
74
|
const schemas = finalConfig.schemas || [];
|
|
75
75
|
const allTables = collectAllTableNames(schemas);
|
|
76
76
|
if (finalConfig.requiredSchemas && finalConfig.requiredSchemas.length > 0 && schemas.length === 0) {
|
|
77
|
-
violations.push(this.createViolation(ast.filePath, { line: 1, column: 1 }, 'No database schemas loaded for analysis', { severity: '
|
|
77
|
+
violations.push(this.createViolation(ast.filePath, { line: 1, column: 1 }, 'No database schemas loaded for analysis', { severity: 'severe', rule: 'missing-schemas', symbol: 'top-level:missing-schemas' }));
|
|
78
78
|
return violations;
|
|
79
79
|
}
|
|
80
80
|
// R2.1 — AST-based table reference extraction (replaces legacy regex scan-all-strings)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniversalSchemaAnalyzer.js","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalSchemaAnalyzer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"UniversalSchemaAnalyzer.js","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalSchemaAnalyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ interface StyleDeclRow {
|
|
|
30
30
|
* than a 6-arg one (Spec 34 param-count bundling).
|
|
31
31
|
*/
|
|
32
32
|
interface StyleViolationClassification {
|
|
33
|
-
severity: 'critical' | '
|
|
33
|
+
severity: 'critical' | 'severe' | 'high';
|
|
34
34
|
rule: string;
|
|
35
35
|
symbol?: string;
|
|
36
36
|
/** Spec 37 R1 — structured next action carried on gating findings. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniversalStylesAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalStylesAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,KAAK,EAAE,cAAc,EAAe,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACzF,OAAO,KAAK,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAUrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAQ3D,eAAO,MAAM,qBAAqB,EAAE,oBAcnC,CAAC;AA4DF,UAAU,YAAY;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAgDD;;;;GAIG;AACH,UAAU,4BAA4B;IACpC,QAAQ,EAAE,UAAU,GAAG,
|
|
1
|
+
{"version":3,"file":"UniversalStylesAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalStylesAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,KAAK,EAAE,cAAc,EAAe,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACzF,OAAO,KAAK,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAUrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAQ3D,eAAO,MAAM,qBAAqB,EAAE,oBAcnC,CAAC;AA4DF,UAAU,YAAY;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAgDD;;;;GAIG;AACH,UAAU,4BAA4B;IACpC,QAAQ,EAAE,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAwBD;;;GAGG;AACH,uBAAe,2BAA4B,SAAQ,iBAAiB;IAClE,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,SAEmE;IACvF,QAAQ,CAAC,QAAQ,WAAW;IAE5B,SAAS,CAAC,aAAa,CACrB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,4BAA4B,GAC3C,SAAS,CAiBX;IAED,qDAAqD;IACrD,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAgDtE;IAED,sDAAsD;IACtD,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAKjF;IAED;;;;OAIG;IACH,SAAS,CAAC,eAAe,CACvB,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC,EACnE,SAAS,EAAE,MAAM,GAChB,KAAK,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC,CAAC,CAoBrE;IAED,2EAA2E;IAC3E,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAwBpD;CACF;AAOD,uBAAe,gCAAiC,SAAQ,2BAA2B;IAKjF;;;;;;;OAOG;IACH,SAAS,CAAC,gBAAgB,CACxB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EACvC,GAAG,EAAE,oBAAoB,EACzB,QAAQ,EAAE,YAAY,EAAE,GACvB,SAAS,EAAE,CAwBb;IAED;;;;OAIG;IACH,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,OAAO,CAe9D;IAED,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CASnD;IAED;;OAEG;IACH,SAAS,CAAC,gBAAgB,CACxB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,YAAY,EAAE,EACrB,GAAG,EAAE,oBAAoB,GACxB,SAAS,EAAE,CAsBb;IAED;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAC7B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,YAAY,EAAE,EACrB,GAAG,EAAE,oBAAoB,GACxB,SAAS,EAAE,CA6Cb;IAMD;;;OAGG;IACH,SAAS,CAAC,oBAAoB,CAC5B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EACvC,GAAG,EAAE,oBAAoB,GACxB,SAAS,EAAE,CAsCb;CACF;AAu2BD;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,gCAAgC;IAC3E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiE;IAE3F;;;;;;;OAOG;IACG,OAAO,CACX,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,GAAE,GAAQ,EAChB,OAAO,GAAE,GAAQ,GAChB,OAAO,CAAC,cAAc,CAAC,CAmCzB;IAED,2EAA2E;YAC7D,eAAe;IAkB7B,8DAA8D;YAChD,YAAY;IAa1B,iDAAiD;IACjD,UAAgB,UAAU,CACxB,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,GAAG,EACZ,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,SAAS,EAAE,CAAC,CAEtB;IAMD,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,eAAe;CAOxB"}
|
|
@@ -380,7 +380,7 @@ class UniversalStylesAnalyzerDetectors extends UniversalStylesAnalyzerBase {
|
|
|
380
380
|
violations.push(this.makeViolation(sample.file_path, sample.line, `Value drift in "${property}": "${sample.raw_value}" is rare ` +
|
|
381
381
|
`(${list.length} of ${total} usages, ${(share * 100).toFixed(1)}%). ` +
|
|
382
382
|
`The dominant value "${modeList[0].raw_value}" is used ${modeList.length} times. ` +
|
|
383
|
-
`Consider using a consistent value or design token.`, { severity: '
|
|
383
|
+
`Consider using a consistent value or design token.`, { severity: 'high', rule: 'styles/value-drift', symbol: declValueKey(sample) }));
|
|
384
384
|
}
|
|
385
385
|
}
|
|
386
386
|
return violations;
|
|
@@ -417,7 +417,7 @@ class UniversalStylesAnalyzerDetectors extends UniversalStylesAnalyzerBase {
|
|
|
417
417
|
const [lower, upper] = nearestScaleValues(px, scale.values);
|
|
418
418
|
violations.push(this.makeViolation(decl.file_path, decl.line, `Off-scale "${property}" value: "${decl.raw_value}" (${px}px) ` +
|
|
419
419
|
`is not on the Tailwind ${scale.label}. ` +
|
|
420
|
-
`Nearest scale values: ${lower}px or ${upper}px.`, { severity: '
|
|
420
|
+
`Nearest scale values: ${lower}px or ${upper}px.`, { severity: 'high', rule: 'styles/off-scale', symbol: declValueKey(decl) }));
|
|
421
421
|
}
|
|
422
422
|
}
|
|
423
423
|
}
|
|
@@ -501,7 +501,7 @@ function flagColorDriftStragglers(clusters, property, cfg, report) {
|
|
|
501
501
|
violations.push(report(item.decl.file_path, item.decl.line, `Color drift in "${property}": "${item.decl.raw_value}" is a rare value ` +
|
|
502
502
|
`(used ${cluster.length} time${cluster.length === 1 ? '' : 's'}, ` +
|
|
503
503
|
`${(share * 100).toFixed(1)}% of ${total} usages). ` +
|
|
504
|
-
`Dominant cluster has ${dominantSize} values. Consider using a design token.`, { severity: '
|
|
504
|
+
`Dominant cluster has ${dominantSize} values. Consider using a design token.`, { severity: 'high', rule: 'styles/value-drift', symbol: declValueKey(item.decl) }));
|
|
505
505
|
}
|
|
506
506
|
}
|
|
507
507
|
return violations;
|
|
@@ -642,7 +642,7 @@ async function initTailwindProbe(expander, cfg, report) {
|
|
|
642
642
|
return [report(anchor, 1, `Tailwind probe unavailable (${expander.configFailureReason ?? 'unknown error'}) — ` +
|
|
643
643
|
`undefined-class detection skipped. Classes defined only in Tailwind ` +
|
|
644
644
|
`config will not be checked. Install tailwindcss in the project ` +
|
|
645
|
-
`for full class validation.`, { severity: '
|
|
645
|
+
`for full class validation.`, { severity: 'high', rule: 'styles/undefined-class-disabled' })];
|
|
646
646
|
}
|
|
647
647
|
return null;
|
|
648
648
|
}
|
|
@@ -656,7 +656,7 @@ function flagUnresolvedClasses(usageEntries, expander, report, suggest) {
|
|
|
656
656
|
const nearest = suggest(u.class_name);
|
|
657
657
|
violations.push(report(u.file_path, u.line, `Undefined CSS class: "${u.class_name}" has no matching definition ` +
|
|
658
658
|
`in any stylesheet, Tailwind utility set, or project config.`, {
|
|
659
|
-
severity: '
|
|
659
|
+
severity: 'high',
|
|
660
660
|
rule: 'styles/undefined-class',
|
|
661
661
|
symbol: u.class_name,
|
|
662
662
|
resolution: {
|
|
@@ -736,7 +736,7 @@ function flagPropertyValueFragmentation(declarations, minMechanisms, report) {
|
|
|
736
736
|
const prop = sample.property;
|
|
737
737
|
violations.push(report(sample.file_path, sample.line, `Mechanism fragmentation: "${prop}: ${sample.raw_value}" is applied via ` +
|
|
738
738
|
`${mechs.size} different mechanisms (${[...mechs].sort().join(', ')}). ` +
|
|
739
|
-
`Consolidate to a single mechanism or design token.`, { severity: '
|
|
739
|
+
`Consolidate to a single mechanism or design token.`, { severity: 'high', rule: 'styles/mechanism-fragmentation', symbol: declValueKey(sample) }));
|
|
740
740
|
}
|
|
741
741
|
return violations;
|
|
742
742
|
}
|
|
@@ -753,7 +753,7 @@ function flagFileMechanismMixing(declarations, minMechanisms, report) {
|
|
|
753
753
|
continue;
|
|
754
754
|
violations.push(report(file, 1, `Mechanism mixing: ${file} uses ${mechs.size} different style ` +
|
|
755
755
|
`mechanisms (${[...mechs].sort().join(', ')}). ` +
|
|
756
|
-
`Consolidate to fewer mechanisms for maintainability.`, { severity: '
|
|
756
|
+
`Consolidate to fewer mechanisms for maintainability.`, { severity: 'high', rule: 'styles/mechanism-mixing' }));
|
|
757
757
|
}
|
|
758
758
|
return violations;
|
|
759
759
|
}
|
|
@@ -878,7 +878,7 @@ function verifyCandidates(ordered, candidates, threshold, report) {
|
|
|
878
878
|
violations.push(report(a.filePath, a.line, `Declaration-set similarity: "${a.context}" and "${b.context}" ` +
|
|
879
879
|
`in ${b.filePath} share ${intersection.size} of ${union.size} ` +
|
|
880
880
|
`declarations (${(similarity * 100).toFixed(0)}%). ` +
|
|
881
|
-
`Consider consolidating these rules or extracting a shared mixin.`, { severity: '
|
|
881
|
+
`Consider consolidating these rules or extracting a shared mixin.`, { severity: 'high', rule: 'styles/declaration-set-similarity', symbol: `${a.context} & ${b.context}` }));
|
|
882
882
|
}
|
|
883
883
|
}
|
|
884
884
|
return violations;
|
|
@@ -912,17 +912,6 @@ function groupDeclarationsByProperty(declarations) {
|
|
|
912
912
|
}
|
|
913
913
|
return byProperty;
|
|
914
914
|
}
|
|
915
|
-
function applySeverityOverrides(violations, config) {
|
|
916
|
-
const severityOverrides = config.severityOverrides ?? {};
|
|
917
|
-
if (Object.keys(severityOverrides).length === 0)
|
|
918
|
-
return;
|
|
919
|
-
for (const v of violations) {
|
|
920
|
-
const override = severityOverrides[v.rule];
|
|
921
|
-
if (override) {
|
|
922
|
-
v.severity = override;
|
|
923
|
-
}
|
|
924
|
-
}
|
|
925
|
-
}
|
|
926
915
|
function buildStylesResult(spec) {
|
|
927
916
|
return {
|
|
928
917
|
violations: spec.violations,
|
|
@@ -1008,7 +997,7 @@ class StylesStructureDetectors {
|
|
|
1008
997
|
continue;
|
|
1009
998
|
violations.push(this.makeViolation(d.file_path, d.line, `Token bypass: "${d.raw_value}" for "${d.property}" matches design ` +
|
|
1010
999
|
`token "${tokenInfo.name}" but was used as a raw value. ` +
|
|
1011
|
-
`Use the token reference instead to keep styles consistent.`, { severity: '
|
|
1000
|
+
`Use the token reference instead to keep styles consistent.`, { severity: 'high', rule: 'styles/token-bypass', symbol: declValueKey(d) }));
|
|
1012
1001
|
}
|
|
1013
1002
|
return violations;
|
|
1014
1003
|
}
|
|
@@ -1070,14 +1059,14 @@ class StylesStructureDetectors {
|
|
|
1070
1059
|
const sample = values.get(sortedVals[0])[0];
|
|
1071
1060
|
violations.push(this.makeViolation(sample.file_path, sample.line, `Z-index sprawl: ${values.size} distinct z-index values ` +
|
|
1072
1061
|
`(${sortedVals.join(', ')}). Consider defining a z-index scale ` +
|
|
1073
|
-
`(e.g., $z-layers: (dropdown: 100, modal: 200, toast: 300)).`, { severity: '
|
|
1062
|
+
`(e.g., $z-layers: (dropdown: 100, modal: 200, toast: 300)).`, { severity: 'high', rule: 'styles/z-index-sprawl', symbol: declValueKey(sample) }));
|
|
1074
1063
|
}
|
|
1075
1064
|
// Flag singletons (z-index values used only once)
|
|
1076
1065
|
for (const [val, list] of values) {
|
|
1077
1066
|
if (list.length === 1 && values.size > 2) {
|
|
1078
1067
|
const d = list[0];
|
|
1079
1068
|
violations.push(this.makeViolation(d.file_path, d.line, `Singleton z-index: z-index: ${val} is used only once. ` +
|
|
1080
|
-
`Consider whether this value belongs in a shared z-index scale.`, { severity: '
|
|
1069
|
+
`Consider whether this value belongs in a shared z-index scale.`, { severity: 'high', rule: 'styles/z-index-singleton', symbol: declValueKey(d) }));
|
|
1081
1070
|
}
|
|
1082
1071
|
}
|
|
1083
1072
|
return violations;
|
|
@@ -1132,9 +1121,8 @@ export class UniversalStylesAnalyzer extends UniversalStylesAnalyzerDetectors {
|
|
|
1132
1121
|
});
|
|
1133
1122
|
}
|
|
1134
1123
|
const violations = await this.runAllDetectors(indexHandle, cfg, declarations);
|
|
1135
|
-
applySeverityOverrides(violations, config);
|
|
1136
1124
|
return buildStylesResult({
|
|
1137
|
-
violations
|
|
1125
|
+
violations,
|
|
1138
1126
|
fileCount: new Set(declarations.map(d => d.file_path)).size,
|
|
1139
1127
|
startTime,
|
|
1140
1128
|
name: this.name,
|