@yalehwang/archguard 0.1.18 → 0.1.19

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/analysis/test-analyzer.d.ts +19 -0
  2. package/dist/analysis/test-analyzer.d.ts.map +1 -0
  3. package/dist/analysis/test-analyzer.js +169 -0
  4. package/dist/analysis/test-analyzer.js.map +1 -0
  5. package/dist/analysis/test-coverage-mapper.d.ts +6 -0
  6. package/dist/analysis/test-coverage-mapper.d.ts.map +1 -0
  7. package/dist/analysis/test-coverage-mapper.js +42 -0
  8. package/dist/analysis/test-coverage-mapper.js.map +1 -0
  9. package/dist/analysis/test-issue-detector.d.ts +5 -0
  10. package/dist/analysis/test-issue-detector.d.ts.map +1 -0
  11. package/dist/analysis/test-issue-detector.js +45 -0
  12. package/dist/analysis/test-issue-detector.js.map +1 -0
  13. package/dist/cli/analyze/run-analysis.d.ts.map +1 -1
  14. package/dist/cli/analyze/run-analysis.js +61 -0
  15. package/dist/cli/analyze/run-analysis.js.map +1 -1
  16. package/dist/cli/cache-manager.d.ts +4 -0
  17. package/dist/cli/cache-manager.d.ts.map +1 -1
  18. package/dist/cli/cache-manager.js +20 -1
  19. package/dist/cli/cache-manager.js.map +1 -1
  20. package/dist/cli/commands/analyze.d.ts.map +1 -1
  21. package/dist/cli/commands/analyze.js +2 -0
  22. package/dist/cli/commands/analyze.js.map +1 -1
  23. package/dist/cli/mcp/mcp-server.d.ts.map +1 -1
  24. package/dist/cli/mcp/mcp-server.js +2 -0
  25. package/dist/cli/mcp/mcp-server.js.map +1 -1
  26. package/dist/cli/mcp/tools/test-analysis-tools.d.ts +3 -0
  27. package/dist/cli/mcp/tools/test-analysis-tools.d.ts.map +1 -0
  28. package/dist/cli/mcp/tools/test-analysis-tools.js +204 -0
  29. package/dist/cli/mcp/tools/test-analysis-tools.js.map +1 -0
  30. package/dist/cli/processors/diagram-processor.d.ts +5 -1
  31. package/dist/cli/processors/diagram-processor.d.ts.map +1 -1
  32. package/dist/cli/processors/diagram-processor.js +27 -0
  33. package/dist/cli/processors/diagram-processor.js.map +1 -1
  34. package/dist/cli/query/engine-loader.d.ts.map +1 -1
  35. package/dist/cli/query/engine-loader.js +11 -0
  36. package/dist/cli/query/engine-loader.js.map +1 -1
  37. package/dist/cli/query/query-engine.d.ts +3 -1
  38. package/dist/cli/query/query-engine.d.ts.map +1 -1
  39. package/dist/cli/query/query-engine.js +6 -0
  40. package/dist/cli/query/query-engine.js.map +1 -1
  41. package/dist/cli/utils/test-output-writer.d.ts +7 -0
  42. package/dist/cli/utils/test-output-writer.d.ts.map +1 -0
  43. package/dist/cli/utils/test-output-writer.js +71 -0
  44. package/dist/cli/utils/test-output-writer.js.map +1 -0
  45. package/dist/core/interfaces/language-plugin.d.ts +16 -0
  46. package/dist/core/interfaces/language-plugin.d.ts.map +1 -1
  47. package/dist/mermaid/test-coverage-renderer.d.ts +8 -0
  48. package/dist/mermaid/test-coverage-renderer.d.ts.map +1 -0
  49. package/dist/mermaid/test-coverage-renderer.js +74 -0
  50. package/dist/mermaid/test-coverage-renderer.js.map +1 -0
  51. package/dist/plugins/cpp/index.d.ts +4 -1
  52. package/dist/plugins/cpp/index.d.ts.map +1 -1
  53. package/dist/plugins/cpp/index.js +88 -0
  54. package/dist/plugins/cpp/index.js.map +1 -1
  55. package/dist/plugins/golang/index.d.ts +4 -1
  56. package/dist/plugins/golang/index.d.ts.map +1 -1
  57. package/dist/plugins/golang/index.js +56 -0
  58. package/dist/plugins/golang/index.js.map +1 -1
  59. package/dist/plugins/java/index.d.ts +5 -1
  60. package/dist/plugins/java/index.d.ts.map +1 -1
  61. package/dist/plugins/java/index.js +99 -0
  62. package/dist/plugins/java/index.js.map +1 -1
  63. package/dist/plugins/python/index.d.ts +2 -0
  64. package/dist/plugins/python/index.d.ts.map +1 -1
  65. package/dist/plugins/python/index.js +6 -0
  66. package/dist/plugins/python/index.js.map +1 -1
  67. package/dist/plugins/typescript/index.d.ts +4 -1
  68. package/dist/plugins/typescript/index.d.ts.map +1 -1
  69. package/dist/plugins/typescript/index.js +93 -0
  70. package/dist/plugins/typescript/index.js.map +1 -1
  71. package/dist/types/config-cli.d.ts +2 -0
  72. package/dist/types/config-cli.d.ts.map +1 -1
  73. package/dist/types/extensions.d.ts +60 -0
  74. package/dist/types/extensions.d.ts.map +1 -1
  75. package/dist/types/extensions.js +1 -0
  76. package/dist/types/extensions.js.map +1 -1
  77. package/dist/types/index.d.ts +2 -2
  78. package/dist/types/index.d.ts.map +1 -1
  79. package/dist/types/index.js +1 -1
  80. package/dist/types/index.js.map +1 -1
  81. package/package.json +3 -1
