code-auditor-mcp 3.6.0 → 3.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +31 -0
- package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -1
- package/dist/analyzers/cross-language/DependencyGraphBuilder.js +12 -1
- package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -1
- package/dist/analyzers/ruleRegistry.d.ts.map +1 -1
- package/dist/analyzers/ruleRegistry.js +133 -2
- package/dist/analyzers/ruleRegistry.js.map +1 -1
- package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts +29 -0
- package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js +376 -6
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +6 -0
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +41 -7
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js +13 -2
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts +20 -5
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +83 -14
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSecretsAnalyzer.d.ts +55 -0
- package/dist/analyzers/universal/UniversalSecretsAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/universal/UniversalSecretsAnalyzer.js +318 -0
- package/dist/analyzers/universal/UniversalSecretsAnalyzer.js.map +1 -0
- package/dist/analyzers/universal/functionConcerns.d.ts +52 -0
- package/dist/analyzers/universal/functionConcerns.d.ts.map +1 -0
- package/dist/analyzers/universal/functionConcerns.js +225 -0
- package/dist/analyzers/universal/functionConcerns.js.map +1 -0
- package/dist/analyzers/universal/schema/codeAnalysis.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/codeAnalysis.js +9 -3
- package/dist/analyzers/universal/schema/codeAnalysis.js.map +1 -1
- package/dist/auditRunner.d.ts.map +1 -1
- package/dist/auditRunner.js +73 -47
- package/dist/auditRunner.js.map +1 -1
- package/dist/cli.js +41 -27
- package/dist/cli.js.map +1 -1
- package/dist/config/defaults.d.ts +3 -0
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +15 -2
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/effectiveConfig.d.ts.map +1 -1
- package/dist/config/effectiveConfig.js +2 -0
- package/dist/config/effectiveConfig.js.map +1 -1
- package/dist/graph/importGraph.d.ts +11 -0
- package/dist/graph/importGraph.d.ts.map +1 -1
- package/dist/graph/importGraph.js +11 -3
- package/dist/graph/importGraph.js.map +1 -1
- package/dist/installer.d.ts.map +1 -1
- package/dist/installer.js +2 -5
- package/dist/installer.js.map +1 -1
- package/dist/mcp.js +1 -1
- package/dist/mcp.js.map +1 -1
- package/dist/pipelineAdapters.d.ts +1 -0
- package/dist/pipelineAdapters.d.ts.map +1 -1
- package/dist/pipelineAdapters.js +227 -4
- package/dist/pipelineAdapters.js.map +1 -1
- package/dist/styles/tailwindProbe.d.ts +8 -0
- package/dist/styles/tailwindProbe.d.ts.map +1 -1
- package/dist/styles/tailwindProbe.js +11 -1
- package/dist/styles/tailwindProbe.js.map +1 -1
- package/dist/types/crossLanguage.d.ts +1 -0
- package/dist/types/crossLanguage.d.ts.map +1 -1
- package/dist/types.d.ts +7 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +3 -2
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/skills/code-auditor/SKILL-RULE-KINDS.md +4 -2
- package/plugin/skills/code-auditor/SKILL.md +19 -11
|
@@ -17,7 +17,21 @@ export const DEFAULT_DRY_CONFIG = {
|
|
|
17
17
|
// R3.2: floor raised from 5 → 15
|
|
18
18
|
minLineThreshold: 15,
|
|
19
19
|
similarityThreshold: 0.85,
|
|
20
|
-
|
|
20
|
+
// Test files and test directories are excluded by convention in any language:
|
|
21
|
+
// `.test.*`/`.spec.*` in TS/TSX/JS/JSX, plus `test/` and `tests/` directories.
|
|
22
|
+
// Expected-output fixtures and repeated setup are not production duplication,
|
|
23
|
+
// and a JS library (knex) names its tests `.js` under `test/`, which the
|
|
24
|
+
// earlier TS-only patterns missed (132 fixture-object findings). `__tests__/`
|
|
25
|
+
// is deliberately NOT excluded: this very repo keeps analyzable source
|
|
26
|
+
// fixtures under `__tests__/fixtures/`, and Jest's `__tests__` files are
|
|
27
|
+
// still `.test.*`/`.spec.*` named, so the filename patterns cover them.
|
|
28
|
+
excludePatterns: [
|
|
29
|
+
'**/*.test.ts', '**/*.spec.ts',
|
|
30
|
+
'**/*.test.tsx', '**/*.spec.tsx',
|
|
31
|
+
'**/*.test.js', '**/*.spec.js',
|
|
32
|
+
'**/*.test.jsx', '**/*.spec.jsx',
|
|
33
|
+
'**/test/**', '**/tests/**',
|
|
34
|
+
],
|
|
21
35
|
// R4.1: sub-rules disabled by default
|
|
22
36
|
checkImports: false,
|
|
23
37
|
checkStrings: false,
|
|
@@ -25,6 +39,15 @@ export const DEFAULT_DRY_CONFIG = {
|
|
|
25
39
|
ignoreWhitespace: true,
|
|
26
40
|
// R4.2: structural similarity off by default
|
|
27
41
|
checkStructuralSimilarity: false,
|
|
42
|
+
// #132: expression similarity ON by default. Fluent library/builder chains
|
|
43
|
+
// (query builders, schema builders, Zod validators, commander, promises, DOM
|
|
44
|
+
// and stdlib method chains) are filtered out of the signal — they are the
|
|
45
|
+
// library's API surface, not duplicated logic — and unrelated schema literals
|
|
46
|
+
// are excluded by requiring object literals to target the same identifier. So
|
|
47
|
+
// the rule fires on real duplication — `resultSummary` built twice — without
|
|
48
|
+
// flooding a default audit.
|
|
49
|
+
checkExpressionSimilarity: true,
|
|
50
|
+
minShapeNames: 4,
|
|
28
51
|
};
|
|
29
52
|
// ── R3.1: Span-overlap helpers ──────────────────────────────────────
|
|
30
53
|
/**
|
|
@@ -86,6 +109,248 @@ function deduplicateBlocks(blocks) {
|
|
|
86
109
|
}
|
|
87
110
|
return result;
|
|
88
111
|
}
|
|
112
|
+
/** True when `outer`'s span fully contains `inner`'s span in the same file. */
|
|
113
|
+
function shapeSpansContain(outer, inner) {
|
|
114
|
+
if (outer.file !== inner.file)
|
|
115
|
+
return false;
|
|
116
|
+
const startLte = outer.start.line < inner.start.line ||
|
|
117
|
+
(outer.start.line === inner.start.line && outer.start.column <= inner.start.column);
|
|
118
|
+
const endGte = outer.end.line > inner.end.line ||
|
|
119
|
+
(outer.end.line === inner.end.line && outer.end.column >= inner.end.column);
|
|
120
|
+
return startLte && endGte;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Drop nested fragments, keeping the outermost. A fluent chain visits its outer
|
|
124
|
+
* call first, then each suffix chain (`a().b()` vs `a().b().c()` share a start
|
|
125
|
+
* position but the outer span is longer); a nested object literal is fully
|
|
126
|
+
* contained in its parent. Sort puts the widest span first so the inner suffix
|
|
127
|
+
* is skipped as contained.
|
|
128
|
+
*/
|
|
129
|
+
function dedupeShapeFragments(fragments) {
|
|
130
|
+
const sorted = [...fragments].sort((a, b) => {
|
|
131
|
+
if (a.file !== b.file)
|
|
132
|
+
return a.file.localeCompare(b.file);
|
|
133
|
+
if (a.start.line !== b.start.line)
|
|
134
|
+
return a.start.line - b.start.line;
|
|
135
|
+
if (a.start.column !== b.start.column)
|
|
136
|
+
return a.start.column - b.start.column;
|
|
137
|
+
// Same start → outermost (largest end) first.
|
|
138
|
+
if (a.end.line !== b.end.line)
|
|
139
|
+
return b.end.line - a.end.line;
|
|
140
|
+
return b.end.column - a.end.column;
|
|
141
|
+
});
|
|
142
|
+
const kept = [];
|
|
143
|
+
for (const f of sorted) {
|
|
144
|
+
if (!kept.some((k) => shapeSpansContain(k, f)))
|
|
145
|
+
kept.push(f);
|
|
146
|
+
}
|
|
147
|
+
return kept;
|
|
148
|
+
}
|
|
149
|
+
/** Strip one layer of quotes from a string-literal object key. */
|
|
150
|
+
function bareKeyName(key, getText) {
|
|
151
|
+
let t = getText(key).trim();
|
|
152
|
+
if ((t.startsWith('"') && t.endsWith('"')) || (t.startsWith("'") && t.endsWith("'"))) {
|
|
153
|
+
t = t.slice(1, -1);
|
|
154
|
+
}
|
|
155
|
+
return t;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Field names of an object literal, in source order. Handles `{ a: 1 }`
|
|
159
|
+
* (`pair` → key child) and `{ a }` (`shorthand_property_identifier`).
|
|
160
|
+
*/
|
|
161
|
+
function objectFieldNames(node, getText) {
|
|
162
|
+
const names = [];
|
|
163
|
+
for (const child of node.children ?? []) {
|
|
164
|
+
if (child.type === 'pair') {
|
|
165
|
+
const key = child.children?.[0];
|
|
166
|
+
if (key) {
|
|
167
|
+
const name = bareKeyName(key, getText);
|
|
168
|
+
if (name)
|
|
169
|
+
names.push(name);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
else if (child.type === 'shorthand_property_identifier') {
|
|
173
|
+
const name = getText(child).trim();
|
|
174
|
+
if (name)
|
|
175
|
+
names.push(name);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
return names;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Method names of a fluent call chain (`db.update().set().where().returning()`),
|
|
182
|
+
* in call order. Walks `call_expression` → `member_expression` callee chain,
|
|
183
|
+
* collecting each `.method` name and recursing into the chain's receiver until
|
|
184
|
+
* a bare identifier is reached. Returns [] for a bare (non-member) call.
|
|
185
|
+
*/
|
|
186
|
+
function callChainMethodNames(node, getText) {
|
|
187
|
+
const names = [];
|
|
188
|
+
let current = node;
|
|
189
|
+
while (current && current.type === 'call_expression') {
|
|
190
|
+
const callee = current.children?.[0];
|
|
191
|
+
if (!callee)
|
|
192
|
+
break;
|
|
193
|
+
if (callee.type === 'member_expression') {
|
|
194
|
+
const prop = callee.children?.find((c) => c.type === 'property_identifier');
|
|
195
|
+
if (!prop)
|
|
196
|
+
break;
|
|
197
|
+
names.push(getText(prop).trim());
|
|
198
|
+
current = callee.children?.[0];
|
|
199
|
+
}
|
|
200
|
+
else if (callee.type === 'call_expression') {
|
|
201
|
+
current = callee; // curried/IIFE — skip the anonymous level, keep walking
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
break; // bare identifier callee — end of the chain
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
return names.reverse();
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Method names from well-known fluent APIs. A chain built from these verbs is
|
|
211
|
+
* "structurally similar by design" — it is the library's public surface, not
|
|
212
|
+
* duplicated domain logic — so the default-on rule stays quiet on it.
|
|
213
|
+
*
|
|
214
|
+
* The first version excluded only `select`/`selectDistinct` on the theory that
|
|
215
|
+
* read queries are idiomatic but mutation chains (`update().set().where()`)
|
|
216
|
+
* are the real signal. Corpus measurement disproved that theory: the chains
|
|
217
|
+
* that actually fire are Zod validators (`string().trim().min().max()`),
|
|
218
|
+
* query/schema builders (`insert().onConflict().ignore()`,
|
|
219
|
+
* `integer().unsigned().references()`), commander registrations
|
|
220
|
+
* (`command().option().action()`), promise flows (`then().then().catch()`),
|
|
221
|
+
* DOM/JQuery traversal (`closest().find().first().text()`), and stdlib
|
|
222
|
+
* array/string method chains — all library API, none duplicated logic. The
|
|
223
|
+
* object-literal half of the rule (a *specific* object built twice, keyed by
|
|
224
|
+
* target) is where the real signal lives and is unaffected by this exclusion.
|
|
225
|
+
*/
|
|
226
|
+
const FLUENT_CHAIN_METHODS = new Set([
|
|
227
|
+
// SQL query builders (knex, Kysely, Drizzle, …)
|
|
228
|
+
'select', 'selectDistinct', 'from', 'where', 'andWhere', 'orWhere', 'whereRaw',
|
|
229
|
+
'whereIn', 'whereNotIn', 'whereNull', 'whereNotNull', 'whereExists', 'whereBetween',
|
|
230
|
+
'orderBy', 'groupBy', 'having', 'join', 'innerJoin', 'leftJoin', 'rightJoin',
|
|
231
|
+
'crossJoin', 'fullOuterJoin', 'limit', 'offset', 'distinct', 'count', 'sum', 'avg',
|
|
232
|
+
'first', 'pluck', 'forUpdate', 'forShare', 'skipLocked', 'union', 'unionAll',
|
|
233
|
+
'insert', 'update', 'del', 'delete', 'into', 'returning', 'onConflict', 'ignore',
|
|
234
|
+
'merge', 'increment', 'decrement', 'transacting', 'using', 'updateFrom', 'testSql',
|
|
235
|
+
'toSQL', 'toQuery', 'raw', 'table', 'schemaBuilder', 'queryBuilder', 'partitionBy',
|
|
236
|
+
// Schema builders (knex `table.integer().unsigned().references()`)
|
|
237
|
+
'createTable', 'alterTable', 'dropTable', 'dropTableIfExists', 'renameTable',
|
|
238
|
+
'renameColumn', 'dropColumn', 'integer', 'bigInteger', 'text', 'boolean', 'float',
|
|
239
|
+
'double', 'decimal', 'date', 'dateTime', 'timestamp', 'timestamps', 'time',
|
|
240
|
+
'binary', 'json', 'jsonb', 'uuid', 'unsigned', 'references', 'inTable', 'defaultTo',
|
|
241
|
+
'index', 'unique', 'primary', 'comment', 'foreign', 'onDelete', 'onUpdate',
|
|
242
|
+
'deferrable', 'withKeyName', 'notNullable', 'collate', 'check',
|
|
243
|
+
// Zod / Valibot schema validators
|
|
244
|
+
'trim', 'min', 'max', 'length', 'int', 'positive', 'nonnegative', 'negative',
|
|
245
|
+
'regex', 'email', 'url', 'datetime', 'optional', 'nullish', 'nullable', 'default',
|
|
246
|
+
'describe', 'refine', 'superRefine', 'transform', 'safeParse', 'parse', 'array',
|
|
247
|
+
'object', 'enum', 'record', 'union', 'intersection', 'tuple', 'literal', 'number',
|
|
248
|
+
'string', 'nativeEnum', 'lazy', 'preprocess', 'brand',
|
|
249
|
+
// commander / CLI builders
|
|
250
|
+
'command', 'description', 'option', 'requiredOption', 'action', 'argument',
|
|
251
|
+
'version', 'usage', 'name', 'alias', 'allowUnknownOption', 'exitOverride',
|
|
252
|
+
// Promises
|
|
253
|
+
'then', 'catch', 'finally',
|
|
254
|
+
// DOM / jQuery traversal and JS stdlib array/string method chains
|
|
255
|
+
'closest', 'find', 'text', 'map', 'filter', 'reduce', 'forEach', 'slice', 'split',
|
|
256
|
+
'join', 'replace', 'replaceAll', 'toLowerCase', 'toUpperCase', 'flatMap', 'concat',
|
|
257
|
+
]);
|
|
258
|
+
/** True when the chain is a fluent library/builder API (not duplicated logic). */
|
|
259
|
+
function isFluentChain(names) {
|
|
260
|
+
return names.some((n) => FLUENT_CHAIN_METHODS.has(n));
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Extract shape fragments (object literals + fluent call chains) from the AST.
|
|
264
|
+
*
|
|
265
|
+
* Object literals are only collected as the *direct value* of a declaration
|
|
266
|
+
* (`const x = {...}`) or assignment (`info.resultSummary = {...}`), and carry
|
|
267
|
+
* that target. Two literals must target the same identifier to be compared —
|
|
268
|
+
* this keeps `pgTable('users', {...})` / `pgTable('orders', {...})` (different
|
|
269
|
+
* targets, shared `id`/`createdAt` column names) out of the "built twice" set.
|
|
270
|
+
*
|
|
271
|
+
* Chains are collected from every `call_expression`, excluding fluent
|
|
272
|
+
* library/builder APIs. Fragments are filtered to `minShapeNames` names and
|
|
273
|
+
* deduplicated to the outermost span.
|
|
274
|
+
*/
|
|
275
|
+
function extractShapeFragments(ctx, minShapeNames) {
|
|
276
|
+
const fragments = [];
|
|
277
|
+
const getText = (node) => ctx.adapter.getNodeText(node, ctx.sourceCode);
|
|
278
|
+
const collectObject = (node, target) => {
|
|
279
|
+
const names = objectFieldNames(node, getText);
|
|
280
|
+
if (names.length < minShapeNames)
|
|
281
|
+
return;
|
|
282
|
+
fragments.push({
|
|
283
|
+
file: ctx.ast.filePath,
|
|
284
|
+
start: node.location.start,
|
|
285
|
+
end: node.location.end,
|
|
286
|
+
kind: 'object',
|
|
287
|
+
target,
|
|
288
|
+
names,
|
|
289
|
+
text: getText(node),
|
|
290
|
+
});
|
|
291
|
+
};
|
|
292
|
+
walkAST(ctx.ast.root, (node) => {
|
|
293
|
+
if (node.type === 'variable_declarator') {
|
|
294
|
+
// `const name: T = value` — target is the declarator name, value the last child.
|
|
295
|
+
const name = node.children?.[0];
|
|
296
|
+
const value = node.children?.[node.children.length - 1];
|
|
297
|
+
if (name && value?.type === 'object')
|
|
298
|
+
collectObject(value, getText(name));
|
|
299
|
+
}
|
|
300
|
+
else if (node.type === 'assignment_expression') {
|
|
301
|
+
// `target = value` — target is the left-hand side, value the last child.
|
|
302
|
+
const left = node.children?.[0];
|
|
303
|
+
const value = node.children?.[node.children.length - 1];
|
|
304
|
+
if (left && value?.type === 'object')
|
|
305
|
+
collectObject(value, getText(left));
|
|
306
|
+
}
|
|
307
|
+
else if (node.type === 'call_expression') {
|
|
308
|
+
const names = callChainMethodNames(node, getText);
|
|
309
|
+
if (names.length < minShapeNames || isFluentChain(names))
|
|
310
|
+
return;
|
|
311
|
+
fragments.push({
|
|
312
|
+
file: ctx.ast.filePath,
|
|
313
|
+
start: node.location.start,
|
|
314
|
+
end: node.location.end,
|
|
315
|
+
kind: 'chain',
|
|
316
|
+
names,
|
|
317
|
+
text: getText(node),
|
|
318
|
+
});
|
|
319
|
+
}
|
|
320
|
+
});
|
|
321
|
+
return dedupeShapeFragments(fragments);
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* Longest common subsequence of two string arrays, returned as the actual
|
|
325
|
+
* shared sequence (so the violation message can name the shared fields/methods).
|
|
326
|
+
*/
|
|
327
|
+
function longestCommonSubsequence(a, b) {
|
|
328
|
+
const m = a.length;
|
|
329
|
+
const n = b.length;
|
|
330
|
+
const dp = Array.from({ length: m + 1 }, () => new Array(n + 1).fill(0));
|
|
331
|
+
for (let i = 1; i <= m; i++) {
|
|
332
|
+
for (let j = 1; j <= n; j++) {
|
|
333
|
+
dp[i][j] = a[i - 1] === b[j - 1] ? dp[i - 1][j - 1] + 1 : Math.max(dp[i - 1][j], dp[i][j - 1]);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
const seq = [];
|
|
337
|
+
let i = m;
|
|
338
|
+
let j = n;
|
|
339
|
+
while (i > 0 && j > 0) {
|
|
340
|
+
if (a[i - 1] === b[j - 1]) {
|
|
341
|
+
seq.push(a[i - 1]);
|
|
342
|
+
i--;
|
|
343
|
+
j--;
|
|
344
|
+
}
|
|
345
|
+
else if (dp[i - 1][j] >= dp[i][j - 1]) {
|
|
346
|
+
i--;
|
|
347
|
+
}
|
|
348
|
+
else {
|
|
349
|
+
j--;
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
return seq.reverse();
|
|
353
|
+
}
|
|
89
354
|
// ── R3.3: Structural similarity helpers ──────────────────────────────
|
|
90
355
|
/**
|
|
91
356
|
* Group blocks by a key field into a map of key→blocks[].
|
|
@@ -230,13 +495,48 @@ function findNodeByLocation(root, location) {
|
|
|
230
495
|
return null;
|
|
231
496
|
}
|
|
232
497
|
/**
|
|
233
|
-
*
|
|
498
|
+
* Translate a minimal glob (`*`, `**`, `?`) to an anchored regex. A globstar
|
|
499
|
+
* (`**`) matches any run of characters including the path separator, and a
|
|
500
|
+
* globstar followed by a slash becomes an optional segment prefix so it also
|
|
501
|
+
* matches zero path segments (e.g. `test/` at the root of a relative path).
|
|
502
|
+
* `*` and `?` match within a single segment.
|
|
234
503
|
*/
|
|
504
|
+
function globToRegExp(pattern) {
|
|
505
|
+
const out = ['^'];
|
|
506
|
+
for (let i = 0; i < pattern.length; i++) {
|
|
507
|
+
const ch = pattern[i];
|
|
508
|
+
if (ch === '*') {
|
|
509
|
+
if (pattern[i + 1] === '*') {
|
|
510
|
+
i += 1; // consume the second `*`
|
|
511
|
+
if (pattern[i + 1] === '/') {
|
|
512
|
+
i += 1; // fold a trailing `/` into the globstar
|
|
513
|
+
out.push('(?:.*/)?');
|
|
514
|
+
}
|
|
515
|
+
else {
|
|
516
|
+
out.push('.*');
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
else {
|
|
520
|
+
out.push('[^/]*');
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
else if (ch === '?') {
|
|
524
|
+
out.push('[^/]');
|
|
525
|
+
}
|
|
526
|
+
else if ('^$\\.+?()[]{}|'.includes(ch)) {
|
|
527
|
+
out.push('\\', ch);
|
|
528
|
+
}
|
|
529
|
+
else {
|
|
530
|
+
out.push(ch);
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
out.push('$');
|
|
534
|
+
return new RegExp(out.join(''));
|
|
535
|
+
}
|
|
536
|
+
/** Check whether a file path matches any of the given glob-ish exclude patterns. */
|
|
235
537
|
function isExcluded(filePath, patterns) {
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
return regex.test(filePath);
|
|
239
|
-
});
|
|
538
|
+
const normalized = filePath.replace(/\\/g, '/');
|
|
539
|
+
return patterns.some(pattern => globToRegExp(pattern).test(normalized));
|
|
240
540
|
}
|
|
241
541
|
/**
|
|
242
542
|
* Walk the AST depth-first, invoking the callback on every node.
|
|
@@ -355,6 +655,11 @@ export class UniversalDRYAnalyzer extends UniversalAnalyzer {
|
|
|
355
655
|
if (finalConfig.checkStructuralSimilarity) {
|
|
356
656
|
this.reportStructuralDuplicates(deduped, violations);
|
|
357
657
|
}
|
|
658
|
+
// #132: near-identical object literals and fluent call chains
|
|
659
|
+
if (finalConfig.checkExpressionSimilarity) {
|
|
660
|
+
const fragments = extractShapeFragments(ctx, finalConfig.minShapeNames || 4);
|
|
661
|
+
this.reportExpressionSimilarities(fragments, finalConfig, violations);
|
|
662
|
+
}
|
|
358
663
|
this.reportCrossFileDuplicates(blocks, finalConfig, violations);
|
|
359
664
|
// Check for duplicate string literals if enabled
|
|
360
665
|
if (finalConfig.checkStrings) {
|
|
@@ -438,6 +743,71 @@ export class UniversalDRYAnalyzer extends UniversalAnalyzer {
|
|
|
438
743
|
}
|
|
439
744
|
}
|
|
440
745
|
}
|
|
746
|
+
/**
|
|
747
|
+
* Report near-identical expression shapes (dry/similar-expression, suggestion).
|
|
748
|
+
*
|
|
749
|
+
* Two fragments are "near-identical" when their field/method-name sequence
|
|
750
|
+
* shares a common subsequence of at least `minShapeNames` names — the same
|
|
751
|
+
* `resultSummary` object built twice, the same `.update().set().where()`
|
|
752
|
+
* chain repeated across switch arms. Each later fragment is reported at most
|
|
753
|
+
* once, against the earliest fragment it resembles.
|
|
754
|
+
*/
|
|
755
|
+
reportExpressionSimilarities(fragments, config, violations) {
|
|
756
|
+
withRuleTiming('dry/similar-expression', () => {
|
|
757
|
+
const min = config.minShapeNames || 4;
|
|
758
|
+
const reported = new Set();
|
|
759
|
+
for (let j = 1; j < fragments.length; j++) {
|
|
760
|
+
if (reported.has(j))
|
|
761
|
+
continue;
|
|
762
|
+
for (let i = 0; i < j; i++) {
|
|
763
|
+
// Only compare like-with-like: a field list and a method chain are
|
|
764
|
+
// different shapes and should never be flagged as "near-identical".
|
|
765
|
+
if (fragments[i].kind !== fragments[j].kind)
|
|
766
|
+
continue;
|
|
767
|
+
// Object literals must target the same identifier (`info.resultSummary`
|
|
768
|
+
// built twice), not merely two unrelated literals that share column
|
|
769
|
+
// names. Chains have no target (undefined === undefined).
|
|
770
|
+
if (fragments[i].target !== fragments[j].target)
|
|
771
|
+
continue;
|
|
772
|
+
const shared = longestCommonSubsequence(fragments[i].names, fragments[j].names);
|
|
773
|
+
if (shared.length < min)
|
|
774
|
+
continue;
|
|
775
|
+
violations.push(this.buildSimilarityViolation(fragments[j], fragments[i], shared));
|
|
776
|
+
reported.add(j);
|
|
777
|
+
break;
|
|
778
|
+
}
|
|
779
|
+
}
|
|
780
|
+
});
|
|
781
|
+
}
|
|
782
|
+
/**
|
|
783
|
+
* Build the `dry/similar-expression` violation for `fragment` (the later
|
|
784
|
+
* fragment) resembling `first` (the earliest).
|
|
785
|
+
*/
|
|
786
|
+
buildSimilarityViolation(fragment, first, shared) {
|
|
787
|
+
const isObject = fragment.kind === 'object';
|
|
788
|
+
const label = isObject ? 'object literal' : 'call chain';
|
|
789
|
+
const unit = isObject ? 'fields' : 'methods';
|
|
790
|
+
const targetClause = isObject && fragment.target
|
|
791
|
+
? ` built for "${fragment.target}"`
|
|
792
|
+
: '';
|
|
793
|
+
const violation = this.createViolation(fragment.file, fragment.start, `Near-identical ${label}${targetClause} detected (${shared.length} shared ${unit}: ${shared.join(', ')}). ` +
|
|
794
|
+
`First occurrence at ${first.file}:${first.start.line}`, {
|
|
795
|
+
severity: 'suggestion',
|
|
796
|
+
rule: 'dry/similar-expression',
|
|
797
|
+
symbol: shared.join('.'),
|
|
798
|
+
resolution: {
|
|
799
|
+
action: 'extract-shared-expression',
|
|
800
|
+
summary: `Extract the shared ${isObject ? 'field list' : 'method chain'} (${shared.join(', ')}) into a shared helper, builder, or constant both sites use.`,
|
|
801
|
+
files: [fragment.file, first.file],
|
|
802
|
+
lines: [fragment.start.line, first.start.line],
|
|
803
|
+
},
|
|
804
|
+
});
|
|
805
|
+
violation.fix = {
|
|
806
|
+
oldText: fragment.text,
|
|
807
|
+
newText: `// Consider extracting the shared ${unit} into a shared helper`,
|
|
808
|
+
};
|
|
809
|
+
return violation;
|
|
810
|
+
}
|
|
441
811
|
/**
|
|
442
812
|
* Report blocks that duplicate a function body from the full codebase index.
|
|
443
813
|
* Only used in scoped (changed-file) audits.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniversalDRYAnalyzer.js","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalDRYAnalyzer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UniversalDRYAnalyzer.js","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalDRYAnalyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,6 +70,12 @@ export interface DataAccessAnalyzerConfig {
|
|
|
70
70
|
sanitizerNames?: string[];
|
|
71
71
|
}
|
|
72
72
|
export declare const DEFAULT_DATA_ACCESS_CONFIG: DataAccessAnalyzerConfig;
|
|
73
|
+
/**
|
|
74
|
+
* Extract the set of table names referenced in a SQL/ORM fragment, via the
|
|
75
|
+
* configured `tablePatterns` plus the `.from(...)` / `db.<table>.<method>()`
|
|
76
|
+
* ORM shapes. SQL keywords and aggregates captured in passing are filtered out.
|
|
77
|
+
*/
|
|
78
|
+
export declare function extractTables(text: string, config: DataAccessAnalyzerConfig): string[];
|
|
73
79
|
/**
|
|
74
80
|
* Universal data access analyzer.
|
|
75
81
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniversalDataAccessAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalDataAccessAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,GAAG,EAAE,eAAe,EAAwB,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"UniversalDataAccessAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalDataAccessAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,GAAG,EAAE,eAAe,EAAwB,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;AAuB1B;;GAEG;AACH,MAAM,WAAW,wBAAwB;IAEvC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAI5B,SAAS,CAAC,EAAE;QACV,CAAC,GAAG,EAAE,MAAM,GAAG;YACb,IAAI,EAAE,MAAM,CAAC;YACb,cAAc,EAAE,MAAM,EAAE,CAAC;YACzB,aAAa,EAAE,MAAM,EAAE,CAAC;YACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;SACxB,CAAC;KACH,CAAC;IAGF,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAIhC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,KAAK,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAC;aAAE,CAAC,CAAC;SACjD,CAAC,CAAC;KACJ,CAAC,CAAC;IAGH,aAAa,CAAC,EAAE;QACd,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IAGF,qBAAqB,CAAC,EAAE;QACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IAGF,gBAAgB,CAAC,EAAE;QACjB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC7B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;KACjC,CAAC;IAEF;;gGAE4F;IAC5F,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;qFAEiF;IACjF,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B,kGAAkG;IAClG,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB,wFAAwF;IACxF,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,oEAAoE;IACpE,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,aAAa,CAAA;KAAE,CAAC;IAEpC;;+FAE2F;IAC3F,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,eAAO,MAAM,0BAA0B,EAAE,wBA4DxC,CAAC;AAm6BF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB,GAAG,MAAM,EAAE,CAkCtF;AAwlBD;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,iBAAiB;IAChE,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,WAAW,mEAAmE;IACvF,QAAQ,CAAC,QAAQ,cAAc;IAE/B,UAAgB,UAAU,CACxB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,wBAAwB,EAChC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,EAAE,CAAC,CA0CtB;CACF"}
|