agent-ide 0.9.2 → 0.9.4

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 (80) hide show
  1. package/dist/core/deadcode/dead-code-remover.d.ts +4 -3
  2. package/dist/core/deadcode/dead-code-remover.d.ts.map +1 -1
  3. package/dist/core/deadcode/dead-code-remover.js +13 -12
  4. package/dist/core/deadcode/dead-code-remover.js.map +1 -1
  5. package/dist/core/deadcode/file-operations.d.ts +6 -9
  6. package/dist/core/deadcode/file-operations.d.ts.map +1 -1
  7. package/dist/core/deadcode/file-operations.js +12 -17
  8. package/dist/core/deadcode/file-operations.js.map +1 -1
  9. package/dist/core/deadcode/import-cleaner.d.ts +6 -11
  10. package/dist/core/deadcode/import-cleaner.d.ts.map +1 -1
  11. package/dist/core/deadcode/import-cleaner.js +15 -23
  12. package/dist/core/deadcode/import-cleaner.js.map +1 -1
  13. package/dist/core/deadcode/index.d.ts +1 -0
  14. package/dist/core/deadcode/index.d.ts.map +1 -1
  15. package/dist/core/deadcode/index.js +1 -0
  16. package/dist/core/deadcode/index.js.map +1 -1
  17. package/dist/core/deadcode/shared-cache.d.ts +70 -0
  18. package/dist/core/deadcode/shared-cache.d.ts.map +1 -0
  19. package/dist/core/deadcode/shared-cache.js +95 -0
  20. package/dist/core/deadcode/shared-cache.js.map +1 -0
  21. package/dist/core/foundations/indexing/index-engine.d.ts +18 -0
  22. package/dist/core/foundations/indexing/index-engine.d.ts.map +1 -1
  23. package/dist/core/foundations/indexing/index-engine.js +120 -26
  24. package/dist/core/foundations/indexing/index-engine.js.map +1 -1
  25. package/dist/core/impact/impact-analyzer.d.ts.map +1 -1
  26. package/dist/core/impact/impact-analyzer.js +4 -2
  27. package/dist/core/impact/impact-analyzer.js.map +1 -1
  28. package/dist/core/move/file-scanner.d.ts +2 -1
  29. package/dist/core/move/file-scanner.d.ts.map +1 -1
  30. package/dist/core/move/file-scanner.js +6 -3
  31. package/dist/core/move/file-scanner.js.map +1 -1
  32. package/dist/core/move/path-calculator.d.ts +3 -1
  33. package/dist/core/move/path-calculator.d.ts.map +1 -1
  34. package/dist/core/move/path-calculator.js +25 -3
  35. package/dist/core/move/path-calculator.js.map +1 -1
  36. package/dist/core/rename/reference-updater.d.ts +2 -0
  37. package/dist/core/rename/reference-updater.d.ts.map +1 -1
  38. package/dist/core/rename/reference-updater.js +4 -1
  39. package/dist/core/rename/reference-updater.js.map +1 -1
  40. package/dist/infrastructure/cache/index.d.ts +10 -31
  41. package/dist/infrastructure/cache/index.d.ts.map +1 -1
  42. package/dist/infrastructure/cache/index.js +5 -5
  43. package/dist/infrastructure/cache/index.js.map +1 -1
  44. package/dist/infrastructure/worker-pool/index.d.ts +7 -0
  45. package/dist/infrastructure/worker-pool/index.d.ts.map +1 -0
  46. package/dist/infrastructure/worker-pool/index.js +6 -0
  47. package/dist/infrastructure/worker-pool/index.js.map +1 -0
  48. package/dist/infrastructure/worker-pool/parser-pool.d.ts +47 -0
  49. package/dist/infrastructure/worker-pool/parser-pool.d.ts.map +1 -0
  50. package/dist/infrastructure/worker-pool/parser-pool.js +105 -0
  51. package/dist/infrastructure/worker-pool/parser-pool.js.map +1 -0
  52. package/dist/infrastructure/worker-pool/types.d.ts +39 -0
  53. package/dist/infrastructure/worker-pool/types.d.ts.map +1 -0
  54. package/dist/infrastructure/worker-pool/types.js +6 -0
  55. package/dist/infrastructure/worker-pool/types.js.map +1 -0
  56. package/dist/infrastructure/worker-pool/workers/parse-worker.d.ts +17 -0
  57. package/dist/infrastructure/worker-pool/workers/parse-worker.d.ts.map +1 -0
  58. package/dist/infrastructure/worker-pool/workers/parse-worker.js +67 -0
  59. package/dist/infrastructure/worker-pool/workers/parse-worker.js.map +1 -0
  60. package/dist/plugins/javascript/declaration-analyzer.d.ts +4 -4
  61. package/dist/plugins/javascript/declaration-analyzer.d.ts.map +1 -1
  62. package/dist/plugins/javascript/declaration-analyzer.js +8 -14
  63. package/dist/plugins/javascript/declaration-analyzer.js.map +1 -1
  64. package/dist/plugins/javascript/parser.d.ts +3 -2
  65. package/dist/plugins/javascript/parser.d.ts.map +1 -1
  66. package/dist/plugins/javascript/parser.js +6 -4
  67. package/dist/plugins/javascript/parser.js.map +1 -1
  68. package/dist/plugins/javascript/reference-finder.d.ts +4 -14
  69. package/dist/plugins/javascript/reference-finder.d.ts.map +1 -1
  70. package/dist/plugins/javascript/reference-finder.js +8 -44
  71. package/dist/plugins/javascript/reference-finder.js.map +1 -1
  72. package/dist/plugins/typescript/declaration-analyzer.d.ts +3 -3
  73. package/dist/plugins/typescript/declaration-analyzer.d.ts.map +1 -1
  74. package/dist/plugins/typescript/declaration-analyzer.js +7 -6
  75. package/dist/plugins/typescript/declaration-analyzer.js.map +1 -1
  76. package/dist/plugins/typescript/language-service.d.ts +7 -0
  77. package/dist/plugins/typescript/language-service.d.ts.map +1 -1
  78. package/dist/plugins/typescript/language-service.js +26 -1
  79. package/dist/plugins/typescript/language-service.js.map +1 -1
  80. package/package.json +2 -1
