@swiftbrowser/cli 0.6.7 → 0.7.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 +73 -5
- package/dist/appSources.d.ts +116 -0
- package/dist/appSources.js +624 -0
- package/dist/appSources.js.map +1 -0
- package/dist/browser.d.ts +4 -0
- package/dist/browser.js +8 -0
- package/dist/browser.js.map +1 -0
- package/dist/build.d.ts +17 -2
- package/dist/build.js +38 -11
- package/dist/build.js.map +1 -1
- package/dist/cli.js +28 -4
- package/dist/cli.js.map +1 -1
- package/dist/commands/build.js +10 -7
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/check.js +38 -8
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/dev.d.ts +8 -4
- package/dist/commands/dev.js +25 -10
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/doctor.d.ts +8 -0
- package/dist/commands/doctor.js +52 -4
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/kit.d.ts +1 -0
- package/dist/commands/kit.js +20 -5
- package/dist/commands/kit.js.map +1 -1
- package/dist/commands/shared.d.ts +24 -6
- package/dist/commands/shared.js +92 -16
- package/dist/commands/shared.js.map +1 -1
- package/dist/commands/test.d.ts +4 -2
- package/dist/commands/test.js +25 -17
- package/dist/commands/test.js.map +1 -1
- package/dist/compat.d.ts +2 -30
- package/dist/compat.js +2 -44
- package/dist/compat.js.map +1 -1
- package/dist/compiler.d.ts +50 -0
- package/dist/compiler.js +94 -0
- package/dist/compiler.js.map +1 -0
- package/dist/config.d.ts +5 -2
- package/dist/config.js +7 -3
- package/dist/config.js.map +1 -1
- package/dist/frameworks.d.ts +30 -0
- package/dist/frameworks.js +48 -0
- package/dist/frameworks.js.map +1 -0
- package/dist/icu.d.ts +2 -4
- package/dist/icu.js +7 -36
- package/dist/icu.js.map +1 -1
- package/dist/kit.d.ts +44 -12
- package/dist/kit.js +149 -27
- package/dist/kit.js.map +1 -1
- package/dist/log.js +2 -1
- package/dist/log.js.map +1 -1
- package/dist/manifest.d.ts +73 -0
- package/dist/manifest.js +324 -0
- package/dist/manifest.js.map +1 -0
- package/dist/moduleCache.d.ts +20 -0
- package/dist/moduleCache.js +98 -0
- package/dist/moduleCache.js.map +1 -0
- package/dist/objc.js +1 -1
- package/dist/objc.js.map +1 -1
- package/dist/packages.d.ts +8 -1
- package/dist/packages.js +10 -2
- package/dist/packages.js.map +1 -1
- package/dist/registry.d.ts +46 -0
- package/dist/registry.js +184 -0
- package/dist/registry.js.map +1 -0
- package/dist/resolve.d.ts +80 -0
- package/dist/resolve.js +396 -0
- package/dist/resolve.js.map +1 -0
- package/dist/stage.d.ts +5 -144
- package/dist/stage.js +19 -516
- package/dist/stage.js.map +1 -1
- package/dist/testDiscovery.d.ts +44 -0
- package/dist/testDiscovery.js +111 -0
- package/dist/testDiscovery.js.map +1 -0
- package/dist/vendor.d.ts +41 -5
- package/dist/vendor.js +71 -31
- package/dist/vendor.js.map +1 -1
- package/dist/wasmCompiler.d.ts +160 -0
- package/dist/wasmCompiler.js +628 -0
- package/dist/wasmCompiler.js.map +1 -0
- package/dist/wasmFlags.d.ts +31 -0
- package/dist/wasmFlags.js +56 -0
- package/dist/wasmFlags.js.map +1 -0
- package/dist/wasmPackages.d.ts +163 -0
- package/dist/wasmPackages.js +466 -0
- package/dist/wasmPackages.js.map +1 -0
- package/dist/wasmSdk.d.ts +27 -0
- package/dist/wasmSdk.js +103 -0
- package/dist/wasmSdk.js.map +1 -0
- package/package.json +6 -5
package/dist/manifest.js
ADDED
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
// Reading a package's manifest without SwiftPM: what `swift package
|
|
2
|
+
// dump-package` tells the CLI, from the WebAssembly compiler.
|
|
3
|
+
//
|
|
4
|
+
// A Package.swift is a program: SwiftPM compiles it against PackageDescription,
|
|
5
|
+
// runs it, and reads the description it writes as it exits. This does the
|
|
6
|
+
// same with the WebAssembly tools: compile and link the manifest against
|
|
7
|
+
// PackageDescription built for wasm32-wasip1 (@swiftbrowser/wasm-tools'
|
|
8
|
+
// `manifest-api`, toolchain/build-manifest-api.sh), with the flags SwiftPM's
|
|
9
|
+
// ManifestLoader passes, run it under WASI with `-fileno 1`, and convert the
|
|
10
|
+
// JSON it writes (PackageDescription's `Serialization` types) to the shape of
|
|
11
|
+
// dump-package's that the rest of the CLI reads (`DumpedPackage`). A result is
|
|
12
|
+
// cached by the manifest's contents: the first read of a package takes about
|
|
13
|
+
// ten seconds, later ones none.
|
|
14
|
+
import { createHash } from 'node:crypto';
|
|
15
|
+
import { existsSync, mkdirSync, readFileSync, readdirSync, rmSync, statSync, writeFileSync } from 'node:fs';
|
|
16
|
+
import path from 'node:path';
|
|
17
|
+
import { packageIdentity } from '@swiftbrowser/xcodeproj';
|
|
18
|
+
import { prepareICUData } from './icu.js';
|
|
19
|
+
import { CliError } from './log.js';
|
|
20
|
+
import { SWIFT_VERSION, cacheDir } from './toolchain.js';
|
|
21
|
+
import { load, toolsDir } from './wasmCompiler.js';
|
|
22
|
+
/** Bumped when the conversion changes, so cached results are read again. */
|
|
23
|
+
const MANIFEST_FORMAT = 2;
|
|
24
|
+
// ---------------------------------------------------------------------------
|
|
25
|
+
// Which manifest, and its tools version
|
|
26
|
+
/** `5.9` → [5, 9, 0]. */
|
|
27
|
+
function versionParts(version) {
|
|
28
|
+
const [major = 0, minor = 0, patch = 0] = version.split('.').map((part) => Number(part) || 0);
|
|
29
|
+
return [major, minor, patch];
|
|
30
|
+
}
|
|
31
|
+
function compareVersions(a, b) {
|
|
32
|
+
const x = versionParts(a);
|
|
33
|
+
const y = versionParts(b);
|
|
34
|
+
for (let i = 0; i < 3; i++)
|
|
35
|
+
if (x[i] !== y[i])
|
|
36
|
+
return x[i] - y[i];
|
|
37
|
+
return 0;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The manifest SwiftPM reads for this Swift version (ToolsVersionParser's
|
|
41
|
+
* `findManifest`): a `Package@swift-6.4.0.swift`, `@swift-6.4` or `@swift-6`
|
|
42
|
+
* for exactly this version; else the newest version-specific one not above
|
|
43
|
+
* it, when its tools version is above `Package.swift`'s or `Package.swift`'s
|
|
44
|
+
* is too new; else `Package.swift`. Null when the folder has no manifest.
|
|
45
|
+
*/
|
|
46
|
+
export function selectManifest(dir, swiftVersion = SWIFT_VERSION) {
|
|
47
|
+
const names = readdirSync(dir);
|
|
48
|
+
const [major, minor, patch] = versionParts(swiftVersion);
|
|
49
|
+
for (const key of [`${major}.${minor}.${patch}`, `${major}.${minor}`, `${major}`]) {
|
|
50
|
+
if (names.includes(`Package@swift-${key}.swift`))
|
|
51
|
+
return `Package@swift-${key}.swift`;
|
|
52
|
+
}
|
|
53
|
+
const candidates = names.flatMap((name) => {
|
|
54
|
+
const match = /^Package@swift-(\d+(?:\.\d+){0,2})\.swift$/.exec(name);
|
|
55
|
+
return match && compareVersions(match[1], swiftVersion) <= 0 ? [{ name, version: match[1] }] : [];
|
|
56
|
+
});
|
|
57
|
+
candidates.sort((a, b) => compareVersions(b.version, a.version));
|
|
58
|
+
const regular = names.includes('Package.swift') ? 'Package.swift' : null;
|
|
59
|
+
const candidate = candidates[0];
|
|
60
|
+
if (!candidate)
|
|
61
|
+
return regular;
|
|
62
|
+
// A manifest without the comment is tools version 3.1, as SwiftPM documents.
|
|
63
|
+
const toolsOf = (name) => {
|
|
64
|
+
try {
|
|
65
|
+
return manifestToolsVersion(readFileSync(path.join(dir, name), 'utf8'));
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return '3.1.0';
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
if (!regular)
|
|
72
|
+
return candidate.name;
|
|
73
|
+
const regularTools = toolsOf(regular);
|
|
74
|
+
if (compareVersions(toolsOf(candidate.name), regularTools) > 0)
|
|
75
|
+
return candidate.name;
|
|
76
|
+
return compareVersions(regularTools, swiftVersion) <= 0 ? regular : candidate.name;
|
|
77
|
+
}
|
|
78
|
+
/** The tools version a manifest declares (`// swift-tools-version: 5.9` → `5.9.0`), as SwiftPM reads it. */
|
|
79
|
+
export function manifestToolsVersion(text) {
|
|
80
|
+
const match = /^\/\/\s*swift-tools-version\s*:\s*(\d+(?:\.\d+){0,2})/i.exec(text.replace(/^/, ''));
|
|
81
|
+
if (!match)
|
|
82
|
+
throw new CliError('the manifest does not start with `// swift-tools-version:`');
|
|
83
|
+
const [major, minor, patch] = versionParts(match[1]);
|
|
84
|
+
return `${major}.${minor}.${patch}`;
|
|
85
|
+
}
|
|
86
|
+
/** The language mode a manifest is compiled in: its tools version's (SwiftPM's `ToolsVersion.swiftLanguageVersion`). */
|
|
87
|
+
export function manifestLanguageMode(toolsVersion) {
|
|
88
|
+
const [major, minor] = versionParts(toolsVersion);
|
|
89
|
+
if (major >= 6)
|
|
90
|
+
return '6';
|
|
91
|
+
if (major === 5)
|
|
92
|
+
return '5';
|
|
93
|
+
return major === 4 && minor >= 2 ? '4.2' : '4';
|
|
94
|
+
}
|
|
95
|
+
/** A Swift enum case as Codable writes it: `{"case": {associated values}}`. */
|
|
96
|
+
function enumCase(value) {
|
|
97
|
+
const [name, payload] = Object.entries((value ?? {}))[0] ?? ['', {}];
|
|
98
|
+
return [name, (payload ?? {})];
|
|
99
|
+
}
|
|
100
|
+
function versionString(value) {
|
|
101
|
+
const v = value;
|
|
102
|
+
const pre = v.prereleaseIdentifiers?.length ? `-${v.prereleaseIdentifiers.join('.')}` : '';
|
|
103
|
+
const build = v.buildMetadataIdentifiers?.length ? `+${v.buildMetadataIdentifiers.join('.')}` : '';
|
|
104
|
+
return `${v.major}.${v.minor}.${v.patch}${pre}${build}`;
|
|
105
|
+
}
|
|
106
|
+
function swiftVersionName(value) {
|
|
107
|
+
const [name, payload] = enumCase(value);
|
|
108
|
+
if (name === 'version')
|
|
109
|
+
return String(payload['_0']);
|
|
110
|
+
return name.replace(/^v/, '').replace('_', '.');
|
|
111
|
+
}
|
|
112
|
+
/** A build setting's condition as dump-package writes it. */
|
|
113
|
+
/** A condition as dump-package writes it: platforms by name, a configuration, traits. */
|
|
114
|
+
function settingCondition(condition) {
|
|
115
|
+
if (!condition)
|
|
116
|
+
return undefined;
|
|
117
|
+
const c = condition;
|
|
118
|
+
return {
|
|
119
|
+
platformNames: (c.platforms ?? []).map((p) => p.name),
|
|
120
|
+
...(c.config ? { config: c.config.config } : {}),
|
|
121
|
+
...(c.traits ? { traits: c.traits } : {}),
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
/** A C or C++ language standard (`c11`, `cxx17`...), as the manifest wrote it. */
|
|
125
|
+
function languageStandard(value) {
|
|
126
|
+
if (value === null || value === undefined)
|
|
127
|
+
return undefined;
|
|
128
|
+
return typeof value === 'string' ? value : enumCase(value)[0];
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Settings as dump-package writes them: `{tool, kind: {<name>: {_0}}}`.
|
|
132
|
+
* PackageDescription names them as SwiftPM's manifest loader reads them; the
|
|
133
|
+
* value is the list for unsafeFlags, else its first element.
|
|
134
|
+
*/
|
|
135
|
+
function settings(tool, list) {
|
|
136
|
+
return (list ?? []).map(({ data }) => {
|
|
137
|
+
const name = data.name === 'swiftLanguageVersion' ? 'swiftLanguageMode' : data.name;
|
|
138
|
+
// The associated values of SwiftPM's setting kinds (ManifestJSONParser).
|
|
139
|
+
const payload = name === 'strictMemorySafety' ? {}
|
|
140
|
+
: name === 'unsafeFlags' ? { _0: data.value }
|
|
141
|
+
: name === 'treatWarning' ? { _0: data.value[0], _1: data.value[1] }
|
|
142
|
+
: { _0: data.value[0] };
|
|
143
|
+
const condition = settingCondition(data.condition);
|
|
144
|
+
return { tool, kind: { [name]: payload }, ...(condition ? { condition } : {}) };
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
function requirement(value) {
|
|
148
|
+
const [name, payload] = enumCase(value);
|
|
149
|
+
switch (name) {
|
|
150
|
+
case 'exact': return { kind: 'exact', version: versionString(payload['_0']) };
|
|
151
|
+
case 'range': return { kind: 'range', lower: versionString(payload['lowerBound']), upper: versionString(payload['upperBound']) };
|
|
152
|
+
case 'revision': return { kind: 'revision', revision: String(payload['_0']) };
|
|
153
|
+
case 'branch': return { kind: 'branch', branch: String(payload['_0']) };
|
|
154
|
+
default: throw new CliError(`a package dependency's requirement the CLI does not read: ${name}`);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
/** PackageDescription's description of a package → dump-package's shape and its dependencies. */
|
|
158
|
+
export function convertManifest(output, toolsVersion) {
|
|
159
|
+
const { package: pkg, errors } = output;
|
|
160
|
+
if (errors?.length)
|
|
161
|
+
throw new CliError(`the manifest reports: ${errors.join('; ')}`);
|
|
162
|
+
const products = pkg['products'].map((product) => {
|
|
163
|
+
const [type, payload] = enumCase(product['productType']);
|
|
164
|
+
return {
|
|
165
|
+
name: String(product['name']),
|
|
166
|
+
targets: product['targets'],
|
|
167
|
+
type: type === 'library' ? { library: [enumCase(payload['type'])[0]] } : { [type]: null },
|
|
168
|
+
};
|
|
169
|
+
});
|
|
170
|
+
const targets = pkg['targets'].map((target) => ({
|
|
171
|
+
name: String(target['name']),
|
|
172
|
+
type: enumCase(target['type'])[0],
|
|
173
|
+
path: target['path'] ?? null,
|
|
174
|
+
exclude: target['exclude'] ?? [],
|
|
175
|
+
resources: target['resources'] ?? [],
|
|
176
|
+
...(target['sources'] ? { sources: target['sources'] } : {}),
|
|
177
|
+
...(target['publicHeadersPath'] ? { publicHeadersPath: String(target['publicHeadersPath']) } : {}),
|
|
178
|
+
dependencies: (target['dependencies'] ?? []).map((dependency) => {
|
|
179
|
+
const [kind, d] = enumCase(dependency);
|
|
180
|
+
const condition = settingCondition(d['condition']) ?? null;
|
|
181
|
+
if (kind === 'target')
|
|
182
|
+
return { target: [String(d['name']), condition] };
|
|
183
|
+
if (kind === 'product')
|
|
184
|
+
return { product: [String(d['name']), d['package'] ?? null, d['moduleAliases'] ?? null, condition] };
|
|
185
|
+
return { byName: [String(d['name']), condition] };
|
|
186
|
+
}),
|
|
187
|
+
settings: [
|
|
188
|
+
...settings('c', target['cSettings']),
|
|
189
|
+
...settings('cxx', target['cxxSettings']),
|
|
190
|
+
...settings('swift', target['swiftSettings']),
|
|
191
|
+
...settings('linker', target['linkerSettings']),
|
|
192
|
+
],
|
|
193
|
+
}));
|
|
194
|
+
const dependencies = pkg['dependencies'].map((dependency) => {
|
|
195
|
+
const [kind, d] = enumCase(dependency['kind']);
|
|
196
|
+
const name = d['name'] ?? null;
|
|
197
|
+
const asked = dependency['traits'];
|
|
198
|
+
const traits = asked ? {
|
|
199
|
+
traits: asked.map((trait) => ({ name: trait.name, ...(trait.condition?.traits ? { condition: { traits: trait.condition.traits } } : {}) })),
|
|
200
|
+
} : {};
|
|
201
|
+
if (kind === 'sourceControl') {
|
|
202
|
+
const url = String(d['location']);
|
|
203
|
+
return { kind: 'sourceControl', identity: packageIdentity(url), name, url, requirement: requirement(d['requirement']), ...traits };
|
|
204
|
+
}
|
|
205
|
+
if (kind === 'fileSystem')
|
|
206
|
+
return { kind: 'fileSystem', identity: packageIdentity(String(d['path'])), name, path: String(d['path']), ...traits };
|
|
207
|
+
if (kind === 'registry') {
|
|
208
|
+
const id = String(d['id']);
|
|
209
|
+
return { kind: 'registry', identity: id.toLowerCase(), name: null, id, requirement: requirement(d['requirement']), ...traits };
|
|
210
|
+
}
|
|
211
|
+
throw new CliError(`a package dependency the CLI does not read: ${kind}`);
|
|
212
|
+
});
|
|
213
|
+
const swiftLanguageVersions = pkg['swiftLanguageVersions'];
|
|
214
|
+
return {
|
|
215
|
+
dump: {
|
|
216
|
+
name: String(pkg['name']),
|
|
217
|
+
toolsVersion: { _version: toolsVersion },
|
|
218
|
+
swiftLanguageVersions: swiftLanguageVersions ? swiftLanguageVersions.map(swiftVersionName) : null,
|
|
219
|
+
products,
|
|
220
|
+
targets,
|
|
221
|
+
...(pkg['traits'] ? { traits: pkg['traits'].map((trait) => ({ name: trait.name, enabledTraits: trait.enabledTraits ?? [] })) } : {}),
|
|
222
|
+
...(languageStandard(pkg['cLanguageStandard']) ? { cLanguageStandard: languageStandard(pkg['cLanguageStandard']) } : {}),
|
|
223
|
+
...(languageStandard(pkg['cxxLanguageStandard']) ? { cxxLanguageStandard: languageStandard(pkg['cxxLanguageStandard']) } : {}),
|
|
224
|
+
},
|
|
225
|
+
dependencies,
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
/** The JSON a manifest wrote: the last `{"errors":` object of its output (anything it printed comes before). */
|
|
229
|
+
export function manifestOutputJSON(output) {
|
|
230
|
+
const start = output.lastIndexOf('{"errors":');
|
|
231
|
+
if (start < 0)
|
|
232
|
+
throw new CliError(`the manifest wrote no description:\n${output.trim()}`);
|
|
233
|
+
return JSON.parse(output.slice(start, output.lastIndexOf('}') + 1));
|
|
234
|
+
}
|
|
235
|
+
// ---------------------------------------------------------------------------
|
|
236
|
+
// Running it
|
|
237
|
+
/** PackageDescription for the WebAssembly compiler, or why it is missing. */
|
|
238
|
+
async function manifestApi() {
|
|
239
|
+
const { node } = await load();
|
|
240
|
+
const dir = node.findManifestApi(toolsDir());
|
|
241
|
+
if (!dir)
|
|
242
|
+
throw new CliError('the WebAssembly tools have no PackageDescription (manifest-api) to read package manifests with; update @swiftbrowser/wasm-tools');
|
|
243
|
+
return dir;
|
|
244
|
+
}
|
|
245
|
+
/** A key for what decides a manifest's result: its text and name, the manifest API's build, this code. */
|
|
246
|
+
function cacheKey(file, text, api) {
|
|
247
|
+
const hash = createHash('sha256').update(`manifest ${MANIFEST_FORMAT}\nswift ${SWIFT_VERSION}\n${path.basename(file)}\n`);
|
|
248
|
+
for (const library of readdirSync(api).filter((name) => name.endsWith('.a')).sort()) {
|
|
249
|
+
const info = statSync(path.join(api, library));
|
|
250
|
+
hash.update(`${library} ${info.size} ${info.mtimeMs}\n`);
|
|
251
|
+
}
|
|
252
|
+
return hash.update(text).digest('hex').slice(0, 24);
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* The manifest of the package in `dir`, read with the WebAssembly compiler
|
|
256
|
+
* (or from the cache). `sdk` is the Swift SDK's files, which the manifest is
|
|
257
|
+
* compiled and linked against.
|
|
258
|
+
*/
|
|
259
|
+
export async function evaluateManifest(dir, sdk) {
|
|
260
|
+
const name = selectManifest(dir);
|
|
261
|
+
if (!name)
|
|
262
|
+
throw new CliError(`${dir} has no Package.swift`);
|
|
263
|
+
const text = readFileSync(path.join(dir, name), 'utf8');
|
|
264
|
+
const toolsVersion = manifestToolsVersion(text);
|
|
265
|
+
const api = await manifestApi();
|
|
266
|
+
const key = cacheKey(name, text, api);
|
|
267
|
+
const cacheFile = path.join(cacheDir(), 'manifests', `${key}.json`);
|
|
268
|
+
if (existsSync(cacheFile)) {
|
|
269
|
+
try {
|
|
270
|
+
return JSON.parse(readFileSync(cacheFile, 'utf8'));
|
|
271
|
+
}
|
|
272
|
+
catch {
|
|
273
|
+
// Unreadable: read the manifest again.
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
const { compiler, node } = await load();
|
|
277
|
+
// The manifest's program (35 MB with the ICU data) is needed only to run it once.
|
|
278
|
+
const work = path.join(cacheDir(), 'manifests', 'work', key);
|
|
279
|
+
mkdirSync(work, { recursive: true });
|
|
280
|
+
try {
|
|
281
|
+
return await evaluateIn(work);
|
|
282
|
+
}
|
|
283
|
+
finally {
|
|
284
|
+
rmSync(work, { recursive: true, force: true });
|
|
285
|
+
}
|
|
286
|
+
async function evaluateIn(work) {
|
|
287
|
+
// Foundation, which PackageDescription writes the JSON with, reads ICU's
|
|
288
|
+
// data through a symbol: the trimmed data the apps link keeps the SDK's
|
|
289
|
+
// 34 MB original out of the link.
|
|
290
|
+
const icu = prepareICUData(sdk, ['en']);
|
|
291
|
+
writeFileSync(path.join(work, 'icudt.o'), compiler.dataObject(icu.symbol, readFileSync(icu.file)));
|
|
292
|
+
const host = node.wasiHost({
|
|
293
|
+
tools: node.findTools(toolsDir()),
|
|
294
|
+
mounts: { '/sdk': sdk.root, '/manifest-api': api, '/package': dir, '/work': work },
|
|
295
|
+
sdkRoot: '/sdk',
|
|
296
|
+
moduleCacheDir: path.join(cacheDir(), 'wasm-compiler', 'module-cache'),
|
|
297
|
+
});
|
|
298
|
+
const built = await compiler.compile(host, {
|
|
299
|
+
moduleName: 'main',
|
|
300
|
+
sources: [`/package/${name}`],
|
|
301
|
+
objectDir: '/work',
|
|
302
|
+
output: '/work/manifest.wasm',
|
|
303
|
+
frontendFlags: ['-swift-version', manifestLanguageMode(toolsVersion), '-I', '/manifest-api', '-package-description-version', toolsVersion],
|
|
304
|
+
objects: ['/work/icudt.o'],
|
|
305
|
+
linkerFlags: ['-L/manifest-api', '--gc-sections'],
|
|
306
|
+
});
|
|
307
|
+
if (!built.ok)
|
|
308
|
+
throw new CliError(`the manifest of ${dir} does not compile:\n${built.output.split('/package/').join(`${dir}${path.sep}`)}`);
|
|
309
|
+
// The CLI's TypeScript library has WebAssembly's types but not its value.
|
|
310
|
+
const wasm = globalThis.WebAssembly;
|
|
311
|
+
const module = await wasm.compile(readFileSync(path.join(work, 'manifest.wasm')));
|
|
312
|
+
const run = await node.runWasiCommand({
|
|
313
|
+
module,
|
|
314
|
+
args: ['manifest', '-fileno', '1', '-context', JSON.stringify({ packageDirectory: '/package' })],
|
|
315
|
+
mounts: { '/package': dir },
|
|
316
|
+
});
|
|
317
|
+
if (run.exitCode !== 0)
|
|
318
|
+
throw new CliError(`the manifest of ${dir} failed (exit ${run.exitCode}):\n${run.output}`);
|
|
319
|
+
const result = convertManifest(manifestOutputJSON(run.output), toolsVersion);
|
|
320
|
+
writeFileSync(cacheFile, JSON.stringify(result));
|
|
321
|
+
return result;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
//# sourceMappingURL=manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type Hash } from 'node:crypto';
|
|
2
|
+
/** Adds each file's path and contents to the hash; files not there count as such. */
|
|
3
|
+
export declare function hashFiles(hash: Hash, files: readonly string[]): void;
|
|
4
|
+
/** Every file under `dir`, recursively, in a stable order; none when it is not there. */
|
|
5
|
+
export declare function treeFiles(dir: string): string[];
|
|
6
|
+
/** Adds each file's path, size and modification time: for large inputs that change only when replaced (the kit, the tools). */
|
|
7
|
+
export declare function hashStats(hash: Hash, files: readonly string[]): void;
|
|
8
|
+
/**
|
|
9
|
+
* Copies an entry's outputs to where the build expects them (`hostOf` maps
|
|
10
|
+
* a guest path to the host's); returns their guest paths, or null when the
|
|
11
|
+
* entry is not there.
|
|
12
|
+
*/
|
|
13
|
+
export declare function restoreOutputs(entry: string, hostOf: (guest: string) => string): string[] | null;
|
|
14
|
+
/**
|
|
15
|
+
* Keeps a module's outputs as an entry, in place of a damaged one. It is
|
|
16
|
+
* written beside the entry and renamed into place, so that a build never
|
|
17
|
+
* reads one half written; two builds that store the same key store the same
|
|
18
|
+
* outputs, and one of them stays.
|
|
19
|
+
*/
|
|
20
|
+
export declare function storeOutputs(entry: string, guests: readonly string[], hostOf: (guest: string) => string): void;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
// The package modules the WebAssembly compiler built, kept between builds
|
|
2
|
+
// (wasmCompiler.ts), as SwiftPM keeps its build directory: a build compiles
|
|
3
|
+
// again only the modules whose inputs changed, and an app shares the modules
|
|
4
|
+
// of the packages another app already built.
|
|
5
|
+
//
|
|
6
|
+
// An entry is named by a hash of everything that goes into the module (the
|
|
7
|
+
// compiler, the kit, the SDK, the module's flags and files, and the entries
|
|
8
|
+
// of the modules it imports), so it is never stale: an edit makes a new key.
|
|
9
|
+
// It holds the module's outputs as files named by their index, with
|
|
10
|
+
// `outputs.json`, their guest paths, written last.
|
|
11
|
+
import { copyFileSync, mkdirSync, readFileSync, readdirSync, renameSync, rmSync, statSync, writeFileSync } from 'node:fs';
|
|
12
|
+
import path from 'node:path';
|
|
13
|
+
/** Adds each file's path and contents to the hash; files not there count as such. */
|
|
14
|
+
export function hashFiles(hash, files) {
|
|
15
|
+
for (const file of files) {
|
|
16
|
+
hash.update(`${file}\n`);
|
|
17
|
+
try {
|
|
18
|
+
hash.update(readFileSync(file));
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
hash.update('(missing)');
|
|
22
|
+
}
|
|
23
|
+
hash.update('\n');
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/** Every file under `dir`, recursively, in a stable order; none when it is not there. */
|
|
27
|
+
export function treeFiles(dir) {
|
|
28
|
+
let entries;
|
|
29
|
+
try {
|
|
30
|
+
entries = readdirSync(dir, { withFileTypes: true });
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return [];
|
|
34
|
+
}
|
|
35
|
+
return entries
|
|
36
|
+
.sort((a, b) => (a.name < b.name ? -1 : a.name > b.name ? 1 : 0))
|
|
37
|
+
.flatMap((entry) => {
|
|
38
|
+
const file = path.join(dir, entry.name);
|
|
39
|
+
if (entry.isDirectory())
|
|
40
|
+
return treeFiles(file);
|
|
41
|
+
return entry.isFile() || (entry.isSymbolicLink() && statSync(file, { throwIfNoEntry: false })?.isFile()) ? [file] : [];
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
/** Adds each file's path, size and modification time: for large inputs that change only when replaced (the kit, the tools). */
|
|
45
|
+
export function hashStats(hash, files) {
|
|
46
|
+
for (const file of files) {
|
|
47
|
+
const stat = statSync(file, { throwIfNoEntry: false });
|
|
48
|
+
hash.update(`${file} ${stat ? `${stat.size} ${stat.mtimeMs}` : '(missing)'}\n`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Copies an entry's outputs to where the build expects them (`hostOf` maps
|
|
53
|
+
* a guest path to the host's); returns their guest paths, or null when the
|
|
54
|
+
* entry is not there.
|
|
55
|
+
*/
|
|
56
|
+
export function restoreOutputs(entry, hostOf) {
|
|
57
|
+
let guests;
|
|
58
|
+
try {
|
|
59
|
+
guests = JSON.parse(readFileSync(path.join(entry, 'outputs.json'), 'utf8'));
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
try {
|
|
65
|
+
guests.forEach((guest, index) => {
|
|
66
|
+
const file = hostOf(guest);
|
|
67
|
+
mkdirSync(path.dirname(file), { recursive: true });
|
|
68
|
+
copyFileSync(path.join(entry, String(index)), file);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
// Damaged: the build compiles the module again and stores it anew.
|
|
73
|
+
rmSync(entry, { recursive: true, force: true });
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
return guests;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Keeps a module's outputs as an entry, in place of a damaged one. It is
|
|
80
|
+
* written beside the entry and renamed into place, so that a build never
|
|
81
|
+
* reads one half written; two builds that store the same key store the same
|
|
82
|
+
* outputs, and one of them stays.
|
|
83
|
+
*/
|
|
84
|
+
export function storeOutputs(entry, guests, hostOf) {
|
|
85
|
+
const temporary = `${entry}.${process.pid}.tmp`;
|
|
86
|
+
rmSync(temporary, { recursive: true, force: true });
|
|
87
|
+
mkdirSync(temporary, { recursive: true });
|
|
88
|
+
guests.forEach((guest, index) => copyFileSync(hostOf(guest), path.join(temporary, String(index))));
|
|
89
|
+
writeFileSync(path.join(temporary, 'outputs.json'), JSON.stringify(guests));
|
|
90
|
+
rmSync(entry, { recursive: true, force: true });
|
|
91
|
+
try {
|
|
92
|
+
renameSync(temporary, entry);
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
rmSync(temporary, { recursive: true, force: true });
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=moduleCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"moduleCache.js","sourceRoot":"","sources":["../src/moduleCache.ts"],"names":[],"mappings":"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"}
|
package/dist/objc.js
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
// (`extensionOverrides`).
|
|
13
13
|
// - `#keyPath(Type.property)` becomes the string `"property"`, which is all
|
|
14
14
|
// key-value coding on Apple platforms takes from it (`keyPathStrings`).
|
|
15
|
-
import { matchingBrace } from './
|
|
15
|
+
import { matchingBrace } from './appSources.js';
|
|
16
16
|
const ATTRIBUTE = String.raw `@[A-Za-z_][A-Za-z0-9_]*(?:\([^()\n]*(?:\([^()\n]*\)[^()\n]*)*\))?`;
|
|
17
17
|
const ACCESS = String.raw `(?:public|package|internal|fileprivate|private|open)`;
|
|
18
18
|
/** An `@objc` protocol's head, up to its `{`. */
|
package/dist/objc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objc.js","sourceRoot":"","sources":["../src/objc.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"objc.js","sourceRoot":"","sources":["../src/objc.ts"],"names":[],"mappings":"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"}
|
package/dist/packages.d.ts
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
import { type SwiftPackageReference, type SwiftPackageRequirement } from '@swiftbrowser/xcodeproj';
|
|
2
2
|
import type { ConfigPackage } from './config.js';
|
|
3
|
+
/** Where a package comes from: the project's references, or a package registry (`swiftbrowser.json`'s `id`). */
|
|
4
|
+
export type PackageReference = SwiftPackageReference | {
|
|
5
|
+
kind: 'registry';
|
|
6
|
+
id: string;
|
|
7
|
+
identity: string;
|
|
8
|
+
requirement: SwiftPackageRequirement;
|
|
9
|
+
};
|
|
3
10
|
/** A package the app target links, with the products it links from it. */
|
|
4
11
|
export interface AppPackage {
|
|
5
12
|
/** Absent when the project names the product but no package (or folder holding a `Package.swift`) provides it. */
|
|
6
|
-
reference?:
|
|
13
|
+
reference?: PackageReference;
|
|
7
14
|
products: string[];
|
|
8
15
|
}
|
|
9
16
|
/**
|
package/dist/packages.js
CHANGED
|
@@ -26,7 +26,6 @@ export function configPackages(packages, root) {
|
|
|
26
26
|
const dir = path.resolve(root, entry.path);
|
|
27
27
|
return { reference: { kind: 'local', path: dir, identity: packageIdentity(dir) }, products: [...entry.products] };
|
|
28
28
|
}
|
|
29
|
-
const url = entry.url;
|
|
30
29
|
const requirement = entry.from
|
|
31
30
|
? { kind: 'upToNextMajorVersion', minimumVersion: entry.from }
|
|
32
31
|
: entry.exact
|
|
@@ -34,6 +33,9 @@ export function configPackages(packages, root) {
|
|
|
34
33
|
: entry.branch
|
|
35
34
|
? { kind: 'branch', branch: entry.branch }
|
|
36
35
|
: { kind: 'revision', revision: entry.revision };
|
|
36
|
+
if (entry.id)
|
|
37
|
+
return { reference: { kind: 'registry', id: entry.id, identity: entry.id.toLowerCase(), requirement }, products: [...entry.products] };
|
|
38
|
+
const url = entry.url;
|
|
37
39
|
return { reference: { kind: 'remote', url, identity: packageIdentity(url), requirement }, products: [...entry.products] };
|
|
38
40
|
});
|
|
39
41
|
}
|
|
@@ -78,7 +80,9 @@ export function planPackages(packages, standIns = PACKAGE_STAND_INS) {
|
|
|
78
80
|
kind: 'dependency',
|
|
79
81
|
package: entry,
|
|
80
82
|
identity: reference.identity,
|
|
81
|
-
declaration:
|
|
83
|
+
declaration: reference.kind === 'registry'
|
|
84
|
+
? `.package(id: ${JSON.stringify(reference.id)}, ${requirementArgument(reference.requirement)})`
|
|
85
|
+
: `.package(url: ${JSON.stringify(reference.url)}, ${requirementArgument(reference.requirement)})`,
|
|
82
86
|
};
|
|
83
87
|
});
|
|
84
88
|
}
|
|
@@ -121,6 +125,8 @@ export function packageDisplayName(entry) {
|
|
|
121
125
|
const reference = entry.reference;
|
|
122
126
|
if (!reference)
|
|
123
127
|
return entry.products.join(', ');
|
|
128
|
+
if (reference.kind === 'registry')
|
|
129
|
+
return reference.id.slice(reference.id.indexOf('.') + 1);
|
|
124
130
|
const location = reference.kind === 'remote' ? reference.url : reference.path;
|
|
125
131
|
const last = location.replace(/[/\\]+$/, '').split(/[/\\:]/).pop() ?? location;
|
|
126
132
|
return last.replace(/\.git$/i, '');
|
|
@@ -132,6 +138,8 @@ export function packageSource(entry) {
|
|
|
132
138
|
return '';
|
|
133
139
|
if (reference.kind === 'local')
|
|
134
140
|
return reference.path;
|
|
141
|
+
if (reference.kind === 'registry')
|
|
142
|
+
return `${reference.id} (registry), ${describeRequirement(reference.requirement)}`;
|
|
135
143
|
const url = reference.url.replace(/^https?:\/\//, '').replace(/\.git$/i, '');
|
|
136
144
|
return reference.requirement ? `${url}, ${describeRequirement(reference.requirement)}` : url;
|
|
137
145
|
}
|