agent-ide 0.7.5 → 0.8.0
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/core/deadcode/dead-code-remover.d.ts +27 -9
- package/dist/core/deadcode/dead-code-remover.d.ts.map +1 -1
- package/dist/core/deadcode/dead-code-remover.js +100 -26
- package/dist/core/deadcode/dead-code-remover.js.map +1 -1
- package/dist/core/move/import-resolver.d.ts +0 -3
- package/dist/core/move/import-resolver.d.ts.map +1 -1
- package/dist/core/move/import-resolver.js +0 -10
- package/dist/core/move/import-resolver.js.map +1 -1
- package/dist/core/move-member/index.d.ts +1 -1
- package/dist/core/move-member/index.d.ts.map +1 -1
- package/dist/core/move-member/index.js.map +1 -1
- package/dist/core/move-member/move-member-service.d.ts +2 -0
- package/dist/core/move-member/move-member-service.d.ts.map +1 -1
- package/dist/core/move-member/move-member-service.js +24 -31
- package/dist/core/move-member/move-member-service.js.map +1 -1
- package/dist/core/move-member/types.d.ts +48 -23
- package/dist/core/move-member/types.d.ts.map +1 -1
- package/dist/core/move-member/types.js.map +1 -1
- package/dist/core/rename/reference-updater.d.ts.map +1 -1
- package/dist/core/rename/reference-updater.js +3 -1
- package/dist/core/rename/reference-updater.js.map +1 -1
- package/dist/core/shared/symbol-finder.d.ts +39 -11
- package/dist/core/shared/symbol-finder.d.ts.map +1 -1
- package/dist/core/shared/symbol-finder.js +109 -75
- package/dist/core/shared/symbol-finder.js.map +1 -1
- package/dist/core/snapshot/snapshot-generator.d.ts +11 -0
- package/dist/core/snapshot/snapshot-generator.d.ts.map +1 -1
- package/dist/core/snapshot/snapshot-generator.js +117 -5
- package/dist/core/snapshot/snapshot-generator.js.map +1 -1
- package/dist/infrastructure/formatters/diff-generator.js +93 -26
- package/dist/infrastructure/formatters/diff-generator.js.map +1 -1
- package/dist/infrastructure/formatters/diff-utils.d.ts +24 -0
- package/dist/infrastructure/formatters/diff-utils.d.ts.map +1 -0
- package/dist/infrastructure/formatters/diff-utils.js +104 -0
- package/dist/infrastructure/formatters/diff-utils.js.map +1 -0
- package/dist/infrastructure/formatters/preview-converter.d.ts +2 -0
- package/dist/infrastructure/formatters/preview-converter.d.ts.map +1 -1
- package/dist/infrastructure/formatters/preview-converter.js +43 -5
- package/dist/infrastructure/formatters/preview-converter.js.map +1 -1
- package/dist/infrastructure/parser/base.d.ts +2 -6
- package/dist/infrastructure/parser/base.d.ts.map +1 -1
- package/dist/infrastructure/parser/base.js +1 -16
- package/dist/infrastructure/parser/base.js.map +1 -1
- package/dist/infrastructure/parser/index.d.ts +2 -0
- package/dist/infrastructure/parser/index.d.ts.map +1 -1
- package/dist/infrastructure/parser/index.js +1 -0
- package/dist/infrastructure/parser/index.js.map +1 -1
- package/dist/infrastructure/parser/interface.d.ts +197 -0
- package/dist/infrastructure/parser/interface.d.ts.map +1 -1
- package/dist/infrastructure/parser/interface.js +13 -0
- package/dist/infrastructure/parser/interface.js.map +1 -1
- package/dist/interfaces/cli/commands/cycles.command.js +8 -1
- package/dist/interfaces/cli/commands/cycles.command.js.map +1 -1
- package/dist/interfaces/cli/commands/deadcode.command.js +7 -1
- package/dist/interfaces/cli/commands/deadcode.command.js.map +1 -1
- package/dist/interfaces/cli/commands/impact.command.js +19 -5
- package/dist/interfaces/cli/commands/impact.command.js.map +1 -1
- package/dist/interfaces/cli/commands/move-member.command.d.ts.map +1 -1
- package/dist/interfaces/cli/commands/move-member.command.js +55 -29
- package/dist/interfaces/cli/commands/move-member.command.js.map +1 -1
- package/dist/plugins/javascript/code-analyzer.d.ts +68 -0
- package/dist/plugins/javascript/code-analyzer.d.ts.map +1 -0
- package/dist/plugins/javascript/code-analyzer.js +302 -0
- package/dist/plugins/javascript/code-analyzer.js.map +1 -0
- package/dist/plugins/javascript/declaration-analyzer.d.ts +58 -0
- package/dist/plugins/javascript/declaration-analyzer.d.ts.map +1 -0
- package/dist/plugins/javascript/declaration-analyzer.js +367 -0
- package/dist/plugins/javascript/declaration-analyzer.js.map +1 -0
- package/dist/plugins/javascript/parser.d.ts +21 -36
- package/dist/plugins/javascript/parser.d.ts.map +1 -1
- package/dist/plugins/javascript/parser.js +55 -321
- package/dist/plugins/javascript/parser.js.map +1 -1
- package/dist/plugins/javascript/pattern-analyzer.d.ts +33 -0
- package/dist/plugins/javascript/pattern-analyzer.d.ts.map +1 -0
- package/dist/plugins/javascript/pattern-analyzer.js +142 -0
- package/dist/plugins/javascript/pattern-analyzer.js.map +1 -0
- package/dist/plugins/javascript/reference-finder.d.ts +38 -0
- package/dist/plugins/javascript/reference-finder.d.ts.map +1 -0
- package/dist/plugins/javascript/reference-finder.js +210 -0
- package/dist/plugins/javascript/reference-finder.js.map +1 -0
- package/dist/plugins/javascript/types.d.ts +2 -4
- package/dist/plugins/javascript/types.d.ts.map +1 -1
- package/dist/plugins/javascript/types.js +4 -12
- package/dist/plugins/javascript/types.js.map +1 -1
- package/dist/plugins/shared/constants.d.ts +32 -0
- package/dist/plugins/shared/constants.d.ts.map +1 -0
- package/dist/plugins/shared/constants.js +78 -0
- package/dist/plugins/shared/constants.js.map +1 -0
- package/dist/plugins/shared/index.d.ts +7 -0
- package/dist/plugins/shared/index.d.ts.map +1 -0
- package/dist/plugins/shared/index.js +9 -0
- package/dist/plugins/shared/index.js.map +1 -0
- package/dist/plugins/shared/parser-helpers.d.ts +109 -0
- package/dist/plugins/shared/parser-helpers.d.ts.map +1 -0
- package/dist/plugins/shared/parser-helpers.js +223 -0
- package/dist/plugins/shared/parser-helpers.js.map +1 -0
- package/dist/plugins/typescript/declaration-analyzer.d.ts +123 -0
- package/dist/plugins/typescript/declaration-analyzer.d.ts.map +1 -0
- package/dist/plugins/typescript/declaration-analyzer.js +474 -0
- package/dist/plugins/typescript/declaration-analyzer.js.map +1 -0
- package/dist/plugins/typescript/dependency-analyzer.d.ts +0 -6
- package/dist/plugins/typescript/dependency-analyzer.d.ts.map +1 -1
- package/dist/plugins/typescript/dependency-analyzer.js +0 -34
- package/dist/plugins/typescript/dependency-analyzer.js.map +1 -1
- package/dist/plugins/typescript/index.d.ts +5 -0
- package/dist/plugins/typescript/index.d.ts.map +1 -1
- package/dist/plugins/typescript/index.js +5 -0
- package/dist/plugins/typescript/index.js.map +1 -1
- package/dist/plugins/typescript/language-service.d.ts +93 -0
- package/dist/plugins/typescript/language-service.d.ts.map +1 -0
- package/dist/plugins/typescript/language-service.js +159 -0
- package/dist/plugins/typescript/language-service.js.map +1 -0
- package/dist/plugins/typescript/parser.d.ts +27 -34
- package/dist/plugins/typescript/parser.d.ts.map +1 -1
- package/dist/plugins/typescript/parser.js +74 -429
- package/dist/plugins/typescript/parser.js.map +1 -1
- package/dist/plugins/typescript/pattern-analyzer.d.ts +59 -0
- package/dist/plugins/typescript/pattern-analyzer.d.ts.map +1 -0
- package/dist/plugins/typescript/pattern-analyzer.js +179 -0
- package/dist/plugins/typescript/pattern-analyzer.js.map +1 -0
- package/dist/plugins/typescript/reference-finder.d.ts +51 -0
- package/dist/plugins/typescript/reference-finder.d.ts.map +1 -0
- package/dist/plugins/typescript/reference-finder.js +214 -0
- package/dist/plugins/typescript/reference-finder.js.map +1 -0
- package/dist/plugins/typescript/scope-analyzer.d.ts +61 -0
- package/dist/plugins/typescript/scope-analyzer.d.ts.map +1 -0
- package/dist/plugins/typescript/scope-analyzer.js +300 -0
- package/dist/plugins/typescript/scope-analyzer.js.map +1 -0
- package/dist/plugins/typescript/symbol-extractor.d.ts +5 -0
- package/dist/plugins/typescript/symbol-extractor.d.ts.map +1 -1
- package/dist/plugins/typescript/symbol-extractor.js +25 -0
- package/dist/plugins/typescript/symbol-extractor.js.map +1 -1
- package/dist/plugins/typescript/types.d.ts +2 -4
- package/dist/plugins/typescript/types.d.ts.map +1 -1
- package/dist/plugins/typescript/types.js +4 -12
- package/dist/plugins/typescript/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* 整合 AST 分析和文字匹配,提供跨檔案符號查找能力
|
|
4
4
|
*/
|
|
5
5
|
import { SymbolType } from '../../shared/types/symbol.js';
|
|
6
|
+
import { ScopedReferenceKind } from '../../infrastructure/parser/interface.js';
|
|
6
7
|
/**
|
|
7
8
|
* 符號引用類型
|
|
8
9
|
*/
|
|
@@ -53,10 +54,20 @@ export class SymbolFinder {
|
|
|
53
54
|
if (!symbol) {
|
|
54
55
|
return null;
|
|
55
56
|
}
|
|
57
|
+
// 優先使用 Parser 的 getDocumentation 方法(AST 精確解析)
|
|
58
|
+
// 若 Parser 不支援或返回 null,fallback 到行號回掃邏輯
|
|
59
|
+
let documentation;
|
|
60
|
+
if (parser.getDocumentation) {
|
|
61
|
+
const doc = parser.getDocumentation(content, symbol.name, symbol.type, symbol.location.range.start.line);
|
|
62
|
+
documentation = doc?.rawText;
|
|
63
|
+
}
|
|
64
|
+
if (!documentation) {
|
|
65
|
+
documentation = this.extractDocumentationByLineScanning(content, symbol);
|
|
66
|
+
}
|
|
56
67
|
return {
|
|
57
68
|
symbol,
|
|
58
69
|
signature: this.extractSignature(content, symbol),
|
|
59
|
-
documentation
|
|
70
|
+
documentation
|
|
60
71
|
};
|
|
61
72
|
}
|
|
62
73
|
catch {
|
|
@@ -191,8 +202,9 @@ export class SymbolFinder {
|
|
|
191
202
|
const lines = content.split('\n');
|
|
192
203
|
return references.map(ref => {
|
|
193
204
|
const lineIndex = ref.location.range.start.line - 1;
|
|
205
|
+
// 保留原始行內容(不 trim),讓 diff 輸出保持正確的縮排
|
|
194
206
|
const context = lineIndex >= 0 && lineIndex < lines.length
|
|
195
|
-
? lines[lineIndex]
|
|
207
|
+
? lines[lineIndex]
|
|
196
208
|
: undefined;
|
|
197
209
|
return {
|
|
198
210
|
symbolName,
|
|
@@ -238,8 +250,9 @@ export class SymbolFinder {
|
|
|
238
250
|
const lines = content.split('\n');
|
|
239
251
|
return references.map(ref => {
|
|
240
252
|
const lineIndex = ref.location.range.start.line - 1;
|
|
253
|
+
// 保留原始行內容(不 trim),讓 diff 輸出保持正確的縮排
|
|
241
254
|
const context = lineIndex >= 0 && lineIndex < lines.length
|
|
242
|
-
? lines[lineIndex]
|
|
255
|
+
? lines[lineIndex]
|
|
243
256
|
: undefined;
|
|
244
257
|
return {
|
|
245
258
|
symbolName: symbol.name,
|
|
@@ -271,6 +284,92 @@ export class SymbolFinder {
|
|
|
271
284
|
}
|
|
272
285
|
return allReferences;
|
|
273
286
|
}
|
|
287
|
+
// ===== 作用域感知的符號查找(優先使用 Parser 語義分析) =====
|
|
288
|
+
/**
|
|
289
|
+
* 使用 Parser 的 findScopedReferences 方法查找符號引用(作用域感知版本)
|
|
290
|
+
*
|
|
291
|
+
* 此方法優先使用 Parser 的語義分析能力來精確匹配符號,
|
|
292
|
+
* 可以區分不同類別的同名方法。
|
|
293
|
+
*
|
|
294
|
+
* @example
|
|
295
|
+
* ```typescript
|
|
296
|
+
* // 區分 Dog.bark() 和 Car.bark()
|
|
297
|
+
* const refs = await finder.findScopedReferencesInFile(
|
|
298
|
+
* 'src/animals.ts',
|
|
299
|
+
* 'bark',
|
|
300
|
+
* { className: 'Dog' }
|
|
301
|
+
* );
|
|
302
|
+
* ```
|
|
303
|
+
*
|
|
304
|
+
* @param filePath 檔案路徑
|
|
305
|
+
* @param symbolName 符號名稱
|
|
306
|
+
* @param options 作用域查找選項(可限定類別等)
|
|
307
|
+
* @returns 符號引用陣列
|
|
308
|
+
*/
|
|
309
|
+
async findScopedReferencesInFile(filePath, symbolName, options) {
|
|
310
|
+
const content = await this.readFile(filePath);
|
|
311
|
+
if (!content) {
|
|
312
|
+
return [];
|
|
313
|
+
}
|
|
314
|
+
const parser = this.getParser(filePath);
|
|
315
|
+
// 優先使用 Parser 的 findScopedReferences 方法
|
|
316
|
+
if (parser && typeof parser.findScopedReferences === 'function') {
|
|
317
|
+
const scopedRefs = parser.findScopedReferences(content, symbolName, options);
|
|
318
|
+
if (scopedRefs) {
|
|
319
|
+
const lines = content.split('\n');
|
|
320
|
+
return scopedRefs.map(ref => {
|
|
321
|
+
const lineIndex = ref.location.range.start.line - 1;
|
|
322
|
+
const context = lineIndex >= 0 && lineIndex < lines.length
|
|
323
|
+
? lines[lineIndex]
|
|
324
|
+
: undefined;
|
|
325
|
+
// 轉換 ScopedReferenceKind 到 SymbolReferenceType
|
|
326
|
+
const type = this.scopedReferenceKindToType(ref.kind);
|
|
327
|
+
return {
|
|
328
|
+
symbolName,
|
|
329
|
+
location: {
|
|
330
|
+
filePath,
|
|
331
|
+
range: ref.location.range
|
|
332
|
+
},
|
|
333
|
+
type,
|
|
334
|
+
context,
|
|
335
|
+
containerName: ref.containerName,
|
|
336
|
+
isMethodCall: ref.kind === ScopedReferenceKind.Call
|
|
337
|
+
};
|
|
338
|
+
});
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
// Fallback:使用原有的文字匹配(帶過濾)
|
|
342
|
+
return this.findReferencesByTextFiltered(filePath, content, symbolName);
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* 在多個檔案中查找符號引用(作用域感知版本)
|
|
346
|
+
*
|
|
347
|
+
* @param symbolName 符號名稱
|
|
348
|
+
* @param projectFiles 專案檔案列表
|
|
349
|
+
* @param options 作用域查找選項
|
|
350
|
+
* @returns 所有找到的引用
|
|
351
|
+
*/
|
|
352
|
+
async findScopedReferences(symbolName, projectFiles, options) {
|
|
353
|
+
const allReferences = [];
|
|
354
|
+
for (const filePath of projectFiles) {
|
|
355
|
+
const refs = await this.findScopedReferencesInFile(filePath, symbolName, options);
|
|
356
|
+
allReferences.push(...refs);
|
|
357
|
+
}
|
|
358
|
+
return allReferences;
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* 轉換 ScopedReferenceKind 到 SymbolReferenceType
|
|
362
|
+
*/
|
|
363
|
+
scopedReferenceKindToType(kind) {
|
|
364
|
+
switch (kind) {
|
|
365
|
+
case ScopedReferenceKind.Write:
|
|
366
|
+
return SymbolReferenceType.Definition;
|
|
367
|
+
case ScopedReferenceKind.Call:
|
|
368
|
+
case ScopedReferenceKind.Read:
|
|
369
|
+
default:
|
|
370
|
+
return SymbolReferenceType.Usage;
|
|
371
|
+
}
|
|
372
|
+
}
|
|
274
373
|
/**
|
|
275
374
|
* 查找函式的所有呼叫點
|
|
276
375
|
*/
|
|
@@ -445,7 +544,8 @@ export class SymbolFinder {
|
|
|
445
544
|
}
|
|
446
545
|
},
|
|
447
546
|
type: SymbolReferenceType.Usage,
|
|
448
|
-
|
|
547
|
+
// 保留原始行內容(不 trim),讓 diff 輸出保持正確的縮排
|
|
548
|
+
context: line
|
|
449
549
|
});
|
|
450
550
|
}
|
|
451
551
|
}
|
|
@@ -510,7 +610,8 @@ export class SymbolFinder {
|
|
|
510
610
|
}
|
|
511
611
|
},
|
|
512
612
|
type: SymbolReferenceType.Usage,
|
|
513
|
-
|
|
613
|
+
// 保留原始行內容(不 trim),讓 diff 輸出保持正確的縮排
|
|
614
|
+
context: line
|
|
514
615
|
});
|
|
515
616
|
}
|
|
516
617
|
}
|
|
@@ -570,9 +671,10 @@ export class SymbolFinder {
|
|
|
570
671
|
return line?.trim();
|
|
571
672
|
}
|
|
572
673
|
/**
|
|
573
|
-
*
|
|
674
|
+
* 提取文件註解(行號回掃方式)
|
|
675
|
+
* 這是 fallback 方法,當 Parser 不支援 getDocumentation 時使用
|
|
574
676
|
*/
|
|
575
|
-
|
|
677
|
+
extractDocumentationByLineScanning(content, symbol) {
|
|
576
678
|
const lines = content.split('\n');
|
|
577
679
|
const lineIndex = symbol.location.range.start.line - 2; // 前一行
|
|
578
680
|
if (lineIndex < 0) {
|
|
@@ -611,27 +713,6 @@ export class SymbolFinder {
|
|
|
611
713
|
return docLines.length > 0 ? docLines.join('\n') : undefined;
|
|
612
714
|
}
|
|
613
715
|
/**
|
|
614
|
-
* 提取參數字串(單行版本,保留向後相容)
|
|
615
|
-
*/
|
|
616
|
-
extractArgumentsString(line, startIndex) {
|
|
617
|
-
let depth = 1;
|
|
618
|
-
let i = startIndex + 1;
|
|
619
|
-
let result = '';
|
|
620
|
-
while (i < line.length && depth > 0) {
|
|
621
|
-
const char = line[i];
|
|
622
|
-
if (char === '(') {
|
|
623
|
-
depth++;
|
|
624
|
-
}
|
|
625
|
-
else if (char === ')') {
|
|
626
|
-
depth--;
|
|
627
|
-
}
|
|
628
|
-
if (depth > 0) {
|
|
629
|
-
result += char;
|
|
630
|
-
}
|
|
631
|
-
i++;
|
|
632
|
-
}
|
|
633
|
-
return result;
|
|
634
|
-
}
|
|
635
716
|
/**
|
|
636
717
|
* 提取參數字串(支援多行)
|
|
637
718
|
* @returns { content: 完整參數字串, endLine: 結束行索引, endColumn: 結束欄位 }
|
|
@@ -713,26 +794,6 @@ export class SymbolFinder {
|
|
|
713
794
|
return args;
|
|
714
795
|
}
|
|
715
796
|
/**
|
|
716
|
-
* 找到匹配的右括號位置(單行版本,保留向後相容)
|
|
717
|
-
*/
|
|
718
|
-
findMatchingCloseParen(line, openParenIndex) {
|
|
719
|
-
let depth = 1;
|
|
720
|
-
let i = openParenIndex + 1;
|
|
721
|
-
while (i < line.length && depth > 0) {
|
|
722
|
-
const char = line[i];
|
|
723
|
-
if (char === '(') {
|
|
724
|
-
depth++;
|
|
725
|
-
}
|
|
726
|
-
else if (char === ')') {
|
|
727
|
-
depth--;
|
|
728
|
-
if (depth === 0) {
|
|
729
|
-
return i;
|
|
730
|
-
}
|
|
731
|
-
}
|
|
732
|
-
i++;
|
|
733
|
-
}
|
|
734
|
-
return -1;
|
|
735
|
-
}
|
|
736
797
|
/**
|
|
737
798
|
* 找到匹配的右括號位置(支援多行)
|
|
738
799
|
* @returns { line: 行索引, index: 該行的字元索引 }
|
|
@@ -762,33 +823,6 @@ export class SymbolFinder {
|
|
|
762
823
|
return { line: -1, index: -1 };
|
|
763
824
|
}
|
|
764
825
|
/**
|
|
765
|
-
* 解析參數
|
|
766
|
-
*/
|
|
767
|
-
parseArguments(argsString, line, baseColumn) {
|
|
768
|
-
if (!argsString.trim()) {
|
|
769
|
-
return [];
|
|
770
|
-
}
|
|
771
|
-
const args = [];
|
|
772
|
-
const parts = this.splitArguments(argsString);
|
|
773
|
-
let column = baseColumn + 1;
|
|
774
|
-
for (let i = 0; i < parts.length; i++) {
|
|
775
|
-
const part = parts[i];
|
|
776
|
-
const trimmed = part.trim();
|
|
777
|
-
// 檢查是否是具名參數
|
|
778
|
-
const namedMatch = trimmed.match(/^(\w+)\s*[:=]\s*(.+)$/);
|
|
779
|
-
args.push({
|
|
780
|
-
index: i,
|
|
781
|
-
name: namedMatch ? namedMatch[1] : undefined,
|
|
782
|
-
value: namedMatch ? namedMatch[2] : trimmed,
|
|
783
|
-
range: {
|
|
784
|
-
start: { line, column, offset: undefined },
|
|
785
|
-
end: { line, column: column + part.length, offset: undefined }
|
|
786
|
-
}
|
|
787
|
-
});
|
|
788
|
-
column += part.length + 1; // +1 for comma
|
|
789
|
-
}
|
|
790
|
-
return args;
|
|
791
|
-
}
|
|
792
826
|
/**
|
|
793
827
|
* 分割參數(考慮巢狀括號)
|
|
794
828
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbol-finder.js","sourceRoot":"","sources":["../../../src/core/shared/symbol-finder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"symbol-finder.js","sourceRoot":"","sources":["../../../src/core/shared/symbol-finder.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,10 @@ export declare class SnapshotGenerator {
|
|
|
34
34
|
* 產生模組快照
|
|
35
35
|
*/
|
|
36
36
|
private generateModuleSnapshot;
|
|
37
|
+
/**
|
|
38
|
+
* 使用 Parser 識別模組內的 factory 模式
|
|
39
|
+
*/
|
|
40
|
+
private identifyFactoryPatterns;
|
|
37
41
|
/**
|
|
38
42
|
* 產生專案快照
|
|
39
43
|
*/
|
|
@@ -44,6 +48,7 @@ export declare class SnapshotGenerator {
|
|
|
44
48
|
private findModuleDirs;
|
|
45
49
|
/**
|
|
46
50
|
* 建構模組快照
|
|
51
|
+
* @param factoryPatterns Parser 識別的 factory 模式(優先使用,若為空則 fallback 到名稱比對)
|
|
47
52
|
*/
|
|
48
53
|
private buildModuleSnapshot;
|
|
49
54
|
/**
|
|
@@ -64,8 +69,14 @@ export declare class SnapshotGenerator {
|
|
|
64
69
|
private formatFunctionSignature;
|
|
65
70
|
/**
|
|
66
71
|
* 簡化簽章格式(移除函數名稱,保留參數和回傳型別)
|
|
72
|
+
* 使用括號平衡算法處理巢狀泛型
|
|
67
73
|
*/
|
|
68
74
|
private simplifySignature;
|
|
75
|
+
/**
|
|
76
|
+
* 使用括號平衡算法解析簽章
|
|
77
|
+
* 正確處理巢狀泛型(如 Map<K, Fn<V>>)
|
|
78
|
+
*/
|
|
79
|
+
private parseSignatureWithBalancing;
|
|
69
80
|
/**
|
|
70
81
|
* 格式化 interface 欄位
|
|
71
82
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot-generator.d.ts","sourceRoot":"","sources":["../../../src/core/snapshot/snapshot-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"snapshot-generator.d.ts","sourceRoot":"","sources":["../../../src/core/snapshot/snapshot-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAKpE,OAAO,KAAK,EAAmC,cAAc,EAAe,MAAM,YAAY,CAAC;AAG/F,OAAO,KAAK,EAAE,mBAAmB,EAAiB,MAAM,qBAAqB,CAAC;AAQ9E;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,YAAY,CAAqC;gBAE7C,UAAU,EAAE,WAAW;IAInC;;OAEG;IACG,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAU3D;;;;OAIG;IACG,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA0C1F;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAmB/B;;OAEG;YACW,WAAW;IA0BzB;;OAEG;YACW,sBAAsB;IAwBpC;;OAEG;YACW,uBAAuB;IAwCrC;;OAEG;YACW,uBAAuB;IAoBrC;;OAEG;YACW,cAAc;IA8B5B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAqE3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAmBvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAQ7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAQ/B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAuDnC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAsB7B;;OAEG;IACH,OAAO,CAAC,eAAe;CAMxB"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import * as path from 'path';
|
|
6
6
|
import { IndexEngine, createIndexConfig } from '../shared/indexing/index.js';
|
|
7
|
+
import { ParserRegistry } from '../../infrastructure/parser/index.js';
|
|
7
8
|
import { SymbolType } from '../../shared/types/index.js';
|
|
8
9
|
import { SnapshotScope, isProjectSnapshot } from './types.js';
|
|
9
10
|
import { SnapshotCacheManager } from './snapshot-cache.js';
|
|
@@ -120,12 +121,56 @@ export class SnapshotGenerator {
|
|
|
120
121
|
const allSymbols = await indexEngine.getAllSymbols();
|
|
121
122
|
const symbols = allSymbols.map(result => result.symbol);
|
|
122
123
|
const relativePath = path.basename(modulePath);
|
|
123
|
-
|
|
124
|
+
// 使用 Parser 識別 factory 模式
|
|
125
|
+
const factoryPatterns = await this.identifyFactoryPatterns(modulePath);
|
|
126
|
+
return this.buildModuleSnapshot(relativePath, symbols, modulePath, factoryPatterns);
|
|
124
127
|
}
|
|
125
128
|
finally {
|
|
126
129
|
indexEngine.dispose();
|
|
127
130
|
}
|
|
128
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* 使用 Parser 識別模組內的 factory 模式
|
|
134
|
+
*/
|
|
135
|
+
async identifyFactoryPatterns(modulePath) {
|
|
136
|
+
const factoryMap = new Map();
|
|
137
|
+
try {
|
|
138
|
+
const entries = await this.fileSystem.readDirectory(modulePath);
|
|
139
|
+
for (const entry of entries) {
|
|
140
|
+
if (entry.isDirectory) {
|
|
141
|
+
continue;
|
|
142
|
+
}
|
|
143
|
+
const ext = path.extname(entry.name);
|
|
144
|
+
if (!['.ts', '.js', '.tsx', '.jsx'].includes(ext)) {
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
const filePath = path.join(modulePath, entry.name);
|
|
148
|
+
const parser = ParserRegistry.getInstance().getParser(ext);
|
|
149
|
+
if (!parser || !parser.identifyPatterns) {
|
|
150
|
+
continue;
|
|
151
|
+
}
|
|
152
|
+
try {
|
|
153
|
+
const content = await this.fileSystem.readFile(filePath);
|
|
154
|
+
const codeString = typeof content === 'string' ? content : content.toString('utf-8');
|
|
155
|
+
const patterns = parser.identifyPatterns(codeString);
|
|
156
|
+
if (patterns) {
|
|
157
|
+
for (const pattern of patterns) {
|
|
158
|
+
if (pattern.type === 'factory') {
|
|
159
|
+
factoryMap.set(pattern.symbolName, pattern);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
catch {
|
|
165
|
+
// 忽略單一檔案的解析錯誤,繼續處理其他檔案
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
catch {
|
|
170
|
+
// 忽略目錄讀取錯誤,返回空 Map(fallback 到名稱比對)
|
|
171
|
+
}
|
|
172
|
+
return factoryMap;
|
|
173
|
+
}
|
|
129
174
|
/**
|
|
130
175
|
* 產生專案快照
|
|
131
176
|
*/
|
|
@@ -173,8 +218,9 @@ export class SnapshotGenerator {
|
|
|
173
218
|
}
|
|
174
219
|
/**
|
|
175
220
|
* 建構模組快照
|
|
221
|
+
* @param factoryPatterns Parser 識別的 factory 模式(優先使用,若為空則 fallback 到名稱比對)
|
|
176
222
|
*/
|
|
177
|
-
buildModuleSnapshot(moduleName, symbols, _modulePath) {
|
|
223
|
+
buildModuleSnapshot(moduleName, symbols, _modulePath, factoryPatterns = new Map()) {
|
|
178
224
|
// 轉型為 ExtendedSymbol 以存取 signature 和 typeInfo
|
|
179
225
|
const extendedSymbols = symbols;
|
|
180
226
|
const api = {};
|
|
@@ -201,9 +247,16 @@ export class SnapshotGenerator {
|
|
|
201
247
|
};
|
|
202
248
|
}
|
|
203
249
|
}
|
|
204
|
-
// 處理 factory
|
|
250
|
+
// 處理 factory 函數
|
|
251
|
+
// 優先使用 Parser 語義分析的結果,若無則 fallback 到名稱比對
|
|
205
252
|
for (const func of functions) {
|
|
206
|
-
|
|
253
|
+
const parserPattern = factoryPatterns.get(func.name);
|
|
254
|
+
if (parserPattern) {
|
|
255
|
+
// Parser 識別為 factory(語義分析)
|
|
256
|
+
factories[func.name] = this.formatFunctionSignature(func);
|
|
257
|
+
}
|
|
258
|
+
else if (factoryPatterns.size === 0 && func.name.startsWith('create')) {
|
|
259
|
+
// Fallback:Parser 未提供任何結果時,使用名稱比對(向後相容)
|
|
207
260
|
factories[func.name] = this.formatFunctionSignature(func);
|
|
208
261
|
}
|
|
209
262
|
}
|
|
@@ -275,9 +328,15 @@ export class SnapshotGenerator {
|
|
|
275
328
|
}
|
|
276
329
|
/**
|
|
277
330
|
* 簡化簽章格式(移除函數名稱,保留參數和回傳型別)
|
|
331
|
+
* 使用括號平衡算法處理巢狀泛型
|
|
278
332
|
*/
|
|
279
333
|
simplifySignature(signature) {
|
|
280
|
-
//
|
|
334
|
+
// 使用括號平衡算法找到參數列表的開始和結束位置
|
|
335
|
+
const result = this.parseSignatureWithBalancing(signature);
|
|
336
|
+
if (result) {
|
|
337
|
+
return result;
|
|
338
|
+
}
|
|
339
|
+
// Fallback:原始正則邏輯(向後相容)
|
|
281
340
|
const match = signature.match(/^[^(]*\(([^)]*)\)(?:\s*:\s*(.+))?$/);
|
|
282
341
|
if (match) {
|
|
283
342
|
const params = match[1].trim();
|
|
@@ -286,6 +345,59 @@ export class SnapshotGenerator {
|
|
|
286
345
|
}
|
|
287
346
|
return signature;
|
|
288
347
|
}
|
|
348
|
+
/**
|
|
349
|
+
* 使用括號平衡算法解析簽章
|
|
350
|
+
* 正確處理巢狀泛型(如 Map<K, Fn<V>>)
|
|
351
|
+
*/
|
|
352
|
+
parseSignatureWithBalancing(signature) {
|
|
353
|
+
// 找到第一個 '(' 的位置(跳過泛型參數 '<...>')
|
|
354
|
+
let depth = 0;
|
|
355
|
+
let parenStart = -1;
|
|
356
|
+
for (let i = 0; i < signature.length; i++) {
|
|
357
|
+
const char = signature[i];
|
|
358
|
+
if (char === '<') {
|
|
359
|
+
depth++;
|
|
360
|
+
}
|
|
361
|
+
else if (char === '>') {
|
|
362
|
+
depth--;
|
|
363
|
+
}
|
|
364
|
+
else if (char === '(' && depth === 0) {
|
|
365
|
+
parenStart = i;
|
|
366
|
+
break;
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
if (parenStart === -1) {
|
|
370
|
+
return null;
|
|
371
|
+
}
|
|
372
|
+
// 從 parenStart 開始,使用括號平衡找到對應的 ')'
|
|
373
|
+
depth = 0;
|
|
374
|
+
let parenEnd = -1;
|
|
375
|
+
for (let i = parenStart; i < signature.length; i++) {
|
|
376
|
+
const char = signature[i];
|
|
377
|
+
if (char === '(' || char === '<' || char === '{' || char === '[') {
|
|
378
|
+
depth++;
|
|
379
|
+
}
|
|
380
|
+
else if (char === ')' || char === '>' || char === '}' || char === ']') {
|
|
381
|
+
depth--;
|
|
382
|
+
if (depth === 0 && char === ')') {
|
|
383
|
+
parenEnd = i;
|
|
384
|
+
break;
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
if (parenEnd === -1) {
|
|
389
|
+
return null;
|
|
390
|
+
}
|
|
391
|
+
// 提取參數和回傳型別
|
|
392
|
+
const params = signature.substring(parenStart + 1, parenEnd).trim();
|
|
393
|
+
const afterParen = signature.substring(parenEnd + 1).trim();
|
|
394
|
+
// 解析回傳型別(跳過 ':' 後的部分)
|
|
395
|
+
let returnType = 'void';
|
|
396
|
+
if (afterParen.startsWith(':')) {
|
|
397
|
+
returnType = afterParen.substring(1).trim();
|
|
398
|
+
}
|
|
399
|
+
return params ? `(${params}) → ${returnType}` : `() → ${returnType}`;
|
|
400
|
+
}
|
|
289
401
|
/**
|
|
290
402
|
* 格式化 interface 欄位
|
|
291
403
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot-generator.js","sourceRoot":"","sources":["../../../src/core/snapshot/snapshot-generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"snapshot-generator.js","sourceRoot":"","sources":["../../../src/core/snapshot/snapshot-generator.ts"],"names":[],"mappings":"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"}
|