@paretools/swift 0.11.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/LICENSE +21 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/formatters.d.ts +95 -0
- package/dist/lib/formatters.d.ts.map +1 -0
- package/dist/lib/formatters.js +208 -0
- package/dist/lib/formatters.js.map +1 -0
- package/dist/lib/parsers.d.ts +73 -0
- package/dist/lib/parsers.d.ts.map +1 -0
- package/dist/lib/parsers.js +337 -0
- package/dist/lib/parsers.js.map +1 -0
- package/dist/lib/swift-runner.d.ts +3 -0
- package/dist/lib/swift-runner.d.ts.map +1 -0
- package/dist/lib/swift-runner.js +6 -0
- package/dist/lib/swift-runner.js.map +1 -0
- package/dist/schemas/index.d.ts +159 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +105 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/tools/build.d.ts +4 -0
- package/dist/tools/build.d.ts.map +1 -0
- package/dist/tools/build.js +69 -0
- package/dist/tools/build.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/package-clean.d.ts +4 -0
- package/dist/tools/package-clean.d.ts.map +1 -0
- package/dist/tools/package-clean.js +25 -0
- package/dist/tools/package-clean.js.map +1 -0
- package/dist/tools/package-init.d.ts +4 -0
- package/dist/tools/package-init.d.ts.map +1 -0
- package/dist/tools/package-init.js +38 -0
- package/dist/tools/package-init.js.map +1 -0
- package/dist/tools/package-resolve.d.ts +4 -0
- package/dist/tools/package-resolve.d.ts.map +1 -0
- package/dist/tools/package-resolve.js +25 -0
- package/dist/tools/package-resolve.js.map +1 -0
- package/dist/tools/package-show-dependencies.d.ts +4 -0
- package/dist/tools/package-show-dependencies.d.ts.map +1 -0
- package/dist/tools/package-show-dependencies.js +31 -0
- package/dist/tools/package-show-dependencies.js.map +1 -0
- package/dist/tools/package-update.d.ts +4 -0
- package/dist/tools/package-update.d.ts.map +1 -0
- package/dist/tools/package-update.js +38 -0
- package/dist/tools/package-update.js.map +1 -0
- package/dist/tools/run.d.ts +4 -0
- package/dist/tools/run.d.ts.map +1 -0
- package/dist/tools/run.js +59 -0
- package/dist/tools/run.js.map +1 -0
- package/dist/tools/test.d.ts +4 -0
- package/dist/tools/test.d.ts.map +1 -0
- package/dist/tools/test.js +43 -0
- package/dist/tools/test.js.map +1 -0
- package/package.json +73 -0
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parses Swift compiler diagnostic lines.
|
|
3
|
+
* Format: file.swift:line:column: error: message
|
|
4
|
+
* file.swift:line:column: warning: message
|
|
5
|
+
* file.swift:line:column: note: message
|
|
6
|
+
*/
|
|
7
|
+
function parseDiagnostics(output) {
|
|
8
|
+
const errors = [];
|
|
9
|
+
const warnings = [];
|
|
10
|
+
const lines = output.split("\n");
|
|
11
|
+
for (const line of lines) {
|
|
12
|
+
const match = line.match(/^(.+?):(\d+):(\d+):\s*(error|warning|note):\s*(.+)$/);
|
|
13
|
+
if (match) {
|
|
14
|
+
const diagnostic = {
|
|
15
|
+
file: match[1],
|
|
16
|
+
line: parseInt(match[2], 10),
|
|
17
|
+
column: parseInt(match[3], 10),
|
|
18
|
+
severity: match[4],
|
|
19
|
+
message: match[5],
|
|
20
|
+
};
|
|
21
|
+
if (diagnostic.severity === "error") {
|
|
22
|
+
errors.push(diagnostic);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
warnings.push(diagnostic);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return { errors, warnings };
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Parses `swift build` output.
|
|
33
|
+
* Extracts compiler errors and warnings from stderr.
|
|
34
|
+
*/
|
|
35
|
+
export function parseBuildOutput(stdout, stderr, exitCode, duration, timedOut) {
|
|
36
|
+
const combined = stdout + "\n" + stderr;
|
|
37
|
+
const { errors, warnings } = parseDiagnostics(combined);
|
|
38
|
+
return {
|
|
39
|
+
success: exitCode === 0 && !timedOut,
|
|
40
|
+
exitCode,
|
|
41
|
+
errors,
|
|
42
|
+
warnings,
|
|
43
|
+
duration,
|
|
44
|
+
timedOut,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Parses `swift test` output.
|
|
49
|
+
* Looks for individual test lines:
|
|
50
|
+
* Test Case '-[ModuleTests.SomeTest testExample]' passed (0.001 seconds).
|
|
51
|
+
* Test Case '-[ModuleTests.SomeTest testFail]' failed (0.002 seconds).
|
|
52
|
+
* Test case 'SomeTest.testExample' passed on ...
|
|
53
|
+
* Also parses the Swift Testing format:
|
|
54
|
+
* Test testExample passed after 0.001 seconds.
|
|
55
|
+
* Test testFail failed after 0.002 seconds.
|
|
56
|
+
* And the summary line:
|
|
57
|
+
* Test Suite 'All tests' passed at ...
|
|
58
|
+
* Executed N tests, with M failures
|
|
59
|
+
*/
|
|
60
|
+
export function parseTestOutput(stdout, stderr, exitCode, duration) {
|
|
61
|
+
const combined = stdout + "\n" + stderr;
|
|
62
|
+
const lines = combined.split("\n");
|
|
63
|
+
const testCases = [];
|
|
64
|
+
for (const line of lines) {
|
|
65
|
+
// XCTest format: Test Case '-[Module.Class testMethod]' passed (0.001 seconds).
|
|
66
|
+
const xcMatch = line.match(/Test Case ['']-?\[(.+?)\]['']\s+(passed|failed)\s+\(([0-9.]+)\s+seconds\)/);
|
|
67
|
+
if (xcMatch) {
|
|
68
|
+
testCases.push({
|
|
69
|
+
name: xcMatch[1],
|
|
70
|
+
status: xcMatch[2] === "passed" ? "passed" : "failed",
|
|
71
|
+
duration: parseFloat(xcMatch[3]),
|
|
72
|
+
});
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
// Swift Testing format: Test "testName" passed after 0.001 seconds.
|
|
76
|
+
// or: ◇ Test testName started. ✔ Test testName passed after 0.001 seconds.
|
|
77
|
+
const stMatch = line.match(/Test\s+[""]?(.+?)[""]?\s+(passed|failed)\s+after\s+([0-9.]+)\s+seconds/);
|
|
78
|
+
if (stMatch) {
|
|
79
|
+
testCases.push({
|
|
80
|
+
name: stMatch[1],
|
|
81
|
+
status: stMatch[2] === "passed" ? "passed" : "failed",
|
|
82
|
+
duration: parseFloat(stMatch[3]),
|
|
83
|
+
});
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
86
|
+
// Swift package test output: test case 'ClassName.testMethod' passed on ...
|
|
87
|
+
const pkgMatch = line.match(/test case [''"](.+?)[''"][\s]+(passed|failed)/i);
|
|
88
|
+
if (pkgMatch) {
|
|
89
|
+
// Avoid duplicates - check if we already have this test
|
|
90
|
+
const name = pkgMatch[1];
|
|
91
|
+
if (!testCases.some((t) => t.name === name)) {
|
|
92
|
+
testCases.push({
|
|
93
|
+
name,
|
|
94
|
+
status: pkgMatch[2] === "passed" ? "passed" : "failed",
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
const passed = testCases.filter((t) => t.status === "passed").length;
|
|
100
|
+
const failed = testCases.filter((t) => t.status === "failed").length;
|
|
101
|
+
const skipped = testCases.filter((t) => t.status === "skipped").length;
|
|
102
|
+
return {
|
|
103
|
+
success: exitCode === 0,
|
|
104
|
+
exitCode,
|
|
105
|
+
passed,
|
|
106
|
+
failed,
|
|
107
|
+
skipped,
|
|
108
|
+
total: testCases.length,
|
|
109
|
+
testCases,
|
|
110
|
+
duration,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Parses `swift run` output.
|
|
115
|
+
* Returns exit code, stdout, stderr, and duration.
|
|
116
|
+
*/
|
|
117
|
+
export function parseRunOutput(stdout, stderr, exitCode, duration, timedOut) {
|
|
118
|
+
return {
|
|
119
|
+
success: exitCode === 0 && !timedOut,
|
|
120
|
+
exitCode,
|
|
121
|
+
stdout,
|
|
122
|
+
stderr,
|
|
123
|
+
duration,
|
|
124
|
+
timedOut,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Parses `swift package resolve` output.
|
|
129
|
+
* Looks for lines like:
|
|
130
|
+
* Fetching https://github.com/apple/swift-argument-parser.git from cache
|
|
131
|
+
* Fetched https://github.com/apple/swift-argument-parser.git from cache (0.34s)
|
|
132
|
+
* Computing version for swift-argument-parser
|
|
133
|
+
* Computed swift-argument-parser at 1.2.3 (0.01s)
|
|
134
|
+
* Resolving https://github.com/apple/swift-argument-parser.git at 1.2.3
|
|
135
|
+
*/
|
|
136
|
+
export function parsePackageResolveOutput(stdout, stderr, exitCode, duration) {
|
|
137
|
+
const combined = stdout + "\n" + stderr;
|
|
138
|
+
const lines = combined.split("\n");
|
|
139
|
+
const packages = new Map();
|
|
140
|
+
for (const line of lines) {
|
|
141
|
+
// Match "Computed <name> at <version>"
|
|
142
|
+
const computedMatch = line.match(/Computed\s+(\S+)\s+at\s+(\S+)/);
|
|
143
|
+
if (computedMatch) {
|
|
144
|
+
const name = computedMatch[1];
|
|
145
|
+
packages.set(name, {
|
|
146
|
+
name,
|
|
147
|
+
version: computedMatch[2],
|
|
148
|
+
...(packages.get(name)?.url ? { url: packages.get(name).url } : {}),
|
|
149
|
+
});
|
|
150
|
+
continue;
|
|
151
|
+
}
|
|
152
|
+
// Match "Fetching <url>" or "Fetched <url>"
|
|
153
|
+
const fetchMatch = line.match(/Fetch(?:ing|ed)\s+(\S+)/);
|
|
154
|
+
if (fetchMatch) {
|
|
155
|
+
const url = fetchMatch[1];
|
|
156
|
+
// Extract name from URL
|
|
157
|
+
const nameMatch = url.match(/\/([^/]+?)(?:\.git)?$/);
|
|
158
|
+
if (nameMatch) {
|
|
159
|
+
const name = nameMatch[1];
|
|
160
|
+
const existing = packages.get(name);
|
|
161
|
+
packages.set(name, {
|
|
162
|
+
name,
|
|
163
|
+
url,
|
|
164
|
+
...(existing?.version ? { version: existing.version } : {}),
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
return {
|
|
170
|
+
success: exitCode === 0,
|
|
171
|
+
exitCode,
|
|
172
|
+
resolvedPackages: Array.from(packages.values()),
|
|
173
|
+
duration,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Parses `swift package update` output.
|
|
178
|
+
* Looks for lines like:
|
|
179
|
+
* Updating https://github.com/apple/swift-argument-parser.git
|
|
180
|
+
* Resolved swift-argument-parser at 1.3.0 (was 1.2.3)
|
|
181
|
+
* Updated swift-argument-parser from 1.2.3 to 1.3.0
|
|
182
|
+
*/
|
|
183
|
+
export function parsePackageUpdateOutput(stdout, stderr, exitCode, duration) {
|
|
184
|
+
const combined = stdout + "\n" + stderr;
|
|
185
|
+
const lines = combined.split("\n");
|
|
186
|
+
const packageMap = new Map();
|
|
187
|
+
for (const line of lines) {
|
|
188
|
+
// Match "Updated <name> from <old> to <new>"
|
|
189
|
+
const updatedMatch = line.match(/Updated\s+(\S+)\s+from\s+(\S+)\s+to\s+(\S+)/);
|
|
190
|
+
if (updatedMatch) {
|
|
191
|
+
packageMap.set(updatedMatch[1], {
|
|
192
|
+
name: updatedMatch[1],
|
|
193
|
+
oldVersion: updatedMatch[2],
|
|
194
|
+
newVersion: updatedMatch[3],
|
|
195
|
+
});
|
|
196
|
+
continue;
|
|
197
|
+
}
|
|
198
|
+
// Match "Updating <url>" as a general package reference
|
|
199
|
+
const urlMatch = line.match(/Updating\s+(https?:\/\/\S+)/);
|
|
200
|
+
if (urlMatch) {
|
|
201
|
+
const url = urlMatch[1];
|
|
202
|
+
const nameMatch = url.match(/\/([^/]+?)(?:\.git)?$/);
|
|
203
|
+
if (nameMatch) {
|
|
204
|
+
const name = nameMatch[1];
|
|
205
|
+
// Only add if we haven't already captured this from "Updated" line
|
|
206
|
+
if (!packageMap.has(name)) {
|
|
207
|
+
packageMap.set(name, { name });
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
return {
|
|
213
|
+
success: exitCode === 0,
|
|
214
|
+
exitCode,
|
|
215
|
+
updatedPackages: Array.from(packageMap.values()),
|
|
216
|
+
duration,
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Parses `swift package show-dependencies` output.
|
|
221
|
+
* Supports both text format (tree) and JSON format.
|
|
222
|
+
*
|
|
223
|
+
* Text format example:
|
|
224
|
+
* .
|
|
225
|
+
* ├── swift-argument-parser https://github.com/apple/swift-argument-parser.git @ 1.2.3
|
|
226
|
+
* │ └── swift-system https://github.com/apple/swift-system.git @ 1.0.0
|
|
227
|
+
* └── swift-log https://github.com/apple/swift-log.git @ 1.5.0
|
|
228
|
+
*
|
|
229
|
+
* JSON format: standard SwiftPM dependency graph JSON.
|
|
230
|
+
*/
|
|
231
|
+
export function parsePackageShowDependenciesOutput(stdout, stderr, exitCode) {
|
|
232
|
+
const dependencies = [];
|
|
233
|
+
if (exitCode !== 0) {
|
|
234
|
+
return { success: false, exitCode, dependencies };
|
|
235
|
+
}
|
|
236
|
+
// Try JSON format first
|
|
237
|
+
try {
|
|
238
|
+
const json = JSON.parse(stdout);
|
|
239
|
+
if (json && typeof json === "object") {
|
|
240
|
+
collectDependenciesFromJson(json, dependencies);
|
|
241
|
+
return { success: true, exitCode, dependencies };
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
catch {
|
|
245
|
+
// Not JSON, try text format
|
|
246
|
+
}
|
|
247
|
+
// Parse text/tree format
|
|
248
|
+
const lines = stdout.split("\n");
|
|
249
|
+
for (const line of lines) {
|
|
250
|
+
// Match lines like: "├── name url @ version" or "name url @ version"
|
|
251
|
+
const match = line.match(/(?:[│├└─\s]*)\s*(\S+)\s+(https?:\/\/\S+)\s+@\s+(\S+)/);
|
|
252
|
+
if (match) {
|
|
253
|
+
dependencies.push({
|
|
254
|
+
name: match[1],
|
|
255
|
+
url: match[2],
|
|
256
|
+
version: match[3],
|
|
257
|
+
});
|
|
258
|
+
continue;
|
|
259
|
+
}
|
|
260
|
+
// Match simpler format: "name @ version (path)"
|
|
261
|
+
const simpleMatch = line.match(/(?:[│├└─\s]*)\s*(\S+)\s+@\s+(\S+)(?:\s+\((.+)\))?/);
|
|
262
|
+
if (simpleMatch) {
|
|
263
|
+
const dep = {
|
|
264
|
+
name: simpleMatch[1],
|
|
265
|
+
version: simpleMatch[2],
|
|
266
|
+
};
|
|
267
|
+
if (simpleMatch[3])
|
|
268
|
+
dep.path = simpleMatch[3];
|
|
269
|
+
dependencies.push(dep);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
return { success: true, exitCode, dependencies };
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Recursively collects dependencies from SwiftPM JSON dependency graph.
|
|
276
|
+
*/
|
|
277
|
+
function collectDependenciesFromJson(node, deps) {
|
|
278
|
+
if (node.name && typeof node.name === "string") {
|
|
279
|
+
const dep = { name: node.name };
|
|
280
|
+
if (node.url && typeof node.url === "string")
|
|
281
|
+
dep.url = node.url;
|
|
282
|
+
if (node.version && typeof node.version === "string")
|
|
283
|
+
dep.version = node.version;
|
|
284
|
+
if (node.path && typeof node.path === "string")
|
|
285
|
+
dep.path = node.path;
|
|
286
|
+
deps.push(dep);
|
|
287
|
+
}
|
|
288
|
+
const children = node.dependencies;
|
|
289
|
+
if (Array.isArray(children)) {
|
|
290
|
+
for (const child of children) {
|
|
291
|
+
collectDependenciesFromJson(child, deps);
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Parses `swift package clean` output.
|
|
297
|
+
*/
|
|
298
|
+
export function parsePackageCleanOutput(exitCode, duration) {
|
|
299
|
+
return {
|
|
300
|
+
success: exitCode === 0,
|
|
301
|
+
exitCode,
|
|
302
|
+
duration,
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Parses `swift package init` output.
|
|
307
|
+
* Looks for lines like:
|
|
308
|
+
* Creating library package: MyLib
|
|
309
|
+
* Creating Package.swift
|
|
310
|
+
* Creating .gitignore
|
|
311
|
+
* Creating Sources/
|
|
312
|
+
* Creating Sources/MyLib/MyLib.swift
|
|
313
|
+
* Creating Tests/
|
|
314
|
+
* Creating Tests/MyLibTests/MyLibTests.swift
|
|
315
|
+
*/
|
|
316
|
+
export function parsePackageInitOutput(stdout, stderr, exitCode, duration) {
|
|
317
|
+
const combined = stdout + "\n" + stderr;
|
|
318
|
+
const lines = combined.split("\n");
|
|
319
|
+
const createdFiles = [];
|
|
320
|
+
for (const line of lines) {
|
|
321
|
+
const match = line.match(/Creating\s+(.+)/);
|
|
322
|
+
if (match) {
|
|
323
|
+
const file = match[1].trim();
|
|
324
|
+
// Skip the "Creating <type> package:" summary line
|
|
325
|
+
if (!file.includes("package:") && file.length > 0) {
|
|
326
|
+
createdFiles.push(file);
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
return {
|
|
331
|
+
success: exitCode === 0,
|
|
332
|
+
exitCode,
|
|
333
|
+
createdFiles,
|
|
334
|
+
duration,
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
//# sourceMappingURL=parsers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../src/lib/parsers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swift-runner.d.ts","sourceRoot":"","sources":["../../src/lib/swift-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAExD,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAGjG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swift-runner.js","sourceRoot":"","sources":["../../src/lib/swift-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAkB,MAAM,mBAAmB,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAc,EAAE,GAAY,EAAE,OAAgB;IAC3E,uDAAuD;IACvD,OAAO,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/** Zod schema for a single Swift compiler diagnostic with file location, severity, and message. */
|
|
3
|
+
export declare const SwiftDiagnosticSchema: z.ZodObject<{
|
|
4
|
+
file: z.ZodString;
|
|
5
|
+
line: z.ZodNumber;
|
|
6
|
+
column: z.ZodNumber;
|
|
7
|
+
severity: z.ZodEnum<{
|
|
8
|
+
error: "error";
|
|
9
|
+
warning: "warning";
|
|
10
|
+
note: "note";
|
|
11
|
+
}>;
|
|
12
|
+
message: z.ZodString;
|
|
13
|
+
}, z.core.$strip>;
|
|
14
|
+
export type SwiftDiagnostic = z.infer<typeof SwiftDiagnosticSchema>;
|
|
15
|
+
/** Zod schema for structured swift build output including success status, diagnostics, and duration. */
|
|
16
|
+
export declare const SwiftBuildResultSchema: z.ZodObject<{
|
|
17
|
+
success: z.ZodBoolean;
|
|
18
|
+
exitCode: z.ZodNumber;
|
|
19
|
+
errors: z.ZodArray<z.ZodObject<{
|
|
20
|
+
file: z.ZodString;
|
|
21
|
+
line: z.ZodNumber;
|
|
22
|
+
column: z.ZodNumber;
|
|
23
|
+
severity: z.ZodEnum<{
|
|
24
|
+
error: "error";
|
|
25
|
+
warning: "warning";
|
|
26
|
+
note: "note";
|
|
27
|
+
}>;
|
|
28
|
+
message: z.ZodString;
|
|
29
|
+
}, z.core.$strip>>;
|
|
30
|
+
warnings: z.ZodArray<z.ZodObject<{
|
|
31
|
+
file: z.ZodString;
|
|
32
|
+
line: z.ZodNumber;
|
|
33
|
+
column: z.ZodNumber;
|
|
34
|
+
severity: z.ZodEnum<{
|
|
35
|
+
error: "error";
|
|
36
|
+
warning: "warning";
|
|
37
|
+
note: "note";
|
|
38
|
+
}>;
|
|
39
|
+
message: z.ZodString;
|
|
40
|
+
}, z.core.$strip>>;
|
|
41
|
+
duration: z.ZodNumber;
|
|
42
|
+
timedOut: z.ZodBoolean;
|
|
43
|
+
}, z.core.$strip>;
|
|
44
|
+
export type SwiftBuildResult = z.infer<typeof SwiftBuildResultSchema>;
|
|
45
|
+
/** Zod schema for a single Swift test case with name, status, and optional duration. */
|
|
46
|
+
export declare const SwiftTestCaseSchema: z.ZodObject<{
|
|
47
|
+
name: z.ZodString;
|
|
48
|
+
status: z.ZodEnum<{
|
|
49
|
+
passed: "passed";
|
|
50
|
+
failed: "failed";
|
|
51
|
+
skipped: "skipped";
|
|
52
|
+
}>;
|
|
53
|
+
duration: z.ZodOptional<z.ZodNumber>;
|
|
54
|
+
}, z.core.$strip>;
|
|
55
|
+
export type SwiftTestCase = z.infer<typeof SwiftTestCaseSchema>;
|
|
56
|
+
/** Zod schema for structured swift test output with test list, pass/fail/skipped counts, and duration. */
|
|
57
|
+
export declare const SwiftTestResultSchema: z.ZodObject<{
|
|
58
|
+
success: z.ZodBoolean;
|
|
59
|
+
exitCode: z.ZodNumber;
|
|
60
|
+
passed: z.ZodNumber;
|
|
61
|
+
failed: z.ZodNumber;
|
|
62
|
+
skipped: z.ZodNumber;
|
|
63
|
+
total: z.ZodNumber;
|
|
64
|
+
testCases: z.ZodArray<z.ZodObject<{
|
|
65
|
+
name: z.ZodString;
|
|
66
|
+
status: z.ZodEnum<{
|
|
67
|
+
passed: "passed";
|
|
68
|
+
failed: "failed";
|
|
69
|
+
skipped: "skipped";
|
|
70
|
+
}>;
|
|
71
|
+
duration: z.ZodOptional<z.ZodNumber>;
|
|
72
|
+
}, z.core.$strip>>;
|
|
73
|
+
duration: z.ZodNumber;
|
|
74
|
+
}, z.core.$strip>;
|
|
75
|
+
export type SwiftTestResult = z.infer<typeof SwiftTestResultSchema>;
|
|
76
|
+
/** Zod schema for structured swift run output with exit code, stdout, stderr, and duration. */
|
|
77
|
+
export declare const SwiftRunResultSchema: z.ZodObject<{
|
|
78
|
+
success: z.ZodBoolean;
|
|
79
|
+
exitCode: z.ZodNumber;
|
|
80
|
+
stdout: z.ZodString;
|
|
81
|
+
stderr: z.ZodString;
|
|
82
|
+
duration: z.ZodNumber;
|
|
83
|
+
timedOut: z.ZodBoolean;
|
|
84
|
+
}, z.core.$strip>;
|
|
85
|
+
export type SwiftRunResult = z.infer<typeof SwiftRunResultSchema>;
|
|
86
|
+
/** Zod schema for a resolved Swift package dependency. */
|
|
87
|
+
export declare const SwiftResolvedPackageSchema: z.ZodObject<{
|
|
88
|
+
name: z.ZodString;
|
|
89
|
+
url: z.ZodOptional<z.ZodString>;
|
|
90
|
+
version: z.ZodOptional<z.ZodString>;
|
|
91
|
+
}, z.core.$strip>;
|
|
92
|
+
export type SwiftResolvedPackage = z.infer<typeof SwiftResolvedPackageSchema>;
|
|
93
|
+
/** Zod schema for structured swift package resolve output. */
|
|
94
|
+
export declare const SwiftPackageResolveResultSchema: z.ZodObject<{
|
|
95
|
+
success: z.ZodBoolean;
|
|
96
|
+
exitCode: z.ZodNumber;
|
|
97
|
+
resolvedPackages: z.ZodArray<z.ZodObject<{
|
|
98
|
+
name: z.ZodString;
|
|
99
|
+
url: z.ZodOptional<z.ZodString>;
|
|
100
|
+
version: z.ZodOptional<z.ZodString>;
|
|
101
|
+
}, z.core.$strip>>;
|
|
102
|
+
duration: z.ZodNumber;
|
|
103
|
+
}, z.core.$strip>;
|
|
104
|
+
export type SwiftPackageResolveResult = z.infer<typeof SwiftPackageResolveResultSchema>;
|
|
105
|
+
/** Zod schema for an updated Swift package dependency. */
|
|
106
|
+
export declare const SwiftUpdatedPackageSchema: z.ZodObject<{
|
|
107
|
+
name: z.ZodString;
|
|
108
|
+
oldVersion: z.ZodOptional<z.ZodString>;
|
|
109
|
+
newVersion: z.ZodOptional<z.ZodString>;
|
|
110
|
+
}, z.core.$strip>;
|
|
111
|
+
export type SwiftUpdatedPackage = z.infer<typeof SwiftUpdatedPackageSchema>;
|
|
112
|
+
/** Zod schema for structured swift package update output. */
|
|
113
|
+
export declare const SwiftPackageUpdateResultSchema: z.ZodObject<{
|
|
114
|
+
success: z.ZodBoolean;
|
|
115
|
+
exitCode: z.ZodNumber;
|
|
116
|
+
updatedPackages: z.ZodArray<z.ZodObject<{
|
|
117
|
+
name: z.ZodString;
|
|
118
|
+
oldVersion: z.ZodOptional<z.ZodString>;
|
|
119
|
+
newVersion: z.ZodOptional<z.ZodString>;
|
|
120
|
+
}, z.core.$strip>>;
|
|
121
|
+
duration: z.ZodNumber;
|
|
122
|
+
}, z.core.$strip>;
|
|
123
|
+
export type SwiftPackageUpdateResult = z.infer<typeof SwiftPackageUpdateResultSchema>;
|
|
124
|
+
/** Zod schema for a Swift package dependency entry. */
|
|
125
|
+
export declare const SwiftDependencySchema: z.ZodObject<{
|
|
126
|
+
name: z.ZodString;
|
|
127
|
+
url: z.ZodOptional<z.ZodString>;
|
|
128
|
+
version: z.ZodOptional<z.ZodString>;
|
|
129
|
+
path: z.ZodOptional<z.ZodString>;
|
|
130
|
+
}, z.core.$strip>;
|
|
131
|
+
export type SwiftDependency = z.infer<typeof SwiftDependencySchema>;
|
|
132
|
+
/** Zod schema for structured swift package show-dependencies output. */
|
|
133
|
+
export declare const SwiftPackageShowDependenciesResultSchema: z.ZodObject<{
|
|
134
|
+
success: z.ZodBoolean;
|
|
135
|
+
exitCode: z.ZodNumber;
|
|
136
|
+
dependencies: z.ZodArray<z.ZodObject<{
|
|
137
|
+
name: z.ZodString;
|
|
138
|
+
url: z.ZodOptional<z.ZodString>;
|
|
139
|
+
version: z.ZodOptional<z.ZodString>;
|
|
140
|
+
path: z.ZodOptional<z.ZodString>;
|
|
141
|
+
}, z.core.$strip>>;
|
|
142
|
+
}, z.core.$strip>;
|
|
143
|
+
export type SwiftPackageShowDependenciesResult = z.infer<typeof SwiftPackageShowDependenciesResultSchema>;
|
|
144
|
+
/** Zod schema for structured swift package clean output. */
|
|
145
|
+
export declare const SwiftPackageCleanResultSchema: z.ZodObject<{
|
|
146
|
+
success: z.ZodBoolean;
|
|
147
|
+
exitCode: z.ZodNumber;
|
|
148
|
+
duration: z.ZodNumber;
|
|
149
|
+
}, z.core.$strip>;
|
|
150
|
+
export type SwiftPackageCleanResult = z.infer<typeof SwiftPackageCleanResultSchema>;
|
|
151
|
+
/** Zod schema for structured swift package init output. */
|
|
152
|
+
export declare const SwiftPackageInitResultSchema: z.ZodObject<{
|
|
153
|
+
success: z.ZodBoolean;
|
|
154
|
+
exitCode: z.ZodNumber;
|
|
155
|
+
createdFiles: z.ZodArray<z.ZodString>;
|
|
156
|
+
duration: z.ZodNumber;
|
|
157
|
+
}, z.core.$strip>;
|
|
158
|
+
export type SwiftPackageInitResult = z.infer<typeof SwiftPackageInitResultSchema>;
|
|
159
|
+
//# 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,mGAAmG;AACnG,eAAO,MAAM,qBAAqB;;;;;;;;;;iBAMhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,wGAAwG;AACxG,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAItE,wFAAwF;AACxF,eAAO,MAAM,mBAAmB;;;;;;;;iBAI9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,0GAA0G;AAC1G,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;iBAShC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAIpE,+FAA+F;AAC/F,eAAO,MAAM,oBAAoB;;;;;;;iBAO/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAIlE,0DAA0D;AAC1D,eAAO,MAAM,0BAA0B;;;;iBAIrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,8DAA8D;AAC9D,eAAO,MAAM,+BAA+B;;;;;;;;;iBAK1C,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAIxF,0DAA0D;AAC1D,eAAO,MAAM,yBAAyB;;;;iBAIpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,6DAA6D;AAC7D,eAAO,MAAM,8BAA8B;;;;;;;;;iBAKzC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAItF,uDAAuD;AACvD,eAAO,MAAM,qBAAqB;;;;;iBAKhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,wEAAwE;AACxE,eAAO,MAAM,wCAAwC;;;;;;;;;iBAInD,CAAC;AAEH,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,KAAK,CACtD,OAAO,wCAAwC,CAChD,CAAC;AAIF,4DAA4D;AAC5D,eAAO,MAAM,6BAA6B;;;;iBAIxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAIpF,2DAA2D;AAC3D,eAAO,MAAM,4BAA4B;;;;;iBAKvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
// ── Build Schemas ────────────────────────────────────────────────────
|
|
3
|
+
/** Zod schema for a single Swift compiler diagnostic with file location, severity, and message. */
|
|
4
|
+
export const SwiftDiagnosticSchema = z.object({
|
|
5
|
+
file: z.string(),
|
|
6
|
+
line: z.number(),
|
|
7
|
+
column: z.number(),
|
|
8
|
+
severity: z.enum(["error", "warning", "note"]),
|
|
9
|
+
message: z.string(),
|
|
10
|
+
});
|
|
11
|
+
/** Zod schema for structured swift build output including success status, diagnostics, and duration. */
|
|
12
|
+
export const SwiftBuildResultSchema = z.object({
|
|
13
|
+
success: z.boolean(),
|
|
14
|
+
exitCode: z.number(),
|
|
15
|
+
errors: z.array(SwiftDiagnosticSchema),
|
|
16
|
+
warnings: z.array(SwiftDiagnosticSchema),
|
|
17
|
+
duration: z.number(),
|
|
18
|
+
timedOut: z.boolean(),
|
|
19
|
+
});
|
|
20
|
+
// ── Test Schemas ─────────────────────────────────────────────────────
|
|
21
|
+
/** Zod schema for a single Swift test case with name, status, and optional duration. */
|
|
22
|
+
export const SwiftTestCaseSchema = z.object({
|
|
23
|
+
name: z.string(),
|
|
24
|
+
status: z.enum(["passed", "failed", "skipped"]),
|
|
25
|
+
duration: z.number().optional().describe("Test duration in seconds"),
|
|
26
|
+
});
|
|
27
|
+
/** Zod schema for structured swift test output with test list, pass/fail/skipped counts, and duration. */
|
|
28
|
+
export const SwiftTestResultSchema = z.object({
|
|
29
|
+
success: z.boolean(),
|
|
30
|
+
exitCode: z.number(),
|
|
31
|
+
passed: z.number(),
|
|
32
|
+
failed: z.number(),
|
|
33
|
+
skipped: z.number(),
|
|
34
|
+
total: z.number(),
|
|
35
|
+
testCases: z.array(SwiftTestCaseSchema),
|
|
36
|
+
duration: z.number(),
|
|
37
|
+
});
|
|
38
|
+
// ── Run Schemas ──────────────────────────────────────────────────────
|
|
39
|
+
/** Zod schema for structured swift run output with exit code, stdout, stderr, and duration. */
|
|
40
|
+
export const SwiftRunResultSchema = z.object({
|
|
41
|
+
success: z.boolean(),
|
|
42
|
+
exitCode: z.number(),
|
|
43
|
+
stdout: z.string(),
|
|
44
|
+
stderr: z.string(),
|
|
45
|
+
duration: z.number(),
|
|
46
|
+
timedOut: z.boolean(),
|
|
47
|
+
});
|
|
48
|
+
// ── Package Resolve Schemas ──────────────────────────────────────────
|
|
49
|
+
/** Zod schema for a resolved Swift package dependency. */
|
|
50
|
+
export const SwiftResolvedPackageSchema = z.object({
|
|
51
|
+
name: z.string(),
|
|
52
|
+
url: z.string().optional(),
|
|
53
|
+
version: z.string().optional(),
|
|
54
|
+
});
|
|
55
|
+
/** Zod schema for structured swift package resolve output. */
|
|
56
|
+
export const SwiftPackageResolveResultSchema = z.object({
|
|
57
|
+
success: z.boolean(),
|
|
58
|
+
exitCode: z.number(),
|
|
59
|
+
resolvedPackages: z.array(SwiftResolvedPackageSchema),
|
|
60
|
+
duration: z.number(),
|
|
61
|
+
});
|
|
62
|
+
// ── Package Update Schemas ───────────────────────────────────────────
|
|
63
|
+
/** Zod schema for an updated Swift package dependency. */
|
|
64
|
+
export const SwiftUpdatedPackageSchema = z.object({
|
|
65
|
+
name: z.string(),
|
|
66
|
+
oldVersion: z.string().optional(),
|
|
67
|
+
newVersion: z.string().optional(),
|
|
68
|
+
});
|
|
69
|
+
/** Zod schema for structured swift package update output. */
|
|
70
|
+
export const SwiftPackageUpdateResultSchema = z.object({
|
|
71
|
+
success: z.boolean(),
|
|
72
|
+
exitCode: z.number(),
|
|
73
|
+
updatedPackages: z.array(SwiftUpdatedPackageSchema),
|
|
74
|
+
duration: z.number(),
|
|
75
|
+
});
|
|
76
|
+
// ── Package Show-Dependencies Schemas ────────────────────────────────
|
|
77
|
+
/** Zod schema for a Swift package dependency entry. */
|
|
78
|
+
export const SwiftDependencySchema = z.object({
|
|
79
|
+
name: z.string(),
|
|
80
|
+
url: z.string().optional(),
|
|
81
|
+
version: z.string().optional(),
|
|
82
|
+
path: z.string().optional(),
|
|
83
|
+
});
|
|
84
|
+
/** Zod schema for structured swift package show-dependencies output. */
|
|
85
|
+
export const SwiftPackageShowDependenciesResultSchema = z.object({
|
|
86
|
+
success: z.boolean(),
|
|
87
|
+
exitCode: z.number(),
|
|
88
|
+
dependencies: z.array(SwiftDependencySchema),
|
|
89
|
+
});
|
|
90
|
+
// ── Package Clean Schemas ────────────────────────────────────────────
|
|
91
|
+
/** Zod schema for structured swift package clean output. */
|
|
92
|
+
export const SwiftPackageCleanResultSchema = z.object({
|
|
93
|
+
success: z.boolean(),
|
|
94
|
+
exitCode: z.number(),
|
|
95
|
+
duration: z.number(),
|
|
96
|
+
});
|
|
97
|
+
// ── Package Init Schemas ─────────────────────────────────────────────
|
|
98
|
+
/** Zod schema for structured swift package init output. */
|
|
99
|
+
export const SwiftPackageInitResultSchema = z.object({
|
|
100
|
+
success: z.boolean(),
|
|
101
|
+
exitCode: z.number(),
|
|
102
|
+
createdFiles: z.array(z.string()),
|
|
103
|
+
duration: z.number(),
|
|
104
|
+
});
|
|
105
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/tools/build.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAazE,0DAA0D;AAC1D,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,QAwElD"}
|