@vibe-validate/extractors 0.18.3-rc.1 → 0.18.4-rc.1
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 +25 -26
- package/dist/extractors/ava/index.js.map +1 -1
- package/dist/extractors/jasmine/index.d.ts.map +1 -1
- package/dist/extractors/jasmine/index.js +32 -38
- package/dist/extractors/jasmine/index.js.map +1 -1
- package/dist/extractors/mocha/index.d.ts.map +1 -1
- package/dist/extractors/mocha/index.js +11 -22
- package/dist/extractors/mocha/index.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/plugin-loader.js.map +1 -1
- 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 +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extractors/ava/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,oBAAoB,EAGrB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extractors/ava/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,oBAAoB,EAGrB,MAAM,gBAAgB,CAAC;AAuCxB;;GAEG;AAEH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAqEzD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAqGlF;AAqTD;;GAEG;AACH,QAAA,MAAM,YAAY,EAAE,eA+DnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { formatCleanOutput } from '../../utils/formatter-utils.js';
|
|
10
10
|
import { generateGuidanceFromPatterns, COMMON_GUIDANCE_PATTERNS, } from '../../utils/guidance-generator.js';
|
|
11
|
+
import { collectLinesUntil, parseStackLocation, COMMON_STACK_PATTERNS, } from '../../utils/parser-utils.js';
|
|
11
12
|
/**
|
|
12
13
|
* Ava-specific guidance patterns
|
|
13
14
|
* Extends common patterns with Ava-specific timeout guidance
|
|
@@ -279,20 +280,24 @@ function parseDetailedBlock(lines, startIndex, failure) {
|
|
|
279
280
|
break;
|
|
280
281
|
}
|
|
281
282
|
// Extract file path: "tests/ava/test.js:28" (appears right after test name header)
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
283
|
+
if (!failure.file) {
|
|
284
|
+
const location = parseStackLocation(trimmed, COMMON_STACK_PATTERNS.simpleFileLine);
|
|
285
|
+
if (location.file) {
|
|
286
|
+
failure.file = location.file;
|
|
287
|
+
failure.line = location.line;
|
|
288
|
+
i++;
|
|
289
|
+
continue;
|
|
290
|
+
}
|
|
288
291
|
}
|
|
289
292
|
// Extract from file:// URL: "› file://tests/ava/test.js:28:5"
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
293
|
+
if (!failure.file) {
|
|
294
|
+
const location = parseStackLocation(trimmed, COMMON_STACK_PATTERNS.avaFileUrl);
|
|
295
|
+
if (location.file) {
|
|
296
|
+
failure.file = location.file;
|
|
297
|
+
failure.line = location.line;
|
|
298
|
+
i++;
|
|
299
|
+
continue;
|
|
300
|
+
}
|
|
296
301
|
}
|
|
297
302
|
// Code snippet marker (line numbers like " 28: code here")
|
|
298
303
|
if (/^\d+:/.exec(trimmed)) {
|
|
@@ -339,20 +344,14 @@ function parseDetailedBlock(lines, startIndex, failure) {
|
|
|
339
344
|
failure.message ??= errorLineMatch[1];
|
|
340
345
|
// Look for file in stack trace (next few lines)
|
|
341
346
|
if (!failure.file && i + 1 < lines.length) {
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
//
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
// Skip node_modules and ava library files
|
|
351
|
-
if (!stackFile.includes('node_modules') && !stackFile.includes('/ava/lib/')) {
|
|
352
|
-
failure.file = stackFile;
|
|
353
|
-
failure.line = Number.parseInt(stackMatch[2], 10);
|
|
354
|
-
break;
|
|
355
|
-
}
|
|
347
|
+
const { lines: stackLines } = collectLinesUntil(lines, i + 1, (_line, index) => index >= i + 10);
|
|
348
|
+
for (const stackLine of stackLines) {
|
|
349
|
+
const location = parseStackLocation(stackLine, COMMON_STACK_PATTERNS.avaFileUrl);
|
|
350
|
+
// Skip node_modules and ava library files
|
|
351
|
+
if (location.file && !location.file.includes('node_modules') && !location.file.includes('/ava/lib/')) {
|
|
352
|
+
failure.file = location.file;
|
|
353
|
+
failure.line = location.line;
|
|
354
|
+
break;
|
|
356
355
|
}
|
|
357
356
|
}
|
|
358
357
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extractors/ava/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extractors/ava/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extractors/jasmine/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extractors/jasmine/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,gBAAgB,CAAC;AAkQxB;;;;;GAKG;AACH,QAAA,MAAM,aAAa,EAAE,eAiBpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @package @vibe-validate/extractors
|
|
7
7
|
*/
|
|
8
|
+
import { collectLinesUntil, parseStackLocation, extractErrorType, } from '../../utils/parser-utils.js';
|
|
8
9
|
import { processTestFailures } from '../../utils/test-framework-utils.js';
|
|
9
10
|
/**
|
|
10
11
|
* Extract failure information from Jasmine output
|
|
@@ -38,53 +39,46 @@ function extractFailures(output) {
|
|
|
38
39
|
if (nextLine.trim() === 'Message:') {
|
|
39
40
|
j++;
|
|
40
41
|
// Collect message lines until we hit "Stack:" or empty line
|
|
41
|
-
const messageLines =
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
if (msgLine.trim() === 'Stack:' || msgLine.trim() === '') {
|
|
45
|
-
break;
|
|
46
|
-
}
|
|
47
|
-
messageLines.push(msgLine.trim());
|
|
48
|
-
j++;
|
|
49
|
-
}
|
|
50
|
-
message = messageLines.join(' ').trim();
|
|
42
|
+
const { lines: messageLines, nextIndex } = collectLinesUntil(lines, j, (line) => line.trim() === 'Stack:' || line.trim() === '');
|
|
43
|
+
j = nextIndex;
|
|
44
|
+
message = messageLines.map((line) => line.trim()).join(' ').trim();
|
|
51
45
|
// Extract error type if present (e.g., "TypeError:", "Error:")
|
|
52
|
-
|
|
53
|
-
if (errorMatch) {
|
|
54
|
-
errorType = errorMatch[1];
|
|
55
|
-
}
|
|
46
|
+
errorType = extractErrorType(message);
|
|
56
47
|
continue;
|
|
57
48
|
}
|
|
58
49
|
// Extract file location from stack trace
|
|
59
50
|
if (nextLine.trim() === 'Stack:') {
|
|
60
51
|
j++;
|
|
61
52
|
// Scan stack trace for file location
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
//
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
// Also try Object.* patterns
|
|
78
|
-
if (!file && stackLine.includes(' (') && stackLine.includes('.js:')) {
|
|
53
|
+
const { lines: stackLines, nextIndex } = collectLinesUntil(lines, j, (line, index) => /^\d+\)\s+/.exec(line) !== null ||
|
|
54
|
+
(line.trim() === '' && /^\d+\)\s+/.exec(lines[index + 1] ?? '') !== null) ||
|
|
55
|
+
index >= i + 40);
|
|
56
|
+
j = nextIndex;
|
|
57
|
+
// Parse stack lines to extract file location
|
|
58
|
+
const jasminePatterns = [
|
|
59
|
+
// UserContext.<anonymous> pattern (Jasmine-specific)
|
|
60
|
+
{
|
|
61
|
+
regex: /UserContext\.<anonymous> \(([^:)]+):(\d+)(?::(\d+))?\)/,
|
|
62
|
+
fileGroup: 1,
|
|
63
|
+
lineGroup: 2,
|
|
64
|
+
columnGroup: 3,
|
|
65
|
+
},
|
|
66
|
+
// Generic function call pattern (fallback)
|
|
67
|
+
{
|
|
79
68
|
// eslint-disable-next-line sonarjs/slow-regex -- Safe: only parses Jasmine test framework stack traces (controlled output), not user input
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
69
|
+
regex: /\(([^:)]+):(\d+)(?::(\d+))?\)/,
|
|
70
|
+
fileGroup: 1,
|
|
71
|
+
lineGroup: 2,
|
|
72
|
+
columnGroup: 3,
|
|
73
|
+
},
|
|
74
|
+
];
|
|
75
|
+
for (const stackLine of stackLines) {
|
|
76
|
+
const location = parseStackLocation(stackLine, jasminePatterns);
|
|
77
|
+
if (location.file) {
|
|
78
|
+
file = location.file;
|
|
79
|
+
lineNumber = location.line;
|
|
80
|
+
break;
|
|
86
81
|
}
|
|
87
|
-
j++;
|
|
88
82
|
}
|
|
89
83
|
continue;
|
|
90
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extractors/jasmine/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extractors/jasmine/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extractors/mocha/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extractors/mocha/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,gBAAgB,CAAC;AA2OxB;;;;;GAKG;AACH,QAAA,MAAM,WAAW,EAAE,eAiBlB,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @package @vibe-validate/extractors
|
|
7
7
|
*/
|
|
8
|
+
import { collectLinesUntil, parseStackLocation, COMMON_STACK_PATTERNS, } from '../../utils/parser-utils.js';
|
|
8
9
|
import { processTestFailures } from '../../utils/test-framework-utils.js';
|
|
9
10
|
/**
|
|
10
11
|
* Extract failure information from Mocha output
|
|
@@ -34,22 +35,14 @@ function extractFailures(output) {
|
|
|
34
35
|
// If simple format, don't try to collect more hierarchy
|
|
35
36
|
if (!isSimpleFormat) {
|
|
36
37
|
// Continue collecting hierarchy lines until we hit blank line or error
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
// Error line marks end of hierarchy
|
|
44
|
-
if (/^\s+(Error|AssertionError|TypeError)/.exec(nextLine)) {
|
|
45
|
-
break;
|
|
46
|
-
}
|
|
47
|
-
// Indented lines are part of hierarchy (at least 5 spaces for Mocha)
|
|
48
|
-
if (/^\s{5,}\S/.exec(nextLine)) {
|
|
49
|
-
const part = nextLine.trim().replace(/:$/, ''); // Remove trailing colon
|
|
38
|
+
const { lines: hierarchyLines, nextIndex } = collectLinesUntil(lines, j, (line) => line.trim() === '' || /^\s+(Error|AssertionError|TypeError)/.exec(line) !== null);
|
|
39
|
+
j = nextIndex;
|
|
40
|
+
// Extract indented hierarchy lines (at least 5 spaces for Mocha)
|
|
41
|
+
for (const line of hierarchyLines) {
|
|
42
|
+
if (/^\s{5,}\S/.exec(line)) {
|
|
43
|
+
const part = line.trim().replace(/:$/, ''); // Remove trailing colon
|
|
50
44
|
testNameParts.push(part);
|
|
51
45
|
}
|
|
52
|
-
j++;
|
|
53
46
|
}
|
|
54
47
|
}
|
|
55
48
|
const testName = testNameParts.join(' > ');
|
|
@@ -79,14 +72,10 @@ function extractFailures(output) {
|
|
|
79
72
|
}
|
|
80
73
|
// Extract file location from stack trace
|
|
81
74
|
if (!file && nextLine.includes('at Context.<anonymous>')) {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
const locationMatch = /at Context\.<anonymous> \((?:file:\/\/)?([^:)]+):(\d+)(?::(\d+))?\)/.exec(nextLine);
|
|
87
|
-
if (locationMatch) {
|
|
88
|
-
file = locationMatch[1];
|
|
89
|
-
lineNumber = Number.parseInt(locationMatch[2], 10);
|
|
75
|
+
const location = parseStackLocation(nextLine, COMMON_STACK_PATTERNS.contextAnonymous);
|
|
76
|
+
if (location.file) {
|
|
77
|
+
file = location.file;
|
|
78
|
+
lineNumber = location.line;
|
|
90
79
|
}
|
|
91
80
|
}
|
|
92
81
|
// Extract file from timeout error messages: "Error: Timeout... (/path/to/file.js)"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extractors/mocha/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extractors/mocha/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extractors/tap/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extractors/tap/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,oBAAoB,EAGrB,MAAM,gBAAgB,CAAC;AAgDxB;;GAEG;AAEH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAwDzD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAkGlF;AAuID;;GAEG;AACH,QAAA,MAAM,YAAY,EAAE,eA2DnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { formatCleanOutput } from '../../utils/formatter-utils.js';
|
|
10
10
|
import { generateGuidanceFromPatterns } from '../../utils/guidance-generator.js';
|
|
11
|
+
import { collectLinesUntil, parseStackLocation, } from '../../utils/parser-utils.js';
|
|
11
12
|
/**
|
|
12
13
|
* TAP-specific guidance patterns
|
|
13
14
|
* TAP uses detectErrorType() which returns specific keys, so we map those to guidance
|
|
@@ -209,9 +210,10 @@ function extractFailures(output) {
|
|
|
209
210
|
if (i + 1 < lines.length && lines[i + 1].trim() === '---') {
|
|
210
211
|
i += 2; // Skip "not ok" line and "---" line
|
|
211
212
|
// Parse YAML block until we hit "..."
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
213
|
+
const { lines: yamlLines, nextIndex } = collectLinesUntil(lines, i, (line) => line.trim().startsWith('...'));
|
|
214
|
+
i = nextIndex;
|
|
215
|
+
// Extract location from "at:" field
|
|
216
|
+
for (const yamlLine of yamlLines) {
|
|
215
217
|
// Format: "at: Test.<anonymous> (file:///path/to/file.js:line:col)"
|
|
216
218
|
// or: "at: file.js:line:col"
|
|
217
219
|
// eslint-disable-next-line sonarjs/slow-regex -- Safe: only parses TAP test framework YAML diagnostics (controlled output), not user input
|
|
@@ -223,8 +225,8 @@ function extractFailures(output) {
|
|
|
223
225
|
failure.file = file;
|
|
224
226
|
if (line)
|
|
225
227
|
failure.line = line;
|
|
228
|
+
break;
|
|
226
229
|
}
|
|
227
|
-
i++;
|
|
228
230
|
}
|
|
229
231
|
}
|
|
230
232
|
// Detect error type and add guidance
|
|
@@ -246,22 +248,24 @@ function extractFailures(output) {
|
|
|
246
248
|
* - file.js:28:5
|
|
247
249
|
*/
|
|
248
250
|
function parseLocation(location) {
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
251
|
+
const tapPatterns = [
|
|
252
|
+
// Pattern 1: Function call with parentheses and file:// URL
|
|
253
|
+
{
|
|
254
|
+
// eslint-disable-next-line sonarjs/slow-regex -- Safe: only parses TAP test framework location strings (controlled output), not user input
|
|
255
|
+
regex: /\((?:file:\/\/)?([^:)]+):(\d+):(\d+)\)/,
|
|
256
|
+
fileGroup: 1,
|
|
257
|
+
lineGroup: 2,
|
|
258
|
+
columnGroup: 3,
|
|
259
|
+
},
|
|
260
|
+
// Pattern 2: Direct file path with line and column
|
|
261
|
+
{
|
|
262
|
+
regex: /^(?:file:\/\/)?([^:]+):(\d+):(\d+)$/,
|
|
263
|
+
fileGroup: 1,
|
|
264
|
+
lineGroup: 2,
|
|
265
|
+
columnGroup: 3,
|
|
266
|
+
},
|
|
267
|
+
];
|
|
268
|
+
return parseStackLocation(location, tapPatterns);
|
|
265
269
|
}
|
|
266
270
|
/**
|
|
267
271
|
* Detect error type from message
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extractors/tap/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extractors/tap/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../src/plugin-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAqBzC;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAG5B;IAFlB,YACE,OAAe,EACC,aAAqB;QAErC,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,kBAAa,GAAb,aAAa,CAAQ;QAGrC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAoB;IACnD,IAAI,MAAe,CAAC;IACpB,IAAI,UAAkB,CAAC;IAEvB,IAAI,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,sBAAsB;YACtB,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;YAC/C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;YACrC,MAAM,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,wBAAwB;YACxB,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;YAC5B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC;QACpC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,qBAAqB,CAC7B,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAClF,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CACtD,CAAC;IACJ,CAAC;IAED,4BAA4B;IAC5B,uBAAuB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAE5C,OAAO,
|
|
1
|
+
{"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../src/plugin-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared parser utilities for test framework extractors
|
|
3
|
+
*
|
|
4
|
+
* Common patterns extracted from jasmine/mocha/ava/tap extractors to reduce duplication.
|
|
5
|
+
* These utilities handle multi-line collection, stack trace parsing, and error type detection.
|
|
6
|
+
*
|
|
7
|
+
* @package @vibe-validate/extractors
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Collect lines from an array until a condition is met
|
|
11
|
+
*
|
|
12
|
+
* @param lines - Array of lines to iterate through
|
|
13
|
+
* @param startIndex - Index to start collecting from
|
|
14
|
+
* @param shouldStop - Function that returns true when collection should stop
|
|
15
|
+
* @returns Object containing collected lines and the next index to process
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* // Collect until blank line or specific marker
|
|
19
|
+
* const { lines: messageLines, nextIndex } = collectLinesUntil(
|
|
20
|
+
* allLines,
|
|
21
|
+
* i + 1,
|
|
22
|
+
* (line) => line.trim() === '' || line.includes('Stack:')
|
|
23
|
+
* );
|
|
24
|
+
*/
|
|
25
|
+
export declare function collectLinesUntil(lines: string[], startIndex: number, shouldStop: (_line: string, _index: number) => boolean): {
|
|
26
|
+
lines: string[];
|
|
27
|
+
nextIndex: number;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Configuration for stack location pattern matching
|
|
31
|
+
*/
|
|
32
|
+
export interface StackLocationPattern {
|
|
33
|
+
/** Regular expression to match the stack line */
|
|
34
|
+
regex: RegExp;
|
|
35
|
+
/** Capture group index for file path (1-based) */
|
|
36
|
+
fileGroup: number;
|
|
37
|
+
/** Capture group index for line number (1-based) */
|
|
38
|
+
lineGroup: number;
|
|
39
|
+
/** Optional capture group index for column number (1-based) */
|
|
40
|
+
columnGroup?: number;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Parsed location from stack trace
|
|
44
|
+
*/
|
|
45
|
+
export interface ParsedLocation {
|
|
46
|
+
/** File path */
|
|
47
|
+
file?: string;
|
|
48
|
+
/** Line number */
|
|
49
|
+
line?: number;
|
|
50
|
+
/** Column number (if available) */
|
|
51
|
+
column?: number;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Parse a stack trace line to extract file location
|
|
55
|
+
*
|
|
56
|
+
* Handles multiple common stack trace formats:
|
|
57
|
+
* - file:///path/to/file.js:line:col
|
|
58
|
+
* - /absolute/path/file.js:line:col
|
|
59
|
+
* - relative/path/file.js:line:col
|
|
60
|
+
* - at Context.<anonymous> (path:line:col)
|
|
61
|
+
* - at UserContext.<anonymous> (path:line:col)
|
|
62
|
+
*
|
|
63
|
+
* @param line - Stack trace line to parse
|
|
64
|
+
* @param patterns - Array of patterns to try in order
|
|
65
|
+
* @returns Parsed location or empty object if no match
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* const location = parseStackLocation(
|
|
69
|
+
* 'at Context.<anonymous> (test.js:42:10)',
|
|
70
|
+
* [{
|
|
71
|
+
* regex: /at Context\.<anonymous> \(([^:)]+):(\d+)(?::(\d+))?\)/,
|
|
72
|
+
* fileGroup: 1,
|
|
73
|
+
* lineGroup: 2,
|
|
74
|
+
* columnGroup: 3
|
|
75
|
+
* }]
|
|
76
|
+
* );
|
|
77
|
+
*/
|
|
78
|
+
export declare function parseStackLocation(line: string, patterns: StackLocationPattern[]): ParsedLocation;
|
|
79
|
+
/**
|
|
80
|
+
* Extract error type from error message
|
|
81
|
+
*
|
|
82
|
+
* Detects common error type prefixes like:
|
|
83
|
+
* - "TypeError: message"
|
|
84
|
+
* - "AssertionError [ERR_ASSERTION]: message"
|
|
85
|
+
* - "Error: message"
|
|
86
|
+
*
|
|
87
|
+
* @param message - Error message to analyze
|
|
88
|
+
* @returns Error type (e.g., "TypeError") or undefined if none detected
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* extractErrorType("TypeError: Cannot read properties of null")
|
|
92
|
+
* // Returns: "TypeError"
|
|
93
|
+
*
|
|
94
|
+
* extractErrorType("AssertionError [ERR_ASSERTION]: Expected 1 to equal 2")
|
|
95
|
+
* // Returns: "AssertionError"
|
|
96
|
+
*/
|
|
97
|
+
export declare function extractErrorType(message: string): string | undefined;
|
|
98
|
+
/**
|
|
99
|
+
* Common stack location patterns for popular test frameworks
|
|
100
|
+
*/
|
|
101
|
+
export declare const COMMON_STACK_PATTERNS: {
|
|
102
|
+
/**
|
|
103
|
+
* Mocha/Jasmine patterns for Context.<anonymous> and UserContext.<anonymous>
|
|
104
|
+
*/
|
|
105
|
+
contextAnonymous: StackLocationPattern[];
|
|
106
|
+
/**
|
|
107
|
+
* Generic stack trace pattern for any function call
|
|
108
|
+
*/
|
|
109
|
+
generic: StackLocationPattern[];
|
|
110
|
+
/**
|
|
111
|
+
* Ava file:// URL format
|
|
112
|
+
*/
|
|
113
|
+
avaFileUrl: StackLocationPattern[];
|
|
114
|
+
/**
|
|
115
|
+
* Simple file:line format (used by some frameworks)
|
|
116
|
+
*/
|
|
117
|
+
simpleFileLine: StackLocationPattern[];
|
|
118
|
+
};
|
|
119
|
+
//# sourceMappingURL=parser-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser-utils.d.ts","sourceRoot":"","sources":["../../src/utils/parser-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EAAE,EACf,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,GACrD;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAcxC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,oBAAoB,EAAE,GAC/B,cAAc,CAehB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIpE;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB;IAChC;;OAEG;sBASE,oBAAoB,EAAE;IAE3B;;OAEG;aASE,oBAAoB,EAAE;IAE3B;;OAEG;gBAgBE,oBAAoB,EAAE;IAE3B;;OAEG;oBAOE,oBAAoB,EAAE;CAC5B,CAAC"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared parser utilities for test framework extractors
|
|
3
|
+
*
|
|
4
|
+
* Common patterns extracted from jasmine/mocha/ava/tap extractors to reduce duplication.
|
|
5
|
+
* These utilities handle multi-line collection, stack trace parsing, and error type detection.
|
|
6
|
+
*
|
|
7
|
+
* @package @vibe-validate/extractors
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Collect lines from an array until a condition is met
|
|
11
|
+
*
|
|
12
|
+
* @param lines - Array of lines to iterate through
|
|
13
|
+
* @param startIndex - Index to start collecting from
|
|
14
|
+
* @param shouldStop - Function that returns true when collection should stop
|
|
15
|
+
* @returns Object containing collected lines and the next index to process
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* // Collect until blank line or specific marker
|
|
19
|
+
* const { lines: messageLines, nextIndex } = collectLinesUntil(
|
|
20
|
+
* allLines,
|
|
21
|
+
* i + 1,
|
|
22
|
+
* (line) => line.trim() === '' || line.includes('Stack:')
|
|
23
|
+
* );
|
|
24
|
+
*/
|
|
25
|
+
export function collectLinesUntil(lines, startIndex, shouldStop) {
|
|
26
|
+
const collected = [];
|
|
27
|
+
let j = startIndex;
|
|
28
|
+
while (j < lines.length) {
|
|
29
|
+
const currentLine = lines[j];
|
|
30
|
+
if (shouldStop(currentLine, j)) {
|
|
31
|
+
break;
|
|
32
|
+
}
|
|
33
|
+
collected.push(currentLine);
|
|
34
|
+
j++;
|
|
35
|
+
}
|
|
36
|
+
return { lines: collected, nextIndex: j };
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Parse a stack trace line to extract file location
|
|
40
|
+
*
|
|
41
|
+
* Handles multiple common stack trace formats:
|
|
42
|
+
* - file:///path/to/file.js:line:col
|
|
43
|
+
* - /absolute/path/file.js:line:col
|
|
44
|
+
* - relative/path/file.js:line:col
|
|
45
|
+
* - at Context.<anonymous> (path:line:col)
|
|
46
|
+
* - at UserContext.<anonymous> (path:line:col)
|
|
47
|
+
*
|
|
48
|
+
* @param line - Stack trace line to parse
|
|
49
|
+
* @param patterns - Array of patterns to try in order
|
|
50
|
+
* @returns Parsed location or empty object if no match
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* const location = parseStackLocation(
|
|
54
|
+
* 'at Context.<anonymous> (test.js:42:10)',
|
|
55
|
+
* [{
|
|
56
|
+
* regex: /at Context\.<anonymous> \(([^:)]+):(\d+)(?::(\d+))?\)/,
|
|
57
|
+
* fileGroup: 1,
|
|
58
|
+
* lineGroup: 2,
|
|
59
|
+
* columnGroup: 3
|
|
60
|
+
* }]
|
|
61
|
+
* );
|
|
62
|
+
*/
|
|
63
|
+
export function parseStackLocation(line, patterns) {
|
|
64
|
+
for (const pattern of patterns) {
|
|
65
|
+
const match = pattern.regex.exec(line);
|
|
66
|
+
if (match) {
|
|
67
|
+
const file = match[pattern.fileGroup];
|
|
68
|
+
const lineStr = match[pattern.lineGroup];
|
|
69
|
+
const line = lineStr ? Number.parseInt(lineStr, 10) : undefined;
|
|
70
|
+
const columnStr = pattern.columnGroup ? match[pattern.columnGroup] : undefined;
|
|
71
|
+
const column = columnStr ? Number.parseInt(columnStr, 10) : undefined;
|
|
72
|
+
return { file, line, column };
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return {};
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Extract error type from error message
|
|
79
|
+
*
|
|
80
|
+
* Detects common error type prefixes like:
|
|
81
|
+
* - "TypeError: message"
|
|
82
|
+
* - "AssertionError [ERR_ASSERTION]: message"
|
|
83
|
+
* - "Error: message"
|
|
84
|
+
*
|
|
85
|
+
* @param message - Error message to analyze
|
|
86
|
+
* @returns Error type (e.g., "TypeError") or undefined if none detected
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* extractErrorType("TypeError: Cannot read properties of null")
|
|
90
|
+
* // Returns: "TypeError"
|
|
91
|
+
*
|
|
92
|
+
* extractErrorType("AssertionError [ERR_ASSERTION]: Expected 1 to equal 2")
|
|
93
|
+
* // Returns: "AssertionError"
|
|
94
|
+
*/
|
|
95
|
+
export function extractErrorType(message) {
|
|
96
|
+
// eslint-disable-next-line security/detect-unsafe-regex -- Safe: only parses controlled test framework error messages, not user input
|
|
97
|
+
const errorMatch = /^([A-Za-z]*Error)(?:\s\[\w+\])?\s*:/.exec(message);
|
|
98
|
+
return errorMatch ? errorMatch[1] : undefined;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Common stack location patterns for popular test frameworks
|
|
102
|
+
*/
|
|
103
|
+
export const COMMON_STACK_PATTERNS = {
|
|
104
|
+
/**
|
|
105
|
+
* Mocha/Jasmine patterns for Context.<anonymous> and UserContext.<anonymous>
|
|
106
|
+
*/
|
|
107
|
+
contextAnonymous: [
|
|
108
|
+
{
|
|
109
|
+
// eslint-disable-next-line security/detect-unsafe-regex -- Safe: only parses controlled test framework output, not user input
|
|
110
|
+
regex: /at (?:User)?Context\.<anonymous> \((?:file:\/\/)?([^:)]+):(\d+)(?::(\d+))?\)/,
|
|
111
|
+
fileGroup: 1,
|
|
112
|
+
lineGroup: 2,
|
|
113
|
+
columnGroup: 3,
|
|
114
|
+
},
|
|
115
|
+
],
|
|
116
|
+
/**
|
|
117
|
+
* Generic stack trace pattern for any function call
|
|
118
|
+
*/
|
|
119
|
+
generic: [
|
|
120
|
+
{
|
|
121
|
+
// eslint-disable-next-line security/detect-unsafe-regex -- Safe: only parses controlled test framework output, not user input
|
|
122
|
+
regex: /at .+ \((?:file:\/\/)?([^:)]+):(\d+)(?::(\d+))?\)/,
|
|
123
|
+
fileGroup: 1,
|
|
124
|
+
lineGroup: 2,
|
|
125
|
+
columnGroup: 3,
|
|
126
|
+
},
|
|
127
|
+
],
|
|
128
|
+
/**
|
|
129
|
+
* Ava file:// URL format
|
|
130
|
+
*/
|
|
131
|
+
avaFileUrl: [
|
|
132
|
+
{
|
|
133
|
+
// eslint-disable-next-line security/detect-unsafe-regex -- Safe: only parses controlled test framework output, not user input
|
|
134
|
+
regex: /› file:\/\/([^:]+):(\d+)(?::(\d+))?/,
|
|
135
|
+
fileGroup: 1,
|
|
136
|
+
lineGroup: 2,
|
|
137
|
+
columnGroup: 3,
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
// eslint-disable-next-line security/detect-unsafe-regex -- Safe: only parses controlled test framework output, not user input
|
|
141
|
+
regex: /at file:\/\/([^:]+):(\d+)(?::(\d+))?/,
|
|
142
|
+
fileGroup: 1,
|
|
143
|
+
lineGroup: 2,
|
|
144
|
+
columnGroup: 3,
|
|
145
|
+
},
|
|
146
|
+
],
|
|
147
|
+
/**
|
|
148
|
+
* Simple file:line format (used by some frameworks)
|
|
149
|
+
*/
|
|
150
|
+
simpleFileLine: [
|
|
151
|
+
{
|
|
152
|
+
regex: /^([^:]+\.(?:js|ts|mjs|cjs)):(\d+)$/,
|
|
153
|
+
fileGroup: 1,
|
|
154
|
+
lineGroup: 2,
|
|
155
|
+
},
|
|
156
|
+
],
|
|
157
|
+
};
|
|
158
|
+
//# sourceMappingURL=parser-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser-utils.js","sourceRoot":"","sources":["../../src/utils/parser-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser-utils.test.d.ts","sourceRoot":"","sources":["../../src/utils/parser-utils.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -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.1",
|
|
4
4
|
"description": "LLM-optimized error extractors for validation output",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -47,7 +47,7 @@
|
|
|
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.1"
|
|
51
51
|
},
|
|
52
52
|
"engines": {
|
|
53
53
|
"node": ">=20.0.0"
|