@@ -0,0 +1,71 @@
1
+ import path from 'path';
2
+ import fs from 'fs-extra';
3
+ export class TestOutputWriter {
4
+ async write(analysis, outputDir) {
5
+ const testDir = path.join(outputDir, 'test');
6
+ await fs.ensureDir(testDir);
7
+ await this.writeMetrics(analysis, testDir);
8
+ await this.writeIssues(analysis, testDir);
9
+ }
10
+ async writeMetrics(analysis, dir) {
11
+ const lines = [
12
+ '# Test Metrics',
13
+ '',
14
+ `> Pattern config source: ${analysis.patternConfigSource}`,
15
+ '',
16
+ '## Summary',
17
+ '',
18
+ `| Metric | Value |`,
19
+ `|--------|-------|`,
20
+ `| Total test files | ${analysis.metrics.totalTestFiles} |`,
21
+ `| Entity coverage ratio | ${(analysis.metrics.entityCoverageRatio * 100).toFixed(1)}% |`,
22
+ `| Assertion density | ${analysis.metrics.assertionDensity.toFixed(2)} per test |`,
23
+ `| Skip ratio | ${(analysis.metrics.skipRatio * 100).toFixed(1)}% |`,
24
+ '',
25
+ '## Test Files by Type',
26
+ '',
27
+ `| Type | Count |`,
28
+ `|------|-------|`,
29
+ ...Object.entries(analysis.metrics.byType).map(([type, count]) => `| ${type} | ${count} |`),
30
+ '',
31
+ '## Issues by Type',
32
+ '',
33
+ `| Issue | Count |`,
34
+ `|-------|-------|`,
35
+ ...Object.entries(analysis.metrics.issueCount).map(([type, count]) => `| ${type} | ${count} |`),
36
+ ];
37
+ await fs.writeFile(path.join(dir, 'metrics.md'), lines.join('\n') + '\n');
38
+ }
39
+ async writeIssues(analysis, dir) {
40
+ const warnings = analysis.issues.filter((i) => i.severity === 'warning');
41
+ const infos = analysis.issues.filter((i) => i.severity === 'info');
42
+ const lines = ['# Test Issues', ''];
43
+ if (analysis.issues.length === 0) {
44
+ lines.push('No issues detected.');
45
+ }
46
+ else {
47
+ if (warnings.length > 0) {
48
+ lines.push('## Warnings', '');
49
+ for (const issue of warnings) {
50
+ lines.push(`### ${issue.testFileId}`, '');
51
+ lines.push(`**${issue.type}**: ${issue.message}`);
52
+ if (issue.suggestion)
53
+ lines.push(`> ${issue.suggestion}`);
54
+ lines.push('');
55
+ }
56
+ }
57
+ if (infos.length > 0) {
58
+ lines.push('## Info', '');
59
+ for (const issue of infos) {
60
+ lines.push(`### ${issue.testFileId}`, '');
61
+ lines.push(`**${issue.type}**: ${issue.message}`);
62
+ if (issue.suggestion)
63
+ lines.push(`> ${issue.suggestion}`);
64
+ lines.push('');
65
+ }
66
+ }
67
+ }
68
+ await fs.writeFile(path.join(dir, 'issues.md'), lines.join('\n') + '\n');
69
+ }
70
+ }
71
+ //# sourceMappingURL=test-output-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-output-writer.js","sourceRoot":"","sources":["../../../src/cli/utils/test-output-writer.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,25 @@
1
1
  import type { IParser } from './parser.js';
2
2
  import type { IDependencyExtractor } from './dependency.js';
