@swiftbrowser/cli 0.6.7 → 0.8.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 +82 -11
- 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 +62 -17
- package/dist/kit.js +183 -33
- 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/kit.d.ts
CHANGED
|
@@ -17,10 +17,14 @@ export interface KitManifest {
|
|
|
17
17
|
targets: Record<string, string[]>;
|
|
18
18
|
/** The shim's library products and their targets. */
|
|
19
19
|
products: Record<string, string[]>;
|
|
20
|
-
/** The shim's macro targets: the
|
|
20
|
+
/** The shim's macro targets: what the native compiler runs, under `plugins/`. */
|
|
21
21
|
macros: string[];
|
|
22
|
+
/** The macros built as WebAssembly, under `wasm-plugins/<macro>.wasm`. */
|
|
23
|
+
wasmPlugins?: string[];
|
|
22
24
|
/** Copied from @swiftbrowser/kit rather than built here. */
|
|
23
25
|
packaged?: boolean;
|
|
26
|
+
/** `plugins/` holds launchers of the WebAssembly macros (`writePluginLaunchers`), not host executables. */
|
|
27
|
+
pluginLaunchers?: boolean;
|
|
24
28
|
}
|
|
25
29
|
export interface Kit {
|
|
26
30
|
dir: string;
|
|
@@ -65,6 +69,9 @@ export declare function stubTarget(target: string): string;
|
|
|
65
69
|
export declare function kitArchive(dir: string, target: string): string;
|
|
66
70
|
export declare function kitModules(dir: string): string;
|
|
67
71
|
export declare function kitPlugin(dir: string, macro: string): string;
|
|
72
|
+
export declare function kitWasmPlugin(dir: string, macro: string): string;
|
|
73
|
+
/** The kit's macros built as WebAssembly: module name → file, for those it has. */
|
|
74
|
+
export declare function kitWasmPlugins(kit: Pick<Kit, 'dir' | 'manifest'>): Record<string, string>;
|
|
68
75
|
/**
|
|
69
76
|
* The manifest of the package that stands in for the shim. Each stub is an
|
|
70
77
|
* empty C target (no Swift module of its own to shadow the kit's), and links
|
|
@@ -78,6 +85,18 @@ export declare function writeKitPackage(dir: string, manifest: KitManifest): str
|
|
|
78
85
|
export declare function kitSwiftFlags(kit: Pick<Kit, 'dir' | 'manifest'>): string[];
|
|
79
86
|
/** The kit with this id, if it was built (its package rewritten if the kit moved). */
|
|
80
87
|
export declare function findKit(id: string, toolchain: Pick<Toolchain, 'version'>): Kit | null;
|
|
88
|
+
/** The launcher that runs a macro plugin built as WebAssembly as an executable (@swiftbrowser/wasm-compiler); null without it. */
|
|
89
|
+
export declare function pluginExecutable(): string | null;
|
|
90
|
+
/** The script that stands in for a macro's host executable: Node runs its WebAssembly through the launcher. */
|
|
91
|
+
export declare function pluginLauncherScript(node: string, launcher: string, wasm: string, macro: string): string;
|
|
92
|
+
/**
|
|
93
|
+
* Writes `plugins/<macro>` for each macro: a script that runs its WebAssembly
|
|
94
|
+
* (`wasm-plugins/<macro>.wasm`) with this Node and the launcher, so that a
|
|
95
|
+
* native toolchain expands the macros of a released kit on any host. False
|
|
96
|
+
* where that cannot work: on Windows (the compiler spawns no script), without
|
|
97
|
+
* the launcher, or without a macro's WebAssembly.
|
|
98
|
+
*/
|
|
99
|
+
export declare function writePluginLaunchers(dir: string, macros: readonly string[], node?: string, launcher?: string | null): boolean;
|
|
81
100
|
/** The package that compiles every module of the shim: one target depending on all its library products. */
|
|
82
101
|
export declare function kitBuilderManifest(swiftPackagePath: string, products: readonly string[]): string;
|
|
83
102
|
export interface KitProgress {
|
|
@@ -91,23 +110,26 @@ export interface KitProgress {
|
|
|
91
110
|
export declare function buildKit(toolchain: Toolchain, swiftPackagePath: string, id: string, progress?: KitProgress): Promise<Kit>;
|
|
92
111
|
/** Removes all but the newest kits (and leftovers of interrupted builds). */
|
|
93
112
|
export declare function pruneKits(current: string, root?: string): void;
|
|
94
|
-
/** Where npm put a released kit
|
|
113
|
+
/** Where npm put a released kit. */
|
|
95
114
|
export interface PackagedKit {
|
|
96
|
-
/** @swiftbrowser/kit's directory (kit.json, the modules and archives). */
|
|
115
|
+
/** @swiftbrowser/kit's directory (kit.json, the modules and archives, `wasm-plugins`). */
|
|
97
116
|
dir: string;
|
|
98
|
-
/** The host package's `plugins` directory. */
|
|
99
|
-
plugins: string;
|
|
100
117
|
}
|
|
101
|
-
/**
|
|
102
|
-
export declare function
|
|
103
|
-
/** @swiftbrowser/kit and this host's package, as npm installed them next to the CLI; null when either is missing. */
|
|
104
|
-
export declare function packagedKit(from?: string, host?: string): PackagedKit | null;
|
|
118
|
+
/** @swiftbrowser/kit, as npm installed it next to the CLI; null without it. */
|
|
119
|
+
export declare function packagedKit(from?: string): PackagedKit | null;
|
|
105
120
|
/**
|
|
106
121
|
* Copies a released kit into the cache as the kit `id`, when it was made for
|
|
107
|
-
* this shim,
|
|
108
|
-
*
|
|
122
|
+
* this shim, Swift version and SDK and has its macros built as WebAssembly.
|
|
123
|
+
* For a native toolchain (`nativeMacros`) it writes the launchers that run
|
|
124
|
+
* them (`writePluginLaunchers`), and is null where they cannot run. Null
|
|
125
|
+
* otherwise. The copy is what builds use: npm may replace or remove the
|
|
126
|
+
* package.
|
|
109
127
|
*/
|
|
110
|
-
export declare function installPackagedKit(packaged: PackagedKit, id: string, toolchain: Pick<Toolchain, 'version'
|
|
128
|
+
export declare function installPackagedKit(packaged: PackagedKit, id: string, toolchain: Pick<Toolchain, 'version'>, options?: {
|
|
129
|
+
nativeMacros?: boolean;
|
|
130
|
+
node?: string;
|
|
131
|
+
launcher?: string | null;
|
|
132
|
+
}): Kit | null;
|
|
111
133
|
/**
|
|
112
134
|
* Whether this toolchain reads a kit's modules: a released kit was compiled
|
|
113
135
|
* on Linux, and a compiler reads only the modules its own build wrote. Type-
|
|
@@ -120,14 +142,37 @@ export declare function probeKit(toolchain: Toolchain, kit: Kit): Promise<{
|
|
|
120
142
|
export interface KitEvents extends KitProgress {
|
|
121
143
|
/** Before a kit is built from the shim's sources (minutes). */
|
|
122
144
|
onBuild?: () => void;
|
|
123
|
-
/** A released kit was copied into the cache and the
|
|
145
|
+
/** A released kit was copied into the cache and the compiler reads it. */
|
|
124
146
|
onPackaged?: (kit: Kit) => void;
|
|
125
|
-
/** A released kit was there but
|
|
147
|
+
/** A released kit was there but the compiler cannot use it. */
|
|
126
148
|
onPackagedRejected?: (reason: string) => void;
|
|
127
149
|
}
|
|
150
|
+
export interface KitSource {
|
|
151
|
+
/** The native toolchain: it checks a released kit and builds one when there is none. Null for the WebAssembly compiler alone. */
|
|
152
|
+
toolchain: Toolchain | null;
|
|
153
|
+
/** The Swift version the kit is for: the toolchain's, or the WebAssembly tools' without one. */
|
|
154
|
+
version: string;
|
|
155
|
+
/** How a released kit is checked without a native toolchain (wasmCompiler.ts's typecheck). */
|
|
156
|
+
probe?: (kit: Kit) => Promise<{
|
|
157
|
+
ok: boolean;
|
|
158
|
+
output: string;
|
|
159
|
+
}>;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* The kit for this shim, Swift version and SDK: the cache's, else the
|
|
163
|
+
* released one npm installed (`packagedKit`), else one built from the shim's
|
|
164
|
+
* sources, which takes a native toolchain.
|
|
165
|
+
*/
|
|
166
|
+
export declare function ensureKit(source: KitSource, swiftPackagePath: string, events?: KitEvents, packaged?: PackagedKit | null): Promise<Kit>;
|
|
167
|
+
/** The shim's `swift-syntax` requirement as its manifest writes it (`"604.0.0"..<"605.0.0"`). */
|
|
168
|
+
export declare function swiftSyntaxRequirement(manifest: string): string;
|
|
169
|
+
/** The package that builds a kit's macros as WebAssembly executables, from the shim's sources. */
|
|
170
|
+
export declare function wasmMacrosManifest(requirement: string, macros: readonly string[]): string;
|
|
128
171
|
/**
|
|
129
|
-
* The kit
|
|
130
|
-
*
|
|
172
|
+
* The kit with its macros built as WebAssembly: as it is when it has them (a
|
|
173
|
+
* released kit does), else built with the native toolchain from the shim's
|
|
174
|
+
* sources (the first time, minutes: swift-syntax compiles for WebAssembly;
|
|
175
|
+
* later kits reuse that build) and recorded in kit.json.
|
|
131
176
|
*/
|
|
132
|
-
export declare function
|
|
177
|
+
export declare function ensureWasmPlugins(kit: Kit, toolchain: Toolchain | null, swiftPackagePath: string, events?: KitEvents): Promise<Kit>;
|
|
133
178
|
export {};
|
package/dist/kit.js
CHANGED
|
@@ -13,14 +13,23 @@
|
|
|
13
13
|
// finds the modules through `-I` (`kitSwiftFlags`).
|
|
14
14
|
//
|
|
15
15
|
// Released CLIs come with their kit: @swiftbrowser/kit holds its modules and
|
|
16
|
-
// archives
|
|
17
|
-
//
|
|
18
|
-
//
|
|
19
|
-
//
|
|
16
|
+
// archives and its macros built as WebAssembly (`packagedKit`). The CLI copies
|
|
17
|
+
// the one made for its shim into the cache, checks that the compiler can read
|
|
18
|
+
// its modules, and builds a kit only when there is none to use. A native
|
|
19
|
+
// toolchain runs the released macros through a launcher in place of host
|
|
20
|
+
// executables (`writePluginLaunchers`), so the same files serve every host.
|
|
21
|
+
//
|
|
22
|
+
// The WebAssembly compiler (wasmCompiler.ts) runs the kit's macros as
|
|
23
|
+
// WebAssembly (`wasm-plugins/<macro>.wasm`), built from the same sources as
|
|
24
|
+
// its modules: a released kit has them, and `ensureWasmPlugins` builds them
|
|
25
|
+
// for a kit made here. The WebAssembly compiler uses a kit without a native
|
|
26
|
+
// toolchain, and the kit for a toolchain is the same kit: both are named by
|
|
27
|
+
// the Swift version (compiler.ts's `reportedSwiftVersion`).
|
|
20
28
|
import { createHash } from 'node:crypto';
|
|
21
29
|
import { createRequire } from 'node:module';
|
|
22
|
-
import { chmodSync, copyFileSync, cpSync, existsSync, mkdirSync, readFileSync, readdirSync, renameSync, rmSync, statSync, writeFileSync } from 'node:fs';
|
|
30
|
+
import { chmodSync, copyFileSync, cpSync, existsSync, mkdirSync, readFileSync, readdirSync, renameSync, rmSync, statSync, symlinkSync, writeFileSync } from 'node:fs';
|
|
23
31
|
import path from 'node:path';
|
|
32
|
+
import { fileURLToPath } from 'node:url';
|
|
24
33
|
import { run } from './build.js';
|
|
25
34
|
import { CliError } from './log.js';
|
|
26
35
|
import { WASM_SDK, WASM_SDK_CHECKSUM, cacheDir, toolchainEnv } from './toolchain.js';
|
|
@@ -105,6 +114,19 @@ export function kitModules(dir) {
|
|
|
105
114
|
export function kitPlugin(dir, macro) {
|
|
106
115
|
return path.join(dir, 'plugins', macro);
|
|
107
116
|
}
|
|
117
|
+
export function kitWasmPlugin(dir, macro) {
|
|
118
|
+
return path.join(dir, 'wasm-plugins', `${macro}.wasm`);
|
|
119
|
+
}
|
|
120
|
+
/** The kit's macros built as WebAssembly: module name → file, for those it has. */
|
|
121
|
+
export function kitWasmPlugins(kit) {
|
|
122
|
+
const plugins = {};
|
|
123
|
+
for (const macro of kit.manifest.wasmPlugins ?? []) {
|
|
124
|
+
const file = kitWasmPlugin(kit.dir, macro);
|
|
125
|
+
if (existsSync(file))
|
|
126
|
+
plugins[macro] = file;
|
|
127
|
+
}
|
|
128
|
+
return plugins;
|
|
129
|
+
}
|
|
108
130
|
/**
|
|
109
131
|
* The manifest of the package that stands in for the shim. Each stub is an
|
|
110
132
|
* empty C target (no Swift module of its own to shadow the kit's), and links
|
|
@@ -178,8 +200,52 @@ export function findKit(id, toolchain) {
|
|
|
178
200
|
writeKitPackage(dir, manifest);
|
|
179
201
|
writeFileSync(file, `${JSON.stringify(manifest, null, 2)}\n`);
|
|
180
202
|
}
|
|
203
|
+
// They name this Node and this CLI's launcher, which may have moved since.
|
|
204
|
+
if (manifest.pluginLaunchers)
|
|
205
|
+
writePluginLaunchers(dir, manifest.macros);
|
|
181
206
|
return { dir, manifest, package: pkg };
|
|
182
207
|
}
|
|
208
|
+
/** The launcher that runs a macro plugin built as WebAssembly as an executable (@swiftbrowser/wasm-compiler); null without it. */
|
|
209
|
+
export function pluginExecutable() {
|
|
210
|
+
try {
|
|
211
|
+
const file = fileURLToPath(import.meta.resolve('@swiftbrowser/wasm-compiler/plugin-executable'));
|
|
212
|
+
return existsSync(file) ? file : null;
|
|
213
|
+
}
|
|
214
|
+
catch {
|
|
215
|
+
return null;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
/** A path as one word of a POSIX shell script. */
|
|
219
|
+
function shellWord(text) {
|
|
220
|
+
return `'${text.replace(/'/g, `'\\''`)}'`;
|
|
221
|
+
}
|
|
222
|
+
/** The script that stands in for a macro's host executable: Node runs its WebAssembly through the launcher. */
|
|
223
|
+
export function pluginLauncherScript(node, launcher, wasm, macro) {
|
|
224
|
+
return `#!/bin/sh
|
|
225
|
+
# Generated by @swiftbrowser/cli (kit.ts): ${macro}, built as WebAssembly, as
|
|
226
|
+
# the plugin executable the compiler spawns.
|
|
227
|
+
exec ${shellWord(node)} ${shellWord(launcher)} ${shellWord(wasm)}
|
|
228
|
+
`;
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Writes `plugins/<macro>` for each macro: a script that runs its WebAssembly
|
|
232
|
+
* (`wasm-plugins/<macro>.wasm`) with this Node and the launcher, so that a
|
|
233
|
+
* native toolchain expands the macros of a released kit on any host. False
|
|
234
|
+
* where that cannot work: on Windows (the compiler spawns no script), without
|
|
235
|
+
* the launcher, or without a macro's WebAssembly.
|
|
236
|
+
*/
|
|
237
|
+
export function writePluginLaunchers(dir, macros, node = process.execPath, launcher = pluginExecutable()) {
|
|
238
|
+
if (process.platform === 'win32' || !launcher)
|
|
239
|
+
return false;
|
|
240
|
+
if (!macros.every((macro) => existsSync(kitWasmPlugin(dir, macro))))
|
|
241
|
+
return false;
|
|
242
|
+
mkdirSync(path.join(dir, 'plugins'), { recursive: true });
|
|
243
|
+
for (const macro of macros) {
|
|
244
|
+
writeIfDifferent(kitPlugin(dir, macro), pluginLauncherScript(node, launcher, kitWasmPlugin(dir, macro), macro));
|
|
245
|
+
chmodSync(kitPlugin(dir, macro), 0o755);
|
|
246
|
+
}
|
|
247
|
+
return true;
|
|
248
|
+
}
|
|
183
249
|
/** The package that compiles every module of the shim: one target depending on all its library products. */
|
|
184
250
|
export function kitBuilderManifest(swiftPackagePath, products) {
|
|
185
251
|
return `// swift-tools-version: 6.0
|
|
@@ -281,40 +347,41 @@ export async function buildKit(toolchain, swiftPackagePath, id, progress = {}) {
|
|
|
281
347
|
}
|
|
282
348
|
/** Kits kept besides the current one: the latest few, for switching between shim versions. */
|
|
283
349
|
const KEPT_KITS = 2;
|
|
350
|
+
/** The directories under kits/ that are not kits: the builders' and the probe's packages. */
|
|
351
|
+
const KIT_WORK_DIRS = new Set(['build', 'probe', 'wasm-macros']);
|
|
284
352
|
/** Removes all but the newest kits (and leftovers of interrupted builds). */
|
|
285
353
|
export function pruneKits(current, root = kitsDir()) {
|
|
286
354
|
if (!existsSync(root))
|
|
287
355
|
return;
|
|
288
356
|
const kits = readdirSync(root, { withFileTypes: true })
|
|
289
|
-
.filter((entry) => entry.isDirectory() && entry.name
|
|
357
|
+
.filter((entry) => entry.isDirectory() && !KIT_WORK_DIRS.has(entry.name) && entry.name !== current)
|
|
290
358
|
.map((entry) => ({ name: entry.name, dir: path.join(root, entry.name), time: statSync(path.join(root, entry.name)).mtimeMs }));
|
|
291
359
|
const leftovers = kits.filter((kit) => kit.name.includes('.tmp-') && !kit.name.endsWith(`.tmp-${process.pid}`));
|
|
292
360
|
const complete = kits.filter((kit) => !kit.name.includes('.tmp-')).sort((a, b) => b.time - a.time);
|
|
293
361
|
for (const kit of [...leftovers, ...complete.slice(KEPT_KITS)])
|
|
294
362
|
rmSync(kit.dir, { recursive: true, force: true });
|
|
295
363
|
}
|
|
296
|
-
/**
|
|
297
|
-
export function
|
|
298
|
-
|
|
299
|
-
}
|
|
300
|
-
/** @swiftbrowser/kit and this host's package, as npm installed them next to the CLI; null when either is missing. */
|
|
301
|
-
export function packagedKit(from = import.meta.url, host = hostKitPackage()) {
|
|
364
|
+
/** @swiftbrowser/kit, as npm installed it next to the CLI; null without it. */
|
|
365
|
+
export function packagedKit(from = import.meta.url) {
|
|
366
|
+
let dir;
|
|
302
367
|
try {
|
|
303
|
-
|
|
304
|
-
// The host package is an optional dependency of @swiftbrowser/kit: npm puts it where the kit resolves it.
|
|
305
|
-
const plugins = path.join(path.dirname(createRequire(path.join(dir, 'package.json')).resolve(`${host}/package.json`)), 'plugins');
|
|
306
|
-
return existsSync(path.join(dir, 'kit.json')) && existsSync(plugins) ? { dir, plugins } : null;
|
|
368
|
+
dir = path.dirname(createRequire(from).resolve('@swiftbrowser/kit/package.json'));
|
|
307
369
|
}
|
|
308
370
|
catch {
|
|
309
371
|
return null;
|
|
310
372
|
}
|
|
373
|
+
return existsSync(path.join(dir, 'kit.json')) ? { dir } : null;
|
|
311
374
|
}
|
|
312
375
|
/**
|
|
313
376
|
* Copies a released kit into the cache as the kit `id`, when it was made for
|
|
314
|
-
* this shim,
|
|
315
|
-
*
|
|
377
|
+
* this shim, Swift version and SDK and has its macros built as WebAssembly.
|
|
378
|
+
* For a native toolchain (`nativeMacros`) it writes the launchers that run
|
|
379
|
+
* them (`writePluginLaunchers`), and is null where they cannot run. Null
|
|
380
|
+
* otherwise. The copy is what builds use: npm may replace or remove the
|
|
381
|
+
* package.
|
|
316
382
|
*/
|
|
317
|
-
export function installPackagedKit(packaged, id, toolchain) {
|
|
383
|
+
export function installPackagedKit(packaged, id, toolchain, options = {}) {
|
|
384
|
+
const nativeMacros = options.nativeMacros ?? true;
|
|
318
385
|
let manifest;
|
|
319
386
|
try {
|
|
320
387
|
manifest = JSON.parse(readFileSync(path.join(packaged.dir, 'kit.json'), 'utf8'));
|
|
@@ -324,21 +391,27 @@ export function installPackagedKit(packaged, id, toolchain) {
|
|
|
324
391
|
}
|
|
325
392
|
if (manifest.format !== KIT_FORMAT || manifest.id !== id || manifest.swift !== toolchain.version || manifest.sdk !== WASM_SDK_CHECKSUM)
|
|
326
393
|
return null;
|
|
327
|
-
|
|
394
|
+
const wasmPlugins = (manifest.wasmPlugins ?? []).filter((macro) => existsSync(kitWasmPlugin(packaged.dir, macro)));
|
|
395
|
+
if (!manifest.macros.every((macro) => wasmPlugins.includes(macro)))
|
|
328
396
|
return null;
|
|
329
397
|
const dir = path.join(kitsDir(), id);
|
|
330
398
|
const temp = `${dir}.tmp-${process.pid}`;
|
|
331
399
|
rmSync(temp, { recursive: true, force: true });
|
|
332
400
|
mkdirSync(temp, { recursive: true });
|
|
333
401
|
cpSync(path.join(packaged.dir, KIT_TRIPLE), path.join(temp, KIT_TRIPLE), { recursive: true });
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
copyFileSync(
|
|
337
|
-
chmodSync(kitPlugin(temp, macro), 0o755);
|
|
402
|
+
for (const macro of wasmPlugins) {
|
|
403
|
+
mkdirSync(path.join(temp, 'wasm-plugins'), { recursive: true });
|
|
404
|
+
copyFileSync(kitWasmPlugin(packaged.dir, macro), kitWasmPlugin(temp, macro));
|
|
338
405
|
}
|
|
339
406
|
rmSync(dir, { recursive: true, force: true });
|
|
340
407
|
renameSync(temp, dir);
|
|
341
|
-
|
|
408
|
+
// Written where the kit stays: the scripts name its WebAssembly by path.
|
|
409
|
+
const launchers = writePluginLaunchers(dir, manifest.macros, options.node, options.launcher === undefined ? pluginExecutable() : options.launcher);
|
|
410
|
+
if (nativeMacros && !launchers) {
|
|
411
|
+
rmSync(dir, { recursive: true, force: true });
|
|
412
|
+
return null;
|
|
413
|
+
}
|
|
414
|
+
const installed = { ...manifest, dir, packaged: true, wasmPlugins, ...(launchers ? { pluginLaunchers: true } : {}) };
|
|
342
415
|
writeKitPackage(dir, installed);
|
|
343
416
|
writeFileSync(path.join(dir, 'kit.json'), `${JSON.stringify(installed, null, 2)}\n`);
|
|
344
417
|
return { dir, manifest: installed, package: path.join(dir, 'package') };
|
|
@@ -373,17 +446,21 @@ ${products.map((p) => ` .product(name: ${JSON.stringify(p)}, package:
|
|
|
373
446
|
return { ok: result.status === 0, output: result.output };
|
|
374
447
|
}
|
|
375
448
|
/**
|
|
376
|
-
* The kit for this shim,
|
|
377
|
-
* one npm installed (`packagedKit`), else one built from the shim's
|
|
449
|
+
* The kit for this shim, Swift version and SDK: the cache's, else the
|
|
450
|
+
* released one npm installed (`packagedKit`), else one built from the shim's
|
|
451
|
+
* sources, which takes a native toolchain.
|
|
378
452
|
*/
|
|
379
|
-
export async function ensureKit(
|
|
380
|
-
const
|
|
381
|
-
const
|
|
382
|
-
|
|
453
|
+
export async function ensureKit(source, swiftPackagePath, events = {}, packaged = packagedKit()) {
|
|
454
|
+
const { toolchain } = source;
|
|
455
|
+
const version = { version: source.version };
|
|
456
|
+
const id = kitId(swiftPackagePath, version);
|
|
457
|
+
const found = findKit(id, version);
|
|
458
|
+
// A released kit installed for the WebAssembly compiler alone has nothing a native toolchain can run for its macros.
|
|
459
|
+
if (found && !(toolchain && !found.manifest.macros.every((macro) => existsSync(kitPlugin(found.dir, macro)))))
|
|
383
460
|
return found;
|
|
384
|
-
const installed = packaged ? installPackagedKit(packaged, id, toolchain) : null;
|
|
461
|
+
const installed = packaged ? installPackagedKit(packaged, id, version, { nativeMacros: toolchain !== null }) : null;
|
|
385
462
|
if (installed) {
|
|
386
|
-
const probe = await probeKit(toolchain, installed);
|
|
463
|
+
const probe = toolchain ? await probeKit(toolchain, installed) : source.probe ? await source.probe(installed) : { ok: true, output: '' };
|
|
387
464
|
if (probe.ok) {
|
|
388
465
|
events.onPackaged?.(installed);
|
|
389
466
|
return installed;
|
|
@@ -391,9 +468,82 @@ export async function ensureKit(toolchain, swiftPackagePath, events = {}, packag
|
|
|
391
468
|
rmSync(installed.dir, { recursive: true, force: true });
|
|
392
469
|
events.onPackagedRejected?.(probe.output.split('\n').find((line) => /error:/.test(line))?.trim() ?? 'its modules do not load');
|
|
393
470
|
}
|
|
471
|
+
if (!toolchain) {
|
|
472
|
+
throw new CliError(`no prebuilt SwiftBrowser kit for this version (${id}): @swiftbrowser/kit is missing or made for another release, and compiling one takes Swift ${source.version}`);
|
|
473
|
+
}
|
|
394
474
|
events.onBuild?.();
|
|
395
475
|
return buildKit(toolchain, swiftPackagePath, id, events);
|
|
396
476
|
}
|
|
477
|
+
/** The shim's `swift-syntax` requirement as its manifest writes it (`"604.0.0"..<"605.0.0"`). */
|
|
478
|
+
export function swiftSyntaxRequirement(manifest) {
|
|
479
|
+
const match = /\.package\(\s*url:\s*"https:\/\/github\.com\/swiftlang\/swift-syntax(?:\.git)?",\s*([^)]+?)\s*\)/.exec(manifest);
|
|
480
|
+
if (!match)
|
|
481
|
+
throw new CliError('the shim\'s Package.swift does not depend on swift-syntax as expected');
|
|
482
|
+
return match[1];
|
|
483
|
+
}
|
|
484
|
+
/** The package that builds a kit's macros as WebAssembly executables, from the shim's sources. */
|
|
485
|
+
export function wasmMacrosManifest(requirement, macros) {
|
|
486
|
+
return `// swift-tools-version: 6.0
|
|
487
|
+
// Generated by @swiftbrowser/cli (kit.ts): the shim's macros as WebAssembly
|
|
488
|
+
// executables, for the WebAssembly compiler to run.
|
|
489
|
+
import PackageDescription
|
|
490
|
+
|
|
491
|
+
let syntax: [Target.Dependency] = [
|
|
492
|
+
.product(name: "SwiftSyntax", package: "swift-syntax"),
|
|
493
|
+
.product(name: "SwiftSyntaxMacros", package: "swift-syntax"),
|
|
494
|
+
.product(name: "SwiftSyntaxBuilder", package: "swift-syntax"),
|
|
495
|
+
.product(name: "SwiftDiagnostics", package: "swift-syntax"),
|
|
496
|
+
.product(name: "SwiftCompilerPlugin", package: "swift-syntax"),
|
|
497
|
+
]
|
|
498
|
+
|
|
499
|
+
let package = Package(
|
|
500
|
+
name: "SwiftBrowserWasmMacros",
|
|
501
|
+
dependencies: [.package(url: "https://github.com/swiftlang/swift-syntax.git", ${requirement})],
|
|
502
|
+
targets: [
|
|
503
|
+
${macros.map((macro) => ` .executableTarget(name: ${JSON.stringify(macro)}, dependencies: syntax, path: ${JSON.stringify(`Sources/${macro}`)}),`).join('\n')}
|
|
504
|
+
]
|
|
505
|
+
)
|
|
506
|
+
`;
|
|
507
|
+
}
|
|
508
|
+
/**
|
|
509
|
+
* The kit with its macros built as WebAssembly: as it is when it has them (a
|
|
510
|
+
* released kit does), else built with the native toolchain from the shim's
|
|
511
|
+
* sources (the first time, minutes: swift-syntax compiles for WebAssembly;
|
|
512
|
+
* later kits reuse that build) and recorded in kit.json.
|
|
513
|
+
*/
|
|
514
|
+
export async function ensureWasmPlugins(kit, toolchain, swiftPackagePath, events = {}) {
|
|
515
|
+
const missing = kit.manifest.macros.filter((macro) => !existsSync(kitWasmPlugin(kit.dir, macro)));
|
|
516
|
+
if (missing.length === 0)
|
|
517
|
+
return kit;
|
|
518
|
+
if (!toolchain)
|
|
519
|
+
throw new CliError(`the kit has no WebAssembly build of ${missing.join(', ')}; building one takes Swift ${kit.manifest.swift}`);
|
|
520
|
+
events.onBuild?.();
|
|
521
|
+
const builder = path.join(kitsDir(), 'wasm-macros');
|
|
522
|
+
const sources = path.join(builder, 'Sources');
|
|
523
|
+
mkdirSync(sources, { recursive: true });
|
|
524
|
+
for (const macro of kit.manifest.macros) {
|
|
525
|
+
const link = path.join(sources, macro);
|
|
526
|
+
rmSync(link, { recursive: true, force: true });
|
|
527
|
+
symlinkSync(path.join(swiftPackagePath, 'Sources', macro), link);
|
|
528
|
+
}
|
|
529
|
+
const requirement = swiftSyntaxRequirement(readFileSync(path.join(swiftPackagePath, 'Package.swift'), 'utf8'));
|
|
530
|
+
writeIfDifferent(path.join(builder, 'Package.swift'), wasmMacrosManifest(requirement, kit.manifest.macros));
|
|
531
|
+
const env = toolchainEnv(toolchain);
|
|
532
|
+
const common = ['--swift-sdk', WASM_SDK, '-c', 'release', '--package-path', builder, '--scratch-path', path.join(builder, '.build')];
|
|
533
|
+
const result = await run(toolchain.swift, ['build', ...common], { cwd: builder, env, ...(events.onOutput ? { onOutput: events.onOutput } : {}) });
|
|
534
|
+
if (result.status !== 0)
|
|
535
|
+
throw new CliError(`building the kit's macros as WebAssembly failed:\n${result.output}`);
|
|
536
|
+
const binPath = await run(toolchain.swift, ['build', ...common, '--show-bin-path'], { cwd: builder, env });
|
|
537
|
+
if (binPath.status !== 0)
|
|
538
|
+
throw new CliError(`swift build --show-bin-path failed:\n${binPath.output}`);
|
|
539
|
+
const bin = binPath.output.trim().split('\n').pop();
|
|
540
|
+
mkdirSync(path.join(kit.dir, 'wasm-plugins'), { recursive: true });
|
|
541
|
+
for (const macro of kit.manifest.macros)
|
|
542
|
+
copyFileSync(path.join(bin, `${macro}.wasm`), kitWasmPlugin(kit.dir, macro));
|
|
543
|
+
const manifest = { ...kit.manifest, wasmPlugins: [...kit.manifest.macros] };
|
|
544
|
+
writeFileSync(path.join(kit.dir, 'kit.json'), `${JSON.stringify(manifest, null, 2)}\n`);
|
|
545
|
+
return { ...kit, manifest };
|
|
546
|
+
}
|
|
397
547
|
function writeIfDifferent(file, text) {
|
|
398
548
|
if (existsSync(file) && readFileSync(file, 'utf8') === text)
|
|
399
549
|
return;
|
package/dist/kit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kit.js","sourceRoot":"","sources":["../src/kit.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kit.js","sourceRoot":"","sources":["../src/kit.ts"],"names":[],"mappings":"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"}
|
package/dist/log.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// Minimal console styling for the CLI: colors only when writing to a terminal.
|
|
2
|
-
|
|
2
|
+
// The browser entry (browser.ts) reaches CliError through wasmFlags.ts, so no process there.
|
|
3
|
+
const tty = typeof process !== 'undefined' && process.stdout?.isTTY === true && process.env['NO_COLOR'] === undefined;
|
|
3
4
|
const wrap = (open, close = '\x1b[0m') => (text) => (tty ? `${open}${text}${close}` : text);
|
|
4
5
|
export const bold = wrap('\x1b[1m');
|
|
5
6
|
export const dim = wrap('\x1b[2m');
|
package/dist/log.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAE/E,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAE/E,6FAA6F;AAC7F,MAAM,GAAG,GAAG,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC;AACtH,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,KAAK,GAAG,SAAS,EAAE,EAAE,CAAC,CAAC,IAAY,EAAU,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAEpH,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;AACpC,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;AACnC,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;AACpC,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;AAErC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;AACpE,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;AACnE,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;AAEvE,MAAM,UAAU,IAAI,CAAC,OAAe;IAClC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,OAAe;IACnC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,oEAAoE;AACpE,MAAM,OAAO,QAAS,SAAQ,KAAK;IACK;IAAtC,YAAY,OAAe,EAAW,WAAW,CAAC;QAChD,KAAK,CAAC,OAAO,CAAC,CAAC;QADqB,aAAQ,GAAR,QAAQ,CAAI;QAEhD,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { DumpedPackage } from './wasmPackages.js';
|
|
2
|
+
import type { WasmSdk } from './wasmSdk.js';
|
|
3
|
+
/** A package dependency's version rule, as a manifest states it. */
|
|
4
|
+
export type Requirement = {
|
|
5
|
+
kind: 'exact';
|
|
6
|
+
version: string;
|
|
7
|
+
} | {
|
|
8
|
+
kind: 'range';
|
|
9
|
+
lower: string;
|
|
10
|
+
upper: string;
|
|
11
|
+
} | {
|
|
12
|
+
kind: 'revision';
|
|
13
|
+
revision: string;
|
|
14
|
+
} | {
|
|
15
|
+
kind: 'branch';
|
|
16
|
+
branch: string;
|
|
17
|
+
};
|
|
18
|
+
/** A package a manifest depends on. */
|
|
19
|
+
export type ManifestDependency = ({
|
|
20
|
+
kind: 'sourceControl';
|
|
21
|
+
identity: string;
|
|
22
|
+
name: string | null;
|
|
23
|
+
url: string;
|
|
24
|
+
requirement: Requirement;
|
|
25
|
+
} | {
|
|
26
|
+
kind: 'fileSystem';
|
|
27
|
+
identity: string;
|
|
28
|
+
name: string | null;
|
|
29
|
+
path: string;
|
|
30
|
+
}
|
|
31
|
+
/** `.package(id: "scope.name", ...)`, from a package registry (registry.ts). */
|
|
32
|
+
| {
|
|
33
|
+
kind: 'registry';
|
|
34
|
+
identity: string;
|
|
35
|
+
name: null;
|
|
36
|
+
id: string;
|
|
37
|
+
requirement: Requirement;
|
|
38
|
+
}) & {
|
|
39
|
+
/** The traits it asks of the package (`traits:`), each when its condition's traits are enabled here; absent, its defaults. */
|
|
40
|
+
traits?: {
|
|
41
|
+
name: string;
|
|
42
|
+
condition?: {
|
|
43
|
+
traits: string[];
|
|
44
|
+
};
|
|
45
|
+
}[];
|
|
46
|
+
};
|
|
47
|
+
export interface EvaluatedManifest {
|
|
48
|
+
/** The manifest as dump-package would show it, as far as the CLI reads it. */
|
|
49
|
+
dump: DumpedPackage;
|
|
50
|
+
dependencies: ManifestDependency[];
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* The manifest SwiftPM reads for this Swift version (ToolsVersionParser's
|
|
54
|
+
* `findManifest`): a `Package@swift-6.4.0.swift`, `@swift-6.4` or `@swift-6`
|
|
55
|
+
* for exactly this version; else the newest version-specific one not above
|
|
56
|
+
* it, when its tools version is above `Package.swift`'s or `Package.swift`'s
|
|
57
|
+
* is too new; else `Package.swift`. Null when the folder has no manifest.
|
|
58
|
+
*/
|
|
59
|
+
export declare function selectManifest(dir: string, swiftVersion?: string): string | null;
|
|
60
|
+
/** The tools version a manifest declares (`// swift-tools-version: 5.9` → `5.9.0`), as SwiftPM reads it. */
|
|
61
|
+
export declare function manifestToolsVersion(text: string): string;
|
|
62
|
+
/** The language mode a manifest is compiled in: its tools version's (SwiftPM's `ToolsVersion.swiftLanguageVersion`). */
|
|
63
|
+
export declare function manifestLanguageMode(toolsVersion: string): string;
|
|
64
|
+
/** PackageDescription's description of a package → dump-package's shape and its dependencies. */
|
|
65
|
+
export declare function convertManifest(output: unknown, toolsVersion: string): EvaluatedManifest;
|
|
66
|
+
/** The JSON a manifest wrote: the last `{"errors":` object of its output (anything it printed comes before). */
|
|
67
|
+
export declare function manifestOutputJSON(output: string): unknown;
|
|
68
|
+
/**
|
|
69
|
+
* The manifest of the package in `dir`, read with the WebAssembly compiler
|
|
70
|
+
* (or from the cache). `sdk` is the Swift SDK's files, which the manifest is
|
|
71
|
+
* compiled and linked against.
|
|
72
|
+
*/
|
|
73
|
+
export declare function evaluateManifest(dir: string, sdk: WasmSdk): Promise<EvaluatedManifest>;
|