@vibe-validate/extractors 0.17.0-rc3 → 0.17.0
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 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -13
- package/dist/index.js.map +1 -1
- 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-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 -186
- 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 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extractors/tap/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../src/extractors/tap/index.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TAP Error Extractor Tests
|
|
3
|
+
*
|
|
4
|
+
* @package @vibe-validate/extractors
|
|
5
|
+
*/
|
|
6
|
+
import { describe, it, expect } from 'vitest';
|
|
7
|
+
import tapExtractor from './index.js';
|
|
8
|
+
import { readFileSync } from 'node:fs';
|
|
9
|
+
import { join, dirname } from 'node:path';
|
|
10
|
+
import { fileURLToPath } from 'node:url';
|
|
11
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
12
|
+
const __dirname = dirname(__filename);
|
|
13
|
+
const { extract: extractTAPErrors, detect: detectTAP } = tapExtractor;
|
|
14
|
+
describe('TAP Extractor Plugin', () => {
|
|
15
|
+
describe('Detection', () => {
|
|
16
|
+
it('should detect TAP output with high confidence', () => {
|
|
17
|
+
const input = `TAP version 13
|
|
18
|
+
not ok 1 test failed
|
|
19
|
+
---
|
|
20
|
+
at: test.js:10:5
|
|
21
|
+
...
|
|
22
|
+
`;
|
|
23
|
+
const result = detectTAP(input);
|
|
24
|
+
expect(result.confidence).toBeGreaterThanOrEqual(60);
|
|
25
|
+
expect(result.patterns).toContain('TAP version header');
|
|
26
|
+
});
|
|
27
|
+
it('should reject non-TAP output', () => {
|
|
28
|
+
const input = `
|
|
29
|
+
PASS tests/test.js
|
|
30
|
+
✓ test passes
|
|
31
|
+
`;
|
|
32
|
+
const result = detectTAP(input);
|
|
33
|
+
expect(result.confidence).toBeLessThan(30);
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
describe('Basic Extraction', () => {
|
|
37
|
+
it('should extract single test failure from TAP output', () => {
|
|
38
|
+
// NOSONAR -- /tmp path is part of test fixture sample data, not actual temporary file creation
|
|
39
|
+
const input = `TAP version 13
|
|
40
|
+
# Test › should pass assertion
|
|
41
|
+
not ok 1 should have 5 errors
|
|
42
|
+
---
|
|
43
|
+
operator: equal
|
|
44
|
+
expected: 5
|
|
45
|
+
actual: 1
|
|
46
|
+
at: Test.<anonymous> (file:///tmp/test.js:28:5)
|
|
47
|
+
...
|
|
48
|
+
`;
|
|
49
|
+
const result = extractTAPErrors(input);
|
|
50
|
+
expect(result.summary).toBe('1 test(s) failed');
|
|
51
|
+
expect(result.errors).toHaveLength(1);
|
|
52
|
+
expect(result.errors[0]).toMatchObject({
|
|
53
|
+
// eslint-disable-next-line sonarjs/publicly-writable-directories -- /tmp path is part of test fixture sample data, not actual temporary file creation
|
|
54
|
+
file: '/tmp/test.js',
|
|
55
|
+
line: 28,
|
|
56
|
+
message: 'should have 5 errors',
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
it('should extract multiple test failures', () => {
|
|
60
|
+
const input = `TAP version 13
|
|
61
|
+
# Test 1
|
|
62
|
+
not ok 1 first error
|
|
63
|
+
---
|
|
64
|
+
at: Test.<anonymous> (test.js:10:5)
|
|
65
|
+
...
|
|
66
|
+
# Test 2
|
|
67
|
+
not ok 2 second error
|
|
68
|
+
---
|
|
69
|
+
at: Test.<anonymous> (test.js:20:5)
|
|
70
|
+
...
|
|
71
|
+
`;
|
|
72
|
+
const result = extractTAPErrors(input);
|
|
73
|
+
expect(result.summary).toBe('2 test(s) failed');
|
|
74
|
+
expect(result.errors).toHaveLength(2);
|
|
75
|
+
expect(result.errors[0].line).toBe(10);
|
|
76
|
+
expect(result.errors[1].line).toBe(20);
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
describe('Comprehensive Sample', () => {
|
|
80
|
+
it('should extract all failures from comprehensive sample', () => {
|
|
81
|
+
const samplePath = join(__dirname, 'samples', 'comprehensive-failures-001.txt');
|
|
82
|
+
const input = readFileSync(samplePath, 'utf8');
|
|
83
|
+
const result = extractTAPErrors(input);
|
|
84
|
+
expect(result.errors.length).toBeGreaterThanOrEqual(10);
|
|
85
|
+
expect(result.metadata.confidence).toBeGreaterThanOrEqual(80);
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
describe('Plugin Samples', () => {
|
|
89
|
+
it('should pass all registered samples', () => {
|
|
90
|
+
for (const sample of tapExtractor.samples) {
|
|
91
|
+
const input = sample.input ?? readFileSync(join(__dirname, sample.inputFile), 'utf-8');
|
|
92
|
+
const result = extractTAPErrors(input);
|
|
93
|
+
if (sample.expected.totalErrors !== undefined) {
|
|
94
|
+
expect(result.totalErrors).toBe(sample.expected.totalErrors);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
//# sourceMappingURL=index.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/extractors/tap/index.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeScript Error Extractor Plugin
|
|
3
|
+
*
|
|
4
|
+
* Parses and formats TypeScript compiler (tsc) error output for LLM consumption.
|
|
5
|
+
*
|
|
6
|
+
* @package @vibe-validate/extractors
|
|
7
|
+
*/
|
|
8
|
+
import type { ExtractorPlugin } from '../../types.js';
|
|
9
|
+
/**
|
|
10
|
+
* TypeScript Error Extractor Plugin
|
|
11
|
+
*
|
|
12
|
+
* Extracts TypeScript compiler errors with high confidence (95%).
|
|
13
|
+
* Supports both old (file(line,col)) and new (file:line:col) formats.
|
|
14
|
+
*/
|
|
15
|
+
declare const typescriptPlugin: ExtractorPlugin;
|
|
16
|
+
export default typescriptPlugin;
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extractors/typescript/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,eAAe,EAKhB,MAAM,gBAAgB,CAAC;AAsIxB;;;;;GAKG;AACH,QAAA,MAAM,gBAAgB,EAAE,eAiBvB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeScript Error Extractor Plugin
|
|
3
|
+
*
|
|
4
|
+
* Parses and formats TypeScript compiler (tsc) error output for LLM consumption.
|
|
5
|
+
*
|
|
6
|
+
* @package @vibe-validate/extractors
|
|
7
|
+
*/
|
|
8
|
+
import { MAX_ERRORS_IN_ARRAY } from '../../result-schema.js';
|
|
9
|
+
/**
|
|
10
|
+
* Generate TypeScript-specific guidance based on error codes
|
|
11
|
+
*
|
|
12
|
+
* @param errors - Parsed TypeScript errors
|
|
13
|
+
* @returns Actionable guidance string
|
|
14
|
+
*/
|
|
15
|
+
function getTypeScriptGuidance(errors) {
|
|
16
|
+
const errorCodes = new Set(errors.map((e) => e.code));
|
|
17
|
+
const guidance = [];
|
|
18
|
+
if (errorCodes.has('TS2322')) {
|
|
19
|
+
guidance.push('Type mismatch - check variable/parameter types');
|
|
20
|
+
}
|
|
21
|
+
if (errorCodes.has('TS2304')) {
|
|
22
|
+
guidance.push('Cannot find name - check imports and type definitions');
|
|
23
|
+
}
|
|
24
|
+
if (errorCodes.has('TS2345')) {
|
|
25
|
+
guidance.push('Argument type mismatch - check function signatures');
|
|
26
|
+
}
|
|
27
|
+
if (guidance.length === 0) {
|
|
28
|
+
return 'Fix TypeScript type errors in listed files';
|
|
29
|
+
}
|
|
30
|
+
return guidance.join('. ');
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Extract TypeScript compiler errors from output
|
|
34
|
+
*
|
|
35
|
+
* @param output - Raw tsc command output
|
|
36
|
+
* @returns Structured error information with TypeScript-specific guidance
|
|
37
|
+
*/
|
|
38
|
+
function extract(output) {
|
|
39
|
+
const errors = [];
|
|
40
|
+
// TypeScript error patterns - support both old and new formats:
|
|
41
|
+
// Old: file(line,col): error TSxxxx: message
|
|
42
|
+
// New: file:line:col - error TSxxxx: message
|
|
43
|
+
// eslint-disable-next-line sonarjs/slow-regex -- Safe: only parses TypeScript compiler output (controlled tool output), not user input
|
|
44
|
+
const oldPattern = /^(.+?)\((\d+),(\d+)\):\s*(error|warning)\s+(TS\d+):\s+(.+)$/gm;
|
|
45
|
+
// eslint-disable-next-line sonarjs/slow-regex -- Safe: only parses TypeScript compiler output (controlled tool output), not user input
|
|
46
|
+
const newPattern = /^(.+?):(\d+):(\d+)\s+-\s*(error|warning)\s+(TS\d+):\s+(.+)$/gm;
|
|
47
|
+
// Try new format first (more common in modern tsc)
|
|
48
|
+
let match;
|
|
49
|
+
while ((match = newPattern.exec(output)) !== null) {
|
|
50
|
+
errors.push({
|
|
51
|
+
file: match[1].trim(),
|
|
52
|
+
line: Number.parseInt(match[2]),
|
|
53
|
+
column: Number.parseInt(match[3]),
|
|
54
|
+
severity: match[4],
|
|
55
|
+
code: match[5],
|
|
56
|
+
message: match[6].trim(),
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
// Try old format if no matches yet
|
|
60
|
+
if (errors.length === 0) {
|
|
61
|
+
while ((match = oldPattern.exec(output)) !== null) {
|
|
62
|
+
errors.push({
|
|
63
|
+
file: match[1].trim(),
|
|
64
|
+
line: Number.parseInt(match[2]),
|
|
65
|
+
column: Number.parseInt(match[3]),
|
|
66
|
+
severity: match[4],
|
|
67
|
+
code: match[5],
|
|
68
|
+
message: match[6].trim(),
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const errorCount = errors.filter((e) => e.severity === 'error').length;
|
|
73
|
+
const warningCount = errors.filter((e) => e.severity === 'warning').length;
|
|
74
|
+
// Build error summary (limit to MAX_ERRORS_IN_ARRAY for token efficiency)
|
|
75
|
+
const errorSummary = errors
|
|
76
|
+
.slice(0, MAX_ERRORS_IN_ARRAY)
|
|
77
|
+
.map((e) => `${e.file}:${e.line}:${e.column} - ${e.code}: ${e.message}`)
|
|
78
|
+
.join('\n');
|
|
79
|
+
return {
|
|
80
|
+
errors: errors.slice(0, MAX_ERRORS_IN_ARRAY),
|
|
81
|
+
summary: `${errorCount} type error(s), ${warningCount} warning(s)`,
|
|
82
|
+
totalErrors: errors.length,
|
|
83
|
+
guidance: getTypeScriptGuidance(errors),
|
|
84
|
+
errorSummary,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Detect if output is from TypeScript compiler
|
|
89
|
+
*
|
|
90
|
+
* @param output - Command output to analyze
|
|
91
|
+
* @returns Detection result with confidence and patterns
|
|
92
|
+
*/
|
|
93
|
+
function detect(output) {
|
|
94
|
+
const match = /error TS\d+:/.exec(output);
|
|
95
|
+
if (match) {
|
|
96
|
+
return {
|
|
97
|
+
confidence: 95,
|
|
98
|
+
patterns: ['error TS#### pattern'],
|
|
99
|
+
reason: 'TypeScript compiler error format detected',
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
return { confidence: 0, patterns: [], reason: '' };
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Sample test cases for TypeScript extractor
|
|
106
|
+
*/
|
|
107
|
+
const samples = [
|
|
108
|
+
{
|
|
109
|
+
name: 'single-type-error',
|
|
110
|
+
description: 'Single TypeScript type mismatch error',
|
|
111
|
+
input: `src/index.ts(10,5): error TS2322: Type 'string' is not assignable to type 'number'.`,
|
|
112
|
+
expectedErrors: 1,
|
|
113
|
+
expectedPatterns: ['TS2322', 'Type mismatch'],
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
name: 'multiple-errors-with-warning',
|
|
117
|
+
description: 'Multiple TypeScript errors with one warning',
|
|
118
|
+
input: `src/index.ts(10,5): error TS2322: Type 'string' is not assignable to type 'number'.
|
|
119
|
+
src/config.ts(25,12): error TS2304: Cannot find name 'process'.
|
|
120
|
+
src/utils.ts(100,3): warning TS6133: 'unusedVar' is declared but never used.`,
|
|
121
|
+
expectedErrors: 3,
|
|
122
|
+
expectedPatterns: ['TS2322', 'TS2304', 'TS6133'],
|
|
123
|
+
},
|
|
124
|
+
];
|
|
125
|
+
/**
|
|
126
|
+
* TypeScript Error Extractor Plugin
|
|
127
|
+
*
|
|
128
|
+
* Extracts TypeScript compiler errors with high confidence (95%).
|
|
129
|
+
* Supports both old (file(line,col)) and new (file:line:col) formats.
|
|
130
|
+
*/
|
|
131
|
+
const typescriptPlugin = {
|
|
132
|
+
metadata: {
|
|
133
|
+
name: 'typescript',
|
|
134
|
+
version: '1.0.0',
|
|
135
|
+
author: 'vibe-validate',
|
|
136
|
+
description: 'Extracts TypeScript compiler (tsc) errors',
|
|
137
|
+
repository: 'https://github.com/jdutton/vibe-validate',
|
|
138
|
+
tags: ['typescript', 'compiler', 'type-checking'],
|
|
139
|
+
},
|
|
140
|
+
hints: {
|
|
141
|
+
required: ['error TS'],
|
|
142
|
+
anyOf: [],
|
|
143
|
+
},
|
|
144
|
+
priority: 95,
|
|
145
|
+
detect,
|
|
146
|
+
extract,
|
|
147
|
+
samples,
|
|
148
|
+
};
|
|
149
|
+
export default typescriptPlugin;
|
|
150
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extractors/typescript/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../src/extractors/typescript/index.test.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeScript Extractor Plugin Tests
|
|
3
|
+
*
|
|
4
|
+
* Tests TypeScript compiler error parsing and formatting.
|
|
5
|
+
*
|
|
6
|
+
* @package @vibe-validate/extractors
|
|
7
|
+
*/
|
|
8
|
+
import { describe, it, expect } from 'vitest';
|
|
9
|
+
import typescriptPlugin from './index.js';
|
|
10
|
+
const { extract, detect } = typescriptPlugin;
|
|
11
|
+
describe('TypeScript Extractor Plugin', () => {
|
|
12
|
+
describe('detect', () => {
|
|
13
|
+
it('should detect TypeScript errors with high confidence', () => {
|
|
14
|
+
const output = `src/index.ts(10,5): error TS2322: Type 'string' is not assignable to type 'number'.`;
|
|
15
|
+
const result = detect(output);
|
|
16
|
+
expect(result.confidence).toBe(95);
|
|
17
|
+
expect(result.patterns).toContain('error TS#### pattern');
|
|
18
|
+
expect(result.reason).toContain('TypeScript compiler');
|
|
19
|
+
});
|
|
20
|
+
it('should not detect non-TypeScript output', () => {
|
|
21
|
+
const output = `Some random text without TypeScript errors`;
|
|
22
|
+
const result = detect(output);
|
|
23
|
+
expect(result.confidence).toBe(0);
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
describe('extract', () => {
|
|
27
|
+
it('should parse single TypeScript error', () => {
|
|
28
|
+
const output = `
|
|
29
|
+
src/index.ts(10,5): error TS2322: Type 'string' is not assignable to type 'number'.
|
|
30
|
+
`.trim();
|
|
31
|
+
const result = extract(output);
|
|
32
|
+
expect(result.errors).toHaveLength(1);
|
|
33
|
+
expect(result.errors[0]).toEqual({
|
|
34
|
+
file: 'src/index.ts',
|
|
35
|
+
line: 10,
|
|
36
|
+
column: 5,
|
|
37
|
+
severity: 'error',
|
|
38
|
+
code: 'TS2322',
|
|
39
|
+
message: "Type 'string' is not assignable to type 'number'.",
|
|
40
|
+
});
|
|
41
|
+
expect(result.summary).toBe('1 type error(s), 0 warning(s)');
|
|
42
|
+
expect(result.totalErrors).toBe(1);
|
|
43
|
+
});
|
|
44
|
+
it('should parse multiple TypeScript errors', () => {
|
|
45
|
+
const output = `
|
|
46
|
+
src/index.ts(10,5): error TS2322: Type 'string' is not assignable to type 'number'.
|
|
47
|
+
src/config.ts(25,12): error TS2304: Cannot find name 'process'.
|
|
48
|
+
src/utils.ts(100,3): warning TS6133: 'unusedVar' is declared but never used.
|
|
49
|
+
`.trim();
|
|
50
|
+
const result = extract(output);
|
|
51
|
+
expect(result.errors).toHaveLength(3);
|
|
52
|
+
expect(result.summary).toBe('2 type error(s), 1 warning(s)');
|
|
53
|
+
expect(result.totalErrors).toBe(3);
|
|
54
|
+
// Verify first error
|
|
55
|
+
expect(result.errors[0].file).toBe('src/index.ts');
|
|
56
|
+
expect(result.errors[0].severity).toBe('error');
|
|
57
|
+
expect(result.errors[0].code).toBe('TS2322');
|
|
58
|
+
// Verify warning
|
|
59
|
+
expect(result.errors[2].severity).toBe('warning');
|
|
60
|
+
expect(result.errors[2].code).toBe('TS6133');
|
|
61
|
+
});
|
|
62
|
+
it('should limit output to first 10 errors', () => {
|
|
63
|
+
// Generate 15 errors
|
|
64
|
+
const errors = Array.from({ length: 15 }, (_, i) => `src/file${i}.ts(${i + 1},5): error TS2322: Type error ${i + 1}.`).join('\n');
|
|
65
|
+
const result = extract(errors);
|
|
66
|
+
expect(result.totalErrors).toBe(15);
|
|
67
|
+
expect(result.errors).toHaveLength(10);
|
|
68
|
+
expect(result.summary).toBe('15 type error(s), 0 warning(s)');
|
|
69
|
+
});
|
|
70
|
+
it('should generate TS2322 guidance for type mismatch', () => {
|
|
71
|
+
const output = `
|
|
72
|
+
src/index.ts(10,5): error TS2322: Type 'string' is not assignable to type 'number'.
|
|
73
|
+
`.trim();
|
|
74
|
+
const result = extract(output);
|
|
75
|
+
expect(result.guidance).toContain('Type mismatch');
|
|
76
|
+
expect(result.guidance).toContain('check variable/parameter types');
|
|
77
|
+
});
|
|
78
|
+
it('should generate TS2304 guidance for missing name', () => {
|
|
79
|
+
const output = `
|
|
80
|
+
src/config.ts(25,12): error TS2304: Cannot find name 'process'.
|
|
81
|
+
`.trim();
|
|
82
|
+
const result = extract(output);
|
|
83
|
+
expect(result.guidance).toContain('Cannot find name');
|
|
84
|
+
expect(result.guidance).toContain('check imports and type definitions');
|
|
85
|
+
});
|
|
86
|
+
it('should generate TS2345 guidance for argument type mismatch', () => {
|
|
87
|
+
const output = `
|
|
88
|
+
src/utils.ts(50,10): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
|
|
89
|
+
`.trim();
|
|
90
|
+
const result = extract(output);
|
|
91
|
+
expect(result.guidance).toContain('Argument type mismatch');
|
|
92
|
+
expect(result.guidance).toContain('check function signatures');
|
|
93
|
+
});
|
|
94
|
+
it('should generate generic guidance for unknown error codes', () => {
|
|
95
|
+
const output = `
|
|
96
|
+
src/index.ts(10,5): error TS9999: Unknown error code.
|
|
97
|
+
`.trim();
|
|
98
|
+
const result = extract(output);
|
|
99
|
+
expect(result.guidance).toBe('Fix TypeScript type errors in listed files');
|
|
100
|
+
});
|
|
101
|
+
it('should combine multiple guidance messages', () => {
|
|
102
|
+
const output = `
|
|
103
|
+
src/index.ts(10,5): error TS2322: Type mismatch.
|
|
104
|
+
src/config.ts(25,12): error TS2304: Cannot find name.
|
|
105
|
+
src/utils.ts(50,10): error TS2345: Argument type error.
|
|
106
|
+
`.trim();
|
|
107
|
+
const result = extract(output);
|
|
108
|
+
expect(result.guidance).toContain('Type mismatch');
|
|
109
|
+
expect(result.guidance).toContain('Cannot find name');
|
|
110
|
+
expect(result.guidance).toContain('Argument type mismatch');
|
|
111
|
+
});
|
|
112
|
+
it('should generate clean output with file:line:column format', () => {
|
|
113
|
+
const output = `
|
|
114
|
+
src/index.ts(10,5): error TS2322: Type 'string' is not assignable to type 'number'.
|
|
115
|
+
src/config.ts(25,12): error TS2304: Cannot find name 'process'.
|
|
116
|
+
`.trim();
|
|
117
|
+
const result = extract(output);
|
|
118
|
+
expect(result.errorSummary).toContain('src/index.ts:10:5 - TS2322:');
|
|
119
|
+
expect(result.errorSummary).toContain('src/config.ts:25:12 - TS2304:');
|
|
120
|
+
});
|
|
121
|
+
it('should handle empty output', () => {
|
|
122
|
+
const result = extract('');
|
|
123
|
+
expect(result.errors).toHaveLength(0);
|
|
124
|
+
expect(result.summary).toBe('0 type error(s), 0 warning(s)');
|
|
125
|
+
expect(result.totalErrors).toBe(0);
|
|
126
|
+
expect(result.guidance).toBe('Fix TypeScript type errors in listed files');
|
|
127
|
+
});
|
|
128
|
+
it('should handle output with no matches', () => {
|
|
129
|
+
const output = `
|
|
130
|
+
Some random text
|
|
131
|
+
That does not match
|
|
132
|
+
The TypeScript error format
|
|
133
|
+
`.trim();
|
|
134
|
+
const result = extract(output);
|
|
135
|
+
expect(result.errors).toHaveLength(0);
|
|
136
|
+
expect(result.summary).toBe('0 type error(s), 0 warning(s)');
|
|
137
|
+
});
|
|
138
|
+
it('should handle files with spaces in path', () => {
|
|
139
|
+
const output = `
|
|
140
|
+
src/my folder/index.ts(10,5): error TS2322: Type error.
|
|
141
|
+
`.trim();
|
|
142
|
+
const result = extract(output);
|
|
143
|
+
expect(result.errors).toHaveLength(1);
|
|
144
|
+
expect(result.errors[0].file).toBe('src/my folder/index.ts');
|
|
145
|
+
});
|
|
146
|
+
it('should truncate errors array to MAX_ERRORS_IN_ARRAY but preserve totalErrors count', async () => {
|
|
147
|
+
// Import the constant to verify we're using the right value
|
|
148
|
+
const { MAX_ERRORS_IN_ARRAY } = await import('../../result-schema.js');
|
|
149
|
+
// Generate 15 TypeScript errors (more than MAX_ERRORS_IN_ARRAY = 10)
|
|
150
|
+
const errors = Array.from({ length: 15 }, (_, i) => `src/file${i + 1}.ts(${i + 1},5): error TS2322: Type error ${i + 1}.`);
|
|
151
|
+
const output = errors.join('\n');
|
|
152
|
+
const result = extract(output);
|
|
153
|
+
// totalErrors should be 15 (full count)
|
|
154
|
+
expect(result.totalErrors).toBe(15);
|
|
155
|
+
// errors array should be truncated to MAX_ERRORS_IN_ARRAY (10)
|
|
156
|
+
expect(result.errors).toHaveLength(MAX_ERRORS_IN_ARRAY);
|
|
157
|
+
expect(result.errors).toHaveLength(10);
|
|
158
|
+
// Verify we got the first 10 errors
|
|
159
|
+
expect(result.errors[0].file).toBe('src/file1.ts');
|
|
160
|
+
expect(result.errors[9].file).toBe('src/file10.ts');
|
|
161
|
+
// Summary should show full count (15)
|
|
162
|
+
expect(result.summary).toBe('15 type error(s), 0 warning(s)');
|
|
163
|
+
});
|
|
164
|
+
});
|
|
165
|
+
describe('plugin metadata', () => {
|
|
166
|
+
it('should have correct metadata', () => {
|
|
167
|
+
expect(typescriptPlugin.metadata.name).toBe('typescript');
|
|
168
|
+
expect(typescriptPlugin.priority).toBe(95);
|
|
169
|
+
expect(typescriptPlugin.hints.required).toContain('error TS');
|
|
170
|
+
});
|
|
171
|
+
it('should include sample test cases', () => {
|
|
172
|
+
expect(typescriptPlugin.samples).toBeDefined();
|
|
173
|
+
expect(typescriptPlugin.samples.length).toBeGreaterThan(0);
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
});
|
|
177
|
+
//# sourceMappingURL=index.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/extractors/typescript/index.test.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,gBAAgB,MAAM,YAAY,CAAC;AAE1C,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC;AAE7C,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC9D,MAAM,MAAM,GAAG,qFAAqF,CAAC;YACrG,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAE9B,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,MAAM,MAAM,GAAG,4CAA4C,CAAC;YAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAE9B,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,MAAM,GAAG;;KAEhB,CAAC,IAAI,EAAE,CAAC;YAEP,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAE/B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC/B,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,EAAE;gBACR,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,mDAAmD;aAC7D,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC7D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,MAAM,MAAM,GAAG;;;;KAIhB,CAAC,IAAI,EAAE,CAAC;YAEP,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAE/B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC7D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEnC,qBAAqB;YACrB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE7C,iBAAiB;YACjB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAClD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAChD,qBAAqB;YACrB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CACvB,EAAE,MAAM,EAAE,EAAE,EAAE,EACd,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,GAAG,CAAC,GAAG,CAC5E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAE/B,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;YAC3D,MAAM,MAAM,GAAG;;KAEhB,CAAC,IAAI,EAAE,CAAC;YAEP,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAE/B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;YACnD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,MAAM,MAAM,GAAG;;KAEhB,CAAC,IAAI,EAAE,CAAC;YAEP,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAE/B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;YACpE,MAAM,MAAM,GAAG;;KAEhB,CAAC,IAAI,EAAE,CAAC;YAEP,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAE/B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;YAC5D,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;YAClE,MAAM,MAAM,GAAG;;KAEhB,CAAC,IAAI,EAAE,CAAC;YAEP,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAE/B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,MAAM,GAAG;;;;KAIhB,CAAC,IAAI,EAAE,CAAC;YAEP,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAE/B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;YACnD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACnE,MAAM,MAAM,GAAG;;;KAGhB,CAAC,IAAI,EAAE,CAAC;YAEP,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAE/B,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;YACrE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;YAE3B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC7D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,MAAM,GAAG;;;;KAIhB,CAAC,IAAI,EAAE,CAAC;YAEP,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAE/B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,MAAM,MAAM,GAAG;;KAEhB,CAAC,IAAI,EAAE,CAAC;YAEP,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAE/B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oFAAoF,EAAE,KAAK,IAAI,EAAE;YAClG,4DAA4D;YAC5D,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;YAEvE,qEAAqE;YACrE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CACvB,EAAE,MAAM,EAAE,EAAE,EAAE,EACd,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,GAAG,CAAC,GAAG,CAChF,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEjC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAE/B,wCAAwC;YACxC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEpC,+DAA+D;YAC/D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;YACxD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAEvC,oCAAoC;YACpC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAEpD,sCAAsC;YACtC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC1D,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3C,MAAM,CAAC,gBAAgB,CAAC,KAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YAC/C,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vitest/Jest Error Extractor Plugin
|
|
3
|
+
*
|
|
4
|
+
* Parses and formats Vitest (and Jest) test failure output for LLM consumption.
|
|
5
|
+
*
|
|
6
|
+
* @package @vibe-validate/extractors
|
|
7
|
+
*/
|
|
8
|
+
import type { ExtractorPlugin } from '../../types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Vitest/Jest Error Extractor Plugin
|
|
11
|
+
*
|
|
12
|
+
* Extracts Vitest and Jest test failures with high confidence (90%).
|
|
13
|
+
* Supports multiple output formats and special error types (runtime, coverage, worker timeouts).
|
|
14
|
+
*/
|
|
15
|
+
declare const vitestPlugin: ExtractorPlugin;
|
|
16
|
+
export default vitestPlugin;
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extractors/vitest/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,gBAAgB,CAAC;AAynBxB;;;;;GAKG;AACH,QAAA,MAAM,YAAY,EAAE,eAiBnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
|