@vibe-validate/extractors 0.16.1 → 0.17.0-rc.10
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.
- package/dist/extractor-registry.d.ts +103 -0
- package/dist/extractor-registry.d.ts.map +1 -0
- package/dist/extractor-registry.js +278 -0
- package/dist/extractor-registry.js.map +1 -0
- package/dist/extractors/ava/index.d.ts +23 -0
- package/dist/extractors/ava/index.d.ts.map +1 -0
- package/dist/extractors/ava/index.js +507 -0
- package/dist/extractors/ava/index.js.map +1 -0
- package/dist/extractors/ava/index.test.d.ts +7 -0
- package/dist/extractors/ava/index.test.d.ts.map +1 -0
- package/dist/extractors/ava/index.test.js +408 -0
- package/dist/extractors/ava/index.test.js.map +1 -0
- package/dist/extractors/eslint/index.d.ts +18 -0
- package/dist/extractors/eslint/index.d.ts.map +1 -0
- package/dist/extractors/eslint/index.js +206 -0
- package/dist/extractors/eslint/index.js.map +1 -0
- package/dist/extractors/eslint/index.test.d.ts +9 -0
- package/dist/extractors/eslint/index.test.d.ts.map +1 -0
- package/dist/extractors/eslint/index.test.js +191 -0
- package/dist/extractors/eslint/index.test.js.map +1 -0
- package/dist/extractors/generic/index.d.ts +30 -0
- package/dist/extractors/generic/index.d.ts.map +1 -0
- package/dist/extractors/generic/index.js +140 -0
- package/dist/extractors/generic/index.js.map +1 -0
- package/dist/extractors/generic/index.test.d.ts +7 -0
- package/dist/extractors/generic/index.test.d.ts.map +1 -0
- package/dist/extractors/generic/index.test.js +61 -0
- package/dist/extractors/generic/index.test.js.map +1 -0
- package/dist/extractors/jasmine/index.d.ts +17 -0
- package/dist/extractors/jasmine/index.d.ts.map +1 -0
- package/dist/extractors/jasmine/index.js +254 -0
- package/dist/extractors/jasmine/index.js.map +1 -0
- package/dist/extractors/jasmine/index.test.d.ts +7 -0
- package/dist/extractors/jasmine/index.test.d.ts.map +1 -0
- package/dist/extractors/jasmine/index.test.js +345 -0
- package/dist/extractors/jasmine/index.test.js.map +1 -0
- package/dist/extractors/jest/index.d.ts +17 -0
- package/dist/extractors/jest/index.d.ts.map +1 -0
- package/dist/extractors/jest/index.js +278 -0
- package/dist/extractors/jest/index.js.map +1 -0
- package/dist/extractors/jest/index.test.d.ts +9 -0
- package/dist/extractors/jest/index.test.d.ts.map +1 -0
- package/dist/extractors/jest/index.test.js +353 -0
- package/dist/extractors/jest/index.test.js.map +1 -0
- package/dist/extractors/junit/index.d.ts +18 -0
- package/dist/extractors/junit/index.d.ts.map +1 -0
- package/dist/extractors/junit/index.js +259 -0
- package/dist/extractors/junit/index.js.map +1 -0
- package/dist/extractors/junit/index.test.d.ts +7 -0
- package/dist/extractors/junit/index.test.d.ts.map +1 -0
- package/dist/extractors/junit/index.test.js +341 -0
- package/dist/extractors/junit/index.test.js.map +1 -0
- package/dist/extractors/maven-checkstyle/index.d.ts +23 -0
- package/dist/extractors/maven-checkstyle/index.d.ts.map +1 -0
- package/dist/extractors/maven-checkstyle/index.js +263 -0
- package/dist/extractors/maven-checkstyle/index.js.map +1 -0
- package/dist/extractors/maven-checkstyle/index.test.d.ts +2 -0
- package/dist/extractors/maven-checkstyle/index.test.d.ts.map +1 -0
- package/dist/extractors/maven-checkstyle/index.test.js +197 -0
- package/dist/extractors/maven-checkstyle/index.test.js.map +1 -0
- package/dist/extractors/maven-compiler/index.d.ts +23 -0
- package/dist/extractors/maven-compiler/index.d.ts.map +1 -0
- package/dist/extractors/maven-compiler/index.js +271 -0
- package/dist/extractors/maven-compiler/index.js.map +1 -0
- package/dist/extractors/maven-compiler/index.test.d.ts +2 -0
- package/dist/extractors/maven-compiler/index.test.d.ts.map +1 -0
- package/dist/extractors/maven-compiler/index.test.js +189 -0
- package/dist/extractors/maven-compiler/index.test.js.map +1 -0
- package/dist/extractors/maven-surefire/index.d.ts +23 -0
- package/dist/extractors/maven-surefire/index.d.ts.map +1 -0
- package/dist/extractors/maven-surefire/index.js +292 -0
- package/dist/extractors/maven-surefire/index.js.map +1 -0
- package/dist/extractors/maven-surefire/index.test.d.ts +2 -0
- package/dist/extractors/maven-surefire/index.test.d.ts.map +1 -0
- package/dist/extractors/maven-surefire/index.test.js +169 -0
- package/dist/extractors/maven-surefire/index.test.js.map +1 -0
- package/dist/extractors/mocha/index.d.ts +17 -0
- package/dist/extractors/mocha/index.d.ts.map +1 -0
- package/dist/extractors/mocha/index.js +241 -0
- package/dist/extractors/mocha/index.js.map +1 -0
- package/dist/extractors/mocha/index.test.d.ts +7 -0
- package/dist/extractors/mocha/index.test.d.ts.map +1 -0
- package/dist/extractors/mocha/index.test.js +300 -0
- package/dist/extractors/mocha/index.test.js.map +1 -0
- package/dist/extractors/playwright/index.d.ts +17 -0
- package/dist/extractors/playwright/index.d.ts.map +1 -0
- package/dist/extractors/playwright/index.js +320 -0
- package/dist/extractors/playwright/index.js.map +1 -0
- package/dist/extractors/playwright/index.test.d.ts +7 -0
- package/dist/extractors/playwright/index.test.d.ts.map +1 -0
- package/dist/extractors/playwright/index.test.js +274 -0
- package/dist/extractors/playwright/index.test.js.map +1 -0
- package/dist/extractors/tap/index.d.ts +23 -0
- package/dist/extractors/tap/index.d.ts.map +1 -0
- package/dist/extractors/tap/index.js +352 -0
- package/dist/extractors/tap/index.js.map +1 -0
- package/dist/extractors/tap/index.test.d.ts +7 -0
- package/dist/extractors/tap/index.test.d.ts.map +1 -0
- package/dist/extractors/tap/index.test.js +100 -0
- package/dist/extractors/tap/index.test.js.map +1 -0
- package/dist/extractors/typescript/index.d.ts +17 -0
- package/dist/extractors/typescript/index.d.ts.map +1 -0
- package/dist/extractors/typescript/index.js +150 -0
- package/dist/extractors/typescript/index.js.map +1 -0
- package/dist/extractors/typescript/index.test.d.ts +9 -0
- package/dist/extractors/typescript/index.test.d.ts.map +1 -0
- package/dist/extractors/typescript/index.test.js +177 -0
- package/dist/extractors/typescript/index.test.js.map +1 -0
- package/dist/extractors/vitest/index.d.ts +17 -0
- package/dist/extractors/vitest/index.d.ts.map +1 -0
- package/dist/extractors/vitest/index.js +564 -0
- package/dist/extractors/vitest/index.js.map +1 -0
- package/dist/extractors/vitest/index.test.d.ts +9 -0
- package/dist/extractors/vitest/index.test.d.ts.map +1 -0
- package/dist/extractors/vitest/index.test.js +373 -0
- package/dist/extractors/vitest/index.test.js.map +1 -0
- package/dist/index.d.ts +27 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -11
- package/dist/index.js.map +1 -1
- package/dist/maven-checkstyle-extractor.d.ts +20 -0
- package/dist/maven-checkstyle-extractor.d.ts.map +1 -0
- package/dist/maven-checkstyle-extractor.js +208 -0
- package/dist/maven-checkstyle-extractor.js.map +1 -0
- package/dist/maven-compiler-extractor.d.ts +20 -0
- package/dist/maven-compiler-extractor.d.ts.map +1 -0
- package/dist/maven-compiler-extractor.js +218 -0
- package/dist/maven-compiler-extractor.js.map +1 -0
- package/dist/maven-surefire-extractor.d.ts +20 -0
- package/dist/maven-surefire-extractor.d.ts.map +1 -0
- package/dist/maven-surefire-extractor.js +228 -0
- package/dist/maven-surefire-extractor.js.map +1 -0
- package/dist/maven-utils.d.ts +24 -0
- package/dist/maven-utils.d.ts.map +1 -0
- package/dist/maven-utils.js +36 -0
- package/dist/maven-utils.js.map +1 -0
- package/dist/plugin-loader.d.ts +82 -0
- package/dist/plugin-loader.d.ts.map +1 -0
- package/dist/plugin-loader.js +201 -0
- package/dist/plugin-loader.js.map +1 -0
- package/dist/result-schema.d.ts +59 -9
- package/dist/result-schema.d.ts.map +1 -1
- package/dist/result-schema.js +3 -19
- package/dist/result-schema.js.map +1 -1
- package/dist/sandbox.d.ts +161 -0
- package/dist/sandbox.d.ts.map +1 -0
- package/dist/sandbox.js +254 -0
- package/dist/sandbox.js.map +1 -0
- package/dist/sandbox.test.d.ts +8 -0
- package/dist/sandbox.test.d.ts.map +1 -0
- package/dist/sandbox.test.js +395 -0
- package/dist/sandbox.test.js.map +1 -0
- package/dist/sandboxed-extractor.d.ts +46 -0
- package/dist/sandboxed-extractor.d.ts.map +1 -0
- package/dist/sandboxed-extractor.js +172 -0
- package/dist/sandboxed-extractor.js.map +1 -0
- package/dist/sandboxed-extractor.test.d.ts +5 -0
- package/dist/sandboxed-extractor.test.d.ts.map +1 -0
- package/dist/sandboxed-extractor.test.js +346 -0
- package/dist/sandboxed-extractor.test.js.map +1 -0
- package/dist/smart-extractor.d.ts +22 -10
- package/dist/smart-extractor.d.ts.map +1 -1
- package/dist/smart-extractor.js +116 -163
- package/dist/smart-extractor.js.map +1 -1
- package/dist/types.d.ts +94 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1,373 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vitest Extractor Plugin Tests
|
|
3
|
+
*
|
|
4
|
+
* Tests Vitest/Jest test failure parsing and formatting.
|
|
5
|
+
*
|
|
6
|
+
* @package @vibe-validate/extractors
|
|
7
|
+
*/
|
|
8
|
+
import { describe, it, expect } from 'vitest';
|
|
9
|
+
import vitestPlugin from './index.js';
|
|
10
|
+
const { extract, detect } = vitestPlugin;
|
|
11
|
+
describe('Vitest Extractor Plugin', () => {
|
|
12
|
+
describe('detect', () => {
|
|
13
|
+
it('should detect Vitest test failures with high confidence', () => {
|
|
14
|
+
const output = `
|
|
15
|
+
FAIL test/unit/config/environment.test.ts > EnvironmentConfig > should parse HTTP_PORT
|
|
16
|
+
AssertionError: expected 3000 to be 9999 // Object.is equality
|
|
17
|
+
❯ test/unit/config/environment.test.ts:57:30
|
|
18
|
+
`.trim();
|
|
19
|
+
const result = detect(output);
|
|
20
|
+
expect(result.confidence).toBeGreaterThanOrEqual(70);
|
|
21
|
+
expect(result.patterns.length).toBeGreaterThan(0);
|
|
22
|
+
expect(result.reason).toContain('Vitest');
|
|
23
|
+
});
|
|
24
|
+
it('should detect multiple Vitest patterns with higher confidence', () => {
|
|
25
|
+
const output = `
|
|
26
|
+
❯ test/unit/config/environment.test.ts (1)
|
|
27
|
+
× should parse HTTP_PORT
|
|
28
|
+
AssertionError: expected 3000 to be 9999
|
|
29
|
+
`.trim();
|
|
30
|
+
const result = detect(output);
|
|
31
|
+
expect(result.confidence).toBe(90);
|
|
32
|
+
});
|
|
33
|
+
it('should not detect non-Vitest output', () => {
|
|
34
|
+
const output = `Some random text without test failures`;
|
|
35
|
+
const result = detect(output);
|
|
36
|
+
expect(result.confidence).toBe(0);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
describe('extract', () => {
|
|
40
|
+
it('should parse single Vitest test failure', () => {
|
|
41
|
+
const output = `
|
|
42
|
+
FAIL test/unit/config/environment.test.ts > EnvironmentConfig > should parse HTTP_PORT
|
|
43
|
+
AssertionError: expected 3000 to be 9999 // Object.is equality
|
|
44
|
+
❯ test/unit/config/environment.test.ts:57:30
|
|
45
|
+
55| const config = parseEnvironmentConfig();
|
|
46
|
+
56|
|
|
47
|
+
57| expect(config.HTTP_PORT).toBe(9999);
|
|
48
|
+
| ^
|
|
49
|
+
58| });
|
|
50
|
+
59|
|
|
51
|
+
`.trim();
|
|
52
|
+
const result = extract(output);
|
|
53
|
+
expect(result.errors).toHaveLength(1);
|
|
54
|
+
expect(result.errors[0].file).toBe('test/unit/config/environment.test.ts');
|
|
55
|
+
expect(result.errors[0].line).toBe(57);
|
|
56
|
+
expect(result.errors[0].column).toBe(30);
|
|
57
|
+
expect(result.summary).toBe('1 test failure(s)');
|
|
58
|
+
expect(result.totalErrors).toBe(1);
|
|
59
|
+
});
|
|
60
|
+
it('should extract test hierarchy and error message', () => {
|
|
61
|
+
const output = `
|
|
62
|
+
FAIL test/unit/config/environment.test.ts > EnvironmentConfig > should parse HTTP_PORT correctly
|
|
63
|
+
AssertionError: expected 3000 to be 9999
|
|
64
|
+
❯ test/unit/config/environment.test.ts:57:30
|
|
65
|
+
`.trim();
|
|
66
|
+
const result = extract(output);
|
|
67
|
+
// Message should contain the actual error, not just the test hierarchy
|
|
68
|
+
expect(result.errors[0].message).toContain('AssertionError: expected 3000 to be 9999');
|
|
69
|
+
// Test hierarchy is captured in errorSummary, not in message
|
|
70
|
+
expect(result.errorSummary).toContain('EnvironmentConfig > should parse HTTP_PORT correctly');
|
|
71
|
+
});
|
|
72
|
+
it('should extract error message', () => {
|
|
73
|
+
const output = `
|
|
74
|
+
FAIL test/unit/config/environment.test.ts > EnvironmentConfig > test
|
|
75
|
+
AssertionError: expected 3000 to be 9999 // Object.is equality
|
|
76
|
+
❯ test/unit/config/environment.test.ts:57:30
|
|
77
|
+
`.trim();
|
|
78
|
+
const result = extract(output);
|
|
79
|
+
expect(result.errors[0].message).toContain('expected 3000 to be 9999 // Object.is equality');
|
|
80
|
+
});
|
|
81
|
+
it('should extract source line', () => {
|
|
82
|
+
const output = `
|
|
83
|
+
FAIL test/unit/config/environment.test.ts > EnvironmentConfig > test
|
|
84
|
+
AssertionError: expected 3000 to be 9999
|
|
85
|
+
❯ test/unit/config/environment.test.ts:57:30
|
|
86
|
+
55| const config = parseEnvironmentConfig();
|
|
87
|
+
56|
|
|
88
|
+
57| expect(config.HTTP_PORT).toBe(9999);
|
|
89
|
+
| ^
|
|
90
|
+
58| });
|
|
91
|
+
`.trim();
|
|
92
|
+
const result = extract(output);
|
|
93
|
+
// Vitest extractor extracts source lines (any line with line number)
|
|
94
|
+
expect(result.errorSummary).toMatch(/\d+\|/); // Contains at least one line with line number
|
|
95
|
+
expect(result.errors).toHaveLength(1);
|
|
96
|
+
expect(result.errors[0].file).toBe('test/unit/config/environment.test.ts');
|
|
97
|
+
});
|
|
98
|
+
it('should parse multiple test failures', () => {
|
|
99
|
+
const output = `
|
|
100
|
+
FAIL test/unit/config/environment.test.ts > EnvironmentConfig > test 1
|
|
101
|
+
AssertionError: expected 3000 to be 9999
|
|
102
|
+
❯ test/unit/config/environment.test.ts:57:30
|
|
103
|
+
57| expect(config.HTTP_PORT).toBe(9999);
|
|
104
|
+
|
|
105
|
+
FAIL test/unit/auth/factory.test.ts > AuthFactory > test 2
|
|
106
|
+
Error: Cannot create auth provider
|
|
107
|
+
❯ test/unit/auth/factory.test.ts:100:15
|
|
108
|
+
100| expect(() => factory.create()).toThrow();
|
|
109
|
+
|
|
110
|
+
FAIL test/unit/session/manager.test.ts > SessionManager > test 3
|
|
111
|
+
AssertionError: expected undefined to be defined
|
|
112
|
+
❯ test/unit/session/manager.test.ts:200:25
|
|
113
|
+
200| expect(session).toBeDefined();
|
|
114
|
+
`.trim();
|
|
115
|
+
const result = extract(output);
|
|
116
|
+
expect(result.errors).toHaveLength(3);
|
|
117
|
+
expect(result.summary).toBe('3 test failure(s)');
|
|
118
|
+
expect(result.totalErrors).toBe(3);
|
|
119
|
+
expect(result.errors[0].file).toBe('test/unit/config/environment.test.ts');
|
|
120
|
+
expect(result.errors[1].file).toBe('test/unit/auth/factory.test.ts');
|
|
121
|
+
expect(result.errors[2].file).toBe('test/unit/session/manager.test.ts');
|
|
122
|
+
});
|
|
123
|
+
it('should limit output to first 10 failures', () => {
|
|
124
|
+
// Generate 15 test failures
|
|
125
|
+
const failures = Array.from({ length: 15 }, (_, i) => `
|
|
126
|
+
FAIL test/unit/file${i}.test.ts > TestSuite > test ${i}
|
|
127
|
+
AssertionError: expected ${i} to be ${i + 1}
|
|
128
|
+
❯ test/unit/file${i}.test.ts:${i + 10}:30
|
|
129
|
+
${i + 10}| expect(value).toBe(${i + 1});
|
|
130
|
+
`).join('\n');
|
|
131
|
+
const result = extract(failures);
|
|
132
|
+
expect(result.totalErrors).toBe(15);
|
|
133
|
+
expect(result.errors).toHaveLength(10);
|
|
134
|
+
});
|
|
135
|
+
it('should extract expected and actual values', () => {
|
|
136
|
+
const output = `
|
|
137
|
+
FAIL test/unit/config/environment.test.ts > EnvironmentConfig > test
|
|
138
|
+
AssertionError: expected 3000 to be 9999
|
|
139
|
+
|
|
140
|
+
- Expected
|
|
141
|
+
"9999"
|
|
142
|
+
|
|
143
|
+
+ Received
|
|
144
|
+
"3000"
|
|
145
|
+
|
|
146
|
+
❯ test/unit/config/environment.test.ts:57:30
|
|
147
|
+
`.trim();
|
|
148
|
+
const result = extract(output);
|
|
149
|
+
// Expected/actual values are extracted and shown in clean output
|
|
150
|
+
expect(result.errorSummary).toBeDefined();
|
|
151
|
+
expect(result.errors).toHaveLength(1);
|
|
152
|
+
});
|
|
153
|
+
it('should generate single test failure guidance', () => {
|
|
154
|
+
const output = `
|
|
155
|
+
FAIL test/unit/config/environment.test.ts > EnvironmentConfig > test
|
|
156
|
+
AssertionError: expected 3000 to be 9999
|
|
157
|
+
❯ test/unit/config/environment.test.ts:57:30
|
|
158
|
+
`.trim();
|
|
159
|
+
const result = extract(output);
|
|
160
|
+
expect(result.guidance).toContain('1 test(s) failed');
|
|
161
|
+
expect(result.guidance).toContain('Fix the assertion in the test file at the location shown');
|
|
162
|
+
expect(result.guidance).toContain('npm test -- <test-file>');
|
|
163
|
+
});
|
|
164
|
+
it('should generate multiple test failure guidance', () => {
|
|
165
|
+
const output = `
|
|
166
|
+
FAIL test/unit/config/environment.test.ts > EnvironmentConfig > test 1
|
|
167
|
+
AssertionError: error 1
|
|
168
|
+
❯ test/unit/config/environment.test.ts:57:30
|
|
169
|
+
|
|
170
|
+
FAIL test/unit/auth/factory.test.ts > AuthFactory > test 2
|
|
171
|
+
Error: error 2
|
|
172
|
+
❯ test/unit/auth/factory.test.ts:100:15
|
|
173
|
+
`.trim();
|
|
174
|
+
const result = extract(output);
|
|
175
|
+
expect(result.guidance).toContain('2 test(s) failed');
|
|
176
|
+
expect(result.guidance).toContain('Fix each failing test individually');
|
|
177
|
+
});
|
|
178
|
+
it('should generate guidance for single failure', () => {
|
|
179
|
+
const output = `
|
|
180
|
+
FAIL test/unit/config/environment.test.ts > EnvironmentConfig > test
|
|
181
|
+
AssertionError: expected 3000 to be 9999
|
|
182
|
+
|
|
183
|
+
❯ test/unit/config/environment.test.ts:57:30
|
|
184
|
+
`.trim();
|
|
185
|
+
const result = extract(output);
|
|
186
|
+
expect(result.guidance).toContain('1 test(s) failed');
|
|
187
|
+
expect(result.guidance).toContain('Fix the assertion in the test file');
|
|
188
|
+
});
|
|
189
|
+
it('should handle empty output', () => {
|
|
190
|
+
const result = extract('');
|
|
191
|
+
expect(result.errors).toHaveLength(0);
|
|
192
|
+
expect(result.summary).toBe('0 test failure(s)');
|
|
193
|
+
expect(result.totalErrors).toBe(0);
|
|
194
|
+
});
|
|
195
|
+
it('should handle output with no test failures', () => {
|
|
196
|
+
const output = `
|
|
197
|
+
✓ test/unit/config/environment.test.ts > EnvironmentConfig > test 1 (5ms)
|
|
198
|
+
✓ test/unit/auth/factory.test.ts > AuthFactory > test 2 (3ms)
|
|
199
|
+
✓ test/unit/session/manager.test.ts > SessionManager > test 3 (2ms)
|
|
200
|
+
|
|
201
|
+
Test Files 3 passed (3)
|
|
202
|
+
Tests 3 passed (3)
|
|
203
|
+
`.trim();
|
|
204
|
+
const result = extract(output);
|
|
205
|
+
expect(result.errors).toHaveLength(0);
|
|
206
|
+
expect(result.totalErrors).toBe(0);
|
|
207
|
+
});
|
|
208
|
+
it('should handle Jest output format', () => {
|
|
209
|
+
const output = `
|
|
210
|
+
FAIL test/unit/config/environment.test.ts
|
|
211
|
+
EnvironmentConfig
|
|
212
|
+
✕ should parse HTTP_PORT (5ms)
|
|
213
|
+
|
|
214
|
+
● EnvironmentConfig › should parse HTTP_PORT
|
|
215
|
+
|
|
216
|
+
expect(received).toBe(expected) // Object.is equality
|
|
217
|
+
|
|
218
|
+
Expected: 9999
|
|
219
|
+
Received: 3000
|
|
220
|
+
|
|
221
|
+
55 | const config = parseEnvironmentConfig();
|
|
222
|
+
56 |
|
|
223
|
+
> 57 | expect(config.HTTP_PORT).toBe(9999);
|
|
224
|
+
| ^
|
|
225
|
+
58 | });
|
|
226
|
+
59 |
|
|
227
|
+
|
|
228
|
+
at test/unit/config/environment.test.ts:57:30
|
|
229
|
+
`.trim();
|
|
230
|
+
const result = extract(output);
|
|
231
|
+
// Should still parse some information even with different format
|
|
232
|
+
expect(result.totalErrors).toBeGreaterThanOrEqual(0);
|
|
233
|
+
});
|
|
234
|
+
it('should format clean output with numbered test list', () => {
|
|
235
|
+
const output = `
|
|
236
|
+
FAIL test/unit/config/environment.test.ts > EnvironmentConfig > test 1
|
|
237
|
+
AssertionError: error 1
|
|
238
|
+
❯ test/unit/config/environment.test.ts:57:30
|
|
239
|
+
57| expect(value).toBe(expected);
|
|
240
|
+
|
|
241
|
+
FAIL test/unit/auth/factory.test.ts > AuthFactory > test 2
|
|
242
|
+
Error: error 2
|
|
243
|
+
❯ test/unit/auth/factory.test.ts:100:15
|
|
244
|
+
100| expect(factory).toBeDefined();
|
|
245
|
+
`.trim();
|
|
246
|
+
const result = extract(output);
|
|
247
|
+
expect(result.errorSummary).toContain('[Test 1/2]');
|
|
248
|
+
expect(result.errorSummary).toContain('[Test 2/2]');
|
|
249
|
+
expect(result.errorSummary).toContain('test/unit/config/environment.test.ts:57:30');
|
|
250
|
+
expect(result.errorSummary).toContain('test/unit/auth/factory.test.ts:100:15');
|
|
251
|
+
});
|
|
252
|
+
it('should extract coverage threshold failures', () => {
|
|
253
|
+
const output = `
|
|
254
|
+
RUN v2.0.5 /Users/jeff/Workspaces/vibe-validate
|
|
255
|
+
|
|
256
|
+
✓ packages/cli/test/commands/run.test.ts (25) 1234ms
|
|
257
|
+
✓ packages/core/test/runner.test.ts (15) 567ms
|
|
258
|
+
✓ packages/git/test/tree-hash.test.ts (8) 123ms
|
|
259
|
+
|
|
260
|
+
Test Files 1139 passed (1139)
|
|
261
|
+
Tests 1139 passed (1139)
|
|
262
|
+
Start at 02:03:02
|
|
263
|
+
Duration 35.62s (transform 1.23s, setup 0ms, collect 4.56s, tests 23.45s, environment 2.34s, prepare 3.21s)
|
|
264
|
+
|
|
265
|
+
% Coverage report from v8
|
|
266
|
+
-------------------|---------|----------|---------|---------|-------------------
|
|
267
|
+
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
|
|
268
|
+
-------------------|---------|----------|---------|---------|-------------------
|
|
269
|
+
All files | 88.47 | 84.21 | 86.47 | 88.47 |
|
|
270
|
+
-------------------|---------|----------|---------|---------|-------------------
|
|
271
|
+
|
|
272
|
+
ERROR: Coverage for functions (86.47%) does not meet global threshold (87%)
|
|
273
|
+
`.trim();
|
|
274
|
+
const result = extract(output);
|
|
275
|
+
expect(result.errors).toHaveLength(1);
|
|
276
|
+
expect(result.errors[0].file).toBe('vitest.config.ts');
|
|
277
|
+
expect(result.errors[0].message).toContain('Coverage for functions');
|
|
278
|
+
expect(result.errors[0].message).toContain('86.47%');
|
|
279
|
+
expect(result.errors[0].message).toContain('87%');
|
|
280
|
+
expect(result.totalErrors).toBe(1);
|
|
281
|
+
expect(result.summary).toBe('1 test failure(s)');
|
|
282
|
+
});
|
|
283
|
+
it('should extract Vitest worker timeout errors', () => {
|
|
284
|
+
const output = `
|
|
285
|
+
RUN v2.0.5 /Users/jeff/Workspaces/vibe-validate
|
|
286
|
+
|
|
287
|
+
✓ packages/cli/test/commands/run.test.ts (25) 1234ms
|
|
288
|
+
✓ packages/core/test/runner.test.ts (15) 567ms
|
|
289
|
+
|
|
290
|
+
⎯⎯⎯⎯⎯⎯ Unhandled Error ⎯⎯⎯⎯⎯⎯⎯
|
|
291
|
+
Error: [vitest-worker]: Timeout calling "onTaskUpdate"
|
|
292
|
+
❯ Object.onTimeoutError node_modules/.pnpm/vitest@3.2.4/node_modules/vitest/dist/chunks/rpc.js:53:10
|
|
293
|
+
❯ Timeout._onTimeout node_modules/.pnpm/vitest@3.2.4/node_modules/vitest/dist/chunks/index.js:59:62
|
|
294
|
+
❯ listOnTimeout node:internal/timers:608:17
|
|
295
|
+
❯ processTimers node:internal/timers:543:7
|
|
296
|
+
|
|
297
|
+
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
|
|
298
|
+
`.trim();
|
|
299
|
+
const result = extract(output);
|
|
300
|
+
expect(result.errors).toHaveLength(1);
|
|
301
|
+
expect(result.errors[0].file).toBe('vitest.config.ts');
|
|
302
|
+
expect(result.errors[0].message).toContain('Timeout calling "onTaskUpdate"');
|
|
303
|
+
expect(result.errors[0].message).toContain('system resource constraints');
|
|
304
|
+
expect(result.errors[0].message).toContain('Kill background processes');
|
|
305
|
+
expect(result.totalErrors).toBe(1);
|
|
306
|
+
expect(result.summary).toBe('1 test failure(s)');
|
|
307
|
+
});
|
|
308
|
+
it('should extract Vitest worker timeout errors with plural "Unhandled Errors"', () => {
|
|
309
|
+
const output = `
|
|
310
|
+
RUN v2.0.5 /Users/jeff/Workspaces/vibe-validate
|
|
311
|
+
|
|
312
|
+
✓ packages/cli/test/commands/run.test.ts (25) 1234ms
|
|
313
|
+
✓ packages/core/test/runner.test.ts (15) 567ms
|
|
314
|
+
|
|
315
|
+
⎯⎯⎯⎯⎯⎯ Unhandled Errors ⎯⎯⎯⎯⎯⎯
|
|
316
|
+
|
|
317
|
+
Vitest caught 1 unhandled error during the test run.
|
|
318
|
+
This might cause false positive tests. Resolve unhandled errors to make sure your tests are not affected.
|
|
319
|
+
|
|
320
|
+
⎯⎯⎯⎯⎯⎯ Unhandled Error ⎯⎯⎯⎯⎯⎯⎯
|
|
321
|
+
Error: [vitest-worker]: Timeout calling "onTaskUpdate"
|
|
322
|
+
❯ Object.onTimeoutError node_modules/.pnpm/vitest@3.2.4/node_modules/vitest/dist/chunks/rpc.js:53:10
|
|
323
|
+
❯ Timeout._onTimeout node_modules/.pnpm/vitest@3.2.4/node_modules/vitest/dist/chunks/index.js:59:62
|
|
324
|
+
❯ listOnTimeout node:internal/timers:608:17
|
|
325
|
+
❯ processTimers node:internal/timers:543:7
|
|
326
|
+
|
|
327
|
+
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
|
|
328
|
+
`.trim();
|
|
329
|
+
const result = extract(output);
|
|
330
|
+
expect(result.errors).toHaveLength(1);
|
|
331
|
+
expect(result.errors[0].file).toBe('vitest.config.ts');
|
|
332
|
+
expect(result.errors[0].message).toContain('Timeout calling "onTaskUpdate"');
|
|
333
|
+
expect(result.errors[0].message).toContain('system resource constraints');
|
|
334
|
+
expect(result.errors[0].message).toContain('Kill background processes');
|
|
335
|
+
expect(result.totalErrors).toBe(1);
|
|
336
|
+
expect(result.summary).toBe('1 test failure(s)');
|
|
337
|
+
});
|
|
338
|
+
it('should truncate errors array to MAX_ERRORS_IN_ARRAY but preserve totalErrors count', async () => {
|
|
339
|
+
// Import the constant to verify we're using the right value
|
|
340
|
+
const { MAX_ERRORS_IN_ARRAY } = await import('../../result-schema.js');
|
|
341
|
+
// Generate 15 test failures (more than MAX_ERRORS_IN_ARRAY = 10)
|
|
342
|
+
const failures = Array.from({ length: 15 }, (_, i) => `
|
|
343
|
+
FAIL test/unit/file${i + 1}.test.ts > TestSuite > test ${i + 1}
|
|
344
|
+
AssertionError: expected ${i} to be ${i + 1}
|
|
345
|
+
❯ test/unit/file${i + 1}.test.ts:${i + 10}:30
|
|
346
|
+
${i + 10}| expect(value).toBe(${i + 1});
|
|
347
|
+
`).join('\n');
|
|
348
|
+
const result = extract(failures);
|
|
349
|
+
// totalErrors should be 15 (full count)
|
|
350
|
+
expect(result.totalErrors).toBe(15);
|
|
351
|
+
// errors array should be truncated to MAX_ERRORS_IN_ARRAY (10)
|
|
352
|
+
expect(result.errors).toHaveLength(MAX_ERRORS_IN_ARRAY);
|
|
353
|
+
expect(result.errors).toHaveLength(10);
|
|
354
|
+
// Verify we got the first 10 errors
|
|
355
|
+
expect(result.errors[0].file).toBe('test/unit/file1.test.ts');
|
|
356
|
+
expect(result.errors[9].file).toBe('test/unit/file10.test.ts');
|
|
357
|
+
// Summary should show full count (15)
|
|
358
|
+
expect(result.summary).toBe('15 test failure(s)');
|
|
359
|
+
});
|
|
360
|
+
});
|
|
361
|
+
describe('plugin metadata', () => {
|
|
362
|
+
it('should have correct metadata', () => {
|
|
363
|
+
expect(vitestPlugin.metadata.name).toBe('vitest');
|
|
364
|
+
expect(vitestPlugin.priority).toBe(85);
|
|
365
|
+
expect(vitestPlugin.hints.anyOf).toContain('FAIL');
|
|
366
|
+
});
|
|
367
|
+
it('should include sample test cases', () => {
|
|
368
|
+
expect(vitestPlugin.samples).toBeDefined();
|
|
369
|
+
expect(vitestPlugin.samples.length).toBeGreaterThan(0);
|
|
370
|
+
});
|
|
371
|
+
});
|
|
372
|
+
});
|
|
373
|
+
//# sourceMappingURL=index.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/extractors/vitest/index.test.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,8 +6,10 @@
|
|
|
6
6
|
* Provides intelligent error parsing and formatting for common development tools:
|
|
7
7
|
* - TypeScript (tsc)
|
|
8
8
|
* - ESLint
|
|
9
|
-
* - Vitest/Jest/Mocha/Jasmine
|
|
9
|
+
* - Vitest/Jest/Mocha/Jasmine/Playwright
|
|
10
10
|
* - JUnit XML (auto-detected)
|
|
11
|
+
* - Maven (Compiler, Checkstyle, Surefire)
|
|
12
|
+
* - Ava, TAP
|
|
11
13
|
* - Generic fallback for all other formats
|
|
12
14
|
*
|
|
13
15
|
* @example
|
|
@@ -21,19 +23,33 @@
|
|
|
21
23
|
* ```
|
|
22
24
|
*
|
|
23
25
|
* @package @vibe-validate/extractors
|
|
24
|
-
* @version 0.
|
|
26
|
+
* @version 0.17.0
|
|
25
27
|
*/
|
|
26
28
|
export type { FormattedError, ErrorExtractorResult, DetectionMetadata, ExtractionMetadata, } from './result-schema.js';
|
|
27
|
-
export type { ErrorExtractor, ExtractorInput } from './types.js';
|
|
29
|
+
export type { ErrorExtractor, ExtractorInput, DetectionResult, ExtractorPlugin, ExtractorHints, ExtractorSample, ExtractorMetadata, } from './types.js';
|
|
28
30
|
export { FormattedErrorSchema, ErrorExtractorResultSchema, DetectionMetadataSchema, ExtractionMetadataSchema, safeValidateExtractorResult, validateExtractorResult, } from './result-schema.js';
|
|
29
|
-
export {
|
|
30
|
-
export {
|
|
31
|
-
export {
|
|
32
|
-
export {
|
|
33
|
-
export {
|
|
34
|
-
export {
|
|
35
|
-
export {
|
|
36
|
-
export {
|
|
31
|
+
export { default as typescriptPlugin } from './extractors/typescript/index.js';
|
|
32
|
+
export { default as eslintPlugin } from './extractors/eslint/index.js';
|
|
33
|
+
export { default as vitestPlugin } from './extractors/vitest/index.js';
|
|
34
|
+
export { default as jestPlugin } from './extractors/jest/index.js';
|
|
35
|
+
export { default as mochaPlugin } from './extractors/mocha/index.js';
|
|
36
|
+
export { default as jasminePlugin } from './extractors/jasmine/index.js';
|
|
37
|
+
export { default as playwrightPlugin } from './extractors/playwright/index.js';
|
|
38
|
+
export { default as junitPlugin } from './extractors/junit/index.js';
|
|
39
|
+
export { default as mavenCompilerPlugin } from './extractors/maven-compiler/index.js';
|
|
40
|
+
export { default as mavenCheckstylePlugin } from './extractors/maven-checkstyle/index.js';
|
|
41
|
+
export { default as mavenSurefirePlugin } from './extractors/maven-surefire/index.js';
|
|
42
|
+
export { default as avaPlugin } from './extractors/ava/index.js';
|
|
43
|
+
export { default as tapPlugin } from './extractors/tap/index.js';
|
|
44
|
+
export { default as genericPlugin } from './extractors/generic/index.js';
|
|
37
45
|
export { autoDetectAndExtract } from './smart-extractor.js';
|
|
46
|
+
export { EXTRACTOR_REGISTRY, registerPlugins as registerPluginsToRegistry } from './extractor-registry.js';
|
|
47
|
+
export type { ExtractorDescriptor, ExtractorTrustLevel } from './extractor-registry.js';
|
|
48
|
+
export { loadPlugin, discoverPlugins, registerPlugins, validatePluginInterface, PluginValidationError, } from './plugin-loader.js';
|
|
49
|
+
export type { PluginSource, PluginDiscoveryConfig } from './plugin-loader.js';
|
|
50
|
+
export { runInSandbox, createSandboxedCode, SandboxExecutionError, SandboxStatsCollector, } from './sandbox.js';
|
|
51
|
+
export type { SandboxOptions, SandboxResult, SandboxStats } from './sandbox.js';
|
|
52
|
+
export { createSandboxedExtractor, } from './sandboxed-extractor.js';
|
|
53
|
+
export type { SandboxedExtractorOptions, } from './sandboxed-extractor.js';
|
|
38
54
|
export { stripAnsiCodes, extractErrorLines } from './utils.js';
|
|
39
55
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EACV,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,cAAc,EACd,eAAe,EACf,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG5D,OAAO,EAAE,kBAAkB,EAAE,eAAe,IAAI,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAC3G,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAGxF,OAAO,EACL,UAAU,EACV,eAAe,EACf,eAAe,EACf,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAG9E,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGhF,OAAO,EACL,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -6,8 +6,10 @@
|
|
|
6
6
|
* Provides intelligent error parsing and formatting for common development tools:
|
|
7
7
|
* - TypeScript (tsc)
|
|
8
8
|
* - ESLint
|
|
9
|
-
* - Vitest/Jest/Mocha/Jasmine
|
|
9
|
+
* - Vitest/Jest/Mocha/Jasmine/Playwright
|
|
10
10
|
* - JUnit XML (auto-detected)
|
|
11
|
+
* - Maven (Compiler, Checkstyle, Surefire)
|
|
12
|
+
* - Ava, TAP
|
|
11
13
|
* - Generic fallback for all other formats
|
|
12
14
|
*
|
|
13
15
|
* @example
|
|
@@ -21,21 +23,35 @@
|
|
|
21
23
|
* ```
|
|
22
24
|
*
|
|
23
25
|
* @package @vibe-validate/extractors
|
|
24
|
-
* @version 0.
|
|
26
|
+
* @version 0.17.0
|
|
25
27
|
*/
|
|
26
28
|
// Zod schemas for runtime validation
|
|
27
29
|
export { FormattedErrorSchema, ErrorExtractorResultSchema, DetectionMetadataSchema, ExtractionMetadataSchema, safeValidateExtractorResult, validateExtractorResult, } from './result-schema.js';
|
|
28
|
-
//
|
|
29
|
-
export {
|
|
30
|
-
export {
|
|
31
|
-
export {
|
|
32
|
-
export {
|
|
33
|
-
export {
|
|
34
|
-
export {
|
|
35
|
-
export {
|
|
36
|
-
export {
|
|
30
|
+
// Extractor plugins (NEW - plugin structure with metadata, hints, samples)
|
|
31
|
+
export { default as typescriptPlugin } from './extractors/typescript/index.js';
|
|
32
|
+
export { default as eslintPlugin } from './extractors/eslint/index.js';
|
|
33
|
+
export { default as vitestPlugin } from './extractors/vitest/index.js';
|
|
34
|
+
export { default as jestPlugin } from './extractors/jest/index.js';
|
|
35
|
+
export { default as mochaPlugin } from './extractors/mocha/index.js';
|
|
36
|
+
export { default as jasminePlugin } from './extractors/jasmine/index.js';
|
|
37
|
+
export { default as playwrightPlugin } from './extractors/playwright/index.js';
|
|
38
|
+
export { default as junitPlugin } from './extractors/junit/index.js';
|
|
39
|
+
export { default as mavenCompilerPlugin } from './extractors/maven-compiler/index.js';
|
|
40
|
+
export { default as mavenCheckstylePlugin } from './extractors/maven-checkstyle/index.js';
|
|
41
|
+
export { default as mavenSurefirePlugin } from './extractors/maven-surefire/index.js';
|
|
42
|
+
export { default as avaPlugin } from './extractors/ava/index.js';
|
|
43
|
+
export { default as tapPlugin } from './extractors/tap/index.js';
|
|
44
|
+
export { default as genericPlugin } from './extractors/generic/index.js';
|
|
37
45
|
// Smart extractor (auto-detection - recommended)
|
|
38
46
|
export { autoDetectAndExtract } from './smart-extractor.js';
|
|
47
|
+
// Extractor registry (for advanced use cases)
|
|
48
|
+
export { EXTRACTOR_REGISTRY, registerPlugins as registerPluginsToRegistry } from './extractor-registry.js';
|
|
49
|
+
// Plugin loader (NEW - external plugin support)
|
|
50
|
+
export { loadPlugin, discoverPlugins, registerPlugins, validatePluginInterface, PluginValidationError, } from './plugin-loader.js';
|
|
51
|
+
// Sandbox (NEW - secure plugin execution)
|
|
52
|
+
export { runInSandbox, createSandboxedCode, SandboxExecutionError, SandboxStatsCollector, } from './sandbox.js';
|
|
53
|
+
// Sandboxed Extractor Wrapper (NEW - trust-based execution)
|
|
54
|
+
export { createSandboxedExtractor, } from './sandboxed-extractor.js';
|
|
39
55
|
// Utilities
|
|
40
56
|
export { stripAnsiCodes, extractErrorLines } from './utils.js';
|
|
41
57
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAqBH,qCAAqC;AACrC,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAE5B,2EAA2E;AAC3E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEzE,iDAAiD;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,8CAA8C;AAC9C,OAAO,EAAE,kBAAkB,EAAE,eAAe,IAAI,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAG3G,gDAAgD;AAChD,OAAO,EACL,UAAU,EACV,eAAe,EACf,eAAe,EACf,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAG5B,0CAA0C;AAC1C,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAGtB,4DAA4D;AAC5D,OAAO,EACL,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAKlC,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Maven Checkstyle error extractor
|
|
3
|
+
*
|
|
4
|
+
* Extracts errors from Maven Checkstyle plugin output.
|
|
5
|
+
* Supports both output formats generated by maven-checkstyle-plugin.
|
|
6
|
+
*/
|
|
7
|
+
import type { ErrorExtractorResult } from './types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Detects if output is from Maven Checkstyle
|
|
10
|
+
*/
|
|
11
|
+
export declare function detectMavenCheckstyle(output: string): {
|
|
12
|
+
confidence: number;
|
|
13
|
+
patterns: string[];
|
|
14
|
+
reason: string;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Extracts Checkstyle violations from Maven output
|
|
18
|
+
*/
|
|
19
|
+
export declare function extractMavenCheckstyle(output: string, command?: string): ErrorExtractorResult;
|
|
20
|
+
//# sourceMappingURL=maven-checkstyle-extractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maven-checkstyle-extractor.d.ts","sourceRoot":"","sources":["../src/maven-checkstyle-extractor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAkB,MAAM,YAAY,CAAC;AAmCvE;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,CA+CA;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,GACf,oBAAoB,CAmGtB"}
|