@devflow-tools/plugin-react 0.16.10 → 0.16.12

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 (31) hide show
  1. package/dist/analyzers/__tests__/performance-audit.test.js +16 -0
  2. package/dist/analyzers/__tests__/performance-audit.test.js.map +1 -1
  3. package/dist/analyzers/__tests__/target-resolver.test.d.ts +2 -0
  4. package/dist/analyzers/__tests__/target-resolver.test.d.ts.map +1 -0
  5. package/dist/analyzers/__tests__/target-resolver.test.js +173 -0
  6. package/dist/analyzers/__tests__/target-resolver.test.js.map +1 -0
  7. package/dist/analyzers/diagnose-bug.d.ts.map +1 -1
  8. package/dist/analyzers/diagnose-bug.js +46 -77
  9. package/dist/analyzers/diagnose-bug.js.map +1 -1
  10. package/dist/analyzers/file-scanner.d.ts +11 -0
  11. package/dist/analyzers/file-scanner.d.ts.map +1 -1
  12. package/dist/analyzers/file-scanner.js +37 -168
  13. package/dist/analyzers/file-scanner.js.map +1 -1
  14. package/dist/analyzers/hooks-review.d.ts.map +1 -1
  15. package/dist/analyzers/hooks-review.js +24 -5
  16. package/dist/analyzers/hooks-review.js.map +1 -1
  17. package/dist/analyzers/performance-audit.d.ts +15 -0
  18. package/dist/analyzers/performance-audit.d.ts.map +1 -1
  19. package/dist/analyzers/performance-audit.js +118 -8
  20. package/dist/analyzers/performance-audit.js.map +1 -1
  21. package/dist/analyzers/refactor-component.d.ts.map +1 -1
  22. package/dist/analyzers/refactor-component.js +29 -3
  23. package/dist/analyzers/refactor-component.js.map +1 -1
  24. package/dist/analyzers/target-resolver.d.ts +57 -0
  25. package/dist/analyzers/target-resolver.d.ts.map +1 -0
  26. package/dist/analyzers/target-resolver.js +451 -0
  27. package/dist/analyzers/target-resolver.js.map +1 -0
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +43 -7
  30. package/dist/index.js.map +1 -1
  31. package/package.json +3 -3
@@ -1,26 +1,46 @@
1
1
  import ts from 'typescript';
2
- import { readFileContent, getRelativePath, selectAnalyzerFiles } from './file-scanner.js';
2
+ import { readFileContent, getRelativePath, selectAnalyzerFilesWithResolution } from './file-scanner.js';
3
3
  import { sortByQuality, filterHighQuality, deduplicateFindings, enrichFindingContext } from './quality-scorer.js';
