@paretools/jvm 0.11.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/LICENSE +21 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/formatters.d.ts +88 -0
- package/dist/lib/formatters.d.ts.map +1 -0
- package/dist/lib/formatters.js +278 -0
- package/dist/lib/formatters.js.map +1 -0
- package/dist/lib/jvm-runner.d.ts +12 -0
- package/dist/lib/jvm-runner.d.ts.map +1 -0
- package/dist/lib/jvm-runner.js +58 -0
- package/dist/lib/jvm-runner.js.map +1 -0
- package/dist/lib/parsers.d.ts +86 -0
- package/dist/lib/parsers.d.ts.map +1 -0
- package/dist/lib/parsers.js +438 -0
- package/dist/lib/parsers.js.map +1 -0
- package/dist/schemas/index.d.ts +183 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +112 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/tools/gradle-build.d.ts +3 -0
- package/dist/tools/gradle-build.d.ts.map +1 -0
- package/dist/tools/gradle-build.js +55 -0
- package/dist/tools/gradle-build.js.map +1 -0
- package/dist/tools/gradle-dependencies.d.ts +3 -0
- package/dist/tools/gradle-dependencies.d.ts.map +1 -0
- package/dist/tools/gradle-dependencies.js +34 -0
- package/dist/tools/gradle-dependencies.js.map +1 -0
- package/dist/tools/gradle-tasks.d.ts +3 -0
- package/dist/tools/gradle-tasks.d.ts.map +1 -0
- package/dist/tools/gradle-tasks.js +32 -0
- package/dist/tools/gradle-tasks.js.map +1 -0
- package/dist/tools/gradle-test.d.ts +3 -0
- package/dist/tools/gradle-test.d.ts.map +1 -0
- package/dist/tools/gradle-test.js +57 -0
- package/dist/tools/gradle-test.js.map +1 -0
- package/dist/tools/index.d.ts +4 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +30 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/maven-build.d.ts +3 -0
- package/dist/tools/maven-build.d.ts.map +1 -0
- package/dist/tools/maven-build.js +55 -0
- package/dist/tools/maven-build.js.map +1 -0
- package/dist/tools/maven-dependencies.d.ts +3 -0
- package/dist/tools/maven-dependencies.d.ts.map +1 -0
- package/dist/tools/maven-dependencies.js +23 -0
- package/dist/tools/maven-dependencies.js.map +1 -0
- package/dist/tools/maven-test.d.ts +3 -0
- package/dist/tools/maven-test.d.ts.map +1 -0
- package/dist/tools/maven-test.js +57 -0
- package/dist/tools/maven-test.js.map +1 -0
- package/dist/tools/maven-verify.d.ts +3 -0
- package/dist/tools/maven-verify.d.ts.map +1 -0
- package/dist/tools/maven-verify.js +47 -0
- package/dist/tools/maven-verify.js.map +1 -0
- package/package.json +72 -0
|
@@ -0,0 +1,438 @@
|
|
|
1
|
+
// ── Shared helpers ──────────────────────────────────────────────────
|
|
2
|
+
/** Extracts compiler errors and warnings from combined output. */
|
|
3
|
+
export function parseDiagnostics(output) {
|
|
4
|
+
const diagnostics = [];
|
|
5
|
+
const lines = output.split("\n");
|
|
6
|
+
for (const line of lines) {
|
|
7
|
+
// Java compiler: src/Main.java:10: error: cannot find symbol
|
|
8
|
+
const javaMatch = line.match(/^(.+\.java):(\d+):\s*(error|warning):\s*(.+)$/);
|
|
9
|
+
if (javaMatch) {
|
|
10
|
+
diagnostics.push({
|
|
11
|
+
severity: javaMatch[3],
|
|
12
|
+
message: javaMatch[4].trim(),
|
|
13
|
+
file: javaMatch[1],
|
|
14
|
+
line: parseInt(javaMatch[2], 10),
|
|
15
|
+
});
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
// Kotlin compiler: e: src/Main.kt: (10, 5): Unresolved reference
|
|
19
|
+
const kotlinMatch = line.match(/^([ew]):\s*(.+\.kts?)\s*:\s*\((\d+),\s*\d+\):\s*(.+)$/);
|
|
20
|
+
if (kotlinMatch) {
|
|
21
|
+
diagnostics.push({
|
|
22
|
+
severity: kotlinMatch[1] === "e" ? "error" : "warning",
|
|
23
|
+
message: kotlinMatch[4].trim(),
|
|
24
|
+
file: kotlinMatch[2],
|
|
25
|
+
line: parseInt(kotlinMatch[3], 10),
|
|
26
|
+
});
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
// Maven [ERROR] / [WARNING] with file reference
|
|
30
|
+
const mavenMatch = line.match(/^\[(?:ERROR|WARNING)\]\s*(.+\.java):\[(\d+),\d+\]\s*(error|warning)?:?\s*(.+)$/);
|
|
31
|
+
if (mavenMatch) {
|
|
32
|
+
diagnostics.push({
|
|
33
|
+
severity: line.startsWith("[ERROR]") ? "error" : "warning",
|
|
34
|
+
message: mavenMatch[4].trim(),
|
|
35
|
+
file: mavenMatch[1],
|
|
36
|
+
line: parseInt(mavenMatch[2], 10),
|
|
37
|
+
});
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
// Generic [ERROR] / [WARNING] lines (Maven style)
|
|
41
|
+
const genericMavenMatch = line.match(/^\[(ERROR|WARNING)\]\s*(.+)$/);
|
|
42
|
+
if (genericMavenMatch) {
|
|
43
|
+
const severity = genericMavenMatch[1] === "ERROR" ? "error" : "warning";
|
|
44
|
+
const msg = genericMavenMatch[2].trim();
|
|
45
|
+
// Skip noisy build-status lines
|
|
46
|
+
if (msg.startsWith("BUILD FAILURE") ||
|
|
47
|
+
msg.startsWith("BUILD SUCCESS") ||
|
|
48
|
+
msg === "" ||
|
|
49
|
+
msg.startsWith("---") ||
|
|
50
|
+
msg.startsWith("Total time") ||
|
|
51
|
+
msg.startsWith("Finished at") ||
|
|
52
|
+
msg.startsWith("For more information")) {
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
diagnostics.push({ severity, message: msg });
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return diagnostics;
|
|
59
|
+
}
|
|
60
|
+
// ── Gradle parsers ──────────────────────────────────────────────────
|
|
61
|
+
/** Parses Gradle build output into structured result. */
|
|
62
|
+
export function parseGradleBuild(stdout, stderr, exitCode, duration, timedOut = false) {
|
|
63
|
+
const success = exitCode === 0 && !timedOut;
|
|
64
|
+
const combined = `${stdout}\n${stderr}`;
|
|
65
|
+
// Extract task counts: "BUILD SUCCESSFUL in 5s" or "N actionable tasks: M executed, K up-to-date"
|
|
66
|
+
let tasksExecuted;
|
|
67
|
+
let tasksFailed;
|
|
68
|
+
const actionableMatch = combined.match(/(\d+)\s+actionable\s+tasks?:\s*(\d+)\s+executed(?:,\s*(\d+)\s+up-to-date)?/);
|
|
69
|
+
if (actionableMatch) {
|
|
70
|
+
tasksExecuted = parseInt(actionableMatch[2], 10);
|
|
71
|
+
}
|
|
72
|
+
if (!success) {
|
|
73
|
+
// Count FAILED task markers
|
|
74
|
+
const failedMatches = combined.match(/> Task .+ FAILED/g);
|
|
75
|
+
tasksFailed = failedMatches ? failedMatches.length : undefined;
|
|
76
|
+
}
|
|
77
|
+
const diagnostics = parseDiagnostics(combined);
|
|
78
|
+
return {
|
|
79
|
+
success,
|
|
80
|
+
exitCode,
|
|
81
|
+
duration,
|
|
82
|
+
timedOut,
|
|
83
|
+
tasksExecuted,
|
|
84
|
+
tasksFailed,
|
|
85
|
+
diagnostics: diagnostics.length > 0 ? diagnostics : undefined,
|
|
86
|
+
stdout: stdout.trimEnd() || undefined,
|
|
87
|
+
stderr: stderr.trimEnd() || undefined,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/** Parses Gradle test output into structured result. */
|
|
91
|
+
export function parseGradleTest(stdout, stderr, exitCode, duration, timedOut = false) {
|
|
92
|
+
const success = exitCode === 0 && !timedOut;
|
|
93
|
+
const combined = `${stdout}\n${stderr}`;
|
|
94
|
+
let totalTests = 0;
|
|
95
|
+
let passed = 0;
|
|
96
|
+
let failed = 0;
|
|
97
|
+
let skipped = 0;
|
|
98
|
+
const tests = [];
|
|
99
|
+
// Parse test result summary: "TEST RESULT: SUCCESS (12 tests, 10 successes, 1 failures, 1 skipped)"
|
|
100
|
+
// Or: "X tests completed, Y failed, Z skipped"
|
|
101
|
+
const resultMatch = combined.match(/(\d+)\s+tests?\s+completed?,\s*(\d+)\s+failed(?:,\s*(\d+)\s+skipped)?/);
|
|
102
|
+
if (resultMatch) {
|
|
103
|
+
totalTests = parseInt(resultMatch[1], 10);
|
|
104
|
+
failed = parseInt(resultMatch[2], 10);
|
|
105
|
+
skipped = resultMatch[3] ? parseInt(resultMatch[3], 10) : 0;
|
|
106
|
+
passed = totalTests - failed - skipped;
|
|
107
|
+
}
|
|
108
|
+
// Alternative format: "Tests run: N, Failures: N, Errors: N, Skipped: N"
|
|
109
|
+
const altMatch = combined.match(/Tests\s+run:\s*(\d+),\s*Failures:\s*(\d+),\s*Errors:\s*(\d+),\s*Skipped:\s*(\d+)/);
|
|
110
|
+
if (altMatch && totalTests === 0) {
|
|
111
|
+
totalTests = parseInt(altMatch[1], 10);
|
|
112
|
+
failed = parseInt(altMatch[2], 10) + parseInt(altMatch[3], 10);
|
|
113
|
+
skipped = parseInt(altMatch[4], 10);
|
|
114
|
+
passed = totalTests - failed - skipped;
|
|
115
|
+
}
|
|
116
|
+
// Parse individual test lines: "ClassName > testName PASSED" or "FAILED"
|
|
117
|
+
const testLineRe = /^(\S+)\s+>\s+(\S+(?:\(.*?\))?)\s+(PASSED|FAILED|SKIPPED)(?:\s+\((.+)\))?$/gm;
|
|
118
|
+
let match;
|
|
119
|
+
while ((match = testLineRe.exec(combined)) !== null) {
|
|
120
|
+
const testCase = {
|
|
121
|
+
name: match[2],
|
|
122
|
+
className: match[1],
|
|
123
|
+
passed: match[3] === "PASSED",
|
|
124
|
+
};
|
|
125
|
+
if (match[4]) {
|
|
126
|
+
testCase.duration = match[4];
|
|
127
|
+
}
|
|
128
|
+
if (match[3] === "FAILED") {
|
|
129
|
+
// Try to find failure message after this test line
|
|
130
|
+
const failIdx = combined.indexOf(match[0]);
|
|
131
|
+
const afterTest = combined.slice(failIdx + match[0].length, failIdx + match[0].length + 500);
|
|
132
|
+
const failMsgMatch = afterTest.match(/^\s+(.+?)(?:\n\s*\n|\n\S)/s);
|
|
133
|
+
if (failMsgMatch) {
|
|
134
|
+
testCase.failure = failMsgMatch[1].trim();
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
tests.push(testCase);
|
|
138
|
+
}
|
|
139
|
+
// If we got individual tests but no summary, compute from tests
|
|
140
|
+
if (totalTests === 0 && tests.length > 0) {
|
|
141
|
+
totalTests = tests.length;
|
|
142
|
+
passed = tests.filter((t) => t.passed).length;
|
|
143
|
+
failed = tests.filter((t) => !t.passed && t.failure !== undefined).length;
|
|
144
|
+
skipped = totalTests - passed - failed;
|
|
145
|
+
}
|
|
146
|
+
return {
|
|
147
|
+
success,
|
|
148
|
+
exitCode,
|
|
149
|
+
duration,
|
|
150
|
+
timedOut,
|
|
151
|
+
totalTests,
|
|
152
|
+
passed,
|
|
153
|
+
failed,
|
|
154
|
+
skipped,
|
|
155
|
+
tests: tests.length > 0 ? tests : undefined,
|
|
156
|
+
stdout: stdout.trimEnd() || undefined,
|
|
157
|
+
stderr: stderr.trimEnd() || undefined,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Parses `gradle tasks --all --console=plain` output into structured task data.
|
|
162
|
+
*
|
|
163
|
+
* Expected format:
|
|
164
|
+
* ```
|
|
165
|
+
* > Task :tasks
|
|
166
|
+
*
|
|
167
|
+
* ------------------------------------------------------------
|
|
168
|
+
* Tasks runnable from root project 'myproject'
|
|
169
|
+
* ------------------------------------------------------------
|
|
170
|
+
*
|
|
171
|
+
* Build tasks
|
|
172
|
+
* -----------
|
|
173
|
+
* assemble - Assembles the outputs of this project.
|
|
174
|
+
* build - Assembles and tests this project.
|
|
175
|
+
*
|
|
176
|
+
* Help tasks
|
|
177
|
+
* ----------
|
|
178
|
+
* tasks - Displays the tasks runnable from root project.
|
|
179
|
+
* ```
|
|
180
|
+
*/
|
|
181
|
+
export function parseGradleTasks(stdout) {
|
|
182
|
+
const tasks = [];
|
|
183
|
+
let currentGroup;
|
|
184
|
+
const lines = stdout.split("\n");
|
|
185
|
+
for (let i = 0; i < lines.length; i++) {
|
|
186
|
+
const line = lines[i];
|
|
187
|
+
const trimmed = line.trim();
|
|
188
|
+
if (!trimmed)
|
|
189
|
+
continue;
|
|
190
|
+
// Group header: "Build tasks" followed by "----------"
|
|
191
|
+
if (i + 1 < lines.length && lines[i + 1].trim().match(/^-{3,}$/)) {
|
|
192
|
+
currentGroup = trimmed.replace(/\s+tasks?$/i, "").trim();
|
|
193
|
+
i++; // skip the separator line
|
|
194
|
+
continue;
|
|
195
|
+
}
|
|
196
|
+
// Skip separator lines and other headers
|
|
197
|
+
if (trimmed.match(/^-{3,}$/) ||
|
|
198
|
+
trimmed.startsWith("> Task") ||
|
|
199
|
+
trimmed.startsWith("Tasks runnable")) {
|
|
200
|
+
continue;
|
|
201
|
+
}
|
|
202
|
+
// Task line: "taskName - Description" or just "taskName"
|
|
203
|
+
const taskMatch = trimmed.match(/^(\S+)\s+-\s+(.+)$/);
|
|
204
|
+
if (taskMatch) {
|
|
205
|
+
tasks.push({
|
|
206
|
+
name: taskMatch[1],
|
|
207
|
+
description: taskMatch[2].trim(),
|
|
208
|
+
group: currentGroup,
|
|
209
|
+
});
|
|
210
|
+
continue;
|
|
211
|
+
}
|
|
212
|
+
// Task with no description (usually in --all output): just a name with optional leading colon
|
|
213
|
+
const bareTaskMatch = trimmed.match(/^(:[a-zA-Z][\w:.-]*)$/);
|
|
214
|
+
if (bareTaskMatch) {
|
|
215
|
+
tasks.push({
|
|
216
|
+
name: bareTaskMatch[1],
|
|
217
|
+
group: currentGroup,
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
return { tasks, total: tasks.length };
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Parses `gradle dependencies --console=plain` output.
|
|
225
|
+
*
|
|
226
|
+
* Expected format:
|
|
227
|
+
* ```
|
|
228
|
+
* > Task :dependencies
|
|
229
|
+
*
|
|
230
|
+
* ------------------------------------------------------------
|
|
231
|
+
* Root project 'myproject'
|
|
232
|
+
* ------------------------------------------------------------
|
|
233
|
+
*
|
|
234
|
+
* compileClasspath - Compile classpath for source set 'main'.
|
|
235
|
+
* +--- org.springframework:spring-core:5.3.20
|
|
236
|
+
* +--- com.google.guava:guava:31.1-jre
|
|
237
|
+
* \--- org.slf4j:slf4j-api:1.7.36
|
|
238
|
+
*
|
|
239
|
+
* runtimeClasspath - Runtime classpath of source set 'main'.
|
|
240
|
+
* +--- org.springframework:spring-core:5.3.20
|
|
241
|
+
* \--- org.slf4j:slf4j-api:1.7.36
|
|
242
|
+
* ```
|
|
243
|
+
*/
|
|
244
|
+
export function parseGradleDependencies(stdout) {
|
|
245
|
+
const configurations = [];
|
|
246
|
+
let currentConfig;
|
|
247
|
+
const seen = new Set();
|
|
248
|
+
const lines = stdout.split("\n");
|
|
249
|
+
for (const line of lines) {
|
|
250
|
+
const trimmed = line.trim();
|
|
251
|
+
// Skip empty lines, headers, and separators
|
|
252
|
+
if (!trimmed ||
|
|
253
|
+
trimmed.startsWith("> Task") ||
|
|
254
|
+
trimmed.match(/^-{3,}$/) ||
|
|
255
|
+
trimmed.startsWith("Root project")) {
|
|
256
|
+
continue;
|
|
257
|
+
}
|
|
258
|
+
// Configuration header: "compileClasspath - Description" or just "compileClasspath"
|
|
259
|
+
const configMatch = trimmed.match(/^([a-zA-Z][\w]*)(?:\s+-\s+(.+))?$/);
|
|
260
|
+
if (configMatch &&
|
|
261
|
+
!trimmed.startsWith("+") &&
|
|
262
|
+
!trimmed.startsWith("\\") &&
|
|
263
|
+
!trimmed.startsWith("|")) {
|
|
264
|
+
// Check that the next non-empty line is a dependency tree line or "No dependencies"
|
|
265
|
+
currentConfig = {
|
|
266
|
+
configuration: configMatch[1],
|
|
267
|
+
dependencies: [],
|
|
268
|
+
};
|
|
269
|
+
seen.clear();
|
|
270
|
+
configurations.push(currentConfig);
|
|
271
|
+
continue;
|
|
272
|
+
}
|
|
273
|
+
// Dependency line: "+--- group:artifact:version" or "\--- group:artifact:version"
|
|
274
|
+
if (currentConfig) {
|
|
275
|
+
const depMatch = trimmed.match(/[+\\|]-{3}\s+(\S+):(\S+):(\S+?)(?:\s.*)?$/);
|
|
276
|
+
if (depMatch) {
|
|
277
|
+
const key = `${depMatch[1]}:${depMatch[2]}:${depMatch[3]}`;
|
|
278
|
+
if (!seen.has(key)) {
|
|
279
|
+
seen.add(key);
|
|
280
|
+
const dep = {
|
|
281
|
+
group: depMatch[1],
|
|
282
|
+
artifact: depMatch[2],
|
|
283
|
+
version: depMatch[3].replace(/\s*->.*$/, "").replace(/\s*\(.*\)$/, ""),
|
|
284
|
+
};
|
|
285
|
+
currentConfig.dependencies.push(dep);
|
|
286
|
+
}
|
|
287
|
+
continue;
|
|
288
|
+
}
|
|
289
|
+
// "No dependencies" line
|
|
290
|
+
if (trimmed === "No dependencies") {
|
|
291
|
+
continue;
|
|
292
|
+
}
|
|
293
|
+
// "(c)" or "(*)" markers — just skip
|
|
294
|
+
if (trimmed.match(/^\|/)) {
|
|
295
|
+
continue;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
// Filter out configurations with no dependencies
|
|
300
|
+
const filtered = configurations.filter((c) => c.dependencies.length > 0);
|
|
301
|
+
const totalDependencies = filtered.reduce((sum, c) => sum + c.dependencies.length, 0);
|
|
302
|
+
return { configurations: filtered, totalDependencies };
|
|
303
|
+
}
|
|
304
|
+
// ── Maven parsers ───────────────────────────────────────────────────
|
|
305
|
+
/** Parses Maven build (package) output into structured result. */
|
|
306
|
+
export function parseMavenBuild(stdout, stderr, exitCode, duration, timedOut = false) {
|
|
307
|
+
const success = exitCode === 0 && !timedOut;
|
|
308
|
+
const combined = `${stdout}\n${stderr}`;
|
|
309
|
+
const diagnostics = parseDiagnostics(combined);
|
|
310
|
+
return {
|
|
311
|
+
success,
|
|
312
|
+
exitCode,
|
|
313
|
+
duration,
|
|
314
|
+
timedOut,
|
|
315
|
+
diagnostics: diagnostics.length > 0 ? diagnostics : undefined,
|
|
316
|
+
stdout: stdout.trimEnd() || undefined,
|
|
317
|
+
stderr: stderr.trimEnd() || undefined,
|
|
318
|
+
};
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Parses Maven Surefire test output.
|
|
322
|
+
*
|
|
323
|
+
* Expected format:
|
|
324
|
+
* ```
|
|
325
|
+
* [INFO] -------------------------------------------------------
|
|
326
|
+
* [INFO] T E S T S
|
|
327
|
+
* [INFO] -------------------------------------------------------
|
|
328
|
+
* [INFO] Running com.example.AppTest
|
|
329
|
+
* [INFO] Tests run: 5, Failures: 1, Errors: 0, Skipped: 1, Time elapsed: 0.123 s
|
|
330
|
+
* [INFO]
|
|
331
|
+
* [INFO] Results:
|
|
332
|
+
* [INFO]
|
|
333
|
+
* [INFO] Tests run: 5, Failures: 1, Errors: 0, Skipped: 1
|
|
334
|
+
* ```
|
|
335
|
+
*/
|
|
336
|
+
export function parseMavenTest(stdout, stderr, exitCode, duration, timedOut = false) {
|
|
337
|
+
const success = exitCode === 0 && !timedOut;
|
|
338
|
+
const combined = `${stdout}\n${stderr}`;
|
|
339
|
+
let totalTests = 0;
|
|
340
|
+
let failedCount = 0;
|
|
341
|
+
let errors = 0;
|
|
342
|
+
let skipped = 0;
|
|
343
|
+
const tests = [];
|
|
344
|
+
// Parse final summary: "Tests run: N, Failures: N, Errors: N, Skipped: N"
|
|
345
|
+
// Take the LAST occurrence (which is the overall summary)
|
|
346
|
+
const summaryMatches = [
|
|
347
|
+
...combined.matchAll(/Tests\s+run:\s*(\d+),\s*Failures:\s*(\d+),\s*Errors:\s*(\d+),\s*Skipped:\s*(\d+)/g),
|
|
348
|
+
];
|
|
349
|
+
if (summaryMatches.length > 0) {
|
|
350
|
+
const last = summaryMatches[summaryMatches.length - 1];
|
|
351
|
+
totalTests = parseInt(last[1], 10);
|
|
352
|
+
failedCount = parseInt(last[2], 10);
|
|
353
|
+
errors = parseInt(last[3], 10);
|
|
354
|
+
skipped = parseInt(last[4], 10);
|
|
355
|
+
}
|
|
356
|
+
const passed = totalTests - failedCount - errors - skipped;
|
|
357
|
+
// Parse individual failing test names from Surefire output
|
|
358
|
+
// "[ERROR] testMethodName(com.example.AppTest) -- In SomeTest"
|
|
359
|
+
// or " testMethodName(com.example.AppTest) Time elapsed: 0.001 s <<< FAILURE!"
|
|
360
|
+
const failRe = /^\s*(\w[\w$]*)\(([^)]+)\)\s+(?:Time elapsed:.*?<<<\s*(FAILURE|ERROR)!|--)/gm;
|
|
361
|
+
let failMatch;
|
|
362
|
+
while ((failMatch = failRe.exec(combined)) !== null) {
|
|
363
|
+
tests.push({
|
|
364
|
+
name: failMatch[1],
|
|
365
|
+
className: failMatch[2],
|
|
366
|
+
passed: false,
|
|
367
|
+
failure: failMatch[3] || "FAILURE",
|
|
368
|
+
});
|
|
369
|
+
}
|
|
370
|
+
return {
|
|
371
|
+
success,
|
|
372
|
+
exitCode,
|
|
373
|
+
duration,
|
|
374
|
+
timedOut,
|
|
375
|
+
totalTests,
|
|
376
|
+
passed: Math.max(0, passed),
|
|
377
|
+
failed: failedCount,
|
|
378
|
+
errors,
|
|
379
|
+
skipped,
|
|
380
|
+
tests: tests.length > 0 ? tests : undefined,
|
|
381
|
+
stdout: stdout.trimEnd() || undefined,
|
|
382
|
+
stderr: stderr.trimEnd() || undefined,
|
|
383
|
+
};
|
|
384
|
+
}
|
|
385
|
+
/**
|
|
386
|
+
* Parses `mvn dependency:tree` output.
|
|
387
|
+
*
|
|
388
|
+
* Expected format:
|
|
389
|
+
* ```
|
|
390
|
+
* [INFO] --- dependency:3.6.0:tree (default-cli) @ myproject ---
|
|
391
|
+
* [INFO] com.example:myproject:jar:1.0-SNAPSHOT
|
|
392
|
+
* [INFO] +- org.springframework:spring-core:jar:5.3.20:compile
|
|
393
|
+
* [INFO] +- com.google.guava:guava:jar:31.1-jre:compile
|
|
394
|
+
* [INFO] \- org.slf4j:slf4j-api:jar:1.7.36:compile
|
|
395
|
+
* ```
|
|
396
|
+
*/
|
|
397
|
+
export function parseMavenDependencies(stdout) {
|
|
398
|
+
const dependencies = [];
|
|
399
|
+
const seen = new Set();
|
|
400
|
+
const lines = stdout.split("\n");
|
|
401
|
+
for (const line of lines) {
|
|
402
|
+
// Strip [INFO] prefix
|
|
403
|
+
const stripped = line.replace(/^\[INFO\]\s*/, "").trim();
|
|
404
|
+
// Dependency lines: "+- group:artifact:type:version:scope" or "\- ..."
|
|
405
|
+
// Maven format: groupId:artifactId:packaging:version[:scope]
|
|
406
|
+
// Tree indentation uses |, +, \, - and spaces
|
|
407
|
+
const depMatch = stripped.match(/[+\\]-\s+([^:\s]+):([^:\s]+):([^:\s]+):([^:\s]+)(?::([^:\s]+))?(?:\s.*)?$/);
|
|
408
|
+
if (depMatch) {
|
|
409
|
+
const key = `${depMatch[1]}:${depMatch[2]}`;
|
|
410
|
+
if (!seen.has(key)) {
|
|
411
|
+
seen.add(key);
|
|
412
|
+
dependencies.push({
|
|
413
|
+
groupId: depMatch[1],
|
|
414
|
+
artifactId: depMatch[2],
|
|
415
|
+
version: depMatch[4],
|
|
416
|
+
scope: depMatch[5],
|
|
417
|
+
});
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
return { dependencies, total: dependencies.length };
|
|
422
|
+
}
|
|
423
|
+
/** Parses Maven verify output (same structure as build). */
|
|
424
|
+
export function parseMavenVerify(stdout, stderr, exitCode, duration, timedOut = false) {
|
|
425
|
+
const success = exitCode === 0 && !timedOut;
|
|
426
|
+
const combined = `${stdout}\n${stderr}`;
|
|
427
|
+
const diagnostics = parseDiagnostics(combined);
|
|
428
|
+
return {
|
|
429
|
+
success,
|
|
430
|
+
exitCode,
|
|
431
|
+
duration,
|
|
432
|
+
timedOut,
|
|
433
|
+
diagnostics: diagnostics.length > 0 ? diagnostics : undefined,
|
|
434
|
+
stdout: stdout.trimEnd() || undefined,
|
|
435
|
+
stderr: stderr.trimEnd() || undefined,
|
|
436
|
+
};
|
|
437
|
+
}
|
|
438
|
+
//# sourceMappingURL=parsers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../src/lib/parsers.ts"],"names":[],"mappings":"AAkBA,uEAAuE;AAEvE,kEAAkE;AAClE,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,MAAM,WAAW,GAAsB,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,6DAA6D;QAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC9E,IAAI,SAAS,EAAE,CAAC;YACd,WAAW,CAAC,IAAI,CAAC;gBACf,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAwB;gBAC7C,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC5B,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBAClB,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;aACjC,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,iEAAiE;QACjE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACxF,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,CAAC,IAAI,CAAC;gBACf,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBACtD,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC9B,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;gBACpB,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;aACnC,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,gDAAgD;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAC3B,gFAAgF,CACjF,CAAC;QACF,IAAI,UAAU,EAAE,CAAC;YACf,WAAW,CAAC,IAAI,CAAC;gBACf,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBAC1D,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC7B,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;gBACnB,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;aAClC,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,kDAAkD;QAClD,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACrE,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,MAAM,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACxC,gCAAgC;YAChC,IACE,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC;gBAC/B,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC;gBAC/B,GAAG,KAAK,EAAE;gBACV,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC;gBACrB,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC;gBAC5B,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC;gBAC7B,GAAG,CAAC,UAAU,CAAC,sBAAsB,CAAC,EACtC,CAAC;gBACD,SAAS;YACX,CAAC;YACD,WAAW,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,uEAAuE;AAEvE,yDAAyD;AACzD,MAAM,UAAU,gBAAgB,CAC9B,MAAc,EACd,MAAc,EACd,QAAgB,EAChB,QAAgB,EAChB,WAAoB,KAAK;IAEzB,MAAM,OAAO,GAAG,QAAQ,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC5C,MAAM,QAAQ,GAAG,GAAG,MAAM,KAAK,MAAM,EAAE,CAAC;IAExC,kGAAkG;IAClG,IAAI,aAAiC,CAAC;IACtC,IAAI,WAA+B,CAAC;IAEpC,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CACpC,4EAA4E,CAC7E,CAAC;IACF,IAAI,eAAe,EAAE,CAAC;QACpB,aAAa,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,4BAA4B;QAC5B,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC1D,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,CAAC;IAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE/C,OAAO;QACL,OAAO;QACP,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,aAAa;QACb,WAAW;QACX,WAAW,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QAC7D,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,SAAS;QACrC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,SAAS;KACtC,CAAC;AACJ,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,eAAe,CAC7B,MAAc,EACd,MAAc,EACd,QAAgB,EAChB,QAAgB,EAChB,WAAoB,KAAK;IAEzB,MAAM,OAAO,GAAG,QAAQ,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC5C,MAAM,QAAQ,GAAG,GAAG,MAAM,KAAK,MAAM,EAAE,CAAC;IAExC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,KAAK,GAAqB,EAAE,CAAC;IAEnC,oGAAoG;IACpG,+CAA+C;IAC/C,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAChC,uEAAuE,CACxE,CAAC;IACF,IAAI,WAAW,EAAE,CAAC;QAChB,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1C,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtC,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;IACzC,CAAC;IAED,yEAAyE;IACzE,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAC7B,kFAAkF,CACnF,CAAC;IACF,IAAI,QAAQ,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QACjC,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/D,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpC,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;IACzC,CAAC;IAED,yEAAyE;IACzE,MAAM,UAAU,GAAG,6EAA6E,CAAC;IACjG,IAAI,KAAK,CAAC;IACV,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAmB;YAC/B,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACd,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YACnB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;SAC9B,CAAC;QACF,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACb,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC1B,mDAAmD;YACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;YAC7F,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YACnE,IAAI,YAAY,EAAE,CAAC;gBACjB,QAAQ,CAAC,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAED,gEAAgE;IAChE,IAAI,UAAU,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;QAC1B,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;QAC9C,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;QAC1E,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;IACzC,CAAC;IAED,OAAO;QACL,OAAO;QACP,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,UAAU;QACV,MAAM;QACN,MAAM;QACN,OAAO;QACP,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QAC3C,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,SAAS;QACrC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,SAAS;KACtC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,IAAI,YAAgC,CAAC;IAErC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,uDAAuD;QACvD,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YACjE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACzD,CAAC,EAAE,CAAC,CAAC,0BAA0B;YAC/B,SAAS;QACX,CAAC;QAED,yCAAyC;QACzC,IACE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;YACxB,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC5B,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,EACpC,CAAC;YACD,SAAS;QACX,CAAC;QAED,yDAAyD;QACzD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACtD,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBAClB,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAChC,KAAK,EAAE,YAAY;aACpB,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,8FAA8F;QAC9F,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC7D,IAAI,aAAa,EAAE,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;gBACtB,KAAK,EAAE,YAAY;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAc;IACpD,MAAM,cAAc,GAA6B,EAAE,CAAC;IACpD,IAAI,aAAiD,CAAC;IACtD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,4CAA4C;QAC5C,IACE,CAAC,OAAO;YACR,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;YACxB,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,EAClC,CAAC;YACD,SAAS;QACX,CAAC;QAED,oFAAoF;QACpF,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvE,IACE,WAAW;YACX,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YACxB,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YACzB,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EACxB,CAAC;YACD,oFAAoF;YACpF,aAAa,GAAG;gBACd,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;gBAC7B,YAAY,EAAE,EAAE;aACjB,CAAC;YACF,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACnC,SAAS;QACX,CAAC;QAED,kFAAkF;QAClF,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC5E,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACd,MAAM,GAAG,GAAqB;wBAC5B,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;wBAClB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;wBACrB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;qBACvE,CAAC;oBACF,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACvC,CAAC;gBACD,SAAS;YACX,CAAC;YAED,yBAAyB;YACzB,IAAI,OAAO,KAAK,iBAAiB,EAAE,CAAC;gBAClC,SAAS;YACX,CAAC;YAED,qCAAqC;YACrC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,SAAS;YACX,CAAC;QACH,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzE,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAEtF,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;AACzD,CAAC;AAED,uEAAuE;AAEvE,kEAAkE;AAClE,MAAM,UAAU,eAAe,CAC7B,MAAc,EACd,MAAc,EACd,QAAgB,EAChB,QAAgB,EAChB,WAAoB,KAAK;IAEzB,MAAM,OAAO,GAAG,QAAQ,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC5C,MAAM,QAAQ,GAAG,GAAG,MAAM,KAAK,MAAM,EAAE,CAAC;IACxC,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE/C,OAAO;QACL,OAAO;QACP,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,WAAW,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QAC7D,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,SAAS;QACrC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,SAAS;KACtC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAc,EACd,MAAc,EACd,QAAgB,EAChB,QAAgB,EAChB,WAAoB,KAAK;IAEzB,MAAM,OAAO,GAAG,QAAQ,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC5C,MAAM,QAAQ,GAAG,GAAG,MAAM,KAAK,MAAM,EAAE,CAAC;IAExC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,KAAK,GAAoB,EAAE,CAAC;IAElC,0EAA0E;IAC1E,0DAA0D;IAC1D,MAAM,cAAc,GAAG;QACrB,GAAG,QAAQ,CAAC,QAAQ,CAClB,mFAAmF,CACpF;KACF,CAAC;IACF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvD,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/B,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;IAE3D,2DAA2D;IAC3D,+DAA+D;IAC/D,kFAAkF;IAClF,MAAM,MAAM,GAAG,6EAA6E,CAAC;IAC7F,IAAI,SAAS,CAAC;IACd,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;YAClB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;YACvB,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS;SACnC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,OAAO;QACP,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,UAAU;QACV,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC;QAC3B,MAAM,EAAE,WAAW;QACnB,MAAM;QACN,OAAO;QACP,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QAC3C,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,SAAS;QACrC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,SAAS;KACtC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAc;IACnD,MAAM,YAAY,GAAsB,EAAE,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,sBAAsB;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAEzD,uEAAuE;QACvE,6DAA6D;QAC7D,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAC7B,2EAA2E,CAC5E,CAAC;QACF,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,YAAY,CAAC,IAAI,CAAC;oBAChB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACpB,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACvB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACpB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;iBACnB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC;AACtD,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,gBAAgB,CAC9B,MAAc,EACd,MAAc,EACd,QAAgB,EAChB,QAAgB,EAChB,WAAoB,KAAK;IAEzB,MAAM,OAAO,GAAG,QAAQ,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC5C,MAAM,QAAQ,GAAG,GAAG,MAAM,KAAK,MAAM,EAAE,CAAC;IACxC,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE/C,OAAO;QACL,OAAO;QACP,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,WAAW,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QAC7D,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,SAAS;QACrC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,SAAS;KACtC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
declare const BuildDiagnosticSchema: z.ZodObject<{
|
|
3
|
+
severity: z.ZodEnum<{
|
|
4
|
+
error: "error";
|
|
5
|
+
warning: "warning";
|
|
6
|
+
}>;
|
|
7
|
+
message: z.ZodString;
|
|
8
|
+
file: z.ZodOptional<z.ZodString>;
|
|
9
|
+
line: z.ZodOptional<z.ZodNumber>;
|
|
10
|
+
}, z.core.$strip>;
|
|
11
|
+
export type BuildDiagnostic = z.infer<typeof BuildDiagnosticSchema>;
|
|
12
|
+
export declare const GradleBuildResultSchema: z.ZodObject<{
|
|
13
|
+
success: z.ZodBoolean;
|
|
14
|
+
exitCode: z.ZodNumber;
|
|
15
|
+
duration: z.ZodNumber;
|
|
16
|
+
timedOut: z.ZodBoolean;
|
|
17
|
+
tasksExecuted: z.ZodOptional<z.ZodNumber>;
|
|
18
|
+
tasksFailed: z.ZodOptional<z.ZodNumber>;
|
|
19
|
+
diagnostics: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
20
|
+
severity: z.ZodEnum<{
|
|
21
|
+
error: "error";
|
|
22
|
+
warning: "warning";
|
|
23
|
+
}>;
|
|
24
|
+
message: z.ZodString;
|
|
25
|
+
file: z.ZodOptional<z.ZodString>;
|
|
26
|
+
line: z.ZodOptional<z.ZodNumber>;
|
|
27
|
+
}, z.core.$strip>>>;
|
|
28
|
+
stdout: z.ZodOptional<z.ZodString>;
|
|
29
|
+
stderr: z.ZodOptional<z.ZodString>;
|
|
30
|
+
}, z.core.$strip>;
|
|
31
|
+
export type GradleBuildResult = z.infer<typeof GradleBuildResultSchema>;
|
|
32
|
+
export declare const GradleTestCaseSchema: z.ZodObject<{
|
|
33
|
+
name: z.ZodString;
|
|
34
|
+
className: z.ZodOptional<z.ZodString>;
|
|
35
|
+
passed: z.ZodBoolean;
|
|
36
|
+
duration: z.ZodOptional<z.ZodString>;
|
|
37
|
+
failure: z.ZodOptional<z.ZodString>;
|
|
38
|
+
}, z.core.$strip>;
|
|
39
|
+
export type GradleTestCase = z.infer<typeof GradleTestCaseSchema>;
|
|
40
|
+
export declare const GradleTestResultSchema: z.ZodObject<{
|
|
41
|
+
success: z.ZodBoolean;
|
|
42
|
+
exitCode: z.ZodNumber;
|
|
43
|
+
duration: z.ZodNumber;
|
|
44
|
+
timedOut: z.ZodBoolean;
|
|
45
|
+
totalTests: z.ZodNumber;
|
|
46
|
+
passed: z.ZodNumber;
|
|
47
|
+
failed: z.ZodNumber;
|
|
48
|
+
skipped: z.ZodNumber;
|
|
49
|
+
tests: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
50
|
+
name: z.ZodString;
|
|
51
|
+
className: z.ZodOptional<z.ZodString>;
|
|
52
|
+
passed: z.ZodBoolean;
|
|
53
|
+
duration: z.ZodOptional<z.ZodString>;
|
|
54
|
+
failure: z.ZodOptional<z.ZodString>;
|
|
55
|
+
}, z.core.$strip>>>;
|
|
56
|
+
stdout: z.ZodOptional<z.ZodString>;
|
|
57
|
+
stderr: z.ZodOptional<z.ZodString>;
|
|
58
|
+
}, z.core.$strip>;
|
|
59
|
+
export type GradleTestResult = z.infer<typeof GradleTestResultSchema>;
|
|
60
|
+
export declare const GradleTaskSchema: z.ZodObject<{
|
|
61
|
+
name: z.ZodString;
|
|
62
|
+
description: z.ZodOptional<z.ZodString>;
|
|
63
|
+
group: z.ZodOptional<z.ZodString>;
|
|
64
|
+
}, z.core.$strip>;
|
|
65
|
+
export type GradleTask = z.infer<typeof GradleTaskSchema>;
|
|
66
|
+
export declare const GradleTasksResultSchema: z.ZodObject<{
|
|
67
|
+
tasks: z.ZodArray<z.ZodObject<{
|
|
68
|
+
name: z.ZodString;
|
|
69
|
+
description: z.ZodOptional<z.ZodString>;
|
|
70
|
+
group: z.ZodOptional<z.ZodString>;
|
|
71
|
+
}, z.core.$strip>>;
|
|
72
|
+
total: z.ZodNumber;
|
|
73
|
+
}, z.core.$strip>;
|
|
74
|
+
export type GradleTasksResult = z.infer<typeof GradleTasksResultSchema>;
|
|
75
|
+
export declare const GradleDependencySchema: z.ZodObject<{
|
|
76
|
+
group: z.ZodString;
|
|
77
|
+
artifact: z.ZodString;
|
|
78
|
+
version: z.ZodOptional<z.ZodString>;
|
|
79
|
+
}, z.core.$strip>;
|
|
80
|
+
export type GradleDependency = z.infer<typeof GradleDependencySchema>;
|
|
81
|
+
export declare const GradleDependencyConfigSchema: z.ZodObject<{
|
|
82
|
+
configuration: z.ZodString;
|
|
83
|
+
dependencies: z.ZodArray<z.ZodObject<{
|
|
84
|
+
group: z.ZodString;
|
|
85
|
+
artifact: z.ZodString;
|
|
86
|
+
version: z.ZodOptional<z.ZodString>;
|
|
87
|
+
}, z.core.$strip>>;
|
|
88
|
+
}, z.core.$strip>;
|
|
89
|
+
export type GradleDependencyConfig = z.infer<typeof GradleDependencyConfigSchema>;
|
|
90
|
+
export declare const GradleDependenciesResultSchema: z.ZodObject<{
|
|
91
|
+
configurations: z.ZodArray<z.ZodObject<{
|
|
92
|
+
configuration: z.ZodString;
|
|
93
|
+
dependencies: z.ZodArray<z.ZodObject<{
|
|
94
|
+
group: z.ZodString;
|
|
95
|
+
artifact: z.ZodString;
|
|
96
|
+
version: z.ZodOptional<z.ZodString>;
|
|
97
|
+
}, z.core.$strip>>;
|
|
98
|
+
}, z.core.$strip>>;
|
|
99
|
+
totalDependencies: z.ZodNumber;
|
|
100
|
+
}, z.core.$strip>;
|
|
101
|
+
export type GradleDependenciesResult = z.infer<typeof GradleDependenciesResultSchema>;
|
|
102
|
+
export declare const MavenBuildResultSchema: z.ZodObject<{
|
|
103
|
+
success: z.ZodBoolean;
|
|
104
|
+
exitCode: z.ZodNumber;
|
|
105
|
+
duration: z.ZodNumber;
|
|
106
|
+
timedOut: z.ZodBoolean;
|
|
107
|
+
diagnostics: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
108
|
+
severity: z.ZodEnum<{
|
|
109
|
+
error: "error";
|
|
110
|
+
warning: "warning";
|
|
111
|
+
}>;
|
|
112
|
+
message: z.ZodString;
|
|
113
|
+
file: z.ZodOptional<z.ZodString>;
|
|
114
|
+
line: z.ZodOptional<z.ZodNumber>;
|
|
115
|
+
}, z.core.$strip>>>;
|
|
116
|
+
stdout: z.ZodOptional<z.ZodString>;
|
|
117
|
+
stderr: z.ZodOptional<z.ZodString>;
|
|
118
|
+
}, z.core.$strip>;
|
|
119
|
+
export type MavenBuildResult = z.infer<typeof MavenBuildResultSchema>;
|
|
120
|
+
export declare const MavenTestCaseSchema: z.ZodObject<{
|
|
121
|
+
name: z.ZodString;
|
|
122
|
+
className: z.ZodOptional<z.ZodString>;
|
|
123
|
+
passed: z.ZodBoolean;
|
|
124
|
+
failure: z.ZodOptional<z.ZodString>;
|
|
125
|
+
}, z.core.$strip>;
|
|
126
|
+
export type MavenTestCase = z.infer<typeof MavenTestCaseSchema>;
|
|
127
|
+
export declare const MavenTestResultSchema: z.ZodObject<{
|
|
128
|
+
success: z.ZodBoolean;
|
|
129
|
+
exitCode: z.ZodNumber;
|
|
130
|
+
duration: z.ZodNumber;
|
|
131
|
+
timedOut: z.ZodBoolean;
|
|
132
|
+
totalTests: z.ZodNumber;
|
|
133
|
+
passed: z.ZodNumber;
|
|
134
|
+
failed: z.ZodNumber;
|
|
135
|
+
errors: z.ZodNumber;
|
|
136
|
+
skipped: z.ZodNumber;
|
|
137
|
+
tests: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
138
|
+
name: z.ZodString;
|
|
139
|
+
className: z.ZodOptional<z.ZodString>;
|
|
140
|
+
passed: z.ZodBoolean;
|
|
141
|
+
failure: z.ZodOptional<z.ZodString>;
|
|
142
|
+
}, z.core.$strip>>>;
|
|
143
|
+
stdout: z.ZodOptional<z.ZodString>;
|
|
144
|
+
stderr: z.ZodOptional<z.ZodString>;
|
|
145
|
+
}, z.core.$strip>;
|
|
146
|
+
export type MavenTestResult = z.infer<typeof MavenTestResultSchema>;
|
|
147
|
+
export declare const MavenDependencySchema: z.ZodObject<{
|
|
148
|
+
groupId: z.ZodString;
|
|
149
|
+
artifactId: z.ZodString;
|
|
150
|
+
version: z.ZodOptional<z.ZodString>;
|
|
151
|
+
scope: z.ZodOptional<z.ZodString>;
|
|
152
|
+
}, z.core.$strip>;
|
|
153
|
+
export type MavenDependency = z.infer<typeof MavenDependencySchema>;
|
|
154
|
+
export declare const MavenDependenciesResultSchema: z.ZodObject<{
|
|
155
|
+
dependencies: z.ZodArray<z.ZodObject<{
|
|
156
|
+
groupId: z.ZodString;
|
|
157
|
+
artifactId: z.ZodString;
|
|
158
|
+
version: z.ZodOptional<z.ZodString>;
|
|
159
|
+
scope: z.ZodOptional<z.ZodString>;
|
|
160
|
+
}, z.core.$strip>>;
|
|
161
|
+
total: z.ZodNumber;
|
|
162
|
+
}, z.core.$strip>;
|
|
163
|
+
export type MavenDependenciesResult = z.infer<typeof MavenDependenciesResultSchema>;
|
|
164
|
+
export declare const MavenVerifyResultSchema: z.ZodObject<{
|
|
165
|
+
success: z.ZodBoolean;
|
|
166
|
+
exitCode: z.ZodNumber;
|
|
167
|
+
duration: z.ZodNumber;
|
|
168
|
+
timedOut: z.ZodBoolean;
|
|
169
|
+
diagnostics: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
170
|
+
severity: z.ZodEnum<{
|
|
171
|
+
error: "error";
|
|
172
|
+
warning: "warning";
|
|
173
|
+
}>;
|
|
174
|
+
message: z.ZodString;
|
|
175
|
+
file: z.ZodOptional<z.ZodString>;
|
|
176
|
+
line: z.ZodOptional<z.ZodNumber>;
|
|
177
|
+
}, z.core.$strip>>>;
|
|
178
|
+
stdout: z.ZodOptional<z.ZodString>;
|
|
179
|
+
stderr: z.ZodOptional<z.ZodString>;
|
|
180
|
+
}, z.core.$strip>;
|
|
181
|
+
export type MavenVerifyResult = z.infer<typeof MavenVerifyResultSchema>;
|
|
182
|
+
export {};
|
|
183
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,qBAAqB;;;;;;;;iBAKzB,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAIpE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;iBAUlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,oBAAoB;;;;;;iBAM/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;iBAYjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,gBAAgB;;;;iBAI3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,uBAAuB;;;;;;;iBAGlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,sBAAsB;;;;iBAIjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,4BAA4B;;;;;;;iBAGvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,8BAA8B;;;;;;;;;;iBAGzC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAItF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;iBAQjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,mBAAmB;;;;;iBAK9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;iBAahC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,qBAAqB;;;;;iBAKhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,6BAA6B;;;;;;;;iBAGxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;iBAQlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
|