@optave/codegraph 3.9.3 → 3.9.5
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/README.md +10 -10
- package/dist/ast-analysis/visitor.d.ts.map +1 -1
- package/dist/ast-analysis/visitor.js +14 -0
- package/dist/ast-analysis/visitor.js.map +1 -1
- package/dist/cli/commands/watch.d.ts.map +1 -1
- package/dist/cli/commands/watch.js +2 -0
- package/dist/cli/commands/watch.js.map +1 -1
- package/dist/cli.js +24 -1
- package/dist/cli.js.map +1 -1
- package/dist/domain/graph/builder/context.d.ts +17 -0
- package/dist/domain/graph/builder/context.d.ts.map +1 -1
- package/dist/domain/graph/builder/context.js +7 -0
- package/dist/domain/graph/builder/context.js.map +1 -1
- package/dist/domain/graph/builder/helpers.d.ts +13 -2
- package/dist/domain/graph/builder/helpers.d.ts.map +1 -1
- package/dist/domain/graph/builder/helpers.js +30 -4
- package/dist/domain/graph/builder/helpers.js.map +1 -1
- package/dist/domain/graph/builder/pipeline.d.ts.map +1 -1
- package/dist/domain/graph/builder/pipeline.js +221 -51
- package/dist/domain/graph/builder/pipeline.js.map +1 -1
- package/dist/domain/graph/builder/stages/build-edges.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/build-edges.js +67 -6
- package/dist/domain/graph/builder/stages/build-edges.js.map +1 -1
- package/dist/domain/graph/builder/stages/build-structure.js +2 -2
- package/dist/domain/graph/builder/stages/collect-files.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/collect-files.js +58 -26
- package/dist/domain/graph/builder/stages/collect-files.js.map +1 -1
- package/dist/domain/graph/builder/stages/detect-changes.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/detect-changes.js +105 -55
- package/dist/domain/graph/builder/stages/detect-changes.js.map +1 -1
- package/dist/domain/graph/builder/stages/finalize.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/finalize.js +27 -4
- package/dist/domain/graph/builder/stages/finalize.js.map +1 -1
- package/dist/domain/graph/builder/stages/run-analyses.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/run-analyses.js +5 -20
- package/dist/domain/graph/builder/stages/run-analyses.js.map +1 -1
- package/dist/domain/graph/journal.d.ts +15 -0
- package/dist/domain/graph/journal.d.ts.map +1 -1
- package/dist/domain/graph/journal.js +283 -28
- package/dist/domain/graph/journal.js.map +1 -1
- package/dist/domain/graph/watcher.d.ts +17 -0
- package/dist/domain/graph/watcher.d.ts.map +1 -1
- package/dist/domain/graph/watcher.js +23 -7
- package/dist/domain/graph/watcher.js.map +1 -1
- package/dist/domain/parser.d.ts +13 -4
- package/dist/domain/parser.d.ts.map +1 -1
- package/dist/domain/parser.js +174 -80
- package/dist/domain/parser.js.map +1 -1
- package/dist/domain/search/generator.d.ts.map +1 -1
- package/dist/domain/search/generator.js +28 -2
- package/dist/domain/search/generator.js.map +1 -1
- package/dist/domain/wasm-worker-entry.d.ts +24 -0
- package/dist/domain/wasm-worker-entry.d.ts.map +1 -0
- package/dist/domain/wasm-worker-entry.js +643 -0
- package/dist/domain/wasm-worker-entry.js.map +1 -0
- package/dist/domain/wasm-worker-pool.d.ts +59 -0
- package/dist/domain/wasm-worker-pool.d.ts.map +1 -0
- package/dist/domain/wasm-worker-pool.js +312 -0
- package/dist/domain/wasm-worker-pool.js.map +1 -0
- package/dist/domain/wasm-worker-protocol.d.ts +65 -0
- package/dist/domain/wasm-worker-protocol.d.ts.map +1 -0
- package/dist/domain/wasm-worker-protocol.js +13 -0
- package/dist/domain/wasm-worker-protocol.js.map +1 -0
- package/dist/extractors/javascript.js +265 -1
- package/dist/extractors/javascript.js.map +1 -1
- package/dist/features/boundaries.d.ts +2 -2
- package/dist/features/boundaries.d.ts.map +1 -1
- package/dist/features/boundaries.js +2 -31
- package/dist/features/boundaries.js.map +1 -1
- package/dist/features/snapshot.d.ts.map +1 -1
- package/dist/features/snapshot.js +99 -13
- package/dist/features/snapshot.js.map +1 -1
- package/dist/features/structure.d.ts.map +1 -1
- package/dist/features/structure.js +14 -1
- package/dist/features/structure.js.map +1 -1
- package/dist/graph/algorithms/louvain.d.ts.map +1 -1
- package/dist/graph/algorithms/louvain.js +2 -4
- package/dist/graph/algorithms/louvain.js.map +1 -1
- package/dist/infrastructure/config.d.ts.map +1 -1
- package/dist/infrastructure/config.js +12 -2
- package/dist/infrastructure/config.js.map +1 -1
- package/dist/shared/globs.d.ts +40 -0
- package/dist/shared/globs.d.ts.map +1 -0
- package/dist/shared/globs.js +126 -0
- package/dist/shared/globs.js.map +1 -0
- package/dist/types.d.ts +26 -1
- package/dist/types.d.ts.map +1 -1
- package/grammars/tree-sitter-c_sharp.wasm +0 -0
- package/package.json +7 -7
- package/src/ast-analysis/visitor.ts +15 -0
- package/src/cli/commands/watch.ts +2 -0
- package/src/cli.ts +31 -8
- package/src/domain/graph/builder/context.ts +19 -0
- package/src/domain/graph/builder/helpers.ts +53 -3
- package/src/domain/graph/builder/pipeline.ts +235 -49
- package/src/domain/graph/builder/stages/build-edges.ts +80 -6
- package/src/domain/graph/builder/stages/build-structure.ts +2 -2
- package/src/domain/graph/builder/stages/collect-files.ts +56 -26
- package/src/domain/graph/builder/stages/detect-changes.ts +118 -61
- package/src/domain/graph/builder/stages/finalize.ts +27 -4
- package/src/domain/graph/builder/stages/run-analyses.ts +5 -26
- package/src/domain/graph/journal.ts +284 -27
- package/src/domain/graph/watcher.ts +29 -9
- package/src/domain/parser.ts +166 -73
- package/src/domain/search/generator.ts +34 -2
- package/src/domain/wasm-worker-entry.ts +788 -0
- package/src/domain/wasm-worker-pool.ts +330 -0
- package/src/domain/wasm-worker-protocol.ts +81 -0
- package/src/extractors/javascript.ts +290 -1
- package/src/features/boundaries.ts +2 -27
- package/src/features/snapshot.ts +93 -14
- package/src/features/structure.ts +17 -1
- package/src/graph/algorithms/louvain.ts +2 -4
- package/src/infrastructure/config.ts +12 -2
- package/src/shared/globs.ts +121 -0
- package/src/types.ts +26 -1
package/README.md
CHANGED
|
@@ -617,18 +617,18 @@ Codegraph also extracts symbols from common callback patterns: Commander `.comma
|
|
|
617
617
|
|
|
618
618
|
Self-measured on every release via CI ([build benchmarks](generated/benchmarks/BUILD-BENCHMARKS.md) | [embedding benchmarks](generated/benchmarks/EMBEDDING-BENCHMARKS.md) | [query benchmarks](generated/benchmarks/QUERY-BENCHMARKS.md) | [incremental benchmarks](generated/benchmarks/INCREMENTAL-BENCHMARKS.md) | [resolution precision/recall](tests/benchmarks/resolution/)):
|
|
619
619
|
|
|
620
|
-
*Last updated: v3.9.
|
|
620
|
+
*Last updated: v3.9.4 (2026-04-18)*
|
|
621
621
|
|
|
622
622
|
| Metric | Native | WASM |
|
|
623
623
|
|---|---|---|
|
|
624
|
-
| Build speed | **
|
|
625
|
-
| Query time | **
|
|
626
|
-
| No-op rebuild | **
|
|
627
|
-
| 1-file rebuild | **
|
|
628
|
-
| Query: fn-deps | **2.
|
|
629
|
-
| Query: path | **2.
|
|
630
|
-
| ~50,000 files (est.) | **~
|
|
631
|
-
| Resolution precision | **90.
|
|
624
|
+
| Build speed | **3.2 ms/file** | **16.3 ms/file** |
|
|
625
|
+
| Query time | **29ms** | **44ms** |
|
|
626
|
+
| No-op rebuild | **10ms** | **21ms** |
|
|
627
|
+
| 1-file rebuild | **400ms** | **64ms** |
|
|
628
|
+
| Query: fn-deps | **2.5ms** | **2.2ms** |
|
|
629
|
+
| Query: path | **2.4ms** | **2.2ms** |
|
|
630
|
+
| ~50,000 files (est.) | **~160.0s build** | **~815.0s build** |
|
|
631
|
+
| Resolution precision | **90.3%** | — |
|
|
632
632
|
| Resolution recall | **42.9%** | — |
|
|
633
633
|
|
|
634
634
|
Metrics are normalized per file for cross-version comparability. Times above are for a full initial build — incremental rebuilds only re-parse changed files.
|
|
@@ -638,7 +638,7 @@ Metrics are normalized per file for cross-version comparability. Times above are
|
|
|
638
638
|
| Language | Precision | Recall | TP | FP | FN | Edges | Dynamic |
|
|
639
639
|
|----------|----------:|-------:|---:|---:|---:|------:|--------:|
|
|
640
640
|
| javascript | 100.0% | 66.7% | 12 | 0 | 6 | 18 | 14/28 |
|
|
641
|
-
| typescript |
|
|
641
|
+
| typescript | 93.8% | 75.0% | 15 | 1 | 5 | 20 | — |
|
|
642
642
|
| bash | 100.0% | 100.0% | 12 | 0 | 0 | 12 | 0/1 |
|
|
643
643
|
| c | 100.0% | 100.0% | 9 | 0 | 0 | 9 | — |
|
|
644
644
|
| clojure | 80.0% | 26.7% | 4 | 1 | 11 | 15 | — |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visitor.d.ts","sourceRoot":"","sources":["../../src/ast-analysis/visitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"visitor.d.ts","sourceRoot":"","sources":["../../src/ast-analysis/visitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAEV,cAAc,EACd,OAAO,EAEP,WAAW,EACX,WAAW,EACZ,MAAM,aAAa,CAAC;AAqIrB;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,WAAgB,GACxB,WAAW,CAgEb"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* The walker maintains shared context (nestingLevel, scopeStack, currentFunction)
|
|
11
11
|
* so individual visitors don't need to track traversal state themselves.
|
|
12
12
|
*/
|
|
13
|
+
import { debug } from '../infrastructure/logger.js';
|
|
13
14
|
/** Merge each visitor's custom functionNodeTypes into the master set. */
|
|
14
15
|
function mergeFunctionNodeTypes(visitors, base) {
|
|
15
16
|
const merged = new Set(base);
|
|
@@ -82,6 +83,15 @@ function dispatchExitFunction(visitors, skipDepths, node, funcName, context, dep
|
|
|
82
83
|
}
|
|
83
84
|
}
|
|
84
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* Maximum AST depth before walk() bails out. WASM-backed tree-sitter parsers
|
|
88
|
+
* have a smaller stack than native V8 (~64-256 KB). Deep recursion in
|
|
89
|
+
* generated code, deeply nested object literals, or pathologically large
|
|
90
|
+
* switch statements can exhaust that stack, causing a V8 fatal error /
|
|
91
|
+
* segfault (#931). 500 levels is well beyond any realistic hand-written
|
|
92
|
+
* code while staying safely inside the WASM stack budget.
|
|
93
|
+
*/
|
|
94
|
+
const MAX_WALK_DEPTH = 500;
|
|
85
95
|
/** Collect finish() results from all visitors into a name-keyed map. */
|
|
86
96
|
function collectResults(visitors) {
|
|
87
97
|
const results = {};
|
|
@@ -118,6 +128,10 @@ export function walkWithVisitors(rootNode, visitors, langId, options = {}) {
|
|
|
118
128
|
function walk(node, depth) {
|
|
119
129
|
if (!node)
|
|
120
130
|
return;
|
|
131
|
+
if (depth > MAX_WALK_DEPTH) {
|
|
132
|
+
debug(`walkWithVisitors: AST depth limit (${MAX_WALK_DEPTH}) hit — subtree truncated`);
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
121
135
|
const type = node.type;
|
|
122
136
|
const isFuncBoundary = allFuncTypes.has(type);
|
|
123
137
|
let funcName = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visitor.js","sourceRoot":"","sources":["../../src/ast-analysis/visitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"visitor.js","sourceRoot":"","sources":["../../src/ast-analysis/visitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAUpD,yEAAyE;AACzE,SAAS,sBAAsB,CAAC,QAAmB,EAAE,IAAiB;IACpE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC;YACxB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,iBAAiB;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,oDAAoD;AACpD,SAAS,YAAY,CAAC,QAAmB,EAAE,MAAc;IACvD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,IAAI;YAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,sEAAsE;AACtE,SAAS,SAAS,CAChB,UAA+B,EAC/B,YAAoB,EACpB,YAAoB;IAEpB,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC5C,gEAAgE;IAChE,+EAA+E;IAC/E,OAAO,MAAM,KAAK,SAAS,IAAI,YAAY,GAAG,MAAM,CAAC;AACvD,CAAC;AAED,gEAAgE;AAChE,SAAS,qBAAqB,CAC5B,QAAmB,EACnB,UAA+B,EAC/B,IAAoB,EACpB,QAAuB,EACvB,OAAuB,EACvB,KAAa;IAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;QACvB,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;YACxD,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;AACH,CAAC;AAED,gEAAgE;AAChE,SAAS,iBAAiB,CACxB,QAAmB,EACnB,UAA+B,EAC/B,IAAoB,EACpB,OAAuB,EACvB,KAAa;IAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;QACvB,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC1C,IAAI,MAAM,EAAE,YAAY,EAAE,CAAC;gBACzB,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,2DAA2D;AAC3D,SAAS,gBAAgB,CACvB,QAAmB,EACnB,UAA+B,EAC/B,IAAoB,EACpB,OAAuB,EACvB,KAAa;IAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;QACvB,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;YACnD,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;AACH,CAAC;AAED,yEAAyE;AACzE,SAAS,cAAc,CACrB,UAA+B,EAC/B,YAAoB,EACpB,KAAa;IAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;YAChC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;AACH,CAAC;AAED,+DAA+D;AAC/D,SAAS,oBAAoB,CAC3B,QAAmB,EACnB,UAA+B,EAC/B,IAAoB,EACpB,QAAuB,EACvB,OAAuB,EACvB,KAAa;IAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;QACvB,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;YACvD,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,wEAAwE;AACxE,SAAS,cAAc,CAAC,QAAmB;IACzC,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACtD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAwB,EACxB,QAAmB,EACnB,MAAc,EACd,UAAuB,EAAE;IAEzB,MAAM,EACJ,iBAAiB,GAAG,IAAI,GAAG,EAAU,EACrC,gBAAgB,GAAG,IAAI,GAAG,EAAU,EACpC,eAAe,GAAG,GAAG,EAAE,CAAC,IAAI,GAC7B,GAAG,OAAO,CAAC;IAEZ,MAAM,YAAY,GAAG,sBAAsB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IACzE,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAE/B,8CAA8C;IAC9C,MAAM,UAAU,GAAiB,EAAE,CAAC;IACpC,MAAM,OAAO,GAAmB;QAC9B,YAAY,EAAE,CAAC;QACf,eAAe,EAAE,IAAI;QACrB,MAAM;QACN,UAAU;KACX,CAAC;IAEF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE7C,SAAS,IAAI,CAAC,IAA2B,EAAE,KAAa;QACtD,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,KAAK,GAAG,cAAc,EAAE,CAAC;YAC3B,KAAK,CAAC,sCAAsC,cAAc,2BAA2B,CAAC,CAAC;YACvF,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,QAAQ,GAAkB,IAAI,CAAC;QAEnC,IAAI,cAAc,EAAE,CAAC;YACnB,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;YACjC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;YAC/B,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;YACpF,qBAAqB,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9E,CAAC;QAED,iBAAiB,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAE9D,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,WAAW;YAAE,OAAO,CAAC,YAAY,EAAE,CAAC;QAExC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,WAAW;YAAE,OAAO,CAAC,YAAY,EAAE,CAAC;QAExC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC7D,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAEnD,IAAI,cAAc,EAAE,CAAC;YACnB,oBAAoB,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAC3E,UAAU,CAAC,GAAG,EAAE,CAAC;YACjB,OAAO,CAAC,eAAe;gBACrB,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAElB,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/watch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,eAAO,MAAM,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/watch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,eAAO,MAAM,OAAO,EAAE,iBAwBrB,CAAC"}
|
|
@@ -4,6 +4,7 @@ export const command = {
|
|
|
4
4
|
name: 'watch [dir]',
|
|
5
5
|
description: 'Watch project for file changes and incrementally update the graph',
|
|
6
6
|
options: [
|
|
7
|
+
['-d, --db <path>', 'Path to graph.db'],
|
|
7
8
|
['--poll', 'Use stat-based polling (default on Windows to avoid ReFS/Dev Drive crashes)'],
|
|
8
9
|
['--native', 'Force native OS file watchers instead of polling'],
|
|
9
10
|
['--poll-interval <ms>', 'Polling interval in milliseconds (default: 2000)'],
|
|
@@ -20,6 +21,7 @@ export const command = {
|
|
|
20
21
|
engine,
|
|
21
22
|
poll,
|
|
22
23
|
pollInterval: opts.pollInterval ? Number(opts.pollInterval) : undefined,
|
|
24
|
+
dbPath: opts.db ? path.resolve(opts.db) : undefined,
|
|
23
25
|
});
|
|
24
26
|
},
|
|
25
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/cli/commands/watch.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAG7D,MAAM,CAAC,MAAM,OAAO,GAAsB;IACxC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,mEAAmE;IAChF,OAAO,EAAE;QACP,CAAC,QAAQ,EAAE,6EAA6E,CAAC;QACzF,CAAC,UAAU,EAAE,kDAAkD,CAAC;QAChE,CAAC,sBAAsB,EAAE,kDAAkD,CAAC;KAC7E;IACD,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;QACzC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7B,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAClE,CAAC;QACD,kFAAkF;QAClF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,MAAM,YAAY,CAAC,IAAI,EAAE;YACvB,MAAM;YACN,IAAI;YACJ,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/cli/commands/watch.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAG7D,MAAM,CAAC,MAAM,OAAO,GAAsB;IACxC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,mEAAmE;IAChF,OAAO,EAAE;QACP,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;QACvC,CAAC,QAAQ,EAAE,6EAA6E,CAAC;QACzF,CAAC,UAAU,EAAE,kDAAkD,CAAC;QAChE,CAAC,sBAAsB,EAAE,kDAAkD,CAAC;KAC7E;IACD,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;QACzC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7B,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAClE,CAAC;QACD,kFAAkF;QAClF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,MAAM,YAAY,CAAC,IAAI,EAAE;YACvB,MAAM;YACN,IAAI;YACJ,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;YACvE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;SACpD,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,29 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { run } from './cli/index.js';
|
|
3
|
+
import { disposeParsers } from './domain/parser.js';
|
|
3
4
|
import { CodegraphError, toErrorMessage } from './shared/errors.js';
|
|
4
|
-
|
|
5
|
+
/**
|
|
6
|
+
* After the CLI command finishes, tear down any cached WASM parsers and the
|
|
7
|
+
* worker thread pool. The WASM parse worker (see `domain/wasm-worker-pool.ts`)
|
|
8
|
+
* keeps the event loop alive until `worker.terminate()` is called, so without
|
|
9
|
+
* this teardown short-lived commands like `codegraph build` would hang for
|
|
10
|
+
* minutes before Node gives up — surfacing in CI as `spawnSync ETIMEDOUT`
|
|
11
|
+
* even though the command's work is already complete.
|
|
12
|
+
*
|
|
13
|
+
* `disposeParsers` is safe to call when the pool was never instantiated
|
|
14
|
+
* (e.g. native engine, or commands that never parse): it no-ops cleanly.
|
|
15
|
+
*/
|
|
16
|
+
async function shutdown() {
|
|
17
|
+
try {
|
|
18
|
+
await disposeParsers();
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
/* don't mask the real exit status over a teardown failure */
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
run()
|
|
25
|
+
.then(shutdown)
|
|
26
|
+
.catch(async (err) => {
|
|
5
27
|
if (err instanceof CodegraphError) {
|
|
6
28
|
console.error(`codegraph [${err.code}]: ${err.message}`);
|
|
7
29
|
if (err.file)
|
|
@@ -10,6 +32,7 @@ run().catch((err) => {
|
|
|
10
32
|
else {
|
|
11
33
|
console.error(`codegraph: fatal error — ${toErrorMessage(err)}`);
|
|
12
34
|
}
|
|
35
|
+
await shutdown();
|
|
13
36
|
process.exit(1);
|
|
14
37
|
});
|
|
15
38
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpE,GAAG,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpE;;;;;;;;;;GAUG;AACH,KAAK,UAAU,QAAQ;IACrB,IAAI,CAAC;QACH,MAAM,cAAc,EAAE,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,6DAA6D;IAC/D,CAAC;AACH,CAAC;AAED,GAAG,EAAE;KACF,IAAI,CAAC,QAAQ,CAAC;KACd,KAAK,CAAC,KAAK,EAAE,GAAY,EAAE,EAAE;IAC5B,IAAI,GAAG,YAAY,cAAc,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,IAAI,GAAG,CAAC,IAAI;YAAE,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,4BAA4B,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,QAAQ,EAAE,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -38,10 +38,27 @@ export declare class PipelineContext {
|
|
|
38
38
|
barrelOnlyFiles: Set<string>;
|
|
39
39
|
nodesByName: Map<string, NodeRow[]>;
|
|
40
40
|
nodesByNameAndFile: Map<string, NodeRow[]>;
|
|
41
|
+
/**
|
|
42
|
+
* Edges from reverse-dep files to changed files, saved before purge so they
|
|
43
|
+
* can be reconnected to new node IDs after insertNodes (#932, #933).
|
|
44
|
+
* Eliminates the need to reparse reverse-dep files entirely.
|
|
45
|
+
*/
|
|
46
|
+
savedReverseDepEdges: Array<{
|
|
47
|
+
sourceId: number;
|
|
48
|
+
tgtName: string;
|
|
49
|
+
tgtKind: string;
|
|
50
|
+
tgtFile: string;
|
|
51
|
+
tgtLine: number;
|
|
52
|
+
edgeKind: string;
|
|
53
|
+
confidence: number;
|
|
54
|
+
dynamic: number;
|
|
55
|
+
}>;
|
|
41
56
|
hasEmbeddings: boolean;
|
|
42
57
|
lineCountMap: Map<string, number>;
|
|
43
58
|
timing: {
|
|
44
59
|
setupMs?: number;
|
|
60
|
+
collectMs?: number;
|
|
61
|
+
detectMs?: number;
|
|
45
62
|
parseMs?: number;
|
|
46
63
|
insertMs?: number;
|
|
47
64
|
resolveMs?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/domain/graph/builder/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,UAAU,EACV,eAAe,EACf,WAAW,EACX,cAAc,EACd,cAAc,EACd,OAAO,EACP,WAAW,EACX,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,eAAe;IAE1B,OAAO,EAAG,MAAM,CAAC;IACjB,EAAE,EAAG,qBAAqB,CAAC;IAC3B,MAAM,EAAG,MAAM,CAAC;IAChB,MAAM,EAAG,eAAe,CAAC;IACzB,IAAI,EAAG,cAAc,CAAC;IACtB,UAAU,EAAG,UAAU,CAAC;IACxB,UAAU,EAAG,QAAQ,GAAG,MAAM,CAAC;IAC/B,aAAa,EAAG,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAG,WAAW,CAAC;IACtB,WAAW,EAAG,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAS;IAClC,aAAa,EAAG,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,kFAAkF;IAClF,eAAe,EAAE,OAAO,CAAS;IACjC,gGAAgG;IAChG,gBAAgB,EAAE,OAAO,CAAS;IAGlC,QAAQ,EAAG,MAAM,EAAE,CAAC;IACpB,cAAc,EAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAG7B,WAAW,EAAG,OAAO,CAAC;IACtB,YAAY,EAAG,WAAW,EAAE,CAAC;IAC7B,eAAe,EAAG,cAAc,EAAE,CAAC;IACnC,OAAO,EAAG,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,OAAO,CAAS;IAG3B,UAAU,EAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC1C,WAAW,EAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC3C,YAAY,EAAG,WAAW,EAAE,CAAC;IAG7B,aAAa,EAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAC3C,WAAW,EAAG,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACrC,eAAe,EAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAG9B,WAAW,EAAG,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACrC,kBAAkB,EAAG,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAG5C,aAAa,EAAE,OAAO,CAAS;IAC/B,YAAY,EAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAGnC,MAAM,EAAE;QACN,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;KACnC,CAAM;IACP,UAAU,EAAG,MAAM,CAAC;CACrB"}
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/domain/graph/builder/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,13 @@ export class PipelineContext {
|
|
|
37
37
|
// ── Node lookup (set by insertNodes / buildEdges stages) ───────────
|
|
38
38
|
nodesByName;
|
|
39
39
|
nodesByNameAndFile;
|
|
40
|
+
// ── Reverse-dep edge reconnection (set by detectChanges) ───────────
|
|
41
|
+
/**
|
|
42
|
+
* Edges from reverse-dep files to changed files, saved before purge so they
|
|
43
|
+
* can be reconnected to new node IDs after insertNodes (#932, #933).
|
|
44
|
+
* Eliminates the need to reparse reverse-dep files entirely.
|
|
45
|
+
*/
|
|
46
|
+
savedReverseDepEdges = [];
|
|
40
47
|
// ── Misc state ─────────────────────────────────────────────────────
|
|
41
48
|
hasEmbeddings = false;
|
|
42
49
|
lineCountMap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/domain/graph/builder/context.ts"],"names":[],"mappings":"AAoBA,MAAM,OAAO,eAAe;IAC1B,sEAAsE;IACtE,OAAO,CAAU;IACjB,EAAE,CAAyB;IAC3B,MAAM,CAAU;IAChB,MAAM,CAAmB;IACzB,IAAI,CAAkB;IACtB,UAAU,CAAc;IACxB,UAAU,CAAqB;IAC/B,aAAa,CAAiB;IAC9B,OAAO,CAAe;IACtB,WAAW,CAAW;IACtB,gBAAgB,GAAY,KAAK,CAAC;IAClC,aAAa,CAAU;IACvB,QAAQ,CAAkB;IAC1B,kFAAkF;IAClF,eAAe,GAAY,KAAK,CAAC;IACjC,gGAAgG;IAChG,gBAAgB,GAAY,KAAK,CAAC;IAElC,sEAAsE;IACtE,QAAQ,CAAY;IACpB,cAAc,CAAe;IAE7B,sEAAsE;IACtE,WAAW,CAAW;IACtB,YAAY,CAAiB;IAC7B,eAAe,CAAoB;IACnC,OAAO,CAAY;IACnB,SAAS,GAAY,KAAK,CAAC;IAE3B,sEAAsE;IACtE,UAAU,CAAgC;IAC1C,WAAW,CAAgC;IAC3C,YAAY,CAAiB;IAE7B,sEAAsE;IACtE,aAAa,CAA8B;IAC3C,WAAW,CAA0B;IACrC,eAAe,CAAe;IAE9B,sEAAsE;IACtE,WAAW,CAA0B;IACrC,kBAAkB,CAA0B;IAE5C,sEAAsE;IACtE,aAAa,GAAY,KAAK,CAAC;IAC/B,YAAY,CAAuB;IAEnC,sEAAsE;IACtE,MAAM,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/domain/graph/builder/context.ts"],"names":[],"mappings":"AAoBA,MAAM,OAAO,eAAe;IAC1B,sEAAsE;IACtE,OAAO,CAAU;IACjB,EAAE,CAAyB;IAC3B,MAAM,CAAU;IAChB,MAAM,CAAmB;IACzB,IAAI,CAAkB;IACtB,UAAU,CAAc;IACxB,UAAU,CAAqB;IAC/B,aAAa,CAAiB;IAC9B,OAAO,CAAe;IACtB,WAAW,CAAW;IACtB,gBAAgB,GAAY,KAAK,CAAC;IAClC,aAAa,CAAU;IACvB,QAAQ,CAAkB;IAC1B,kFAAkF;IAClF,eAAe,GAAY,KAAK,CAAC;IACjC,gGAAgG;IAChG,gBAAgB,GAAY,KAAK,CAAC;IAElC,sEAAsE;IACtE,QAAQ,CAAY;IACpB,cAAc,CAAe;IAE7B,sEAAsE;IACtE,WAAW,CAAW;IACtB,YAAY,CAAiB;IAC7B,eAAe,CAAoB;IACnC,OAAO,CAAY;IACnB,SAAS,GAAY,KAAK,CAAC;IAE3B,sEAAsE;IACtE,UAAU,CAAgC;IAC1C,WAAW,CAAgC;IAC3C,YAAY,CAAiB;IAE7B,sEAAsE;IACtE,aAAa,CAA8B;IAC3C,WAAW,CAA0B;IACrC,eAAe,CAAe;IAE9B,sEAAsE;IACtE,WAAW,CAA0B;IACrC,kBAAkB,CAA0B;IAE5C,sEAAsE;IACtE;;;;OAIG;IACH,oBAAoB,GASf,EAAE,CAAC;IAER,sEAAsE;IACtE,aAAa,GAAY,KAAK,CAAC;IAC/B,YAAY,CAAuB;IAEnC,sEAAsE;IACtE,MAAM,GAgBF,EAAE,CAAC;IACP,UAAU,CAAU;CACrB"}
|
|
@@ -1,14 +1,25 @@
|
|
|
1
1
|
import type { BetterSqlite3Database, CodegraphConfig, PathAliases } from '../../../types.js';
|
|
2
2
|
export declare const BUILTIN_RECEIVERS: Set<string>;
|
|
3
|
+
/**
|
|
4
|
+
* Check whether a source file passes the configured include/exclude globs.
|
|
5
|
+
*
|
|
6
|
+
* Patterns are matched against the path relative to the project root,
|
|
7
|
+
* normalized to forward slashes (e.g. `src/foo/bar.ts`). When both lists
|
|
8
|
+
* are set, a file must match at least one include and no exclude.
|
|
9
|
+
*/
|
|
10
|
+
export declare function passesIncludeExclude(relPath: string, includeRegexes: readonly RegExp[], excludeRegexes: readonly RegExp[]): boolean;
|
|
3
11
|
/**
|
|
4
12
|
* Recursively collect all source files under `dir`.
|
|
5
13
|
* When `directories` is a Set, also tracks which directories contain files.
|
|
14
|
+
*
|
|
15
|
+
* The first invocation establishes `dir` as the project root against which
|
|
16
|
+
* `config.include` / `config.exclude` globs are matched.
|
|
6
17
|
*/
|
|
7
|
-
export declare function collectFiles(dir: string, files: string[], config: Partial<CodegraphConfig>, directories: Set<string>, _visited?: Set<string
|
|
18
|
+
export declare function collectFiles(dir: string, files: string[], config: Partial<CodegraphConfig>, directories: Set<string>, _visited?: Set<string>, _rootDir?: string, _includeRegexes?: readonly RegExp[], _excludeRegexes?: readonly RegExp[]): {
|
|
8
19
|
files: string[];
|
|
9
20
|
directories: Set<string>;
|
|
10
21
|
};
|
|
11
|
-
export declare function collectFiles(dir: string, files?: string[], config?: Partial<CodegraphConfig>, directories?: null, _visited?: Set<string
|
|
22
|
+
export declare function collectFiles(dir: string, files?: string[], config?: Partial<CodegraphConfig>, directories?: null, _visited?: Set<string>, _rootDir?: string, _includeRegexes?: readonly RegExp[], _excludeRegexes?: readonly RegExp[]): string[];
|
|
12
23
|
/**
|
|
13
24
|
* Load path aliases from tsconfig.json / jsconfig.json.
|
|
14
25
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/domain/graph/builder/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/domain/graph/builder/helpers.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EACf,WAAW,EAEZ,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,iBAAiB,EAAE,GAAG,CAAC,MAAM,CA6BxC,CAAC;AAaH;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,cAAc,EAAE,SAAS,MAAM,EAAE,GAChC,OAAO,CAIT;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,EAChC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,EACxB,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EACtB,QAAQ,CAAC,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,EACnC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,GAClC;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC;AACjD,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,EAAE,EAChB,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,EACjC,WAAW,CAAC,EAAE,IAAI,EAClB,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EACtB,QAAQ,CAAC,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,EACnC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,GAClC,MAAM,EAAE,CAAC;AA+EZ;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CA4B5D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAOnF;AAQD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,MAAU,GAAG,MAAM,CAa1E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,qBAAqB,EACzB,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,IAAI,CAGN;AA6CD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,IAAI,CAanF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,IAAI,CAanF"}
|
|
@@ -8,7 +8,8 @@ import fs from 'node:fs';
|
|
|
8
8
|
import path from 'node:path';
|
|
9
9
|
import { purgeFilesData } from '../../../db/index.js';
|
|
10
10
|
import { warn } from '../../../infrastructure/logger.js';
|
|
11
|
-
import { EXTENSIONS, IGNORE_DIRS } from '../../../shared/constants.js';
|
|
11
|
+
import { EXTENSIONS, IGNORE_DIRS, normalizePath } from '../../../shared/constants.js';
|
|
12
|
+
import { compileGlobs, matchesAny } from '../../../shared/globs.js';
|
|
12
13
|
export const BUILTIN_RECEIVERS = new Set([
|
|
13
14
|
'console',
|
|
14
15
|
'Math',
|
|
@@ -53,9 +54,29 @@ function shouldSkipEntry(entry, extraIgnore) {
|
|
|
53
54
|
return true;
|
|
54
55
|
return false;
|
|
55
56
|
}
|
|
56
|
-
|
|
57
|
+
/**
|
|
58
|
+
* Check whether a source file passes the configured include/exclude globs.
|
|
59
|
+
*
|
|
60
|
+
* Patterns are matched against the path relative to the project root,
|
|
61
|
+
* normalized to forward slashes (e.g. `src/foo/bar.ts`). When both lists
|
|
62
|
+
* are set, a file must match at least one include and no exclude.
|
|
63
|
+
*/
|
|
64
|
+
export function passesIncludeExclude(relPath, includeRegexes, excludeRegexes) {
|
|
65
|
+
if (includeRegexes.length > 0 && !matchesAny(includeRegexes, relPath))
|
|
66
|
+
return false;
|
|
67
|
+
if (excludeRegexes.length > 0 && matchesAny(excludeRegexes, relPath))
|
|
68
|
+
return false;
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
export function collectFiles(dir, files = [], config = {}, directories = null, _visited = new Set(), _rootDir, _includeRegexes, _excludeRegexes) {
|
|
57
72
|
const trackDirs = directories instanceof Set;
|
|
58
73
|
let hasFiles = false;
|
|
74
|
+
// First call: compute root and compile include/exclude patterns once,
|
|
75
|
+
// then pass them down recursive calls so we don't recompile per directory.
|
|
76
|
+
const rootDir = _rootDir ?? dir;
|
|
77
|
+
const includeRegexes = _includeRegexes ?? compileGlobs(config.include);
|
|
78
|
+
const excludeRegexes = _excludeRegexes ?? compileGlobs(config.exclude);
|
|
79
|
+
const hasGlobFilters = includeRegexes.length > 0 || excludeRegexes.length > 0;
|
|
59
80
|
// Merge config ignoreDirs with defaults
|
|
60
81
|
const extraIgnore = config.ignoreDirs ? new Set(config.ignoreDirs) : null;
|
|
61
82
|
// Detect symlink loops (before I/O to avoid wasted readdirSync)
|
|
@@ -85,13 +106,18 @@ export function collectFiles(dir, files = [], config = {}, directories = null, _
|
|
|
85
106
|
const full = path.join(dir, entry.name);
|
|
86
107
|
if (entry.isDirectory()) {
|
|
87
108
|
if (trackDirs) {
|
|
88
|
-
collectFiles(full, files, config, directories, _visited);
|
|
109
|
+
collectFiles(full, files, config, directories, _visited, rootDir, includeRegexes, excludeRegexes);
|
|
89
110
|
}
|
|
90
111
|
else {
|
|
91
|
-
collectFiles(full, files, config, null, _visited);
|
|
112
|
+
collectFiles(full, files, config, null, _visited, rootDir, includeRegexes, excludeRegexes);
|
|
92
113
|
}
|
|
93
114
|
}
|
|
94
115
|
else if (EXTENSIONS.has(path.extname(entry.name))) {
|
|
116
|
+
if (hasGlobFilters) {
|
|
117
|
+
const rel = normalizePath(path.relative(rootDir, full));
|
|
118
|
+
if (!passesIncludeExclude(rel, includeRegexes, excludeRegexes))
|
|
119
|
+
continue;
|
|
120
|
+
}
|
|
95
121
|
files.push(full);
|
|
96
122
|
hasFiles = true;
|
|
97
123
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/domain/graph/builder/helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/domain/graph/builder/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../../src/domain/graph/builder/pipeline.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../../src/domain/graph/builder/pipeline.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAEV,cAAc,EACd,WAAW,EAIZ,MAAM,mBAAmB,CAAC;AA+4B3B;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAkElC"}
|