@@ -6,17 +6,18 @@ import type { IFileSystem } from '../../infrastructure/storage/file-system.inter
6
6
  import type { ParserRegistry } from '../../infrastructure/parser/registry.js';
7
7
  import type { Changeset } from '../../infrastructure/changeset/index.js';
8
8
  import type { DeadCodeItem, DeadCodeRemovalOptions, DeadCodeRemovalPreview, DeadCodeRemovalResult } from './types.js';
9
+ import { DeadCodeCacheService } from './shared-cache.js';
9
10
  /**
10
11
  * Dead Code 刪除器
11
12
  */
12
13
  export declare class DeadCodeRemover {
13
14
  private readonly fileSystem;
14
15
  private readonly options;
15
- private readonly fileCache;
16
16
  private readonly rangeExpander;
17
17
  private readonly importCleaner;
18
18
  private readonly fileOperations;
19
- constructor(fileSystem: IFileSystem, parserRegistry: ParserRegistry, options?: DeadCodeRemovalOptions);
19
+ private readonly cacheService;
20
+ constructor(fileSystem: IFileSystem, parserRegistry: ParserRegistry, options?: DeadCodeRemovalOptions, cacheService?: DeadCodeCacheService);
20
21
  /**
21
22
  * 預覽刪除操作
22
23
  */
@@ -48,7 +49,7 @@ export declare class DeadCodeRemover {
48
49
  */
49
50
  private createEmptySummary;
50
51
  /**
51
- * 讀取檔案
52
+ * 讀取檔案(使用共用快取)
52
53
  * 檔案不存在時快取 null,避免重複讀取
53
54
  */
54
55
  private readFile;
@@ -1 +1 @@
1
- {"version":3,"file":"dead-code-remover.d.ts","sourceRoot":"","sources":["../../../src/core/deadcode/dead-code-remover.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAEpE,OAAO,KAAK,EACV,YAAY,EACZ,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EAKtB,MAAM,YAAY,CAAC;AAMpB;;GAEG;AACH,qBAAa,eAAe;IAQxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAP7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAC3D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;IAC9D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;gBAGpC,UAAU,EAAE,WAAW,EACxC,cAAc,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,sBAAsB;IAQlC;;OAEG;IACG,OAAO,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA+CtF;;;;OAIG;IACG,iBAAiB,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAkDnF;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAkC9E;;OAEG;IACH,OAAO,CAAC,WAAW;IA4BnB;;OAEG;YACW,yBAAyB;IAoCvC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAW1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;;OAGG;YACW,QAAQ;IAmBtB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;OAEG;IACH,UAAU,IAAI,IAAI;CAKnB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,WAAW,EACvB,cAAc,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,eAAe,CAEjB"}
1
+ {"version":3,"file":"dead-code-remover.d.ts","sourceRoot":"","sources":["../../../src/core/deadcode/dead-code-remover.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAEpE,OAAO,KAAK,EACV,YAAY,EACZ,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EAKtB,MAAM,YAAY,CAAC;AAKpB,OAAO,EAAE,oBAAoB,EAA8B,MAAM,mBAAmB,CAAC;AAErF;;GAEG;AACH,qBAAa,eAAe;IAQxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAP7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuB;gBAGjC,UAAU,EAAE,WAAW,EACxC,cAAc,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,sBAAsB,EAChC,YAAY,CAAC,EAAE,oBAAoB;IASrC;;OAEG;IACG,OAAO,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA+CtF;;;;OAIG;IACG,iBAAiB,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAkDnF;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAkC9E;;OAEG;IACH,OAAO,CAAC,WAAW;IA4BnB;;OAEG;YACW,yBAAyB;IAoCvC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAW1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;;OAGG;YACW,QAAQ;IAoBtB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;OAEG;IACH,UAAU,IAAI,IAAI;CAGnB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,WAAW,EACvB,cAAc,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,eAAe,CAEjB"}
@@ -8,22 +8,24 @@ import { DEFAULT_REMOVAL_OPTIONS } from './types.js';
8
8
  import { RangeExpander } from './range-expander.js';
9
9
  import { ImportCleaner } from './import-cleaner.js';
10
10
  import { FileOperationsHandler } from './file-operations.js';
11
+ import { createDeadCodeCacheService } from './shared-cache.js';
11
12
  /**
12
13
  * Dead Code 刪除器
13
14
  */
14
15
  export class DeadCodeRemover {
15
16
  fileSystem;
16
17
  options;
17
- fileCache = new Map();
18
18
  rangeExpander;
19
19
  importCleaner;
20
20
  fileOperations;
21
- constructor(fileSystem, parserRegistry, options) {
21
+ cacheService;
22
+ constructor(fileSystem, parserRegistry, options, cacheService) {
22
23
  this.fileSystem = fileSystem;
23
24
  this.options = { ...DEFAULT_REMOVAL_OPTIONS, ...options };
25
+ this.cacheService = cacheService ?? createDeadCodeCacheService();
24
26
  this.rangeExpander = new RangeExpander(parserRegistry);
25
- this.importCleaner = new ImportCleaner(fileSystem, parserRegistry);
26
- this.fileOperations = new FileOperationsHandler(fileSystem);
27
+ this.importCleaner = new ImportCleaner(fileSystem, parserRegistry, this.cacheService);
28
+ this.fileOperations = new FileOperationsHandler(fileSystem, this.cacheService);
27
29
  }
28
30
  /**
29
31
  * 預覽刪除操作
@@ -219,23 +221,24 @@ export class DeadCodeRemover {
219
221
  };
220
222
  }
221
223
  /**
222
- * 讀取檔案
224
+ * 讀取檔案(使用共用快取)
223
225
  * 檔案不存在時快取 null,避免重複讀取
224
226
  */
225
227
  async readFile(filePath) {
226
- if (this.fileCache.has(filePath)) {
227
- return this.fileCache.get(filePath);
228
+ const cached = this.cacheService.getFile(filePath);
229
+ if (cached !== undefined) {
230
+ return cached;
228
231
  }
229
232
  try {
230
233
  const content = await this.fileSystem.readFile(filePath, 'utf-8');
231
234
  const contentStr = typeof content === 'string' ? content : content.toString('utf-8');
232
- this.fileCache.set(filePath, contentStr);
235
+ this.cacheService.setFile(filePath, contentStr);
233
236
  return contentStr;
234
237
  }
235
238
  catch (error) {
236
239
  // 檔案不存在時快取 null,避免重複讀取
237
240
  if (error instanceof Error && error.message.includes('ENOENT')) {
238
- this.fileCache.set(filePath, null);
241
+ this.cacheService.setFile(filePath, null);
239
242
  }
240
243
  return null;
241
244
  }
@@ -256,9 +259,7 @@ export class DeadCodeRemover {
256
259
  * 清除快取
257
260
  */
258
261
  clearCache() {
259
- this.fileCache.clear();
260
- this.importCleaner.clearCache();
261
- this.fileOperations.clearCache();
262
+ this.cacheService.clear();
262
263
  }
263
264
  }
264
265
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"dead-code-remover.js","sourceRoot":"","sources":["../../../src/core/deadcode/dead-code-remover.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAItC,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAWrH,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D;;GAEG;AACH,MAAM,OAAO,eAAe;IAQP;IAPF,OAAO,CAAmC;IAC1C,SAAS,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC7C,aAAa,CAAgB;IAC7B,aAAa,CAAgB;IAC7B,cAAc,CAAwB;IAEvD,YACmB,UAAuB,EACxC,cAA8B,EAC9B,OAAgC;QAFf,eAAU,GAAV,UAAU,CAAa;QAIxC,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,uBAAuB,EAAE,GAAG,OAAO,EAAE,CAAC;QAC1D,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,cAAc,CAAC,CAAC;QACvD,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QACnE,IAAI,CAAC,cAAc,GAAG,IAAI,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,aAAsC;QAClD,IAAI,CAAC;YACH,eAAe;YACf,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAEpE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAC3C,CAAC;YAED,YAAY;YACZ,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC;YAChH,QAAQ,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;YAElC,uBAAuB;YACvB,IAAI,cAAc,GAA6B,EAAE,CAAC;YAClD,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;gBAChC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;gBAC9E,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC;gBACvC,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC1C,CAAC;YAED,UAAU;YACV,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YAE/E,aAAa;YACb,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YAEzF,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,QAAQ;gBACR,cAAc;gBACd,aAAa;gBACb,OAAO;gBACP,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;aACrD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,EAAE;gBACZ,cAAc,EAAE,EAAE;gBAClB,aAAa,EAAE,EAAE;gBACjB,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE;gBAClC,MAAM,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACjE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,aAAsC;QAC5D,MAAM,OAAO,GAAG,sBAAsB,EAAE;aACrC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAEzC,uBAAuB;QACvB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAElD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,OAAO;iBACX,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC;iBACxD,KAAK,EAAE,CAAC;QACb,CAAC;QAED,yBAAyB;QACzB,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACvC,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,OAAO,EAAE,EAAE;oBACX,WAAW,EAAE,UAAU,OAAO,CAAC,UAAU,KAAK,OAAO,CAAC,UAAU,EAAE;iBACnE,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QAED,+BAA+B;QAC/B,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS;gBACpE,CAAC,CAAC,OAAO,CAAC,SAAS;gBACnB,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACvC,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,OAAO;oBACP,WAAW,EAAE,OAAO,CAAC,WAAW,KAAK,QAAQ;wBAC3C,CAAC,CAAC,kBAAkB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;wBACtD,CAAC,CAAC,iBAAiB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBACxD,CAAC,EAAE,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACtG,CAAC;QAED,OAAO;QACP,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;QAC5D,OAAO,CAAC,eAAe,CACrB,WAAW,aAAa,gCAAgC,gBAAgB,UAAU,CACnF,CAAC;QAEF,OAAO;QACP,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC7C,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,OAA+B;QAC3C,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,EAAE;gBAChB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,YAAY,GAAkB,EAAE,CAAC;QAEvC,UAAU;QACV,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAE7E,UAAU;QACV,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,iBAAiB,EAAE,CAAC;YACvD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACnF,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChG,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC5B,YAAY;YACZ,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;SAC/C,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,KAA8B;QAIhD,MAAM,aAAa,GAAmB,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,qBAAqB;YACrB,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAC3C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAC5D,EAAE,CAAC;gBACF,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC;gBACvC,SAAS;YACX,CAAC;YAED,SAAS;YACT,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC;gBACvC,SAAS;YACX,CAAC;YAED,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,yBAAyB,CACrC,KAA8B;QAE9B,MAAM,UAAU,GAAuB,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC5D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAClE,SAAS;YACX,CAAC;YAED,0BAA0B;YAC1B,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,4BAA4B,CACnE,OAAO,EACP,IAAI,CAAC,QAAQ,CAAC,KAAK,EACnB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,QAAQ,CAAC,QAAQ,CACvB,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAE7E,UAAU,CAAC,IAAI,CAAC;gBACd,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;gBAChC,KAAK,EAAE,aAAa;gBACpB,YAAY;gBACZ,UAAU,EAAE,IAAI,CAAC,IAAI;gBACrB,UAAU,EAAE,IAAI,CAAC,IAAI;aACtB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,QAAkB;QAC3C,OAAO;YACL,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,EAAE;YACZ,cAAc,EAAE,EAAE;YAClB,aAAa,EAAE,EAAE;YACjB,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE;YAClC,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;SACrD,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,kBAAkB;QACxB,OAAO;YACL,aAAa,EAAE,CAAC;YAChB,MAAM,EAAE,EAAE;YACV,aAAa,EAAE,CAAC;YAChB,YAAY,EAAE,CAAC;YACf,gBAAgB,EAAE,CAAC;SACpB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,QAAQ,CAAC,QAAgB;QACrC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QACvC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAClE,MAAM,UAAU,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACrF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACzC,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,uBAAuB;YACvB,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACrC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,qBAAqB,CAAC,QAAgB,EAAE,OAAe;QAC7D,uCAAuC;QACvC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5E,OAAO,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,qBAAqB;QACrB,OAAO,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;QAChC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;IACnC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,UAAuB,EACvB,cAA8B,EAC9B,OAAgC;IAEhC,OAAO,IAAI,eAAe,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"dead-code-remover.js","sourceRoot":"","sources":["../../../src/core/deadcode/dead-code-remover.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@
5
5
  import type { Range } from '../../shared/types/core.js';
6
6
  import type { IFileSystem } from '../../infrastructure/storage/file-system.interface.js';
7
7
  import type { DeadCodeRemovalPreview, ImportCleanupOperation, RemovalOperation, UpdatedFile } from './types.js';
8
+ import type { DeadCodeCacheService } from './shared-cache.js';
8
9
  /**
9
10
  * 檔案操作類型列舉
10
11
  * 排序優先級:import-partial (0) > import-delete (1) > removal (2)
@@ -33,8 +34,8 @@ export interface FileOperation {
33
34
  */
34
35
  export declare class FileOperationsHandler {
35
36
  private readonly fileSystem;
36
- private readonly fileCache;
37
- constructor(fileSystem: IFileSystem);
37
+ private readonly cacheService;
38
+ constructor(fileSystem: IFileSystem, cacheService: DeadCodeCacheService);
38
39
  /**
39
40
  * 按檔案分組操作(去重相同 range)
40
41
  */
@@ -48,11 +49,11 @@ export declare class FileOperationsHandler {
48
49
  */
49
50
  private cleanupEmptyLines;
50
51
  /**
51
- * 讀取檔案
52
+ * 讀取檔案(使用共用快取)
52
53
  */
53
54
  readFile(filePath: string): Promise<string | null>;
54
55
  /**
55
- * 寫入檔案
56
+ * 寫入檔案(同步更新共用快取)
56
57
  */
57
58
  writeFile(filePath: string, content: string): Promise<void>;
58
59
  /**
@@ -73,13 +74,9 @@ export declare class FileOperationsHandler {
73
74
  * 收集影響的檔案
74
75
  */
75
76
  collectAffectedFiles(removals: readonly RemovalOperation[], importCleanups: readonly ImportCleanupOperation[]): string[];
76
- /**
77
- * 清除快取
78
- */
79
- clearCache(): void;
80
77
  }
81
78
  /**
82
79
  * 建立 FileOperationsHandler 實例
83
80
  */
84
- export declare function createFileOperationsHandler(fileSystem: IFileSystem): FileOperationsHandler;
81
+ export declare function createFileOperationsHandler(fileSystem: IFileSystem, cacheService: DeadCodeCacheService): FileOperationsHandler;
85
82
  //# sourceMappingURL=file-operations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-operations.d.ts","sourceRoot":"","sources":["../../../src/core/deadcode/file-operations.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,EAChB,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,oBAAY,iBAAiB;IAC3B,uBAAuB;IACvB,aAAa,mBAAmB;IAChC,mBAAmB;IACnB,YAAY,kBAAkB;IAC9B,WAAW;IACX,OAAO,YAAY;CACpB;AAYD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW;IACX,KAAK,EAAE,KAAK,CAAC;IACb,WAAW;IACX,IAAI,EAAE,iBAAiB,CAAC;IACxB,gBAAgB;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAGpB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAFvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;gBAE1B,UAAU,EAAE,WAAW;IAEpD;;OAEG;IACH,qBAAqB,CACnB,OAAO,EAAE,sBAAsB,GAC9B,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC;IA0C/B;;OAEG;IACG,mBAAmB,CACvB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,aAAa,EAAE,GAC1B,OAAO,CAAC,WAAW,CAAC;IAsEvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;OAEG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAgBxD;;OAEG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjE;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM;IA0BlD;;OAEG;IACH,gBAAgB,CACd,QAAQ,EAAE,SAAS,gBAAgB,EAAE,EACrC,cAAc,EAAE,SAAS,sBAAsB,EAAE,GAChD;QACD,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;KAC1B;IA8BD;;OAEG;IACH,oBAAoB,CAClB,QAAQ,EAAE,SAAS,gBAAgB,EAAE,EACrC,cAAc,EAAE,SAAS,sBAAsB,EAAE,GAChD,MAAM,EAAE;IAaX;;OAEG;IACH,UAAU,IAAI,IAAI;CAGnB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,WAAW,GAAG,qBAAqB,CAE1F"}
1
+ {"version":3,"file":"file-operations.d.ts","sourceRoot":"","sources":["../../../src/core/deadcode/file-operations.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,EAChB,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D;;;GAGG;AACH,oBAAY,iBAAiB;IAC3B,uBAAuB;IACvB,aAAa,mBAAmB;IAChC,mBAAmB;IACnB,YAAY,kBAAkB;IAC9B,WAAW;IACX,OAAO,YAAY;CACpB;AAYD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW;IACX,KAAK,EAAE,KAAK,CAAC;IACb,WAAW;IACX,IAAI,EAAE,iBAAiB,CAAC;IACxB,gBAAgB;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAE9B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBADZ,UAAU,EAAE,WAAW,EACvB,YAAY,EAAE,oBAAoB;IAGrD;;OAEG;IACH,qBAAqB,CACnB,OAAO,EAAE,sBAAsB,GAC9B,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC;IA0C/B;;OAEG;IACG,mBAAmB,CACvB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,aAAa,EAAE,GAC1B,OAAO,CAAC,WAAW,CAAC;IAsEvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;OAEG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAgBxD;;OAEG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjE;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM;IA0BlD;;OAEG;IACH,gBAAgB,CACd,QAAQ,EAAE,SAAS,gBAAgB,EAAE,EACrC,cAAc,EAAE,SAAS,sBAAsB,EAAE,GAChD;QACD,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;KAC1B;IA8BD;;OAEG;IACH,oBAAoB,CAClB,QAAQ,EAAE,SAAS,gBAAgB,EAAE,EACrC,cAAc,EAAE,SAAS,sBAAsB,EAAE,GAChD,MAAM,EAAE;CAaZ;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,WAAW,EACvB,YAAY,EAAE,oBAAoB,GACjC,qBAAqB,CAEvB"}
@@ -29,9 +29,10 @@ const FILE_OPERATION_PRIORITY = {
29
29
  */
30
30
  export class FileOperationsHandler {
31
31
  fileSystem;
32
- fileCache = new Map();
33
- constructor(fileSystem) {
32
+ cacheService;
33
+ constructor(fileSystem, cacheService) {
34
34
  this.fileSystem = fileSystem;
35
+ this.cacheService = cacheService;
35
36
  }
36
37
  /**
37
38
  * 按檔案分組操作(去重相同 range)
@@ -155,29 +156,29 @@ export class FileOperationsHandler {
155
156
  return result;
156
157
  }
157
158
  /**
158
- * 讀取檔案
159
+ * 讀取檔案(使用共用快取)
159
160
  */
160
161
  async readFile(filePath) {
161
- if (this.fileCache.has(filePath)) {
162
- return this.fileCache.get(filePath);
162
+ const cached = this.cacheService.getFile(filePath);
163
+ if (cached !== undefined) {
164
+ return cached;
163
165
  }
164
166
  try {
165
167
  const content = await this.fileSystem.readFile(filePath, 'utf-8');
166
168
  const contentStr = typeof content === 'string' ? content : content.toString('utf-8');
167
- this.fileCache.set(filePath, contentStr);
169
+ this.cacheService.setFile(filePath, contentStr);
168
170
  return contentStr;
169
171
  }
170
172
  catch {
171
- this.fileCache.delete(filePath);
172
173
  return null;
173
174
  }
174
175
  }
175
176
  /**
176
- * 寫入檔案
177
+ * 寫入檔案(同步更新共用快取)
177
178
  */
178
179
  async writeFile(filePath, content) {
179
180
  await this.fileSystem.writeFile(filePath, content);
180
- this.fileCache.set(filePath, content);
181
+ this.cacheService.updateFile(filePath, content);
181
182
  }
182
183
  /**
183
184
  * 提取程式碼
@@ -247,17 +248,11 @@ export class FileOperationsHandler {
247
248
  }
248
249
  return Array.from(files);
249
250
  }
250
- /**
251
- * 清除快取
252
- */
253
- clearCache() {
254
- this.fileCache.clear();
255
- }
256
251
  }
257
252
  /**
258
253
  * 建立 FileOperationsHandler 實例
259
254
  */
260
- export function createFileOperationsHandler(fileSystem) {
261
- return new FileOperationsHandler(fileSystem);
255
+ export function createFileOperationsHandler(fileSystem, cacheService) {
256
+ return new FileOperationsHandler(fileSystem, cacheService);
262
257
  }
263
258
  //# sourceMappingURL=file-operations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-operations.js","sourceRoot":"","sources":["../../../src/core/deadcode/file-operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-operations.js","sourceRoot":"","sources":["../../../src/core/deadcode/file-operations.ts"],"names":[],"mappings":"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"}
@@ -5,17 +5,16 @@
5
5
  import type { IFileSystem } from '../../infrastructure/storage/file-system.interface.js';
6
6
  import type { ParserRegistry } from '../../infrastructure/parser/registry.js';
7
7
  import type { ImportCleanupOperation, RemovalOperation } from './types.js';
8
+ import type { DeadCodeCacheService } from './shared-cache.js';
8
9
  /**
9
10
  * Import 清理器
10
11
  */
11
12
  export declare class ImportCleaner {
12
13
  private readonly fileSystem;
14
+ private readonly cacheService;
13
15
  private readonly importParser;
14
16
  private readonly symbolFinder;
15
- private readonly fileCache;
16
- /** 符號引用快取:key = `${filePath}:${symbolName}` */
17
- private readonly referenceCache;
18
- constructor(fileSystem: IFileSystem, parserRegistry: ParserRegistry);
17
+ constructor(fileSystem: IFileSystem, parserRegistry: ParserRegistry, cacheService: DeadCodeCacheService);
19
18
  /**
20
19
  * 分析需要清理的 import
21
20
  * 支援部分清理:當 import { A, B, C } 中只有部分符號未使用時,保留其他符號
@@ -35,7 +34,7 @@ export declare class ImportCleaner {
35
34
  */
36
35
  private isImportStillUsed;
37
36
  /**
38
- * 使用快取查詢符號引用
37
+ * 使用共用快取查詢符號引用
39
38
  * 確保每個 (filePath, symbolName) 組合只查詢一次
40
39
  */
41
40
  private findReferencesWithCache;
@@ -48,16 +47,12 @@ export declare class ImportCleaner {
48
47
  */
49
48
  private isLineInRemovalRange;
50
49
  /**
51
- * 讀取檔案
50
+ * 讀取檔案(使用共用快取)
52
51
  */
53
52
  private readFile;
54
- /**
55
- * 清除快取
56
- */
57
- clearCache(): void;
58
53
  }
59
54
  /**
60
55
  * 建立 ImportCleaner 實例
61
56
  */
62
- export declare function createImportCleaner(fileSystem: IFileSystem, parserRegistry: ParserRegistry): ImportCleaner;
57
+ export declare function createImportCleaner(fileSystem: IFileSystem, parserRegistry: ParserRegistry, cacheService: DeadCodeCacheService): ImportCleaner;
63
58
  //# sourceMappingURL=import-cleaner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"import-cleaner.d.ts","sourceRoot":"","sources":["../../../src/core/deadcode/import-cleaner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AAOpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG3E;;GAEG;AACH,qBAAa,aAAa;IAQtB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAP7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;IACvD,+CAA+C;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwC;gBAGpD,UAAU,EAAE,WAAW,EACxC,cAAc,EAAE,cAAc;IAMhC;;;OAGG;IACG,qBAAqB,CACzB,QAAQ,EAAE,SAAS,gBAAgB,EAAE,GACpC,OAAO,CAAC;QAAE,QAAQ,EAAE,sBAAsB,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAuEtE;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAkD7B;;;OAGG;YACW,iBAAiB;IAsB/B;;;OAGG;YACW,uBAAuB;IAerC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAQ9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAuB5B;;OAEG;YACW,QAAQ;IAgBtB;;OAEG;IACH,UAAU,IAAI,IAAI;CAInB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,WAAW,EACvB,cAAc,EAAE,cAAc,GAC7B,aAAa,CAEf"}
1
+ {"version":3,"file":"import-cleaner.d.ts","sourceRoot":"","sources":["../../../src/core/deadcode/import-cleaner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AAMpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D;;GAEG;AACH,qBAAa,aAAa;IAKtB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAE3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAN/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;gBAGzB,UAAU,EAAE,WAAW,EACxC,cAAc,EAAE,cAAc,EACb,YAAY,EAAE,oBAAoB;IAMrD;;;OAGG;IACG,qBAAqB,CACzB,QAAQ,EAAE,SAAS,gBAAgB,EAAE,GACpC,OAAO,CAAC;QAAE,QAAQ,EAAE,sBAAsB,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAuEtE;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAkD7B;;;OAGG;YACW,iBAAiB;IAsB/B;;;OAGG;YACW,uBAAuB;IAcrC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAQ9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAuB5B;;OAEG;YACW,QAAQ;CAevB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,WAAW,EACvB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,oBAAoB,GACjC,aAAa,CAEf"}
@@ -9,13 +9,12 @@ import { ImportParser } from './import-parser.js';
9
9
  */
10
10
  export class ImportCleaner {
11
11
  fileSystem;
12
+ cacheService;
12
13
  importParser;
13
14
  symbolFinder;
14
- fileCache = new Map();
15
- /** 符號引用快取:key = `${filePath}:${symbolName}` */
16
- referenceCache = new Map();
17
- constructor(fileSystem, parserRegistry) {
15
+ constructor(fileSystem, parserRegistry, cacheService) {
18
16
  this.fileSystem = fileSystem;
17
+ this.cacheService = cacheService;
19
18
  this.importParser = new ImportParser(parserRegistry);
20
19
  this.symbolFinder = createSymbolFinder(parserRegistry, fileSystem);
21
20
  }
@@ -153,16 +152,16 @@ export class ImportCleaner {
153
152
  return remainingRefs.length > 0;
154
153
  }
155
154
  /**
156
- * 使用快取查詢符號引用
155
+ * 使用共用快取查詢符號引用
157
156
  * 確保每個 (filePath, symbolName) 組合只查詢一次
158
157
  */
159
158
  async findReferencesWithCache(filePath, symbolName) {
160
- const cacheKey = `${filePath}:${symbolName}`;
161
- if (this.referenceCache.has(cacheKey)) {
162
- return this.referenceCache.get(cacheKey);
159
+ const cached = this.cacheService.getReferences(filePath, symbolName);
160
+ if (cached) {
161
+ return cached;
163
162
  }
164
163
  const references = await this.symbolFinder.findReferencesInFile(filePath, symbolName);
165
- this.referenceCache.set(cacheKey, references);
164
+ this.cacheService.setReferences(filePath, symbolName, references);
166
165
  return references;
167
166
  }
168
167
  /**
@@ -195,35 +194,28 @@ export class ImportCleaner {
195
194
  return false;
196
195
  }
197
196
  /**
198
- * 讀取檔案
197
+ * 讀取檔案(使用共用快取)
199
198
  */
200
199
  async readFile(filePath) {
201
- if (this.fileCache.has(filePath)) {
202
- return this.fileCache.get(filePath);
200
+ const cached = this.cacheService.getFile(filePath);
201
+ if (cached !== undefined) {
202
+ return cached;
203
203
  }
204
204
  try {
205
205
  const content = await this.fileSystem.readFile(filePath, 'utf-8');
206
206
  const contentStr = typeof content === 'string' ? content : content.toString('utf-8');
207
- this.fileCache.set(filePath, contentStr);
207
+ this.cacheService.setFile(filePath, contentStr);
208
208
  return contentStr;
209
209
  }
210
210
  catch {
211
- this.fileCache.delete(filePath);
212
211
  return null;
213
212
  }
214
213
  }
215
- /**
216
- * 清除快取
217
- */
218
- clearCache() {
219
- this.fileCache.clear();
220
- this.referenceCache.clear();
221
- }
222
214
  }
223
215
  /**
224
216
  * 建立 ImportCleaner 實例
225
217
  */
226
- export function createImportCleaner(fileSystem, parserRegistry) {
227
- return new ImportCleaner(fileSystem, parserRegistry);
218
+ export function createImportCleaner(fileSystem, parserRegistry, cacheService) {
219
+ return new ImportCleaner(fileSystem, parserRegistry, cacheService);
228
220
  }
229
221
  //# sourceMappingURL=import-cleaner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"import-cleaner.js","sourceRoot":"","sources":["../../../src/core/deadcode/import-cleaner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import-cleaner.js","sourceRoot":"","sources":["../../../src/core/deadcode/import-cleaner.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  export { DeadCodeDetector, createDeadCodeDetector } from './dead-code-detector.js';
6
6
  export { DeadCodeRemover, createDeadCodeRemover } from './dead-code-remover.js';
7
+ export { DeadCodeCacheService, createDeadCodeCacheService } from './shared-cache.js';
7
8
  export type { DeadCodeItem, DeadCodeDetectorOptions, DeadCodeDetectionResult, DeadCodeStats, DeadCodeRemovalOptions, DeadCodeRemovalPreview, DeadCodeRemovalResult, RemovalOperation, ImportCleanupOperation, RemovalSummary, UpdatedFile } from './types.js';
8
9
  export { DEFAULT_DEAD_CODE_OPTIONS, DEFAULT_REMOVAL_OPTIONS } from './types.js';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/deadcode/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAChF,YAAY,EACV,YAAY,EACZ,uBAAuB,EACvB,uBAAuB,EACvB,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/deadcode/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AACrF,YAAY,EACV,YAAY,EACZ,uBAAuB,EACvB,uBAAuB,EACvB,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC"}
@@ -4,5 +4,6 @@
4
4
  */
5
5
  export { DeadCodeDetector, createDeadCodeDetector } from './dead-code-detector.js';
6
6
  export { DeadCodeRemover, createDeadCodeRemover } from './dead-code-remover.js';
7
+ export { DeadCodeCacheService, createDeadCodeCacheService } from './shared-cache.js';
7
8
  export { DEFAULT_DEAD_CODE_OPTIONS, DEFAULT_REMOVAL_OPTIONS } from './types.js';
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/deadcode/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAchF,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/deadcode/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAcrF,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Deadcode 模組共用快取服務
3
+ * 統一管理檔案內容和符號引用快取,避免重複快取相同資料
4
+ * 注意:LRU 淘汰由 MemoryCache 自動處理
5
+ */
6
+ import type { SymbolReference } from '../foundations/symbol-finder/index.js';
7
+ /**
8
+ * Deadcode 模組共用快取服務
9
+ * 提供統一的檔案內容和符號引用快取管理
10
+ * 注意:LRU 淘汰由 MemoryCache 自動處理
11
+ */
12
+ export declare class DeadCodeCacheService {
13
+ /** 檔案內容快取(content 為 null 表示檔案不存在) */
14
+ private readonly fileCache;
15
+ /** 符號引用快取:key = `${filePath}:${symbolName}` */
16
+ private readonly referenceCache;
17
+ /**
18
+ * 取得檔案內容(從快取或返回 undefined)
19
+ * @param filePath 檔案路徑
20
+ * @returns 快取的內容或 undefined(未快取)
21
+ */
22
+ getFile(filePath: string): string | null | undefined;
23
+ /**
24
+ * 設定檔案內容快取
25
+ * @param filePath 檔案路徑
26
+ * @param content 檔案內容(null 表示檔案不存在)
27
+ */
28
+ setFile(filePath: string, content: string | null): void;
29
+ /**
30
+ * 檢查檔案是否已快取
31
+ * @param filePath 檔案路徑
32
+ */
33
+ hasFile(filePath: string): boolean;
34
+ /**
35
+ * 取得符號引用(從快取或返回 undefined)
36
+ * @param filePath 檔案路徑
37
+ * @param symbolName 符號名稱
38
+ * @returns 快取的引用或 undefined(未快取)
39
+ */
40
+ getReferences(filePath: string, symbolName: string): SymbolReference[] | undefined;
41
+ /**
42
+ * 設定符號引用快取
43
+ * @param filePath 檔案路徑
44
+ * @param symbolName 符號名稱
45
+ * @param references 引用列表
46
+ */
47
+ setReferences(filePath: string, symbolName: string, references: SymbolReference[]): void;
48
+ /**
49
+ * 更新檔案內容(寫入後同步更新快取)
50
+ * @param filePath 檔案路徑
51
+ * @param content 新內容
52
+ */
53
+ updateFile(filePath: string, content: string): void;
54
+ /**
55
+ * 清除所有快取
56
+ */
57
+ clear(): void;
58
+ /**
59
+ * 取得快取統計資訊
60
+ */
61
+ getStats(): {
62
+ fileCount: number;
63
+ referenceCount: number;
64
+ };
65
+ }
66
+ /**
67
+ * 建立 DeadCodeCacheService 實例
68
+ */
69
+ export declare function createDeadCodeCacheService(): DeadCodeCacheService;
70
+ //# sourceMappingURL=shared-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-cache.d.ts","sourceRoot":"","sources":["../../../src/core/deadcode/shared-cache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAGhF;;;;GAIG;AACH,qBAAa,oBAAoB;IAC/B,qCAAqC;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2D;IAErF,+CAA+C;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgE;IAE/F;;;;OAIG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS;IAKpD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAKvD;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIlC;;;;;OAKG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,eAAe,EAAE,GAAG,SAAS;IAMlF;;;;;OAKG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,IAAI;IAMxF;;;;OAIG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAInD;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,QAAQ,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE;CAM1D;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,oBAAoB,CAEjE"}