4
4
  export function auditPerformance(ctx, options = {}) {
5
5
  const scope = options.scope ?? (options.filePath || options.componentName ? 'target' : 'project');
6
6
  const outputMode = options.outputMode ?? (scope === 'project' ? 'focused' : 'summary');
7
7
  const maxFindings = normalizeMaxFindings(options.maxFindings, outputMode);
8
- const selectedFiles = selectFiles(ctx, options, scope);
8
+ const selection = selectFiles(ctx, options, scope);
9
+ const selectedFiles = selection.files;
9
10
  const findings = [];
10
11
  let totalComponents = 0;
11
12
  let memoizedComponents = 0;
12
13
  let inlineObjectCount = 0;
13
14
  if (selectedFiles.length === 0) {
14
15
  const targetLabel = describeTarget(options, scope);
16
+ const summary = buildResolutionFailureSummary(targetLabel, selection.targetResolution);
17
+ const evidence = buildPerformanceEvidenceContract({
18
+ id: buildReportId(targetLabel, [], []),
19
+ targetLabel,
20
+ findings: [],
21
+ resolutionFailure: summary,
22
+ });
15
23
  return {
16
24
  success: false,
17
- summary: `无法定位${targetLabel},未扫描任何文件;请提供精确 filePath 或检查组件是否已被索引`,
25
+ summary,
18
26
  findings: [],
19
27
  runtimeProfilingOccurred: false,
28
+ evidenceContract: evidence,
29
+ canonicalReport: evidence.canonicalReport,
20
30
  metrics: { scannedFiles: 0, totalComponents: 0, memoizedComponents: 0, memoizationRate: 0, inlineObjects: 0, lowQualityFiltered: 0 },
21
31
  totalFindings: 0,
22
32
  truncated: false,
23
- data: { target: targetLabel, scope, outputMode, scannedFiles: [], degraded: true, degradationReason: 'target_not_resolved' },
33
+ data: {
34
+ target: targetLabel,
35
+ scope,
36
+ outputMode,
37
+ scannedFiles: [],
38
+ degraded: true,
39
+ degradationReason: selection.targetResolution.status === 'ambiguous'
40
+ ? 'target_ambiguous'
41
+ : 'target_not_resolved',
42
+ targetResolution: selection.targetResolution,
43
+ },
24
44
  };
25
45
  }
26
46
  for (const file of selectedFiles) {
@@ -126,9 +146,15 @@ export function auditPerformance(ctx, options = {}) {
126
146
  : highQuality.slice(0, maxFindings);
127
147
  const truncated = limitedFindings.length < enriched.length;
128
148
  const targetLabel = describeTarget(options, scope);
129
- const reportId = truncated ? buildReportId(targetLabel, selectedFiles) : undefined;
149
+ const evidenceId = buildReportId(targetLabel, selectedFiles, limitedFindings);
150
+ const reportId = truncated ? evidenceId : undefined;
130
151
  const lowQualityCount = enriched.length - highQuality.length;
131
152
  const droppedCount = highQuality.length - limitedFindings.length;
153
+ const evidence = buildPerformanceEvidenceContract({
154
+ id: evidenceId,
155
+ targetLabel,
156
+ findings: limitedFindings,
157
+ });
132
158
  return {
133
159
  success: true,
134
160
  summary: buildSummary({
@@ -144,6 +170,8 @@ export function auditPerformance(ctx, options = {}) {
144
170
  }),
145
171
  findings: limitedFindings,
146
172
  runtimeProfilingOccurred: false,
173
+ evidenceContract: evidence,
174
+ canonicalReport: evidence.canonicalReport,
147
175
  metrics: {
148
176
  scannedFiles: selectedFiles.length,
149
177
  totalComponents,
@@ -167,6 +195,7 @@ export function auditPerformance(ctx, options = {}) {
167
195
  runtimeProfilingOccurred: false,
168
196
  evidenceMode: 'static_finding',
169
197
  limitations: ['未执行运行时 profiling;所有发现均为静态候选,需测量后才能判断卡顿、CPU 影响或瓶颈。'],
198
+ targetResolution: selection.targetResolution,
170
199
  },
171
200
  _report: reportId ? {
172
201
  target: targetLabel,
@@ -282,7 +311,7 @@ function normalizeMaxFindings(maxFindings, outputMode) {
282
311
  return Math.max(1, Math.min(maxFindings, 50));
283
312
  }
284
313
  function selectFiles(ctx, options, scope) {
285
- return selectAnalyzerFiles(ctx, {
314
+ return selectAnalyzerFilesWithResolution(ctx, {
286
315
  filePath: options.filePath,
287
316
  componentName: options.componentName,
288
317
  scope,
@@ -292,6 +321,13 @@ function selectFiles(ctx, options, scope) {
292
321
  },
293
322
  });
294
323
  }
324
+ function buildResolutionFailureSummary(targetLabel, resolution) {
325
+ if (resolution.status === 'ambiguous') {
326
+ const candidates = resolution.candidates.map(candidate => candidate.path).join(', ');
327
+ return `无法唯一定位${targetLabel};同一最佳 rank 存在多个候选:${candidates}`;
328
+ }
329
+ return `无法定位${targetLabel},未扫描任何文件;请提供精确 filePath 或检查组件是否已被索引`;
330
+ }
295
331
  function describeTarget(options, scope) {
296
332
  if (options.filePath)
297
333
  return `文件 ${options.filePath}`;
@@ -314,14 +350,88 @@ function buildSummary(params) {
314
350
  : ';未执行运行时 profiling,不能据此认定 P0、卡顿、CPU 热点或性能瓶颈';
315
351
  return base;
316
352
  }
317
- function buildReportId(targetLabel, files) {
318
- const source = `${targetLabel}:${files.join('|')}`;
353
+ function buildReportId(targetLabel, files, findings) {
354
+ const findingFingerprint = findings.map(finding => [
355
+ finding.category,
356
+ finding.file,
357
+ finding.line,
358
+ finding.title,
359
+ finding.evidenceMode,
360
+ finding.detectionMethod,
361
+ ].join(':')).join('|');
362
+ const source = `${targetLabel}:${files.join('|')}:${findingFingerprint}`;
319
363
  let hash = 0;
320
364
  for (let i = 0; i < source.length; i++) {
321
365
  hash = (hash * 31 + source.charCodeAt(i)) >>> 0;
322
366
  }
323
367
  return `react-perf-${hash.toString(16)}`;
324
368
  }
369
+ function buildPerformanceEvidenceContract(options) {
370
+ const canonicalReport = buildCanonicalReport(options);
371
+ return {
372
+ version: '1.0',
373
+ id: options.id,
374
+ runtimeProfilingOccurred: false,
375
+ samplingEvidenceOccurred: false,
376
+ requiredSections: ['工具发现', '模型假设', '需要运行时验证'],
377
+ prohibitedClaims: [
378
+ 'static_as_p0_or_high_severity',
379
+ 'static_as_confirmed_bottleneck',
380
+ 'unobserved_jank_frame_drop_or_cpu_hotspot',
381
+ 'unsupported_performance_or_benefit_numbers',
382
+ 'request_animation_frame_without_sampling_evidence',
383
+ ],
384
+ correctionPolicy: {
385
+ maxAttempts: 1,
386
+ repeatedViolation: 'fail_open',
387
+ },
388
+ canonicalReport,
389
+ };
390
+ }
391
+ function buildCanonicalReport(options) {
392
+ const toolFindings = options.resolutionFailure
393
+ ? [`- 目标定位失败:${singleLine(options.resolutionFailure, 400)}。未扫描源文件,当前没有可报告的静态候选。`]
394
+ : options.findings.length === 0
395
+ ? [`- 已扫描${options.targetLabel},工具没有返回达到质量阈值的静态候选;这不代表性能已经通过运行时验证。`]
396
+ : options.findings.slice(0, 12).map((finding, index) => {
397
+ const location = finding.file
398
+ ? `${finding.file}${finding.line ? `:${finding.line}` : ''}`
399
+ : options.targetLabel;
400
+ const limitations = finding.limitations.slice(0, 2).map(item => singleLine(item, 180)).join(';');
401
+ return `- 静态候选 ${index + 1}:${location},${singleLine(finding.title, 180)}。`
402
+ + `evidenceMode=${finding.evidenceMode};detectionMethod=${finding.detectionMethod};`
403
+ + `confidence=${finding.confidence};impact=${finding.impact};limitations=${limitations || '未提供'}。`;
404
+ });
405
+ if (!options.resolutionFailure && options.findings.length > 12) {
406
+ toolFindings.push(`- 另有 ${options.findings.length - 12} 条工具发现未展开;应读取原始 findings,不能自行补全结论。`);
407
+ }
408
+ const hypotheses = options.resolutionFailure
409
+ ? ['- 目标文件尚未解析成功,不基于空扫描结果提出性能假设。']
410
+ : options.findings.length === 0
411
+ ? ['- 当前工具输出不足以形成性能假设。']
412
+ : ['- 上述代码模式可能进入频繁更新或引用不稳定路径,但静态证据不能确认实际触发频率、提交成本或用户可感知影响。'];
413
+ const runtimeVerification = options.resolutionFailure
414
+ ? ['- 先提供精确 filePath 或 componentName 并重新运行工具;成功解析目标后,再决定是否需要 Profiler 或 trace。']
415
+ : [
416
+ '- 使用 React DevTools Profiler 复现目标交互,采集每次交互的 render 次数、commit duration 和触发更新的原因。',
417
+ '- 使用浏览器 Performance trace 复现同一场景,检查 long task、scripting 时间和帧时间;只有测量结果才能支持瓶颈与影响结论。',
418
+ '- 若评估 requestAnimationFrame,必须先定义采样周期、丢弃规则和前后基准;仅对齐绘制时机不能作为通用节流依据。',
419
+ ];
420
+ return [
421
+ '### 工具发现',
422
+ ...toolFindings,
423
+ '',
424
+ '### 模型假设',
425
+ ...hypotheses,
426
+ '',
427
+ '### 需要运行时验证',
428
+ ...runtimeVerification,
429
+ ].join('\n');
430
+ }
431
+ function singleLine(value, maxLength) {
432
+ const normalized = value.replace(/\s+/g, ' ').trim();
433
+ return normalized.length <= maxLength ? normalized : `${normalized.slice(0, maxLength - 1)}…`;
434
+ }
325
435
  function escapeRegExp(value) {
326
436
  return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
327
437
  }
@@ -1 +1 @@
1
- {"version":3,"file":"performance-audit.js","sourceRoot":"","sources":["../../src/analyzers/performance-audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"performance-audit.js","sourceRoot":"","sources":["../../src/analyzers/performance-audit.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"refactor-component.d.ts","sourceRoot":"","sources":["../../src/analyzers/refactor-component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,cAAc,CAgFvF"}
1
+ {"version":3,"file":"refactor-component.d.ts","sourceRoot":"","sources":["../../src/analyzers/refactor-component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,cAAc,CA6GvF"}
@@ -1,7 +1,28 @@
1
1
  import { readFileContent, getRelativePath } from './file-scanner.js';
2
+ import { resolveAnalyzerTarget, toTargetResolutionMetadata } from './target-resolver.js';
2
3
  export function refactorComponent(filePath, projectRoot) {
3
- const content = readFileContent(filePath);
4
- const relPath = getRelativePath(projectRoot, filePath);
4
+ const resolution = resolveAnalyzerTarget({ projectRoot, files: [], truncated: true }, { filePath });
5
+ const targetResolution = toTargetResolutionMetadata(resolution);
6
+ if (resolution.status !== 'resolved') {
7
+ const candidates = resolution.candidates.map(candidate => candidate.path).join(', ');
8
+ return {
9
+ success: false,
10
+ summary: resolution.status === 'ambiguous'
11
+ ? `无法唯一定位组件文件;同一最佳 rank 存在多个候选:${candidates}`
12
+ : `无法定位组件文件 ${filePath}`,
13
+ data: {
14
+ degraded: true,
15
+ degradationReason: resolution.status === 'ambiguous'
16
+ ? 'target_ambiguous'
17
+ : 'target_not_resolved',
18
+ targetResolution,
19
+ },
20
+ findings: [],
21
+ };
22
+ }
23
+ const resolvedFile = resolution.files[0];
24
+ const content = readFileContent(resolvedFile);
25
+ const relPath = getRelativePath(projectRoot, resolvedFile);
5
26
  const lines = content.split('\n');
6
27
  // Calculate metrics
7
28
  const lineCount = lines.length;
@@ -59,7 +80,12 @@ export function refactorComponent(filePath, projectRoot) {
59
80
  success: true,
60
81
  summary: `组件复杂度评分 ${Math.round(score)}/100(${level})`,
61
82
  metrics: { score: Math.round(score), level, lines: lineCount, propsCount, hooksCount, nestingDepth, conditionals },
62
- data: { complexity: { score: Math.round(score), level, lines: lineCount, propsCount, hooksCount, nestingDepth }, smells, refactorPlan: plan },
83
+ data: {
84
+ complexity: { score: Math.round(score), level, lines: lineCount, propsCount, hooksCount, nestingDepth },
85
+ smells,
86
+ refactorPlan: plan,
87
+ targetResolution,
88
+ },
63
89
  findings: smells.map(s => ({
64
90
  severity: 'warning',
65
91
  category: s.type,
@@ -1 +1 @@
1
- {"version":3,"file":"refactor-component.js","sourceRoot":"","sources":["../../src/analyzers/refactor-component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"refactor-component.js","sourceRoot":"","sources":["../../src/analyzers/refactor-component.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import type { AnalyzerContext } from './types.js';
2
+ export type TargetResolutionRank = 'exact_path' | 'exact_basename' | 'exported_symbol' | 'directory_entry' | 'fuzzy_content';
3
+ export interface TargetResolutionCandidate {
4
+ file: string;
5
+ path: string;
6
+ rank: TargetResolutionRank;
7
+ rankOrder: number;
8
+ evidence: string[];
9
+ }
10
+ interface TargetResolutionBase {
11
+ requested: {
12
+ filePath?: string;
13
+ componentName?: string;
14
+ };
15
+ candidates: TargetResolutionCandidate[];
16
+ scannedDisk: boolean;
17
+ initialContextTruncated: boolean;
18
+ }
19
+ export type TargetResolution = (TargetResolutionBase & {
20
+ status: 'resolved';
21
+ rank: TargetResolutionRank;
22
+ files: string[];
23
+ }) | (TargetResolutionBase & {
24
+ status: 'ambiguous';
25
+ rank: TargetResolutionRank;
26
+ }) | (TargetResolutionBase & {
27
+ status: 'not_found';
28
+ rank: null;
29
+ });
30
+ export interface TargetResolutionMetadata {
31
+ status: TargetResolution['status'];
32
+ rank: TargetResolutionRank | null;
33
+ requested: TargetResolutionBase['requested'];
34
+ files: string[];
35
+ candidates: Array<{
36
+ path: string;
37
+ rank: TargetResolutionRank;
38
+ evidence: string[];
39
+ }>;
40
+ scannedDisk: boolean;
41
+ initialContextTruncated: boolean;
42
+ }
43
+ export interface ResolveTargetOptions {
44
+ filePath?: string;
45
+ componentName?: string;
46
+ matchContent?: (file: string, candidateName: string) => boolean;
47
+ }
48
+ export interface TargetResolverInventory {
49
+ resolve(options: ResolveTargetOptions): TargetResolution;
50
+ getProjectFiles(): string[];
51
+ }
52
+ export declare function resolveAnalyzerTarget(ctx: AnalyzerContext, options: ResolveTargetOptions): TargetResolution;
53
+ export declare function createTargetResolverInventory(ctx: AnalyzerContext): TargetResolverInventory;
54
+ export declare function toTargetResolutionMetadata(result: TargetResolution): TargetResolutionMetadata;
55
+ export declare function normalizeTargetPath(filePath: string, projectRoot: string): string;
56
+ export {};
57
+ //# sourceMappingURL=target-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"target-resolver.d.ts","sourceRoot":"","sources":["../../src/analyzers/target-resolver.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAgBlD,MAAM,MAAM,oBAAoB,GAC5B,YAAY,GACZ,gBAAgB,GAChB,iBAAiB,GACjB,iBAAiB,GACjB,eAAe,CAAC;AAEpB,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,oBAAoB,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,UAAU,oBAAoB;IAC5B,SAAS,EAAE;QACT,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,UAAU,EAAE,yBAAyB,EAAE,CAAC;IACxC,WAAW,EAAE,OAAO,CAAC;IACrB,uBAAuB,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,MAAM,gBAAgB,GACxB,CAAC,oBAAoB,GAAG;IACtB,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC,GACF,CAAC,oBAAoB,GAAG;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,oBAAoB,CAAC;CAC5B,CAAC,GACF,CAAC,oBAAoB,GAAG;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC,CAAC;AAEP,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAClC,SAAS,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAC7C,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,oBAAoB,CAAC;QAC3B,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC,CAAC;IACH,WAAW,EAAE,OAAO,CAAC;IACrB,uBAAuB,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC;CACjE;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,OAAO,EAAE,oBAAoB,GAAG,gBAAgB,CAAC;IACzD,eAAe,IAAI,MAAM,EAAE,CAAC;CAC7B;AAgBD,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,oBAAoB,GAC5B,gBAAgB,CAElB;AAED,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,eAAe,GAAG,uBAAuB,CAkB3F;AAsFD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,gBAAgB,GAAG,wBAAwB,CAgB7F;AAsQD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAIjF"}