agent-ide 0.1.7 → 0.1.8

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 (81) hide show
  1. package/dist/core/analysis/complexity-analyzer.d.ts.map +1 -1
  2. package/dist/core/analysis/complexity-analyzer.js +3 -2
  3. package/dist/core/analysis/complexity-analyzer.js.map +1 -1
  4. package/dist/core/analysis/dead-code-detector.d.ts +34 -10
  5. package/dist/core/analysis/dead-code-detector.d.ts.map +1 -1
  6. package/dist/core/analysis/dead-code-detector.js +121 -82
  7. package/dist/core/analysis/dead-code-detector.js.map +1 -1
  8. package/dist/core/analysis/index.d.ts +1 -1
  9. package/dist/core/analysis/index.d.ts.map +1 -1
  10. package/dist/core/dependency/dependency-analyzer.d.ts.map +1 -1
  11. package/dist/core/dependency/dependency-analyzer.js +11 -4
  12. package/dist/core/dependency/dependency-analyzer.js.map +1 -1
  13. package/dist/core/indexing/index-engine.d.ts +9 -0
  14. package/dist/core/indexing/index-engine.d.ts.map +1 -1
  15. package/dist/core/indexing/index-engine.js +60 -1
  16. package/dist/core/indexing/index-engine.js.map +1 -1
  17. package/dist/core/refactor/extract-function.d.ts +26 -4
  18. package/dist/core/refactor/extract-function.d.ts.map +1 -1
  19. package/dist/core/refactor/extract-function.js +300 -48
  20. package/dist/core/refactor/extract-function.js.map +1 -1
  21. package/dist/infrastructure/parser/base.d.ts +10 -0
  22. package/dist/infrastructure/parser/base.d.ts.map +1 -1
  23. package/dist/infrastructure/parser/base.js +39 -0
  24. package/dist/infrastructure/parser/base.js.map +1 -1
  25. package/dist/infrastructure/parser/interface.d.ts +12 -0
  26. package/dist/infrastructure/parser/interface.d.ts.map +1 -1
  27. package/dist/infrastructure/parser/interface.js +2 -0
  28. package/dist/infrastructure/parser/interface.js.map +1 -1
  29. package/dist/interfaces/cli/cli.d.ts +13 -1
  30. package/dist/interfaces/cli/cli.d.ts.map +1 -1
  31. package/dist/interfaces/cli/cli.js +155 -15
  32. package/dist/interfaces/cli/cli.js.map +1 -1
  33. package/dist/interfaces/cli/output-formatter.d.ts +55 -0
  34. package/dist/interfaces/cli/output-formatter.d.ts.map +1 -0
  35. package/dist/interfaces/cli/output-formatter.js +195 -0
  36. package/dist/interfaces/cli/output-formatter.js.map +1 -0
  37. package/dist/plugins/javascript/parser.d.ts +10 -0
  38. package/dist/plugins/javascript/parser.d.ts.map +1 -1
  39. package/dist/plugins/javascript/parser.js +62 -0
  40. package/dist/plugins/javascript/parser.js.map +1 -1
  41. package/dist/plugins/typescript/parser.d.ts +10 -0
  42. package/dist/plugins/typescript/parser.d.ts.map +1 -1
  43. package/dist/plugins/typescript/parser.js +59 -0
  44. package/dist/plugins/typescript/parser.js.map +1 -1
  45. package/package.json +8 -14
  46. package/dist/core/performance/analyzer.d.ts +0 -62
  47. package/dist/core/performance/analyzer.d.ts.map +0 -1
  48. package/dist/core/performance/analyzer.js +0 -378
  49. package/dist/core/performance/analyzer.js.map +0 -1
  50. package/dist/core/performance/cache-manager.d.ts +0 -161
  51. package/dist/core/performance/cache-manager.d.ts.map +0 -1
  52. package/dist/core/performance/cache-manager.js +0 -375
  53. package/dist/core/performance/cache-manager.js.map +0 -1
  54. package/dist/core/performance/index.d.ts +0 -14
  55. package/dist/core/performance/index.d.ts.map +0 -1
  56. package/dist/core/performance/index.js +0 -17
  57. package/dist/core/performance/index.js.map +0 -1
  58. package/dist/core/performance/interfaces.d.ts +0 -188
  59. package/dist/core/performance/interfaces.d.ts.map +0 -1
  60. package/dist/core/performance/interfaces.js +0 -17
  61. package/dist/core/performance/interfaces.js.map +0 -1
  62. package/dist/core/performance/memory-manager.d.ts +0 -176
  63. package/dist/core/performance/memory-manager.d.ts.map +0 -1
  64. package/dist/core/performance/memory-manager.js +0 -364
  65. package/dist/core/performance/memory-manager.js.map +0 -1
  66. package/dist/core/performance/monitor.d.ts +0 -92
  67. package/dist/core/performance/monitor.d.ts.map +0 -1
  68. package/dist/core/performance/monitor.js +0 -228
  69. package/dist/core/performance/monitor.js.map +0 -1
  70. package/dist/plugins/swift/index.d.ts +0 -11
  71. package/dist/plugins/swift/index.d.ts.map +0 -1
  72. package/dist/plugins/swift/index.js +0 -15
  73. package/dist/plugins/swift/index.js.map +0 -1
  74. package/dist/plugins/swift/parser.d.ts +0 -98
  75. package/dist/plugins/swift/parser.d.ts.map +0 -1
  76. package/dist/plugins/swift/parser.js +0 -612
  77. package/dist/plugins/swift/parser.js.map +0 -1
  78. package/dist/plugins/swift/types.d.ts +0 -196
  79. package/dist/plugins/swift/types.d.ts.map +0 -1
  80. package/dist/plugins/swift/types.js +0 -268
  81. package/dist/plugins/swift/types.js.map +0 -1
