agent-ide 0.9.1 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/dist/core/change-signature/change-signature-service.d.ts.map +1 -1
  2. package/dist/core/change-signature/change-signature-service.js +25 -2
  3. package/dist/core/change-signature/change-signature-service.js.map +1 -1
  4. package/dist/core/change-signature/signature-parser.d.ts.map +1 -1
  5. package/dist/core/change-signature/signature-parser.js +117 -144
  6. package/dist/core/change-signature/signature-parser.js.map +1 -1
  7. package/dist/core/cycles/cycle-detector.js +6 -7
  8. package/dist/core/cycles/cycle-detector.js.map +1 -1
  9. package/dist/core/deadcode/dead-code-detector.d.ts.map +1 -1
  10. package/dist/core/deadcode/dead-code-detector.js +20 -11
  11. package/dist/core/deadcode/dead-code-detector.js.map +1 -1
  12. package/dist/core/foundations/dependency-graph/dependency-graph.d.ts.map +1 -1
  13. package/dist/core/foundations/dependency-graph/dependency-graph.js +2 -1
  14. package/dist/core/foundations/dependency-graph/dependency-graph.js.map +1 -1
  15. package/dist/core/foundations/indexing/index-engine.d.ts +1 -0
  16. package/dist/core/foundations/indexing/index-engine.d.ts.map +1 -1
  17. package/dist/core/foundations/indexing/index-engine.js +5 -9
  18. package/dist/core/foundations/indexing/index-engine.js.map +1 -1
  19. package/dist/core/foundations/indexing/symbol-index.d.ts +2 -0
  20. package/dist/core/foundations/indexing/symbol-index.d.ts.map +1 -1
  21. package/dist/core/foundations/indexing/symbol-index.js +58 -23
  22. package/dist/core/foundations/indexing/symbol-index.js.map +1 -1
  23. package/dist/core/impact/impact-analyzer.d.ts.map +1 -1
  24. package/dist/core/impact/impact-analyzer.js +12 -6
  25. package/dist/core/impact/impact-analyzer.js.map +1 -1
  26. package/dist/core/move/file-scanner.d.ts.map +1 -1
  27. package/dist/core/move/file-scanner.js +29 -6
  28. package/dist/core/move/file-scanner.js.map +1 -1
  29. package/dist/core/move/import-resolver.d.ts +1 -0
  30. package/dist/core/move/import-resolver.d.ts.map +1 -1
  31. package/dist/core/move/import-resolver.js +6 -4
  32. package/dist/core/move/import-resolver.js.map +1 -1
  33. package/dist/core/move-member/file-change-preparer.d.ts +6 -0
  34. package/dist/core/move-member/file-change-preparer.d.ts.map +1 -1
  35. package/dist/core/move-member/file-change-preparer.js +79 -57
  36. package/dist/core/move-member/file-change-preparer.js.map +1 -1
  37. package/dist/core/rename/reference-updater.d.ts +14 -4
  38. package/dist/core/rename/reference-updater.d.ts.map +1 -1
  39. package/dist/core/rename/reference-updater.js +39 -37
  40. package/dist/core/rename/reference-updater.js.map +1 -1
  41. package/dist/core/snapshot/snapshot-generator.d.ts.map +1 -1
  42. package/dist/core/snapshot/snapshot-generator.js +21 -5
  43. package/dist/core/snapshot/snapshot-generator.js.map +1 -1
  44. package/dist/infrastructure/cache/memory-cache.d.ts +1 -1
  45. package/dist/infrastructure/cache/memory-cache.d.ts.map +1 -1
  46. package/dist/infrastructure/cache/memory-cache.js +49 -5
  47. package/dist/infrastructure/cache/memory-cache.js.map +1 -1
  48. package/dist/infrastructure/cache/strategies.d.ts +1 -0
  49. package/dist/infrastructure/cache/strategies.d.ts.map +1 -1
  50. package/dist/infrastructure/cache/strategies.js +21 -21
  51. package/dist/infrastructure/cache/strategies.js.map +1 -1
  52. package/dist/infrastructure/changeset/change-applicator.d.ts.map +1 -1
  53. package/dist/infrastructure/changeset/change-applicator.js +12 -27
  54. package/dist/infrastructure/changeset/change-applicator.js.map +1 -1
  55. package/dist/infrastructure/changeset/changeset-builder.d.ts +4 -2
  56. package/dist/infrastructure/changeset/changeset-builder.d.ts.map +1 -1
  57. package/dist/infrastructure/changeset/changeset-builder.js +33 -21
  58. package/dist/infrastructure/changeset/changeset-builder.js.map +1 -1
  59. package/dist/infrastructure/changeset/changeset-converter.d.ts.map +1 -1
  60. package/dist/infrastructure/changeset/changeset-converter.js +11 -7
  61. package/dist/infrastructure/changeset/changeset-converter.js.map +1 -1
  62. package/dist/infrastructure/formatters/diff-generator.js +31 -42
  63. package/dist/infrastructure/formatters/diff-generator.js.map +1 -1
  64. package/dist/infrastructure/formatters/query-formatter.d.ts +1 -5
  65. package/dist/infrastructure/formatters/query-formatter.d.ts.map +1 -1
  66. package/dist/infrastructure/formatters/query-formatter.js +36 -16
  67. package/dist/infrastructure/formatters/query-formatter.js.map +1 -1
  68. package/dist/infrastructure/parser/registry.d.ts +6 -0
  69. package/dist/infrastructure/parser/registry.d.ts.map +1 -1
  70. package/dist/infrastructure/parser/registry.js +25 -8
  71. package/dist/infrastructure/parser/registry.js.map +1 -1
  72. package/dist/infrastructure/storage/file-system.d.ts.map +1 -1
  73. package/dist/infrastructure/storage/file-system.js +11 -3
  74. package/dist/infrastructure/storage/file-system.js.map +1 -1
  75. package/dist/plugins/javascript/declaration-analyzer.d.ts +16 -0
  76. package/dist/plugins/javascript/declaration-analyzer.d.ts.map +1 -1
  77. package/dist/plugins/javascript/declaration-analyzer.js +152 -113
  78. package/dist/plugins/javascript/declaration-analyzer.js.map +1 -1
  79. package/dist/plugins/javascript/parser.d.ts +6 -0
  80. package/dist/plugins/javascript/parser.d.ts.map +1 -1
  81. package/dist/plugins/javascript/parser.js +13 -2
  82. package/dist/plugins/javascript/parser.js.map +1 -1
  83. package/dist/plugins/javascript/reference-finder.d.ts +14 -2
  84. package/dist/plugins/javascript/reference-finder.d.ts.map +1 -1
  85. package/dist/plugins/javascript/reference-finder.js +57 -26
  86. package/dist/plugins/javascript/reference-finder.js.map +1 -1
  87. package/dist/plugins/typescript/declaration-analyzer.d.ts +12 -0
  88. package/dist/plugins/typescript/declaration-analyzer.d.ts.map +1 -1
  89. package/dist/plugins/typescript/declaration-analyzer.js +29 -4
  90. package/dist/plugins/typescript/declaration-analyzer.js.map +1 -1
  91. package/dist/plugins/typescript/dependency-analyzer.d.ts +5 -0
  92. package/dist/plugins/typescript/dependency-analyzer.d.ts.map +1 -1
  93. package/dist/plugins/typescript/dependency-analyzer.js +10 -5
  94. package/dist/plugins/typescript/dependency-analyzer.js.map +1 -1
  95. package/dist/plugins/typescript/language-service.d.ts +9 -0
  96. package/dist/plugins/typescript/language-service.d.ts.map +1 -1
  97. package/dist/plugins/typescript/language-service.js +16 -2
  98. package/dist/plugins/typescript/language-service.js.map +1 -1
  99. package/dist/plugins/typescript/scope-analyzer.d.ts +7 -2
  100. package/dist/plugins/typescript/scope-analyzer.d.ts.map +1 -1
  101. package/dist/plugins/typescript/scope-analyzer.js +26 -16
  102. package/dist/plugins/typescript/scope-analyzer.js.map +1 -1
  103. package/dist/plugins/typescript/symbol-extractor.d.ts +4 -5
  104. package/dist/plugins/typescript/symbol-extractor.d.ts.map +1 -1
  105. package/dist/plugins/typescript/symbol-extractor.js +19 -29
  106. package/dist/plugins/typescript/symbol-extractor.js.map +1 -1
  107. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"change-signature-service.d.ts","sourceRoot":"","sources":["../../../src/core/change-signature/change-signature-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAMpE,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EAGtB,MAAM,YAAY,CAAC;AAIpB;;GAEG;AACH,qBAAa,sBAAsB;IAS/B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAT7B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;gBAG/B,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,WAAW;IAU1C;;OAEG;IACG,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAuEtF;;;;;;OAMG;IACG,iBAAiB,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,SAAS,CAAC;IA4E5E;;OAEG;YACW,wBAAwB;IAkCtC;;OAEG;YACW,YAAY;IA6C1B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA4B/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;OAEG;YACW,eAAe;IAM7B;;OAEG;YACW,YAAY;IAoB1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAyB1B;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,WAAW,GACtB,sBAAsB,CAExB"}
