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
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/plugins/typescript/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/plugins/typescript/parser.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-ide",
3
- "version": "0.1.7",
3
+ "version": "0.1.8",
4
4
  "description": "程式碼智能工具集 for AI Agents",
5
5
  "type": "module",
6
6
  "main": "dist/shared/index.js",
@@ -14,17 +14,9 @@
14
14
  "build": "tsc",
15
15
  "test": "NODE_OPTIONS='--expose-gc --max-old-space-size=4096' npx vitest run",
16
16
  "test:watch": "NODE_OPTIONS='--expose-gc --max-old-space-size=4096' npx vitest --watch",
17
- "test:run": "NODE_OPTIONS='--expose-gc --max-old-space-size=4096' npx vitest run",
18
- "test:memory": "NODE_OPTIONS='--expose-gc --max-old-space-size=2048 --trace-gc' npx vitest run --reporter=verbose",
19
17
  "test:coverage": "NODE_OPTIONS='--expose-gc --max-old-space-size=4096' npx vitest run --coverage",
20
18
  "test:single": "NODE_OPTIONS='--expose-gc --max-old-space-size=2048' npx vitest run --pool=forks --poolOptions.forks.singleFork=true",
21
- "test:failed": "NODE_OPTIONS='--expose-gc --max-old-space-size=4096' npx vitest run --reporter=dot",
22
19
  "test:bail": "NODE_OPTIONS='--expose-gc --max-old-space-size=4096' npx vitest run --bail=1",
23
- "test:e2e": "NODE_OPTIONS='--expose-gc --max-old-space-size=4096' npx vitest run --config=vitest.e2e.config.ts",
24
- "test:e2e:watch": "NODE_OPTIONS='--expose-gc --max-old-space-size=4096' npx vitest --watch --config=vitest.e2e.config.ts",
25
- "test:e2e:coverage": "NODE_OPTIONS='--expose-gc --max-old-space-size=4096' npx vitest run --coverage --config=vitest.e2e.config.ts",
26
- "test:all": "npm run test && npm run test:e2e",
27
- "test:all:coverage": "npm run test:coverage && npm run test:e2e:coverage",
28
20
  "typecheck": "tsc --noEmit",
29
21
  "lint": "eslint 'src/**/*.ts' 'tests/**/*.{ts,js}' --fix",
30
22
  "review:test": "codex \"review 所有測試 code, 把修改建議更新到 review.md\""
@@ -49,6 +41,7 @@
49
41
  "devDependencies": {
50
42
  "@types/babel__generator": "^7.27.0",
51
43
  "@types/babel__traverse": "^7.28.0",
44
+ "@types/minimatch": "^6.0.0",
52
45
  "@types/node": "^24.3.1",
53
46
  "@typescript-eslint/eslint-plugin": "^8.44.1",
54
47
  "@typescript-eslint/parser": "^8.44.1",
@@ -70,13 +63,14 @@
70
63
  "README.md"
71
64
  ],
72
65
  "dependencies": {
73
- "commander": "^12.1.0",
74
- "glob": "^11.0.3",
75
- "web-tree-sitter": "^0.25.10",
76
- "typescript": "^5.0.0",
77
66
  "@babel/generator": "^7.28.3",
78
67
  "@babel/parser": "^7.28.4",
79
68
  "@babel/traverse": "^7.28.4",
80
- "@babel/types": "^7.28.4"
69
+ "@babel/types": "^7.28.4",
70
+ "commander": "^12.1.0",
71
+ "glob": "^11.0.3",
72
+ "minimatch": "^10.0.3",
73
+ "typescript": "^5.0.0",
74
+ "web-tree-sitter": "^0.25.10"
81
75
  }
82
76
  }