@@ -0,0 +1,55 @@
1
+ /**
2
+ * CLI 輸出格式化工具
3
+ * 提供統一的輸出格式化介面,支援 Markdown、Plain、JSON、Minimal 四種格式
4
+ */
5
+ export declare enum OutputFormat {
6
+ Markdown = "markdown",
7
+ Plain = "plain",
8
+ Json = "json",
9
+ Minimal = "minimal"
10
+ }
11
+ export interface FormattedOutput {
12
+ content: string;
13
+ format: OutputFormat;
14
+ }
15
+ export declare class OutputFormatter {
16
+ private format;
17
+ constructor(format?: OutputFormat);
18
+ /**
19
+ * 格式化標題
20
+ */
21
+ formatTitle(title: string, level?: number): string;
22
+ /**
23
+ * 格式化列表
24
+ */
25
+ formatList(items: string[]): string;
26
+ /**
27
+ * 格式化表格
28
+ */
29
+ formatTable(headers: string[], rows: string[][]): string;
30
+ /**
31
+ * 格式化代碼塊
32
+ */
33
+ formatCodeBlock(code: string, language?: string): string;
34
+ /**
35
+ * 格式化統計資訊
36
+ */
37
+ formatStats(stats: Record<string, any>): string;
38
+ /**
39
+ * 格式化成功訊息
40
+ */
41
+ formatSuccess(message: string, details?: any): string;
42
+ /**
43
+ * 格式化錯誤訊息
44
+ */
45
+ formatError(error: Error | string): string;
46
+ /**
47
+ * 格式化進度資訊
48
+ */
49
+ formatProgress(current: number, total: number, label?: string): string;
50
+ private formatMarkdownTable;
51
+ private formatPlainTable;
52
+ private formatMarkdownStats;
53
+ private formatPlainStats;
54
+ }
55
+ //# sourceMappingURL=output-formatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-formatter.d.ts","sourceRoot":"","sources":["../../../src/interfaces/cli/output-formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,oBAAY,YAAY;IACtB,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,qBAAa,eAAe;IACd,OAAO,CAAC,MAAM;gBAAN,MAAM,GAAE,YAAoC;IAEhE;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,MAAM;IAgBrD;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM;IAoBnC;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM;IAoBxD;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;IAgBxD;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;IAkB/C;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,MAAM;IAuBrD;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM;IAqB1C;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM;IA0BtE,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,gBAAgB;CAOzB"}
@@ -0,0 +1,195 @@
1
+ /**
2
+ * CLI 輸出格式化工具
3
+ * 提供統一的輸出格式化介面,支援 Markdown、Plain、JSON、Minimal 四種格式
4
+ */
5
+ export var OutputFormat;
6
+ (function (OutputFormat) {
7
+ OutputFormat["Markdown"] = "markdown";
8
+ OutputFormat["Plain"] = "plain";
9
+ OutputFormat["Json"] = "json";
10
+ OutputFormat["Minimal"] = "minimal";
11
+ })(OutputFormat || (OutputFormat = {}));
12
+ export class OutputFormatter {
13
+ format;
14
+ constructor(format = OutputFormat.Markdown) {
15
+ this.format = format;
16
+ }
17
+ /**
18
+ * 格式化標題
19
+ */
20
+ formatTitle(title, level = 1) {
21
+ switch (this.format) {
22
+ case OutputFormat.Markdown:
23
+ return `${'#'.repeat(level)} ${title}`;
24
+ case OutputFormat.Plain:
25
+ return `\n${title}\n${'='.repeat(title.length)}`;
26
+ case OutputFormat.Json:
27
+ return JSON.stringify({ type: 'title', level, content: title });
28
+ case OutputFormat.Minimal:
29
+ return title;
30
+ }
31
+ }
32
+ /**
33
+ * 格式化列表
34
+ */
35
+ formatList(items) {
36
+ if (items.length === 0) {
37
+ return '';
38
+ }
39
+ switch (this.format) {
40
+ case OutputFormat.Markdown:
41
+ return items.map(item => `- ${item}`).join('\n');
42
+ case OutputFormat.Plain:
43
+ return items.map((item, index) => ` ${index + 1}. ${item}`).join('\n');
44
+ case OutputFormat.Json:
45
+ return JSON.stringify({ type: 'list', items });
46
+ case OutputFormat.Minimal:
47
+ return items.join('; ');
48
+ }
49
+ }
50
+ /**
51
+ * 格式化表格
52
+ */
53
+ formatTable(headers, rows) {
54
+ switch (this.format) {
55
+ case OutputFormat.Markdown:
56
+ return this.formatMarkdownTable(headers, rows);
57
+ case OutputFormat.Plain:
58
+ return this.formatPlainTable(headers, rows);
59
+ case OutputFormat.Json:
60
+ return JSON.stringify({
61
+ type: 'table',
62
+ headers,
63
+ rows
64
+ });
65
+ case OutputFormat.Minimal:
66
+ return rows.map(row => row.join(',')).join('; ');
67
+ }
68
+ }
69
+ /**
70
+ * 格式化代碼塊
71
+ */
72
+ formatCodeBlock(code, language) {
73
+ switch (this.format) {
74
+ case OutputFormat.Markdown:
75
+ return `\`\`\`${language || ''}\n${code}\n\`\`\``;
76
+ case OutputFormat.Plain:
77
+ return code.split('\n').map(line => ` ${line}`).join('\n');
78
+ case OutputFormat.Json:
79
+ return JSON.stringify({ type: 'code', language, content: code });
80
+ case OutputFormat.Minimal:
81
+ return code.replace(/\n/g, ' ').trim();
82
+ }
83
+ }
84
+ /**
85
+ * 格式化統計資訊
86
+ */
87
+ formatStats(stats) {
88
+ switch (this.format) {
89
+ case OutputFormat.Markdown:
90
+ return this.formatMarkdownStats(stats);
91
+ case OutputFormat.Plain:
92
+ return this.formatPlainStats(stats);
93
+ case OutputFormat.Json:
94
+ return JSON.stringify(stats, null, 2);
95
+ case OutputFormat.Minimal:
96
+ return Object.entries(stats)
97
+ .map(([key, value]) => `${key}=${value}`)
98
+ .join(' ');
99
+ }
100
+ }
101
+ /**
102
+ * 格式化成功訊息
103
+ */
104
+ formatSuccess(message, details) {
105
+ switch (this.format) {
106
+ case OutputFormat.Markdown:
107
+ return `✅ ${message}${details ? '\n' + this.formatStats(details) : ''}`;
108
+ case OutputFormat.Plain:
109
+ return `✅ ${message}${details ? '\n' + this.formatPlainStats(details) : ''}`;
110
+ case OutputFormat.Json:
111
+ return JSON.stringify({
112
+ status: 'success',
113
+ message,
114
+ ...details
115
+ }, null, 2);
116
+ case OutputFormat.Minimal:
117
+ const detailsStr = details
118
+ ? ' ' + Object.entries(details).map(([k, v]) => `${k}=${v}`).join(' ')
119
+ : '';
120
+ return `success: ${message}${detailsStr}`;
121
+ }
122
+ }
123
+ /**
124
+ * 格式化錯誤訊息
125
+ */
126
+ formatError(error) {
127
+ const message = error instanceof Error ? error.message : error;
128
+ switch (this.format) {
129
+ case OutputFormat.Markdown:
130
+ return `❌ **錯誤**: ${message}`;
131
+ case OutputFormat.Plain:
132
+ return `❌ 錯誤: ${message}`;
133
+ case OutputFormat.Json:
134
+ return JSON.stringify({
135
+ status: 'error',
136
+ message
137
+ }, null, 2);
138
+ case OutputFormat.Minimal:
139
+ return `error: ${message}`;
140
+ }
141
+ }
142
+ /**
143
+ * 格式化進度資訊
144
+ */
145
+ formatProgress(current, total, label) {
146
+ const percentage = Math.round((current / total) * 100);
147
+ switch (this.format) {
148
+ case OutputFormat.Markdown:
149
+ return `⏳ ${label || '進度'}: ${current}/${total} (${percentage}%)`;
150
+ case OutputFormat.Plain:
151
+ return `⏳ ${label || '進度'}: ${current}/${total} (${percentage}%)`;
152
+ case OutputFormat.Json:
153
+ return JSON.stringify({
154
+ type: 'progress',
155
+ current,
156
+ total,
157
+ percentage,
158
+ label
159
+ });
160
+ case OutputFormat.Minimal:
161
+ return `${current}/${total}`;
162
+ }
163
+ }
164
+ // Private helper methods
165
+ formatMarkdownTable(headers, rows) {
166
+ const headerRow = `| ${headers.join(' | ')} |`;
167
+ const separator = `|${headers.map(() => '------').join('|')}|`;
168
+ const dataRows = rows.map(row => `| ${row.join(' | ')} |`).join('\n');
169
+ return `${headerRow}\n${separator}\n${dataRows}`;
170
+ }
171
+ formatPlainTable(headers, rows) {
172
+ const lines = [];
173
+ lines.push(headers.join('\t'));
174
+ lines.push('-'.repeat(headers.join('\t').length));
175
+ rows.forEach(row => {
176
+ lines.push(row.join('\t'));
177
+ });
178
+ return lines.join('\n');
179
+ }
180
+ formatMarkdownStats(stats) {
181
+ const entries = Object.entries(stats);
182
+ if (entries.length === 0) {
183
+ return '_無統計資訊_';
184
+ }
185
+ return entries.map(([key, value]) => `- **${key}**: ${value}`).join('\n');
186
+ }
187
+ formatPlainStats(stats) {
188
+ const entries = Object.entries(stats);
189
+ if (entries.length === 0) {
190
+ return '(無統計資訊)';
191
+ }
192
+ return entries.map(([key, value]) => ` ${key}: ${value}`).join('\n');
193
+ }
194
+ }
195
+ //# sourceMappingURL=output-formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-formatter.js","sourceRoot":"","sources":["../../../src/interfaces/cli/output-formatter.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,16 @@ export declare class JavaScriptParser implements ParserPlugin {
55
55
  * 清理資源