1
+ {"version":3,"file":"change-signature-service.d.ts","sourceRoot":"","sources":["../../../src/core/change-signature/change-signature-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAMpE,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EAGtB,MAAM,YAAY,CAAC;AAIpB;;GAEG;AACH,qBAAa,sBAAsB;IAS/B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAT7B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;gBAG/B,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,WAAW;IAU1C;;OAEG;IACG,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA+FtF;;;;;;OAMG;IACG,iBAAiB,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,SAAS,CAAC;IA4E5E;;OAEG;YACW,wBAAwB;IAkCtC;;OAEG;YACW,YAAY;IA6C1B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA4B/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;OAEG;YACW,eAAe;IAM7B;;OAEG;YACW,YAAY;IAoB1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAyB1B;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,WAAW,GACtB,sBAAsB,CAExB"}
@@ -49,8 +49,31 @@ export class ChangeSignatureService {
49
49
  // 3. 計算新簽名
50
50
  const newSignature = this.transformer.applyChangesToSignature(originalSignature, options.changes);
51
51
  // 4. 取得所有呼叫點
52
- const projectFiles = options.targetFiles ?? await this.getProjectFiles(options.projectRoot);
53
- const callSites = await this.symbolFinder.findCallSites(options.functionName, projectFiles);
52
+ // 當檔案路徑是絕對路徑且不在 projectRoot 內時,自動推斷 projectRoot
53
+ let effectiveProjectRoot = options.projectRoot;
54
+ if (path.isAbsolute(options.filePath) && !options.filePath.startsWith(effectiveProjectRoot)) {
55
+ effectiveProjectRoot = path.dirname(options.filePath);
56
+ // 嘗試向上找到 package.json 所在目錄
57
+ let searchDir = effectiveProjectRoot;
58
+ while (searchDir !== path.dirname(searchDir)) {
59
+ const packageJsonPath = path.join(searchDir, 'package.json');
60
+ try {
61
+ const exists = await this.fileSystem.exists(packageJsonPath);
62
+ if (exists) {
63
+ effectiveProjectRoot = searchDir;
64
+ break;
65
+ }
66
+ }
67
+ catch {
68
+ // 忽略錯誤,繼續向上搜索
69
+ }
70
+ searchDir = path.dirname(searchDir);
71
+ }
72
+ }
73
+ const projectFiles = options.targetFiles ?? await this.getProjectFiles(effectiveProjectRoot);
74
+ // 只查找獨立函式呼叫(非 method call)
75
+ const allCallSites = await this.symbolFinder.findCallSites(options.functionName, projectFiles);
76
+ const callSites = allCallSites.filter(cs => !cs.isMethodCall);
54
77
  // 5. 生成定義更新
55
78
  const definitionUpdate = await this.generateDefinitionUpdate(options.filePath, originalSignature, newSignature);
56
79
  // 6. 生成呼叫點更新
@@ -1 +1 @@
1
- {"version":3,"file":"change-signature-service.js","sourceRoot":"","sources":["../../../src/core/change-signature/change-signature-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAI7B,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AACrH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAOzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAEtF;;GAEG;AACH,MAAM,OAAO,sBAAsB;IASd;IACA;IATF,SAAS,CAAY;IACrB,eAAe,CAAkB;IACjC,YAAY,CAAe;IAC3B,SAAS,CAAqB;IAC9B,WAAW,CAAuB;IAClC,eAAe,CAAkB;IAElD,YACmB,cAA8B,EAC9B,UAAuB;QADvB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,eAAU,GAAV,UAAU,CAAa;QAExC,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC7D,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QACvE,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QACjE,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACzE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,OAA+B;QACnD,YAAY;QACZ,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CACjE,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,YAAY,CACrB,CAAC;QAEF,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,iBAAiB,CAC3B,wBAAwB,CAAC,gBAAgB,EACzC,UAAU,OAAO,CAAC,YAAY,EAAE,CACjC,CAAC;QACJ,CAAC;QAED,UAAU;QACV,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,iBAAiB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5F,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,iBAAiB,CAC3B,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,EACxB,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAC5B,CAAC;QACJ,CAAC;QAED,WAAW;QACX,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,iBAAiB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAElG,aAAa;QACb,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,IAAI,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5F,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAE5F,YAAY;QACZ,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAC1D,OAAO,CAAC,QAAQ,EAChB,iBAAiB,EACjB,YAAY,CACb,CAAC;QAEF,aAAa;QACb,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,CACxE,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,OAAO,CAAC,OAAO,CAChB,CAAC;QAEF,WAAW;QACX,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;QAC7D,CAAC;QAED,aAAa;QACb,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QACxC,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC7C,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;YACrC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;YACb,iBAAiB;YACjB,YAAY;YACZ,gBAAgB;YAChB,eAAe;YACf,QAAQ,EAAE,CAAC,OAAO,CAAC,OAAO;YAC1B,KAAK,EAAE;gBACL,gBAAgB,EAAE,eAAe,CAAC,MAAM;gBACxC,aAAa,EAAE,aAAa,CAAC,IAAI;aAClC;SACF,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAA+B;QACrD,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QAEtF,yBAAyB;QACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC;YACxC,GAAG,OAAO;YACV,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,OAAO;iBACX,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,yBAAyB,CAAC;iBACnD,eAAe,CAAC,MAAM,CAAC,KAAK,IAAI,yBAAyB,CAAC;iBAC1D,KAAK,EAAE,CAAC;QACb,CAAC;QAED,sBAAsB;QACtB,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAE9E,mCAAmC;QACnC,mCAAmC;QACnC,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7C,MAAM,kBAAkB,GAAG,YAAY,CAAC,MAAM,CAAC;QAE/C,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;gBAC/B,KAAK,EAAE;oBACL,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE;oBACtC,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,GAAG,CAAC,EAAE;iBAC1D;gBACD,OAAO,EAAE,OAAO;gBAChB,WAAW,EAAE,sBAAsB,YAAY,CAAC,IAAI,EAAE,OAAO,OAAO,CAAC,IAAI,EAAE,EAAE;aAC9E,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAElC,qBAAqB;QACrB,oBAAoB;QACpB,MAAM,aAAa,GAAG,IAAI,GAAG,EAA4B,CAAC;QAC1D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC5C,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACpD,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,IAAI,aAAa,EAAE,CAAC;YACtD,kCAAkC;YAClC,yBAAyB;YACzB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBACjC,mCAAmC;gBACnC,mCAAmC;gBACnC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;gBACnD,MAAM,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;gBACtD,OAAO;oBACL,KAAK,EAAE;wBACL,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE;wBACrC,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,GAAG,CAAC,EAAE;qBACzD;oBACD,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,WAAW,EAAE,gBAAgB,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;iBACtF,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,aAAa,CAAC,cAAc,EAAE,KAAK,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO;QACP,MAAM,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvF,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7E,OAAO,CAAC,eAAe,CACrB,wBAAwB,MAAM,CAAC,iBAAiB,CAAC,IAAI,MAAM,cAAc,SAAS,SAAS,GAAG,CAC/F,CAAC;QAEF,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,wBAAwB,CACpC,QAAgB,EAChB,iBAAoC,EACpC,YAA+B;QAE/B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,SAAS,GAAG,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;QAEtC,WAAW;QACX,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAE7E,SAAS;QACT,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACnE,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAChE,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QAE7E,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,GAAG,CAAC,CAAC;YAC3D,eAAe;YACf,YAAY,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAE1C,OAAO;YACL,QAAQ;YACR,YAAY,EAAE,YAAY;YAC1B,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;SACrC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CACxB,gBAA6E,EAC7E,eAA0C;QAE1C,QAAQ;QACR,MAAM,WAAW,GAAG,IAAI,GAAG,EAA0E,CAAC;QAEtG,SAAS;QACT,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChD,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC;YAC/C,YAAY,EAAE,gBAAgB,CAAC,YAAY;YAC3C,OAAO,EAAE,gBAAgB,CAAC,OAAO;YACjC,IAAI,EAAE,CAAC,CAAC,WAAW;SACpB,CAAC,CAAC;QAEH,UAAU;QACV,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;YACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACvC,CAAC;YACD,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC;gBACrC,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI;aACvC,CAAC,CAAC;QACL,CAAC;QAED,UAAU;QACV,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,WAAW,EAAE,CAAC;YAC9C,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACtD,IAAI,CAAC,OAAO,EAAE,CAAC;gBAAC,SAAS;YAAC,CAAC;YAE3B,gBAAgB;YAChB,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;YAE9D,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;gBACnC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YACjE,CAAC;YAED,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,SAA4B,EAAE,QAAgB;QAC5E,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAEtD,OAAO,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACtC,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC;YAClB,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC;YAErB,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;gBAC1C,MAAM,IAAI,GAAG,CAAC;YAChB,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;YAC9B,CAAC;YAED,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACvB,MAAM,IAAI,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC;YACvC,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,IAAY,EAAE,SAAiB;QACvD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAAC,KAAK,EAAE,CAAC;YAAC,CAAC;iBAC5B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACzB,KAAK,EAAE,CAAC;gBACR,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;oBAAC,OAAO,CAAC,CAAC;gBAAC,CAAC;YAChC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,WAAmB;QAC/C,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CAAC,OAAe,EAAE,KAAe;QACzD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAE7D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAEhD,kCAAkC;YAClC,MAAM,QAAQ,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;YACvE,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChE,SAAS;YACX,CAAC;YAED,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC3C,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5D,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,QAAgB;QACtC,OAAO,SAAS,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,IAA8B,EAAE,OAAe;QACvE,kBAAkB;QAClB,MAAM,UAAU,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxG,MAAM,aAAa,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;QAC1D,MAAM,cAAc,GAAsB;YACxC,IAAI,EAAE,EAAE;YACR,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,aAAa;YACvB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,EAAE;SACd,CAAC;QACF,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,OAAO;YACd,iBAAiB,EAAE,cAAc;YACjC,YAAY,EAAE,cAAc;YAC5B,gBAAgB,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE;YAC1F,eAAe,EAAE,EAAE;YACnB,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE;gBACL,gBAAgB,EAAE,CAAC;gBACnB,aAAa,EAAE,CAAC;aACjB;SACF,CAAC;IACJ,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAC1C,cAA8B,EAC9B,UAAuB;IAEvB,OAAO,IAAI,sBAAsB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"change-signature-service.js","sourceRoot":"","sources":["../../../src/core/change-signature/change-signature-service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"signature-parser.d.ts","sourceRoot":"","sources":["../../../src/core/change-signature/signature-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,KAAK,EAAE,iBAAiB,EAAuB,MAAM,YAAY,CAAC;AAGzE;;GAEG;AACH,qBAAa,eAAe;IAIxB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAJ7B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAGnB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,WAAW;IAK1C;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAoB/F;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAWhC;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAsDpB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAiBlC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAsB9B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA+C/B;;;OAGG;IACH,OAAO,CAAC,cAAc;IAuGtB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAmBhC;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IA+ChC;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;IA2BvB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAuB3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,OAAO,CAAC,WAAW;CAGpB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,GAAG,eAAe,CAE9G"}
1
+ {"version":3,"file":"signature-parser.d.ts","sourceRoot":"","sources":["../../../src/core/change-signature/signature-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,KAAK,EAAE,iBAAiB,EAAuB,MAAM,YAAY,CAAC;AAGzE;;GAEG;AACH,qBAAa,eAAe;IAIxB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAJ7B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAGnB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,WAAW;IAK1C;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAoB/F;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAWhC;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAsDpB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAiBlC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAsB9B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAkD/B;;;OAGG;IACH,OAAO,CAAC,cAAc;IA0EtB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAmBhC;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IA+ChC;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;IA2BvB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAuB3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,OAAO,CAAC,WAAW;CAGpB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,GAAG,eAAe,CAE9G"}
@@ -143,55 +143,57 @@ export class SignatureParser {
143
143
  * 提取函數元資訊(修飾符、是否方法等)
144
144
  */
145
145
  extractFunctionMetadata(content, functionName) {
146
- const patterns = [
146
+ // 合併正則:捕獲所有可能模式的群組
147
+ const escapedName = this.escapeRegex(functionName);
148
+ const combinedPattern = new RegExp('^(\\s*)(?:' +
147
149
  // function 宣告
148
- { pattern: new RegExp(`^(\\s*)(export\\s+)?(async\\s+)?function\\s+${this.escapeRegex(functionName)}`, 'm'), type: 'function' },
150
+ `(export\\s+)?(async\\s+)?function\\s+${escapedName}|` +
149
151
  // 箭頭函式
150
- { pattern: new RegExp(`^(\\s*)(export\\s+)?(const|let|var)\\s+${this.escapeRegex(functionName)}\\s*(?::\\s*[^=]+)?\\s*=\\s*(async\\s+)?`, 'm'), type: 'arrow' },
152
+ `(export\\s+)?(const|let|var)\\s+${escapedName}\\s*(?::\\s*[^=]+)?\\s*=\\s*(async\\s+)?|` +
151
153
  // class 方法
152
- { pattern: new RegExp(`^(\\s*)(public|private|protected)?\\s*(static)?\\s*(async)?\\s*${this.escapeRegex(functionName)}`, 'm'), type: 'method' },
153
- ];
154
- for (const { pattern, type } of patterns) {
155
- const match = content.match(pattern);
156
- if (match) {
157
- const matchIndex = content.indexOf(match[0]);
158
- const column = (match[1] || '').replace(/^[\s\S]*\n/, '').length;
159
- const modifiers = [];
160
- let isMethod = false;
161
- switch (type) {
162
- case 'function':
163
- if (match[2]) {
164
- modifiers.push('export');
165
- }
166
- if (match[3]) {
167
- modifiers.push('async');
168
- }
169
- break;
170
- case 'arrow':
171
- if (match[2]) {
172
- modifiers.push('export');
173
- }
174
- if (match[4]) {
175
- modifiers.push('async');
176
- }
177
- break;
178
- case 'method':
179
- isMethod = true;
180
- if (match[2]) {
181
- modifiers.push(match[2]);
182
- }
183
- if (match[3]) {
184
- modifiers.push('static');
185
- }
186
- if (match[4]) {
187
- modifiers.push('async');
188
- }
189
- break;
190
- }
191
- return { modifiers, isMethod, matchIndex, column };
154
+ `(public|private|protected)?\\s*(static)?\\s*(async)?\\s*${escapedName}` +
155
+ ')', 'm');
156
+ const match = content.match(combinedPattern);
157
+ if (!match) {
158
+ return { modifiers: [], isMethod: false, matchIndex: 0, column: 0 };
159
+ }
160
+ const matchIndex = content.indexOf(match[0]);
161
+ const column = (match[1] || '').replace(/^[\s\S]*\n/, '').length;
162
+ const modifiers = [];
163
+ let isMethod = false;
164
+ // 根據哪個群組匹配來判斷類型
165
+ if (match[0].includes('function')) {
166
+ // function 宣告:match[2]=export, match[3]=async
167
+ if (match[2]) {
168
+ modifiers.push('export');
169
+ }
170
+ if (match[3]) {
171
+ modifiers.push('async');
172
+ }
173
+ }
174
+ else if (match[0].includes('=>') || match[5]) {
175
+ // 箭頭函式:match[4]=export, match[5]=const/let/var, match[6]=async
176
+ if (match[4]) {
177
+ modifiers.push('export');
178
+ }
179
+ if (match[6]) {
180
+ modifiers.push('async');
181
+ }
182
+ }
183
+ else {
184
+ // class 方法:match[7]=public/private/protected, match[8]=static, match[9]=async
185
+ isMethod = true;
186
+ if (match[7]) {
187
+ modifiers.push(match[7]);
188
+ }
189
+ if (match[8]) {
190
+ modifiers.push('static');
191
+ }
192
+ if (match[9]) {
193
+ modifiers.push('async');
192
194
  }
193
195
  }
194
- return { modifiers: [], isMethod: false, matchIndex: 0, column: 0 };
196
+ return { modifiers, isMethod, matchIndex, column };
195
197
  }
196
198
  /**
197
199
  * 使用正則表達式解析函數簽章(Fallback)
@@ -199,111 +201,82 @@ export class SignatureParser {
199
201
  */
200
202
  parseWithRegex(content, filePath, functionName) {
201
203
  const lines = content.split('\n');
202
- // 匹配各種函式定義模式
203
- const patterns = [
204
+ const escapedName = this.escapeRegex(functionName);
205
+ // 合併三個模式為單一正則表達式
206
+ const combinedPattern = new RegExp('^(\\s*)(?:' +
204
207
  // function name(params): returnType
205
- new RegExp(`^(\\s*)(export\\s+)?(async\\s+)?function\\s+${this.escapeRegex(functionName)}\\s*(<[^>]*>)?\\s*\\(([^)]*)\\)\\s*(?::\\s*([^{]+))?\\s*\\{?`, 'm'),
208
+ `(export\\s+)?(async\\s+)?function\\s+${escapedName}\\s*(<[^>]*>)?\\s*\\(([^)]*)\\)\\s*(?::\\s*([^{]+))?\\s*\\{?|` +
206
209
  // const name = (params): returnType =>
207
- new RegExp(`^(\\s*)(export\\s+)?(const|let|var)\\s+${this.escapeRegex(functionName)}\\s*(?::\\s*[^=]+)?\\s*=\\s*(async\\s+)?\\(([^)]*)\\)\\s*(?::\\s*([^=]+))?\\s*=>`, 'm'),
210
+ `(export\\s+)?(const|let|var)\\s+${escapedName}\\s*(?::\\s*[^=]+)?\\s*=\\s*(async\\s+)?\\(([^)]*)\\)\\s*(?::\\s*([^=]+))?\\s*=>|` +
208
211
  // class method: name(params): returnType
209
- new RegExp(`^(\\s*)(public|private|protected)?\\s*(static)?\\s*(async)?\\s*${this.escapeRegex(functionName)}\\s*(<[^>]*>)?\\s*\\(([^)]*)\\)\\s*(?::\\s*([^{]+))?\\s*\\{?`, 'm'),
210
- ];
211
- for (const pattern of patterns) {
212
- const match = content.match(pattern);
213
- if (match) {
214
- const matchIndex = content.indexOf(match[0]);
215
- /**
216
- * 行號計算邏輯說明:
217
- *
218
- * 問題背景:
219
- * 正則表達式使用 'm' 多行模式,^ 會匹配每行開頭而非僅字串開頭。
220
- * 當 match[1](前導空白群組)跨越多行時,matchIndex 指向的是
221
- * 匹配「開始」的位置,但實際的函式定義可能在後面幾行。
222
- *
223
- * 範例:
224
- * ```
225
- * // Line 1: 空行
226
- * // Line 2: 空行
227
- * function foo() {} // Line 3: 函式定義
228
- * ```
229
- * 若 match[1] = "\n\n "(包含2個換行),matchIndex 可能指向 Line 1,
230
- * 但函式實際在 Line 3。
231
- *
232
- * 計算公式:
233
- * 1. content.substring(0, matchIndex).split('\n').length
234
- * → 取得匹配「起始位置」的行號
235
- * 2. newlinesInMatch = match[1] 中的換行數
236
- * → 補償前導空白中包含的行數偏移
237
- * 3. 最終行號 = 起始行號 + 換行偏移量
238
- */
239
- const newlinesInMatch = (match[1] || '').split('\n').length - 1;
240
- const lineNumber = content.substring(0, matchIndex).split('\n').length + newlinesInMatch;
241
- // 計算欄位:取 match[1] 最後一行的長度(即最後一個換行後的空白數)
242
- const column = (match[1] || '').replace(/^[\s\S]*\n/, '').length;
243
- // 根據不同模式提取參數和修飾符
244
- let paramsString;
245
- let returnType;
246
- const modifiers = [];
247
- let isMethod = false;
248
- if (match[0].includes('function')) {
249
- // function 宣告
250
- if (match[2]) {
251
- modifiers.push('export');
252
- }
253
- if (match[3]) {
254
- modifiers.push('async');
255
- }
256
- paramsString = match[5] || '';
257
- returnType = match[6]?.trim();
258
- }
259
- else if (match[0].includes('=>')) {
260
- // 箭頭函式
261
- if (match[2]) {
262
- modifiers.push('export');
263
- }
264
- if (match[4]) {
265
- modifiers.push('async');
266
- }
267
- paramsString = match[5] || '';
268
- returnType = match[6]?.trim();
269
- }
270
- else {
271
- // 類別方法
272
- isMethod = true;
273
- if (match[2]) {
274
- modifiers.push(match[2]);
275
- }
276
- if (match[3]) {
277
- modifiers.push('static');
278
- }
279
- if (match[4]) {
280
- modifiers.push('async');
281
- }
282
- paramsString = match[6] || '';
283
- returnType = match[7]?.trim();
284
- }
285
- // 解析參數(使用 fallback 方法)
286
- const parameters = this.parseParametersWithRegex(paramsString, lineNumber, column + match[0].indexOf('(') + 1);
287
- // 計算結束位置
288
- const endLine = this.findFunctionEndLine(lines, lineNumber - 1);
289
- return {
290
- name: functionName,
291
- parameters,
292
- returnType: returnType?.replace(/\s*\{?\s*$/, ''),
293
- location: {
294
- filePath,
295
- range: {
296
- start: { line: lineNumber, column: column + 1, offset: matchIndex },
297
- end: { line: endLine + 1, column: 1 }
298
- }
299
- },
300
- isMethod,
301
- className: isMethod ? this.findEnclosingClass(content, matchIndex) : undefined,
302
- modifiers
303
- };
212
+ `(public|private|protected)?\\s*(static)?\\s*(async)?\\s*${escapedName}\\s*(<[^>]*>)?\\s*\\(([^)]*)\\)\\s*(?::\\s*([^{]+))?\\s*\\{?` +
213
+ ')', 'm');
214
+ const match = content.match(combinedPattern);
215
+ if (!match) {
216
+ return null;
217
+ }
218
+ const matchIndex = content.indexOf(match[0]);
219
+ const newlinesInMatch = (match[1] || '').split('\n').length - 1;
220
+ const lineNumber = content.substring(0, matchIndex).split('\n').length + newlinesInMatch;
221
+ const column = (match[1] || '').replace(/^[\s\S]*\n/, '').length;
222
+ let paramsString;
223
+ let returnType;
224
+ const modifiers = [];
225
+ let isMethod = false;
226
+ if (match[0].includes('function')) {
227
+ // function 宣告:match[2]=export, match[3]=async, match[5]=params, match[6]=returnType
228
+ if (match[2]) {
229
+ modifiers.push('export');
230
+ }
231
+ if (match[3]) {
232
+ modifiers.push('async');
304
233
  }
234
+ paramsString = match[5] || '';
235
+ returnType = match[6]?.trim();
305
236
  }
306
- return null;
237
+ else if (match[0].includes('=>')) {
238
+ // 箭頭函式:match[7]=export, match[9]=async, match[10]=params, match[11]=returnType
239
+ if (match[7]) {
240
+ modifiers.push('export');
241
+ }
242
+ if (match[9]) {
243
+ modifiers.push('async');
244
+ }
245
+ paramsString = match[10] || '';
246
+ returnType = match[11]?.trim();
247
+ }
248
+ else {
249
+ // 類別方法:match[12]=public/private/protected, match[13]=static, match[14]=async, match[16]=params, match[17]=returnType
250
+ isMethod = true;
251
+ if (match[12]) {
252
+ modifiers.push(match[12]);
253
+ }
254
+ if (match[13]) {
255
+ modifiers.push('static');
256
+ }
257
+ if (match[14]) {
258
+ modifiers.push('async');
259
+ }
260
+ paramsString = match[16] || '';
261
+ returnType = match[17]?.trim();
262
+ }
263
+ const parameters = this.parseParametersWithRegex(paramsString, lineNumber, column + match[0].indexOf('(') + 1);
264
+ const endLine = this.findFunctionEndLine(lines, lineNumber - 1);
265
+ return {
266
+ name: functionName,
267
+ parameters,
268
+ returnType: returnType?.replace(/\s*\{?\s*$/, ''),
269
+ location: {
270
+ filePath,
271
+ range: {
272
+ start: { line: lineNumber, column: column + 1, offset: matchIndex },
273
+ end: { line: endLine + 1, column: 1 }
274
+ }
275
+ },
276
+ isMethod,
277
+ className: isMethod ? this.findEnclosingClass(content, matchIndex) : undefined,
278
+ modifiers
279
+ };
307
280
  }
308
281
  /**
309
282
  * 解析 JavaScript 函式簽名(簡化版,不含類型)
@@ -1 +1 @@
1
- {"version":3,"file":"signature-parser.js","sourceRoot":"","sources":["../../../src/core/change-signature/signature-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signature-parser.js","sourceRoot":"","sources":["../../../src/core/change-signature/signature-parser.ts"],"names":[],"mappings":"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"}
@@ -194,17 +194,16 @@ export class CycleDetector {
194
194
  }
195
195
  let complexity = 0;
196
196
  const cycleSet = new Set(cycleNodes);
197
- // 計算循環內部的連接密度
197
+ // 合併計算:單次遍歷同時處理內部依賴和外部依賴者
198
198
  for (const node of cycleNodes) {
199
199
  const dependencies = graph.getDependencies(node);
200
+ const dependents = graph.getDependents(node);
201
+ // 計算內部依賴
200
202
  const internalDeps = dependencies.filter(dep => cycleSet.has(dep));
201
203
  complexity += internalDeps.length;
202
- }
203
- // 計算外部連接
204
- for (const node of cycleNodes) {
205
- const allDependents = graph.getDependents(node);
206
- const externalDependents = allDependents.filter(dep => !cycleSet.has(dep));
207
- complexity += externalDependents.length * 0.5; // 外部連接權重較低
204
+ // 計算外部依賴者(外部連接權重較低)
205
+ const externalDependents = dependents.filter(dep => !cycleSet.has(dep));
206
+ complexity += externalDependents.length * 0.5;
208
207
  }
209
208
  return Math.round(complexity);
210
209
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cycle-detector.js","sourceRoot":"","sources":["../../../src/core/cycles/cycle-detector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cycle-detector.js","sourceRoot":"","sources":["../../../src/core/cycles/cycle-detector.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dead-code-detector.d.ts","sourceRoot":"","sources":["../../../src/core/deadcode/dead-code-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAQvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,KAAK,EAEV,uBAAuB,EACvB,uBAAuB,EAExB,MAAM,YAAY,CAAC;AAmCpB;;GAEG;AACH,qBAAa,gBAAgB;IAKzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAN7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAGnB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,WAAW,EACxC,OAAO,CAAC,EAAE,uBAAuB;IAMnC;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAsIlD;;SAEK;YACW,iBAAiB;IA2D/B;;OAEG;IACH,OAAO,CAAC,aAAa;IAoCrB;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAwB/B;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAMjC;;OAEG;IACH,OAAO,CAAC,cAAc;IActB;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;OAEG;IACH,OAAO,CAAC,cAAc;IAwBtB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAqB5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAOrB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAS3B;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,WAAW,EACvB,OAAO,CAAC,EAAE,uBAAuB,GAChC,gBAAgB,CAElB"}
1
+ {"version":3,"file":"dead-code-detector.d.ts","sourceRoot":"","sources":["../../../src/core/deadcode/dead-code-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAQvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,KAAK,EAEV,uBAAuB,EACvB,uBAAuB,EAExB,MAAM,YAAY,CAAC;AAmCpB;;GAEG;AACH,qBAAa,gBAAgB;IAKzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAN7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAGnB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,WAAW,EACxC,OAAO,CAAC,EAAE,uBAAuB;IAMnC;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAsIlD;;SAEK;YACW,iBAAiB;IA2D/B;;OAEG;IACH,OAAO,CAAC,aAAa;IAoCrB;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAwB/B;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAMjC;;OAEG;IACH,OAAO,CAAC,cAAc;IActB;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;OAEG;IACH,OAAO,CAAC,cAAc;IAwBtB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA8B5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAOrB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAS3B;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,WAAW,EACvB,OAAO,CAAC,EAAE,uBAAuB,GAChC,gBAAgB,CAElB"}
@@ -312,21 +312,30 @@ export class DeadCodeDetector {
312
312
  * 用於判斷 class 是否有成員被使用
313
313
  */
314
314
  buildClassMembersMap(symbols) {
315
- // 第一步:收集所有 class 符號(以 filePath:className 為 key)
316
- const classMap = symbols
317
- .filter(s => s.type === 'class')
318
- .reduce((map, s) => {
319
- map.set(`${s.location.filePath}:${s.name}`, []);
320
- return map;
321
- }, new Map());
322
- // 第二步:將成員分配到對應的 class
323
- symbols.forEach(symbol => {
315
+ const classMap = new Map();
316
+ // 單次遍歷:同時建立 class 鍵和分配成員
317
+ for (const symbol of symbols) {
318
+ if (symbol.type === 'class') {
319
+ // 初始化 class 鍵(確保即使無成員也有對應項)
320
+ const key = `${symbol.location.filePath}:${symbol.name}`;
321
+ if (!classMap.has(key)) {
322
+ classMap.set(key, []);
323
+ }
324
+ }
325
+ // 分配成員到對應 class
324
326
  const parentClassName = this.getParentClassName(symbol);
325
327
  if (parentClassName) {
326
328
  const key = `${symbol.location.filePath}:${parentClassName}`;
327
- classMap.get(key)?.push(symbol);
329
+ const members = classMap.get(key);
330
+ if (members) {
331
+ members.push(symbol);
332
+ }
333
+ else {
334
+ // class 可能在後面才遍歷到,先建立空陣列
335
+ classMap.set(key, [symbol]);
336
+ }
328
337
  }
329
- });
338
+ }
330
339
  return classMap;
331
340
  }
332
341
  /**