code-auditor-mcp 3.4.14 → 3.4.16
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 +83 -0
- package/dist/analyzers/applicability.d.ts +41 -0
- package/dist/analyzers/applicability.d.ts.map +1 -0
- package/dist/analyzers/applicability.js +96 -0
- package/dist/analyzers/applicability.js.map +1 -0
- package/dist/analyzers/ruleRegistry.js +1 -1
- package/dist/analyzers/ruleRegistry.js.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +2 -2
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +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.map +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js +20 -9
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/schema/migrations.d.ts +11 -0
- package/dist/analyzers/universal/schema/migrations.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/migrations.js +127 -4
- package/dist/analyzers/universal/schema/migrations.js.map +1 -1
- package/dist/auditRunner.d.ts.map +1 -1
- package/dist/auditRunner.js +62 -23
- package/dist/auditRunner.js.map +1 -1
- package/dist/cli.js +406 -1
- package/dist/cli.js.map +1 -1
- package/dist/codeIndexDB.d.ts +40 -1
- package/dist/codeIndexDB.d.ts.map +1 -1
- package/dist/codeIndexDB.js +222 -50
- package/dist/codeIndexDB.js.map +1 -1
- package/dist/config/defaults.js +1 -1
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/pathProfiles.d.ts +7 -0
- package/dist/config/pathProfiles.d.ts.map +1 -1
- package/dist/config/pathProfiles.js +7 -1
- package/dist/config/pathProfiles.js.map +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
- package/dist/ledger.d.ts +163 -2
- package/dist/ledger.d.ts.map +1 -1
- package/dist/ledger.js +528 -7
- package/dist/ledger.js.map +1 -1
- package/dist/mcp.js +3 -3
- package/dist/mcp.js.map +1 -1
- package/dist/mcpAuditJobs.d.ts +24 -2
- package/dist/mcpAuditJobs.d.ts.map +1 -1
- package/dist/mcpAuditJobs.js +364 -58
- package/dist/mcpAuditJobs.js.map +1 -1
- package/dist/pipeline.d.ts +9 -2
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +165 -18
- package/dist/pipeline.js.map +1 -1
- package/dist/pipelineAdapters.d.ts.map +1 -1
- package/dist/pipelineAdapters.js +45 -10
- package/dist/pipelineAdapters.js.map +1 -1
- package/dist/scripts/benchmarkWorkers.js +1 -1
- package/dist/scripts/benchmarkWorkers.js.map +1 -1
- package/dist/services/auditJobService.d.ts +22 -5
- package/dist/services/auditJobService.d.ts.map +1 -1
- package/dist/services/auditJobService.js +67 -26
- package/dist/services/auditJobService.js.map +1 -1
- package/dist/services/fileAccounting.d.ts +83 -0
- package/dist/services/fileAccounting.d.ts.map +1 -0
- package/dist/services/fileAccounting.js +215 -0
- package/dist/services/fileAccounting.js.map +1 -0
- package/dist/styles/styleExtractor.d.ts +2 -2
- package/dist/styles/styleExtractor.d.ts.map +1 -1
- package/dist/styles/styleExtractor.js +83 -11
- package/dist/styles/styleExtractor.js.map +1 -1
- package/dist/styles/styleIndexer.d.ts +8 -0
- package/dist/styles/styleIndexer.d.ts.map +1 -1
- package/dist/styles/styleIndexer.js +103 -15
- package/dist/styles/styleIndexer.js.map +1 -1
- package/dist/styles/tailwindUtilityExpander.d.ts +3 -0
- package/dist/styles/tailwindUtilityExpander.d.ts.map +1 -1
- package/dist/styles/tailwindUtilityExpander.js +35 -1
- package/dist/styles/tailwindUtilityExpander.js.map +1 -1
- package/dist/styles/types.d.ts +11 -0
- package/dist/styles/types.d.ts.map +1 -1
- package/dist/types.d.ts +133 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/fileDiscovery.d.ts +98 -0
- package/dist/utils/fileDiscovery.d.ts.map +1 -1
- package/dist/utils/fileDiscovery.js +246 -29
- package/dist/utils/fileDiscovery.js.map +1 -1
- package/dist/workers/auditJobRunner.d.ts +2 -0
- package/dist/workers/auditJobRunner.d.ts.map +1 -0
- package/dist/workers/auditJobRunner.js +37 -0
- package/dist/workers/auditJobRunner.js.map +1 -0
- package/dist/workers/auditWorker.js +26 -0
- package/dist/workers/auditWorker.js.map +1 -1
- package/package.json +2 -2
- package/plugin/.claude-plugin/plugin.json +1 -1
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"name": "code-auditor",
|
|
11
11
|
"source": "./plugin",
|
|
12
12
|
"description": "Diff-scoped code quality auditing on every edit. Indexes your codebase, enforces invariants, and feeds violations back to the agent so fixes happen inline.",
|
|
13
|
-
"version": "3.4.
|
|
13
|
+
"version": "3.4.16",
|
|
14
14
|
"author": {
|
|
15
15
|
"name": "Ben Hammond"
|
|
16
16
|
},
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,89 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to the Code Auditor MCP project.
|
|
4
4
|
|
|
5
|
+
## [3.4.16] — 2026-08-19
|
|
6
|
+
|
|
7
|
+
### Close the 3.4.15 findings (Spec 45)
|
|
8
|
+
- Directory exclusions are now root-anchored: `docs` / `specs` / `backup` /
|
|
9
|
+
`backups` / `build` at the project root are pruned, but the same names nested
|
|
10
|
+
under source (`src/pages/docs/...`) are analyzed. Toolchain dirs
|
|
11
|
+
(`node_modules`, `.git`, `.next`, `dist`, `out`, `coverage`, `.turbo`,
|
|
12
|
+
`.cache`, `.vscode`, `.idea`, `.code-index`, `tmp`, `temp`) still prune at any
|
|
13
|
+
depth.
|
|
14
|
+
- `styles/mechanism-fragmentation` and sibling style rules now report the raw CSS
|
|
15
|
+
value in messages instead of the JSON `normalized_value` bucket key (fixes the
|
|
16
|
+
`{"type":"literal","value":"center"}` leak).
|
|
17
|
+
- `infraPruned` accounting now reports directory counts (`node_modules (2
|
|
18
|
+
directories)`) rather than implying file counts.
|
|
19
|
+
|
|
20
|
+
## [3.4.15] — 2026-08-19
|
|
21
|
+
|
|
22
|
+
### Detached runs & a queryable findings store (Spec 41)
|
|
23
|
+
- The findings ledger is now the single queryable findings store. `audit --detach`
|
|
24
|
+
forks a detached run with per-run stderr captured to a log; new `status`,
|
|
25
|
+
`result`, and `jobs` CLI commands read persisted run state and findings.
|
|
26
|
+
- Ledger runs gain lifecycle/provenance columns (`status`, `started_at`,
|
|
27
|
+
`heartbeat_at`, `finished_at`, `error`, `progress_json`, content-hash
|
|
28
|
+
manifest) and a `findings_ledger_coverage` table; coverage rows (fired / clean /
|
|
29
|
+
notApplicable / unassessed per rule) are persisted for the first time.
|
|
30
|
+
- `auditJobService` is DB-backed (no in-memory `Map`); `runAuditJob` is shared by
|
|
31
|
+
the MCP server and the CLI. Concurrency is a heartbeat lease (stale `running`
|
|
32
|
+
rows are reclaimed as `failed`, never wedging the queue); retention is opt-in
|
|
33
|
+
`jobs --prune` only.
|
|
34
|
+
|
|
35
|
+
### Stylesheet-dialect support (Spec 42)
|
|
36
|
+
- Embedded `<style>` blocks in `.astro` / `.vue` / `.svelte` are now read and
|
|
37
|
+
parsed through the single shared rule-set parser (dispatching on `lang`/`type`),
|
|
38
|
+
so those component dialects no longer produce silent zero class-usage counts.
|
|
39
|
+
- Unread style sources (`.sass` / `.less` / `.styl`, and unsupported `<style lang>`)
|
|
40
|
+
are recorded to `style_unread_sources`; `styles/undefined-class` reports
|
|
41
|
+
`notApplicable` naming them instead of asserting a class it cannot see.
|
|
42
|
+
- `styles/missing-org-filter` derives applicability from the schema table catalog
|
|
43
|
+
(Tier 1 named tables / Tier 2 schema columns / Tier 3 DDL columns); no tenant
|
|
44
|
+
column → `notApplicable` without a config flag.
|
|
45
|
+
|
|
46
|
+
### Silent-drop backstop (Spec 42 R2)
|
|
47
|
+
- The style extractor's `default:` branch no longer drops an unhandled file
|
|
48
|
+
extension silently. A genuinely unknown dialect (`.mdx`, `.md`, …) is recorded
|
|
49
|
+
as an unread source so `undefined-class` surfaces the gap; known non-style
|
|
50
|
+
source (JSON/Go/SQL/TOML/Prisma) and `.css`/`.scss` (owned by the AST pipeline)
|
|
51
|
+
stay silent via the shared `KNOWN_SOURCE_EXTENSIONS` set.
|
|
52
|
+
- The last hand-maintained extension lists (markup dispatch + class-usage gate)
|
|
53
|
+
now derive from the `STYLE_MARKUP_EXTENSIONS` discovery constant, so adding a
|
|
54
|
+
dialect to the discovery set flows everywhere at once.
|
|
55
|
+
|
|
56
|
+
### Gate-budget & fallthrough surface (Spec 43)
|
|
57
|
+
- The gate speed budget is now warm-then-measure: a cold run warms the page cache
|
|
58
|
+
and index (reported, never asserted), and the warm run is the asserted figure —
|
|
59
|
+
the budget measures rule latency rather than one-time WASM/index cost.
|
|
60
|
+
- The scoped-DRY `changed` path reads only the narrow columns
|
|
61
|
+
`buildFullFunctionHashmap` needs (`getAllFunctionsForDry`), and `audit.health`
|
|
62
|
+
counts functions with a `COUNT(*)` query — skipping the wide JSON columns and
|
|
63
|
+
their per-row `JSON.parse`.
|
|
64
|
+
- Extensions present on disk but skipped by discovery (`.mdx`, `.md`, …) are now
|
|
65
|
+
surfaced in the CLI so an unlisted extension never vanishes silently, and
|
|
66
|
+
`styles/undefined-class`'s `notApplicable` reason names the per-source
|
|
67
|
+
dialect/extension rather than a bare path list.
|
|
68
|
+
|
|
69
|
+
### File accounting (Spec 44)
|
|
70
|
+
- Every file the walk touches now lands in exactly one terminal state —
|
|
71
|
+
`analyzed`, `partially analyzed`, or `dropped` (one of eight named reasons) —
|
|
72
|
+
and the accounting must balance (`analyzed + partiallyAnalyzed + dropped ===
|
|
73
|
+
touched`), asserted at end-of-run; a leak or double-classification fails the run.
|
|
74
|
+
- `partially analyzed` is keyed on *consumption*, not output: a file dropped at
|
|
75
|
+
stage 2 (`no adapter` / `no visitor matched`) that any later layer read (the
|
|
76
|
+
style indexer, or a stage-3 `readSource`) is reclassified, whether or not it
|
|
77
|
+
produced findings — so a clean file the indexer read is never reported as
|
|
78
|
+
"not analyzed".
|
|
79
|
+
- Infrastructure directories (`node_modules`, `.git`, …) are recorded as an
|
|
80
|
+
aggregate `infraPruned` line, never per-file; content directories (`docs`,
|
|
81
|
+
`specs`, …) are enumerated per-file as `dropped: directory pruned`.
|
|
82
|
+
- `.mjs` / `.cjs` / `.cts` / `.mts` are added to every site that hard-codes the
|
|
83
|
+
JS/TS extension set, so those files are now discovered, parsed, and analyzed.
|
|
84
|
+
- The CLI summary line (`N analyzed · M dropped (R reasons)`) replaces
|
|
85
|
+
`Files analyzed`, and `--explain-skipped` prints a bounded per-reason breakdown;
|
|
86
|
+
the full per-file lists live in the JSON report under `metadata.fileAccounting`.
|
|
87
|
+
|
|
5
88
|
## [3.4.14] — 2026-08-17
|
|
6
89
|
|
|
7
90
|
### SOLID rule-ID namespace normalization (task #5)
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Derived rule applicability (Spec 39).
|
|
3
|
+
*
|
|
4
|
+
* A rule's applicability is a predicate over its declared inputs, evaluated
|
|
5
|
+
* before the rule runs. A rule whose predicate is false reports `notApplicable`
|
|
6
|
+
* with a reason naming the absent input — not silence, and not zero findings.
|
|
7
|
+
*
|
|
8
|
+
* This module is intentionally free of analyzer imports: pipeline.ts imports it
|
|
9
|
+
* statically, and the analyzer classes pull in pipeline.js (via
|
|
10
|
+
* UniversalSchemaAnalyzer.js → makeVisitorStatus), so a static analyzer import
|
|
11
|
+
* here would create a pipeline↔analyzer cycle. The pipeline-side convention is
|
|
12
|
+
* to reach analyzers only through dynamic import() (see pipelineAdapters.ts).
|
|
13
|
+
*/
|
|
14
|
+
export interface RuleApplicability {
|
|
15
|
+
applicable: boolean;
|
|
16
|
+
reason?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* A stylesheet source the style indexer could not read (Spec 42 R2). When any
|
|
20
|
+
* exist, styles/undefined-class must not assert a class is undefined because it
|
|
21
|
+
* may be defined in one of these files.
|
|
22
|
+
*/
|
|
23
|
+
export interface UnreadStyleSourceInfo {
|
|
24
|
+
filePath: string;
|
|
25
|
+
reason: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Evaluate whether a rule is applicable to the current codebase, given inputs
|
|
29
|
+
* the pipeline has already computed.
|
|
30
|
+
*
|
|
31
|
+
* Returns null when the rule has no applicability predicate — the rule runs
|
|
32
|
+
* unconditionally and its reporting state remains governed by the Spec 33 item
|
|
33
|
+
* 14 input mapping.
|
|
34
|
+
*
|
|
35
|
+
* @param ruleId The registry rule id.
|
|
36
|
+
* @param dataAccessConfig The namespaced data-access config (may be undefined).
|
|
37
|
+
* @param ddlColumns Aggregated DDL-declared columns from the schema reducer.
|
|
38
|
+
* @param unreadStyleSources Stylesheets the indexer could not read (Spec 42 R2).
|
|
39
|
+
*/
|
|
40
|
+
export declare function evaluateRuleApplicability(ruleId: string, dataAccessConfig: Record<string, unknown> | undefined, ddlColumns: string[] | undefined, unreadStyleSources?: UnreadStyleSourceInfo[]): RuleApplicability | null;
|
|
41
|
+
//# sourceMappingURL=applicability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applicability.d.ts","sourceRoot":"","sources":["../../src/analyzers/applicability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAUD;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACrD,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,EAChC,kBAAkB,CAAC,EAAE,qBAAqB,EAAE,GAC3C,iBAAiB,GAAG,IAAI,CAQ1B"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Derived rule applicability (Spec 39).
|
|
3
|
+
*
|
|
4
|
+
* A rule's applicability is a predicate over its declared inputs, evaluated
|
|
5
|
+
* before the rule runs. A rule whose predicate is false reports `notApplicable`
|
|
6
|
+
* with a reason naming the absent input — not silence, and not zero findings.
|
|
7
|
+
*
|
|
8
|
+
* This module is intentionally free of analyzer imports: pipeline.ts imports it
|
|
9
|
+
* statically, and the analyzer classes pull in pipeline.js (via
|
|
10
|
+
* UniversalSchemaAnalyzer.js → makeVisitorStatus), so a static analyzer import
|
|
11
|
+
* here would create a pipeline↔analyzer cycle. The pipeline-side convention is
|
|
12
|
+
* to reach analyzers only through dynamic import() (see pipelineAdapters.ts).
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Default tenant-scoping column names. The single source of truth is
|
|
16
|
+
* DEFAULT_DATA_ACCESS_CONFIG.orgFilterColumns in UniversalDataAccessAnalyzer.js;
|
|
17
|
+
* this is a local copy because importing that module here would create the cycle
|
|
18
|
+
* described above. Keep in sync with that constant.
|
|
19
|
+
*/
|
|
20
|
+
const DEFAULT_ORG_FILTER_COLUMNS = ['org_id', 'tenant_id', 'organization_id', 'workspace_id'];
|
|
21
|
+
/**
|
|
22
|
+
* Evaluate whether a rule is applicable to the current codebase, given inputs
|
|
23
|
+
* the pipeline has already computed.
|
|
24
|
+
*
|
|
25
|
+
* Returns null when the rule has no applicability predicate — the rule runs
|
|
26
|
+
* unconditionally and its reporting state remains governed by the Spec 33 item
|
|
27
|
+
* 14 input mapping.
|
|
28
|
+
*
|
|
29
|
+
* @param ruleId The registry rule id.
|
|
30
|
+
* @param dataAccessConfig The namespaced data-access config (may be undefined).
|
|
31
|
+
* @param ddlColumns Aggregated DDL-declared columns from the schema reducer.
|
|
32
|
+
* @param unreadStyleSources Stylesheets the indexer could not read (Spec 42 R2).
|
|
33
|
+
*/
|
|
34
|
+
export function evaluateRuleApplicability(ruleId, dataAccessConfig, ddlColumns, unreadStyleSources) {
|
|
35
|
+
if (ruleId === 'styles/undefined-class') {
|
|
36
|
+
return evaluateUndefinedClassApplicability(unreadStyleSources);
|
|
37
|
+
}
|
|
38
|
+
if (ruleId === 'missing-org-filter') {
|
|
39
|
+
return evaluateMissingOrgFilterApplicability(dataAccessConfig, ddlColumns);
|
|
40
|
+
}
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Spec 42 R2 — whole-run scope: if any stylesheet went unread, a class this
|
|
45
|
+
* detector would otherwise flag undefined may in fact be defined there. Report
|
|
46
|
+
* notApplicable naming what was unread rather than assert undefined.
|
|
47
|
+
*/
|
|
48
|
+
function evaluateUndefinedClassApplicability(unreadStyleSources) {
|
|
49
|
+
if (unreadStyleSources && unreadStyleSources.length > 0) {
|
|
50
|
+
// Surface the per-source reason (which encodes the offending extension for
|
|
51
|
+
// the Spec 43 R5 fallthrough, or the unsupported dialect for Spec 42 R2)
|
|
52
|
+
// rather than only the file path, so a "loud" fallthrough stays loud end to
|
|
53
|
+
// end instead of being collapsed back to a bare path list.
|
|
54
|
+
const names = unreadStyleSources
|
|
55
|
+
.map((s) => (s.reason ? `${s.filePath} (${s.reason})` : s.filePath))
|
|
56
|
+
.join(', ');
|
|
57
|
+
return {
|
|
58
|
+
applicable: false,
|
|
59
|
+
reason: `stylesheets were not read: ${names}`,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Spec 39/42 R3 — `missing-org-filter` is applicable when the project declares a
|
|
66
|
+
* tenant-scoping column in one of three places: configured tenant tables by name,
|
|
67
|
+
* a configured schema table, or the DDL-derived table catalog.
|
|
68
|
+
*/
|
|
69
|
+
function evaluateMissingOrgFilterApplicability(dataAccessConfig, ddlColumns) {
|
|
70
|
+
// Tier 1 — user declared tenant-scoped tables by name (policy of record).
|
|
71
|
+
const orgFilterTables = dataAccessConfig?.orgFilterTables ?? [];
|
|
72
|
+
if (orgFilterTables.length > 0)
|
|
73
|
+
return { applicable: true };
|
|
74
|
+
const orgFilterColumns = dataAccessConfig?.orgFilterColumns ?? DEFAULT_ORG_FILTER_COLUMNS;
|
|
75
|
+
const schemas = dataAccessConfig?.schemas ?? [];
|
|
76
|
+
const tenantColumns = new Set(orgFilterColumns.map((c) => String(c).toLowerCase()));
|
|
77
|
+
// Tier 2 — a configured schema declares a table carrying a tenant-scoping column.
|
|
78
|
+
for (const schema of schemas) {
|
|
79
|
+
for (const table of schema.tables ?? []) {
|
|
80
|
+
for (const column of table.columns ?? []) {
|
|
81
|
+
if (tenantColumns.has(String(column.name).toLowerCase())) {
|
|
82
|
+
return { applicable: true };
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// Tier 3 — the table catalog (DDL-derived columns) carries a tenant-scoping column.
|
|
88
|
+
if (ddlColumns?.some((c) => tenantColumns.has(String(c).toLowerCase()))) {
|
|
89
|
+
return { applicable: true };
|
|
90
|
+
}
|
|
91
|
+
return {
|
|
92
|
+
applicable: false,
|
|
93
|
+
reason: 'no tenant-scoping column found in table catalog',
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=applicability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applicability.js","sourceRoot":"","sources":["../../src/analyzers/applicability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH;;;;;GAKG;AACH,MAAM,0BAA0B,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,CAAC,CAAC;AAY9F;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAAc,EACd,gBAAqD,EACrD,UAAgC,EAChC,kBAA4C;IAE5C,IAAI,MAAM,KAAK,wBAAwB,EAAE,CAAC;QACxC,OAAO,mCAAmC,CAAC,kBAAkB,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,MAAM,KAAK,oBAAoB,EAAE,CAAC;QACpC,OAAO,qCAAqC,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,mCAAmC,CAC1C,kBAA4C;IAE5C,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,2EAA2E;QAC3E,yEAAyE;QACzE,4EAA4E;QAC5E,2DAA2D;QAC3D,MAAM,KAAK,GAAG,kBAAkB;aAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;aACnE,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,8BAA8B,KAAK,EAAE;SAC9C,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,qCAAqC,CAC5C,gBAAqD,EACrD,UAAgC;IAEhC,0EAA0E;IAC1E,MAAM,eAAe,GAAc,gBAAgB,EAAE,eAAwC,IAAI,EAAE,CAAC;IACpG,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAE5D,MAAM,gBAAgB,GACnB,gBAAgB,EAAE,gBAAyC,IAAI,0BAA0B,CAAC;IAC7F,MAAM,OAAO,GACV,gBAAgB,EAAE,OAAe,IAAI,EAAE,CAAC;IAE3C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAEpF,kFAAkF;IAClF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YACxC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;gBACzC,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBACzD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,oFAAoF;IACpF,IAAI,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC;QACxE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO;QACL,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE,iDAAiD;KAC1D,CAAC;AACJ,CAAC"}
|
|
@@ -243,7 +243,7 @@ export const RULE_REGISTRY = {
|
|
|
243
243
|
'missing-org-filter': {
|
|
244
244
|
analyzer: 'data-access',
|
|
245
245
|
field: 'rule',
|
|
246
|
-
input: ['
|
|
246
|
+
input: ['schema'],
|
|
247
247
|
gating: false,
|
|
248
248
|
resolvable: false,
|
|
249
249
|
message: 'Query on {tables} is missing an organization/tenant filter.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ruleRegistry.js","sourceRoot":"","sources":["../../src/analyzers/ruleRegistry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ruleRegistry.js","sourceRoot":"","sources":["../../src/analyzers/ruleRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
import { UniversalAnalyzer } from '../../languages/UniversalAnalyzer.js';
|
|
12
12
|
import type { Violation, AnalyzerResult, SchemaUsage } from '../../types.js';
|
|
13
13
|
import type { AST, LanguageAdapter } from '../../languages/types.js';
|
|
14
|
-
import { parseMigrationOps, extractReExports, sqlFileHasDdl, extractMigrationOpsFromFile } from './schema/migrations.js';
|
|
14
|
+
import { parseMigrationOps, extractDdlColumnNames, extractReExports, sqlFileHasDdl, extractMigrationOpsFromFile } from './schema/migrations.js';
|
|
15
15
|
import { DB_RECEIVER_NAMES, DB_CALL_METHOD_NAMES, DB_BINDING_NAMES, DB_WRAPPER_NAMES, SQL_TAG_NAMES, DEFAULT_SCHEMA_CONFIG } from './schema/config.js';
|
|
16
16
|
import type { SchemaAnalyzerConfig, TableReference, TableSourceEntry, TableProvenance, TableCatalogEntry, RegistryExtractionContext, MigrationOp, ReExport } from './schema/types.js';
|
|
17
|
-
export { parseMigrationOps, extractReExports, sqlFileHasDdl, extractMigrationOpsFromFile, DB_RECEIVER_NAMES, DB_CALL_METHOD_NAMES, DB_BINDING_NAMES, DB_WRAPPER_NAMES, SQL_TAG_NAMES, DEFAULT_SCHEMA_CONFIG, };
|
|
17
|
+
export { parseMigrationOps, extractDdlColumnNames, extractReExports, sqlFileHasDdl, extractMigrationOpsFromFile, DB_RECEIVER_NAMES, DB_CALL_METHOD_NAMES, DB_BINDING_NAMES, DB_WRAPPER_NAMES, SQL_TAG_NAMES, DEFAULT_SCHEMA_CONFIG, };
|
|
18
18
|
export type { SchemaAnalyzerConfig, TableReference, TableSourceEntry, TableProvenance, TableCatalogEntry, RegistryExtractionContext, MigrationOp, ReExport, };
|
|
19
19
|
/**
|
|
20
20
|
* Universal schema analyzer.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniversalSchemaAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalSchemaAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,KAAK,EAAE,SAAS,EAA8B,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACzG,OAAO,KAAK,EAAE,GAAG,EAAE,eAAe,EAAW,MAAM,0BAA0B,CAAC;AAa9E,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,2BAA2B,EAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EACzB,WAAW,EACX,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAmB3B,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,2BAA2B,EAC3B,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,qBAAqB,GACtB,CAAC;AACF,YAAY,EACV,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EACzB,WAAW,EACX,QAAQ,GACT,CAAC;AAEF;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,iBAAiB;IAC5D,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,uEAAuE;IAC3F,QAAQ,CAAC,QAAQ,cAAc;IAI/B,OAAO,CAAC,qBAAqB,CAAmF;IAEhH;;;;;;;;OAQG;IACG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,CAoBnE;IAKD,UAAgB,UAAU,CACxB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,oBAAoB,EAC5B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,EAAE,CAAC,CAyCtB;IAED;;;;;;;;;;;;;;OAcG;IACI,gBAAgB,CACrB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,cAAc,EAAE,GAC3B,IAAI,CA0BN;IAED;;;OAGG;IACH,uBAAuB,IAAI;QAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,WAAW,EAAE,CAAA;KAAE,CAIzE;CAEF;AA6HD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"UniversalSchemaAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalSchemaAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,KAAK,EAAE,SAAS,EAA8B,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACzG,OAAO,KAAK,EAAE,GAAG,EAAE,eAAe,EAAW,MAAM,0BAA0B,CAAC;AAa9E,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,2BAA2B,EAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EACzB,WAAW,EACX,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAmB3B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,2BAA2B,EAC3B,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,qBAAqB,GACtB,CAAC;AACF,YAAY,EACV,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EACzB,WAAW,EACX,QAAQ,GACT,CAAC;AAEF;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,iBAAiB;IAC5D,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,uEAAuE;IAC3F,QAAQ,CAAC,QAAQ,cAAc;IAI/B,OAAO,CAAC,qBAAqB,CAAmF;IAEhH;;;;;;;;OAQG;IACG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,CAoBnE;IAKD,UAAgB,UAAU,CACxB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,oBAAoB,EAC5B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,EAAE,CAAC,CAyCtB;IAED;;;;;;;;;;;;;;OAcG;IACI,gBAAgB,CACrB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,cAAc,EAAE,GAC3B,IAAI,CA0BN;IAED;;;OAGG;IACH,uBAAuB,IAAI;QAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,WAAW,EAAE,CAAA;KAAE,CAIzE;CAEF;AA6HD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -18,11 +18,11 @@ import { makeVisitorStatus } from '../../pipeline.js';
|
|
|
18
18
|
// submodules. Imported here for the class + standalone JSON-schema functions,
|
|
19
19
|
// then re-exported to preserve this file's public surface (pipelineAdapters.ts
|
|
20
20
|
// and UniversalDataAccessAnalyzer.ts import from this module).
|
|
21
|
-
import { parseMigrationOps, extractReExports, sqlFileHasDdl, extractMigrationOpsFromFile, } from './schema/migrations.js';
|
|
21
|
+
import { parseMigrationOps, extractDdlColumnNames, extractReExports, sqlFileHasDdl, extractMigrationOpsFromFile, } from './schema/migrations.js';
|
|
22
22
|
import { DB_RECEIVER_NAMES, DB_CALL_METHOD_NAMES, DB_BINDING_NAMES, DB_WRAPPER_NAMES, SQL_TAG_NAMES, DEFAULT_SCHEMA_CONFIG, } from './schema/config.js';
|
|
23
23
|
import { findTableReferences, checkMissingReferences, checkNamingConventions, checkQueryPatterns, checkSQLInjection, findClosestNodeAt, findEnclosingFunctionName, } from './schema/codeAnalysis.js';
|
|
24
24
|
import { discoverTablesFromMigrations, discoverTablesFromWrangler, discoverTablesFromSchemaFiles, discoverTablesFromOrmSchemas, passesFileGate, } from './schema/discovery.js';
|
|
25
|
-
export { parseMigrationOps, extractReExports, sqlFileHasDdl, extractMigrationOpsFromFile, DB_RECEIVER_NAMES, DB_CALL_METHOD_NAMES, DB_BINDING_NAMES, DB_WRAPPER_NAMES, SQL_TAG_NAMES, DEFAULT_SCHEMA_CONFIG, };
|
|
25
|
+
export { parseMigrationOps, extractDdlColumnNames, extractReExports, sqlFileHasDdl, extractMigrationOpsFromFile, DB_RECEIVER_NAMES, DB_CALL_METHOD_NAMES, DB_BINDING_NAMES, DB_WRAPPER_NAMES, SQL_TAG_NAMES, DEFAULT_SCHEMA_CONFIG, };
|
|
26
26
|
/**
|
|
27
27
|
* Universal schema analyzer.
|
|
28
28
|
*/
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniversalStylesAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalStylesAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
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;AAwBF,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,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,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACtB;AA6BD;;;;GAIG;AACH,UAAU,4BAA4B;IACpC,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,YAAY,CAAC;IAChD,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;;;;OAIG;IACH,SAAS,CAAC,oBAAoB,CAC5B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EACvC,GAAG,EAAE,oBAAoB,GACxB,SAAS,EAAE,CAyCb;IAED;;;OAGG;IACH,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAsBxD;CACF;AA4rBD;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,gCAAgC;IAC3E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+D;IAEzF;;;;;;;OAOG;IACG,OAAO,CACX,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,GAAE,GAAQ,EAChB,OAAO,GAAE,GAAQ,GAChB,OAAO,CAAC,cAAc,CAAC,CA2CzB;IAED,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;IAUzB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,eAAe;CAOxB"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* this analyzer queries the cross-file style_declarations table so it can
|
|
10
10
|
* compute histograms, clusters, and distributions across the entire codebase.
|
|
11
11
|
*/
|
|
12
|
+
import { join } from 'node:path';
|
|
12
13
|
import { UniversalAnalyzer } from '../../languages/UniversalAnalyzer.js';
|
|
13
14
|
import { withRuleTiming } from '../ruleTiming.js';
|
|
14
15
|
import { makeVisitorStatus } from '../../pipeline.js';
|
|
@@ -302,16 +303,17 @@ class UniversalStylesAnalyzerDetectors extends UniversalStylesAnalyzerBase {
|
|
|
302
303
|
list.push(d);
|
|
303
304
|
histogram.set(key, list);
|
|
304
305
|
}
|
|
305
|
-
// Find the mode (most frequent value)
|
|
306
|
+
// Find the mode (most frequent value) — the message displays the raw
|
|
307
|
+
// spelling, never the JSON `normalized_value` bucket key (Spec 45 R2).
|
|
306
308
|
let modeKey = '';
|
|
307
|
-
let
|
|
309
|
+
let modeList = [];
|
|
308
310
|
for (const [key, list] of histogram) {
|
|
309
|
-
if (list.length >
|
|
310
|
-
modeCount = list.length;
|
|
311
|
+
if (list.length > modeList.length) {
|
|
311
312
|
modeKey = key;
|
|
313
|
+
modeList = list;
|
|
312
314
|
}
|
|
313
315
|
}
|
|
314
|
-
if (
|
|
316
|
+
if (modeList.length < cfg.modeMinCount)
|
|
315
317
|
return violations;
|
|
316
318
|
// Flag low-share values
|
|
317
319
|
const total = decls.length;
|
|
@@ -323,7 +325,7 @@ class UniversalStylesAnalyzerDetectors extends UniversalStylesAnalyzerBase {
|
|
|
323
325
|
const sample = list[0];
|
|
324
326
|
violations.push(this.makeViolation(sample.file_path, sample.line, `Value drift in "${property}": "${sample.raw_value}" is rare ` +
|
|
325
327
|
`(${list.length} of ${total} usages, ${(share * 100).toFixed(1)}%). ` +
|
|
326
|
-
`The dominant value "${
|
|
328
|
+
`The dominant value "${modeList[0].raw_value}" is used ${modeList.length} times. ` +
|
|
327
329
|
`Consider using a consistent value or design token.`, { severity: 'warning', rule: 'styles/value-drift', symbol: 'exact' }));
|
|
328
330
|
}
|
|
329
331
|
}
|
|
@@ -556,7 +558,14 @@ async function initTailwindProbe(expander, cfg, report) {
|
|
|
556
558
|
// Fail-open rule (Spec 22 R1.3): if the probe fails and Tailwind IS
|
|
557
559
|
// present, disable the undefined-class detector.
|
|
558
560
|
if (expander.configFailed && expander.hasTailwindConfig) {
|
|
559
|
-
|
|
561
|
+
// Anchor the notice to a real file+line (the Tailwind config, or the
|
|
562
|
+
// project root's package.json as a last resort) so the hook-contract
|
|
563
|
+
// guard does not strip it. A file-less violation would still register
|
|
564
|
+
// as `fired` in coverage while the finding itself is dropped — the
|
|
565
|
+
// coverage-vs-violations drift Spec 39 surfaced.
|
|
566
|
+
const anchor = expander.tailwindConfigPath
|
|
567
|
+
?? (cfg?.projectRoot ? join(cfg.projectRoot, 'package.json') : '');
|
|
568
|
+
return [report(anchor, 1, `Tailwind probe unavailable (${expander.configFailureReason ?? 'unknown error'}) — ` +
|
|
560
569
|
`undefined-class detection skipped. Classes defined only in Tailwind ` +
|
|
561
570
|
`config will not be checked. Install tailwindcss in the project ` +
|
|
562
571
|
`for full class validation.`, { severity: 'suggestion', rule: 'styles/undefined-class-disabled' })];
|
|
@@ -651,8 +660,10 @@ function flagPropertyValueFragmentation(declarations, minMechanisms, report) {
|
|
|
651
660
|
if (mechs.size < minMechanisms)
|
|
652
661
|
continue;
|
|
653
662
|
const sample = pvSample.get(key);
|
|
654
|
-
|
|
655
|
-
|
|
663
|
+
// The grouping key is `${property}::${normalized_value}` — a JSON object in
|
|
664
|
+
// production — so display the *resolved* raw spelling, not the key (Spec 45 R2).
|
|
665
|
+
const prop = sample.property;
|
|
666
|
+
violations.push(report(sample.file_path, sample.line, `Mechanism fragmentation: "${prop}: ${sample.raw_value}" is applied via ` +
|
|
656
667
|
`${mechs.size} different mechanisms (${[...mechs].sort().join(', ')}). ` +
|
|
657
668
|
`Consolidate to a single mechanism or design token.`, { severity: 'warning', rule: 'styles/mechanism-fragmentation' }));
|
|
658
669
|
}
|