56
56
  */
57
57
  dispose(): Promise<void>;
58
+ /**
59
+ * 獲取 JavaScript 特定的排除模式
60
+ * 包含基礎排除模式 + JavaScript 測試檔案
61
+ */
62
+ getDefaultExcludePatterns(): string[];
63
+ /**
64
+ * 判斷是否應該忽略特定檔案
65
+ * JavaScript parser 會忽略測試檔案
66
+ */
67
+ shouldIgnoreFile(filePath: string): boolean;
58
68
  private validateInput;
59
69
  private validateRenameInput;
60
70
  private getParseOptionsForFile;
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/plugins/javascript/parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,KAAK,EACL,gBAAgB,EAOjB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EACV,GAAG,EACH,MAAM,EACN,SAAS,EACT,UAAU,EACV,QAAQ,EACR,KAAK,EACN,MAAM,6BAA6B,CAAC;AAWrC,OAAO,EAIL,sBAAsB,EAgBvB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,qBAAa,gBAAiB,YAAW,YAAY;IACnD,SAAgB,IAAI,gBAAgB;IACpC,SAAgB,OAAO,WAAW;IAClC,SAAgB,mBAAmB,2CAA4C;IAC/E,SAAgB,kBAAkB,iCAAkC;IAEpE,OAAO,CAAC,YAAY,CAAyB;gBAEjC,YAAY,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC;IAI1D;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAwCzD;;OAEG;IACG,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAmDjD;;OAEG;IACG,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAuCpE;;OAEG;IACG,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IA0B1D;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IA8BhF;;OAEG;IACG,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAKtE;;OAEG;IACG,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAW9E;;OAEG;IACG,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAS5D;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAsB3C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAO9B,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,uBAAuB;IAK/B,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,yBAAyB;IAgBjC,OAAO,CAAC,2BAA2B;IAgBnC,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,uBAAuB;IAmB/B,OAAO,CAAC,uBAAuB;IAqB/B,OAAO,CAAC,+BAA+B;IA4CvC,OAAO,CAAC,mBAAmB;IAkD3B,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,CAAC,0BAA0B;YAyBpB,oBAAoB;IAalC,OAAO,CAAC,iBAAiB;CAe1B"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/plugins/javascript/parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,KAAK,EACL,gBAAgB,EAOjB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EACV,GAAG,EACH,MAAM,EACN,SAAS,EACT,UAAU,EACV,QAAQ,EACR,KAAK,EACN,MAAM,6BAA6B,CAAC;AAWrC,OAAO,EAIL,sBAAsB,EAgBvB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,qBAAa,gBAAiB,YAAW,YAAY;IACnD,SAAgB,IAAI,gBAAgB;IACpC,SAAgB,OAAO,WAAW;IAClC,SAAgB,mBAAmB,2CAA4C;IAC/E,SAAgB,kBAAkB,iCAAkC;IAEpE,OAAO,CAAC,YAAY,CAAyB;gBAEjC,YAAY,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC;IAI1D;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAwCzD;;OAEG;IACG,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAmDjD;;OAEG;IACG,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAuCpE;;OAEG;IACG,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IA0B1D;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IA8BhF;;OAEG;IACG,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAKtE;;OAEG;IACG,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAW9E;;OAEG;IACG,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAS5D;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAsB3C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B;;;OAGG;IACH,yBAAyB,IAAI,MAAM,EAAE;IA2BrC;;;OAGG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAiC3C,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,uBAAuB;IAK/B,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,yBAAyB;IAgBjC,OAAO,CAAC,2BAA2B;IAgBnC,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,uBAAuB;IAmB/B,OAAO,CAAC,uBAAuB;IAqB/B,OAAO,CAAC,+BAA+B;IA4CvC,OAAO,CAAC,mBAAmB;IAkD3B,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,CAAC,0BAA0B;YAyBpB,oBAAoB;IAalC,OAAO,CAAC,iBAAiB;CAe1B"}
@@ -236,6 +236,68 @@ export class JavaScriptParser {
236
236
  // JavaScript Parser 沒有需要清理的資源
237
237
  // 但提供介面供將來擴展使用
238
238
  }
