scip-query 0.2.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-26DOJ63W.js +161 -0
- package/dist/{chunk-PMJKOXOT.js → chunk-4JCSOF2O.js} +2 -2
- package/dist/{chunk-AKMBBKWV.js → chunk-5OMVSV6E.js} +12 -4
- package/dist/{chunk-R56FJU3E.js → chunk-7KIMF5PV.js} +2 -2
- package/dist/chunk-AXQKUYKF.js +1442 -0
- package/dist/chunk-C7H5WBTJ.js +46 -0
- package/dist/{chunk-AMNISGYR.js → chunk-CHDJXYBG.js} +2 -27
- package/dist/{chunk-GPJVPT3U.js → chunk-CPVAQJEC.js} +12 -4
- package/dist/{chunk-75RQSBTK.js → chunk-DH7G3DDV.js} +2 -2
- package/dist/{chunk-LTJC5ZQL.js → chunk-EOROMIFO.js} +13 -5
- package/dist/{chunk-BFLULBEU.js → chunk-EPWLXXBL.js} +2 -2
- package/dist/{chunk-MVH45PYK.js → chunk-FYYOWQXK.js} +12 -12
- package/dist/chunk-GEXE2T6I.js +87 -0
- package/dist/{chunk-IXPHLF6K.js → chunk-GJDHTTR2.js} +10 -3
- package/dist/chunk-GSH2FPKV.js +87 -0
- package/dist/{chunk-4ACRRQC4.js → chunk-HJZUSUPU.js} +2 -2
- package/dist/{chunk-M3NPW3FC.js → chunk-HLKAFWWJ.js} +81 -2
- package/dist/{chunk-CU62ZDHI.js → chunk-HLUS2HEB.js} +2 -2
- package/dist/{chunk-RFMT7UAZ.js → chunk-J3JSOSUO.js} +8 -5
- package/dist/{chunk-HDSRORNV.js → chunk-KKCHYLVI.js} +17 -11
- package/dist/{chunk-Y3M323OX.js → chunk-LFJQVJYJ.js} +2 -2
- package/dist/{chunk-6WVR5K46.js → chunk-LQJUPXQY.js} +3 -3
- package/dist/{chunk-ITZ3DDOG.js → chunk-MPGIHELS.js} +18 -3
- package/dist/{chunk-N4C3H7LH.js → chunk-NFS5W3PP.js} +2 -2
- package/dist/{chunk-Y4JFVQ7C.js → chunk-O7Q7FDUJ.js} +21 -13
- package/dist/{chunk-H6WCPKCX.js → chunk-OIDHN6GD.js} +2 -2
- package/dist/{chunk-4BQFSNFI.js → chunk-P3E6L7KW.js} +2 -2
- package/dist/{chunk-ORINICIZ.js → chunk-P4WO3BBW.js} +2 -2
- package/dist/{chunk-M4QGEKKD.js → chunk-SMDCNPMK.js} +8 -3
- package/dist/{chunk-6QSHLFSL.js → chunk-UGQKAVCD.js} +2 -2
- package/dist/{chunk-HMYJJ3HY.js → chunk-UQEQ6AHX.js} +3 -3
- package/dist/{chunk-WVK7AASK.js → chunk-VIYSWZCO.js} +2 -2
- package/dist/chunk-VJJKSGIX.js +121 -0
- package/dist/{chunk-N5KEREIA.js → chunk-VT4JBH6L.js} +19 -7
- package/dist/{chunk-R2I3M5B4.js → chunk-WGAD3GNR.js} +2 -2
- package/dist/{chunk-IJKLB2JW.js → chunk-YDBXNPYU.js} +2 -2
- package/dist/{chunk-VO4QI3LS.js → chunk-YY4QGUQ5.js} +2 -2
- package/dist/{chunk-3566TKJ5.js → chunk-ZEUCXQBN.js} +2 -2
- package/dist/cli.js +2314 -1352
- package/dist/{db-BHYam4BK.d.ts → db-ShvwGDKf.d.ts} +6 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +38 -38
- package/dist/queries/affected.d.ts +1 -1
- package/dist/queries/affected.js +2 -2
- package/dist/queries/bottlenecks.d.ts +1 -1
- package/dist/queries/by-kind.d.ts +1 -1
- package/dist/queries/by-kind.js +1 -1
- package/dist/queries/call-graph.d.ts +1 -1
- package/dist/queries/call-graph.js +2 -2
- package/dist/queries/change-surface.d.ts +1 -1
- package/dist/queries/change-surface.js +2 -1
- package/dist/queries/code.d.ts +1 -1
- package/dist/queries/code.js +2 -2
- package/dist/queries/complexity-hotspots.d.ts +1 -1
- package/dist/queries/complexity-hotspots.js +2 -2
- package/dist/queries/complexity.d.ts +1 -1
- package/dist/queries/complexity.js +2 -2
- package/dist/queries/convergence.d.ts +1 -1
- package/dist/queries/convergence.js +2 -2
- package/dist/queries/coupling.d.ts +1 -1
- package/dist/queries/coupling.js +3 -1
- package/dist/queries/cycles.d.ts +1 -1
- package/dist/queries/cycles.js +2 -2
- package/dist/queries/dataflow.d.ts +1 -1
- package/dist/queries/dataflow.js +2 -2
- package/dist/queries/dead.d.ts +1 -1
- package/dist/queries/dead.js +3 -3
- package/dist/queries/deep-chains.d.ts +1 -1
- package/dist/queries/deep-chains.js +2 -2
- package/dist/queries/deps.d.ts +1 -1
- package/dist/queries/deps.js +3 -1
- package/dist/queries/diff-impact.d.ts +1 -1
- package/dist/queries/doc-coverage.d.ts +1 -1
- package/dist/queries/drift.d.ts +1 -1
- package/dist/queries/drift.js +2 -2
- package/dist/queries/extract-candidates.d.ts +1 -1
- package/dist/queries/extract-candidates.js +2 -2
- package/dist/queries/fan.d.ts +1 -1
- package/dist/queries/fan.js +2 -1
- package/dist/queries/files.d.ts +1 -1
- package/dist/queries/health.d.ts +1 -1
- package/dist/queries/health.js +13 -13
- package/dist/queries/hierarchy.d.ts +1 -1
- package/dist/queries/hierarchy.js +2 -2
- package/dist/queries/hotspots.d.ts +1 -1
- package/dist/queries/imports.d.ts +1 -1
- package/dist/queries/imports.js +2 -2
- package/dist/queries/index.d.ts +1 -1
- package/dist/queries/index.js +38 -38
- package/dist/queries/isolated.d.ts +1 -1
- package/dist/queries/isolated.js +3 -3
- package/dist/queries/members.d.ts +1 -1
- package/dist/queries/members.js +2 -2
- package/dist/queries/methods.d.ts +1 -1
- package/dist/queries/outline.d.ts +1 -1
- package/dist/queries/outline.js +2 -1
- package/dist/queries/passthrough-candidates.d.ts +1 -1
- package/dist/queries/passthrough-candidates.js +2 -2
- package/dist/queries/redundant-reexports.d.ts +1 -1
- package/dist/queries/redundant-reexports.js +3 -3
- package/dist/queries/refs.d.ts +1 -1
- package/dist/queries/refs.js +3 -1
- package/dist/queries/similar-chains.d.ts +1 -1
- package/dist/queries/similar-chains.js +2 -2
- package/dist/queries/similar-files.d.ts +1 -1
- package/dist/queries/similar-files.js +2 -2
- package/dist/queries/similar-signatures.d.ts +1 -1
- package/dist/queries/similar.d.ts +1 -1
- package/dist/queries/similar.js +2 -2
- package/dist/queries/slice.d.ts +2 -2
- package/dist/queries/slice.js +2 -2
- package/dist/queries/stale-abstractions.d.ts +1 -1
- package/dist/queries/stale-abstractions.js +2 -2
- package/dist/queries/stats.d.ts +1 -1
- package/dist/queries/surface.d.ts +1 -1
- package/dist/queries/surface.js +2 -1
- package/dist/queries/symbols.d.ts +1 -1
- package/dist/queries/symbols.js +2 -1
- package/dist/queries/system.d.ts +1 -1
- package/dist/queries/system.js +2 -1
- package/dist/queries/trace.d.ts +1 -1
- package/dist/queries/trace.js +2 -2
- package/dist/queries/wrapper-candidates.d.ts +1 -1
- package/dist/queries/wrapper-candidates.js +2 -2
- package/package.json +1 -1
- package/dist/chunk-34JPTNRN.js +0 -601
- package/dist/chunk-7JFZSOJ7.js +0 -103
- package/dist/chunk-DY4AFG2W.js +0 -48
- package/dist/chunk-LLMPAG56.js +0 -221
- package/dist/chunk-NVIIM34O.js +0 -65
- package/dist/chunk-YAFWL3RA.js +0 -55
|
@@ -1,5 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
resolveIndexedFile
|
|
3
|
+
} from "./chunk-AXQKUYKF.js";
|
|
4
|
+
|
|
1
5
|
// src/queries/coupling.ts
|
|
2
6
|
function coupling(db, file1, file2) {
|
|
7
|
+
const resolvedFile1 = resolveIndexedFile(db, file1) ?? file1;
|
|
8
|
+
const resolvedFile2 = resolveIndexedFile(db, file2) ?? file2;
|
|
3
9
|
const row = db.get(
|
|
4
10
|
`SELECT COUNT(DISTINCT gs.id) AS shared
|
|
5
11
|
FROM global_symbols gs
|
|
@@ -8,36 +14,36 @@ function coupling(db, file1, file2) {
|
|
|
8
14
|
EXISTS (
|
|
9
15
|
SELECT 1 FROM defn_enclosing_ranges der
|
|
10
16
|
JOIN documents d ON der.document_id = d.id
|
|
11
|
-
WHERE der.symbol_id = gs.id AND d.relative_path
|
|
17
|
+
WHERE der.symbol_id = gs.id AND d.relative_path = ?
|
|
12
18
|
)
|
|
13
19
|
AND EXISTS (
|
|
14
20
|
SELECT 1 FROM mentions m
|
|
15
21
|
JOIN chunks c ON m.chunk_id = c.id
|
|
16
22
|
JOIN documents d ON c.document_id = d.id
|
|
17
|
-
WHERE m.symbol_id = gs.id AND m.role != 1 AND d.relative_path
|
|
23
|
+
WHERE m.symbol_id = gs.id AND m.role != 1 AND d.relative_path = ?
|
|
18
24
|
)
|
|
19
25
|
) OR (
|
|
20
26
|
-- Defined in file2, referenced in file1
|
|
21
27
|
EXISTS (
|
|
22
28
|
SELECT 1 FROM defn_enclosing_ranges der
|
|
23
29
|
JOIN documents d ON der.document_id = d.id
|
|
24
|
-
WHERE der.symbol_id = gs.id AND d.relative_path
|
|
30
|
+
WHERE der.symbol_id = gs.id AND d.relative_path = ?
|
|
25
31
|
)
|
|
26
32
|
AND EXISTS (
|
|
27
33
|
SELECT 1 FROM mentions m
|
|
28
34
|
JOIN chunks c ON m.chunk_id = c.id
|
|
29
35
|
JOIN documents d ON c.document_id = d.id
|
|
30
|
-
WHERE m.symbol_id = gs.id AND m.role != 1 AND d.relative_path
|
|
36
|
+
WHERE m.symbol_id = gs.id AND m.role != 1 AND d.relative_path = ?
|
|
31
37
|
)
|
|
32
38
|
)`,
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
39
|
+
resolvedFile1,
|
|
40
|
+
resolvedFile2,
|
|
41
|
+
resolvedFile2,
|
|
42
|
+
resolvedFile1
|
|
37
43
|
);
|
|
38
44
|
return {
|
|
39
|
-
file1,
|
|
40
|
-
file2,
|
|
45
|
+
file1: resolvedFile1,
|
|
46
|
+
file2: resolvedFile2,
|
|
41
47
|
sharedSymbols: row?.shared ?? 0
|
|
42
48
|
};
|
|
43
49
|
}
|
|
@@ -75,4 +81,4 @@ export {
|
|
|
75
81
|
coupling,
|
|
76
82
|
topCoupling
|
|
77
83
|
};
|
|
78
|
-
//# sourceMappingURL=chunk-
|
|
84
|
+
//# sourceMappingURL=chunk-KKCHYLVI.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
buildFileDepGraph
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-AXQKUYKF.js";
|
|
4
4
|
|
|
5
5
|
// src/queries/cycles.ts
|
|
6
6
|
function cycles(db, opts = {}) {
|
|
@@ -58,4 +58,4 @@ function cycles(db, opts = {}) {
|
|
|
58
58
|
export {
|
|
59
59
|
cycles
|
|
60
60
|
};
|
|
61
|
-
//# sourceMappingURL=chunk-
|
|
61
|
+
//# sourceMappingURL=chunk-LFJQVJYJ.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getInactiveBarrelPaths,
|
|
3
3
|
isEntrySurface
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-YY4QGUQ5.js";
|
|
5
5
|
import {
|
|
6
6
|
TEST_SUPPORT_PATH_PATTERNS,
|
|
7
7
|
testFileExclusionSql
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-AXQKUYKF.js";
|
|
9
9
|
import {
|
|
10
10
|
shortenSymbol
|
|
11
11
|
} from "./chunk-QIXNAB5K.js";
|
|
@@ -106,4 +106,4 @@ function dead(db, opts = {}) {
|
|
|
106
106
|
export {
|
|
107
107
|
dead
|
|
108
108
|
};
|
|
109
|
-
//# sourceMappingURL=chunk-
|
|
109
|
+
//# sourceMappingURL=chunk-LQJUPXQY.js.map
|
|
@@ -1,16 +1,31 @@
|
|
|
1
|
+
import {
|
|
2
|
+
findFirstSymbolMatch,
|
|
3
|
+
getSourceReferenceSites
|
|
4
|
+
} from "./chunk-AXQKUYKF.js";
|
|
5
|
+
|
|
1
6
|
// src/queries/refs.ts
|
|
2
7
|
function refs(db, symbolPattern) {
|
|
8
|
+
const match = findFirstSymbolMatch(db, symbolPattern);
|
|
9
|
+
if (match) {
|
|
10
|
+
const sourceSites = getSourceReferenceSites(db, match).filter((site) => !db.isIgnored(site.file)).map((site) => ({
|
|
11
|
+
relativePath: site.file,
|
|
12
|
+
line: site.line
|
|
13
|
+
}));
|
|
14
|
+
if (sourceSites.length > 0) {
|
|
15
|
+
return sourceSites;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
3
18
|
const rows = db.all(
|
|
4
19
|
`SELECT DISTINCT d.relative_path, c.start_line
|
|
5
20
|
FROM mentions m
|
|
6
21
|
JOIN chunks c ON m.chunk_id = c.id
|
|
7
22
|
JOIN documents d ON c.document_id = d.id
|
|
8
23
|
JOIN global_symbols gs ON m.symbol_id = gs.id
|
|
9
|
-
WHERE
|
|
24
|
+
WHERE m.symbol_id = ?
|
|
10
25
|
AND ${db.localSymbolPredicate}
|
|
11
26
|
AND m.role != 1
|
|
12
27
|
ORDER BY d.relative_path, c.start_line`,
|
|
13
|
-
|
|
28
|
+
match?.symbolId ?? -1
|
|
14
29
|
);
|
|
15
30
|
return rows.filter((r) => !db.isIgnored(r.relative_path)).map((r) => ({
|
|
16
31
|
relativePath: r.relative_path,
|
|
@@ -21,4 +36,4 @@ function refs(db, symbolPattern) {
|
|
|
21
36
|
export {
|
|
22
37
|
refs
|
|
23
38
|
};
|
|
24
|
-
//# sourceMappingURL=chunk-
|
|
39
|
+
//# sourceMappingURL=chunk-MPGIHELS.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
findFirstSymbolMatch
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-AXQKUYKF.js";
|
|
4
4
|
import {
|
|
5
5
|
isDirectChildSymbol,
|
|
6
6
|
leafSuffix,
|
|
@@ -34,4 +34,4 @@ function members(db, symbolPattern) {
|
|
|
34
34
|
export {
|
|
35
35
|
members
|
|
36
36
|
};
|
|
37
|
-
//# sourceMappingURL=chunk-
|
|
37
|
+
//# sourceMappingURL=chunk-NFS5W3PP.js.map
|
|
@@ -1,17 +1,25 @@
|
|
|
1
1
|
import {
|
|
2
2
|
cleanSignature
|
|
3
3
|
} from "./chunk-4TYLS5XX.js";
|
|
4
|
+
import {
|
|
5
|
+
resolveIndexedPaths
|
|
6
|
+
} from "./chunk-AXQKUYKF.js";
|
|
4
7
|
import {
|
|
5
8
|
shortenSymbol
|
|
6
9
|
} from "./chunk-QIXNAB5K.js";
|
|
7
10
|
|
|
8
11
|
// src/queries/system.ts
|
|
9
12
|
function system(db, modulePattern) {
|
|
13
|
+
const matchedPaths = resolveIndexedPaths(db, modulePattern);
|
|
14
|
+
if (matchedPaths.length === 0) {
|
|
15
|
+
return { files: [], symbols: [], dependsOn: [], dependedOnBy: [] };
|
|
16
|
+
}
|
|
17
|
+
const placeholders = matchedPaths.map(() => "?").join(", ");
|
|
10
18
|
const fileRows = db.all(
|
|
11
19
|
`SELECT relative_path FROM documents
|
|
12
|
-
WHERE relative_path
|
|
20
|
+
WHERE relative_path IN (${placeholders})
|
|
13
21
|
ORDER BY relative_path`,
|
|
14
|
-
|
|
22
|
+
...matchedPaths
|
|
15
23
|
);
|
|
16
24
|
const files = fileRows.map((r) => r.relative_path).filter((p) => !db.isIgnored(p));
|
|
17
25
|
const symbolRows = db.all(
|
|
@@ -20,12 +28,12 @@ function system(db, modulePattern) {
|
|
|
20
28
|
FROM defn_enclosing_ranges der
|
|
21
29
|
JOIN global_symbols gs ON der.symbol_id = gs.id
|
|
22
30
|
JOIN documents d ON der.document_id = d.id
|
|
23
|
-
WHERE d.relative_path
|
|
31
|
+
WHERE d.relative_path IN (${placeholders})
|
|
24
32
|
AND ${db.localSymbolPredicate}
|
|
25
33
|
${db.symbolNoise}
|
|
26
34
|
AND gs.documentation IS NOT NULL
|
|
27
35
|
ORDER BY d.relative_path, der.start_line`,
|
|
28
|
-
|
|
36
|
+
...matchedPaths
|
|
29
37
|
);
|
|
30
38
|
const symbols = symbolRows.map((r) => ({
|
|
31
39
|
startLine: r.start_line,
|
|
@@ -42,12 +50,12 @@ function system(db, modulePattern) {
|
|
|
42
50
|
JOIN global_symbols gs ON m.symbol_id = gs.id
|
|
43
51
|
JOIN defn_enclosing_ranges der ON gs.id = der.symbol_id
|
|
44
52
|
JOIN documents d2 ON der.document_id = d2.id
|
|
45
|
-
WHERE d1.relative_path
|
|
46
|
-
AND d2.relative_path NOT
|
|
53
|
+
WHERE d1.relative_path IN (${placeholders})
|
|
54
|
+
AND d2.relative_path NOT IN (${placeholders})
|
|
47
55
|
AND ${db.localSymbolPredicate}
|
|
48
56
|
ORDER BY d2.relative_path`,
|
|
49
|
-
|
|
50
|
-
|
|
57
|
+
...matchedPaths,
|
|
58
|
+
...matchedPaths
|
|
51
59
|
);
|
|
52
60
|
const dependsOn = depRows.map((r) => r.relative_path).filter((p) => !db.isIgnored(p));
|
|
53
61
|
const rdepRows = db.all(
|
|
@@ -58,11 +66,11 @@ function system(db, modulePattern) {
|
|
|
58
66
|
JOIN global_symbols gs ON m.symbol_id = gs.id
|
|
59
67
|
JOIN defn_enclosing_ranges der ON gs.id = der.symbol_id
|
|
60
68
|
JOIN documents d2 ON der.document_id = d2.id
|
|
61
|
-
WHERE d2.relative_path
|
|
62
|
-
AND d1.relative_path NOT
|
|
69
|
+
WHERE d2.relative_path IN (${placeholders})
|
|
70
|
+
AND d1.relative_path NOT IN (${placeholders})
|
|
63
71
|
ORDER BY d1.relative_path`,
|
|
64
|
-
|
|
65
|
-
|
|
72
|
+
...matchedPaths,
|
|
73
|
+
...matchedPaths
|
|
66
74
|
);
|
|
67
75
|
const dependedOnBy = rdepRows.map((r) => r.relative_path).filter((p) => !db.isIgnored(p));
|
|
68
76
|
return { files, symbols, dependsOn, dependedOnBy };
|
|
@@ -71,4 +79,4 @@ function system(db, modulePattern) {
|
|
|
71
79
|
export {
|
|
72
80
|
system
|
|
73
81
|
};
|
|
74
|
-
//# sourceMappingURL=chunk-
|
|
82
|
+
//# sourceMappingURL=chunk-O7Q7FDUJ.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
findFirstSymbolMatch,
|
|
3
3
|
getCalleeRowsForSymbol
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-AXQKUYKF.js";
|
|
5
5
|
import {
|
|
6
6
|
isFunctionLikeSymbol,
|
|
7
7
|
shortenSymbol
|
|
@@ -195,4 +195,4 @@ export {
|
|
|
195
195
|
similar,
|
|
196
196
|
similarAll
|
|
197
197
|
};
|
|
198
|
-
//# sourceMappingURL=chunk-
|
|
198
|
+
//# sourceMappingURL=chunk-OIDHN6GD.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isLiveBarrel
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-YY4QGUQ5.js";
|
|
4
4
|
import {
|
|
5
5
|
shortenSymbol
|
|
6
6
|
} from "./chunk-QIXNAB5K.js";
|
|
@@ -102,4 +102,4 @@ function redundantReexports(db, opts = {}) {
|
|
|
102
102
|
export {
|
|
103
103
|
redundantReexports
|
|
104
104
|
};
|
|
105
|
-
//# sourceMappingURL=chunk-
|
|
105
|
+
//# sourceMappingURL=chunk-P3E6L7KW.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
testFileExclusionSql
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-AXQKUYKF.js";
|
|
4
4
|
import {
|
|
5
5
|
shortenSymbol
|
|
6
6
|
} from "./chunk-QIXNAB5K.js";
|
|
@@ -61,4 +61,4 @@ function staleAbstractions(db, opts) {
|
|
|
61
61
|
export {
|
|
62
62
|
staleAbstractions
|
|
63
63
|
};
|
|
64
|
-
//# sourceMappingURL=chunk-
|
|
64
|
+
//# sourceMappingURL=chunk-P4WO3BBW.js.map
|
|
@@ -1,15 +1,20 @@
|
|
|
1
|
+
import {
|
|
2
|
+
resolveIndexedFile
|
|
3
|
+
} from "./chunk-AXQKUYKF.js";
|
|
1
4
|
import {
|
|
2
5
|
shortenSymbol
|
|
3
6
|
} from "./chunk-QIXNAB5K.js";
|
|
4
7
|
|
|
5
8
|
// src/queries/change-surface.ts
|
|
6
9
|
function changeSurface(db, filePattern) {
|
|
10
|
+
const resolvedFile = resolveIndexedFile(db, filePattern);
|
|
11
|
+
if (!resolvedFile) return null;
|
|
7
12
|
const doc = db.get(
|
|
8
13
|
`SELECT id, relative_path FROM documents
|
|
9
|
-
WHERE relative_path
|
|
14
|
+
WHERE relative_path = ?
|
|
10
15
|
${db.pathExclusionsFor("documents")}
|
|
11
16
|
LIMIT 1`,
|
|
12
|
-
|
|
17
|
+
resolvedFile
|
|
13
18
|
);
|
|
14
19
|
if (!doc || db.isIgnored(doc.relative_path)) return null;
|
|
15
20
|
const syms = db.all(
|
|
@@ -63,4 +68,4 @@ function changeSurface(db, filePattern) {
|
|
|
63
68
|
export {
|
|
64
69
|
changeSurface
|
|
65
70
|
};
|
|
66
|
-
//# sourceMappingURL=chunk-
|
|
71
|
+
//# sourceMappingURL=chunk-SMDCNPMK.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
findFirstSymbolMatch,
|
|
3
3
|
getCalleeRowsForSymbol
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-AXQKUYKF.js";
|
|
5
5
|
import {
|
|
6
6
|
shortenSymbol
|
|
7
7
|
} from "./chunk-QIXNAB5K.js";
|
|
@@ -107,4 +107,4 @@ function stripCommentsAndStrings(source) {
|
|
|
107
107
|
export {
|
|
108
108
|
complexity
|
|
109
109
|
};
|
|
110
|
-
//# sourceMappingURL=chunk-
|
|
110
|
+
//# sourceMappingURL=chunk-UGQKAVCD.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isEntrySurface
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-YY4QGUQ5.js";
|
|
4
4
|
import {
|
|
5
5
|
testFileExclusionSql
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-AXQKUYKF.js";
|
|
7
7
|
import {
|
|
8
8
|
shortenSymbol
|
|
9
9
|
} from "./chunk-QIXNAB5K.js";
|
|
@@ -57,4 +57,4 @@ function isolated(db, opts = {}) {
|
|
|
57
57
|
export {
|
|
58
58
|
isolated
|
|
59
59
|
};
|
|
60
|
-
//# sourceMappingURL=chunk-
|
|
60
|
+
//# sourceMappingURL=chunk-UQEQ6AHX.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
testFileExclusionSql
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-AXQKUYKF.js";
|
|
4
4
|
import {
|
|
5
5
|
shortenSymbol
|
|
6
6
|
} from "./chunk-QIXNAB5K.js";
|
|
@@ -99,4 +99,4 @@ function complexityHotspots(db, opts) {
|
|
|
99
99
|
export {
|
|
100
100
|
complexityHotspots
|
|
101
101
|
};
|
|
102
|
-
//# sourceMappingURL=chunk-
|
|
102
|
+
//# sourceMappingURL=chunk-VIYSWZCO.js.map
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import {
|
|
2
|
+
findExactSymbolMatch,
|
|
3
|
+
findFirstSymbolMatch,
|
|
4
|
+
getSourceReferenceSites
|
|
5
|
+
} from "./chunk-AXQKUYKF.js";
|
|
6
|
+
import {
|
|
7
|
+
shortenSymbol
|
|
8
|
+
} from "./chunk-QIXNAB5K.js";
|
|
9
|
+
|
|
10
|
+
// src/queries/affected.ts
|
|
11
|
+
function affected(db, symbolPattern, opts = {}) {
|
|
12
|
+
const { maxDepth = 5, scope } = opts;
|
|
13
|
+
const target = findFirstSymbolMatch(db, symbolPattern);
|
|
14
|
+
if (!target) return [];
|
|
15
|
+
const results = [];
|
|
16
|
+
const visited = /* @__PURE__ */ new Set([target.symbolId]);
|
|
17
|
+
const seenResults = /* @__PURE__ */ new Set();
|
|
18
|
+
let frontier = [target];
|
|
19
|
+
for (let depth = 1; depth <= maxDepth; depth++) {
|
|
20
|
+
if (frontier.length === 0) break;
|
|
21
|
+
const nextFrontier = [];
|
|
22
|
+
for (const current of frontier) {
|
|
23
|
+
for (const row of getDirectAffectedRows(db, current, scope)) {
|
|
24
|
+
const resultKey = `${row.file}|${row.shortName}`;
|
|
25
|
+
if (row.symbolId !== null) {
|
|
26
|
+
if (visited.has(row.symbolId)) continue;
|
|
27
|
+
visited.add(row.symbolId);
|
|
28
|
+
} else if (seenResults.has(resultKey)) {
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
seenResults.add(resultKey);
|
|
32
|
+
results.push({
|
|
33
|
+
symbol: row.symbol,
|
|
34
|
+
shortName: row.shortName,
|
|
35
|
+
file: row.file,
|
|
36
|
+
depth
|
|
37
|
+
});
|
|
38
|
+
if (row.symbolId !== null && row.symbolMatch) {
|
|
39
|
+
nextFrontier.push(row.symbolMatch);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
frontier = nextFrontier;
|
|
44
|
+
}
|
|
45
|
+
results.sort((a, b) => a.depth - b.depth || a.file.localeCompare(b.file));
|
|
46
|
+
return results;
|
|
47
|
+
}
|
|
48
|
+
function getDirectAffectedRows(db, target, scope) {
|
|
49
|
+
const sourceSites = getSourceReferenceSites(db, target).filter((site) => !db.isIgnored(site.file)).filter((site) => !scope || site.file.includes(scope));
|
|
50
|
+
if (sourceSites.length > 0) {
|
|
51
|
+
const rows2 = [];
|
|
52
|
+
const seen = /* @__PURE__ */ new Set();
|
|
53
|
+
for (const site of sourceSites) {
|
|
54
|
+
if (!site.enclosingSymbol || site.enclosingSymbol === target.symbol) {
|
|
55
|
+
const key2 = `${site.file}|(top-level)`;
|
|
56
|
+
if (seen.has(key2)) continue;
|
|
57
|
+
seen.add(key2);
|
|
58
|
+
rows2.push({
|
|
59
|
+
symbolId: null,
|
|
60
|
+
symbol: site.file,
|
|
61
|
+
shortName: "(top-level)",
|
|
62
|
+
file: site.file,
|
|
63
|
+
symbolMatch: null
|
|
64
|
+
});
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
const enclosing = findExactSymbolMatch(db, site.enclosingSymbol);
|
|
68
|
+
if (!enclosing || enclosing.symbolId === target.symbolId || db.isIgnored(enclosing.relativePath)) {
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
const key = `${enclosing.symbolId}|${enclosing.relativePath}`;
|
|
72
|
+
if (seen.has(key)) continue;
|
|
73
|
+
seen.add(key);
|
|
74
|
+
rows2.push({
|
|
75
|
+
symbolId: enclosing.symbolId,
|
|
76
|
+
symbol: enclosing.symbol,
|
|
77
|
+
shortName: shortenSymbol(enclosing.symbol),
|
|
78
|
+
file: enclosing.relativePath,
|
|
79
|
+
symbolMatch: enclosing
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
return rows2;
|
|
83
|
+
}
|
|
84
|
+
const rows = db.all(
|
|
85
|
+
`SELECT DISTINCT
|
|
86
|
+
enc_gs.id AS symbol_id,
|
|
87
|
+
enc_gs.symbol AS symbol,
|
|
88
|
+
enc_d.relative_path AS relative_path
|
|
89
|
+
FROM mentions m
|
|
90
|
+
JOIN chunks c ON m.chunk_id = c.id
|
|
91
|
+
JOIN documents ref_d ON c.document_id = ref_d.id
|
|
92
|
+
JOIN defn_enclosing_ranges enc_der
|
|
93
|
+
ON enc_der.document_id = ref_d.id
|
|
94
|
+
AND c.start_line >= enc_der.start_line
|
|
95
|
+
AND c.end_line <= enc_der.end_line
|
|
96
|
+
JOIN global_symbols enc_gs ON enc_der.symbol_id = enc_gs.id
|
|
97
|
+
JOIN documents enc_d ON enc_der.document_id = enc_d.id
|
|
98
|
+
WHERE m.symbol_id = ?
|
|
99
|
+
AND m.role != 1
|
|
100
|
+
AND enc_gs.id != ?
|
|
101
|
+
${db.symbolNoiseFor("enc_gs")}
|
|
102
|
+
${db.pathExclusionsFor("enc_d")}
|
|
103
|
+
${scope ? `AND enc_d.relative_path LIKE '%${scope}%'` : ""}
|
|
104
|
+
ORDER BY enc_d.relative_path
|
|
105
|
+
LIMIT 1`,
|
|
106
|
+
target.symbolId,
|
|
107
|
+
target.symbolId
|
|
108
|
+
);
|
|
109
|
+
return rows.filter((row) => !db.isIgnored(row.relative_path)).map((row) => ({
|
|
110
|
+
symbolId: row.symbol_id,
|
|
111
|
+
symbol: row.symbol,
|
|
112
|
+
shortName: shortenSymbol(row.symbol),
|
|
113
|
+
file: row.relative_path,
|
|
114
|
+
symbolMatch: findExactSymbolMatch(db, row.symbol)
|
|
115
|
+
}));
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
export {
|
|
119
|
+
affected
|
|
120
|
+
};
|
|
121
|
+
//# sourceMappingURL=chunk-VJJKSGIX.js.map
|
|
@@ -1,5 +1,13 @@
|
|
|
1
|
+
import {
|
|
2
|
+
resolveIndexedFile
|
|
3
|
+
} from "./chunk-AXQKUYKF.js";
|
|
4
|
+
|
|
1
5
|
// src/queries/deps.ts
|
|
2
6
|
function deps(db, filePattern) {
|
|
7
|
+
const resolvedFile = resolveIndexedFile(db, filePattern);
|
|
8
|
+
if (!resolvedFile) {
|
|
9
|
+
return [];
|
|
10
|
+
}
|
|
3
11
|
const rows = db.all(
|
|
4
12
|
`SELECT DISTINCT d2.relative_path
|
|
5
13
|
FROM mentions m
|
|
@@ -8,15 +16,19 @@ function deps(db, filePattern) {
|
|
|
8
16
|
JOIN global_symbols gs ON m.symbol_id = gs.id
|
|
9
17
|
JOIN defn_enclosing_ranges der ON gs.id = der.symbol_id
|
|
10
18
|
JOIN documents d2 ON der.document_id = d2.id
|
|
11
|
-
WHERE d1.relative_path
|
|
19
|
+
WHERE d1.relative_path = ?
|
|
12
20
|
AND d2.relative_path <> d1.relative_path
|
|
13
21
|
AND ${db.localSymbolPredicate}
|
|
14
22
|
ORDER BY d2.relative_path`,
|
|
15
|
-
|
|
23
|
+
resolvedFile
|
|
16
24
|
);
|
|
17
25
|
return rows.filter((r) => !db.isIgnored(r.relative_path)).map((r) => ({ relativePath: r.relative_path }));
|
|
18
26
|
}
|
|
19
27
|
function rdeps(db, filePattern) {
|
|
28
|
+
const resolvedFile = resolveIndexedFile(db, filePattern);
|
|
29
|
+
if (!resolvedFile) {
|
|
30
|
+
return [];
|
|
31
|
+
}
|
|
20
32
|
const rows = db.all(
|
|
21
33
|
`SELECT DISTINCT d1.relative_path
|
|
22
34
|
FROM mentions m
|
|
@@ -25,11 +37,11 @@ function rdeps(db, filePattern) {
|
|
|
25
37
|
JOIN global_symbols gs ON m.symbol_id = gs.id
|
|
26
38
|
JOIN defn_enclosing_ranges der ON gs.id = der.symbol_id
|
|
27
39
|
JOIN documents d2 ON der.document_id = d2.id
|
|
28
|
-
WHERE d2.relative_path
|
|
29
|
-
AND d1.relative_path
|
|
40
|
+
WHERE d2.relative_path = ?
|
|
41
|
+
AND d1.relative_path != ?
|
|
30
42
|
ORDER BY d1.relative_path`,
|
|
31
|
-
|
|
32
|
-
|
|
43
|
+
resolvedFile,
|
|
44
|
+
resolvedFile
|
|
33
45
|
);
|
|
34
46
|
return rows.filter((r) => !db.isIgnored(r.relative_path)).map((r) => ({ relativePath: r.relative_path }));
|
|
35
47
|
}
|
|
@@ -38,4 +50,4 @@ export {
|
|
|
38
50
|
deps,
|
|
39
51
|
rdeps
|
|
40
52
|
};
|
|
41
|
-
//# sourceMappingURL=chunk-
|
|
53
|
+
//# sourceMappingURL=chunk-VT4JBH6L.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
buildFileDepGraph
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-AXQKUYKF.js";
|
|
4
4
|
|
|
5
5
|
// src/queries/similar-chains.ts
|
|
6
6
|
function similarChains(db, opts = {}) {
|
|
@@ -210,4 +210,4 @@ function isSubChain(sub, full) {
|
|
|
210
210
|
export {
|
|
211
211
|
similarChains
|
|
212
212
|
};
|
|
213
|
-
//# sourceMappingURL=chunk-
|
|
213
|
+
//# sourceMappingURL=chunk-WGAD3GNR.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
findFirstSymbolMatch
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-AXQKUYKF.js";
|
|
4
4
|
import {
|
|
5
5
|
parseSymbol,
|
|
6
6
|
shortenSymbol
|
|
@@ -66,4 +66,4 @@ function hierarchy(db, symbolPattern) {
|
|
|
66
66
|
export {
|
|
67
67
|
hierarchy
|
|
68
68
|
};
|
|
69
|
-
//# sourceMappingURL=chunk-
|
|
69
|
+
//# sourceMappingURL=chunk-YDBXNPYU.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
buildFileDepGraph
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-AXQKUYKF.js";
|
|
4
4
|
|
|
5
5
|
// src/entry-surfaces.ts
|
|
6
6
|
var liveBarrelCache = /* @__PURE__ */ new WeakMap();
|
|
@@ -81,4 +81,4 @@ export {
|
|
|
81
81
|
isEntrySurface,
|
|
82
82
|
getInactiveBarrelPaths
|
|
83
83
|
};
|
|
84
|
-
//# sourceMappingURL=chunk-
|
|
84
|
+
//# sourceMappingURL=chunk-YY4QGUQ5.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getCalleeRowsForSymbol,
|
|
3
3
|
testFileExclusionSql
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-AXQKUYKF.js";
|
|
5
5
|
import {
|
|
6
6
|
shortenSymbol
|
|
7
7
|
} from "./chunk-QIXNAB5K.js";
|
|
@@ -68,4 +68,4 @@ function passthroughCandidates(db, opts) {
|
|
|
68
68
|
export {
|
|
69
69
|
passthroughCandidates
|
|
70
70
|
};
|
|
71
|
-
//# sourceMappingURL=chunk-
|
|
71
|
+
//# sourceMappingURL=chunk-ZEUCXQBN.js.map
|