@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/stage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stage.js","sourceRoot":"","sources":["../src/stage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stage.js","sourceRoot":"","sources":["../src/stage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/** A symbol graph as `-emit-symbol-graph` writes it, as far as discovery reads it. */
|
|
2
|
+
export interface SymbolGraph {
|
|
3
|
+
symbols: {
|
|
4
|
+
kind: {
|
|
5
|
+
identifier: string;
|
|
6
|
+
};
|
|
7
|
+
identifier: {
|
|
8
|
+
precise: string;
|
|
9
|
+
};
|
|
10
|
+
pathComponents: string[];
|
|
11
|
+
names: {
|
|
12
|
+
title: string;
|
|
13
|
+
};
|
|
14
|
+
declarationFragments?: {
|
|
15
|
+
kind: string;
|
|
16
|
+
spelling: string;
|
|
17
|
+
}[];
|
|
18
|
+
}[];
|
|
19
|
+
relationships: {
|
|
20
|
+
kind: string;
|
|
21
|
+
source: string;
|
|
22
|
+
target: string;
|
|
23
|
+
targetFallback?: string;
|
|
24
|
+
}[];
|
|
25
|
+
}
|
|
26
|
+
export interface TestCaseClass {
|
|
27
|
+
/** The class's name in its module (`Outer.Inner` for a nested one). */
|
|
28
|
+
name: string;
|
|
29
|
+
methods: {
|
|
30
|
+
name: string;
|
|
31
|
+
async: boolean;
|
|
32
|
+
}[];
|
|
33
|
+
}
|
|
34
|
+
/** The XCTest classes of a test module and their test methods, by class name. */
|
|
35
|
+
export declare function xctestCases(graph: SymbolGraph): TestCaseClass[];
|
|
36
|
+
/**
|
|
37
|
+
* The runner's source: the XCTest list SwiftPM's discovery writes, and its
|
|
38
|
+
* entry point, which runs Swift Testing with `--testing-library
|
|
39
|
+
* swift-testing` and XCTest otherwise. Each class's methods are listed in
|
|
40
|
+
* the `testCase` call, as SwiftPM's build system writes them, so that a
|
|
41
|
+
* `@MainActor` method converts to the type XCTest takes where it is named
|
|
42
|
+
* (a list built first would be cast at run time, which fails).
|
|
43
|
+
*/
|
|
44
|
+
export declare function testRunnerSource(module: string, cases: readonly TestCaseClass[]): string;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
// The test runner the WebAssembly compiler links a test module into
|
|
2
|
+
// (wasmCompiler.ts, buildTestsWithWasmCompiler): what SwiftPM generates for a
|
|
3
|
+
// test product off Apple platforms. Swift Testing finds its tests at run time;
|
|
4
|
+
// XCTest's are listed here, as SwiftPM lists them (LLBuildCommands.swift,
|
|
5
|
+
// TestDiscoveryCommand), from the module's symbol graph in place of its index
|
|
6
|
+
// store: the classes that inherit from XCTestCase, and their `test` methods
|
|
7
|
+
// that take no arguments, inherited ones included.
|
|
8
|
+
const XCTEST_CASE = 'XCTest.XCTestCase';
|
|
9
|
+
/** The XCTest classes of a test module and their test methods, by class name. */
|
|
10
|
+
export function xctestCases(graph) {
|
|
11
|
+
const symbols = new Map(graph.symbols.map((symbol) => [symbol.identifier.precise, symbol]));
|
|
12
|
+
const superclass = new Map();
|
|
13
|
+
const members = new Map();
|
|
14
|
+
for (const relationship of graph.relationships) {
|
|
15
|
+
if (relationship.kind === 'inheritsFrom') {
|
|
16
|
+
superclass.set(relationship.source, { target: relationship.target, ...(relationship.targetFallback ? { fallback: relationship.targetFallback } : {}) });
|
|
17
|
+
}
|
|
18
|
+
else if (relationship.kind === 'memberOf') {
|
|
19
|
+
members.set(relationship.target, [...(members.get(relationship.target) ?? []), relationship.source]);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
// A class's superclasses in this module, nearest first, if XCTestCase is among its ancestors.
|
|
23
|
+
const ancestry = (usr) => {
|
|
24
|
+
const chain = [];
|
|
25
|
+
for (let current = superclass.get(usr); current; current = superclass.get(current.target)) {
|
|
26
|
+
if (current.fallback === XCTEST_CASE || current.target.startsWith('s:6XCTest0A4CaseC'))
|
|
27
|
+
return chain;
|
|
28
|
+
if (!symbols.has(current.target) || chain.includes(current.target))
|
|
29
|
+
return null;
|
|
30
|
+
chain.push(current.target);
|
|
31
|
+
}
|
|
32
|
+
return null;
|
|
33
|
+
};
|
|
34
|
+
const testMethods = (usr) => (members.get(usr) ?? []).flatMap((member) => {
|
|
35
|
+
const symbol = symbols.get(member);
|
|
36
|
+
if (!symbol || symbol.kind.identifier !== 'swift.method')
|
|
37
|
+
return [];
|
|
38
|
+
const match = /^(test\w*)\(\)$/.exec(symbol.names.title);
|
|
39
|
+
if (!match)
|
|
40
|
+
return [];
|
|
41
|
+
const async = (symbol.declarationFragments ?? []).some((fragment) => fragment.kind === 'keyword' && fragment.spelling === 'async');
|
|
42
|
+
return [{ name: match[1], async }];
|
|
43
|
+
});
|
|
44
|
+
const cases = [];
|
|
45
|
+
for (const symbol of graph.symbols) {
|
|
46
|
+
if (symbol.kind.identifier !== 'swift.class')
|
|
47
|
+
continue;
|
|
48
|
+
const ancestors = ancestry(symbol.identifier.precise);
|
|
49
|
+
if (!ancestors)
|
|
50
|
+
continue;
|
|
51
|
+
const methods = [];
|
|
52
|
+
for (const usr of [symbol.identifier.precise, ...ancestors]) {
|
|
53
|
+
for (const method of testMethods(usr))
|
|
54
|
+
if (!methods.some((m) => m.name === method.name))
|
|
55
|
+
methods.push(method);
|
|
56
|
+
}
|
|
57
|
+
if (methods.length > 0)
|
|
58
|
+
cases.push({ name: symbol.pathComponents.join('.'), methods: methods.sort((a, b) => a.name.localeCompare(b.name)) });
|
|
59
|
+
}
|
|
60
|
+
return cases.sort((a, b) => a.name.localeCompare(b.name));
|
|
61
|
+
}
|
|
62
|
+
const DEPRECATED = '@available(*, deprecated, message: "Not actually deprecated. Marked as deprecated to allow inclusion of deprecated tests (which test deprecated functionality) without warnings")';
|
|
63
|
+
/**
|
|
64
|
+
* The runner's source: the XCTest list SwiftPM's discovery writes, and its
|
|
65
|
+
* entry point, which runs Swift Testing with `--testing-library
|
|
66
|
+
* swift-testing` and XCTest otherwise. Each class's methods are listed in
|
|
67
|
+
* the `testCase` call, as SwiftPM's build system writes them, so that a
|
|
68
|
+
* `@MainActor` method converts to the type XCTest takes where it is named
|
|
69
|
+
* (a list built first would be cast at run time, which fails).
|
|
70
|
+
*/
|
|
71
|
+
export function testRunnerSource(module, cases) {
|
|
72
|
+
const entries = cases.map((testCase) => {
|
|
73
|
+
const methods = testCase.methods.map((method) => {
|
|
74
|
+
const reference = `${testCase.name}.${method.name}`;
|
|
75
|
+
return `("${method.name}", ${method.async ? `asyncTest(${reference})` : reference})`;
|
|
76
|
+
});
|
|
77
|
+
return `testCase([${methods.join(', ')}])`;
|
|
78
|
+
});
|
|
79
|
+
return `// Generated by @swiftbrowser/cli: the test runner of ${module} (testDiscovery.ts).
|
|
80
|
+
#if canImport(Testing)
|
|
81
|
+
import Testing
|
|
82
|
+
#endif
|
|
83
|
+
import XCTest
|
|
84
|
+
@testable import ${module}
|
|
85
|
+
|
|
86
|
+
${DEPRECATED}
|
|
87
|
+
func __allDiscoveredTests() -> [XCTestCaseEntry] {
|
|
88
|
+
return [
|
|
89
|
+
${entries.map((entry) => ` ${entry},\n`).join('')} ]
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
@main
|
|
93
|
+
${DEPRECATED}
|
|
94
|
+
struct __SwiftBrowserTestRunner {
|
|
95
|
+
static func main() async {
|
|
96
|
+
var arguments = CommandLine.arguments.makeIterator()
|
|
97
|
+
var library = "xctest"
|
|
98
|
+
while let argument = arguments.next() {
|
|
99
|
+
if argument == "--testing-library", let name = arguments.next() { library = name.lowercased() }
|
|
100
|
+
}
|
|
101
|
+
#if canImport(Testing)
|
|
102
|
+
if library == "swift-testing" {
|
|
103
|
+
await Testing.__swiftPMEntryPoint() as Never
|
|
104
|
+
}
|
|
105
|
+
#endif
|
|
106
|
+
await XCTMain(__allDiscoveredTests()) as Never
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
`;
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=testDiscovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testDiscovery.js","sourceRoot":"","sources":["../src/testDiscovery.ts"],"names":[],"mappings":"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"}
|
package/dist/vendor.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type PackagePatch } from './packagePatches.js';
|
|
1
2
|
import { type PackagePlan } from './packages.js';
|
|
2
3
|
import type { ResolvedApp } from './project.js';
|
|
3
4
|
import { type StageFeatures } from './stage.js';
|
|
@@ -16,7 +17,22 @@ export interface PackageNode {
|
|
|
16
17
|
path: string;
|
|
17
18
|
/** Identities of the packages it depends on. */
|
|
18
19
|
dependencies: string[];
|
|
20
|
+
/** A folder of the user's (a local package) rather than a checkout; when absent, judged by the path. */
|
|
21
|
+
local?: boolean;
|
|
19
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* How packages are resolved and read: SwiftPM with the native toolchain, or
|
|
25
|
+
* without it, the CLI's own resolver (resolve.ts) and manifests read with the
|
|
26
|
+
* WebAssembly compiler (manifest.ts).
|
|
27
|
+
*/
|
|
28
|
+
export interface PackageTools {
|
|
29
|
+
/** The packages of the build: the app's dependencies, their dependencies, each once. */
|
|
30
|
+
resolve(plans: readonly PackagePlan[], resolveDir: string): Promise<PackageNode[]>;
|
|
31
|
+
/** A package's targets, from its manifest. */
|
|
32
|
+
targets(packageDir: string, cache: string): Promise<DumpedTarget[]>;
|
|
33
|
+
}
|
|
34
|
+
/** SwiftPM's: `swift package show-dependencies` and `dump-package`. */
|
|
35
|
+
export declare function swiftPMPackageTools(toolchain: Toolchain): PackageTools;
|
|
20
36
|
/** A package copied into the staging package and built against the shim. */
|
|
21
37
|
export interface VendoredPackage {
|
|
22
38
|
identity: string;
|
|
@@ -77,7 +93,7 @@ export declare function toolsVersion(manifest: string): [number, number];
|
|
|
77
93
|
export declare function manifestPatch(targets: readonly {
|
|
78
94
|
name: string;
|
|
79
95
|
modules: readonly string[];
|
|
80
|
-
}[], swiftPackagePath: string, copies?: ReadonlyMap<string, string>, tools?: readonly [number, number]): string;
|
|
96
|
+
}[], swiftPackagePath: string, copies?: ReadonlyMap<string, string>, tools?: readonly [number, number], coreFoundationTargets?: readonly string[]): string;
|
|
81
97
|
/** The shim products a target needs for its imports: the app's set (stage.ts), minus what only apps use. */
|
|
82
98
|
export declare function targetProducts(features: StageFeatures): string[];
|
|
83
99
|
/**
|
|
@@ -97,13 +113,33 @@ export declare function importsShim(dir: string): boolean;
|
|
|
97
113
|
* inside the app's bundle, or the app's bundle when there is none.
|
|
98
114
|
*/
|
|
99
115
|
export declare function moduleBundleSource(bundleName: string): string;
|
|
116
|
+
/** A target as `swift package dump-package` describes it. */
|
|
117
|
+
export interface DumpedTarget {
|
|
118
|
+
name: string;
|
|
119
|
+
type: string;
|
|
120
|
+
path?: string | null;
|
|
121
|
+
}
|
|
122
|
+
/** Where SwiftPM looks for a target's sources when the manifest gives no path. */
|
|
123
|
+
export declare function targetDir(packageDir: string, target: DumpedTarget): string | undefined;
|
|
124
|
+
/**
|
|
125
|
+
* Copies `from` into `to` (dot folders and `.build` left out), adjusting Swift
|
|
126
|
+
* sources (those under a `bridged` folder as sources of a module built against
|
|
127
|
+
* the bridge) after `patch`'s edits; removes what `from` no longer has.
|
|
128
|
+
*/
|
|
129
|
+
export declare function copyPackage(from: string, to: string, bridged?: readonly string[], patch?: PackagePatch): Set<string>;
|
|
100
130
|
/** Where the copies live, and the package that resolves the originals. */
|
|
101
131
|
export declare function vendorDir(app: ResolvedApp): string;
|
|
132
|
+
/** The app's packages: the copies built against the shim, and every package of the build. */
|
|
133
|
+
export interface VendorResult {
|
|
134
|
+
vendored: Map<string, VendoredPackage>;
|
|
135
|
+
/** Every package, copied or not (a plain one is built from `path`); empty without packages. */
|
|
136
|
+
packages: PackageNode[];
|
|
137
|
+
}
|
|
102
138
|
/**
|
|
103
139
|
* Resolves the app's package dependencies and copies the ones that import a
|
|
104
140
|
* shim module, and the ones that depend on those, into the staging package.
|
|
105
|
-
* Packages that are plain Swift all the way down are left
|
|
106
|
-
*
|
|
107
|
-
* when the app has no packages to fetch.
|
|
141
|
+
* Packages that are plain Swift all the way down are left as they are: SwiftPM
|
|
142
|
+
* builds them from its checkout, the WebAssembly compiler from `path`. Empty,
|
|
143
|
+
* without resolving anything, when the app has no packages to fetch.
|
|
108
144
|
*/
|
|
109
|
-
export declare function vendorPackages(app: ResolvedApp,
|
|
145
|
+
export declare function vendorPackages(app: ResolvedApp, tools: PackageTools, swiftPackagePath: string): Promise<VendorResult>;
|
package/dist/vendor.js
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
// out, comes from resolving the project's dependencies in a package of their
|
|
23
23
|
// own (`Packages/.resolve/`), with `swift package show-dependencies`.
|
|
24
24
|
import { createHash } from 'node:crypto';
|
|
25
|
-
import { existsSync, mkdirSync, readFileSync, readdirSync, rmSync, writeFileSync } from 'node:fs';
|
|
25
|
+
import { existsSync, mkdirSync, readFileSync, readdirSync, realpathSync, rmSync, statSync, writeFileSync } from 'node:fs';
|
|
26
26
|
import path from 'node:path';
|
|
27
27
|
import { ASSET_SYMBOLS_FILE, assetSymbolsSource, declaredStaticMembers, targetCatalogs } from './assetSymbols.js';
|
|
28
28
|
import { run } from './build.js';
|
|
@@ -32,9 +32,26 @@ import { optionalRequirementNames } from './objc.js';
|
|
|
32
32
|
import { PACKAGE_PATCHES, applyPatch, checkPatch } from './packagePatches.js';
|
|
33
33
|
import { PACKAGE_STAND_INS, planPackages } from './packages.js';
|
|
34
34
|
import { FULL_FOUNDATION_FILE, declaredTypeNames, featuresOf, fullFoundationSource, stagingDir, transformSource, importsDispatch, importsObjectiveC, usesObjC, usesPosixMutex } from './stage.js';
|
|
35
|
+
import { WASI_EMULATION_FLAGS, importsCoreFoundation } from './appSources.js';
|
|
35
36
|
import { toolchainEnv } from './toolchain.js';
|
|
36
37
|
/** Modules the SwiftBrowser package provides in place of Apple's: a package importing one is built against the shim. */
|
|
37
38
|
export const SHIM_MODULES = new Set(['SwiftUI', 'Charts', 'SwiftData', 'FoundationBridge', ...LINKED_FRAMEWORKS]);
|
|
39
|
+
/** SwiftPM's: `swift package show-dependencies` and `dump-package`. */
|
|
40
|
+
export function swiftPMPackageTools(toolchain) {
|
|
41
|
+
return {
|
|
42
|
+
async resolve(plans, resolveDir) {
|
|
43
|
+
writeIfChanged(path.join(resolveDir, 'Package.swift'), resolveManifest(plans));
|
|
44
|
+
writeIfChanged(path.join(resolveDir, 'Sources', 'Resolve.swift'), '// Nothing to build: the package only resolves dependencies.\n');
|
|
45
|
+
const treeFile = path.join(resolveDir, 'dependencies.json');
|
|
46
|
+
const shown = await run(toolchain.swift, ['package', 'show-dependencies', '--format', 'json', '--output-path', treeFile], { cwd: resolveDir, env: toolchainEnv(toolchain) });
|
|
47
|
+
if (shown.status !== 0 || !existsSync(treeFile)) {
|
|
48
|
+
throw new CliError(`could not resolve the app's Swift packages:\n${shown.output.trim()}`);
|
|
49
|
+
}
|
|
50
|
+
return packageNodes(JSON.parse(readFileSync(treeFile, 'utf8'))).map((node) => ({ ...node, local: !node.path.startsWith(`${resolveDir}${path.sep}`) }));
|
|
51
|
+
},
|
|
52
|
+
targets: (packageDir, cache) => dumpTargets(packageDir, cache, toolchain),
|
|
53
|
+
};
|
|
54
|
+
}
|
|
38
55
|
/** The packages of a `show-dependencies --format json` tree, root excluded, each once. */
|
|
39
56
|
export function packageNodes(tree) {
|
|
40
57
|
const out = new Map();
|
|
@@ -116,17 +133,26 @@ export function toolsVersion(manifest) {
|
|
|
116
133
|
* version 5.6; an older manifest keeps its URLs, and the staging manifest's
|
|
117
134
|
* declaration of the copy takes their place (with a warning from SwiftPM).
|
|
118
135
|
*/
|
|
119
|
-
export function manifestPatch(targets, swiftPackagePath, copies = new Map(), tools = [6, 0]) {
|
|
136
|
+
export function manifestPatch(targets, swiftPackagePath, copies = new Map(), tools = [6, 0], coreFoundationTargets = []) {
|
|
120
137
|
const lines = ['', '', '// Added by @swiftbrowser/cli to build this package in the browser (vendor.ts).'];
|
|
121
138
|
if (targets.length > 0) {
|
|
122
139
|
const entries = targets.map((t) => ` ${JSON.stringify(t.name)}: [${t.modules.map((m) => JSON.stringify(m)).join(', ')}],`);
|
|
123
|
-
lines.push('// These targets import SwiftUI (or another module SwiftBrowser provides),', '// so they build against its shim.', `package.dependencies.append(.package(name: "SwiftBrowser", path: ${JSON.stringify(swiftPackagePath)}))`, 'let _swiftBrowserProducts: [String: [String]] = [', ...entries, ']', 'for target in package.targets {', ' guard let products = _swiftBrowserProducts[target.name] else { continue }', ' target.dependencies += products.map { .product(name: $0, package: "SwiftBrowser") }', ' target.swiftSettings = (target.swiftSettings ?? []) + [.define("SWIFTBROWSER")]',
|
|
140
|
+
lines.push('// These targets import SwiftUI (or another module SwiftBrowser provides),', '// so they build against its shim.', `package.dependencies.append(.package(name: "SwiftBrowser", path: ${JSON.stringify(swiftPackagePath)}))`, 'let _swiftBrowserProducts: [String: [String]] = [', ...entries, ']', 'for target in package.targets {', ' guard let products = _swiftBrowserProducts[target.name] else { continue }', ' target.dependencies += products.map { .product(name: $0, package: "SwiftBrowser") }', ' target.swiftSettings = (target.swiftSettings ?? []) + [.define("SWIFTBROWSER")]',
|
|
141
|
+
// `Bundle` is FoundationBridge's here (the alias file), which SwiftPM's
|
|
142
|
+
// generated resource accessor does not import: member import
|
|
143
|
+
// visibility is left off (`SwiftSetting` is opaque; its description names the feature).
|
|
144
|
+
' target.swiftSettings = target.swiftSettings?.filter { !String(describing: $0).contains("\\"MemberImportVisibility\\"") }', '}');
|
|
124
145
|
}
|
|
125
|
-
|
|
146
|
+
if (coreFoundationTargets.length > 0) {
|
|
147
|
+
lines.push('// These import CoreFoundation, whose headers need wasi-libc\'s emulations.', `for target in package.targets where [${coreFoundationTargets.map((name) => JSON.stringify(name)).join(', ')}].contains(target.name) {`, ` target.swiftSettings = (target.swiftSettings ?? []) + [.unsafeFlags(${JSON.stringify(WASI_EMULATION_FLAGS)})]`, '}');
|
|
148
|
+
}
|
|
149
|
+
lines.push('// Darwin\'s linker flags (`-ObjC`, which loads Objective-C categories) mean nothing to wasm-ld.', 'for target in package.targets {', ' target.linkerSettings = target.linkerSettings?.filter { !String(describing: $0).contains("\\"-ObjC\\"") }', '}', '// The browser build is one module: a dynamic library (Backyard Birds\'s', '// packages are) would link the shim products into each library.', 'package.products = package.products.map { product in', ' guard let library = product as? Product.Library, library.type == .dynamic else { return product }', ' return .library(name: library.name, targets: library.targets)', '}');
|
|
126
150
|
const [major, minor] = tools;
|
|
127
151
|
if (copies.size > 0 && (major > 5 || (major === 5 && minor >= 6))) {
|
|
128
152
|
const entries = [...copies].map(([identity, dir]) => ` ${JSON.stringify(identity)}: ${JSON.stringify(dir)},`);
|
|
129
|
-
lines.push('// Packages it depends on that are built against the shim too, from their copies.', 'let _swiftBrowserCopies: [String: String] = [', ...entries, ']', 'package.dependencies = package.dependencies.map { dependency in', '
|
|
153
|
+
lines.push('// Packages it depends on that are built against the shim too, from their copies.', 'let _swiftBrowserCopies: [String: String] = [', ...entries, ']', 'package.dependencies = package.dependencies.map { dependency in', ' var identity: String', ' var name: String?', ' switch dependency.kind {', ' case .sourceControl(let declared, let location, _):', ' identity = String(location.split(separator: "/").last ?? "")', ' if identity.hasSuffix(".git") { identity.removeLast(4) }', ' name = declared',
|
|
154
|
+
// A registry package (5.7 and later) is named by its id.
|
|
155
|
+
...(major > 5 || minor >= 7 ? [' case .registry(let id, _):', ' identity = id', ' name = id'] : []), ' default:', ' return dependency', ' }', ' guard let copy = _swiftBrowserCopies[identity.lowercased()] else { return dependency }',
|
|
130
156
|
// A path names the package after the copy's (lowercased) folder; a
|
|
131
157
|
// target that lists the product by itself ("SwiftSoup") finds it by
|
|
132
158
|
// the package's name, so the copy keeps the URL's.
|
|
@@ -152,7 +178,7 @@ function swiftFiles(dir, out = []) {
|
|
|
152
178
|
if (!entry.name.startsWith('.'))
|
|
153
179
|
swiftFiles(full, out);
|
|
154
180
|
}
|
|
155
|
-
else if (entry.name.endsWith('.swift')) {
|
|
181
|
+
else if (entry.name.endsWith('.swift') && existsSync(full)) {
|
|
156
182
|
out.push(full);
|
|
157
183
|
}
|
|
158
184
|
}
|
|
@@ -177,7 +203,8 @@ export function importsShim(dir) {
|
|
|
177
203
|
const text = readFileSync(file, 'utf8');
|
|
178
204
|
// Selectors and `@objc` need the bridge too (stage.ts, rewriteObjC), and
|
|
179
205
|
// so do POSIX mutexes (FoundationBridge/Locks.swift) and Dispatch.
|
|
180
|
-
|
|
206
|
+
// A CoreFoundation import needs the copy's manifest (manifestPatch).
|
|
207
|
+
if (importsOf(text).some((module) => SHIM_MODULES.has(module)) || usesObjC(text) || usesPosixMutex(text) || importsDispatch(text) || importsObjectiveC(text) || importsCoreFoundation(text))
|
|
181
208
|
return true;
|
|
182
209
|
}
|
|
183
210
|
return false;
|
|
@@ -202,7 +229,7 @@ extension FoundationBridge.Bundle {
|
|
|
202
229
|
`;
|
|
203
230
|
}
|
|
204
231
|
/** Where SwiftPM looks for a target's sources when the manifest gives no path. */
|
|
205
|
-
function targetDir(packageDir, target) {
|
|
232
|
+
export function targetDir(packageDir, target) {
|
|
206
233
|
if (target.path)
|
|
207
234
|
return path.join(packageDir, target.path);
|
|
208
235
|
for (const parent of ['Sources', 'Source', 'src', 'srcs']) {
|
|
@@ -224,20 +251,37 @@ function writeIfChanged(file, content) {
|
|
|
224
251
|
* sources (those under a `bridged` folder as sources of a module built against
|
|
225
252
|
* the bridge) after `patch`'s edits; removes what `from` no longer has.
|
|
226
253
|
*/
|
|
227
|
-
function copyPackage(from, to, bridged = [], patch) {
|
|
254
|
+
export function copyPackage(from, to, bridged = [], patch) {
|
|
228
255
|
const kept = new Set();
|
|
229
256
|
// Optional requirements are called in other files than the protocol's.
|
|
230
257
|
const optionalRequirements = optionalRequirementNames(swiftFiles(from).map((file) => readFileSync(file, 'utf8')));
|
|
231
|
-
|
|
258
|
+
// A symbolic link is copied as what it points at, at its own path, as
|
|
259
|
+
// SwiftPM follows it (swift-issue-reporting links in a folder of sources;
|
|
260
|
+
// purchases-ios-spm's CustomEntitlementComputation is its Sources again),
|
|
261
|
+
// short of a link back to a folder it is in.
|
|
262
|
+
const walk = (dir, above = new Set()) => {
|
|
263
|
+
const real = realpathSync(dir);
|
|
264
|
+
if (above.has(real))
|
|
265
|
+
return;
|
|
266
|
+
const within = new Set([...above, real]);
|
|
232
267
|
for (const entry of readdirSync(dir, { withFileTypes: true })) {
|
|
233
268
|
if (entry.name.startsWith('.'))
|
|
234
269
|
continue;
|
|
235
270
|
const full = path.join(dir, entry.name);
|
|
236
271
|
const target = path.join(to, path.relative(from, full));
|
|
237
|
-
|
|
238
|
-
|
|
272
|
+
let kind = entry;
|
|
273
|
+
if (entry.isSymbolicLink()) {
|
|
274
|
+
try {
|
|
275
|
+
kind = statSync(full);
|
|
276
|
+
}
|
|
277
|
+
catch {
|
|
278
|
+
continue; // A link to nothing.
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
if (kind.isDirectory()) {
|
|
282
|
+
walk(full, within);
|
|
239
283
|
}
|
|
240
|
-
else if (
|
|
284
|
+
else if (kind.isFile()) {
|
|
241
285
|
const isManifest = dir === from && /^Package(@swift-[\d.]+)?\.swift$/.test(entry.name);
|
|
242
286
|
const inBridged = bridged.some((dir) => full.startsWith(dir + path.sep));
|
|
243
287
|
const content = entry.name.endsWith('.swift') && !isManifest
|
|
@@ -273,26 +317,19 @@ export function vendorDir(app) {
|
|
|
273
317
|
/**
|
|
274
318
|
* Resolves the app's package dependencies and copies the ones that import a
|
|
275
319
|
* shim module, and the ones that depend on those, into the staging package.
|
|
276
|
-
* Packages that are plain Swift all the way down are left
|
|
277
|
-
*
|
|
278
|
-
* when the app has no packages to fetch.
|
|
320
|
+
* Packages that are plain Swift all the way down are left as they are: SwiftPM
|
|
321
|
+
* builds them from its checkout, the WebAssembly compiler from `path`. Empty,
|
|
322
|
+
* without resolving anything, when the app has no packages to fetch.
|
|
279
323
|
*/
|
|
280
|
-
export async function vendorPackages(app,
|
|
324
|
+
export async function vendorPackages(app, tools, swiftPackagePath) {
|
|
281
325
|
const vendored = new Map();
|
|
282
326
|
const plans = planPackages(app.packages);
|
|
283
327
|
if (!plans.some((plan) => plan.kind === 'dependency'))
|
|
284
|
-
return vendored;
|
|
328
|
+
return { vendored, packages: [] };
|
|
285
329
|
const root = vendorDir(app);
|
|
286
330
|
const resolveDir = path.join(root, '.resolve');
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
const treeFile = path.join(resolveDir, 'dependencies.json');
|
|
290
|
-
const env = toolchainEnv(toolchain);
|
|
291
|
-
const shown = await run(toolchain.swift, ['package', 'show-dependencies', '--format', 'json', '--output-path', treeFile], { cwd: resolveDir, env });
|
|
292
|
-
if (shown.status !== 0 || !existsSync(treeFile)) {
|
|
293
|
-
throw new CliError(`could not resolve the app's Swift packages:\n${shown.output.trim()}`);
|
|
294
|
-
}
|
|
295
|
-
const nodes = packageNodes(JSON.parse(readFileSync(treeFile, 'utf8')));
|
|
331
|
+
mkdirSync(resolveDir, { recursive: true });
|
|
332
|
+
const nodes = await tools.resolve(plans, resolveDir);
|
|
296
333
|
// The packages that import a shim module, and every package that depends on
|
|
297
334
|
// one of them (so that it depends on the copy).
|
|
298
335
|
// A package SwiftBrowser stands in for counts as copied: its "copy" is a redirect.
|
|
@@ -332,8 +369,9 @@ export async function vendorPackages(app, toolchain, swiftPackagePath) {
|
|
|
332
369
|
// The targets built against the shim, found in the original sources
|
|
333
370
|
// first: their copies are adjusted as bridged modules.
|
|
334
371
|
const shimTargets = [];
|
|
372
|
+
const coreFoundationTargets = [];
|
|
335
373
|
mkdirSync(dir, { recursive: true });
|
|
336
|
-
for (const target of await
|
|
374
|
+
for (const target of await tools.targets(node.path, cache)) {
|
|
337
375
|
if (target.type !== 'regular' && target.type !== 'executable')
|
|
338
376
|
continue;
|
|
339
377
|
moduleNames.push(target.name);
|
|
@@ -341,6 +379,8 @@ export async function vendorPackages(app, toolchain, swiftPackagePath) {
|
|
|
341
379
|
if (!sourceDir)
|
|
342
380
|
continue;
|
|
343
381
|
const texts = swiftFiles(sourceDir).map((file) => readFileSync(file, 'utf8'));
|
|
382
|
+
if (texts.some(importsCoreFoundation))
|
|
383
|
+
coreFoundationTargets.push(target.name);
|
|
344
384
|
const modules = new Set(texts.flatMap((text) => importsOf(text)).filter((module) => SHIM_MODULES.has(module)));
|
|
345
385
|
const uses = [
|
|
346
386
|
...(texts.some(usesObjC) ? ['Objective-C selectors'] : []),
|
|
@@ -377,7 +417,7 @@ export async function vendorPackages(app, toolchain, swiftPackagePath) {
|
|
|
377
417
|
const copies = new Map(node.dependencies.filter((identity) => copied.has(identity)).map((identity) => [identity, copyDir(identity)]));
|
|
378
418
|
for (const manifest of manifestFiles(node.path)) {
|
|
379
419
|
const text = readFileSync(path.join(node.path, manifest), 'utf8');
|
|
380
|
-
writeIfChanged(path.join(dir, manifest), text + manifestPatch(targets, swiftPackagePath, copies, toolsVersion(text)));
|
|
420
|
+
writeIfChanged(path.join(dir, manifest), text + manifestPatch(targets, swiftPackagePath, copies, toolsVersion(text), coreFoundationTargets));
|
|
381
421
|
}
|
|
382
422
|
removeStale(dir, files);
|
|
383
423
|
keep.add(dir);
|
|
@@ -385,7 +425,7 @@ export async function vendorPackages(app, toolchain, swiftPackagePath) {
|
|
|
385
425
|
identity: node.identity,
|
|
386
426
|
name: node.name,
|
|
387
427
|
source: node.path,
|
|
388
|
-
local: !node.path.startsWith(`${resolveDir}${path.sep}`),
|
|
428
|
+
local: node.local ?? !node.path.startsWith(`${resolveDir}${path.sep}`),
|
|
389
429
|
version: node.version,
|
|
390
430
|
dir,
|
|
391
431
|
targets,
|
|
@@ -400,7 +440,7 @@ export async function vendorPackages(app, toolchain, swiftPackagePath) {
|
|
|
400
440
|
if (!keep.has(full))
|
|
401
441
|
rmSync(full, { recursive: true, force: true });
|
|
402
442
|
}
|
|
403
|
-
return vendored;
|
|
443
|
+
return { vendored, packages: nodes };
|
|
404
444
|
}
|
|
405
445
|
/** Next to a copy: its targets, keyed by the manifests they were read from. */
|
|
406
446
|
const TARGETS_CACHE = '.swiftbrowser-targets.json';
|