239
+ /**
240
+ * 獲取 JavaScript 特定的排除模式
241
+ * 包含基礎排除模式 + JavaScript 測試檔案
242
+ */
243
+ getDefaultExcludePatterns() {
244
+ return [
245
+ // 通用排除模式
246
+ 'node_modules/**',
247
+ '.git/**',
248
+ 'dist/**',
249
+ 'build/**',
250
+ 'coverage/**',
251
+ '.next/**',
252
+ '.nuxt/**',
253
+ 'out/**',
254
+ '.cache/**',
255
+ '.turbo/**',
256
+ // JavaScript 特定排除模式
257
+ '**/*.test.js',
258
+ '**/*.spec.js',
259
+ '**/*.test.jsx',
260
+ '**/*.spec.jsx',
261
+ '**/*.test.mjs',
262
+ '**/*.spec.mjs',
263
+ '**/*.test.cjs',
264
+ '**/*.spec.cjs',
265
+ '**/__tests__/**',
266
+ '**/__mocks__/**'
267
+ ];
268
+ }
269
+ /**
270
+ * 判斷是否應該忽略特定檔案
271
+ * JavaScript parser 會忽略測試檔案
272
+ */
273
+ shouldIgnoreFile(filePath) {
274
+ const patterns = this.getDefaultExcludePatterns();
275
+ const normalizedPath = filePath.replace(/^\.?\//, '');
276
+ // 使用簡單的模式匹配
277
+ return patterns.some(pattern => {
278
+ try {
279
+ // 直接使用字串包含檢查來提高效能
280
+ if (pattern.includes('**')) {
281
+ // 對於包含 ** 的模式,進行簡單的子字串匹配
282
+ const simplePattern = pattern.replace(/\*\*/g, '').replace(/\//g, '');
283
+ if (normalizedPath.includes(simplePattern)) {
284
+ return true;
285
+ }
286
+ }
287
+ // 檢查檔案路徑是否匹配模式
288
+ if (pattern.startsWith('**/')) {
289
+ const suffix = pattern.substring(3);
290
+ if (normalizedPath.endsWith(suffix) || normalizedPath.includes('/' + suffix)) {
291
+ return true;
292
+ }
293
+ }
294
+ return false;
295
+ }
296
+ catch (error) {
297
+ return false;
298
+ }
299
+ });
300
+ }
239
301
  // 私有輔助方法
240
302
  validateInput(code, filePath) {
241
303
  if (!code.trim()) {
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/plugins/javascript/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/plugins/javascript/parser.ts"],"names":[],"mappings":"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"}
@@ -66,6 +66,16 @@ export declare class TypeScriptParser implements ParserPlugin, Disposable {
66
66
  * 清理資源
67
67
  */
68
68
  dispose(): Promise<void>;
69
+ /**
70
+ * 獲取 TypeScript 特定的排除模式
71
+ * 包含基礎排除模式 + TypeScript 測試檔案和型別定義
72
+ */
73
+ getDefaultExcludePatterns(): string[];
74
+ /**
75
+ * 判斷是否應該忽略特定檔案
76
+ * TypeScript parser 會忽略測試檔案和型別定義檔案
77
+ */
78
+ shouldIgnoreFile(filePath: string): boolean;
69
79
  private validateInput;
70
80
  private validateRenameInput;
71
81
  private getScriptKind;
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/plugins/typescript/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/plugins/typescript/parser.ts"],"names":[],"mappings":"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"}
@@ -374,6 +374,65 @@ export class TypeScriptParser {
374
374
  }
375
375
  }
376
376
  }
377
+ /**
378
+ * 獲取 TypeScript 特定的排除模式
379
+ * 包含基礎排除模式 + TypeScript 測試檔案和型別定義
380
+ */
381
+ getDefaultExcludePatterns() {
382
+ return [
383
+ // 通用排除模式
384
+ 'node_modules/**',
385
+ '.git/**',
386
+ 'dist/**',
387
+ 'build/**',
388
+ 'coverage/**',
389
+ '.next/**',
390
+ '.nuxt/**',
391
+ 'out/**',
392
+ '.cache/**',
393
+ '.turbo/**',
394
+ // TypeScript 特定排除模式
395
+ '**/*.test.ts',
396
+ '**/*.spec.ts',
397
+ '**/*.test.tsx',
398
+ '**/*.spec.tsx',
399
+ '**/__tests__/**',
400
+ '**/__mocks__/**',
401
+ '**/*.d.ts' // 型別定義檔案通常不需要分析
402
+ ];
403
+ }
404
+ /**
405
+ * 判斷是否應該忽略特定檔案
406
+ * TypeScript parser 會忽略測試檔案和型別定義檔案
407
+ */
408
+ shouldIgnoreFile(filePath) {
409
+ const patterns = this.getDefaultExcludePatterns();
410
+ const normalizedPath = filePath.replace(/^\.?\//, '');
411
+ // 使用 minimatch 進行模式匹配
412
+ return patterns.some(pattern => {
413
+ try {
414
+ // 直接使用字串包含檢查來提高效能
415
+ if (pattern.includes('**')) {
416
+ // 對於包含 ** 的模式,進行簡單的子字串匹配
417
+ const simplePattern = pattern.replace(/\*\*/g, '').replace(/\//g, '');
418
+ if (normalizedPath.includes(simplePattern)) {
419
+ return true;
420
+ }
421
+ }
422
+ // 檢查檔案路徑是否匹配模式
423
+ if (pattern.startsWith('**/')) {
424
+ const suffix = pattern.substring(3);
425
+ if (normalizedPath.endsWith(suffix) || normalizedPath.includes('/' + suffix)) {
426
+ return true;
427
+ }
428
+ }
429
+ return false;
430
+ }
431
+ catch (error) {
432
+ return false;
433
+ }
434
+ });
435
+ }
377
436
  // 私有輔助方法
378
437
  validateInput(code, filePath) {
379
438
  if (!code.trim()) {