@cleocode/nexus 2026.9.8 → 2026.9.10
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/src/code/parser.d.ts +19 -1
- package/dist/src/code/parser.d.ts.map +1 -1
- package/dist/src/code/parser.js +61 -1
- package/dist/src/code/parser.js.map +1 -1
- package/dist/src/intelligence/impact.d.ts +9 -0
- package/dist/src/intelligence/impact.d.ts.map +1 -1
- package/dist/src/intelligence/impact.js +25 -13
- package/dist/src/intelligence/impact.js.map +1 -1
- package/dist/src/pipeline/call-processor.d.ts +4 -1
- package/dist/src/pipeline/call-processor.d.ts.map +1 -1
- package/dist/src/pipeline/call-processor.js +43 -3
- package/dist/src/pipeline/call-processor.js.map +1 -1
- package/dist/src/pipeline/community-processor.d.ts.map +1 -1
- package/dist/src/pipeline/community-processor.js +6 -27
- package/dist/src/pipeline/community-processor.js.map +1 -1
- package/dist/src/pipeline/extractors/typescript-extractor.d.ts +27 -35
- package/dist/src/pipeline/extractors/typescript-extractor.d.ts.map +1 -1
- package/dist/src/pipeline/extractors/typescript-extractor.js +100 -213
- package/dist/src/pipeline/extractors/typescript-extractor.js.map +1 -1
- package/dist/src/pipeline/filesystem-walker.d.ts +9 -5
- package/dist/src/pipeline/filesystem-walker.d.ts.map +1 -1
- package/dist/src/pipeline/filesystem-walker.js +154 -79
- package/dist/src/pipeline/filesystem-walker.js.map +1 -1
- package/dist/src/pipeline/heritage-processor.d.ts.map +1 -1
- package/dist/src/pipeline/heritage-processor.js +29 -4
- package/dist/src/pipeline/heritage-processor.js.map +1 -1
- package/dist/src/pipeline/import-processor.d.ts +28 -6
- package/dist/src/pipeline/import-processor.d.ts.map +1 -1
- package/dist/src/pipeline/import-processor.js +68 -45
- package/dist/src/pipeline/import-processor.js.map +1 -1
- package/dist/src/pipeline/index.d.ts +32 -20
- package/dist/src/pipeline/index.d.ts.map +1 -1
- package/dist/src/pipeline/index.js +173 -148
- package/dist/src/pipeline/index.js.map +1 -1
- package/dist/src/pipeline/knowledge-graph.d.ts +3 -1
- package/dist/src/pipeline/knowledge-graph.d.ts.map +1 -1
- package/dist/src/pipeline/knowledge-graph.js +36 -2
- package/dist/src/pipeline/knowledge-graph.js.map +1 -1
- package/dist/src/pipeline/lexical-scope.d.ts +60 -0
- package/dist/src/pipeline/lexical-scope.d.ts.map +1 -0
- package/dist/src/pipeline/lexical-scope.js +362 -0
- package/dist/src/pipeline/lexical-scope.js.map +1 -0
- package/dist/src/pipeline/parse-loop.d.ts +49 -2
- package/dist/src/pipeline/parse-loop.d.ts.map +1 -1
- package/dist/src/pipeline/parse-loop.js +346 -144
- package/dist/src/pipeline/parse-loop.js.map +1 -1
- package/dist/src/pipeline/processors/access-processor.d.ts +27 -14
- package/dist/src/pipeline/processors/access-processor.d.ts.map +1 -1
- package/dist/src/pipeline/processors/access-processor.js +106 -27
- package/dist/src/pipeline/processors/access-processor.js.map +1 -1
- package/dist/src/pipeline/structure-processor.d.ts.map +1 -1
- package/dist/src/pipeline/structure-processor.js +1 -0
- package/dist/src/pipeline/structure-processor.js.map +1 -1
- package/dist/src/pipeline/symbol-table.d.ts +41 -3
- package/dist/src/pipeline/symbol-table.d.ts.map +1 -1
- package/dist/src/pipeline/symbol-table.js +104 -2
- package/dist/src/pipeline/symbol-table.js.map +1 -1
- package/dist/src/pipeline/workers/parse-worker.d.ts +29 -92
- package/dist/src/pipeline/workers/parse-worker.d.ts.map +1 -1
- package/dist/src/pipeline/workers/parse-worker.js +49 -1110
- package/dist/src/pipeline/workers/parse-worker.js.map +1 -1
- package/dist/src/pipeline/workers/worker-pool.d.ts +6 -4
- package/dist/src/pipeline/workers/worker-pool.d.ts.map +1 -1
- package/dist/src/pipeline/workers/worker-pool.js +112 -22
- package/dist/src/pipeline/workers/worker-pool.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-extractor.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/extractors/typescript-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;
|
|
1
|
+
{"version":3,"file":"typescript-extractor.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/extractors/typescript-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,8 @@
|
|
|
24
24
|
* @task T534
|
|
25
25
|
* @module pipeline/extractors/typescript-extractor
|
|
26
26
|
*/
|
|
27
|
+
import { createHash } from 'node:crypto';
|
|
28
|
+
import { buildLexicalScopeModel } from '../lexical-scope.js';
|
|
27
29
|
// ---------------------------------------------------------------------------
|
|
28
30
|
// Helpers
|
|
29
31
|
// ---------------------------------------------------------------------------
|
|
@@ -112,7 +114,7 @@ const EXPORTABLE_DECLARATION_TYPES = new Set([
|
|
|
112
114
|
'variable_declaration',
|
|
113
115
|
]);
|
|
114
116
|
/**
|
|
115
|
-
* Walk the AST to extract
|
|
117
|
+
* Walk the AST to extract documentary/type declarations; the lexical model supplies callables.
|
|
116
118
|
*
|
|
117
119
|
* @param node - Current AST node
|
|
118
120
|
* @param filePath - File path relative to repo root
|
|
@@ -121,20 +123,6 @@ const EXPORTABLE_DECLARATION_TYPES = new Set([
|
|
|
121
123
|
*/
|
|
122
124
|
function walkDefinitions(node, filePath, language, results) {
|
|
123
125
|
switch (node.type) {
|
|
124
|
-
case 'function_declaration':
|
|
125
|
-
case 'generator_function_declaration': {
|
|
126
|
-
const fn = buildFunctionNode(node, filePath, language);
|
|
127
|
-
if (fn)
|
|
128
|
-
results.push(fn);
|
|
129
|
-
break;
|
|
130
|
-
}
|
|
131
|
-
case 'class_declaration':
|
|
132
|
-
case 'abstract_class_declaration': {
|
|
133
|
-
const classNodes = buildClassNodes(node, filePath, language);
|
|
134
|
-
for (const n of classNodes)
|
|
135
|
-
results.push(n);
|
|
136
|
-
break;
|
|
137
|
-
}
|
|
138
126
|
case 'interface_declaration': {
|
|
139
127
|
for (const n of buildInterfaceNodes(node, filePath, language))
|
|
140
128
|
results.push(n);
|
|
@@ -162,41 +150,6 @@ function walkDefinitions(node, filePath, language, results) {
|
|
|
162
150
|
}
|
|
163
151
|
break;
|
|
164
152
|
}
|
|
165
|
-
case 'lexical_declaration':
|
|
166
|
-
case 'variable_declaration': {
|
|
167
|
-
// Detect `const foo = () => {}` and `const foo = function() {}` patterns
|
|
168
|
-
for (let i = 0; i < node.namedChildCount; i++) {
|
|
169
|
-
const declarator = node.namedChild(i);
|
|
170
|
-
if (!declarator || declarator.type !== 'variable_declarator')
|
|
171
|
-
continue;
|
|
172
|
-
const nameNode = declarator.childForFieldName('name');
|
|
173
|
-
const valueNode = declarator.childForFieldName('value');
|
|
174
|
-
if (!nameNode || !valueNode)
|
|
175
|
-
continue;
|
|
176
|
-
if (valueNode.type !== 'arrow_function' && valueNode.type !== 'function_expression')
|
|
177
|
-
continue;
|
|
178
|
-
const name = nameNode.text;
|
|
179
|
-
if (!name)
|
|
180
|
-
continue;
|
|
181
|
-
const paramsNode = valueNode.childForFieldName('parameters') ??
|
|
182
|
-
valueNode.childForFieldName('formal_parameters');
|
|
183
|
-
const parameters = paramsNode ? extractParamNames(paramsNode) : [];
|
|
184
|
-
results.push({
|
|
185
|
-
id: nodeId(filePath, name),
|
|
186
|
-
kind: 'function',
|
|
187
|
-
name,
|
|
188
|
-
filePath,
|
|
189
|
-
startLine: toLine(node.startPosition.row),
|
|
190
|
-
endLine: toLine(node.endPosition.row),
|
|
191
|
-
language,
|
|
192
|
-
exported: isExported(node),
|
|
193
|
-
parameters,
|
|
194
|
-
returnType: extractReturnType(valueNode),
|
|
195
|
-
docSummary: extractDocSummary(node),
|
|
196
|
-
});
|
|
197
|
-
}
|
|
198
|
-
break;
|
|
199
|
-
}
|
|
200
153
|
default:
|
|
201
154
|
break;
|
|
202
155
|
}
|
|
@@ -209,30 +162,6 @@ function walkDefinitions(node, filePath, language, results) {
|
|
|
209
162
|
}
|
|
210
163
|
}
|
|
211
164
|
}
|
|
212
|
-
/** Build a GraphNode for a function_declaration. */
|
|
213
|
-
function buildFunctionNode(node, filePath, language) {
|
|
214
|
-
const nameNode = node.childForFieldName('name');
|
|
215
|
-
if (!nameNode)
|
|
216
|
-
return null;
|
|
217
|
-
const name = nameNode.text;
|
|
218
|
-
if (!name)
|
|
219
|
-
return null;
|
|
220
|
-
const paramsNode = node.childForFieldName('parameters') ?? node.childForFieldName('formal_parameters');
|
|
221
|
-
const parameters = paramsNode ? extractParamNames(paramsNode) : [];
|
|
222
|
-
return {
|
|
223
|
-
id: nodeId(filePath, name),
|
|
224
|
-
kind: 'function',
|
|
225
|
-
name,
|
|
226
|
-
filePath,
|
|
227
|
-
startLine: toLine(node.startPosition.row),
|
|
228
|
-
endLine: toLine(node.endPosition.row),
|
|
229
|
-
language,
|
|
230
|
-
exported: isExported(node),
|
|
231
|
-
parameters,
|
|
232
|
-
returnType: extractReturnType(node),
|
|
233
|
-
docSummary: extractDocSummary(node),
|
|
234
|
-
};
|
|
235
|
-
}
|
|
236
165
|
/** Build GraphNodes for a class_declaration (class + methods + fields). */
|
|
237
166
|
function buildClassNodes(node, filePath, language) {
|
|
238
167
|
const nameNode = node.childForFieldName('name');
|
|
@@ -698,18 +627,6 @@ export function extractHeritage(root, filePath) {
|
|
|
698
627
|
walkForHeritage(root);
|
|
699
628
|
return results;
|
|
700
629
|
}
|
|
701
|
-
/**
|
|
702
|
-
* AST node types that begin a function/method definition boundary.
|
|
703
|
-
* Used to track the enclosing function when walking call expressions.
|
|
704
|
-
*/
|
|
705
|
-
const ENCLOSING_FUNCTION_TYPES = new Set([
|
|
706
|
-
'function_declaration',
|
|
707
|
-
'function_expression',
|
|
708
|
-
'arrow_function',
|
|
709
|
-
'generator_function_declaration',
|
|
710
|
-
'generator_function',
|
|
711
|
-
'method_definition',
|
|
712
|
-
]);
|
|
713
630
|
/**
|
|
714
631
|
* Count the direct argument nodes inside a `arguments` node.
|
|
715
632
|
* Spread elements (e.g., `...args`) are included in the count.
|
|
@@ -720,136 +637,53 @@ function countArgs(argsNode) {
|
|
|
720
637
|
return argsNode.namedChildCount;
|
|
721
638
|
}
|
|
722
639
|
/**
|
|
723
|
-
*
|
|
724
|
-
*
|
|
725
|
-
*
|
|
726
|
-
*
|
|
727
|
-
*
|
|
728
|
-
*
|
|
640
|
+
* Retain every call expression with shared lexical ownership and binding evidence.
|
|
641
|
+
* @param root - Original native AST root.
|
|
642
|
+
* @param filePath - Repository-relative source identity.
|
|
643
|
+
* @param model - Shared model, or a standalone TS/JS model when omitted.
|
|
644
|
+
* @returns Static call records, including explicit dynamic expressions.
|
|
645
|
+
* @remarks Lexical identity does not prove runtime dispatch or invocation.
|
|
646
|
+
* @example
|
|
647
|
+
* ```ts
|
|
648
|
+
* const calls = extractCalls(tree.rootNode, 'src/auth.ts', model);
|
|
649
|
+
* ```
|
|
729
650
|
*/
|
|
730
|
-
function
|
|
731
|
-
let current = callNode.parent;
|
|
732
|
-
while (current) {
|
|
733
|
-
if (ENCLOSING_FUNCTION_TYPES.has(current.type)) {
|
|
734
|
-
// method_definition: look for a name child
|
|
735
|
-
if (current.type === 'method_definition') {
|
|
736
|
-
const nameNode = current.childForFieldName('name');
|
|
737
|
-
if (nameNode?.text) {
|
|
738
|
-
// Try to find the enclosing class name for qualified ID
|
|
739
|
-
const classBody = current.parent; // class_body
|
|
740
|
-
const classDecl = classBody?.parent; // class_declaration
|
|
741
|
-
if (classDecl &&
|
|
742
|
-
(classDecl.type === 'class_declaration' ||
|
|
743
|
-
classDecl.type === 'abstract_class_declaration')) {
|
|
744
|
-
const classNameNode = classDecl.childForFieldName('name');
|
|
745
|
-
if (classNameNode?.text) {
|
|
746
|
-
return `${filePath}::${classNameNode.text}.${nameNode.text}`;
|
|
747
|
-
}
|
|
748
|
-
}
|
|
749
|
-
return `${filePath}::${nameNode.text}`;
|
|
750
|
-
}
|
|
751
|
-
}
|
|
752
|
-
// function_declaration and generator_function_declaration: named function
|
|
753
|
-
if (current.type === 'function_declaration' ||
|
|
754
|
-
current.type === 'generator_function_declaration') {
|
|
755
|
-
const nameNode = current.childForFieldName('name');
|
|
756
|
-
if (nameNode?.text) {
|
|
757
|
-
return `${filePath}::${nameNode.text}`;
|
|
758
|
-
}
|
|
759
|
-
}
|
|
760
|
-
// function_expression / arrow_function: look at parent variable_declarator
|
|
761
|
-
if (current.type === 'function_expression' || current.type === 'arrow_function') {
|
|
762
|
-
const parent = current.parent;
|
|
763
|
-
if (parent?.type === 'variable_declarator') {
|
|
764
|
-
const nameNode = parent.childForFieldName('name');
|
|
765
|
-
if (nameNode?.text) {
|
|
766
|
-
return `${filePath}::${nameNode.text}`;
|
|
767
|
-
}
|
|
768
|
-
}
|
|
769
|
-
}
|
|
770
|
-
}
|
|
771
|
-
current = current.parent;
|
|
772
|
-
}
|
|
773
|
-
// Top-level (module scope) — use file pseudo-node ID
|
|
774
|
-
return `${filePath}::__file__`;
|
|
775
|
-
}
|
|
776
|
-
/**
|
|
777
|
-
* Walk the full AST of a file and collect all call expressions.
|
|
778
|
-
*
|
|
779
|
-
* Extracted call forms:
|
|
780
|
-
* - `call_expression` with an `identifier` callee → `free` call
|
|
781
|
-
* - `call_expression` with a `member_expression` callee → `member` call
|
|
782
|
-
* - `new_expression` → `constructor` call
|
|
783
|
-
*
|
|
784
|
-
* Ignores calls where the callee is not a simple name (e.g. IIFEs, dynamic
|
|
785
|
-
* expressions). These cannot be resolved without type inference.
|
|
786
|
-
*
|
|
787
|
-
* @param root - AST root node (program node)
|
|
788
|
-
* @param filePath - File path relative to repo root
|
|
789
|
-
* @returns Array of extracted call records
|
|
790
|
-
*/
|
|
791
|
-
export function extractCalls(root, filePath) {
|
|
651
|
+
export function extractCalls(root, filePath, model = buildLexicalScopeModel(root, filePath, createHash('sha256').update(root.text).digest('hex'), 'typescript')) {
|
|
792
652
|
const results = [];
|
|
793
653
|
function walk(node) {
|
|
794
|
-
if (node.type === 'call_expression') {
|
|
795
|
-
const
|
|
796
|
-
const
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
callForm: 'member',
|
|
824
|
-
receiverName,
|
|
825
|
-
});
|
|
826
|
-
}
|
|
827
|
-
}
|
|
828
|
-
}
|
|
829
|
-
}
|
|
830
|
-
else if (node.type === 'new_expression') {
|
|
831
|
-
// Constructor call: new Foo(args)
|
|
832
|
-
const constructorNode = node.childForFieldName('constructor');
|
|
833
|
-
const argsNode = node.childForFieldName('arguments');
|
|
834
|
-
if (constructorNode?.type === 'identifier') {
|
|
835
|
-
const calledName = constructorNode.text;
|
|
836
|
-
if (calledName) {
|
|
837
|
-
results.push({
|
|
838
|
-
filePath,
|
|
839
|
-
calledName,
|
|
840
|
-
sourceId: buildSourceId(node, filePath),
|
|
841
|
-
argCount: argsNode ? countArgs(argsNode) : undefined,
|
|
842
|
-
callForm: 'constructor',
|
|
843
|
-
});
|
|
844
|
-
}
|
|
654
|
+
if (node.type === 'call_expression' || node.type === 'new_expression') {
|
|
655
|
+
const isConstructor = node.type === 'new_expression';
|
|
656
|
+
const callee = node.childForFieldName(isConstructor ? 'constructor' : 'function');
|
|
657
|
+
const args = node.childForFieldName('arguments');
|
|
658
|
+
if (callee) {
|
|
659
|
+
const member = callee.type === 'member_expression';
|
|
660
|
+
const receiver = member ? callee.childForFieldName('object') : null;
|
|
661
|
+
const property = member ? callee.childForFieldName('property') : null;
|
|
662
|
+
const receiverName = receiver?.type === 'identifier' || receiver?.type === 'this' ? receiver.text : undefined;
|
|
663
|
+
const named = callee.type === 'identifier' || (member && property?.type === 'property_identifier');
|
|
664
|
+
const calledName = member && property ? property.text : callee.text;
|
|
665
|
+
const bindingName = member
|
|
666
|
+
? receiverName
|
|
667
|
+
: callee.type === 'identifier'
|
|
668
|
+
? calledName
|
|
669
|
+
: undefined;
|
|
670
|
+
results.push({
|
|
671
|
+
filePath,
|
|
672
|
+
calledName,
|
|
673
|
+
sourceId: model.ownerAt(node.startIndex),
|
|
674
|
+
argCount: args ? countArgs(args) : undefined,
|
|
675
|
+
callForm: isConstructor ? 'constructor' : member ? 'member' : 'free',
|
|
676
|
+
receiverName,
|
|
677
|
+
span: model.spanOf(node),
|
|
678
|
+
generation: model.generation,
|
|
679
|
+
publicationGeneration: model.publicationGeneration,
|
|
680
|
+
lexical: bindingName ? model.resolve(bindingName, node.startIndex) : undefined,
|
|
681
|
+
dynamic: !named || (member && !receiverName),
|
|
682
|
+
});
|
|
845
683
|
}
|
|
846
684
|
}
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
const child = node.namedChild(i);
|
|
850
|
-
if (child)
|
|
851
|
-
walk(child);
|
|
852
|
-
}
|
|
685
|
+
for (const child of node.namedChildren)
|
|
686
|
+
walk(child);
|
|
853
687
|
}
|
|
854
688
|
walk(root);
|
|
855
689
|
return results;
|
|
@@ -864,9 +698,10 @@ export function extractCalls(root, filePath) {
|
|
|
864
698
|
* @param rootNode - The root (program) node of the parsed AST
|
|
865
699
|
* @param filePath - File path relative to the repository root
|
|
866
700
|
* @param language - Language string (`typescript` or `javascript`)
|
|
701
|
+
* @param model - One shared original-source scope model, reused by access extraction.
|
|
867
702
|
* @returns Full extraction result for the file
|
|
868
703
|
*/
|
|
869
|
-
export function extractTypeScript(rootNode, filePath, language) {
|
|
704
|
+
export function extractTypeScript(rootNode, filePath, language, model = buildLexicalScopeModel(rootNode, filePath, createHash('sha256').update(rootNode.text).digest('hex'), language)) {
|
|
870
705
|
const definitions = [];
|
|
871
706
|
// Walk top-level children for definitions
|
|
872
707
|
for (let i = 0; i < rootNode.namedChildCount; i++) {
|
|
@@ -874,9 +709,61 @@ export function extractTypeScript(rootNode, filePath, language) {
|
|
|
874
709
|
if (child)
|
|
875
710
|
walkDefinitions(child, filePath, language, definitions);
|
|
876
711
|
}
|
|
712
|
+
// Preserve documentary/type declarations. Callable identities come exclusively
|
|
713
|
+
// from the shared model, including nested functions and object callbacks.
|
|
714
|
+
const scopeOwners = new Map(model.scopes.map((scope) => [scope.id, scope.ownerId]));
|
|
715
|
+
const parametersByOwner = new Map();
|
|
716
|
+
for (const binding of model.bindings) {
|
|
717
|
+
if (binding.kind !== 'parameter')
|
|
718
|
+
continue;
|
|
719
|
+
const owner = scopeOwners.get(binding.scopeId);
|
|
720
|
+
if (!owner)
|
|
721
|
+
continue;
|
|
722
|
+
const parameters = parametersByOwner.get(owner) ?? [];
|
|
723
|
+
parameters.push(binding.name);
|
|
724
|
+
parametersByOwner.set(owner, parameters);
|
|
725
|
+
}
|
|
726
|
+
for (const declaration of model.declarations) {
|
|
727
|
+
const node = declaration.node;
|
|
728
|
+
let exportNode = node;
|
|
729
|
+
while (exportNode.parent &&
|
|
730
|
+
['variable_declarator', 'lexical_declaration', 'variable_declaration'].includes(exportNode.parent.type))
|
|
731
|
+
exportNode = exportNode.parent;
|
|
732
|
+
const parameters = parametersByOwner.get(declaration.id) ?? [];
|
|
733
|
+
definitions.push({
|
|
734
|
+
id: declaration.id,
|
|
735
|
+
name: declaration.name,
|
|
736
|
+
kind: declaration.kind === 'method' && declaration.name === 'constructor'
|
|
737
|
+
? 'constructor'
|
|
738
|
+
: declaration.kind,
|
|
739
|
+
filePath,
|
|
740
|
+
language,
|
|
741
|
+
startLine: declaration.span.startLine,
|
|
742
|
+
endLine: declaration.span.endLine,
|
|
743
|
+
exported: declaration.parentId === undefined && isExported(exportNode),
|
|
744
|
+
parent: declaration.parentId,
|
|
745
|
+
parameters: declaration.kind === 'class' ? undefined : parameters,
|
|
746
|
+
returnType: extractReturnType(node),
|
|
747
|
+
docSummary: extractDocSummary(exportNode),
|
|
748
|
+
meta: {
|
|
749
|
+
lexicalCapability: 'typescript-javascript',
|
|
750
|
+
sourceGeneration: model.generation,
|
|
751
|
+
publicationGeneration: model.publicationGeneration,
|
|
752
|
+
sourceSpan: declaration.span,
|
|
753
|
+
},
|
|
754
|
+
});
|
|
755
|
+
if (declaration.kind === 'class') {
|
|
756
|
+
for (const field of buildClassNodes(node, filePath, language).filter((item) => item.kind === 'property'))
|
|
757
|
+
definitions.push({
|
|
758
|
+
...field,
|
|
759
|
+
id: `${declaration.id}.${field.name}`,
|
|
760
|
+
parent: declaration.id,
|
|
761
|
+
});
|
|
762
|
+
}
|
|
763
|
+
}
|
|
877
764
|
const imports = extractImports(rootNode, filePath);
|
|
878
765
|
const heritage = extractHeritage(rootNode, filePath);
|
|
879
|
-
const calls = extractCalls(rootNode, filePath);
|
|
766
|
+
const calls = extractCalls(rootNode, filePath, model);
|
|
880
767
|
const reExports = extractReExports(rootNode, filePath);
|
|
881
768
|
return { definitions, imports, heritage, calls, reExports };
|
|
882
769
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-extractor.js","sourceRoot":"","sources":["../../../../src/pipeline/extractors/typescript-extractor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"typescript-extractor.js","sourceRoot":"","sources":["../../../../src/pipeline/extractors/typescript-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Scans the repository using Node's native `fs.glob` (Node 22+), stats each
|
|
5
5
|
* file to filter large files, and returns a lightweight `ScannedFile[]` list
|
|
6
|
-
* with paths and sizes.
|
|
6
|
+
* with paths and sizes. Source hashes are streamed through bounded file batches during this phase.
|
|
7
7
|
*
|
|
8
8
|
* Memory footprint: approximately 10 MB for 100 K files (paths + sizes only).
|
|
9
9
|
*
|
|
@@ -12,24 +12,28 @@
|
|
|
12
12
|
*
|
|
13
13
|
* Key adaptations:
|
|
14
14
|
* - Replaces `glob` npm package with Node 24 native `fs.promises.glob`
|
|
15
|
-
* -
|
|
15
|
+
* - Uses Git-compatible ignore rules, including nested files and escaped patterns
|
|
16
16
|
* - Adds `.cleo/` to the default exclude list for CLEO projects
|
|
17
17
|
* - Language field added to `ScannedFile` (detected from extension)
|
|
18
18
|
*
|
|
19
19
|
* @task T532
|
|
20
20
|
* @module pipeline/filesystem-walker
|
|
21
21
|
*/
|
|
22
|
+
import type { GraphIndexFileReport } from '@cleocode/contracts';
|
|
22
23
|
/**
|
|
23
24
|
* A single file entry produced by the filesystem walker.
|
|
24
25
|
*
|
|
25
|
-
* Contains
|
|
26
|
-
* Phase 1 to keep memory usage bounded.
|
|
26
|
+
* Contains path, size and content fingerprints. Files are read in bounded batches.
|
|
27
27
|
*/
|
|
28
28
|
export interface ScannedFile {
|
|
29
29
|
/** File path relative to the repository root, using forward slashes. */
|
|
30
30
|
path: string;
|
|
31
31
|
/** File size in bytes. */
|
|
32
32
|
size: number;
|
|
33
|
+
/** Filesystem modification time captured before parsing. */
|
|
34
|
+
mtimeMs?: number;
|
|
35
|
+
/** SHA-256 digest of the scanned source bytes. */
|
|
36
|
+
contentHash?: string;
|
|
33
37
|
/**
|
|
34
38
|
* Canonical language name detected from the file extension, or null
|
|
35
39
|
* for unrecognized extensions.
|
|
@@ -47,5 +51,5 @@ export interface ScannedFile {
|
|
|
47
51
|
* @param onProgress - Optional progress callback invoked for each processed file
|
|
48
52
|
* @returns Array of scanned file entries sorted by relative path
|
|
49
53
|
*/
|
|
50
|
-
export declare function walkRepositoryPaths(repoPath: string, onProgress?: (current: number, total: number, filePath: string) => void): Promise<ScannedFile[]>;
|
|
54
|
+
export declare function walkRepositoryPaths(repoPath: string, onProgress?: (current: number, total: number, filePath: string) => void, onFileReport?: (report: GraphIndexFileReport) => void, includedRepositories?: readonly string[]): Promise<ScannedFile[]>;
|
|
51
55
|
//# sourceMappingURL=filesystem-walker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filesystem-walker.d.ts","sourceRoot":"","sources":["../../../src/pipeline/filesystem-walker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;
|
|
1
|
+
{"version":3,"file":"filesystem-walker.d.ts","sourceRoot":"","sources":["../../../src/pipeline/filesystem-walker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAuDhE;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAyDD;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,EACvE,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,EACrD,oBAAoB,GAAE,SAAS,MAAM,EAAO,GAC3C,OAAO,CAAC,WAAW,EAAE,CAAC,CAuKxB"}
|