3
3
  import type { IValidator } from './validation.js';
4
+ import type { TestPatternConfig } from '../../types/extensions.js';
5
+ export interface RawTestCase {
6
+ name: string;
7
+ isSkipped: boolean;
8
+ assertionCount: number;
9
+ }
10
+ export interface RawTestFile {
11
+ filePath: string;
12
+ frameworks: string[];
13
+ testTypeHint: 'unit' | 'integration' | 'e2e' | 'performance' | 'unknown';
14
+ testCases: RawTestCase[];
15
+ importedSourceFiles: string[];
16
+ }
4
17
  export interface PluginCapabilities {
5
18
  singleFileParsing: boolean;
6
19
  incrementalParsing: boolean;
7
20
  dependencyExtraction: boolean;
8
21
  typeInference: boolean;
22
+ testStructureExtraction?: boolean;
9
23
  }
10
24
  export interface PluginMetadata {
11
25
  name: string;
@@ -30,5 +44,7 @@ export interface ILanguagePlugin extends IParser {
30
44
  readonly supportedLevels: readonly string[];
31
45
  readonly dependencyExtractor?: IDependencyExtractor;
32
46
  readonly validator?: IValidator;
47
+ isTestFile?(filePath: string, patternConfig?: TestPatternConfig): boolean;
48
+ extractTestStructure?(filePath: string, code: string, patternConfig?: TestPatternConfig): RawTestFile | null;
33
49
  }
34
50
  //# sourceMappingURL=language-plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"language-plugin.d.ts","sourceRoot":"","sources":["../../../src/core/interfaces/language-plugin.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAOlD,MAAM,WAAW,kBAAkB;IAKjC,iBAAiB,EAAE,OAAO,CAAC;IAM3B,kBAAkB,EAAE,OAAO,CAAC;IAM5B,oBAAoB,EAAE,OAAO,CAAC;IAM9B,aAAa,EAAE,OAAO,CAAC;CACxB;AAOD,MAAM,WAAW,cAAc;IAI7B,IAAI,EAAE,MAAM,CAAC;IAKb,OAAO,EAAE,MAAM,CAAC;IAKhB,WAAW,EAAE,MAAM,CAAC;IAKpB,cAAc,EAAE,MAAM,EAAE,CAAC;IAKzB,MAAM,EAAE,MAAM,CAAC;IAKf,UAAU,CAAC,EAAE,MAAM,CAAC;IAKpB,cAAc,EAAE,MAAM,CAAC;IAKvB,YAAY,EAAE,kBAAkB,CAAC;CAClC;AAKD,MAAM,WAAW,gBAAgB;IAI/B,aAAa,EAAE,MAAM,CAAC;IAMtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAKlB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AASD,MAAM,WAAW,eAAgB,SAAQ,OAAO;IAI9C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAclC,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAYpD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAYvC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAQzB,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAQ5C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,oBAAoB,CAAC;IAQpD,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;CACjC"}
1
+ {"version":3,"file":"language-plugin.d.ts","sourceRoot":"","sources":["../../../src/core/interfaces/language-plugin.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAK/D,MAAM,WAAW,WAAW;IAE1B,IAAI,EAAE,MAAM,CAAC;IAEb,SAAS,EAAE,OAAO,CAAC;IAKnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAKD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IAEjB,UAAU,EAAE,MAAM,EAAE,CAAC;IAMrB,YAAY,EAAE,MAAM,GAAG,aAAa,GAAG,KAAK,GAAG,aAAa,GAAG,SAAS,CAAC;IACzE,SAAS,EAAE,WAAW,EAAE,CAAC;IAEzB,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAOD,MAAM,WAAW,kBAAkB;IAKjC,iBAAiB,EAAE,OAAO,CAAC;IAM3B,kBAAkB,EAAE,OAAO,CAAC;IAM5B,oBAAoB,EAAE,OAAO,CAAC;IAM9B,aAAa,EAAE,OAAO,CAAC;IAMvB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAOD,MAAM,WAAW,cAAc;IAI7B,IAAI,EAAE,MAAM,CAAC;IAKb,OAAO,EAAE,MAAM,CAAC;IAKhB,WAAW,EAAE,MAAM,CAAC;IAKpB,cAAc,EAAE,MAAM,EAAE,CAAC;IAKzB,MAAM,EAAE,MAAM,CAAC;IAKf,UAAU,CAAC,EAAE,MAAM,CAAC;IAKpB,cAAc,EAAE,MAAM,CAAC;IAKvB,YAAY,EAAE,kBAAkB,CAAC;CAClC;AAKD,MAAM,WAAW,gBAAgB;IAI/B,aAAa,EAAE,MAAM,CAAC;IAMtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAKlB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AASD,MAAM,WAAW,eAAgB,SAAQ,OAAO;IAI9C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAclC,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAYpD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAYvC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAQzB,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAQ5C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,oBAAoB,CAAC;IAQpD,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;IAYhC,UAAU,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;IAiB1E,oBAAoB,CAAC,CACnB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,aAAa,CAAC,EAAE,iBAAiB,GAChC,WAAW,GAAG,IAAI,CAAC;CACvB"}
@@ -0,0 +1,8 @@
1
+ import type { TestAnalysis } from '../types/extensions.js';
2
+ import type { ArchJSON } from '../types/index.js';
3
+ export declare class TestCoverageRenderer {
4
+ render(analysis: TestAnalysis, archJson: ArchJSON): string;
5
+ private nodeId;
6
+ private truncate;
7
+ }
8
+ //# sourceMappingURL=test-coverage-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-coverage-renderer.d.ts","sourceRoot":"","sources":["../../src/mermaid/test-coverage-renderer.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIjD,qBAAa,oBAAoB;IAC/B,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM;IAuE1D,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,QAAQ;CAGjB"}
@@ -0,0 +1,74 @@
1
+ const MAX_NODES_PER_BUCKET = 20;
2
+ export class TestCoverageRenderer {
3
+ render(analysis, archJson) {
4
+ const coveredMap = new Map();
5
+ for (const link of analysis.coverageMap) {
6
+ coveredMap.set(link.sourceEntityId, link.coverageScore);
7
+ }
8
+ const wellTested = [];
9
+ const partiallyTested = [];
10
+ const notTested = [];
11
+ for (const entity of archJson.entities) {
12
+ if (entity.type === 'class' || entity.type === 'interface') {
13
+ const score = coveredMap.get(entity.id) ?? 0;
14
+ const label = this.truncate(entity.name ?? entity.id, 30);
15
+ if (score >= 0.7)
16
+ wellTested.push(label);
17
+ else if (score >= 0.3)
18
+ partiallyTested.push(label);
19
+ else
20
+ notTested.push(label);
21
+ }
22
+ }
23
+ const debugFiles = analysis.testFiles
24
+ .filter((f) => f.testType === 'debug')
25
+ .map((f) => this.truncate(f.id, 30));
26
+ const lines = ['graph TD'];
27
+ lines.push(' subgraph WT["✓ Well Tested (score ≥ 0.7)"]');
28
+ const wtSlice = wellTested.slice(0, MAX_NODES_PER_BUCKET);
29
+ for (const label of wtSlice) {
30
+ lines.push(` ${this.nodeId(label)}["${label}"]`);
31
+ }
32
+ if (wellTested.length > MAX_NODES_PER_BUCKET) {
33
+ lines.push(` wt_more["... +${wellTested.length - MAX_NODES_PER_BUCKET} more"]`);
34
+ }
35
+ lines.push(' end');
36
+ lines.push(' subgraph PT["~ Partially Tested (0.3 ≤ score < 0.7)"]');
37
+ const ptSlice = partiallyTested.slice(0, MAX_NODES_PER_BUCKET);
38
+ for (const label of ptSlice) {
39
+ lines.push(` ${this.nodeId(label)}["${label}"]`);
40
+ }
41
+ if (partiallyTested.length > MAX_NODES_PER_BUCKET) {
42
+ lines.push(` pt_more["... +${partiallyTested.length - MAX_NODES_PER_BUCKET} more"]`);
43
+ }
44
+ lines.push(' end');
45
+ lines.push(' subgraph NT["✗ Not Tested (score < 0.3)"]');
46
+ const ntSlice = notTested.slice(0, MAX_NODES_PER_BUCKET);
47
+ for (const label of ntSlice) {
48
+ lines.push(` ${this.nodeId(label)}["${label}"]`);
49
+ }
50
+ if (notTested.length > MAX_NODES_PER_BUCKET) {
51
+ lines.push(` nt_more["... +${notTested.length - MAX_NODES_PER_BUCKET} more"]`);
52
+ }
53
+ lines.push(' end');
54
+ if (debugFiles.length > 0) {
55
+ lines.push(' subgraph DO["⚠ Debug Only (zero assertions)"]');
56
+ const doSlice = debugFiles.slice(0, MAX_NODES_PER_BUCKET);
57
+ for (const label of doSlice) {
58
+ lines.push(` ${this.nodeId('do_' + label)}["${label}"]`);
59
+ }
60
+ if (debugFiles.length > MAX_NODES_PER_BUCKET) {
61
+ lines.push(` do_more["... +${debugFiles.length - MAX_NODES_PER_BUCKET} more"]`);
62
+ }
63
+ lines.push(' end');
64
+ }
65
+ return lines.join('\n');
66
+ }
67
+ nodeId(label) {
68
+ return label.replace(/[^a-zA-Z0-9_]/g, '_').replace(/^(\d)/, '_$1');
69
+ }
70
+ truncate(s, maxLen) {
71
+ return s.length > maxLen ? s.slice(0, maxLen - 1) + '\u2026' : s;
72
+ }
73
+ }
74
+ //# sourceMappingURL=test-coverage-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-coverage-renderer.js","sourceRoot":"","sources":["../../src/mermaid/test-coverage-renderer.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import type { ILanguagePlugin, PluginMetadata, PluginInitConfig } from '../../core/interfaces/language-plugin.js';
1
+ import type { ILanguagePlugin, PluginMetadata, PluginInitConfig, RawTestFile } from '../../core/interfaces/language-plugin.js';
2
+ import type { TestPatternConfig } from '../../types/extensions.js';
2
3
  import type { ParseConfig } from '../../core/interfaces/parser.js';
3
4
  import type { ArchJSON } from '../../types/index.js';
4
5
  import type { IDependencyExtractor } from '../../core/interfaces/dependency.js';
@@ -16,6 +17,8 @@ export declare class CppPlugin implements ILanguagePlugin {
16
17
  parseProject(workspaceRoot: string, config: ParseConfig): Promise<ArchJSON>;
17
18
  parseCode(code: string, filePath?: string): ArchJSON;
18
19
  dispose(): Promise<void>;
20
+ isTestFile(filePath: string, _patternConfig?: TestPatternConfig): boolean;
21
+ extractTestStructure(filePath: string, code: string, _patternConfig?: TestPatternConfig): RawTestFile | null;
19
22
  private ensureInitialized;
20
23
  }
21
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/cpp/index.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,gBAAgB,EACjB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAM5E,qBAAa,SAAU,YAAW,eAAe;IAC/C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAa/B;IAEF,QAAQ,CAAC,eAAe,gCAAiC;IAGzD,QAAQ,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;IAEnD,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,WAAW,CAAS;;IAUtB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAe1D,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IA4BhC,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IA8CjF,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAe,GAAG,QAAQ;IA2BpD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,OAAO,CAAC,iBAAiB;CAK1B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/cpp/index.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,WAAW,EAEZ,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAM5E,qBAAa,SAAU,YAAW,eAAe;IAC/C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAc/B;IAEF,QAAQ,CAAC,eAAe,gCAAiC;IAGzD,QAAQ,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;IAEnD,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,WAAW,CAAS;;IAUtB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAe1D,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IA4BhC,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IA8CjF,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAe,GAAG,QAAQ;IA2BpD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,iBAAiB,GAAG,OAAO;IAWzE,oBAAoB,CAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,iBAAiB,GACjC,WAAW,GAAG,IAAI;IAoFrB,OAAO,CAAC,iBAAiB;CAK1B"}
@@ -18,6 +18,7 @@ export class CppPlugin {
18
18
  incrementalParsing: false,
19
19
  dependencyExtraction: true,
20
20
  typeInference: false,
21
+ testStructureExtraction: true,
21
22
  },
22
23
  };
23
24
  supportedLevels = ['package', 'class'];
@@ -104,6 +105,93 @@ export class CppPlugin {
104
105
  async dispose() {
105
106
  this.initialized = false;
106
107
  }
108
+ isTestFile(filePath, _patternConfig) {
109
+ const base = path.basename(filePath);
110
+ const ext = path.extname(base).toLowerCase();
111
+ if (!['.cpp', '.cxx', '.cc'].includes(ext))
112
+ return false;
113
+ if (/^test[-_]/i.test(base) || /[-_]test\./i.test(base) || /Test\./.test(base))
114
+ return true;
115
+ const parts = filePath.replace(/\\/g, '/').split('/');
116
+ return parts.some((p) => p === 'tests' || p === 'test');
117
+ }
118
+ extractTestStructure(filePath, code, _patternConfig) {
119
+ if (!this.isTestFile(filePath))
120
+ return null;
121
+ const frameworks = [];
122
+ if (/#include\s*[<"]gtest\/gtest/.test(code))
123
+ frameworks.push('gtest');
124
+ if (/#include\s*[<"]catch2\//.test(code) || /CATCH_CONFIG_MAIN/.test(code))
125
+ frameworks.push('catch2');
126
+ if (/#include\s*[<"]doctest\.h/.test(code))
127
+ frameworks.push('doctest');
128
+ if (frameworks.length === 0)
129
+ frameworks.push('assert');
130
+ const assertionPatterns = [
131
+ /\bassert\s*\(/g,
132
+ /\bGGML_ASSERT\s*\(/g,
133
+ /\bLLAMA_ASSERT\s*\(/g,
134
+ /\bEXPECT_\w+\s*\(/g,
135
+ /\bASSERT_\w+\s*\(/g,
136
+ /\bREQUIRE\s*\(/g,
137
+ /\bCHECK\s*\(/g,
138
+ ];
139
+ let totalAssertions = 0;
140
+ for (const pat of assertionPatterns) {
141
+ const m = code.match(pat);
142
+ if (m)
143
+ totalAssertions += m.length;
144
+ }
145
+ const testCases = [];
146
+ if (frameworks.includes('gtest')) {
147
+ const re = /\bTEST(?:_F|_P)?\s*\(\s*\w+\s*,\s*(\w+)\s*\)/g;
148
+ let m;
149
+ while ((m = re.exec(code)) !== null) {
150
+ testCases.push({ name: m[1], assertionCount: 0, isSkipped: false });
151
+ }
152
+ }
153
+ else if (frameworks.includes('catch2') || frameworks.includes('doctest')) {
154
+ const re = /\b(?:TEST_CASE|SCENARIO)\s*\(\s*"([^"]+)"/g;
155
+ let m;
156
+ while ((m = re.exec(code)) !== null) {
157
+ testCases.push({ name: m[1], assertionCount: 0, isSkipped: false });
158
+ }
159
+ }
160
+ else {
161
+ const re = /^(?:static\s+)?(?:void|bool|int)\s+((?:test|verify|check)_?\w*)\s*\(/gm;
162
+ let m;
163
+ while ((m = re.exec(code)) !== null) {
164
+ if (m[1] === 'main')
165
+ continue;
166
+ testCases.push({ name: m[1], assertionCount: 0, isSkipped: false });
167
+ }
168
+ if (testCases.length === 0 && /\bint\s+main\s*\(/.test(code)) {
169
+ testCases.push({ name: path.basename(filePath, path.extname(filePath)), assertionCount: totalAssertions, isSkipped: false });
170
+ }
171
+ }
172
+ if (testCases.length === 0)
173
+ return null;
174
+ const assertionsPerCase = testCases.length > 0 ? Math.round(totalAssertions / testCases.length) : 0;
175
+ for (const tc of testCases) {
176
+ if (tc.assertionCount === 0)
177
+ tc.assertionCount = assertionsPerCase;
178
+ }
179
+ const importedSourceFiles = [];
180
+ const includeRe = /^#include\s+"([^"]+)"/gm;
181
+ let im;
182
+ while ((im = includeRe.exec(code)) !== null) {
183
+ importedSourceFiles.push(im[1]);
184
+ }
185
+ const isBenchmark = /benchmark|bench|perf/i.test(path.basename(filePath));
186
+ const testTypeHint = isBenchmark ? 'performance' : 'unit';
187
+ return {
188
+ filePath,
189
+ frameworks,
190
+ testTypeHint,
191
+ testCases,
192
+ importedSourceFiles,
193
+ };
194
+ }
107
195
  ensureInitialized() {
108
196
  if (!this.initialized) {
109
197
  throw new Error('CppPlugin not initialized. Call initialize() first.');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/cpp/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/cpp/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import type { ILanguagePlugin, PluginMetadata, PluginInitConfig } from '../../core/interfaces/language-plugin.js';
1
+ import type { ILanguagePlugin, PluginMetadata, PluginInitConfig, RawTestFile } from '../../core/interfaces/language-plugin.js';
2
+ import type { TestPatternConfig } from '../../types/extensions.js';
2
3
  import type { ParseConfig } from '../../core/interfaces/parser.js';
3
4
  import type { ArchJSON } from '../../types/index.js';
4
5
  import type { IDependencyExtractor } from '../../core/interfaces/dependency.js';
@@ -35,6 +36,8 @@ export declare class GoPlugin implements ILanguagePlugin, IGoAtlas {
35
36
  dispose(): Promise<void>;
36
37
  private buildAtlasFromRawData;
37
38
  private ensureInitialized;
39
+ isTestFile(filePath: string, _patternConfig?: TestPatternConfig): boolean;
40
+ extractTestStructure(filePath: string, code: string, _patternConfig?: TestPatternConfig): RawTestFile | null;
38
41
  private readModuleName;
39
42
  }
40
43
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/golang/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,gBAAgB,EACjB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAE5E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAKtE,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,YAAY,CAAC;AAK1D,OAAO,KAAK,EACV,mBAAmB,EAEnB,sBAAsB,EACtB,UAAU,EACV,YAAY,EACZ,YAAY,EACb,MAAM,kBAAkB,CAAC;AAI1B,YAAY,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AA2B5E,MAAM,WAAW,QAAQ;IACvB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChG,WAAW,CACT,KAAK,EAAE,mBAAmB,EAC1B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,YAAY,CAAC,CAAC;CAC1B;AAcD,qBAAa,QAAS,YAAW,eAAe,EAAE,QAAQ;IACxD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAc/B;IAEF,QAAQ,CAAC,eAAe,0DAA2D;IAEnF,QAAQ,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;IAGnD,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAM;IAG3B,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,aAAa,CAAiB;;IAShC,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BzD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAyBtC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAoB,GAAG,QAAQ;IAyB3D,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IAkFlD,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAoF3E,cAAc,CAClB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,WAAW,GAAG,sBAAsB,GAC3C,OAAO,CAAC,SAAS,CAAC;IA0Gf,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,mBAAmB,CAAC;IAgCzB,WAAW,CACf,KAAK,EAAE,mBAAmB,EAC1B,KAAK,GAAE,UAAkB,EACzB,MAAM,GAAE,YAAwB,GAC/B,OAAO,CAAC,YAAY,CAAC;IAOlB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAoBhB,qBAAqB;IA6EnC,OAAO,CAAC,iBAAiB;YAMX,cAAc;CAS7B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/golang/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,WAAW,EAEZ,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAE5E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAKtE,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,YAAY,CAAC;AAK1D,OAAO,KAAK,EACV,mBAAmB,EAEnB,sBAAsB,EACtB,UAAU,EACV,YAAY,EACZ,YAAY,EACb,MAAM,kBAAkB,CAAC;AAI1B,YAAY,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AA2B5E,MAAM,WAAW,QAAQ;IACvB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChG,WAAW,CACT,KAAK,EAAE,mBAAmB,EAC1B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,YAAY,CAAC,CAAC;CAC1B;AAcD,qBAAa,QAAS,YAAW,eAAe,EAAE,QAAQ;IACxD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAe/B;IAEF,QAAQ,CAAC,eAAe,0DAA2D;IAEnF,QAAQ,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;IAGnD,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAM;IAG3B,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,aAAa,CAAiB;;IAShC,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BzD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAyBtC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAoB,GAAG,QAAQ;IAyB3D,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IAkFlD,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAoF3E,cAAc,CAClB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,WAAW,GAAG,sBAAsB,GAC3C,OAAO,CAAC,SAAS,CAAC;IA0Gf,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,mBAAmB,CAAC;IAgCzB,WAAW,CACf,KAAK,EAAE,mBAAmB,EAC1B,KAAK,GAAE,UAAkB,EACzB,MAAM,GAAE,YAAwB,GAC/B,OAAO,CAAC,YAAY,CAAC;IAOlB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAoBhB,qBAAqB;IA6EnC,OAAO,CAAC,iBAAiB;IAMzB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,iBAAiB,GAAG,OAAO;IAIzE,oBAAoB,CAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,iBAAiB,GACjC,WAAW,GAAG,IAAI;YA8DP,cAAc;CAS7B"}
@@ -39,6 +39,7 @@ export class GoPlugin {
39
39
  incrementalParsing: false,
40
40
  dependencyExtraction: true,
41
41
  typeInference: true,
42
+ testStructureExtraction: true,
42
43
  },
43
44
  };
44
45
  supportedLevels = ['package', 'capability', 'goroutine', 'flow'];
@@ -380,6 +381,61 @@ export class GoPlugin {
380
381
  throw new Error('GoPlugin not initialized. Call initialize() first.');
381
382
  }
382
383
  }
384
+ isTestFile(filePath, _patternConfig) {
385
+ return filePath.endsWith('_test.go');
386
+ }
387
+ extractTestStructure(filePath, code, _patternConfig) {
388
+ if (!this.isTestFile(filePath))
389
+ return null;
390
+ const frameworks = [];
391
+ const importBlock = code.match(/import\s*\(([^)]*)\)/s)?.[1] ?? '';
392
+ if (/testify\/assert|testify\/require/.test(importBlock))
393
+ frameworks.push('testify');
394
+ if (/testing\/quick/.test(importBlock))
395
+ frameworks.push('testing/quick');
396
+ if (!frameworks.includes('testify'))
397
+ frameworks.push('testing');
398
+ const fnRegex = /^func\s+(Test\w*|Benchmark\w*|Example\w*|Fuzz\w*)\s*\(/gm;
399
+ const testCases = [];
400
+ let match;
401
+ while ((match = fnRegex.exec(code)) !== null) {
402
+ const name = match[1];
403
+ const isSkipped = new RegExp(`func\\s+${name}[^{]*\\{[^}]*t\\.Skip`, 's').test(code);
404
+ const isBenchmark = name.startsWith('Benchmark');
405
+ const assertPatterns = [
406
+ /\bassert\.\w+\s*\(/g,
407
+ /\brequire\.\w+\s*\(/g,
408
+ /\bt\.(?:Error|Errorf|Fatal|Fatalf|Fail|FailNow)\s*\(/g,
409
+ ];
410
+ let assertionCount = 0;
411
+ for (const pat of assertPatterns) {
412
+ const all = code.match(pat);
413
+ if (all)
414
+ assertionCount += all.length;
415
+ }
416
+ testCases.push({ name, assertionCount: isBenchmark ? 0 : assertionCount, isSkipped });
417
+ }
418
+ if (testCases.length === 0)
419
+ return null;
420
+ const importedSourceFiles = [];
421
+ const importLineRegex = /^\s*(?:\w+\s+)?"([^"]+)"/gm;
422
+ while ((match = importLineRegex.exec(importBlock)) !== null) {
423
+ const pkg = match[1];
424
+ if (!pkg.includes('/') || pkg.startsWith('github.com/') || pkg.startsWith('golang.org/')) {
425
+ continue;
426
+ }
427
+ importedSourceFiles.push(pkg);
428
+ }
429
+ const hasBenchmark = /^func\s+Benchmark\w*\s*\(/m.test(code);
430
+ const testTypeHint = hasBenchmark ? 'performance' : 'unit';
431
+ return {
432
+ filePath,
433
+ frameworks,
434
+ testTypeHint,
435
+ testCases,
436
+ importedSourceFiles,
437
+ };
438
+ }
383
439
  async readModuleName(workspaceRoot) {
384
440
  try {
385
441
  const goModContent = await fs.readFile(`${workspaceRoot}/go.mod`, 'utf-8');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/golang/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/golang/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
- import type { ILanguagePlugin, PluginMetadata, PluginInitConfig } from '../../core/interfaces/language-plugin.js';
1
+ import type { ILanguagePlugin, PluginMetadata, PluginInitConfig, RawTestFile } from '../../core/interfaces/language-plugin.js';
2
2
  import type { ParseConfig } from '../../core/interfaces/parser.js';
3
3
  import type { IDependencyExtractor } from '../../core/interfaces/dependency.js';
4
4
  import type { ArchJSON } from '../../types/index.js';
5
+ import type { TestPatternConfig } from '../../types/extensions.js';
5
6
  export declare class JavaPlugin implements ILanguagePlugin {
6
7
  readonly metadata: PluginMetadata;
7
8
  readonly supportedLevels: readonly ["package", "class", "method"];
@@ -15,6 +16,9 @@ export declare class JavaPlugin implements ILanguagePlugin {
15
16
  parseProject(workspaceRoot: string, config: ParseConfig): Promise<ArchJSON>;
16
17
  parseCode(code: string, filePath?: string): ArchJSON;
17
18
  parseFiles(filePaths: string[]): Promise<ArchJSON>;
19
+ isTestFile(filePath: string): boolean;
20
+ extractTestStructure(filePath: string, code: string, _patternConfig?: TestPatternConfig): RawTestFile | null;
21
+ private countJavaAssertions;
18
22
  dispose(): Promise<void>;
19
23
  private ensureInitialized;
20
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/java/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,gBAAgB,EACjB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAajD,qBAAa,UAAW,YAAW,eAAe;IAChD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAc/B;IAEF,QAAQ,CAAC,eAAe,0CAA2C;IAEnE,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,WAAW,CAAS;IAK5B,IAAI,mBAAmB,IAAI,oBAAoB,GAAG,SAAS,CAG1D;IAKK,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAezD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IA2BhC,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAqDjF,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAsB,GAAG,QAAQ;IAmC7D,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IA4ClD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAO9B,OAAO,CAAC,iBAAiB;CAK1B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/java/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,WAAW,EAEZ,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAa/D,qBAAa,UAAW,YAAW,eAAe;IAChD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAe/B;IAEF,QAAQ,CAAC,eAAe,0CAA2C;IAEnE,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,WAAW,CAAS;IAK5B,IAAI,mBAAmB,IAAI,oBAAoB,GAAG,SAAS,CAG1D;IAKK,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAezD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IA2BhC,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAsDjF,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAsB,GAAG,QAAQ;IAmC7D,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IAyCxD,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAarC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,iBAAiB,GAAG,WAAW,GAAG,IAAI;IAkE5G,OAAO,CAAC,mBAAmB;IAsBrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAO9B,OAAO,CAAC,iBAAiB;CAK1B"}