@paretools/build 0.8.5 → 0.10.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/README.md +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/build-runner.d.ts +2 -2
- package/dist/lib/build-runner.d.ts.map +1 -1
- package/dist/lib/build-runner.js +6 -6
- package/dist/lib/build-runner.js.map +1 -1
- package/dist/lib/formatters.d.ts +1 -0
- package/dist/lib/formatters.d.ts.map +1 -1
- package/dist/lib/formatters.js +61 -9
- package/dist/lib/formatters.js.map +1 -1
- package/dist/lib/parsers.d.ts +14 -5
- package/dist/lib/parsers.d.ts.map +1 -1
- package/dist/lib/parsers.js +336 -28
- package/dist/lib/parsers.js.map +1 -1
- package/dist/schemas/index.d.ts +126 -4
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +51 -2
- package/dist/schemas/index.js.map +1 -1
- package/dist/tools/build.d.ts.map +1 -1
- package/dist/tools/build.js +29 -12
- package/dist/tools/build.js.map +1 -1
- package/dist/tools/esbuild.d.ts.map +1 -1
- package/dist/tools/esbuild.js +130 -19
- package/dist/tools/esbuild.js.map +1 -1
- package/dist/tools/nx.d.ts.map +1 -1
- package/dist/tools/nx.js +85 -14
- package/dist/tools/nx.js.map +1 -1
- package/dist/tools/tsc.d.ts.map +1 -1
- package/dist/tools/tsc.js +48 -10
- package/dist/tools/tsc.js.map +1 -1
- package/dist/tools/turbo.d.ts.map +1 -1
- package/dist/tools/turbo.js +97 -13
- package/dist/tools/turbo.js.map +1 -1
- package/dist/tools/vite-build.d.ts.map +1 -1
- package/dist/tools/vite-build.js +83 -15
- package/dist/tools/vite-build.js.map +1 -1
- package/dist/tools/webpack.d.ts.map +1 -1
- package/dist/tools/webpack.js +78 -15
- package/dist/tools/webpack.js.map +1 -1
- package/package.json +2 -2
package/dist/lib/parsers.js
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
// tsc output format: file(line,col): error TSxxxx: message
|
|
2
2
|
const TSC_DIAGNOSTIC_RE = /^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS(\d+):\s+(.+)$/;
|
|
3
|
+
const TSC_SUMMARY_RE = /^Found\s+(\d+)\s+errors?\s+in\s+(\d+)\s+files?\./;
|
|
4
|
+
const TSC_EMITTED_FILE_RE = /^TSFILE:\s+(.+)$/;
|
|
3
5
|
/** Parses TypeScript compiler (`tsc`) output into structured diagnostics with file, line, and error code. */
|
|
4
6
|
export function parseTscOutput(stdout, stderr, exitCode) {
|
|
5
7
|
const output = stdout + "\n" + stderr;
|
|
6
8
|
const lines = output.split("\n");
|
|
7
9
|
const diagnostics = [];
|
|
10
|
+
const emittedFiles = [];
|
|
11
|
+
let totalFiles;
|
|
8
12
|
for (const line of lines) {
|
|
9
13
|
const match = line.match(TSC_DIAGNOSTIC_RE);
|
|
10
14
|
if (match) {
|
|
@@ -16,6 +20,16 @@ export function parseTscOutput(stdout, stderr, exitCode) {
|
|
|
16
20
|
severity: match[4],
|
|
17
21
|
message: match[6],
|
|
18
22
|
});
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
const summaryMatch = line.match(TSC_SUMMARY_RE);
|
|
26
|
+
if (summaryMatch) {
|
|
27
|
+
totalFiles = Number.parseInt(summaryMatch[2], 10);
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
const emittedMatch = line.match(TSC_EMITTED_FILE_RE);
|
|
31
|
+
if (emittedMatch) {
|
|
32
|
+
emittedFiles.push(emittedMatch[1].trim());
|
|
19
33
|
}
|
|
20
34
|
}
|
|
21
35
|
const errors = diagnostics.filter((d) => d.severity === "error").length;
|
|
@@ -24,10 +38,89 @@ export function parseTscOutput(stdout, stderr, exitCode) {
|
|
|
24
38
|
success: exitCode === 0,
|
|
25
39
|
diagnostics,
|
|
26
40
|
total: diagnostics.length,
|
|
41
|
+
totalFiles,
|
|
42
|
+
emittedFiles: emittedFiles.length > 0 ? emittedFiles : undefined,
|
|
27
43
|
errors,
|
|
28
44
|
warnings,
|
|
29
45
|
};
|
|
30
46
|
}
|
|
47
|
+
// ---------------------------------------------------------------------------
|
|
48
|
+
// Improved error/warning heuristics (Gap #78)
|
|
49
|
+
// ---------------------------------------------------------------------------
|
|
50
|
+
/** Patterns that identify an error line in generic build output.
|
|
51
|
+
* Each pattern is tested against the full line (case-insensitive unless
|
|
52
|
+
* the regex already specifies flags). */
|
|
53
|
+
const BUILD_ERROR_PATTERNS = [
|
|
54
|
+
// TypeScript: error TS1234
|
|
55
|
+
/\berror\s+TS\d+/i,
|
|
56
|
+
// Webpack: ERROR in ./path
|
|
57
|
+
/^ERROR\s+in\s+/,
|
|
58
|
+
// Generic: Error: message (capital E, colon after)
|
|
59
|
+
/\bError:\s/,
|
|
60
|
+
// Generic: error: message (lowercase, colon after — compilers like clang, rustc)
|
|
61
|
+
/\berror:\s/,
|
|
62
|
+
// Failed / FAILED
|
|
63
|
+
/\bFAILED\b/,
|
|
64
|
+
// Build failed
|
|
65
|
+
/\bbuild\s+failed\b/i,
|
|
66
|
+
// Compilation failed
|
|
67
|
+
/\bcompilation\s+failed\b/i,
|
|
68
|
+
// Module not found (webpack/rollup)
|
|
69
|
+
/\bModule\s+not\s+found\b/i,
|
|
70
|
+
// SyntaxError
|
|
71
|
+
/\bSyntaxError\b/,
|
|
72
|
+
// ReferenceError, TypeError (runtime errors surfaced during build)
|
|
73
|
+
/\bReferenceError\b/,
|
|
74
|
+
/\bTypeError\b/,
|
|
75
|
+
];
|
|
76
|
+
/** Patterns that identify a warning line. */
|
|
77
|
+
const BUILD_WARNING_PATTERNS = [
|
|
78
|
+
// TypeScript: warning TS1234
|
|
79
|
+
/\bwarning\s+TS\d+/i,
|
|
80
|
+
// Webpack: WARNING in ./path
|
|
81
|
+
/^WARNING\s+in\s+/,
|
|
82
|
+
// Generic: Warning: message (capital W, colon after)
|
|
83
|
+
/\bWarning:\s/,
|
|
84
|
+
// Generic: warning: message (lowercase, colon after)
|
|
85
|
+
/\bwarning:\s/,
|
|
86
|
+
// WARN prefix (npm, pnpm, vite)
|
|
87
|
+
/\bWARN\b/,
|
|
88
|
+
// Vite/Rollup: (!) prefix for warnings
|
|
89
|
+
/^\(\!\)\s/,
|
|
90
|
+
// Deprecation warnings
|
|
91
|
+
/\bDeprecationWarning\b/,
|
|
92
|
+
/\bdeprecated\b/i,
|
|
93
|
+
];
|
|
94
|
+
/** Lines that should NOT be classified as errors even though they match error patterns.
|
|
95
|
+
* For example "0 errors" or "Found 0 errors". */
|
|
96
|
+
const BUILD_ERROR_EXCLUDE = [
|
|
97
|
+
/\b0\s+errors?\b/i,
|
|
98
|
+
/\bno\s+errors?\b/i,
|
|
99
|
+
/\berrors?:\s*0\b/i,
|
|
100
|
+
];
|
|
101
|
+
/** Lines that should NOT be classified as warnings. */
|
|
102
|
+
const BUILD_WARNING_EXCLUDE = [
|
|
103
|
+
/\b0\s+warnings?\b/i,
|
|
104
|
+
/\bno\s+warnings?\b/i,
|
|
105
|
+
/\bwarnings?:\s*0\b/i,
|
|
106
|
+
];
|
|
107
|
+
function matchesAny(line, patterns) {
|
|
108
|
+
return patterns.some((p) => p.test(line));
|
|
109
|
+
}
|
|
110
|
+
function isErrorLine(line) {
|
|
111
|
+
if (!matchesAny(line, BUILD_ERROR_PATTERNS))
|
|
112
|
+
return false;
|
|
113
|
+
if (matchesAny(line, BUILD_ERROR_EXCLUDE))
|
|
114
|
+
return false;
|
|
115
|
+
return true;
|
|
116
|
+
}
|
|
117
|
+
function isWarningLine(line) {
|
|
118
|
+
if (!matchesAny(line, BUILD_WARNING_PATTERNS))
|
|
119
|
+
return false;
|
|
120
|
+
if (matchesAny(line, BUILD_WARNING_EXCLUDE))
|
|
121
|
+
return false;
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
31
124
|
/** Parses generic build command output into structured results with success status, errors, and warnings. */
|
|
32
125
|
export function parseBuildCommandOutput(stdout, stderr, exitCode, duration) {
|
|
33
126
|
const output = stdout + "\n" + stderr;
|
|
@@ -35,19 +128,23 @@ export function parseBuildCommandOutput(stdout, stderr, exitCode, duration) {
|
|
|
35
128
|
const errors = [];
|
|
36
129
|
const warnings = [];
|
|
37
130
|
for (const line of lines) {
|
|
38
|
-
const
|
|
39
|
-
if (
|
|
40
|
-
errors.push(
|
|
131
|
+
const trimmed = line.trim();
|
|
132
|
+
if (isErrorLine(trimmed)) {
|
|
133
|
+
errors.push(trimmed);
|
|
41
134
|
}
|
|
42
|
-
else if (
|
|
43
|
-
warnings.push(
|
|
135
|
+
else if (isWarningLine(trimmed)) {
|
|
136
|
+
warnings.push(trimmed);
|
|
44
137
|
}
|
|
45
138
|
}
|
|
46
139
|
return {
|
|
47
140
|
success: exitCode === 0,
|
|
141
|
+
exitCode,
|
|
48
142
|
duration,
|
|
49
143
|
errors,
|
|
50
144
|
warnings,
|
|
145
|
+
stdout: stdout || undefined,
|
|
146
|
+
stderr: stderr || undefined,
|
|
147
|
+
outputLines: lines.length,
|
|
51
148
|
};
|
|
52
149
|
}
|
|
53
150
|
// ---------------------------------------------------------------------------
|
|
@@ -61,11 +158,24 @@ const ESBUILD_DIAG_HEADER_RE = /^[✘✗X▲]\s+\[(ERROR|WARNING)]\s+(.+)$/;
|
|
|
61
158
|
const ESBUILD_LOCATION_RE = /^\s+(.+?):(\d+):(\d+):$/;
|
|
62
159
|
// Alternate format from older esbuild / --log-level output
|
|
63
160
|
const ESBUILD_INLINE_RE = /^>\s*(.+?):(\d+):(\d+):\s+(error|warning):\s+(.+)$/;
|
|
161
|
+
function isLikelyEsbuildOutputFile(line) {
|
|
162
|
+
const trimmed = line.trim();
|
|
163
|
+
if (!trimmed)
|
|
164
|
+
return false;
|
|
165
|
+
if (trimmed.includes(" "))
|
|
166
|
+
return false;
|
|
167
|
+
if (trimmed.startsWith("✘") || trimmed.startsWith("▲") || trimmed.startsWith(">"))
|
|
168
|
+
return false;
|
|
169
|
+
if (/^\d+\s+(errors?|warnings?)/i.test(trimmed))
|
|
170
|
+
return false;
|
|
171
|
+
// Accept common path patterns and any extension to cover non-standard outputs.
|
|
172
|
+
return /[\\/]/.test(trimmed) || /\.[A-Za-z0-9_-]+$/.test(trimmed);
|
|
173
|
+
}
|
|
64
174
|
/** Parses esbuild stderr/stdout into structured errors, warnings, and output file info. */
|
|
65
|
-
export function parseEsbuildOutput(stdout, stderr, exitCode, duration) {
|
|
175
|
+
export function parseEsbuildOutput(stdout, stderr, exitCode, duration, metafilePath, metafileContent) {
|
|
66
176
|
const errors = [];
|
|
67
177
|
const warnings = [];
|
|
68
|
-
const outputFiles =
|
|
178
|
+
const outputFiles = new Set();
|
|
69
179
|
const output = stderr + "\n" + stdout;
|
|
70
180
|
const lines = output.split("\n");
|
|
71
181
|
for (let i = 0; i < lines.length; i++) {
|
|
@@ -121,24 +231,86 @@ export function parseEsbuildOutput(stdout, stderr, exitCode, duration) {
|
|
|
121
231
|
// but with --metafile or verbose mode it may list output files)
|
|
122
232
|
for (const line of stdout.split("\n")) {
|
|
123
233
|
const trimmed = line.trim();
|
|
124
|
-
if (
|
|
125
|
-
outputFiles.
|
|
234
|
+
if (isLikelyEsbuildOutputFile(trimmed)) {
|
|
235
|
+
outputFiles.add(trimmed);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
// Parse metafile if provided (Gap #80)
|
|
239
|
+
let metafile;
|
|
240
|
+
let outputFileStats;
|
|
241
|
+
if (metafileContent) {
|
|
242
|
+
metafile = parseEsbuildMetafile(metafileContent);
|
|
243
|
+
if (metafile) {
|
|
244
|
+
outputFileStats = Object.entries(metafile.outputs).map(([file, entry]) => ({
|
|
245
|
+
file,
|
|
246
|
+
bytes: entry.bytes,
|
|
247
|
+
}));
|
|
248
|
+
for (const file of Object.keys(metafile.outputs)) {
|
|
249
|
+
outputFiles.add(file);
|
|
250
|
+
}
|
|
126
251
|
}
|
|
127
252
|
}
|
|
128
253
|
return {
|
|
129
254
|
success: exitCode === 0,
|
|
130
255
|
errors,
|
|
131
256
|
warnings,
|
|
132
|
-
outputFiles: outputFiles.
|
|
257
|
+
outputFiles: outputFiles.size > 0 ? [...outputFiles] : undefined,
|
|
258
|
+
outputFileStats,
|
|
133
259
|
duration,
|
|
260
|
+
metafile,
|
|
134
261
|
};
|
|
135
262
|
}
|
|
263
|
+
/** Parses an esbuild metafile JSON string into a structured metafile object. */
|
|
264
|
+
export function parseEsbuildMetafile(content) {
|
|
265
|
+
try {
|
|
266
|
+
const raw = JSON.parse(content);
|
|
267
|
+
const inputs = {};
|
|
268
|
+
const outputs = {};
|
|
269
|
+
const rawInputs = raw.inputs;
|
|
270
|
+
if (rawInputs && typeof rawInputs === "object") {
|
|
271
|
+
for (const [key, val] of Object.entries(rawInputs)) {
|
|
272
|
+
inputs[key] = { bytes: typeof val.bytes === "number" ? val.bytes : 0 };
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
const rawOutputs = raw.outputs;
|
|
276
|
+
if (rawOutputs && typeof rawOutputs === "object") {
|
|
277
|
+
for (const [key, val] of Object.entries(rawOutputs)) {
|
|
278
|
+
outputs[key] = { bytes: typeof val.bytes === "number" ? val.bytes : 0 };
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
return { inputs, outputs };
|
|
282
|
+
}
|
|
283
|
+
catch {
|
|
284
|
+
return undefined;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
136
287
|
// ---------------------------------------------------------------------------
|
|
137
288
|
// vite-build
|
|
138
289
|
// ---------------------------------------------------------------------------
|
|
139
290
|
// Vite output format: dist/assets/index-abc123.js 12.34 kB │ gzip: 4.56 kB
|
|
140
291
|
// or: dist/index.html 0.45 kB │ gzip: 0.29 kB
|
|
141
|
-
const VITE_OUTPUT_RE = /^\s*(.+?)\s{2,}(\d+[\d.]*\s*[kKmMgG]?[bB])\s
|
|
292
|
+
const VITE_OUTPUT_RE = /^\s*(.+?)\s{2,}(\d+[\d.]*\s*[kKmMgG]?[bB])(?:\s*[|│]\s*gzip:\s*(\d+[\d.]*\s*[kKmMgG]?[bB]))?/;
|
|
293
|
+
/** Parses a human-readable size string (e.g. "45.2 kB", "1.5 MB", "320 B") into bytes.
|
|
294
|
+
* Returns undefined if the string cannot be parsed. */
|
|
295
|
+
export function parseSizeToBytes(sizeStr) {
|
|
296
|
+
const match = sizeStr.trim().match(/^(\d+(?:\.\d+)?)\s*([kKmMgG]?[bB])$/);
|
|
297
|
+
if (!match)
|
|
298
|
+
return undefined;
|
|
299
|
+
const value = parseFloat(match[1]);
|
|
300
|
+
const unit = match[2].toLowerCase();
|
|
301
|
+
switch (unit) {
|
|
302
|
+
case "b":
|
|
303
|
+
return Math.round(value);
|
|
304
|
+
case "kb":
|
|
305
|
+
return Math.round(value * 1000);
|
|
306
|
+
case "mb":
|
|
307
|
+
return Math.round(value * 1_000_000);
|
|
308
|
+
case "gb":
|
|
309
|
+
return Math.round(value * 1_000_000_000);
|
|
310
|
+
default:
|
|
311
|
+
return undefined;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
142
314
|
/** Parses Vite production build output into structured file list with sizes. */
|
|
143
315
|
export function parseViteBuildOutput(stdout, stderr, exitCode, duration) {
|
|
144
316
|
const outputs = [];
|
|
@@ -152,21 +324,23 @@ export function parseViteBuildOutput(stdout, stderr, exitCode, duration) {
|
|
|
152
324
|
if (outputMatch) {
|
|
153
325
|
const file = outputMatch[1].trim();
|
|
154
326
|
const size = outputMatch[2].trim();
|
|
327
|
+
const gzipSize = outputMatch[3]?.trim();
|
|
155
328
|
// Skip lines that are clearly not file outputs (e.g. header lines)
|
|
156
329
|
if (file && !file.startsWith("vite") && !file.startsWith("building")) {
|
|
157
|
-
|
|
330
|
+
const sizeBytes = parseSizeToBytes(size);
|
|
331
|
+
const gzipBytes = gzipSize ? parseSizeToBytes(gzipSize) : undefined;
|
|
332
|
+
outputs.push({ file, size, sizeBytes, gzipSize, gzipBytes });
|
|
158
333
|
continue;
|
|
159
334
|
}
|
|
160
335
|
}
|
|
161
336
|
// Collect error and warning lines
|
|
162
|
-
const lower = line.toLowerCase();
|
|
163
337
|
const trimmed = line.trim();
|
|
164
338
|
if (!trimmed)
|
|
165
339
|
continue;
|
|
166
|
-
if (
|
|
340
|
+
if (isErrorLine(trimmed)) {
|
|
167
341
|
errors.push(trimmed);
|
|
168
342
|
}
|
|
169
|
-
else if (
|
|
343
|
+
else if (isWarningLine(trimmed)) {
|
|
170
344
|
warnings.push(trimmed);
|
|
171
345
|
}
|
|
172
346
|
}
|
|
@@ -182,7 +356,7 @@ export function parseViteBuildOutput(stdout, stderr, exitCode, duration) {
|
|
|
182
356
|
// webpack
|
|
183
357
|
// ---------------------------------------------------------------------------
|
|
184
358
|
/** Parses webpack --json output into structured assets, errors, warnings, and module count. */
|
|
185
|
-
export function parseWebpackOutput(stdout, stderr, exitCode, duration) {
|
|
359
|
+
export function parseWebpackOutput(stdout, stderr, exitCode, duration, profileEnabled) {
|
|
186
360
|
// webpack --json outputs a JSON stats object to stdout
|
|
187
361
|
// Try to parse it; fall back to basic error extraction if it fails
|
|
188
362
|
let jsonStats;
|
|
@@ -198,12 +372,12 @@ export function parseWebpackOutput(stdout, stderr, exitCode, duration) {
|
|
|
198
372
|
// JSON parsing failed; fall back to text parsing
|
|
199
373
|
}
|
|
200
374
|
if (jsonStats) {
|
|
201
|
-
return parseWebpackJson(jsonStats, exitCode, duration);
|
|
375
|
+
return parseWebpackJson(jsonStats, exitCode, duration, profileEnabled);
|
|
202
376
|
}
|
|
203
377
|
// Fallback: parse as text output
|
|
204
378
|
return parseWebpackText(stdout, stderr, exitCode, duration);
|
|
205
379
|
}
|
|
206
|
-
function parseWebpackJson(stats, exitCode, duration) {
|
|
380
|
+
function parseWebpackJson(stats, exitCode, duration, profileEnabled) {
|
|
207
381
|
const rawAssets = Array.isArray(stats.assets) ? stats.assets : [];
|
|
208
382
|
const assets = rawAssets.map((a) => ({
|
|
209
383
|
name: String(a.name ?? ""),
|
|
@@ -234,32 +408,80 @@ function parseWebpackJson(stats, exitCode, duration) {
|
|
|
234
408
|
else if (Array.isArray(stats.modules)) {
|
|
235
409
|
modules = stats.modules.length;
|
|
236
410
|
}
|
|
411
|
+
const rawChunks = Array.isArray(stats.chunks) ? stats.chunks : [];
|
|
412
|
+
const chunks = rawChunks.map((chunk) => {
|
|
413
|
+
const c = chunk;
|
|
414
|
+
return {
|
|
415
|
+
id: typeof c.id === "string" || typeof c.id === "number" ? c.id : undefined,
|
|
416
|
+
names: Array.isArray(c.names)
|
|
417
|
+
? c.names.filter((n) => typeof n === "string")
|
|
418
|
+
: undefined,
|
|
419
|
+
entry: typeof c.entry === "boolean" ? c.entry : undefined,
|
|
420
|
+
files: Array.isArray(c.files)
|
|
421
|
+
? c.files.filter((f) => typeof f === "string")
|
|
422
|
+
: undefined,
|
|
423
|
+
};
|
|
424
|
+
});
|
|
425
|
+
const errorsCount = typeof stats.errorsCount === "number" ? stats.errorsCount : undefined;
|
|
426
|
+
// Parse profile data from modules when --profile is enabled (Gap #85)
|
|
427
|
+
let profile;
|
|
428
|
+
if (profileEnabled && Array.isArray(stats.modules)) {
|
|
429
|
+
profile = parseWebpackProfile(stats.modules);
|
|
430
|
+
}
|
|
237
431
|
return {
|
|
238
|
-
success: exitCode === 0 && errors.length === 0,
|
|
432
|
+
success: exitCode === 0 && errors.length === 0 && (errorsCount === undefined || errorsCount === 0),
|
|
239
433
|
duration,
|
|
240
434
|
assets,
|
|
435
|
+
chunks: chunks.length > 0 ? chunks : undefined,
|
|
241
436
|
errors,
|
|
242
437
|
warnings,
|
|
243
438
|
modules,
|
|
439
|
+
profile,
|
|
244
440
|
};
|
|
245
441
|
}
|
|
442
|
+
/** Extracts timing data from webpack modules when --profile is enabled. */
|
|
443
|
+
export function parseWebpackProfile(modules) {
|
|
444
|
+
const profileModules = [];
|
|
445
|
+
for (const mod of modules) {
|
|
446
|
+
const name = typeof mod.name === "string" ? mod.name : String(mod.name ?? "");
|
|
447
|
+
// webpack --profile adds profile.total (or profile.building) to each module
|
|
448
|
+
let time = 0;
|
|
449
|
+
const profileData = mod.profile;
|
|
450
|
+
if (profileData && typeof profileData === "object") {
|
|
451
|
+
// webpack profile object has: factory, building, dependencies, etc.
|
|
452
|
+
// The total time is the sum of factory + building + dependencies
|
|
453
|
+
const factory = typeof profileData.factory === "number" ? profileData.factory : 0;
|
|
454
|
+
const building = typeof profileData.building === "number" ? profileData.building : 0;
|
|
455
|
+
const dependencies = typeof profileData.dependencies === "number" ? profileData.dependencies : 0;
|
|
456
|
+
time = factory + building + dependencies;
|
|
457
|
+
}
|
|
458
|
+
else if (typeof mod.time === "number") {
|
|
459
|
+
time = mod.time;
|
|
460
|
+
}
|
|
461
|
+
if (name && time > 0) {
|
|
462
|
+
profileModules.push({ name, time });
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
if (profileModules.length === 0)
|
|
466
|
+
return undefined;
|
|
467
|
+
return { modules: profileModules };
|
|
468
|
+
}
|
|
246
469
|
function parseWebpackText(stdout, stderr, exitCode, duration) {
|
|
247
470
|
const combined = stdout + "\n" + stderr;
|
|
248
471
|
const lines = combined.split("\n").filter(Boolean);
|
|
249
472
|
const errors = [];
|
|
250
473
|
const warnings = [];
|
|
251
474
|
for (const line of lines) {
|
|
252
|
-
const lower = line.toLowerCase();
|
|
253
475
|
const trimmed = line.trim();
|
|
254
|
-
if (
|
|
476
|
+
if (isErrorLine(trimmed)) {
|
|
255
477
|
errors.push(trimmed);
|
|
256
478
|
}
|
|
257
|
-
else if (
|
|
479
|
+
else if (isWarningLine(trimmed)) {
|
|
258
480
|
warnings.push(trimmed);
|
|
259
481
|
}
|
|
260
482
|
}
|
|
261
483
|
return {
|
|
262
|
-
success: exitCode === 0,
|
|
484
|
+
success: exitCode === 0 && errors.length === 0,
|
|
263
485
|
duration,
|
|
264
486
|
assets: [],
|
|
265
487
|
errors,
|
|
@@ -288,8 +510,29 @@ const TURBO_TASK_FAIL_RE = /^(.+?)#(\S+):.*(?:exited\s*\(\d+\)|ERROR)/;
|
|
|
288
510
|
// Summary lines
|
|
289
511
|
const TURBO_TASKS_SUMMARY_RE = /Tasks:\s+(\d+)\s+successful,\s+(\d+)\s+total/;
|
|
290
512
|
const TURBO_CACHED_RE = /Cached:\s+(\d+)\s+cached,\s+(\d+)\s+total/;
|
|
513
|
+
/** Parses a duration string like "100ms", "2.5s", "1m30s" into milliseconds. */
|
|
514
|
+
export function parseDurationToMs(durationStr) {
|
|
515
|
+
// Try ms format: "100ms", "1234ms"
|
|
516
|
+
const msMatch = durationStr.match(/^(\d+(?:\.\d+)?)\s*ms$/i);
|
|
517
|
+
if (msMatch)
|
|
518
|
+
return Math.round(parseFloat(msMatch[1]));
|
|
519
|
+
// Try seconds format: "2.5s", "10s"
|
|
520
|
+
const sMatch = durationStr.match(/^(\d+(?:\.\d+)?)\s*s$/i);
|
|
521
|
+
if (sMatch)
|
|
522
|
+
return Math.round(parseFloat(sMatch[1]) * 1000);
|
|
523
|
+
// Try minutes+seconds: "1m30s"
|
|
524
|
+
const minsMatch = durationStr.match(/^(\d+)m(\d+(?:\.\d+)?)s$/i);
|
|
525
|
+
if (minsMatch) {
|
|
526
|
+
return Math.round(parseInt(minsMatch[1], 10) * 60_000 + parseFloat(minsMatch[2]) * 1000);
|
|
527
|
+
}
|
|
528
|
+
// Try minutes only: "2m"
|
|
529
|
+
const mOnlyMatch = durationStr.match(/^(\d+(?:\.\d+)?)\s*m$/i);
|
|
530
|
+
if (mOnlyMatch)
|
|
531
|
+
return Math.round(parseFloat(mOnlyMatch[1]) * 60_000);
|
|
532
|
+
return undefined;
|
|
533
|
+
}
|
|
291
534
|
/** Parses Turborepo `turbo run` output into structured per-package task results with cache info. */
|
|
292
|
-
export function parseTurboOutput(stdout, stderr, exitCode, duration) {
|
|
535
|
+
export function parseTurboOutput(stdout, stderr, exitCode, duration, summaryJsonContent) {
|
|
293
536
|
const tasks = [];
|
|
294
537
|
const seenTasks = new Set();
|
|
295
538
|
const combined = stdout + "\n" + stderr;
|
|
@@ -304,11 +547,14 @@ export function parseTurboOutput(stdout, stderr, exitCode, duration) {
|
|
|
304
547
|
const key = `${taskMatch[1]}#${taskMatch[2]}`;
|
|
305
548
|
if (!seenTasks.has(key)) {
|
|
306
549
|
seenTasks.add(key);
|
|
550
|
+
const durationStr = taskMatch[4];
|
|
551
|
+
const durationMs = parseDurationToMs(durationStr);
|
|
307
552
|
tasks.push({
|
|
308
553
|
package: taskMatch[1],
|
|
309
554
|
task: taskMatch[2],
|
|
310
555
|
status: "pass",
|
|
311
|
-
duration:
|
|
556
|
+
duration: durationStr,
|
|
557
|
+
durationMs,
|
|
312
558
|
cache: taskMatch[3] === "hit" ? "hit" : "miss",
|
|
313
559
|
});
|
|
314
560
|
}
|
|
@@ -344,6 +590,18 @@ export function parseTurboOutput(stdout, stderr, exitCode, duration) {
|
|
|
344
590
|
const failed = tasks.filter((t) => t.status === "fail").length;
|
|
345
591
|
const cached = tasks.filter((t) => t.cache === "hit").length;
|
|
346
592
|
const totalTasks = summaryTotal || tasks.length;
|
|
593
|
+
let summary;
|
|
594
|
+
if (summaryJsonContent) {
|
|
595
|
+
try {
|
|
596
|
+
const parsed = JSON.parse(summaryJsonContent);
|
|
597
|
+
if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
|
|
598
|
+
summary = parsed;
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
catch {
|
|
602
|
+
// Ignore invalid summarize JSON content.
|
|
603
|
+
}
|
|
604
|
+
}
|
|
347
605
|
return {
|
|
348
606
|
success: exitCode === 0,
|
|
349
607
|
duration,
|
|
@@ -352,6 +610,7 @@ export function parseTurboOutput(stdout, stderr, exitCode, duration) {
|
|
|
352
610
|
passed,
|
|
353
611
|
failed,
|
|
354
612
|
cached: summaryCached || cached,
|
|
613
|
+
summary,
|
|
355
614
|
};
|
|
356
615
|
}
|
|
357
616
|
// ---------------------------------------------------------------------------
|
|
@@ -365,13 +624,16 @@ export function parseTurboOutput(stdout, stderr, exitCode, duration) {
|
|
|
365
624
|
// > NX Ran target build for 5 projects (10.1s)
|
|
366
625
|
// Also matches lines without duration or cache indicator.
|
|
367
626
|
const NX_TASK_RE = /^\s*[✔✓✗✖]\s+nx run\s+([\w@/.:-]+):([\w-]+)\s*(?:\[([^\]]+)])?\s*(?:\((\d+(?:\.\d+)?)\s*s\))?/i;
|
|
627
|
+
const NX_SKIPPED_TASK_RE = /^\s*(?:-|•|\*)\s+nx run\s+([\w@/.:-]+):([\w-]+).*skipp(?:ed|ing)/i;
|
|
628
|
+
const NX_AFFECTED_PROJECTS_RE = /affected projects?:\s*(.+)$/i;
|
|
368
629
|
// Cache hit summary: "N out of N tasks were retrieved from cache"
|
|
369
630
|
// or individual [local cache] / [remote cache] on task lines (handled inline)
|
|
370
631
|
/** Parses Nx workspace command output into structured per-project task results. */
|
|
371
|
-
export function parseNxOutput(stdout, stderr, exitCode, duration) {
|
|
632
|
+
export function parseNxOutput(stdout, stderr, exitCode, duration, affectedMode) {
|
|
372
633
|
const combined = stdout + "\n" + stderr;
|
|
373
634
|
const lines = combined.split("\n");
|
|
374
635
|
const tasks = [];
|
|
636
|
+
const affectedProjects = new Set();
|
|
375
637
|
for (const line of lines) {
|
|
376
638
|
const taskMatch = line.match(NX_TASK_RE);
|
|
377
639
|
if (taskMatch) {
|
|
@@ -383,19 +645,64 @@ export function parseNxOutput(stdout, stderr, exitCode, duration) {
|
|
|
383
645
|
const trimmed = line.trimStart();
|
|
384
646
|
const isFailure = trimmed.startsWith("✖") || trimmed.startsWith("✗");
|
|
385
647
|
const status = isFailure ? "failure" : "success";
|
|
648
|
+
// Distinguish local vs remote cache (Gap #81)
|
|
649
|
+
let cache;
|
|
650
|
+
if (cacheInfo) {
|
|
651
|
+
const lower = cacheInfo.toLowerCase();
|
|
652
|
+
if (lower.includes("remote")) {
|
|
653
|
+
cache = "remote";
|
|
654
|
+
}
|
|
655
|
+
else if (lower.includes("local")) {
|
|
656
|
+
cache = "local";
|
|
657
|
+
}
|
|
658
|
+
else {
|
|
659
|
+
// Unknown cache type — treat as local
|
|
660
|
+
cache = "local";
|
|
661
|
+
}
|
|
662
|
+
}
|
|
663
|
+
// Tasks without cache info: no cache field (undefined means not cached)
|
|
386
664
|
tasks.push({
|
|
387
665
|
project,
|
|
388
666
|
target,
|
|
389
667
|
status,
|
|
390
668
|
duration: dur,
|
|
391
|
-
cache
|
|
669
|
+
cache,
|
|
670
|
+
});
|
|
671
|
+
if (affectedMode) {
|
|
672
|
+
affectedProjects.add(project);
|
|
673
|
+
}
|
|
674
|
+
continue;
|
|
675
|
+
}
|
|
676
|
+
const skippedMatch = line.match(NX_SKIPPED_TASK_RE);
|
|
677
|
+
if (skippedMatch) {
|
|
678
|
+
const project = skippedMatch[1];
|
|
679
|
+
const target = skippedMatch[2];
|
|
680
|
+
tasks.push({
|
|
681
|
+
project,
|
|
682
|
+
target,
|
|
683
|
+
status: "skipped",
|
|
684
|
+
cache: "miss",
|
|
392
685
|
});
|
|
686
|
+
if (affectedMode) {
|
|
687
|
+
affectedProjects.add(project);
|
|
688
|
+
}
|
|
689
|
+
continue;
|
|
690
|
+
}
|
|
691
|
+
const affectedMatch = line.match(NX_AFFECTED_PROJECTS_RE);
|
|
692
|
+
if (affectedMatch) {
|
|
693
|
+
const projects = affectedMatch[1]
|
|
694
|
+
.split(",")
|
|
695
|
+
.map((p) => p.trim())
|
|
696
|
+
.filter(Boolean);
|
|
697
|
+
for (const project of projects) {
|
|
698
|
+
affectedProjects.add(project);
|
|
699
|
+
}
|
|
393
700
|
continue;
|
|
394
701
|
}
|
|
395
702
|
}
|
|
396
703
|
const passed = tasks.filter((t) => t.status === "success").length;
|
|
397
704
|
const failed = tasks.filter((t) => t.status === "failure").length;
|
|
398
|
-
const cached = tasks.filter((t) => t.cache
|
|
705
|
+
const cached = tasks.filter((t) => t.cache !== undefined).length;
|
|
399
706
|
return {
|
|
400
707
|
success: exitCode === 0,
|
|
401
708
|
duration,
|
|
@@ -404,6 +711,7 @@ export function parseNxOutput(stdout, stderr, exitCode, duration) {
|
|
|
404
711
|
passed,
|
|
405
712
|
failed,
|
|
406
713
|
cached,
|
|
714
|
+
affectedProjects: affectedProjects.size > 0 ? [...affectedProjects] : undefined,
|
|
407
715
|
};
|
|
408
716
|
}
|
|
409
717
|
//# sourceMappingURL=parsers.js.map
|
package/dist/lib/parsers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../src/lib/parsers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../src/lib/parsers.ts"],"names":[],"mappings":"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"}
|