@grafema/util 0.3.17 → 0.3.18
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.
|
@@ -115,6 +115,18 @@ export declare class FileOverview {
|
|
|
115
115
|
* Complexity: Without edges O(M), with edges O(M * (S + C))
|
|
116
116
|
*/
|
|
117
117
|
private buildClassOverview;
|
|
118
|
+
/**
|
|
119
|
+
* Detect CommonJS require() calls as imports.
|
|
120
|
+
* Pattern: CALL(name="require") with PASSES_ARGUMENT -> LITERAL(value="module-path")
|
|
121
|
+
* Complexity: O(C * A) where C = CONTAINS edges, A = PASSES_ARGUMENT edges per CALL
|
|
122
|
+
*/
|
|
123
|
+
private detectCjsImports;
|
|
124
|
+
/**
|
|
125
|
+
* Detect CommonJS module.exports/exports assignments as exports.
|
|
126
|
+
* Pattern: PROPERTY_ACCESS with name containing "exports"
|
|
127
|
+
* Complexity: O(C) where C = CONTAINS edges from MODULE
|
|
128
|
+
*/
|
|
129
|
+
private detectCjsExports;
|
|
118
130
|
/**
|
|
119
131
|
* Build VariableOverview from a VARIABLE or CONSTANT node.
|
|
120
132
|
* Complexity: Without edges O(1), with edges O(1)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileOverview.d.ts","sourceRoot":"","sources":["../../src/core/FileOverview.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAA8B,MAAM,gBAAgB,CAAC;AAM/E,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,GAAG,cAAc,CAAC;IACpC,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,SAAS,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAaD,qBAAa,YAAY;IACX,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,YAAY;IAEvC;;;;;;OAMG;IACG,WAAW,CACf,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAO,GACvC,OAAO,CAAC,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"FileOverview.d.ts","sourceRoot":"","sources":["../../src/core/FileOverview.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAA8B,MAAM,gBAAgB,CAAC;AAM/E,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,GAAG,cAAc,CAAC;IACpC,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,SAAS,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAaD,qBAAa,YAAY;IACX,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,YAAY;IAEvC;;;;;;OAMG;IACG,WAAW,CACf,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAO,GACvC,OAAO,CAAC,kBAAkB,CAAC;IAiG9B;;;OAGG;YACW,cAAc;IAY5B;;;OAGG;YACW,mBAAmB;IAkBjC;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAmBvB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAQvB;;;;OAIG;YACW,qBAAqB;IA2DnC;;;;OAIG;YACW,kBAAkB;IAoDhC;;;;OAIG;YACW,gBAAgB;IA+B9B;;;;OAIG;YACW,gBAAgB;IA4B9B;;;OAGG;YACW,qBAAqB;CA0BpC"}
|
|
@@ -82,11 +82,44 @@ export class FileOverview {
|
|
|
82
82
|
functions.push(await this.buildFunctionOverview(child, includeEdges));
|
|
83
83
|
break;
|
|
84
84
|
case 'VARIABLE':
|
|
85
|
-
case 'CONSTANT':
|
|
86
|
-
|
|
85
|
+
case 'CONSTANT': {
|
|
86
|
+
// Check if this is a const-bound function (const foo = () => {})
|
|
87
|
+
if (includeEdges) {
|
|
88
|
+
const assignedEdges = await this.graph.getOutgoingEdges(child.id, ['ASSIGNED_FROM']);
|
|
89
|
+
let isFunctionBinding = false;
|
|
90
|
+
for (const edge of assignedEdges) {
|
|
91
|
+
const target = await this.graph.getNode(edge.dst);
|
|
92
|
+
if (target && (target.type === 'FUNCTION' || target.type === 'METHOD')) {
|
|
93
|
+
// Build function overview using the target function but with the const name
|
|
94
|
+
const fnOverview = await this.buildFunctionOverview(target, includeEdges);
|
|
95
|
+
fnOverview.name = child.name ?? '<anonymous>';
|
|
96
|
+
fnOverview.line = child.line;
|
|
97
|
+
fnOverview.id = child.id;
|
|
98
|
+
functions.push(fnOverview);
|
|
99
|
+
isFunctionBinding = true;
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
if (!isFunctionBinding) {
|
|
104
|
+
variables.push(await this.buildVariableOverview(child, includeEdges));
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
variables.push(await this.buildVariableOverview(child, includeEdges));
|
|
109
|
+
}
|
|
87
110
|
break;
|
|
111
|
+
}
|
|
88
112
|
}
|
|
89
113
|
}
|
|
114
|
+
// CJS fallback: if no ESM imports/exports found, try CommonJS patterns
|
|
115
|
+
if (imports.length === 0) {
|
|
116
|
+
const cjsImports = await this.detectCjsImports(moduleNode.id);
|
|
117
|
+
imports.push(...cjsImports);
|
|
118
|
+
}
|
|
119
|
+
if (exports.length === 0) {
|
|
120
|
+
const cjsExports = await this.detectCjsExports(moduleNode.id);
|
|
121
|
+
exports.push(...cjsExports);
|
|
122
|
+
}
|
|
90
123
|
const byLine = (a, b) => (a.line ?? 0) - (b.line ?? 0);
|
|
91
124
|
classes.sort(byLine);
|
|
92
125
|
functions.sort(byLine);
|
|
@@ -253,6 +286,69 @@ export class FileOverview {
|
|
|
253
286
|
overview.methods.sort((a, b) => (a.line ?? 0) - (b.line ?? 0));
|
|
254
287
|
return overview;
|
|
255
288
|
}
|
|
289
|
+
/**
|
|
290
|
+
* Detect CommonJS require() calls as imports.
|
|
291
|
+
* Pattern: CALL(name="require") with PASSES_ARGUMENT -> LITERAL(value="module-path")
|
|
292
|
+
* Complexity: O(C * A) where C = CONTAINS edges, A = PASSES_ARGUMENT edges per CALL
|
|
293
|
+
*/
|
|
294
|
+
async detectCjsImports(moduleId) {
|
|
295
|
+
const imports = [];
|
|
296
|
+
const containsEdges = await this.graph.getOutgoingEdges(moduleId, ['CONTAINS']);
|
|
297
|
+
for (const edge of containsEdges) {
|
|
298
|
+
const child = await this.graph.getNode(edge.dst);
|
|
299
|
+
if (!child || child.type !== 'CALL')
|
|
300
|
+
continue;
|
|
301
|
+
if (child.name !== 'require' && !child.name?.endsWith('.require'))
|
|
302
|
+
continue;
|
|
303
|
+
// Find the first argument (module path)
|
|
304
|
+
const argEdges = await this.graph.getOutgoingEdges(child.id, ['PASSES_ARGUMENT']);
|
|
305
|
+
let source = '<unknown>';
|
|
306
|
+
for (const argEdge of argEdges) {
|
|
307
|
+
// Check metadata for index=0
|
|
308
|
+
const meta = argEdge.metadata;
|
|
309
|
+
const idx = typeof meta === 'object' && meta !== null ? meta.index : undefined;
|
|
310
|
+
if (idx !== undefined && idx !== 0)
|
|
311
|
+
continue;
|
|
312
|
+
const argNode = await this.graph.getNode(argEdge.dst);
|
|
313
|
+
if (argNode) {
|
|
314
|
+
source = argNode.value ?? argNode.name ?? '<unknown>';
|
|
315
|
+
break;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
imports.push({ id: child.id, source, specifiers: [] });
|
|
319
|
+
}
|
|
320
|
+
return imports;
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Detect CommonJS module.exports/exports assignments as exports.
|
|
324
|
+
* Pattern: PROPERTY_ACCESS with name containing "exports"
|
|
325
|
+
* Complexity: O(C) where C = CONTAINS edges from MODULE
|
|
326
|
+
*/
|
|
327
|
+
async detectCjsExports(moduleId) {
|
|
328
|
+
const exports = [];
|
|
329
|
+
const containsEdges = await this.graph.getOutgoingEdges(moduleId, ['CONTAINS']);
|
|
330
|
+
for (const edge of containsEdges) {
|
|
331
|
+
const child = await this.graph.getNode(edge.dst);
|
|
332
|
+
if (!child)
|
|
333
|
+
continue;
|
|
334
|
+
if (child.type === 'PROPERTY_ACCESS') {
|
|
335
|
+
const name = child.name ?? '';
|
|
336
|
+
// Match patterns like "module.exports", "exports.foo"
|
|
337
|
+
if (name === 'module.exports' || name === 'exports' ||
|
|
338
|
+
name.startsWith('exports.') || name.startsWith('module.exports.')) {
|
|
339
|
+
const exportName = name.includes('.exports.')
|
|
340
|
+
? name.split('.exports.').pop() ?? 'default'
|
|
341
|
+
: 'default';
|
|
342
|
+
exports.push({
|
|
343
|
+
id: child.id,
|
|
344
|
+
name: exportName,
|
|
345
|
+
isDefault: exportName === 'default',
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
return exports;
|
|
351
|
+
}
|
|
256
352
|
/**
|
|
257
353
|
* Build VariableOverview from a VARIABLE or CONSTANT node.
|
|
258
354
|
* Complexity: Without edges O(1), with edges O(1)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileOverview.js","sourceRoot":"","sources":["../../src/core/FileOverview.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileOverview.js","sourceRoot":"","sources":["../../src/core/FileOverview.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@grafema/util",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.18",
|
|
4
4
|
"description": "Query, config, and guarantee utilities for Grafema",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
"ajv": "^8.17.1",
|
|
36
36
|
"minimatch": "^10.1.1",
|
|
37
37
|
"yaml": "^2.8.2",
|
|
38
|
-
"@grafema/
|
|
39
|
-
"@grafema/
|
|
38
|
+
"@grafema/rfdb-client": "0.3.18",
|
|
39
|
+
"@grafema/types": "0.3.18"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@types/node": "^25.0.8",
|
package/src/core/FileOverview.ts
CHANGED
|
@@ -144,12 +144,45 @@ export class FileOverview {
|
|
|
144
144
|
functions.push(await this.buildFunctionOverview(child, includeEdges));
|
|
145
145
|
break;
|
|
146
146
|
case 'VARIABLE':
|
|
147
|
-
case 'CONSTANT':
|
|
148
|
-
|
|
147
|
+
case 'CONSTANT': {
|
|
148
|
+
// Check if this is a const-bound function (const foo = () => {})
|
|
149
|
+
if (includeEdges) {
|
|
150
|
+
const assignedEdges = await this.graph.getOutgoingEdges(child.id, ['ASSIGNED_FROM']);
|
|
151
|
+
let isFunctionBinding = false;
|
|
152
|
+
for (const edge of assignedEdges) {
|
|
153
|
+
const target = await this.graph.getNode(edge.dst);
|
|
154
|
+
if (target && (target.type === 'FUNCTION' || target.type === 'METHOD')) {
|
|
155
|
+
// Build function overview using the target function but with the const name
|
|
156
|
+
const fnOverview = await this.buildFunctionOverview(target, includeEdges);
|
|
157
|
+
fnOverview.name = child.name ?? '<anonymous>';
|
|
158
|
+
fnOverview.line = child.line as number | undefined;
|
|
159
|
+
fnOverview.id = child.id;
|
|
160
|
+
functions.push(fnOverview);
|
|
161
|
+
isFunctionBinding = true;
|
|
162
|
+
break;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
if (!isFunctionBinding) {
|
|
166
|
+
variables.push(await this.buildVariableOverview(child, includeEdges));
|
|
167
|
+
}
|
|
168
|
+
} else {
|
|
169
|
+
variables.push(await this.buildVariableOverview(child, includeEdges));
|
|
170
|
+
}
|
|
149
171
|
break;
|
|
172
|
+
}
|
|
150
173
|
}
|
|
151
174
|
}
|
|
152
175
|
|
|
176
|
+
// CJS fallback: if no ESM imports/exports found, try CommonJS patterns
|
|
177
|
+
if (imports.length === 0) {
|
|
178
|
+
const cjsImports = await this.detectCjsImports(moduleNode.id);
|
|
179
|
+
imports.push(...cjsImports);
|
|
180
|
+
}
|
|
181
|
+
if (exports.length === 0) {
|
|
182
|
+
const cjsExports = await this.detectCjsExports(moduleNode.id);
|
|
183
|
+
exports.push(...cjsExports);
|
|
184
|
+
}
|
|
185
|
+
|
|
153
186
|
const byLine = (a: { line?: number }, b: { line?: number }) =>
|
|
154
187
|
(a.line ?? 0) - (b.line ?? 0);
|
|
155
188
|
|
|
@@ -364,6 +397,75 @@ export class FileOverview {
|
|
|
364
397
|
return overview;
|
|
365
398
|
}
|
|
366
399
|
|
|
400
|
+
/**
|
|
401
|
+
* Detect CommonJS require() calls as imports.
|
|
402
|
+
* Pattern: CALL(name="require") with PASSES_ARGUMENT -> LITERAL(value="module-path")
|
|
403
|
+
* Complexity: O(C * A) where C = CONTAINS edges, A = PASSES_ARGUMENT edges per CALL
|
|
404
|
+
*/
|
|
405
|
+
private async detectCjsImports(moduleId: string): Promise<ImportInfo[]> {
|
|
406
|
+
const imports: ImportInfo[] = [];
|
|
407
|
+
const containsEdges = await this.graph.getOutgoingEdges(moduleId, ['CONTAINS']);
|
|
408
|
+
|
|
409
|
+
for (const edge of containsEdges) {
|
|
410
|
+
const child = await this.graph.getNode(edge.dst);
|
|
411
|
+
if (!child || child.type !== 'CALL') continue;
|
|
412
|
+
if (child.name !== 'require' && !child.name?.endsWith('.require')) continue;
|
|
413
|
+
|
|
414
|
+
// Find the first argument (module path)
|
|
415
|
+
const argEdges = await this.graph.getOutgoingEdges(child.id, ['PASSES_ARGUMENT']);
|
|
416
|
+
let source = '<unknown>';
|
|
417
|
+
for (const argEdge of argEdges) {
|
|
418
|
+
// Check metadata for index=0
|
|
419
|
+
const meta = argEdge.metadata;
|
|
420
|
+
const idx = typeof meta === 'object' && meta !== null ? (meta as Record<string, unknown>).index : undefined;
|
|
421
|
+
if (idx !== undefined && idx !== 0) continue;
|
|
422
|
+
|
|
423
|
+
const argNode = await this.graph.getNode(argEdge.dst);
|
|
424
|
+
if (argNode) {
|
|
425
|
+
source = (argNode.value as string) ?? argNode.name ?? '<unknown>';
|
|
426
|
+
break;
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
imports.push({ id: child.id, source, specifiers: [] });
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
return imports;
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
/**
|
|
437
|
+
* Detect CommonJS module.exports/exports assignments as exports.
|
|
438
|
+
* Pattern: PROPERTY_ACCESS with name containing "exports"
|
|
439
|
+
* Complexity: O(C) where C = CONTAINS edges from MODULE
|
|
440
|
+
*/
|
|
441
|
+
private async detectCjsExports(moduleId: string): Promise<ExportInfo[]> {
|
|
442
|
+
const exports: ExportInfo[] = [];
|
|
443
|
+
const containsEdges = await this.graph.getOutgoingEdges(moduleId, ['CONTAINS']);
|
|
444
|
+
|
|
445
|
+
for (const edge of containsEdges) {
|
|
446
|
+
const child = await this.graph.getNode(edge.dst);
|
|
447
|
+
if (!child) continue;
|
|
448
|
+
|
|
449
|
+
if (child.type === 'PROPERTY_ACCESS') {
|
|
450
|
+
const name = child.name ?? '';
|
|
451
|
+
// Match patterns like "module.exports", "exports.foo"
|
|
452
|
+
if (name === 'module.exports' || name === 'exports' ||
|
|
453
|
+
name.startsWith('exports.') || name.startsWith('module.exports.')) {
|
|
454
|
+
const exportName = name.includes('.exports.')
|
|
455
|
+
? name.split('.exports.').pop() ?? 'default'
|
|
456
|
+
: 'default';
|
|
457
|
+
exports.push({
|
|
458
|
+
id: child.id,
|
|
459
|
+
name: exportName,
|
|
460
|
+
isDefault: exportName === 'default',
|
|
461
|
+
});
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
return exports;
|
|
467
|
+
}
|
|
468
|
+
|
|
367
469
|
/**
|
|
368
470
|
* Build VariableOverview from a VARIABLE or CONSTANT node.
|
|
369
471
|
* Complexity: Without edges O(1), with edges O(1)
|