@swiftbrowser/cli 0.1.0 → 0.2.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 +330 -64
- package/dist/assetSymbols.d.ts +25 -0
- package/dist/assetSymbols.js +218 -0
- package/dist/assetSymbols.js.map +1 -0
- package/dist/build.d.ts +17 -2
- package/dist/build.js +40 -13
- package/dist/build.js.map +1 -1
- package/dist/buildSettings.d.ts +15 -0
- package/dist/buildSettings.js +74 -0
- package/dist/buildSettings.js.map +1 -0
- package/dist/cli.d.ts +6 -0
- package/dist/cli.js +60 -11
- package/dist/cli.js.map +1 -1
- package/dist/commands/build.js +6 -5
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/check.js +2 -2
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/dev.d.ts +5 -2
- package/dist/commands/dev.js +19 -13
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/init.d.ts +18 -0
- package/dist/commands/init.js +57 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/kit.d.ts +3 -0
- package/dist/commands/kit.js +21 -0
- package/dist/commands/kit.js.map +1 -0
- package/dist/commands/shared.d.ts +25 -4
- package/dist/commands/shared.js +104 -10
- package/dist/commands/shared.js.map +1 -1
- package/dist/compat.d.ts +44 -6
- package/dist/compat.js +64 -36
- package/dist/compat.js.map +1 -1
- package/dist/config.d.ts +48 -10
- package/dist/config.js +64 -8
- package/dist/config.js.map +1 -1
- package/dist/coreml.d.ts +194 -0
- package/dist/coreml.js +626 -0
- package/dist/coreml.js.map +1 -0
- package/dist/icu.d.ts +17 -4
- package/dist/icu.js +32 -18
- package/dist/icu.js.map +1 -1
- package/dist/kit.d.ts +133 -0
- package/dist/kit.js +403 -0
- package/dist/kit.js.map +1 -0
- package/dist/objc.d.ts +31 -0
- package/dist/objc.js +319 -0
- package/dist/objc.js.map +1 -0
- package/dist/packagePatches.d.ts +24 -0
- package/dist/packagePatches.js +107 -0
- package/dist/packagePatches.js.map +1 -0
- package/dist/packages.d.ts +59 -0
- package/dist/packages.js +149 -0
- package/dist/packages.js.map +1 -0
- package/dist/project.d.ts +45 -4
- package/dist/project.js +91 -18
- package/dist/project.js.map +1 -1
- package/dist/protobuf.d.ts +62 -0
- package/dist/protobuf.js +233 -0
- package/dist/protobuf.js.map +1 -0
- package/dist/stage.d.ts +155 -27
- package/dist/stage.js +483 -79
- package/dist/stage.js.map +1 -1
- package/dist/strings.d.ts +44 -0
- package/dist/strings.js +386 -0
- package/dist/strings.js.map +1 -0
- package/dist/template.d.ts +29 -0
- package/dist/template.js +438 -0
- package/dist/template.js.map +1 -0
- package/dist/threadStacks.d.ts +14 -0
- package/dist/threadStacks.js +78 -0
- package/dist/threadStacks.js.map +1 -0
- package/dist/toolchain.d.ts +7 -1
- package/dist/toolchain.js +8 -2
- package/dist/toolchain.js.map +1 -1
- package/dist/urlSchemes.d.ts +11 -0
- package/dist/urlSchemes.js +58 -0
- package/dist/urlSchemes.js.map +1 -0
- package/dist/vendor.d.ts +109 -0
- package/dist/vendor.js +440 -0
- package/dist/vendor.js.map +1 -0
- package/dist/wasm.d.ts +28 -0
- package/dist/wasm.js +84 -0
- package/dist/wasm.js.map +1 -0
- package/package.json +7 -6
package/dist/packages.js
ADDED
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
// The Swift packages an Xcode project depends on (Package Dependencies in
|
|
2
|
+
// Xcode: `XCRemoteSwiftPackageReference`, `XCLocalSwiftPackageReference`).
|
|
3
|
+
// Each becomes one of two things in the staging package:
|
|
4
|
+
//
|
|
5
|
+
// - a real SwiftPM dependency, with the version rule the project records, so
|
|
6
|
+
// a pure-Swift package that builds for WASI is fetched and compiled into
|
|
7
|
+
// the module like any other code;
|
|
8
|
+
// - nothing, for a package SwiftBrowser knows cannot work in the browser
|
|
9
|
+
// (a camera scanner over AVFoundation and UIKit): the shim ships a module
|
|
10
|
+
// of the same name with the package's public API (`STAND_IN_FRAMEWORKS`
|
|
11
|
+
// in compat.ts), linked when a source imports it.
|
|
12
|
+
import path from 'node:path';
|
|
13
|
+
import { packageIdentity } from '@swiftbrowser/xcodeproj';
|
|
14
|
+
/**
|
|
15
|
+
* Packages the shim stands in for, by SwiftPM identity, with the reason the
|
|
16
|
+
* real one cannot be used and the products it provides. Each product is a
|
|
17
|
+
* module of the SwiftBrowser package (Sources/<Product>), listed in
|
|
18
|
+
* `STAND_IN_FRAMEWORKS`. When another package depends on one, the staging
|
|
19
|
+
* gives that package a redirect in its place (vendor.ts).
|
|
20
|
+
*/
|
|
21
|
+
export const PACKAGE_STAND_INS = {};
|
|
22
|
+
/** `swiftbrowser.json`'s packages (config.ts), as the Xcode project's are: paths relative to `root`. */
|
|
23
|
+
export function configPackages(packages, root) {
|
|
24
|
+
return packages.map((entry) => {
|
|
25
|
+
if (entry.path) {
|
|
26
|
+
const dir = path.resolve(root, entry.path);
|
|
27
|
+
return { reference: { kind: 'local', path: dir, identity: packageIdentity(dir) }, products: [...entry.products] };
|
|
28
|
+
}
|
|
29
|
+
const url = entry.url;
|
|
30
|
+
const requirement = entry.from
|
|
31
|
+
? { kind: 'upToNextMajorVersion', minimumVersion: entry.from }
|
|
32
|
+
: entry.exact
|
|
33
|
+
? { kind: 'exactVersion', version: entry.exact }
|
|
34
|
+
: entry.branch
|
|
35
|
+
? { kind: 'branch', branch: entry.branch }
|
|
36
|
+
: { kind: 'revision', revision: entry.revision };
|
|
37
|
+
return { reference: { kind: 'remote', url, identity: packageIdentity(url), requirement }, products: [...entry.products] };
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
/** Groups a target's package products by package, in the order the project lists them. */
|
|
41
|
+
export function groupPackageProducts(dependencies) {
|
|
42
|
+
const byIdentity = new Map();
|
|
43
|
+
const out = [];
|
|
44
|
+
for (const dependency of dependencies) {
|
|
45
|
+
if (!dependency.package) {
|
|
46
|
+
out.push({ products: [dependency.product] });
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
const key = `${dependency.package.kind}:${dependency.package.identity}`;
|
|
50
|
+
let entry = byIdentity.get(key);
|
|
51
|
+
if (!entry) {
|
|
52
|
+
entry = { reference: dependency.package, products: [] };
|
|
53
|
+
byIdentity.set(key, entry);
|
|
54
|
+
out.push(entry);
|
|
55
|
+
}
|
|
56
|
+
if (!entry.products.includes(dependency.product))
|
|
57
|
+
entry.products.push(dependency.product);
|
|
58
|
+
}
|
|
59
|
+
return out;
|
|
60
|
+
}
|
|
61
|
+
/** What the staging does with each package (`standIns` for tests: none today). */
|
|
62
|
+
export function planPackages(packages, standIns = PACKAGE_STAND_INS) {
|
|
63
|
+
return packages.map((entry) => {
|
|
64
|
+
const reference = entry.reference;
|
|
65
|
+
if (!reference) {
|
|
66
|
+
return { kind: 'unresolved', package: entry, problem: 'the project does not say which package it comes from' };
|
|
67
|
+
}
|
|
68
|
+
const standIn = standIns[reference.identity];
|
|
69
|
+
if (standIn)
|
|
70
|
+
return { kind: 'stand-in', package: entry, reason: standIn.reason };
|
|
71
|
+
if (reference.kind === 'local') {
|
|
72
|
+
return { kind: 'dependency', package: entry, identity: reference.identity, declaration: `.package(path: ${JSON.stringify(reference.path)})` };
|
|
73
|
+
}
|
|
74
|
+
if (!reference.requirement) {
|
|
75
|
+
return { kind: 'unresolved', package: entry, problem: 'its dependency rule is not one SwiftBrowser knows; set a version in Xcode' };
|
|
76
|
+
}
|
|
77
|
+
return {
|
|
78
|
+
kind: 'dependency',
|
|
79
|
+
package: entry,
|
|
80
|
+
identity: reference.identity,
|
|
81
|
+
declaration: `.package(url: ${JSON.stringify(reference.url)}, ${requirementArgument(reference.requirement)})`,
|
|
82
|
+
};
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
/** Xcode's dependency rule as the argument of SwiftPM's `.package(url:…)`. */
|
|
86
|
+
export function requirementArgument(requirement) {
|
|
87
|
+
switch (requirement.kind) {
|
|
88
|
+
case 'upToNextMajorVersion':
|
|
89
|
+
return `from: ${JSON.stringify(requirement.minimumVersion)}`;
|
|
90
|
+
case 'upToNextMinorVersion':
|
|
91
|
+
return `.upToNextMinor(from: ${JSON.stringify(requirement.minimumVersion)})`;
|
|
92
|
+
case 'exactVersion':
|
|
93
|
+
return `exact: ${JSON.stringify(requirement.version)}`;
|
|
94
|
+
case 'versionRange':
|
|
95
|
+
return `${JSON.stringify(requirement.minimumVersion)}..<${JSON.stringify(requirement.maximumVersion)}`;
|
|
96
|
+
case 'branch':
|
|
97
|
+
return `branch: ${JSON.stringify(requirement.branch)}`;
|
|
98
|
+
case 'revision':
|
|
99
|
+
return `revision: ${JSON.stringify(requirement.revision)}`;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
/** The rule in words, as Xcode's package list shows it. */
|
|
103
|
+
export function describeRequirement(requirement) {
|
|
104
|
+
switch (requirement.kind) {
|
|
105
|
+
case 'upToNextMajorVersion':
|
|
106
|
+
return `up to next major from ${requirement.minimumVersion}`;
|
|
107
|
+
case 'upToNextMinorVersion':
|
|
108
|
+
return `up to next minor from ${requirement.minimumVersion}`;
|
|
109
|
+
case 'exactVersion':
|
|
110
|
+
return `exactly ${requirement.version}`;
|
|
111
|
+
case 'versionRange':
|
|
112
|
+
return `${requirement.minimumVersion} to ${requirement.maximumVersion}`;
|
|
113
|
+
case 'branch':
|
|
114
|
+
return `branch ${requirement.branch}`;
|
|
115
|
+
case 'revision':
|
|
116
|
+
return `revision ${requirement.revision.slice(0, 12)}`;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/** A package as people name it: the URL's last component (case kept), or the folder. */
|
|
120
|
+
export function packageDisplayName(entry) {
|
|
121
|
+
const reference = entry.reference;
|
|
122
|
+
if (!reference)
|
|
123
|
+
return entry.products.join(', ');
|
|
124
|
+
const location = reference.kind === 'remote' ? reference.url : reference.path;
|
|
125
|
+
const last = location.replace(/[/\\]+$/, '').split(/[/\\:]/).pop() ?? location;
|
|
126
|
+
return last.replace(/\.git$/i, '');
|
|
127
|
+
}
|
|
128
|
+
/** Where a package comes from, and on what rule, for the `check` report. */
|
|
129
|
+
export function packageSource(entry) {
|
|
130
|
+
const reference = entry.reference;
|
|
131
|
+
if (!reference)
|
|
132
|
+
return '';
|
|
133
|
+
if (reference.kind === 'local')
|
|
134
|
+
return reference.path;
|
|
135
|
+
const url = reference.url.replace(/^https?:\/\//, '').replace(/\.git$/i, '');
|
|
136
|
+
return reference.requirement ? `${url}, ${describeRequirement(reference.requirement)}` : url;
|
|
137
|
+
}
|
|
138
|
+
/** Module names the dependency packages provide, guessed as their product names → the package's name. */
|
|
139
|
+
export function packageModules(plans) {
|
|
140
|
+
const modules = new Map();
|
|
141
|
+
for (const plan of plans) {
|
|
142
|
+
if (plan.kind !== 'dependency')
|
|
143
|
+
continue;
|
|
144
|
+
for (const product of plan.package.products)
|
|
145
|
+
modules.set(product, packageDisplayName(plan.package));
|
|
146
|
+
}
|
|
147
|
+
return modules;
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=packages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packages.js","sourceRoot":"","sources":["../src/packages.ts"],"names":[],"mappings":"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"}
|
package/dist/project.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type SwiftLanguageMode } from './config.js';
|
|
2
|
+
import { type AppPackage } from './packages.js';
|
|
3
|
+
import { type SwiftSettings } from './buildSettings.js';
|
|
2
4
|
export interface ResolvedApp {
|
|
3
5
|
/** Swift module name (`[A-Za-z_][A-Za-z0-9_]*`); also the URL name. */
|
|
4
6
|
name: string;
|
|
@@ -7,17 +9,53 @@ export interface ResolvedApp {
|
|
|
7
9
|
root: string;
|
|
8
10
|
/** Absolute paths of the Swift sources, in build order. */
|
|
9
11
|
sources: string[];
|
|
12
|
+
/**
|
|
13
|
+
* Absolute paths of the Core ML models (`.mlmodel`, `.mlpackage`) the app
|
|
14
|
+
* compiles; each becomes a generated class (coreml.ts). Absent means none.
|
|
15
|
+
*/
|
|
16
|
+
models?: string[];
|
|
10
17
|
/** Absolute paths of `*.xcassets` directories. */
|
|
11
18
|
catalogs: string[];
|
|
12
19
|
/** Absolute paths of the resource files and folders `Bundle.main` serves. */
|
|
13
20
|
resources: string[];
|
|
21
|
+
/**
|
|
22
|
+
* Absolute paths of the string catalogs (`.xcstrings`) and `.strings` /
|
|
23
|
+
* `.stringsdict` files compiled into the app's string tables (strings.ts).
|
|
24
|
+
* Absent means none.
|
|
25
|
+
*/
|
|
26
|
+
localizations?: string[];
|
|
14
27
|
/** A PNG app icon, when one was found. */
|
|
15
28
|
icon?: string;
|
|
16
29
|
swiftLanguageMode: SwiftLanguageMode;
|
|
17
|
-
|
|
30
|
+
/**
|
|
31
|
+
* The Xcode target's concurrency settings (default actor isolation,
|
|
32
|
+
* upcoming features; buildSettings.ts). Absent for a folder of sources.
|
|
33
|
+
*/
|
|
34
|
+
swiftSettings?: SwiftSettings;
|
|
35
|
+
/**
|
|
36
|
+
* The generated asset symbols (assetSymbols.ts): `false` when the Xcode
|
|
37
|
+
* target turns them off (`ASSETCATALOG_COMPILER_GENERATE_ASSET_SYMBOLS =
|
|
38
|
+
* NO`), `'extensions'` when it also wants the `Color` and `ShapeStyle`
|
|
39
|
+
* members (`ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS =
|
|
40
|
+
* YES`, which Xcode's templates set). Absent: the resource members only.
|
|
41
|
+
*/
|
|
42
|
+
assetSymbols?: false | 'extensions';
|
|
18
43
|
/** Languages whose ICU data a full-Foundation build keeps. */
|
|
19
44
|
locales: string[];
|
|
45
|
+
/** The app's URL schemes (Info.plist `CFBundleURLTypes`, or `urlSchemes` in swiftbrowser.json); see urlSchemes.ts. */
|
|
46
|
+
urlSchemes?: string[];
|
|
47
|
+
/** A CORS proxy the page retries refused cross-origin reads through (`corsProxy` in swiftbrowser.json, `--cors-proxy`). */
|
|
48
|
+
corsProxy?: string;
|
|
49
|
+
/** Hosts the app's requests may not reach (`blockHosts` in swiftbrowser.json, `--block-host`). */
|
|
50
|
+
blockHosts?: string[];
|
|
51
|
+
/** Whether ICU's collation tables ship (`collation` in swiftbrowser.json; default true). */
|
|
52
|
+
collation: boolean;
|
|
20
53
|
defines: string[];
|
|
54
|
+
/**
|
|
55
|
+
* The Swift packages the Xcode target links (Package Dependencies), and
|
|
56
|
+
* those `swiftbrowser.json` lists, each with its products. See packages.ts.
|
|
57
|
+
*/
|
|
58
|
+
packages: AppPackage[];
|
|
21
59
|
/** How the app was found. */
|
|
22
60
|
origin: {
|
|
23
61
|
kind: 'xcodeproj';
|
|
@@ -30,14 +68,17 @@ export interface ResolvedApp {
|
|
|
30
68
|
export interface ResolveOptions {
|
|
31
69
|
target?: string;
|
|
32
70
|
configFile?: string;
|
|
33
|
-
foundation?: FoundationMode;
|
|
34
71
|
}
|
|
35
72
|
/** `Guess The Flag` → `GuessTheFlag`; a leading digit gets an underscore. */
|
|
36
73
|
export declare function moduleName(raw: string): string;
|
|
37
|
-
/**
|
|
74
|
+
/** A Core ML model Xcode compiles into a class: an `.mlmodel` file or an `.mlpackage` bundle. */
|
|
75
|
+
export declare function isCoreMLModel(file: string): boolean;
|
|
76
|
+
/** Every `.swift` file, Core ML model and `.xcassets` folder under `dir`, by convention. */
|
|
38
77
|
export declare function discoverByConvention(dir: string): {
|
|
39
78
|
sources: string[];
|
|
79
|
+
models: string[];
|
|
40
80
|
catalogs: string[];
|
|
81
|
+
localizations: string[];
|
|
41
82
|
};
|
|
42
83
|
/** The largest PNG of the app icon set, for the home-screen manifest. */
|
|
43
84
|
export declare function findAppIcon(catalogs: readonly string[], iconName?: string): string | undefined;
|
package/dist/project.js
CHANGED
|
@@ -5,6 +5,10 @@ import { existsSync, readdirSync, statSync } from 'node:fs';
|
|
|
5
5
|
import path from 'node:path';
|
|
6
6
|
import { loadConfig } from './config.js';
|
|
7
7
|
import { CliError } from './log.js';
|
|
8
|
+
import { configPackages, groupPackageProducts } from './packages.js';
|
|
9
|
+
import { swiftSettingsOf } from './buildSettings.js';
|
|
10
|
+
import { isLocalizationFile, localizationsAmong } from './strings.js';
|
|
11
|
+
import { urlSchemesOfTarget } from './urlSchemes.js';
|
|
8
12
|
/** Directories never searched for sources or catalogs. */
|
|
9
13
|
const SKIP_DIRS = new Set(['.build', '.swiftbrowser', '.git', 'node_modules', 'DerivedData', 'Pods', 'Carthage', 'build', 'Preview Content']);
|
|
10
14
|
/** `Guess The Flag` → `GuessTheFlag`; a leading digit gets an underscore. */
|
|
@@ -20,7 +24,7 @@ function walk(dir, visit) {
|
|
|
20
24
|
if (entry.isDirectory()) {
|
|
21
25
|
if (SKIP_DIRS.has(entry.name) || entry.name.startsWith('.') || /(Tests|UITests)$/.test(entry.name))
|
|
22
26
|
continue;
|
|
23
|
-
if (entry.name.endsWith('.xcassets') || entry.name.endsWith('.xcodeproj') || entry.name.endsWith('.xcworkspace')) {
|
|
27
|
+
if (entry.name.endsWith('.xcassets') || entry.name.endsWith('.xcodeproj') || entry.name.endsWith('.xcworkspace') || entry.name.endsWith('.mlpackage')) {
|
|
24
28
|
visit(full, statSync(full));
|
|
25
29
|
continue;
|
|
26
30
|
}
|
|
@@ -31,31 +35,56 @@ function walk(dir, visit) {
|
|
|
31
35
|
}
|
|
32
36
|
}
|
|
33
37
|
}
|
|
34
|
-
/**
|
|
38
|
+
/** A Core ML model Xcode compiles into a class: an `.mlmodel` file or an `.mlpackage` bundle. */
|
|
39
|
+
export function isCoreMLModel(file) {
|
|
40
|
+
return file.endsWith('.mlmodel') || file.endsWith('.mlpackage');
|
|
41
|
+
}
|
|
42
|
+
/** Every `.swift` file, Core ML model and `.xcassets` folder under `dir`, by convention. */
|
|
35
43
|
export function discoverByConvention(dir) {
|
|
36
44
|
const sources = [];
|
|
45
|
+
const models = [];
|
|
37
46
|
const catalogs = [];
|
|
47
|
+
const localizations = [];
|
|
38
48
|
walk(dir, (file) => {
|
|
39
49
|
if (file.endsWith('.swift') && !/(Tests|UITests)\.swift$/.test(path.basename(file)) && !/Package\.swift$/.test(file))
|
|
40
50
|
sources.push(file);
|
|
51
|
+
else if (isCoreMLModel(file))
|
|
52
|
+
models.push(file);
|
|
41
53
|
else if (file.endsWith('.xcassets'))
|
|
42
54
|
catalogs.push(file);
|
|
55
|
+
else if (file.endsWith('.xcstrings') || (isLocalizationFile(file) && path.dirname(file).endsWith('.lproj')))
|
|
56
|
+
localizations.push(file);
|
|
43
57
|
});
|
|
44
|
-
return { sources, catalogs };
|
|
58
|
+
return { sources, models, catalogs, localizations };
|
|
59
|
+
}
|
|
60
|
+
/** A string catalog, table or `.lproj` folder: compiled into string tables, not copied. */
|
|
61
|
+
function isLocalizationSource(file) {
|
|
62
|
+
return isLocalizationFile(file) || file.endsWith('.lproj');
|
|
45
63
|
}
|
|
46
|
-
/**
|
|
64
|
+
/**
|
|
65
|
+
* Swift files and Core ML models named by a config `sources` list: files as
|
|
66
|
+
* is (a model by its extension), directories recursively.
|
|
67
|
+
*/
|
|
47
68
|
function expandSources(root, entries) {
|
|
48
|
-
const
|
|
69
|
+
const sources = [];
|
|
70
|
+
const models = [];
|
|
49
71
|
for (const entry of entries) {
|
|
50
72
|
const full = path.resolve(root, entry);
|
|
51
73
|
if (!existsSync(full))
|
|
52
74
|
throw new CliError(`sources entry not found: ${entry}`);
|
|
53
|
-
if (
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
75
|
+
if (isCoreMLModel(full)) {
|
|
76
|
+
models.push(full);
|
|
77
|
+
}
|
|
78
|
+
else if (statSync(full).isDirectory()) {
|
|
79
|
+
const found = discoverByConvention(full);
|
|
80
|
+
sources.push(...found.sources);
|
|
81
|
+
models.push(...found.models);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
sources.push(full);
|
|
85
|
+
}
|
|
57
86
|
}
|
|
58
|
-
return
|
|
87
|
+
return { sources, models };
|
|
59
88
|
}
|
|
60
89
|
function applyExcludes(root, files, exclude) {
|
|
61
90
|
if (!exclude || exclude.length === 0)
|
|
@@ -137,9 +166,9 @@ export async function resolveApp(input, options = {}) {
|
|
|
137
166
|
}
|
|
138
167
|
const config = loadConfig(root, options.configFile);
|
|
139
168
|
const swiftLanguageMode = config.swiftLanguageMode ?? '5';
|
|
140
|
-
const foundation = options.foundation ?? config.foundation ?? 'full';
|
|
141
169
|
const defines = config.defines ?? [];
|
|
142
170
|
const locales = config.locales ?? ['en'];
|
|
171
|
+
const collation = config.collation ?? true;
|
|
143
172
|
if (projectPath) {
|
|
144
173
|
const project = await readXcode(projectPath);
|
|
145
174
|
const apps = project.appTargets();
|
|
@@ -161,48 +190,86 @@ export async function resolveApp(input, options = {}) {
|
|
|
161
190
|
}
|
|
162
191
|
if (!chosen)
|
|
163
192
|
throw new CliError('no target chosen');
|
|
164
|
-
const
|
|
193
|
+
const listed = config.sources ? expandSources(root, config.sources) : null;
|
|
194
|
+
const sources = applyExcludes(root, listed ? listed.sources : chosen.sources.filter((f) => f.endsWith('.swift')), config.exclude);
|
|
195
|
+
const models = applyExcludes(root, listed ? listed.models : (chosen.models ?? []), config.exclude);
|
|
165
196
|
const catalogs = config.catalogs ? config.catalogs.map((c) => path.resolve(root, c)) : chosen.assetCatalogs;
|
|
166
|
-
const
|
|
197
|
+
const listedResources = config.resources?.map((r) => path.resolve(root, r));
|
|
198
|
+
const resources = listedResources ? listedResources.filter((r) => !isLocalizationSource(r)) : bundleResources(chosen.resources ?? []);
|
|
199
|
+
const localizations = listedResources ? localizationsAmong(listedResources) : (chosen.localizations ?? []);
|
|
167
200
|
const icon = config.icon ? path.resolve(root, config.icon) : findAppIcon(catalogs, chosen.appIconName);
|
|
168
201
|
const app = {
|
|
169
202
|
name: config.name ?? moduleName(chosen.productName || chosen.name),
|
|
170
203
|
displayName: config.displayName ?? chosen.displayName ?? chosen.productName ?? chosen.name,
|
|
171
204
|
root,
|
|
172
205
|
sources,
|
|
206
|
+
models,
|
|
173
207
|
catalogs,
|
|
174
208
|
resources,
|
|
209
|
+
...(localizations.length > 0 ? { localizations } : {}),
|
|
175
210
|
swiftLanguageMode: config.swiftLanguageMode ?? (chosen.swiftVersion?.startsWith('6') ? '6' : swiftLanguageMode),
|
|
176
|
-
foundation,
|
|
177
211
|
locales,
|
|
212
|
+
collation,
|
|
178
213
|
defines,
|
|
214
|
+
packages: [...groupPackageProducts(chosen.packageDependencies ?? []), ...configPackages(config.packages ?? [], root)],
|
|
179
215
|
origin: { kind: 'xcodeproj', project: projectPath, target: chosen.name },
|
|
180
216
|
};
|
|
181
217
|
if (icon)
|
|
182
218
|
app.icon = icon;
|
|
219
|
+
const buildSettings = chosen.settings?.();
|
|
220
|
+
if (buildSettings) {
|
|
221
|
+
const settings = swiftSettingsOf(buildSettings, app.swiftLanguageMode);
|
|
222
|
+
if (settings.defaultIsolationMainActor || settings.upcomingFeatures.length > 0)
|
|
223
|
+
app.swiftSettings = settings;
|
|
224
|
+
if (/^(NO|FALSE|0)$/i.test(buildSettings['ASSETCATALOG_COMPILER_GENERATE_ASSET_SYMBOLS'] ?? ''))
|
|
225
|
+
app.assetSymbols = false;
|
|
226
|
+
else if (/^(YES|TRUE|1)$/i.test(buildSettings['ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS'] ?? ''))
|
|
227
|
+
app.assetSymbols = 'extensions';
|
|
228
|
+
}
|
|
229
|
+
const urlSchemes = config.urlSchemes ?? urlSchemesOfTarget(chosen, root);
|
|
230
|
+
if (urlSchemes.length > 0)
|
|
231
|
+
app.urlSchemes = urlSchemes;
|
|
232
|
+
if (config.corsProxy)
|
|
233
|
+
app.corsProxy = config.corsProxy;
|
|
234
|
+
if (config.blockHosts?.length)
|
|
235
|
+
app.blockHosts = config.blockHosts;
|
|
183
236
|
return finish(app);
|
|
184
237
|
}
|
|
185
238
|
const discovered = discoverByConvention(root);
|
|
186
|
-
const
|
|
239
|
+
const listed = config.sources ? expandSources(root, config.sources) : null;
|
|
240
|
+
const sources = applyExcludes(root, listed ? listed.sources : discovered.sources, config.exclude);
|
|
241
|
+
const models = applyExcludes(root, listed ? listed.models : discovered.models, config.exclude);
|
|
187
242
|
const catalogs = config.catalogs ? config.catalogs.map((c) => path.resolve(root, c)) : discovered.catalogs;
|
|
188
|
-
// A plain folder has no Copy Bundle Resources phase: resources come from the
|
|
189
|
-
|
|
243
|
+
// A plain folder has no Copy Bundle Resources phase: resources come from the
|
|
244
|
+
// config only, string tables from the config or the folder.
|
|
245
|
+
const listedResources = (config.resources ?? []).map((r) => path.resolve(root, r));
|
|
246
|
+
const resources = listedResources.filter((r) => !isLocalizationSource(r));
|
|
247
|
+
const localizations = config.resources ? localizationsAmong(listedResources) : discovered.localizations;
|
|
190
248
|
const icon = config.icon ? path.resolve(root, config.icon) : findAppIcon(catalogs);
|
|
191
249
|
const app = {
|
|
192
250
|
name: config.name ?? moduleName(path.basename(root)),
|
|
193
251
|
displayName: config.displayName ?? path.basename(root),
|
|
194
252
|
root,
|
|
195
253
|
sources,
|
|
254
|
+
models,
|
|
196
255
|
catalogs,
|
|
197
256
|
resources,
|
|
257
|
+
...(localizations.length > 0 ? { localizations } : {}),
|
|
198
258
|
swiftLanguageMode,
|
|
199
|
-
foundation,
|
|
200
259
|
locales,
|
|
260
|
+
collation,
|
|
201
261
|
defines,
|
|
262
|
+
packages: configPackages(config.packages ?? [], root),
|
|
202
263
|
origin: { kind: 'folder' },
|
|
203
264
|
};
|
|
204
265
|
if (icon)
|
|
205
266
|
app.icon = icon;
|
|
267
|
+
if (config.urlSchemes?.length)
|
|
268
|
+
app.urlSchemes = config.urlSchemes;
|
|
269
|
+
if (config.corsProxy)
|
|
270
|
+
app.corsProxy = config.corsProxy;
|
|
271
|
+
if (config.blockHosts?.length)
|
|
272
|
+
app.blockHosts = config.blockHosts;
|
|
206
273
|
return finish(app);
|
|
207
274
|
}
|
|
208
275
|
/**
|
|
@@ -239,6 +306,8 @@ function finish(app) {
|
|
|
239
306
|
// An Xcode project made on macOS can name files whose case differs from the
|
|
240
307
|
// disk's; repair what can be repaired, report the rest.
|
|
241
308
|
app.sources = app.sources.map(repairCase);
|
|
309
|
+
if (app.models)
|
|
310
|
+
app.models = app.models.map(repairCase);
|
|
242
311
|
app.catalogs = app.catalogs.map(repairCase);
|
|
243
312
|
app.resources = app.resources.map(repairCase);
|
|
244
313
|
if (app.icon)
|
|
@@ -247,6 +316,10 @@ function finish(app) {
|
|
|
247
316
|
if (missing.length > 0) {
|
|
248
317
|
throw new CliError(`${missing.length} source file${missing.length === 1 ? '' : 's'} named by the project ${missing.length === 1 ? 'does' : 'do'} not exist:\n ${missing.join('\n ')}`);
|
|
249
318
|
}
|
|
319
|
+
const missingModels = (app.models ?? []).filter((file) => !existsSync(file));
|
|
320
|
+
if (missingModels.length > 0) {
|
|
321
|
+
throw new CliError(`${missingModels.length} Core ML model${missingModels.length === 1 ? '' : 's'} named by the project ${missingModels.length === 1 ? 'does' : 'do'} not exist:\n ${missingModels.join('\n ')}`);
|
|
322
|
+
}
|
|
250
323
|
const missingResources = app.resources.filter((file) => !existsSync(file));
|
|
251
324
|
if (missingResources.length > 0) {
|
|
252
325
|
throw new CliError(`${missingResources.length} resource${missingResources.length === 1 ? '' : 's'} named by the project ${missingResources.length === 1 ? 'does' : 'do'} not exist:\n ${missingResources.join('\n ')}`);
|
package/dist/project.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/** Wire types (the low three bits of a field's key). Groups (3, 4) are long deprecated and rejected. */
|
|
2
|
+
export declare const WIRE_VARINT = 0;
|
|
3
|
+
export declare const WIRE_FIXED64 = 1;
|
|
4
|
+
export declare const WIRE_BYTES = 2;
|
|
5
|
+
export declare const WIRE_FIXED32 = 5;
|
|
6
|
+
/** A malformed message: truncated, a bad varint, an unknown wire type. */
|
|
7
|
+
export declare class ProtobufError extends Error {
|
|
8
|
+
readonly offset?: number | undefined;
|
|
9
|
+
constructor(message: string, offset?: number | undefined);
|
|
10
|
+
}
|
|
11
|
+
/** One occurrence of a field: a varint, 8 or 4 raw bytes, or a length-delimited payload. */
|
|
12
|
+
export interface RawField {
|
|
13
|
+
wireType: number;
|
|
14
|
+
/** For `WIRE_VARINT`. */
|
|
15
|
+
varint?: bigint;
|
|
16
|
+
/** For the other wire types: the payload (a view into the message's buffer). */
|
|
17
|
+
bytes?: Uint8Array;
|
|
18
|
+
}
|
|
19
|
+
/** Reads a base-128 varint at `offset`; returns the value (unsigned, at most 64 bits) and the offset after it. */
|
|
20
|
+
export declare function readVarint(buffer: Uint8Array, offset: number): [bigint, number];
|
|
21
|
+
/** A decoded message: its fields by number, in the order they appeared. */
|
|
22
|
+
export declare class ProtoMessage {
|
|
23
|
+
readonly buffer: Uint8Array;
|
|
24
|
+
readonly fields: Map<number, RawField[]>;
|
|
25
|
+
constructor(buffer: Uint8Array);
|
|
26
|
+
has(number: number): boolean;
|
|
27
|
+
/** The field numbers present, ascending. */
|
|
28
|
+
numbers(): number[];
|
|
29
|
+
private last;
|
|
30
|
+
/** An embedded message (the last occurrence), or undefined when absent. */
|
|
31
|
+
message(number: number): ProtoMessage | undefined;
|
|
32
|
+
/** Every occurrence of a repeated message field. */
|
|
33
|
+
messages(number: number): ProtoMessage[];
|
|
34
|
+
/** A `bytes` field ('' → empty). */
|
|
35
|
+
bytes(number: number): Uint8Array;
|
|
36
|
+
/** A `string` field (UTF-8; '' when absent). */
|
|
37
|
+
string(number: number): string;
|
|
38
|
+
/** A `repeated string` field. */
|
|
39
|
+
strings(number: number): string[];
|
|
40
|
+
/** An unsigned varint field (`uint32`, `uint64`, `bool`, enums): 0n when absent. */
|
|
41
|
+
uint64(number: number): bigint;
|
|
42
|
+
/** A signed `int32` / `int64` field (two's complement, not zigzag). */
|
|
43
|
+
int64(number: number): bigint;
|
|
44
|
+
/** A varint field as a JavaScript number; throws when it does not fit exactly. */
|
|
45
|
+
int(number: number): number;
|
|
46
|
+
bool(number: number): boolean;
|
|
47
|
+
/** A `double` field: 0 when absent. */
|
|
48
|
+
double(number: number): number;
|
|
49
|
+
/** A `float` field: 0 when absent. */
|
|
50
|
+
float(number: number): number;
|
|
51
|
+
/** A `repeated double` field, packed or not. */
|
|
52
|
+
doubles(number: number): number[];
|
|
53
|
+
/** A `repeated float` field, packed or not. */
|
|
54
|
+
floats(number: number): number[];
|
|
55
|
+
/** A `repeated int64` / `uint64` / enum field, packed or not, signed. */
|
|
56
|
+
int64s(number: number): bigint[];
|
|
57
|
+
/** `int64s` as JavaScript numbers; throws when one does not fit exactly. */
|
|
58
|
+
ints(number: number): number[];
|
|
59
|
+
private fixedList;
|
|
60
|
+
}
|
|
61
|
+
/** Decodes a message from `bytes`. */
|
|
62
|
+
export declare function decodeMessage(bytes: Uint8Array): ProtoMessage;
|