@vibe-validate/extractors 0.18.3 → 0.18.4-rc.2
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/extractors/ava/index.d.ts.map +1 -1
- package/dist/extractors/ava/index.js +37 -33
- package/dist/extractors/ava/index.js.map +1 -1
- package/dist/extractors/ava/index.test.js +16 -18
- package/dist/extractors/ava/index.test.js.map +1 -1
- package/dist/extractors/eslint/index.d.ts.map +1 -1
- package/dist/extractors/eslint/index.js +7 -4
- package/dist/extractors/eslint/index.js.map +1 -1
- package/dist/extractors/eslint/index.test.js +8 -7
- package/dist/extractors/eslint/index.test.js.map +1 -1
- package/dist/extractors/generic/index.test.js +6 -4
- package/dist/extractors/generic/index.test.js.map +1 -1
- package/dist/extractors/jasmine/index.d.ts.map +1 -1
- package/dist/extractors/jasmine/index.js +33 -38
- package/dist/extractors/jasmine/index.js.map +1 -1
- package/dist/extractors/jasmine/index.test.js +7 -15
- package/dist/extractors/jasmine/index.test.js.map +1 -1
- package/dist/extractors/jest/index.d.ts.map +1 -1
- package/dist/extractors/jest/index.js +2 -1
- package/dist/extractors/jest/index.js.map +1 -1
- package/dist/extractors/jest/index.test.js +1 -1
- package/dist/extractors/jest/index.test.js.map +1 -1
- package/dist/extractors/junit/index.d.ts.map +1 -1
- package/dist/extractors/junit/index.js +7 -3
- package/dist/extractors/junit/index.js.map +1 -1
- package/dist/extractors/junit/index.test.js +4 -2
- package/dist/extractors/junit/index.test.js.map +1 -1
- package/dist/extractors/maven-checkstyle/index.d.ts.map +1 -1
- package/dist/extractors/maven-checkstyle/index.js +7 -36
- package/dist/extractors/maven-checkstyle/index.js.map +1 -1
- package/dist/extractors/maven-checkstyle/index.test.js +3 -19
- package/dist/extractors/maven-checkstyle/index.test.js.map +1 -1
- package/dist/extractors/maven-compiler/index.d.ts.map +1 -1
- package/dist/extractors/maven-compiler/index.js +7 -36
- package/dist/extractors/maven-compiler/index.js.map +1 -1
- package/dist/extractors/maven-surefire/index.d.ts.map +1 -1
- package/dist/extractors/maven-surefire/index.js +9 -19
- package/dist/extractors/maven-surefire/index.js.map +1 -1
- package/dist/extractors/maven-surefire/index.test.js +4 -19
- package/dist/extractors/maven-surefire/index.test.js.map +1 -1
- package/dist/extractors/mocha/index.d.ts.map +1 -1
- package/dist/extractors/mocha/index.js +12 -22
- package/dist/extractors/mocha/index.js.map +1 -1
- package/dist/extractors/mocha/index.test.js +6 -13
- package/dist/extractors/mocha/index.test.js.map +1 -1
- package/dist/extractors/playwright/index.d.ts.map +1 -1
- package/dist/extractors/playwright/index.js +2 -1
- package/dist/extractors/playwright/index.js.map +1 -1
- package/dist/extractors/playwright/index.test.js +8 -12
- package/dist/extractors/playwright/index.test.js.map +1 -1
- package/dist/extractors/tap/index.d.ts.map +1 -1
- package/dist/extractors/tap/index.js +24 -20
- package/dist/extractors/tap/index.js.map +1 -1
- package/dist/extractors/tap/index.test.js +6 -4
- package/dist/extractors/tap/index.test.js.map +1 -1
- package/dist/extractors/vitest/index.d.ts.map +1 -1
- package/dist/extractors/vitest/index.js +4 -2
- package/dist/extractors/vitest/index.js.map +1 -1
- package/dist/extractors/vitest/index.test.js +1 -0
- package/dist/extractors/vitest/index.test.js.map +1 -1
- package/dist/plugin-loader.js +0 -1
- package/dist/plugin-loader.js.map +1 -1
- package/dist/sandboxed-extractor.js +1 -3
- package/dist/sandboxed-extractor.js.map +1 -1
- package/dist/test/helpers/extractor-test-helpers.d.ts +67 -0
- package/dist/test/helpers/extractor-test-helpers.d.ts.map +1 -1
- package/dist/test/helpers/extractor-test-helpers.js +97 -0
- package/dist/test/helpers/extractor-test-helpers.js.map +1 -1
- package/dist/utils/maven-extractor-utils.d.ts +26 -0
- package/dist/utils/maven-extractor-utils.d.ts.map +1 -0
- package/dist/utils/maven-extractor-utils.js +55 -0
- package/dist/utils/maven-extractor-utils.js.map +1 -0
- package/dist/utils/parser-utils.d.ts +119 -0
- package/dist/utils/parser-utils.d.ts.map +1 -0
- package/dist/utils/parser-utils.js +158 -0
- package/dist/utils/parser-utils.js.map +1 -0
- package/dist/utils/parser-utils.test.d.ts +7 -0
- package/dist/utils/parser-utils.test.d.ts.map +1 -0
- package/dist/utils/parser-utils.test.js +147 -0
- package/dist/utils/parser-utils.test.js.map +1 -0
- package/package.json +3 -2
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for parser-utils.ts shared parsing utilities
|
|
3
|
+
*
|
|
4
|
+
* @package @vibe-validate/extractors
|
|
5
|
+
*/
|
|
6
|
+
/* eslint-disable sonarjs/publicly-writable-directories -- Test file: all /tmp/ references are in expected output objects for parsing tests, not actual file operations */
|
|
7
|
+
import { describe, it, expect } from 'vitest';
|
|
8
|
+
import { collectLinesUntil, parseStackLocation, extractErrorType, COMMON_STACK_PATTERNS, } from './parser-utils.js';
|
|
9
|
+
// ============================================================================
|
|
10
|
+
// TEST HELPERS - DRY pattern for assertions
|
|
11
|
+
// ============================================================================
|
|
12
|
+
/**
|
|
13
|
+
* Helper: Assert parseStackLocation result matches expected location
|
|
14
|
+
*/
|
|
15
|
+
function expectParsedLocation(line, patterns, expected) {
|
|
16
|
+
const result = parseStackLocation(line, patterns);
|
|
17
|
+
expect(result).toEqual(expected);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Helper: Assert extractErrorType returns expected type
|
|
21
|
+
*/
|
|
22
|
+
function expectErrorType(message, expectedType) {
|
|
23
|
+
const result = extractErrorType(message);
|
|
24
|
+
if (expectedType === undefined) {
|
|
25
|
+
expect(result).toBeUndefined();
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
expect(result).toBe(expectedType);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
describe('collectLinesUntil', () => {
|
|
32
|
+
it('should collect lines until condition is met', () => {
|
|
33
|
+
const lines = ['line1', 'line2', 'STOP', 'line4', 'line5'];
|
|
34
|
+
const result = collectLinesUntil(lines, 0, (line) => line === 'STOP');
|
|
35
|
+
expect(result.lines).toEqual(['line1', 'line2']);
|
|
36
|
+
expect(result.nextIndex).toBe(2);
|
|
37
|
+
});
|
|
38
|
+
it('should collect all remaining lines if condition never met', () => {
|
|
39
|
+
const lines = ['line1', 'line2', 'line3'];
|
|
40
|
+
const result = collectLinesUntil(lines, 0, (line) => line === 'NEVER');
|
|
41
|
+
expect(result.lines).toEqual(['line1', 'line2', 'line3']);
|
|
42
|
+
expect(result.nextIndex).toBe(3);
|
|
43
|
+
});
|
|
44
|
+
it('should start from specified index', () => {
|
|
45
|
+
const lines = ['skip', 'skip', 'collect1', 'collect2', 'STOP'];
|
|
46
|
+
const result = collectLinesUntil(lines, 2, (line) => line === 'STOP');
|
|
47
|
+
expect(result.lines).toEqual(['collect1', 'collect2']);
|
|
48
|
+
expect(result.nextIndex).toBe(4);
|
|
49
|
+
});
|
|
50
|
+
it('should handle empty line condition', () => {
|
|
51
|
+
const lines = ['line1', 'line2', '', 'line4'];
|
|
52
|
+
const result = collectLinesUntil(lines, 0, (line) => line.trim() === '');
|
|
53
|
+
expect(result.lines).toEqual(['line1', 'line2']);
|
|
54
|
+
expect(result.nextIndex).toBe(2);
|
|
55
|
+
});
|
|
56
|
+
it('should provide index to shouldStop callback', () => {
|
|
57
|
+
const lines = ['line1', 'line2', 'line3', 'line4'];
|
|
58
|
+
const result = collectLinesUntil(lines, 0, (_line, index) => index >= 2);
|
|
59
|
+
expect(result.lines).toEqual(['line1', 'line2']);
|
|
60
|
+
expect(result.nextIndex).toBe(2);
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
describe('parseStackLocation', () => {
|
|
64
|
+
describe('Context.<anonymous> patterns (Mocha)', () => {
|
|
65
|
+
it('should parse Context.<anonymous> with file URL', () => {
|
|
66
|
+
expectParsedLocation(' at Context.<anonymous> (file:///tmp/test.js:42:10)', COMMON_STACK_PATTERNS.contextAnonymous, { file: '/tmp/test.js', line: 42, column: 10 });
|
|
67
|
+
});
|
|
68
|
+
it('should parse Context.<anonymous> without file URL', () => {
|
|
69
|
+
expectParsedLocation(' at Context.<anonymous> (test.js:42:10)', COMMON_STACK_PATTERNS.contextAnonymous, { file: 'test.js', line: 42, column: 10 });
|
|
70
|
+
});
|
|
71
|
+
it('should parse Context.<anonymous> without column', () => {
|
|
72
|
+
expectParsedLocation(' at Context.<anonymous> (/path/to/test.js:42)', COMMON_STACK_PATTERNS.contextAnonymous, { file: '/path/to/test.js', line: 42, column: undefined });
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
describe('UserContext.<anonymous> patterns (Jasmine)', () => {
|
|
76
|
+
it('should parse UserContext.<anonymous>', () => {
|
|
77
|
+
expectParsedLocation(' at UserContext.<anonymous> (/private/tmp/jasmine-test.js:9:17)', COMMON_STACK_PATTERNS.contextAnonymous, { file: '/private/tmp/jasmine-test.js', line: 9, column: 17 });
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
describe('Ava file:// URL patterns', () => {
|
|
81
|
+
it('should parse › file:// format', () => {
|
|
82
|
+
expectParsedLocation(' › file:///Users/jeff/project/tests/ava/test.js:28:5', COMMON_STACK_PATTERNS.avaFileUrl, { file: '/Users/jeff/project/tests/ava/test.js', line: 28, column: 5 });
|
|
83
|
+
});
|
|
84
|
+
it('should parse at file:// format', () => {
|
|
85
|
+
expectParsedLocation(' at file:///tmp/test.js:118:21', COMMON_STACK_PATTERNS.avaFileUrl, { file: '/tmp/test.js', line: 118, column: 21 });
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
describe('Simple file:line format', () => {
|
|
89
|
+
it('should parse file.js:line format', () => {
|
|
90
|
+
expectParsedLocation('tests/unit/helpers.test.js:128', COMMON_STACK_PATTERNS.simpleFileLine, { file: 'tests/unit/helpers.test.js', line: 128, column: undefined });
|
|
91
|
+
});
|
|
92
|
+
it('should parse various file extensions', () => {
|
|
93
|
+
const extensions = ['js', 'ts', 'mjs', 'cjs'];
|
|
94
|
+
for (const ext of extensions) {
|
|
95
|
+
const line = `test.${ext}:42`;
|
|
96
|
+
const result = parseStackLocation(line, COMMON_STACK_PATTERNS.simpleFileLine);
|
|
97
|
+
expect(result.file).toBe(`test.${ext}`);
|
|
98
|
+
expect(result.line).toBe(42);
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
describe('Generic stack patterns', () => {
|
|
103
|
+
it('should parse generic at function pattern', () => {
|
|
104
|
+
expectParsedLocation(' at Object.someFunction (test.js:42:15)', COMMON_STACK_PATTERNS.generic, { file: 'test.js', line: 42, column: 15 });
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
it('should return empty object when no patterns match', () => {
|
|
108
|
+
expectParsedLocation('some random line with no location', COMMON_STACK_PATTERNS.contextAnonymous, {});
|
|
109
|
+
});
|
|
110
|
+
it('should try patterns in order and return first match', () => {
|
|
111
|
+
const patterns = [
|
|
112
|
+
...COMMON_STACK_PATTERNS.simpleFileLine, // Won't match
|
|
113
|
+
...COMMON_STACK_PATTERNS.contextAnonymous, // Will match
|
|
114
|
+
];
|
|
115
|
+
expectParsedLocation(' at Context.<anonymous> (test.js:10:5)', patterns, { file: 'test.js', line: 10, column: 5 });
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
describe('extractErrorType', () => {
|
|
119
|
+
it('should extract TypeError', () => {
|
|
120
|
+
expectErrorType("TypeError: Cannot read properties of null (reading 'value')", 'TypeError');
|
|
121
|
+
});
|
|
122
|
+
it('should extract AssertionError', () => {
|
|
123
|
+
expectErrorType('AssertionError: Expected 4 to equal 5', 'AssertionError');
|
|
124
|
+
});
|
|
125
|
+
it('should extract AssertionError with code', () => {
|
|
126
|
+
expectErrorType('AssertionError [ERR_ASSERTION]: Expected 1 to equal 2', 'AssertionError');
|
|
127
|
+
});
|
|
128
|
+
it('should extract plain Error', () => {
|
|
129
|
+
expectErrorType('Error: ENOENT: no such file or directory', 'Error');
|
|
130
|
+
});
|
|
131
|
+
it('should extract ReferenceError', () => {
|
|
132
|
+
expectErrorType('ReferenceError: foo is not defined', 'ReferenceError');
|
|
133
|
+
});
|
|
134
|
+
it('should extract custom error types', () => {
|
|
135
|
+
expectErrorType('ValidationError: Invalid input format', 'ValidationError');
|
|
136
|
+
});
|
|
137
|
+
it('should return undefined for messages without error type', () => {
|
|
138
|
+
expectErrorType('Expected 4 to equal 5');
|
|
139
|
+
});
|
|
140
|
+
it('should return undefined for non-error messages', () => {
|
|
141
|
+
expectErrorType('Some random text');
|
|
142
|
+
});
|
|
143
|
+
it('should handle messages with colons but no error type', () => {
|
|
144
|
+
expectErrorType('Warning: This is not an error');
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
//# sourceMappingURL=parser-utils.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser-utils.test.js","sourceRoot":"","sources":["../../src/utils/parser-utils.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibe-validate/extractors",
|
|
3
|
-
"version": "0.18.
|
|
3
|
+
"version": "0.18.4-rc.2",
|
|
4
4
|
"description": "LLM-optimized error extractors for validation output",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -47,7 +47,8 @@
|
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"zod": "^3.25.76",
|
|
49
49
|
"zod-to-json-schema": "^3.25.0",
|
|
50
|
-
"@vibe-validate/config": "0.18.
|
|
50
|
+
"@vibe-validate/config": "0.18.4-rc.2",
|
|
51
|
+
"@vibe-validate/utils": "0.18.4-rc.2"
|
|
51
52
|
},
|
|
52
53
|
"engines": {
|
|
53
54
|
"node": ">=20.0.0"
|