@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appSources.js","sourceRoot":"","sources":["../src/appSources.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { APP_STACK_SIZE, FULL_FOUNDATION_FILE, LOCALE_WRAPS, WASM_EXPORTS, appLinkerFlags, declaredTypeNames, featuresOf, fullFoundationSource, linkedProducts, transformSource, } from './appSources.js';
|
|
2
|
+
export type { StageFeatures, TransformResult } from './appSources.js';
|
|
3
|
+
export { optionalRequirementNames } from './objc.js';
|
|
4
|
+
export { appFrontendFlags, kitTargets } from './wasmFlags.js';
|
package/dist/browser.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// What the browser uses of the CLI (packages/playground): staging an app's
|
|
2
|
+
// sources for the shim and the flags the WebAssembly compiler builds it
|
|
3
|
+
// with. Every module this reaches is free of Node APIs
|
|
4
|
+
// (test/browser.test.ts checks).
|
|
5
|
+
export { APP_STACK_SIZE, FULL_FOUNDATION_FILE, LOCALE_WRAPS, WASM_EXPORTS, appLinkerFlags, declaredTypeNames, featuresOf, fullFoundationSource, linkedProducts, transformSource, } from './appSources.js';
|
|
6
|
+
export { optionalRequirementNames } from './objc.js';
|
|
7
|
+
export { appFrontendFlags, kitTargets } from './wasmFlags.js';
|
|
8
|
+
//# sourceMappingURL=browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,wEAAwE;AACxE,uDAAuD;AACvD,iCAAiC;AAEjC,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,oBAAoB,EACpB,cAAc,EACd,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/build.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import type { ResolvedApp } from './project.js';
|
|
2
2
|
import { type StagedApp } from './stage.js';
|
|
3
3
|
import { type Toolchain } from './toolchain.js';
|
|
4
|
+
import type { ICUData } from './icu.js';
|
|
5
|
+
import type { Kit } from './kit.js';
|
|
6
|
+
import type { PackageNode, Vendored } from './vendor.js';
|
|
7
|
+
import type { Compiler } from './compiler.js';
|
|
4
8
|
export interface RunResult {
|
|
5
9
|
status: number;
|
|
6
10
|
output: string;
|
|
@@ -30,11 +34,22 @@ export declare function checkHost(options: BuildOptions): Promise<void>;
|
|
|
30
34
|
* Builds the module for WebAssembly (release) and writes it to `wasmOutput(app)`;
|
|
31
35
|
* with `wasmOpt` set it is also optimized for size and stripped (the ~2.5×
|
|
32
36
|
* smaller download of a `build`; `dev` skips it for quick rebuilds). The
|
|
33
|
-
* autolink record is then dropped from the module (see wasm.ts).
|
|
37
|
+
* autolink record is then dropped from the module (see wasm.ts). The compiler
|
|
38
|
+
* compiler.ts chose builds it: SwiftPM with the native toolchain, or the
|
|
39
|
+
* WebAssembly compiler (wasmCompiler.ts), which needs the kit, the SDK's files
|
|
40
|
+
* and the ICU data.
|
|
34
41
|
*/
|
|
35
|
-
export declare function buildWasm(options: BuildOptions & {
|
|
42
|
+
export declare function buildWasm(options: Omit<BuildOptions, 'toolchain'> & {
|
|
43
|
+
compiler: Compiler;
|
|
36
44
|
wasmOpt?: string | null;
|
|
37
45
|
swiftFlags?: readonly string[];
|
|
46
|
+
kit?: Kit | null;
|
|
47
|
+
icu?: ICUData | null;
|
|
48
|
+
vendored?: Vendored;
|
|
49
|
+
/** Every package of the build (the WebAssembly compiler builds the plain ones from their checkouts). */
|
|
50
|
+
packages?: readonly PackageNode[];
|
|
51
|
+
/** Unoptimized, for `dev` (the WebAssembly compiler; SwiftPM builds release either way). */
|
|
52
|
+
debug?: boolean;
|
|
38
53
|
}): Promise<string>;
|
|
39
54
|
/**
|
|
40
55
|
* Builds the staged tests (`stage(…, { tests: true })`) for WebAssembly and
|
package/dist/build.js
CHANGED
|
@@ -8,6 +8,7 @@ import { remapDiagnostics, scratchPathArgs, wasmOutput } from './stage.js';
|
|
|
8
8
|
import { wasmOptWithThreadStacks } from './threadStacks.js';
|
|
9
9
|
import { WASM_SDK, cacheDir, toolchainEnv } from './toolchain.js';
|
|
10
10
|
import { AUTOLINK_SECTION, rewriteCustomSections } from './wasm.js';
|
|
11
|
+
import { buildWithWasmCompiler } from './wasmCompiler.js';
|
|
11
12
|
/** Runs a command, capturing stdout+stderr interleaved; `onOutput` streams it as it arrives. */
|
|
12
13
|
export function run(command, args, options) {
|
|
13
14
|
return new Promise((resolve, reject) => {
|
|
@@ -81,9 +82,44 @@ export async function checkHost(options) {
|
|
|
81
82
|
* Builds the module for WebAssembly (release) and writes it to `wasmOutput(app)`;
|
|
82
83
|
* with `wasmOpt` set it is also optimized for size and stripped (the ~2.5×
|
|
83
84
|
* smaller download of a `build`; `dev` skips it for quick rebuilds). The
|
|
84
|
-
* autolink record is then dropped from the module (see wasm.ts).
|
|
85
|
+
* autolink record is then dropped from the module (see wasm.ts). The compiler
|
|
86
|
+
* compiler.ts chose builds it: SwiftPM with the native toolchain, or the
|
|
87
|
+
* WebAssembly compiler (wasmCompiler.ts), which needs the kit, the SDK's files
|
|
88
|
+
* and the ICU data.
|
|
85
89
|
*/
|
|
86
90
|
export async function buildWasm(options) {
|
|
91
|
+
const { compiler, staged, app } = options;
|
|
92
|
+
const env = compiler.toolchain ? toolchainEnv(compiler.toolchain) : process.env;
|
|
93
|
+
let built;
|
|
94
|
+
if (compiler.kind === 'wasm') {
|
|
95
|
+
if (!compiler.sdk)
|
|
96
|
+
throw new CliError('the WebAssembly compiler needs the Swift SDK for WebAssembly; run `swiftbrowser doctor --install`');
|
|
97
|
+
built = await buildWithWasmCompiler({
|
|
98
|
+
toolchain: compiler.toolchain, sdk: compiler.sdk, staged, app, kit: options.kit ?? null, icu: options.icu ?? null,
|
|
99
|
+
...(options.vendored ? { vendored: options.vendored } : {}),
|
|
100
|
+
...(options.packages ? { packages: options.packages } : {}),
|
|
101
|
+
...(options.debug ? { debug: true } : {}),
|
|
102
|
+
...(options.onOutput ? { onOutput: options.onOutput } : {}),
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
if (!compiler.toolchain)
|
|
107
|
+
throw new CliError('the native build needs the Swift toolchain');
|
|
108
|
+
built = await swiftBuildWasm({ ...options, toolchain: compiler.toolchain });
|
|
109
|
+
}
|
|
110
|
+
const out = wasmOutput(app);
|
|
111
|
+
mkdirSync(path.dirname(out), { recursive: true });
|
|
112
|
+
if (options.wasmOpt) {
|
|
113
|
+
await optimizeWasm(options.wasmOpt, built, out, { cwd: staged.dir, env });
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
copyFileSync(built, out);
|
|
117
|
+
}
|
|
118
|
+
stripAutolink(out);
|
|
119
|
+
return out;
|
|
120
|
+
}
|
|
121
|
+
/** `swift build` of the staging package for WebAssembly; returns the module SwiftPM linked. */
|
|
122
|
+
async function swiftBuildWasm(options) {
|
|
87
123
|
const { toolchain, staged, app } = options;
|
|
88
124
|
const env = toolchainEnv(toolchain);
|
|
89
125
|
// `swiftFlags` reach every Swift target built for WebAssembly, packages
|
|
@@ -102,16 +138,7 @@ export async function buildWasm(options) {
|
|
|
102
138
|
const built = path.join(binPath.output.trim().split('\n').pop(), `${app.name}.wasm`);
|
|
103
139
|
if (!existsSync(built))
|
|
104
140
|
throw new CliError(`expected ${built} after the build`);
|
|
105
|
-
|
|
106
|
-
mkdirSync(path.dirname(out), { recursive: true });
|
|
107
|
-
if (options.wasmOpt) {
|
|
108
|
-
await optimizeWasm(options.wasmOpt, built, out, { cwd: staged.dir, env });
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
copyFileSync(built, out);
|
|
112
|
-
}
|
|
113
|
-
stripAutolink(out);
|
|
114
|
-
return out;
|
|
141
|
+
return built;
|
|
115
142
|
}
|
|
116
143
|
/**
|
|
117
144
|
* Builds the staged tests (`stage(…, { tests: true })`) for WebAssembly and
|
package/dist/build.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,8EAA8E;AAE9E,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAkB,gBAAgB,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAkB,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// `swiftbrowser <command> [path] [options]`: argument parsing and dispatch.
|
|
2
2
|
import { readFileSync } from 'node:fs';
|
|
3
3
|
import { parseArgs } from 'node:util';
|
|
4
|
+
import { compilerChoice } from './compiler.js';
|
|
4
5
|
import { isHTTPURL } from './config.js';
|
|
5
6
|
import { CliError, bold, dim, error, info, warn } from './log.js';
|
|
6
7
|
/** The package's version, from its package.json (beside `src/` and `dist/`), which releases bump. */
|
|
@@ -10,11 +11,11 @@ const HELP = `${bold('swiftbrowser')} ${VERSION}: run an iOS SwiftUI app in the
|
|
|
10
11
|
${bold('Usage')}
|
|
11
12
|
swiftbrowser init [<dir>] [--name <Name>] a new SwiftUI app: an Xcode project that runs in the browser too
|
|
12
13
|
swiftbrowser doctor [--install] check (and install) Swift, the wasm SDK and wasm-opt
|
|
13
|
-
swiftbrowser check <path> [options] import report and a
|
|
14
|
+
swiftbrowser check <path> [options] import report and a compile against the shim
|
|
14
15
|
swiftbrowser dev <path> [options] run the app with rebuild on save
|
|
15
16
|
swiftbrowser build <path> [-o <dir>] optimized module and a static site
|
|
16
17
|
swiftbrowser test <path> the app's unit tests (XCTest, Swift Testing) in WebAssembly
|
|
17
|
-
swiftbrowser kit
|
|
18
|
+
swiftbrowser kit [--wasm-macros] compile SwiftBrowser for WebAssembly ahead of builds
|
|
18
19
|
|
|
19
20
|
${bold('<path>')} is an .xcodeproj, a folder holding one, or a folder of Swift sources
|
|
20
21
|
(optionally with a swiftbrowser.json).
|
|
@@ -34,8 +35,18 @@ ${bold('Options')}
|
|
|
34
35
|
CORS proxy (packages/cors-proxy; dev, build)
|
|
35
36
|
--block-host <host> fail the app's requests to a host and its subdomains,
|
|
36
37
|
as if offline (repeatable; dev, build)
|
|
38
|
+
--wasm-macros also build SwiftBrowser's macros as WebAssembly (kit),
|
|
39
|
+
which the WebAssembly compiler runs
|
|
40
|
+
--compiler <name> what compiles the app (check, dev, build, test):
|
|
41
|
+
auto (default): the Swift toolchain when it is
|
|
42
|
+
installed, else the Swift compiler built as
|
|
43
|
+
WebAssembly from npm (no Swift install needed);
|
|
44
|
+
native: the toolchain; wasm: the WebAssembly one
|
|
37
45
|
--verbose stream the compiler output
|
|
38
46
|
-h, --help, --version
|
|
47
|
+
|
|
48
|
+
${bold('Environment')}
|
|
49
|
+
SWIFTBROWSER_COMPILER the compiler when --compiler is not given
|
|
39
50
|
`;
|
|
40
51
|
/** What can follow a bare `--host` as its value; anything else (a path) is the positional. */
|
|
41
52
|
const HOST_VALUE = /^(?:localhost|\d{1,3}(?:\.\d{1,3}){3}|[0-9a-f]*:[0-9a-f:.]*|[\w-]+(?:\.[\w-]+)*\.local)$/i;
|
|
@@ -76,6 +87,8 @@ export async function main(argv) {
|
|
|
76
87
|
'cors-proxy': { type: 'string' },
|
|
77
88
|
'block-host': { type: 'string', multiple: true },
|
|
78
89
|
verbose: { type: 'boolean' },
|
|
90
|
+
'wasm-macros': { type: 'boolean' },
|
|
91
|
+
compiler: { type: 'string' },
|
|
79
92
|
},
|
|
80
93
|
});
|
|
81
94
|
}
|
|
@@ -98,6 +111,17 @@ export async function main(argv) {
|
|
|
98
111
|
// Phase 14: one Foundation. The flag stays accepted so old scripts keep working.
|
|
99
112
|
info(warn('--foundation is ignored; the real Foundation is always used (lean mode was removed)'));
|
|
100
113
|
}
|
|
114
|
+
if (values.compiler !== undefined) {
|
|
115
|
+
// Every command reads the choice where it needs it (compilerChoice):
|
|
116
|
+
// the flag sets it for this run, over SWIFTBROWSER_COMPILER.
|
|
117
|
+
try {
|
|
118
|
+
process.env['SWIFTBROWSER_COMPILER'] = compilerChoice({ SWIFTBROWSER_COMPILER: values.compiler });
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
error(`--compiler ${values.compiler}: use auto, native or wasm`);
|
|
122
|
+
return 2;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
101
125
|
const corsProxy = values['cors-proxy'];
|
|
102
126
|
if (corsProxy !== undefined && !isHTTPURL(corsProxy)) {
|
|
103
127
|
error('--cors-proxy must be an http(s) URL');
|
|
@@ -132,11 +156,11 @@ export async function main(argv) {
|
|
|
132
156
|
case 'doctor': {
|
|
133
157
|
const { doctor } = await import('./commands/doctor.js');
|
|
134
158
|
const result = await doctor({ ...(values.install ? { install: true } : {}) });
|
|
135
|
-
return result.
|
|
159
|
+
return result.ready ? 0 : 1;
|
|
136
160
|
}
|
|
137
161
|
case 'kit': {
|
|
138
162
|
const { kit } = await import('./commands/kit.js');
|
|
139
|
-
await kit({ ...(values.verbose ? { verbose: true } : {}) });
|
|
163
|
+
await kit({ ...(values.verbose ? { verbose: true } : {}), ...(values['wasm-macros'] ? { wasmMacros: true } : {}) });
|
|
140
164
|
return 0;
|
|
141
165
|
}
|
|
142
166
|
case 'check': {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAElE,qGAAqG;AACrG,MAAM,CAAC,MAAM,OAAO,GAAY,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAyB,CAAC,OAAO,CAAC;AAE9I,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,OAAO;;EAE7C,IAAI,CAAC,OAAO,CAAC;;;;;;;;;EASb,IAAI,CAAC,QAAQ,CAAC;;;EAGd,IAAI,CAAC,SAAS,CAAC
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/build.js
CHANGED
|
@@ -5,22 +5,25 @@ import path from 'node:path';
|
|
|
5
5
|
import { buildSite } from '@swiftbrowser/web';
|
|
6
6
|
import { fileSize, formatBytes } from '../build.js';
|
|
7
7
|
import { bold, dim, info, ok, warn } from '../log.js';
|
|
8
|
+
import { findInstalled } from '../compiler.js';
|
|
8
9
|
import { findWasmOpt } from '../toolchain.js';
|
|
9
|
-
import { appSpec, icuDataFor } from './dev.js';
|
|
10
|
-
import { describeApp, describeReport, prepare,
|
|
10
|
+
import { appSpec, describeCompiler, icuDataFor } from './dev.js';
|
|
11
|
+
import { describeApp, describeReport, prepare, resolveCompiler, wasmShim } from './shared.js';
|
|
11
12
|
export async function build(input, options) {
|
|
12
|
-
const
|
|
13
|
-
const
|
|
13
|
+
const installed = findInstalled();
|
|
14
|
+
const verbose = options.verbose ? { verbose: true } : {};
|
|
15
|
+
const kitShim = await wasmShim(installed, verbose);
|
|
16
|
+
const { app, report, staged, vendored, packages } = await prepare(input, options, kitShim.path);
|
|
14
17
|
describeApp(app);
|
|
15
18
|
describeReport(report, app, vendored);
|
|
16
|
-
const
|
|
19
|
+
const { compiler, shim } = await resolveCompiler(installed, app, packages, kitShim, 'build', verbose);
|
|
17
20
|
const wasmOpt = options.optimize === false ? null : findWasmOpt();
|
|
18
21
|
if (options.optimize !== false && !wasmOpt) {
|
|
19
22
|
info(warn('wasm-opt not found; the module is not optimized (`swiftbrowser doctor --install` downloads binaryen)'));
|
|
20
23
|
}
|
|
21
24
|
const outDir = path.resolve(options.outDir ?? path.join(app.root, 'dist'));
|
|
22
|
-
const spec = appSpec(app, staged,
|
|
23
|
-
info(dim(`\nbuilding ${app.name} for WebAssembly (release${wasmOpt ? ', wasm-opt -Oz' : ''})…`));
|
|
25
|
+
const spec = appSpec(app, staged, compiler, { wasmOpt, icu: icuDataFor(app, compiler), vendored, packages, shim });
|
|
26
|
+
info(dim(`\nbuilding ${app.name} for WebAssembly (release, ${describeCompiler(compiler)}${wasmOpt ? ', wasm-opt -Oz' : ''})…`));
|
|
24
27
|
const started = Date.now();
|
|
25
28
|
// Re-stages with the ICU data, builds, and optimizes into `spec.wasm`.
|
|
26
29
|
await spec.build();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,yEAAyE;AAEzE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/check.js
CHANGED
|
@@ -1,18 +1,48 @@
|
|
|
1
|
-
// `swiftbrowser check <path>`: the import report, then a
|
|
2
|
-
// staged sources against the shim
|
|
3
|
-
// user's own file and line.
|
|
1
|
+
// `swiftbrowser check <path>`: the import report, then a compile of the
|
|
2
|
+
// staged sources against the shim that stops before code generation. Seconds;
|
|
3
|
+
// every error names the user's own file and line. The native toolchain
|
|
4
|
+
// compiles for the host against the shim's sources; the WebAssembly compiler
|
|
5
|
+
// (SWIFTBROWSER_COMPILER, compiler.ts) type-checks against the kit, as its
|
|
6
|
+
// build compiles.
|
|
4
7
|
import { checkHost } from '../build.js';
|
|
8
|
+
import { compilerChoice, findInstalled } from '../compiler.js';
|
|
5
9
|
import { CliError, bold, dim, info, ok } from '../log.js';
|
|
6
|
-
import {
|
|
10
|
+
import { checkWithWasmCompiler } from '../wasmCompiler.js';
|
|
11
|
+
import { describeApp, describeReport, prepare, requireToolchain, resolveCompiler, wasmShim } from './shared.js';
|
|
7
12
|
export async function check(input, options) {
|
|
8
|
-
const
|
|
13
|
+
const verbose = options.verbose ? { verbose: true } : {};
|
|
14
|
+
const installed = findInstalled();
|
|
15
|
+
// The native check compiles against the shim's sources; the WebAssembly one
|
|
16
|
+
// against the kit. `auto` checks natively when the toolchain is here.
|
|
17
|
+
const choice = compilerChoice();
|
|
18
|
+
const native = choice === 'native' || (choice === 'auto' && installed.toolchain !== null);
|
|
19
|
+
const kitShim = native ? null : await wasmShim(installed, verbose);
|
|
20
|
+
const prepared = await prepare(input, options, ...(kitShim ? [kitShim.path] : []));
|
|
21
|
+
const { app, report, vendored, packages } = prepared;
|
|
9
22
|
describeApp(app);
|
|
10
23
|
const blocked = describeReport(report, app, vendored);
|
|
11
|
-
|
|
12
|
-
|
|
24
|
+
let compiler;
|
|
25
|
+
let shim = kitShim;
|
|
26
|
+
if (!kitShim) {
|
|
27
|
+
compiler = { kind: 'native', toolchain: requireToolchain({ wasm: false }), sdk: installed.sdk };
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
({ compiler, shim } = await resolveCompiler(installed, app, packages, kitShim, 'check', verbose));
|
|
31
|
+
if (compiler.kind === 'wasm' && !shim?.kit)
|
|
32
|
+
throw new CliError('the WebAssembly compiler checks against the kit; unset SWIFTBROWSER_KIT=0');
|
|
33
|
+
}
|
|
34
|
+
// A fallback to the native toolchain checks against the shim's sources, as `native` does.
|
|
35
|
+
const staged = compiler.kind === 'native' && kitShim ? (await prepare(input, options)).staged : prepared.staged;
|
|
36
|
+
const how = compiler.kind === 'wasm' ? 'Swift compiler as WebAssembly, type-check' : `Swift ${compiler.toolchain.version}, host build`;
|
|
37
|
+
info(dim(`\ncompiling ${app.name} against the shim (${how})…`));
|
|
13
38
|
const started = Date.now();
|
|
14
39
|
try {
|
|
15
|
-
|
|
40
|
+
if (compiler.kind === 'wasm') {
|
|
41
|
+
await checkWithWasmCompiler({ sdk: compiler.sdk, kit: shim.kit, staged, app });
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
await checkHost({ toolchain: compiler.toolchain, staged, app, ...(options.verbose ? { onOutput: (chunk) => process.stdout.write(chunk) } : {}) });
|
|
45
|
+
}
|
|
16
46
|
}
|
|
17
47
|
catch (error) {
|
|
18
48
|
if (error instanceof CliError) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/dev.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type AppSpec } from '@swiftbrowser/web';
|
|
2
|
+
import { type Compiler } from '../compiler.js';
|
|
2
3
|
import { type ICUData } from '../icu.js';
|
|
3
4
|
import { type ResolvedApp } from '../project.js';
|
|
4
5
|
import { type StagedApp } from '../stage.js';
|
|
5
|
-
import type {
|
|
6
|
-
import type { Vendored } from '../vendor.js';
|
|
6
|
+
import type { PackageNode, Vendored } from '../vendor.js';
|
|
7
7
|
import { type AppOptions, type Shim } from './shared.js';
|
|
8
8
|
export interface DevOptions extends AppOptions {
|
|
9
9
|
port?: number;
|
|
@@ -11,12 +11,16 @@ export interface DevOptions extends AppOptions {
|
|
|
11
11
|
open?: boolean;
|
|
12
12
|
}
|
|
13
13
|
/** The trimmed ICU data for the app's languages (made once per SDK and language set, then cached). */
|
|
14
|
-
export declare function icuDataFor(app: ResolvedApp,
|
|
14
|
+
export declare function icuDataFor(app: ResolvedApp, compiler: Compiler): ICUData | null;
|
|
15
15
|
/** The registry entry the web dev server runs the app from. */
|
|
16
|
-
export declare function appSpec(app: ResolvedApp, staged: StagedApp,
|
|
16
|
+
export declare function appSpec(app: ResolvedApp, staged: StagedApp, compiler: Compiler, options: {
|
|
17
17
|
wasmOpt?: string | null;
|
|
18
18
|
icu?: ICUData | null;
|
|
19
19
|
vendored?: Vendored;
|
|
20
|
+
packages?: readonly PackageNode[];
|
|
20
21
|
shim: Shim;
|
|
22
|
+
debug?: boolean;
|
|
21
23
|
}): AppSpec;
|
|
24
|
+
/** `Swift 6.4`, or the WebAssembly compiler, for the build line. */
|
|
25
|
+
export declare function describeCompiler(compiler: Compiler): string;
|
|
22
26
|
export declare function dev(input: string, options: DevOptions): Promise<void>;
|
package/dist/commands/dev.js
CHANGED
|
@@ -3,18 +3,21 @@ import { existsSync } from 'node:fs';
|
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import { createDevServer, qrCodeText } from '@swiftbrowser/web';
|
|
5
5
|
import { buildWasm, fileSize, formatBytes } from '../build.js';
|
|
6
|
+
import { findInstalled } from '../compiler.js';
|
|
6
7
|
import { describeICUData, prepareICUData } from '../icu.js';
|
|
7
8
|
import { CliError, bold, dim, info, ok } from '../log.js';
|
|
8
9
|
import { commonSourceBase, stage, wasmOutput } from '../stage.js';
|
|
9
|
-
import { describeApp, describeReport, prepare,
|
|
10
|
+
import { describeApp, describeReport, prepare, resolveCompiler, wasmShim } from './shared.js';
|
|
10
11
|
/** The trimmed ICU data for the app's languages (made once per SDK and language set, then cached). */
|
|
11
|
-
export function icuDataFor(app,
|
|
12
|
-
|
|
12
|
+
export function icuDataFor(app, compiler) {
|
|
13
|
+
if (!compiler.sdk)
|
|
14
|
+
throw new CliError('cannot find the Swift SDK for WebAssembly\'s files; run `swiftbrowser doctor`');
|
|
15
|
+
const icu = prepareICUData(compiler.sdk, app.locales, { collation: app.collation });
|
|
13
16
|
info(dim(` ${describeICUData(icu)}`));
|
|
14
17
|
return icu;
|
|
15
18
|
}
|
|
16
19
|
/** The registry entry the web dev server runs the app from. */
|
|
17
|
-
export function appSpec(app, staged,
|
|
20
|
+
export function appSpec(app, staged, compiler, options) {
|
|
18
21
|
const spec = {
|
|
19
22
|
name: app.name,
|
|
20
23
|
displayName: app.displayName,
|
|
@@ -30,7 +33,13 @@ export function appSpec(app, staged, toolchain, options) {
|
|
|
30
33
|
// Re-stage first: a saved file is copied (and adjusted) before SwiftPM runs.
|
|
31
34
|
const fresh = stage(app, options.shim.path, { icu: options.icu ?? null, ...(options.vendored ? { vendored: options.vendored } : {}) });
|
|
32
35
|
staged.originals = fresh.originals;
|
|
33
|
-
await buildWasm({
|
|
36
|
+
await buildWasm({
|
|
37
|
+
compiler, staged: fresh, app, swiftFlags: options.shim.swiftFlags, kit: options.shim.kit, icu: options.icu ?? null,
|
|
38
|
+
...(options.vendored ? { vendored: options.vendored } : {}),
|
|
39
|
+
...(options.packages ? { packages: options.packages } : {}),
|
|
40
|
+
...(options.wasmOpt ? { wasmOpt: options.wasmOpt } : {}),
|
|
41
|
+
...(options.debug ? { debug: true } : {}),
|
|
42
|
+
});
|
|
34
43
|
},
|
|
35
44
|
};
|
|
36
45
|
if (app.icon)
|
|
@@ -43,14 +52,20 @@ export function appSpec(app, staged, toolchain, options) {
|
|
|
43
52
|
spec.blockedHosts = app.blockHosts;
|
|
44
53
|
return spec;
|
|
45
54
|
}
|
|
55
|
+
/** `Swift 6.4`, or the WebAssembly compiler, for the build line. */
|
|
56
|
+
export function describeCompiler(compiler) {
|
|
57
|
+
return compiler.kind === 'wasm' ? 'Swift compiler as WebAssembly' : `Swift ${compiler.toolchain.version}`;
|
|
58
|
+
}
|
|
46
59
|
export async function dev(input, options) {
|
|
47
|
-
const
|
|
48
|
-
const
|
|
60
|
+
const installed = findInstalled();
|
|
61
|
+
const kitShim = await wasmShim(installed);
|
|
62
|
+
const { app, report, staged, vendored, packages } = await prepare(input, options, kitShim.path);
|
|
49
63
|
describeApp(app);
|
|
50
64
|
describeReport(report, app, vendored);
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
|
|
65
|
+
const { compiler, shim } = await resolveCompiler(installed, app, packages, kitShim, 'build');
|
|
66
|
+
// Rebuilds on save compile unoptimized with the WebAssembly compiler; `build` optimizes.
|
|
67
|
+
const spec = appSpec(app, staged, compiler, { icu: icuDataFor(app, compiler), vendored, packages, shim, debug: true });
|
|
68
|
+
info(dim(`\nbuilding ${app.name} for WebAssembly (${describeCompiler(compiler)}${compiler.kind === 'wasm' ? ', unoptimized' : ''}, ${staged.dir})…`));
|
|
54
69
|
const started = Date.now();
|
|
55
70
|
try {
|
|
56
71
|
await spec.build();
|
package/dist/commands/dev.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAE1E,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,UAAU,EAAgB,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAgB,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAE1D,OAAO,EAAkB,gBAAgB,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
import { type Toolchain } from '../toolchain.js';
|
|
2
|
+
import { type WasmSdk } from '../wasmSdk.js';
|
|
2
3
|
export interface DoctorOptions {
|
|
3
4
|
install?: boolean;
|
|
4
5
|
}
|
|
5
6
|
export interface DoctorResult {
|
|
6
7
|
toolchain: Toolchain | null;
|
|
8
|
+
/** The toolchain has the Swift SDK for WebAssembly installed (SwiftPM builds with it). */
|
|
7
9
|
wasmSdk: boolean;
|
|
10
|
+
/** The SDK's files, for the WebAssembly compiler. */
|
|
11
|
+
sdk: WasmSdk | null;
|
|
12
|
+
/** What keeps the WebAssembly compiler from running, or null. */
|
|
13
|
+
wasmTools: string | null;
|
|
8
14
|
wasmOpt: string | null;
|
|
9
15
|
node: boolean;
|
|
16
|
+
/** Builds can run with the compiler `--compiler` or SWIFTBROWSER_COMPILER picks. */
|
|
17
|
+
ready: boolean;
|
|
10
18
|
}
|
|
11
19
|
export declare const SWIFT_INSTALL_HINT: string;
|
|
12
20
|
export declare function doctor(options?: DoctorOptions): Promise<DoctorResult>;
|