code-auditor-mcp 3.4.9 → 3.4.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +10 -3
- package/CHANGELOG.md +81 -0
- package/dist/analyzers/analyzerUtils.d.ts.map +1 -1
- package/dist/analyzers/analyzerUtils.js +2 -1
- package/dist/analyzers/analyzerUtils.js.map +1 -1
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts +0 -2
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js +74 -99
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js.map +1 -1
- package/dist/analyzers/documentationAnalyzer.d.ts +1 -5
- package/dist/analyzers/documentationAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/documentationAnalyzer.js +13 -69
- package/dist/analyzers/documentationAnalyzer.js.map +1 -1
- package/dist/analyzers/invariantsAnalyzer.d.ts +1 -6
- package/dist/analyzers/invariantsAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/invariantsAnalyzer.js +16 -41
- package/dist/analyzers/invariantsAnalyzer.js.map +1 -1
- package/dist/analyzers/reactAnalyzer.d.ts +20 -3
- package/dist/analyzers/reactAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/reactAnalyzer.js +4 -165
- package/dist/analyzers/reactAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.js +43 -69
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +62 -0
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +357 -3
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +81 -69
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +319 -325
- 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 +32 -37
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
- package/dist/auditRunner.d.ts +2 -7
- package/dist/auditRunner.d.ts.map +1 -1
- package/dist/auditRunner.js +306 -434
- package/dist/auditRunner.js.map +1 -1
- package/dist/cli.js +27 -5
- package/dist/cli.js.map +1 -1
- package/dist/codeIndexDB.d.ts +22 -0
- package/dist/codeIndexDB.d.ts.map +1 -1
- package/dist/codeIndexDB.js +92 -44
- package/dist/codeIndexDB.js.map +1 -1
- package/dist/config/defaults.js +3 -3
- package/dist/config/defaults.js.map +1 -1
- package/dist/conventions/conventionMiner.d.ts +5 -4
- package/dist/conventions/conventionMiner.d.ts.map +1 -1
- package/dist/conventions/conventionMiner.js +65 -25
- package/dist/conventions/conventionMiner.js.map +1 -1
- package/dist/dataPaths.js +1 -1
- package/dist/dataPaths.js.map +1 -1
- package/dist/invariants/index.d.ts +1 -1
- package/dist/invariants/index.d.ts.map +1 -1
- package/dist/invariants/index.js +1 -1
- package/dist/invariants/index.js.map +1 -1
- package/dist/invariants/ruleEngine.d.ts +38 -3
- package/dist/invariants/ruleEngine.d.ts.map +1 -1
- package/dist/invariants/ruleEngine.js +42 -174
- package/dist/invariants/ruleEngine.js.map +1 -1
- package/dist/languages/UniversalAnalyzer.d.ts +2 -2
- package/dist/languages/UniversalAnalyzer.d.ts.map +1 -1
- package/dist/languages/UniversalAnalyzer.js +3 -1
- package/dist/languages/UniversalAnalyzer.js.map +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts +3 -0
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +60 -16
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
- package/dist/mcp-tools-shared.d.ts.map +1 -1
- package/dist/mcp-tools-shared.js +10 -6
- package/dist/mcp-tools-shared.js.map +1 -1
- package/dist/mcp.js +0 -0
- package/dist/mcpAuditJobs.d.ts.map +1 -1
- package/dist/mcpAuditJobs.js +4 -1
- package/dist/mcpAuditJobs.js.map +1 -1
- package/dist/pipeline.d.ts +74 -0
- package/dist/pipeline.d.ts.map +1 -0
- package/dist/pipeline.js +620 -0
- package/dist/pipeline.js.bak +465 -0
- package/dist/pipeline.js.bak2 +465 -0
- package/dist/pipeline.js.map +1 -0
- package/dist/pipelineAdapters.d.ts +116 -0
- package/dist/pipelineAdapters.d.ts.map +1 -0
- package/dist/pipelineAdapters.js +1146 -0
- package/dist/pipelineAdapters.js.map +1 -0
- package/dist/pipelineTypes.d.ts +44 -0
- package/dist/pipelineTypes.d.ts.map +1 -0
- package/dist/pipelineTypes.js +118 -0
- package/dist/pipelineTypes.js.map +1 -0
- package/dist/reporting/csvReportGenerator.d.ts.map +1 -1
- package/dist/reporting/csvReportGenerator.js +2 -1
- package/dist/reporting/csvReportGenerator.js.map +1 -1
- package/dist/reporting/jsonReportGenerator.d.ts.map +1 -1
- package/dist/reporting/jsonReportGenerator.js +4 -2
- package/dist/reporting/jsonReportGenerator.js.map +1 -1
- package/dist/reporting/sarifReportGenerator.d.ts.map +1 -1
- package/dist/reporting/sarifReportGenerator.js +2 -1
- package/dist/reporting/sarifReportGenerator.js.map +1 -1
- package/dist/styles/cssAstExtractor.d.ts +46 -0
- package/dist/styles/cssAstExtractor.d.ts.map +1 -0
- package/dist/styles/cssAstExtractor.js +439 -0
- package/dist/styles/cssAstExtractor.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 +69 -16
- package/dist/styles/styleExtractor.js.map +1 -1
- package/dist/styles/styleIndexer.d.ts.map +1 -1
- package/dist/styles/styleIndexer.js +4 -0
- package/dist/styles/styleIndexer.js.map +1 -1
- package/dist/styles/tailwindProbe.d.ts +2 -0
- package/dist/styles/tailwindProbe.d.ts.map +1 -1
- package/dist/styles/tailwindProbe.js +5 -5
- package/dist/styles/tailwindProbe.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 +7 -0
- package/dist/styles/tailwindUtilityExpander.js.map +1 -1
- package/dist/types.d.ts +216 -11
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/fileDiscovery.d.ts +4 -0
- package/dist/utils/fileDiscovery.d.ts.map +1 -1
- package/dist/utils/fileDiscovery.js +7 -1
- package/dist/utils/fileDiscovery.js.map +1 -1
- package/dist/utils/reactDetection.d.ts.map +1 -1
- package/dist/utils/reactDetection.js +32 -0
- package/dist/utils/reactDetection.js.map +1 -1
- package/package.json +2 -4
- package/plugin/.claude-plugin/plugin.json +1 -1
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
* no-raw-values — enforce design-token references for specified CSS properties
|
|
12
12
|
*/
|
|
13
13
|
import picomatch from 'picomatch';
|
|
14
|
-
import { readFileSync } from 'fs';
|
|
15
14
|
import path from 'path';
|
|
16
15
|
import sg from '@ast-grep/napi';
|
|
17
16
|
export { hasRules } from './ruleValidator.js';
|
|
@@ -32,72 +31,6 @@ function matchesAny(patterns, path) {
|
|
|
32
31
|
function matchesNone(patterns, path) {
|
|
33
32
|
return !matchesAny(patterns, path);
|
|
34
33
|
}
|
|
35
|
-
/**
|
|
36
|
-
* Compute 1-based line number from a character offset in source text.
|
|
37
|
-
*/
|
|
38
|
-
function lineNumberAt(source, offset) {
|
|
39
|
-
let line = 1;
|
|
40
|
-
for (let i = 0; i < offset; i++) {
|
|
41
|
-
if (source[i] === '\n')
|
|
42
|
-
line++;
|
|
43
|
-
}
|
|
44
|
-
return line;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Extract all imports from a single source file using regex.
|
|
48
|
-
* Catches: import ... from '...', import('...'), and require('...')
|
|
49
|
-
*
|
|
50
|
-
* Uses regex on raw source text — no parser dependency, works without WASM init.
|
|
51
|
-
*/
|
|
52
|
-
function extractImports(filePath) {
|
|
53
|
-
let source;
|
|
54
|
-
try {
|
|
55
|
-
source = readFileSync(filePath, 'utf-8');
|
|
56
|
-
}
|
|
57
|
-
catch {
|
|
58
|
-
return [];
|
|
59
|
-
}
|
|
60
|
-
const imports = [];
|
|
61
|
-
// ── Static imports ──────────────────────────────────────────────────────
|
|
62
|
-
// Matches: import 'mod', import x from 'mod', import { a } from 'mod',
|
|
63
|
-
// import * as ns from 'mod', import type { T } from 'mod',
|
|
64
|
-
// import x, { a } from 'mod'
|
|
65
|
-
// Uses non-greedy match between "import" and the quoted specifier.
|
|
66
|
-
const staticRe = /^import\b[\s\S]*?['"]([^'"]+)['"]/gm;
|
|
67
|
-
let m;
|
|
68
|
-
while ((m = staticRe.exec(source)) !== null) {
|
|
69
|
-
imports.push({
|
|
70
|
-
moduleSpecifier: m[1],
|
|
71
|
-
isStatic: true,
|
|
72
|
-
isDynamic: false,
|
|
73
|
-
isRequire: false,
|
|
74
|
-
line: lineNumberAt(source, m.index),
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
// ── Dynamic import() expressions ────────────────────────────────────────
|
|
78
|
-
const dynamicRe = /\bimport\s*\(\s*['"]([^'"]+)['"]\s*\)/g;
|
|
79
|
-
while ((m = dynamicRe.exec(source)) !== null) {
|
|
80
|
-
imports.push({
|
|
81
|
-
moduleSpecifier: m[1],
|
|
82
|
-
isStatic: false,
|
|
83
|
-
isDynamic: true,
|
|
84
|
-
isRequire: false,
|
|
85
|
-
line: lineNumberAt(source, m.index),
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
// ── require() calls ─────────────────────────────────────────────────────
|
|
89
|
-
const requireRe = /\brequire\s*\(\s*['"]([^'"]+)['"]\s*\)/g;
|
|
90
|
-
while ((m = requireRe.exec(source)) !== null) {
|
|
91
|
-
imports.push({
|
|
92
|
-
moduleSpecifier: m[1],
|
|
93
|
-
isStatic: false,
|
|
94
|
-
isDynamic: false,
|
|
95
|
-
isRequire: true,
|
|
96
|
-
line: lineNumberAt(source, m.index),
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
return imports;
|
|
100
|
-
}
|
|
101
34
|
// ── import-ban checker ────────────────────────────────────────────────────
|
|
102
35
|
function checkImportBan(rule, filePath, imports) {
|
|
103
36
|
const violations = [];
|
|
@@ -179,18 +112,15 @@ function resolveRelativeImport(fromFile, specifier) {
|
|
|
179
112
|
/**
|
|
180
113
|
* Try to resolve an import specifier to a file path, trying common extensions.
|
|
181
114
|
*/
|
|
182
|
-
function resolveImportPath(fromFile, specifier, projectDir) {
|
|
115
|
+
function resolveImportPath(fromFile, specifier, projectDir, knownFiles) {
|
|
116
|
+
const fileExists = (p) => knownFiles ? knownFiles.has(p) : false;
|
|
183
117
|
const base = resolveRelativeImport(fromFile, specifier);
|
|
184
118
|
if (base) {
|
|
185
119
|
// Check with full path
|
|
186
120
|
const full = projectDir ? `${projectDir}/${base}` : base;
|
|
187
|
-
|
|
188
|
-
readFileSync(full);
|
|
121
|
+
if (fileExists(full))
|
|
189
122
|
return base;
|
|
190
|
-
|
|
191
|
-
catch {
|
|
192
|
-
return null;
|
|
193
|
-
}
|
|
123
|
+
return null;
|
|
194
124
|
}
|
|
195
125
|
// Try adding extensions
|
|
196
126
|
const fromDir = fromFile.substring(0, fromFile.lastIndexOf('/'));
|
|
@@ -210,25 +140,15 @@ function resolveImportPath(fromFile, specifier, projectDir) {
|
|
|
210
140
|
const prefix = projectDir ? `${projectDir}/` : '';
|
|
211
141
|
// Check extensions
|
|
212
142
|
for (const ext of ['.ts', '.tsx', '.js', '.jsx']) {
|
|
213
|
-
const candidate = basePath + ext;
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
return candidate;
|
|
217
|
-
}
|
|
218
|
-
catch {
|
|
219
|
-
// file doesn't exist, try next extension
|
|
220
|
-
}
|
|
143
|
+
const candidate = prefix + basePath + ext;
|
|
144
|
+
if (fileExists(candidate))
|
|
145
|
+
return basePath + ext;
|
|
221
146
|
}
|
|
222
147
|
// Try index files
|
|
223
148
|
for (const ext of ['.ts', '.tsx', '.js', '.jsx']) {
|
|
224
|
-
const candidate = basePath + '/index' + ext;
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
return candidate;
|
|
228
|
-
}
|
|
229
|
-
catch {
|
|
230
|
-
// index doesn't exist either
|
|
231
|
-
}
|
|
149
|
+
const candidate = prefix + basePath + '/index' + ext;
|
|
150
|
+
if (fileExists(candidate))
|
|
151
|
+
return basePath + '/index' + ext;
|
|
232
152
|
}
|
|
233
153
|
return null;
|
|
234
154
|
}
|
|
@@ -382,23 +302,20 @@ function checkAstPattern(rule, filePath, source) {
|
|
|
382
302
|
* Enforce that style declarations in matching files only use allowed mechanisms.
|
|
383
303
|
* Queries the style_declarations table in the CodeIndexDB.
|
|
384
304
|
*/
|
|
385
|
-
function checkStyleMechanism(rule, files,
|
|
305
|
+
function checkStyleMechanism(rule, files, indexHandle) {
|
|
386
306
|
const violations = [];
|
|
387
|
-
const dbAny = db;
|
|
388
|
-
if (!dbAny.db)
|
|
389
|
-
return violations;
|
|
390
307
|
const allowedSet = new Set(rule.allow);
|
|
391
308
|
for (const file of files) {
|
|
392
309
|
// Check path filter
|
|
393
310
|
if (rule.path && !matchesPattern(rule.path, file))
|
|
394
311
|
continue;
|
|
395
312
|
try {
|
|
396
|
-
const rows =
|
|
313
|
+
const rows = indexHandle.query(`
|
|
397
314
|
SELECT DISTINCT mechanism, file_path, line
|
|
398
315
|
FROM style_declarations
|
|
399
316
|
WHERE file_path = ?
|
|
400
317
|
ORDER BY line
|
|
401
|
-
|
|
318
|
+
`, [file]);
|
|
402
319
|
for (const row of rows) {
|
|
403
320
|
if (!allowedSet.has(row.mechanism)) {
|
|
404
321
|
violations.push({
|
|
@@ -428,11 +345,8 @@ function checkStyleMechanism(rule, files, db) {
|
|
|
428
345
|
* A declaration whose normalized_value is not in allowValues AND has no
|
|
429
346
|
* token_ref is a violation.
|
|
430
347
|
*/
|
|
431
|
-
function checkNoRawValues(rule, files,
|
|
348
|
+
function checkNoRawValues(rule, files, indexHandle) {
|
|
432
349
|
const violations = [];
|
|
433
|
-
const dbAny = db;
|
|
434
|
-
if (!dbAny.db)
|
|
435
|
-
return violations;
|
|
436
350
|
const propertiesSet = new Set(rule.properties);
|
|
437
351
|
const allowValuesSet = new Set(rule.allowValues ?? []);
|
|
438
352
|
for (const file of files) {
|
|
@@ -440,12 +354,12 @@ function checkNoRawValues(rule, files, db) {
|
|
|
440
354
|
if (rule.path && !matchesPattern(rule.path, file))
|
|
441
355
|
continue;
|
|
442
356
|
try {
|
|
443
|
-
const rows =
|
|
357
|
+
const rows = indexHandle.query(`
|
|
444
358
|
SELECT property, raw_value, normalized_value, file_path, line
|
|
445
359
|
FROM style_declarations
|
|
446
360
|
WHERE file_path = ?
|
|
447
361
|
ORDER BY line
|
|
448
|
-
|
|
362
|
+
`, [file]);
|
|
449
363
|
for (const row of rows) {
|
|
450
364
|
if (!propertiesSet.has(row.property))
|
|
451
365
|
continue;
|
|
@@ -453,11 +367,12 @@ function checkNoRawValues(rule, files, db) {
|
|
|
453
367
|
if (allowValuesSet.has(normVal) || allowValuesSet.has(row.raw_value))
|
|
454
368
|
continue;
|
|
455
369
|
// Check if this declaration has a token ref
|
|
456
|
-
const
|
|
370
|
+
const tokenRows = indexHandle.query(`
|
|
457
371
|
SELECT token_ref FROM style_declarations
|
|
458
372
|
WHERE file_path = ? AND line = ? AND property = ? AND token_ref IS NOT NULL
|
|
459
373
|
LIMIT 1
|
|
460
|
-
|
|
374
|
+
`, [row.file_path, row.line, row.property]);
|
|
375
|
+
const tokenRow = tokenRows[0];
|
|
461
376
|
if (tokenRow)
|
|
462
377
|
continue; // has a token ref — allowed
|
|
463
378
|
violations.push({
|
|
@@ -479,61 +394,13 @@ function checkNoRawValues(rule, files, db) {
|
|
|
479
394
|
}
|
|
480
395
|
return violations;
|
|
481
396
|
}
|
|
482
|
-
// ── Exported symbol extraction ────────────────────────────────────────────
|
|
483
|
-
/**
|
|
484
|
-
* Extract all exported symbol names from a source file using regex.
|
|
485
|
-
* Handles: export function/class/const/let/var name, export { name1, name2 },
|
|
486
|
-
* export default function/class name, export default name
|
|
487
|
-
*
|
|
488
|
-
* Uses regex on raw source text — no parser dependency, works without WASM init.
|
|
489
|
-
*/
|
|
490
|
-
function extractExportedSymbols(filePath) {
|
|
491
|
-
let source;
|
|
492
|
-
try {
|
|
493
|
-
source = readFileSync(filePath, 'utf-8');
|
|
494
|
-
}
|
|
495
|
-
catch {
|
|
496
|
-
return [];
|
|
497
|
-
}
|
|
498
|
-
const symbols = [];
|
|
499
|
-
// ── export function|class|const|let|var|type|interface|enum name ────────
|
|
500
|
-
// Covers: export function foo(), export class Bar {}, export const baz = ...
|
|
501
|
-
const declRe = /^export\s+(?:(?:default\s+)?(?:function|class)\s+([\p{L}\p{N}_]+)|(?:const|let|var)\s+([\p{L}\p{N}_]+))/gmu;
|
|
502
|
-
let m;
|
|
503
|
-
while ((m = declRe.exec(source)) !== null) {
|
|
504
|
-
const name = m[1] || m[2]; // m[1] = function/class name, m[2] = const/let/var name
|
|
505
|
-
if (name) {
|
|
506
|
-
symbols.push({ name, line: lineNumberAt(source, m.index) });
|
|
507
|
-
}
|
|
508
|
-
}
|
|
509
|
-
// ── export { name1, name2 as alias } ────────────────────────────────────
|
|
510
|
-
// Capture the local (non-aliased) names inside export { ... }
|
|
511
|
-
const clauseRe = /^export\s*\{([^}]+)\}/gm;
|
|
512
|
-
while ((m = clauseRe.exec(source)) !== null) {
|
|
513
|
-
const body = m[1];
|
|
514
|
-
// Split on comma, then extract the first identifier (skip "as alias" forms)
|
|
515
|
-
for (const part of body.split(',')) {
|
|
516
|
-
const nameMatch = part.match(/^\s*([\p{L}\p{N}_]+)/u);
|
|
517
|
-
if (nameMatch) {
|
|
518
|
-
symbols.push({ name: nameMatch[1], line: lineNumberAt(source, m.index) });
|
|
519
|
-
}
|
|
520
|
-
}
|
|
521
|
-
}
|
|
522
|
-
// ── export default <identifier> ─────────────────────────────────────────
|
|
523
|
-
// e.g. export default MyComponent
|
|
524
|
-
const defaultIdRe = /^export\s+default\s+([\p{L}\p{N}_]+)\s*[;,\n]/gmu;
|
|
525
|
-
while ((m = defaultIdRe.exec(source)) !== null) {
|
|
526
|
-
symbols.push({ name: m[1], line: lineNumberAt(source, m.index) });
|
|
527
|
-
}
|
|
528
|
-
return symbols;
|
|
529
|
-
}
|
|
530
397
|
/**
|
|
531
398
|
* Check all rules against all specified files.
|
|
532
399
|
* import-ban, module-boundary, and naming are per-file.
|
|
533
400
|
* call-constraint queries the full index for callers.
|
|
534
401
|
*/
|
|
535
402
|
export function checkRules(options) {
|
|
536
|
-
const { rules, files,
|
|
403
|
+
const { rules, files, indexHandle, projectDir, sourceMap, knownFiles, fileData: preExtractedFileData } = options;
|
|
537
404
|
const violations = [];
|
|
538
405
|
const errors = [];
|
|
539
406
|
if (rules.length === 0) {
|
|
@@ -552,19 +419,21 @@ export function checkRules(options) {
|
|
|
552
419
|
for (const file of files) {
|
|
553
420
|
// Strip any leading './' for consistency
|
|
554
421
|
let normalized = file.replace(/^\.\//, '');
|
|
555
|
-
const fullPath = file.startsWith('/') ? file : `${projectDir}/${normalized}`;
|
|
556
422
|
// Make absolute paths relative to projectDir so glob patterns match
|
|
557
423
|
if (path.isAbsolute(normalized)) {
|
|
558
424
|
normalized = path.relative(projectDir, normalized);
|
|
559
425
|
}
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
426
|
+
if (preExtractedFileData) {
|
|
427
|
+
// Use pre-extracted data from AST (B1: replaces regex extraction)
|
|
428
|
+
const data = preExtractedFileData.get(normalized);
|
|
429
|
+
if (data) {
|
|
430
|
+
fileDataMap.set(normalized, data);
|
|
431
|
+
}
|
|
565
432
|
}
|
|
566
|
-
|
|
567
|
-
|
|
433
|
+
else {
|
|
434
|
+
// fileData is required (provided by the pipeline via function-index AST extraction).
|
|
435
|
+
// Standalone callers must populate fileData from AST before calling checkRules.
|
|
436
|
+
errors.push(`No fileData provided for ${file}. File data must be extracted from AST (not raw source).`);
|
|
568
437
|
}
|
|
569
438
|
}
|
|
570
439
|
// 1. import-ban checks
|
|
@@ -576,7 +445,7 @@ export function checkRules(options) {
|
|
|
576
445
|
// 2. module-boundary checks
|
|
577
446
|
for (const rule of moduleBoundaries) {
|
|
578
447
|
for (const [filePath, data] of fileDataMap) {
|
|
579
|
-
violations.push(...checkModuleBoundary(rule, filePath, data.imports, (from, spec) => resolveImportPath(from, spec, projectDir)));
|
|
448
|
+
violations.push(...checkModuleBoundary(rule, filePath, data.imports, (from, spec) => resolveImportPath(from, spec, projectDir, knownFiles)));
|
|
580
449
|
}
|
|
581
450
|
}
|
|
582
451
|
// 3. naming checks
|
|
@@ -586,9 +455,9 @@ export function checkRules(options) {
|
|
|
586
455
|
}
|
|
587
456
|
}
|
|
588
457
|
// 4. call-constraint checks — requires DB
|
|
589
|
-
if (callConstraints.length > 0 &&
|
|
458
|
+
if (callConstraints.length > 0 && indexHandle) {
|
|
590
459
|
try {
|
|
591
|
-
const scopedCallers = getScopedCallers(
|
|
460
|
+
const scopedCallers = getScopedCallers(indexHandle, files);
|
|
592
461
|
for (const rule of callConstraints) {
|
|
593
462
|
violations.push(...checkCallConstraint(rule, scopedCallers));
|
|
594
463
|
}
|
|
@@ -604,7 +473,9 @@ export function checkRules(options) {
|
|
|
604
473
|
const normalized = file.replace(/^\.\//, '');
|
|
605
474
|
const fullPath = file.startsWith('/') ? file : `${projectDir}/${normalized}`;
|
|
606
475
|
try {
|
|
607
|
-
const source =
|
|
476
|
+
const source = sourceMap?.get(fullPath);
|
|
477
|
+
if (!source)
|
|
478
|
+
continue;
|
|
608
479
|
violations.push(...checkAstPattern(rule, normalized, source));
|
|
609
480
|
}
|
|
610
481
|
catch (err) {
|
|
@@ -614,11 +485,11 @@ export function checkRules(options) {
|
|
|
614
485
|
}
|
|
615
486
|
}
|
|
616
487
|
// 6. style-mechanism and no-raw-values checks — require DB (style index)
|
|
617
|
-
if (
|
|
488
|
+
if (indexHandle) {
|
|
618
489
|
const scopedPaths = files.map(f => f.replace(/^\.\//, ''));
|
|
619
490
|
for (const rule of styleMechanisms) {
|
|
620
491
|
try {
|
|
621
|
-
violations.push(...checkStyleMechanism(rule, scopedPaths,
|
|
492
|
+
violations.push(...checkStyleMechanism(rule, scopedPaths, indexHandle));
|
|
622
493
|
}
|
|
623
494
|
catch (err) {
|
|
624
495
|
errors.push(`Error checking style-mechanism "${rule.id}": ${err.message}`);
|
|
@@ -626,7 +497,7 @@ export function checkRules(options) {
|
|
|
626
497
|
}
|
|
627
498
|
for (const rule of noRawValues) {
|
|
628
499
|
try {
|
|
629
|
-
violations.push(...checkNoRawValues(rule, scopedPaths,
|
|
500
|
+
violations.push(...checkNoRawValues(rule, scopedPaths, indexHandle));
|
|
630
501
|
}
|
|
631
502
|
catch (err) {
|
|
632
503
|
errors.push(`Error checking no-raw-values "${rule.id}": ${err.message}`);
|
|
@@ -639,15 +510,12 @@ export function checkRules(options) {
|
|
|
639
510
|
* Get all callers from the DB that are within the scoped files.
|
|
640
511
|
* Returns [caller, callee] pairs for checking against constraints.
|
|
641
512
|
*/
|
|
642
|
-
function getScopedCallers(
|
|
643
|
-
const
|
|
644
|
-
if (!dbAny.db)
|
|
645
|
-
return [];
|
|
646
|
-
const rows = dbAny.db.prepare(`
|
|
513
|
+
function getScopedCallers(indexHandle, scopedFiles) {
|
|
514
|
+
const rows = indexHandle.query(`
|
|
647
515
|
SELECT DISTINCT f.name as caller_name, f.file_path, fc.callee_name
|
|
648
516
|
FROM function_calls fc
|
|
649
517
|
JOIN functions f ON f.id = fc.caller_id
|
|
650
|
-
`)
|
|
518
|
+
`);
|
|
651
519
|
// If scoped files provided, filter to those files
|
|
652
520
|
if (scopedFiles.length > 0) {
|
|
653
521
|
const fileSet = new Set(scopedFiles.map(f => f.replace(/^\.\//, '')));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ruleEngine.js","sourceRoot":"","sources":["../../src/invariants/ruleEngine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ruleEngine.js","sourceRoot":"","sources":["../../src/invariants/ruleEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Base class for universal analyzers that work across languages
|
|
3
3
|
*/
|
|
4
|
-
import type {
|
|
4
|
+
import type { AnalyzerResult, Violation } from '../types.js';
|
|
5
5
|
import type { AST, LanguageAdapter } from './types.js';
|
|
6
6
|
export interface UniversalAnalyzerOptions {
|
|
7
7
|
progressCallback?: (progress: number) => void;
|
|
@@ -14,7 +14,7 @@ export interface UniversalAnalyzerOptions {
|
|
|
14
14
|
* critical severity for SQL injection findings.
|
|
15
15
|
*/
|
|
16
16
|
export type SeverityOverrides = Record<string, 'critical' | 'warning' | 'suggestion'>;
|
|
17
|
-
export declare abstract class UniversalAnalyzer
|
|
17
|
+
export declare abstract class UniversalAnalyzer {
|
|
18
18
|
abstract readonly name: string;
|
|
19
19
|
abstract readonly description: string;
|
|
20
20
|
abstract readonly category: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniversalAnalyzer.d.ts","sourceRoot":"","sources":["../../src/languages/UniversalAnalyzer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"UniversalAnalyzer.d.ts","sourceRoot":"","sources":["../../src/languages/UniversalAnalyzer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAMvD,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,YAAY,CAAC,CAAC;AAEtF,8BAAsB,iBAAiB;IACrC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAEnC;;OAEG;IACG,OAAO,CACX,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,GAAE,GAAQ,EAChB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,cAAc,CAAC,CAyIzB;IAED;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,UAAU,CAC3B,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,GAAG,EACX,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAExB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,SAAS,CAAC,eAAe,CACvB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAC1C,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,YAAY,EAC/C,IAAI,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAC1C,MAAM,CAAC,EAAE,MAAM,GACd,SAAS,CAiBX;CACF"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { LanguageRegistry } from './LanguageRegistry.js';
|
|
5
5
|
import { resolvePathProfile } from '../config/pathProfiles.js';
|
|
6
6
|
import { promises as fs } from 'fs';
|
|
7
|
+
import { makeVisitorStatus } from '../pipeline.js';
|
|
7
8
|
export class UniversalAnalyzer {
|
|
8
9
|
/**
|
|
9
10
|
* Main entry point - processes files and returns violations
|
|
@@ -116,8 +117,9 @@ export class UniversalAnalyzer {
|
|
|
116
117
|
return {
|
|
117
118
|
violations: filteredViolations,
|
|
118
119
|
errors,
|
|
119
|
-
filesProcessed,
|
|
120
|
+
status: makeVisitorStatus(filesProcessed),
|
|
120
121
|
executionTime: Date.now() - startTime,
|
|
122
|
+
analyzerName: this.name,
|
|
121
123
|
metrics: {
|
|
122
124
|
filesAnalyzed: filesProcessed,
|
|
123
125
|
totalViolations: violations.length,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniversalAnalyzer.js","sourceRoot":"","sources":["../../src/languages/UniversalAnalyzer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"UniversalAnalyzer.js","sourceRoot":"","sources":["../../src/languages/UniversalAnalyzer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAenD,MAAM,OAAgB,iBAAiB;IAKrC;;OAEG;IACH,KAAK,CAAC,OAAO,CACX,KAAe,EACf,MAAM,GAAQ,EAAE,EAChB,OAAO,GAA6B,EAAE;QAEtC,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,MAAM,MAAM,GAA2C,EAAE,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,qEAAqE;QACrE,oEAAoE;QACpE,iEAAiE;QACjE,MAAM,iBAAiB,GAAsB,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC;QAC5E,MAAM,sBAAsB,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAC7C,OAAO,sBAAsB,CAAC,iBAAiB,CAAC;QAEhD,gEAAgE;QAChE,mEAAmE;QACnE,2BAA2B;QAC3B,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACzC,MAAM,WAAW,GAAuB,MAAM,CAAC,WAAW,CAAC;QAC3D,OAAO,sBAAsB,CAAC,YAAY,CAAC;QAC3C,OAAO,sBAAsB,CAAC,WAAW,CAAC;QAE1C,0BAA0B;QAC1B,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAEvD,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;QAEhC,8BAA8B;QAC9B,KAAK,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,cAAc,EAAE,CAAC;YACrD,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBAChC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBAChD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAE/C,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC1B,mCAAmC;wBACnC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;4BAClC,IAAI;4BACJ,KAAK,EAAE,gBAAgB,CAAC,CAAC,OAAO,EAAE;yBACnC,CAAC,CAAC,CAAC,CAAC;oBACP,CAAC;oBAED,gDAAgD;oBAChD,IAAI,UAAU,GAAG,sBAAsB,CAAC;oBACxC,IAAI,eAAmC,CAAC;oBACxC,IAAI,gBAAgB,GAAa,EAAE,CAAC;oBACpC,IAAI,YAAY,IAAI,WAAW,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC3D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;wBACrE,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC/C,UAAU,GAAG,EAAE,GAAG,sBAAsB,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;wBACpE,CAAC;wBACD,eAAe,GAAG,QAAQ,CAAC,WAAW,CAAC;wBACvC,gBAAgB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;oBAClD,CAAC;oBAED,iCAAiC;oBACjC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAC1C,GAAG,EACH,OAAO,EACP,UAAU,EACV,OAAO,CACR,CAAC;oBAEF,mEAAmE;oBACnE,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAChC,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;4BAC/B,CAAC,CAAC,OAAO,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBAC5D,CAAC;oBACH,CAAC;oBAED,0EAA0E;oBAC1E,2EAA2E;oBAC3E,yBAAyB;oBACzB,IAAI,eAAe,EAAE,CAAC;wBACpB,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;4BAC9B,CAAS,CAAC,YAAY,GAAG,eAAe,CAAC;wBAC5C,CAAC;oBACH,CAAC;oBAED,UAAU,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;oBAEnC,cAAc,EAAE,CAAC;oBACjB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;wBAC7B,OAAO,CAAC,gBAAgB,CAAC,cAAc,GAAG,UAAU,CAAC,CAAC;oBACxD,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,2BAA2B,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;oBACtE,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI;wBACJ,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAC9D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC3C,IAAI,QAAQ,EAAE,CAAC;oBACb,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,6EAA6E;QAC7E,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC;QAExE,oDAAoD;QACpD,iEAAiE;QACjE,gEAAgE;QAChE,8DAA8D;QAC9D,2DAA2D;QAC3D,MAAM,aAAa,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAC5D,KAAK,MAAM,CAAC,IAAI,kBAAkB,EAAE,CAAC;YACnC,MAAM,GAAG,GAAI,CAAS,CAAC,YAAkC,CAAC;YAC1D,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC5C,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,QAAQ,EAAE,CAAC;oBACjD,CAAC,CAAC,QAAQ,GAAG,GAA4C,CAAC;gBAC5D,CAAC;gBACD,OAAQ,CAAS,CAAC,YAAY,CAAC;YACjC,CAAC;QACH,CAAC;QAED,OAAO;YACL,UAAU,EAAE,kBAAkB;YAC9B,MAAM;YACN,MAAM,EAAE,iBAAiB,CAAC,cAAc,CAAC;YACzC,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YACrC,YAAY,EAAE,IAAI,CAAC,IAAI;YACvB,OAAO,EAAE;gBACP,aAAa,EAAE,cAAc;gBAC7B,eAAe,EAAE,UAAU,CAAC,MAAM;gBAClC,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACtC;SACF,CAAC;IACJ,CAAC;IAYD;;OAEG;IACK,mBAAmB,CAAC,KAAe;QACzC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,GAAG,EAA6B,CAAC;QAEpD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAC/C,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACO,eAAe,CACvB,IAAY,EACZ,QAA0C,EAC1C,OAAe,EACf,QAA+C,EAC/C,IAAY,EACZ,GAA0C,EAC1C,MAAe;QAEf,oEAAoE;QACpE,6EAA6E;QAC7E,MAAM,CAAC,GAAc;YACnB,IAAI;YACJ,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,QAAQ;YACR,OAAO;YACP,IAAI;YACJ,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,GAAG;SACJ,CAAC;QACF,IAAI,MAAM,EAAE,CAAC;YACX,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC;QAC1B,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;CACF"}
|
|
@@ -110,6 +110,9 @@ export declare class TreeSitterTypeScriptAdapter implements LanguageAdapter {
|
|
|
110
110
|
* or cannot be statically resolved.
|
|
111
111
|
*/
|
|
112
112
|
resolveLocalConstant(identifierNode: ASTNode, ast: AST, sourceCode: string): ResolvedConstant | null;
|
|
113
|
+
/** Determine whether a tree-sitter value node represents a static (compile-time
|
|
114
|
+
* constant) expression — no variables, function calls, or runtime evaluation. */
|
|
115
|
+
private isStaticValueNode;
|
|
113
116
|
/** Walk the parent chain to find the enclosing function scope node. */
|
|
114
117
|
private findEnclosingScope;
|
|
115
118
|
/** Find a variable_declarator node within scopeRoot whose name is targetName. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeSitterTypeScriptAdapter.d.ts","sourceRoot":"","sources":["../../../src/languages/typescript/TreeSitterTypeScriptAdapter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"TreeSitterTypeScriptAdapter.d.ts","sourceRoot":"","sources":["../../../src/languages/typescript/TreeSitterTypeScriptAdapter.ts"],"names":[],"mappings":"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"}
|