@@ -1,62 +0,0 @@
1
- /**
2
- * Performance Analyzer 實作
3
- * 提供檔案和專案級別的效能分析功能
4
- */
5
- import { PerformanceAnalyzer, PerformanceAnalysisConfig, PerformanceAnalysisResult, FilePerformanceInfo, PerformanceIssue } from './interfaces.js';
6
- /**
7
- * 預設效能分析配置
8
- */
9
- export declare const DEFAULT_PERFORMANCE_CONFIG: PerformanceAnalysisConfig;
10
- /**
11
- * 預設效能分析器實作
12
- */
13
- export declare class DefaultPerformanceAnalyzer implements PerformanceAnalyzer {
14
- private parserRegistry;
15
- private analysisCache;
16
- constructor();
17
- /**
18
- * 分析檔案效能
19
- */
20
- analyzeFile(filePath: string, config?: PerformanceAnalysisConfig): Promise<FilePerformanceInfo>;
21
- /**
22
- * 分析專案效能
23
- */
24
- analyzeProject(projectPath: string, config?: PerformanceAnalysisConfig): Promise<PerformanceAnalysisResult>;
25
- /**
26
- * 檢測效能問題
27
- */
28
- detectIssues(fileInfo: FilePerformanceInfo, config: PerformanceAnalysisConfig): PerformanceIssue[];
29
- /**
30
- * 內部檔案分析實作
31
- */
32
- private analyzeFileInternal;
33
- /**
34
- * 獲取所有程式碼檔案
35
- */
36
- private getAllCodeFiles;
37
- /**
38
- * 計算嵌套深度
39
- */
40
- private calculateNestingDepth;
41
- /**
42
- * 計算循環複雜度(簡化版本)
43
- */
44
- private calculateCyclomaticComplexity;
45
- /**
46
- * 計算嚴重程度
47
- */
48
- private calculateSeverity;
49
- /**
50
- * 計算專案統計摘要
51
- */
52
- private calculateSummary;
53
- /**
54
- * 生成優化建議
55
- */
56
- private generateRecommendations;
57
- /**
58
- * 清理快取
59
- */
60
- clearCache(): void;
61
- }
62
- //# sourceMappingURL=analyzer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../../src/core/performance/analyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,EACnB,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AAIzB;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,yBAOxC,CAAC;AAEF;;GAEG;AACH,qBAAa,0BAA2B,YAAW,mBAAmB;IACpE,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAA0C;;IAM/D;;OAEG;IACG,WAAW,CACf,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,yBAAsD,GAC7D,OAAO,CAAC,mBAAmB,CAAC;IAsB/B;;OAEG;IACG,cAAc,CAClB,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,yBAAsD,GAC7D,OAAO,CAAC,yBAAyB,CAAC;IAoDrC;;OAEG;IACH,YAAY,CACV,QAAQ,EAAE,mBAAmB,EAC7B,MAAM,EAAE,yBAAyB,GAChC,gBAAgB,EAAE;IA0ErB;;OAEG;YACW,mBAAmB;IAiFjC;;OAEG;YACW,eAAe;IA4B7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;OAEG;IACH,OAAO,CAAC,6BAA6B;IA2BrC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAyBxB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAyC/B;;OAEG;IACH,UAAU,IAAI,IAAI;CAGnB"}
@@ -1,378 +0,0 @@
1
- /**
2
- * Performance Analyzer 實作
3
- * 提供檔案和專案級別的效能分析功能
4
- */
5
- import { promises as fs } from 'fs';
6
- import { join, extname } from 'path';
7
- import { PerformanceIssueType } from './interfaces.js';
8
- import { DefaultPerformanceMonitor, measureAsync } from './monitor.js';
9
- import { ParserRegistry } from '../../infrastructure/parser/registry.js';
10
- /**
11
- * 預設效能分析配置
12
- */
13
- export const DEFAULT_PERFORMANCE_CONFIG = {
14
- largeFileThreshold: 50000, // 50KB
15
- longFunctionThreshold: 50, // 50行
16
- deepNestingThreshold: 5, // 5層嵌套
17
- highComplexityThreshold: 10, // 循環複雜度
18
- verbose: false,
19
- enableCache: true
20
- };
21
- /**
22
- * 預設效能分析器實作
23
- */
24
- export class DefaultPerformanceAnalyzer {
25
- parserRegistry;
26
- analysisCache = new Map();
27
- constructor() {
28
- this.parserRegistry = ParserRegistry.getInstance();
29
- }
30
- /**
31
- * 分析檔案效能
32
- */
33
- async analyzeFile(filePath, config = DEFAULT_PERFORMANCE_CONFIG) {
34
- // 檢查快取
35
- if (config.enableCache && this.analysisCache.has(filePath)) {
36
- const cached = this.analysisCache.get(filePath);
37
- if (config.verbose) {
38
- console.log(`使用快取結果: ${filePath}`);
39
- }
40
- return cached;
41
- }
42
- const { result: fileInfo } = await measureAsync(async () => {
43
- return await this.analyzeFileInternal(filePath, config);
44
- }, config.verbose ? `分析檔案: ${filePath}` : undefined);
45
- // 快取結果
46
- if (config.enableCache) {
47
- this.analysisCache.set(filePath, fileInfo);
48
- }
49
- return fileInfo;
50
- }
51
- /**
52
- * 分析專案效能
53
- */
54
- async analyzeProject(projectPath, config = DEFAULT_PERFORMANCE_CONFIG) {
55
- const monitor = new DefaultPerformanceMonitor();
56
- monitor.start();
57
- try {
58
- // 獲取所有程式碼檔案
59
- const files = await this.getAllCodeFiles(projectPath);
60
- if (config.verbose) {
61
- console.log(`找到 ${files.length} 個程式碼檔案`);
62
- }
63
- // 分析每個檔案
64
- const fileResults = [];
65
- const allIssues = [];
66
- for (const file of files) {
67
- try {
68
- const fileInfo = await this.analyzeFile(file, config);
69
- fileResults.push(fileInfo);
70
- // 檢測問題
71
- const issues = this.detectIssues(fileInfo, config);
72
- allIssues.push(...issues);
73
- }
74
- catch (error) {
75
- if (config.verbose) {
76
- console.warn(`跳過檔案 ${file}:`, error);
77
- }
78
- }
79
- }
80
- const metrics = monitor.stop();
81
- // 計算統計資料
82
- const summary = this.calculateSummary(fileResults);
83
- // 生成建議
84
- const recommendations = this.generateRecommendations(allIssues, summary);
85
- return {
86
- metrics,
87
- fileResults,
88
- issues: allIssues,
89
- summary,
90
- recommendations
91
- };
92
- }
93
- catch (error) {
94
- monitor.stop();
95
- throw error;
96
- }
97
- }
98
- /**
99
- * 檢測效能問題
100
- */
101
- detectIssues(fileInfo, config) {
102
- const issues = [];
103
- // 檢查大檔案
104
- if (fileInfo.fileSize > config.largeFileThreshold) {
105
- issues.push({
106
- type: PerformanceIssueType.LARGE_FILE,
107
- severity: this.calculateSeverity(fileInfo.fileSize, config.largeFileThreshold, 5),
108
- filePath: fileInfo.filePath,
109
- message: `檔案過大: ${(fileInfo.fileSize / 1024).toFixed(1)}KB`,
110
- suggestions: [
111
- '考慮將檔案拆分為多個較小的模組',
112
- '移除未使用的程式碼',
113
- '使用程式碼分割技術'
114
- ],
115
- value: fileInfo.fileSize,
116
- threshold: config.largeFileThreshold
117
- });
118
- }
119
- // 檢查長函式
120
- if (fileInfo.longFunctionCount > 0) {
121
- issues.push({
122
- type: PerformanceIssueType.LONG_FUNCTION,
123
- severity: Math.min(10, fileInfo.longFunctionCount),
124
- filePath: fileInfo.filePath,
125
- message: `發現 ${fileInfo.longFunctionCount} 個長函式`,
126
- suggestions: [
127
- '將長函式拆分為多個較小的函式',
128
- '提取重複的邏輯到共用函式',
129
- '使用函式式程式設計減少複雜度'
130
- ],
131
- value: fileInfo.longFunctionCount,
132
- threshold: 0
133
- });
134
- }
135
- // 檢查深度嵌套
136
- if (fileInfo.nestingDepth > config.deepNestingThreshold) {
137
- issues.push({
138
- type: PerformanceIssueType.DEEP_NESTING,
139
- severity: this.calculateSeverity(fileInfo.nestingDepth, config.deepNestingThreshold, 8),
140
- filePath: fileInfo.filePath,
141
- message: `嵌套過深: ${fileInfo.nestingDepth} 層`,
142
- suggestions: [
143
- '使用早期返回減少嵌套',
144
- '提取條件邏輯到獨立函式',
145
- '考慮使用策略模式或狀態機'
146
- ],
147
- value: fileInfo.nestingDepth,
148
- threshold: config.deepNestingThreshold
149
- });
150
- }
151
- // 檢查高複雜度
152
- if (fileInfo.cyclomaticComplexity > config.highComplexityThreshold) {
153
- issues.push({
154
- type: PerformanceIssueType.HIGH_COMPLEXITY,
155
- severity: this.calculateSeverity(fileInfo.cyclomaticComplexity, config.highComplexityThreshold, 10),
156
- filePath: fileInfo.filePath,
157
- message: `循環複雜度過高: ${fileInfo.cyclomaticComplexity}`,
158
- suggestions: [
159
- '簡化條件邏輯',
160
- '使用多型代替條件分支',
161
- '將複雜函式拆分為多個簡單函式'
162
- ],
163
- value: fileInfo.cyclomaticComplexity,
164
- threshold: config.highComplexityThreshold
165
- });
166
- }
167
- return issues;
168
- }
169
- /**
170
- * 內部檔案分析實作
171
- */
172
- async analyzeFileInternal(filePath, config) {
173
- const parseStart = Date.now();
174
- // 獲取檔案資訊
175
- const stats = await fs.stat(filePath);
176
- const content = await fs.readFile(filePath, 'utf-8');
177
- // 基本指標
178
- let functionCount = 0;
179
- let classCount = 0;
180
- let longFunctionCount = 0;
181
- let nestingDepth = 0;
182
- let cyclomaticComplexity = 1; // 基礎複雜度
183
- try {
184
- // 嘗試使用 parser 進行精確分析
185
- const ext = extname(filePath);
186
- const parser = this.parserRegistry.getParser(ext);
187
- if (parser) {
188
- const ast = await parser.parse(content, filePath);
189
- const symbols = await parser.extractSymbols(ast);
190
- // 統計符號
191
- for (const symbol of symbols) {
192
- if (symbol.type === 'function') {
193
- functionCount++;
194
- // 檢查函式長度(簡化)
195
- if (symbol.location?.range) {
196
- const lines = symbol.location.range.end.line - symbol.location.range.start.line;
197
- if (lines > config.longFunctionThreshold) {
198
- longFunctionCount++;
199
- }
200
- }
201
- }
202
- else if (symbol.type === 'class') {
203
- classCount++;
204
- }
205
- }
206
- }
207
- }
208
- catch (error) {
209
- // 使用正則表達式作為備選方案
210
- if (config.verbose) {
211
- console.warn(`Parser 分析失敗,使用正則表達式: ${filePath}`);
212
- }
213
- // 簡化的正則表達式分析
214
- const functionMatches = content.match(/function\s+\w+|=>\s*{|function\s*\(/g) || [];
215
- functionCount = functionMatches.length;
216
- const classMatches = content.match(/class\s+\w+|interface\s+\w+/g) || [];
217
- classCount = classMatches.length;
218
- // 檢查長函式(基於括號和行數的啟發式方法)
219
- const functionBlocks = content.match(/function[^{]*{[^}]*}/g) || [];
220
- longFunctionCount = functionBlocks.filter(block => block.split('\n').length > config.longFunctionThreshold).length;
221
- }
222
- // 計算嵌套深度
223
- nestingDepth = this.calculateNestingDepth(content);
224
- // 計算循環複雜度(簡化版本)
225
- cyclomaticComplexity = this.calculateCyclomaticComplexity(content);
226
- const parseTime = Date.now() - parseStart;
227
- return {
228
- filePath,
229
- fileSize: stats.size,
230
- parseTime,
231
- functionCount,
232
- classCount,
233
- longFunctionCount,
234
- nestingDepth,
235
- cyclomaticComplexity
236
- };
237
- }
238
- /**
239
- * 獲取所有程式碼檔案
240
- */
241
- async getAllCodeFiles(projectPath) {
242
- const files = [];
243
- const supportedExtensions = ['.ts', '.tsx', '.js', '.jsx', '.vue', '.svelte'];
244
- async function scan(dir) {
245
- const entries = await fs.readdir(dir, { withFileTypes: true });
246
- for (const entry of entries) {
247
- const fullPath = join(dir, entry.name);
248
- if (entry.isDirectory()) {
249
- // 跳過常見的忽略目錄
250
- if (!['node_modules', '.git', 'dist', 'build', '.next'].includes(entry.name)) {
251
- await scan(fullPath);
252
- }
253
- }
254
- else if (entry.isFile()) {
255
- const ext = extname(entry.name);
256
- if (supportedExtensions.includes(ext)) {
257
- files.push(fullPath);
258
- }
259
- }
260
- }
261
- }
262
- await scan(projectPath);
263
- return files;
264
- }
265
- /**
266
- * 計算嵌套深度
267
- */
268
- calculateNestingDepth(content) {
269
- let maxDepth = 0;
270
- let currentDepth = 0;
271
- for (const char of content) {
272
- if (char === '{') {
273
- currentDepth++;
274
- maxDepth = Math.max(maxDepth, currentDepth);
275
- }
276
- else if (char === '}') {
277
- currentDepth--;
278
- }
279
- }
280
- return maxDepth;
281
- }
282
- /**
283
- * 計算循環複雜度(簡化版本)
284
- */
285
- calculateCyclomaticComplexity(content) {
286
- // 基礎複雜度為 1
287
- let complexity = 1;
288
- // 計算條件分支
289
- const conditions = [
290
- /if\s*\(/g,
291
- /else\s+if\s*\(/g,
292
- /while\s*\(/g,
293
- /for\s*\(/g,
294
- /case\s+/g,
295
- /catch\s*\(/g,
296
- /\?\s*:/g, // 三元運算子
297
- /&&/g,
298
- /\|\|/g
299
- ];
300
- for (const pattern of conditions) {
301
- const matches = content.match(pattern);
302
- if (matches) {
303
- complexity += matches.length;
304
- }
305
- }
306
- return complexity;
307
- }
308
- /**
309
- * 計算嚴重程度
310
- */
311
- calculateSeverity(value, threshold, maxSeverity) {
312
- const ratio = value / threshold;
313
- return Math.min(maxSeverity, Math.ceil(ratio * 3));
314
- }
315
- /**
316
- * 計算專案統計摘要
317
- */
318
- calculateSummary(fileResults) {
319
- const totalFiles = fileResults.length;
320
- const totalSize = fileResults.reduce((sum, file) => sum + file.fileSize, 0);
321
- const averageFileSize = totalFiles > 0 ? totalSize / totalFiles : 0;
322
- const largeFileCount = fileResults.filter(file => file.fileSize > 50000).length;
323
- const longFunctionCount = fileResults.reduce((sum, file) => sum + file.longFunctionCount, 0);
324
- const highComplexityCount = fileResults.filter(file => file.cyclomaticComplexity > 10).length;
325
- // 計算整體效能評分 (1-100)
326
- const sizeScore = Math.max(0, 100 - (largeFileCount / totalFiles) * 100);
327
- const functionScore = Math.max(0, 100 - (longFunctionCount / totalFiles) * 20);
328
- const complexityScore = Math.max(0, 100 - (highComplexityCount / totalFiles) * 100);
329
- const overallScore = Math.round((sizeScore + functionScore + complexityScore) / 3);
330
- return {
331
- totalFiles,
332
- totalSize,
333
- averageFileSize,
334
- largeFileCount,
335
- longFunctionCount,
336
- highComplexityCount,
337
- overallScore
338
- };
339
- }
340
- /**
341
- * 生成優化建議
342
- */
343
- generateRecommendations(issues, summary) {
344
- const recommendations = [];
345
- // 基於問題類型的建議
346
- const issueTypes = new Set(issues.map(issue => issue.type));
347
- if (issueTypes.has(PerformanceIssueType.LARGE_FILE)) {
348
- recommendations.push('考慮拆分大型檔案以提高載入和解析效能');
349
- }
350
- if (issueTypes.has(PerformanceIssueType.LONG_FUNCTION)) {
351
- recommendations.push('重構長函式以提高可讀性和可維護性');
352
- }
353
- if (issueTypes.has(PerformanceIssueType.HIGH_COMPLEXITY)) {
354
- recommendations.push('簡化複雜的邏輯以減少 CPU 負擔');
355
- }
356
- if (issueTypes.has(PerformanceIssueType.DEEP_NESTING)) {
357
- recommendations.push('減少深度嵌套以提高執行效率');
358
- }
359
- // 基於整體統計的建議
360
- if (summary.overallScore < 70) {
361
- recommendations.push('專案整體效能需要優化,建議進行全面的程式碼審查');
362
- }
363
- if (summary.largeFileCount > summary.totalFiles * 0.2) {
364
- recommendations.push('考慮採用模組化架構以改善專案結構');
365
- }
366
- if (recommendations.length === 0) {
367
- recommendations.push('程式碼效能良好,繼續保持良好的開發實踐');
368
- }
369
- return recommendations;
370
- }
371
- /**
372
- * 清理快取
373
- */
374
- clearCache() {
375
- this.analysisCache.clear();
376
- }
377
- }
378
- //# sourceMappingURL=analyzer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../../../src/core/performance/analyzer.ts"],"names":[],"mappings":"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"}