@swiftbrowser/cli 0.18.2 → 0.19.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 +2 -1
- package/dist/cli.js +14 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/native.d.ts +25 -0
- package/dist/commands/native.js +88 -3
- package/dist/commands/native.js.map +1 -1
- package/dist/nativePackages.d.ts +41 -0
- package/dist/nativePackages.js +209 -0
- package/dist/nativePackages.js.map +1 -0
- package/dist/nativeTemplate.d.ts +6 -0
- package/dist/nativeTemplate.js +27 -15
- package/dist/nativeTemplate.js.map +1 -1
- package/dist/nativeWorkflows.d.ts +18 -0
- package/dist/nativeWorkflows.js +109 -0
- package/dist/nativeWorkflows.js.map +1 -0
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -27,7 +27,8 @@ the shim does not provide is a compile error, never a wrong rendering.
|
|
|
27
27
|
| `build <path> [-o dist]` | A release build, optimized and stripped with `wasm-opt` (17.4 MB for a small app, 4.5 MB with brotli), and a complete static site around it: the app at `/`, filling the window on every screen (a desktop browser gets the regular-width layout; `?mode=frame` shows the iPhone frame), its manifest and catalogs. `--no-optimize` skips wasm-opt. |
|
|
28
28
|
| `test <path>` | Builds the app's unit tests for WebAssembly against the kit and runs them under Node's WASI, the runtime the browser runs the app in: XCTest and Swift Testing, each when some test imports it. The tests are the Xcode project's unit-test targets that depend on the app or load into it (`TEST_HOST`), each a module that can `@testable import` the app, or for a folder of sources the Swift files under its `Tests` and `*Tests` folders. A failing test, or a trap, fails the command (exit 1); errors name your files. 11 s for a new app's test after the kit is built. UI test targets are not run, and `Bundle.main` holds none of the app's resources yet. |
|
|
29
29
|
| `kit` | Compiles SwiftBrowser for WebAssembly ahead of a build (the first `dev` or `build` does it otherwise) and prints where the kit is. |
|
|
30
|
-
| `native init [<dir>]` | Writes a [SwiftBrowser Native](https://github.com/noya-app/SwiftBrowser/blob/main/Native/README.md) app: an iOS app whose views are real SwiftUI and whose logic is a [`@swiftbrowser/react`](https://www.npmjs.com/package/@swiftbrowser/react) app running in JavaScriptCore. `<Name>.xcodeproj` holds one app target over `<Name>/` (`<Name>App.swift`, three lines around `NativeApp` and `NativeRootView`; the asset catalog; the `app.js` bundle) and depends on the Swift package `@swiftbrowser/native` ships, at `js/node_modules/@swiftbrowser/native/swift`; `js/` is the JavaScript project (`npm install`, then `npm run build` writes the bundle and `npm run dev` serves it with rebuild and Fast Refresh on save, with `SB_DEV_SERVER` enabled in the scheme). `--name`, `--bundle-id` as for `init`; `--package <dir>` depends on another SwiftBrowserNative package (a checkout's `Native/`); `--icloud` gives the app an iCloud Drive container (`ios/<Name>.entitlements` naming `iCloud.<bundleId>` for documents, and an `ios/Info.plist` that shows its Documents in the Files app), which `fileManager.iCloudDirectory()` answers once the App ID has the iCloud capability; `--sign-in-with-apple` adds the Sign in with Apple entitlement for `signInWithApple` and `SignInWithAppleButton`. |
|
|
30
|
+
| `native init [<dir>]` | Writes a [SwiftBrowser Native](https://github.com/noya-app/SwiftBrowser/blob/main/Native/README.md) app: an iOS app whose views are real SwiftUI and whose logic is a [`@swiftbrowser/react`](https://www.npmjs.com/package/@swiftbrowser/react) app running in JavaScriptCore. `<Name>.xcodeproj` holds one app target over `<Name>/` (`<Name>App.swift`, three lines around `NativeApp` and `NativeRootView`; the asset catalog; the `app.js` bundle) and depends on the Swift package `@swiftbrowser/native` ships, at `js/node_modules/@swiftbrowser/native/swift`; `js/` is the JavaScript project (`npm install`, then `npm run build` writes the bundle and `npm run dev` serves it with rebuild and Fast Refresh on save, with `SB_DEV_SERVER` enabled in the scheme). `--name`, `--bundle-id` as for `init`; `--package <dir>` depends on another SwiftBrowserNative package (a checkout's `Native/`); `--icloud` gives the app an iCloud Drive container (`ios/<Name>.entitlements` naming `iCloud.<bundleId>` for documents, and an `ios/Info.plist` that shows its Documents in the Files app), which `fileManager.iCloudDirectory()` answers once the App ID has the iCloud capability; `--sign-in-with-apple` adds the Sign in with Apple entitlement for `signInWithApple` and `SignInWithAppleButton`. `--with <name>` (repeatable or comma-separated) links an optional Swift package and installs it in the App: `local-model` (SwiftBrowserLocalModel, an open language model on the device for `LanguageModelSession` where Apple Intelligence can't answer) or `dsp` (SwiftBrowserDSP, for `@swiftbrowser/dsp`'s `DSPNode`). `--github` writes GitHub Actions workflows that call SwiftBrowser's reusable ones at this release: `web.yml` deploys the web page to Cloudflare Pages (pull requests to a commented preview), `ios.yml` makes an ad hoc iOS build installed over the air from the same project's `ios` alias; they go in the repository's `.github/workflows` (the nearest folder up with a `.git`), named for the app and limited to its folder when it is inside a larger repository. |
|
|
31
|
+
| `native add <name> [<dir>]` | Links an optional Swift package into an existing native app's Xcode project: the package from beside the SwiftBrowserNative one the project references (`node_modules/@swiftbrowser/native/swift/Packages/<Package>`) and its product in every target that links SwiftBrowserNative. Prints the line to add to the App's `init`; running it again changes nothing. |
|
|
31
32
|
| `native build <entry> --out <file>` | Bundles the app's entry module (`src/index.tsx`) into the `app.js` the Xcode target ships (`--minify`, `--sourcemap`), as the project's `npm run build` does through `swiftbrowser-native`. `--worker <name>=<entry>` (repeatable) bundles a worker beside it as `<name>.worker.js`, for `createWorker(name)`: a second JavaScriptCore context on a thread of its own, as a page has a Web Worker. |
|
|
32
33
|
| `native dev <entry> --out <file>` | Serves the bundle with rebuild on save for `NativeApp.watch(url:)` (`--port`, default 5173). |
|
|
33
34
|
| `native site <entry> --out <dir>` | The native app as a static site the web renderer runs: the SwiftBrowser Native views compiled for WebAssembly against the shim (the module `@swiftbrowser/native` ships; `--module <file>` for another), the bundle and the page, in the layout `build` writes. `--base /path/` for a site served under a path of another site, `--catalog <dir.xcassets>` (repeatable) for the app's named images, `--worker <name>=<entry>` (repeatable) for the app's workers, published beside the bundle for the page's `Worker`, `--name <App>` for the site's app name, `--minify`. |
|
package/dist/cli.js
CHANGED
|
@@ -17,6 +17,8 @@ ${bold('Usage')}
|
|
|
17
17
|
swiftbrowser test <path> the app's unit tests (XCTest, Swift Testing) in WebAssembly
|
|
18
18
|
swiftbrowser kit [--wasm-macros] compile SwiftBrowser for WebAssembly ahead of builds
|
|
19
19
|
swiftbrowser native init [<dir>] a new app: SwiftUI views, logic in JavaScript (@swiftbrowser/react), for iOS and the web
|
|
20
|
+
swiftbrowser native add <package> [<dir>] link an optional Swift package into the app: local-model (an open
|
|
21
|
+
language model on the device) or dsp (@swiftbrowser/dsp's synthesis)
|
|
20
22
|
swiftbrowser native build <entry> --out <file> its app.js bundle for the Xcode target
|
|
21
23
|
swiftbrowser native dev <entry> --out <file> serve the bundle with rebuild and refresh on save
|
|
22
24
|
swiftbrowser native site <entry> --out <dir> the native app as a static site, drawn by the web renderer
|
|
@@ -29,6 +31,9 @@ ${bold('Options')}
|
|
|
29
31
|
--bundle-id <id> the new app's bundle identifier (init, native init; default com.example.<Name>)
|
|
30
32
|
--icloud give the app an iCloud Drive container (native init): entitlements and Info.plist for fileManager.iCloudDirectory()
|
|
31
33
|
--sign-in-with-apple give the app the Sign in with Apple entitlement (native init), for signInWithApple and SignInWithAppleButton
|
|
34
|
+
--with <package> link and install an optional Swift package (native init; repeatable or comma-separated): local-model, dsp
|
|
35
|
+
--github GitHub Actions that deploy the web page and the ad hoc iOS build (native init), calling
|
|
36
|
+
SwiftBrowser's reusable workflows at this release
|
|
32
37
|
--package <dir> the SwiftBrowserNative Swift package the project depends on
|
|
33
38
|
(native init; default: the one @swiftbrowser/native ships)
|
|
34
39
|
--minify, --sourcemap bundle options (native build, native dev, native site)
|
|
@@ -111,6 +116,8 @@ export async function main(argv) {
|
|
|
111
116
|
'wasm-macros': { type: 'boolean' },
|
|
112
117
|
compiler: { type: 'string' },
|
|
113
118
|
package: { type: 'string' },
|
|
119
|
+
with: { type: 'string', multiple: true },
|
|
120
|
+
github: { type: 'boolean' },
|
|
114
121
|
minify: { type: 'boolean' },
|
|
115
122
|
sourcemap: { type: 'boolean' },
|
|
116
123
|
},
|
|
@@ -211,7 +218,7 @@ export async function main(argv) {
|
|
|
211
218
|
return 0;
|
|
212
219
|
}
|
|
213
220
|
case 'native': {
|
|
214
|
-
const { nativeBuild, nativeDev, nativeInit, nativeSite } = await import('./commands/native.js');
|
|
221
|
+
const { nativeAdd, nativeBuild, nativeDev, nativeInit, nativeSite } = await import('./commands/native.js');
|
|
215
222
|
const [, subcommand, argument] = positionals;
|
|
216
223
|
const bundleOptions = () => {
|
|
217
224
|
if (!argument)
|
|
@@ -241,8 +248,13 @@ export async function main(argv) {
|
|
|
241
248
|
...(values['icloud'] ? { icloud: true } : {}),
|
|
242
249
|
...(values['sign-in-with-apple'] ? { signInWithApple: true } : {}),
|
|
243
250
|
...(values.package !== undefined ? { package: values.package } : {}),
|
|
251
|
+
...(values.github ? { github: true } : {}),
|
|
252
|
+
...(values.with !== undefined ? { with: values.with.flatMap((spec) => spec.split(',')).map((name) => name.trim()).filter(Boolean) } : {}),
|
|
244
253
|
});
|
|
245
254
|
return 0;
|
|
255
|
+
case 'add':
|
|
256
|
+
nativeAdd(argument, positionals[3]);
|
|
257
|
+
return 0;
|
|
246
258
|
case 'build':
|
|
247
259
|
await nativeBuild(bundleOptions());
|
|
248
260
|
return 0;
|
|
@@ -263,7 +275,7 @@ export async function main(argv) {
|
|
|
263
275
|
});
|
|
264
276
|
return 0;
|
|
265
277
|
default:
|
|
266
|
-
throw new CliError(`native takes init, build, dev or site${subcommand ? `, not ${subcommand}` : ''}`, 2);
|
|
278
|
+
throw new CliError(`native takes init, add, build, dev or site${subcommand ? `, not ${subcommand}` : ''}`, 2);
|
|
267
279
|
}
|
|
268
280
|
}
|
|
269
281
|
case 'build': {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type OptionalPackage } from '../nativePackages.js';
|
|
1
2
|
export interface NativeInitOptions {
|
|
2
3
|
/** The app name; defaults to one made from the directory's name. */
|
|
3
4
|
name?: string;
|
|
@@ -14,6 +15,15 @@ export interface NativeInitOptions {
|
|
|
14
15
|
icloud?: boolean;
|
|
15
16
|
/** Sign in with Apple: its entitlement (`signInWithApple`, `SignInWithAppleButton`). */
|
|
16
17
|
signInWithApple?: boolean;
|
|
18
|
+
/** Optional packages the app links and installs (`--with local-model`; nativePackages.ts). */
|
|
19
|
+
with?: readonly string[];
|
|
20
|
+
/**
|
|
21
|
+
* GitHub Actions workflows that deploy the web page and the ad hoc iOS
|
|
22
|
+
* build, calling SwiftBrowser's reusable ones (nativeWorkflows.ts), in the
|
|
23
|
+
* repository's .github/workflows (the nearest folder up with a `.git`, or
|
|
24
|
+
* the app's).
|
|
25
|
+
*/
|
|
26
|
+
github?: boolean;
|
|
17
27
|
}
|
|
18
28
|
export interface NativeInitResult {
|
|
19
29
|
dir: string;
|
|
@@ -28,6 +38,21 @@ export interface NativeInitResult {
|
|
|
28
38
|
* where there is none.
|
|
29
39
|
*/
|
|
30
40
|
export declare function nativeInit(dirArg: string | undefined, options?: NativeInitOptions): NativeInitResult;
|
|
41
|
+
export interface NativeAddResult {
|
|
42
|
+
/** The project's project.pbxproj. */
|
|
43
|
+
pbxproj: string;
|
|
44
|
+
package: OptionalPackage;
|
|
45
|
+
/** False when the project linked it already. */
|
|
46
|
+
changed: boolean;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* `swiftbrowser native add <package> [<dir>]`: links an optional package
|
|
50
|
+
* (nativePackages.ts) into the app's Xcode project in `dir`, from its folder
|
|
51
|
+
* beside the SwiftBrowserNative package the project already references
|
|
52
|
+
* (`node_modules/@swiftbrowser/native/swift/Packages/<folder>`), and says
|
|
53
|
+
* the line to add to the App's `init`. Run again, it changes nothing.
|
|
54
|
+
*/
|
|
55
|
+
export declare function nativeAdd(name: string | undefined, dirArg: string | undefined): NativeAddResult;
|
|
31
56
|
export interface NativeBundleOptions {
|
|
32
57
|
/** The app's entry module, which calls `run(<App />)`. */
|
|
33
58
|
entry: string;
|
package/dist/commands/native.js
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
// `swiftbrowser native init|build|dev|site`: SwiftBrowser Native apps (iOS
|
|
1
|
+
// `swiftbrowser native init|add|build|dev|site`: SwiftBrowser Native apps (iOS
|
|
2
2
|
// apps whose logic is a @swiftbrowser/react app in JavaScriptCore, drawn by
|
|
3
|
-
// real SwiftUI, and the same app as a web page). `init` writes a project (nativeTemplate.ts)
|
|
3
|
+
// real SwiftUI, and the same app as a web page). `init` writes a project (nativeTemplate.ts), `add`
|
|
4
|
+
// links an optional package into one (nativePackages.ts); `build`, `dev`
|
|
4
5
|
// and `site` are @swiftbrowser/native's bundler, which the project's npm
|
|
5
6
|
// scripts also run as `swiftbrowser-native`.
|
|
6
7
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
7
8
|
import path from 'node:path';
|
|
9
|
+
import { findXcodeProjects } from '@swiftbrowser/xcodeproj';
|
|
8
10
|
import { CliError, bold, dim, info, ok } from '../log.js';
|
|
11
|
+
import { addPackageToPbxproj, optionalPackage, OPTIONAL_PACKAGES } from '../nativePackages.js';
|
|
9
12
|
import { DEFAULT_PACKAGE_PATH, nativeGitignoreLines, nativeProjectFiles, nativeReadme } from '../nativeTemplate.js';
|
|
13
|
+
import { nativeWorkflowFiles } from '../nativeWorkflows.js';
|
|
10
14
|
import { APP_NAME, appNameFrom, mergeGitignore } from '../template.js';
|
|
11
15
|
/**
|
|
12
16
|
* Writes a new native app into `dir` (created if missing). An existing
|
|
@@ -26,6 +30,15 @@ export function nativeInit(dirArg, options = {}) {
|
|
|
26
30
|
if (existsSync(path.join(dir, taken)))
|
|
27
31
|
throw new CliError(`${path.join(dir, taken)} already exists; pick another --name or directory`);
|
|
28
32
|
}
|
|
33
|
+
const packages = [...new Set((options.with ?? []).map((name) => packageNamed(name).name))];
|
|
34
|
+
const repo = options.github ? repositoryRoot(dir) : undefined;
|
|
35
|
+
const workflows = repo
|
|
36
|
+
? nativeWorkflowFiles({ name, bundleId: options.bundleId ?? `com.example.${name}`, directory: path.relative(repo, dir).split(path.sep).join('/') || '.' })
|
|
37
|
+
: [];
|
|
38
|
+
for (const file of workflows) {
|
|
39
|
+
if (existsSync(path.join(repo, file.path)))
|
|
40
|
+
throw new CliError(`${path.join(repo, file.path)} already exists; move it aside or leave out --github`);
|
|
41
|
+
}
|
|
29
42
|
let packagePath = DEFAULT_PACKAGE_PATH;
|
|
30
43
|
if (options.package !== undefined) {
|
|
31
44
|
const resolved = path.resolve(options.package);
|
|
@@ -40,9 +53,13 @@ export function nativeInit(dirArg, options = {}) {
|
|
|
40
53
|
writeFileSync(file, contents);
|
|
41
54
|
written.push(relative);
|
|
42
55
|
};
|
|
43
|
-
for (const file of nativeProjectFiles({ name, packagePath, ...(options.bundleId ? { bundleId: options.bundleId } : {}), ...(options.icloud ? { icloud: true } : {}), ...(options.signInWithApple ? { signInWithApple: true } : {}) })) {
|
|
56
|
+
for (const file of nativeProjectFiles({ name, packagePath, ...(options.bundleId ? { bundleId: options.bundleId } : {}), ...(options.icloud ? { icloud: true } : {}), ...(options.signInWithApple ? { signInWithApple: true } : {}), ...(packages.length ? { packages } : {}) })) {
|
|
44
57
|
write(file.path, file.contents);
|
|
45
58
|
}
|
|
59
|
+
for (const file of workflows) {
|
|
60
|
+
const relative = path.relative(dir, path.join(repo, file.path)).split(path.sep).join('/');
|
|
61
|
+
write(relative, file.contents);
|
|
62
|
+
}
|
|
46
63
|
const gitignore = path.join(dir, '.gitignore');
|
|
47
64
|
const existing = existsSync(gitignore) ? readFileSync(gitignore, 'utf8') : undefined;
|
|
48
65
|
const merged = mergeGitignore(existing, nativeGitignoreLines(name));
|
|
@@ -66,8 +83,76 @@ export function nativeInit(dirArg, options = {}) {
|
|
|
66
83
|
const width = Math.max(...steps.map(([command]) => command.length)) + 3;
|
|
67
84
|
for (const [command, what] of steps)
|
|
68
85
|
info(` ${command.padEnd(width)}${dim(what)}`);
|
|
86
|
+
if (workflows.length) {
|
|
87
|
+
info(`\n${bold('GitHub Actions')} ${dim(`(${workflows.map((file) => path.basename(file.path)).join(', ')})`)}`);
|
|
88
|
+
info(' the repository\'s secrets: CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID for the web page; for the iOS build also');
|
|
89
|
+
info(' APPLE_TEAM_ID, APPLE_DIST_P12_BASE64, APPLE_DIST_P12_PASSWORD, ASC_KEY_ID, ASC_ISSUER_ID and ASC_KEY_P8');
|
|
90
|
+
}
|
|
69
91
|
return { dir, name, written };
|
|
70
92
|
}
|
|
93
|
+
/** The optional package `name` names, as a usage error when there is none. */
|
|
94
|
+
function packageNamed(name) {
|
|
95
|
+
try {
|
|
96
|
+
return optionalPackage(name);
|
|
97
|
+
}
|
|
98
|
+
catch (err) {
|
|
99
|
+
throw new CliError(err.message, 2);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
/** The nearest folder from `dir` up that holds a `.git`, else `dir`. */
|
|
103
|
+
function repositoryRoot(dir) {
|
|
104
|
+
for (let at = dir;; at = path.dirname(at)) {
|
|
105
|
+
if (existsSync(path.join(at, '.git')))
|
|
106
|
+
return at;
|
|
107
|
+
if (path.dirname(at) === at)
|
|
108
|
+
return dir;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* `swiftbrowser native add <package> [<dir>]`: links an optional package
|
|
113
|
+
* (nativePackages.ts) into the app's Xcode project in `dir`, from its folder
|
|
114
|
+
* beside the SwiftBrowserNative package the project already references
|
|
115
|
+
* (`node_modules/@swiftbrowser/native/swift/Packages/<folder>`), and says
|
|
116
|
+
* the line to add to the App's `init`. Run again, it changes nothing.
|
|
117
|
+
*/
|
|
118
|
+
export function nativeAdd(name, dirArg) {
|
|
119
|
+
if (!name)
|
|
120
|
+
throw new CliError(`native add needs a package: ${OPTIONAL_PACKAGES.map((pkg) => pkg.name).join(' or ')}`, 2);
|
|
121
|
+
const pkg = packageNamed(name);
|
|
122
|
+
const target = path.resolve(dirArg ?? '.');
|
|
123
|
+
const projects = target.endsWith('.xcodeproj') ? [target] : findXcodeProjects(target);
|
|
124
|
+
if (projects.length !== 1) {
|
|
125
|
+
throw new CliError(projects.length === 0 ? `no .xcodeproj in ${target}` : `several projects in ${target}; pass one: ${projects.map((p) => path.basename(p)).join(', ')}`, 2);
|
|
126
|
+
}
|
|
127
|
+
const project = projects[0];
|
|
128
|
+
const pbxproj = path.join(project, 'project.pbxproj');
|
|
129
|
+
const root = path.dirname(project);
|
|
130
|
+
let result;
|
|
131
|
+
try {
|
|
132
|
+
// The core is the local package whose folder has SwiftBrowserNative, or, before `npm install`, @swiftbrowser/native's.
|
|
133
|
+
result = addPackageToPbxproj(readFileSync(pbxproj, 'utf8'), pkg, (relative) => existsSync(path.join(root, relative, 'Sources', 'SwiftBrowserNative')) || /(^|\/)@swiftbrowser\/native\/swift\/?$/.test(relative));
|
|
134
|
+
}
|
|
135
|
+
catch (err) {
|
|
136
|
+
throw new CliError(`${path.relative(process.cwd(), pbxproj) || pbxproj}: ${err.message}`);
|
|
137
|
+
}
|
|
138
|
+
const shown = path.relative(process.cwd(), project) || project;
|
|
139
|
+
if (!result.changed) {
|
|
140
|
+
info(ok(`${shown} links ${bold(pkg.product)} already (${result.targets.join(', ')})`));
|
|
141
|
+
return { pbxproj, package: pkg, changed: false };
|
|
142
|
+
}
|
|
143
|
+
writeFileSync(pbxproj, result.text);
|
|
144
|
+
info(ok(`${shown}: ${bold(pkg.product)} from ${result.packagePath}, linked by ${result.targets.join(', ')}`));
|
|
145
|
+
if (!existsSync(path.join(root, result.packagePath, 'Package.swift'))) {
|
|
146
|
+
info(dim(` ${result.packagePath} is not there yet: it comes with @swiftbrowser/native once installed (a version that ships Packages/${pkg.folder})`));
|
|
147
|
+
}
|
|
148
|
+
info(`\n${bold('Next')}`);
|
|
149
|
+
if (pkg.npm)
|
|
150
|
+
info(` npm install ${pkg.npm}`);
|
|
151
|
+
info(` in the App's init, after import ${pkg.product}:`);
|
|
152
|
+
for (const line of pkg.install)
|
|
153
|
+
info(` ${line}`);
|
|
154
|
+
return { pbxproj, package: pkg, changed: true };
|
|
155
|
+
}
|
|
71
156
|
const kb = (bytes) => `${(bytes / 1024).toFixed(0)} kB`;
|
|
72
157
|
/** `swiftbrowser native build <entry> --out <file>`: writes the bundle once. */
|
|
73
158
|
export async function nativeBuild(options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native.js","sourceRoot":"","sources":["../../src/commands/native.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"native.js","sourceRoot":"","sources":["../../src/commands/native.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export interface OptionalPackage {
|
|
2
|
+
/** What `--with` and `add` take. */
|
|
3
|
+
name: string;
|
|
4
|
+
/** Its folder under the core's `Packages/`. */
|
|
5
|
+
folder: string;
|
|
6
|
+
/** The library product the app links. */
|
|
7
|
+
product: string;
|
|
8
|
+
/** What it gives the app, for help and messages. */
|
|
9
|
+
summary: string;
|
|
10
|
+
/** The Swift the App's `init` runs to install it, after `import <product>`. */
|
|
11
|
+
install: readonly string[];
|
|
12
|
+
/** An npm package the JavaScript side needs, beside @swiftbrowser/react's own API. */
|
|
13
|
+
npm?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare const OPTIONAL_PACKAGES: readonly OptionalPackage[];
|
|
16
|
+
/** The optional package `name` names, or a CliError-worthy message listing the names. */
|
|
17
|
+
export declare function optionalPackage(name: string): OptionalPackage;
|
|
18
|
+
/** An optional package's directory, as the project references it: under the core's. */
|
|
19
|
+
export declare function optionalPackagePath(corePath: string, pkg: OptionalPackage): string;
|
|
20
|
+
export interface AddPackageResult {
|
|
21
|
+
/** The edited project.pbxproj; the same text when the package was already there. */
|
|
22
|
+
text: string;
|
|
23
|
+
/** The core's directory as the project references it. */
|
|
24
|
+
corePath: string;
|
|
25
|
+
/** The package's directory as the project now references it. */
|
|
26
|
+
packagePath: string;
|
|
27
|
+
/** The targets that now link the product (those that link SwiftBrowserNative). */
|
|
28
|
+
targets: string[];
|
|
29
|
+
/** False when every one of those targets linked it already. */
|
|
30
|
+
changed: boolean;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Adds `pkg` to a project that links SwiftBrowserNative from a local package:
|
|
34
|
+
* a reference to its directory under the core's, and its product in the
|
|
35
|
+
* Frameworks of every target that links SwiftBrowserNative. The edit is
|
|
36
|
+
* textual, so the rest of the file stays as it was; the result is parsed
|
|
37
|
+
* again before it is returned. `isCore` says whether a local reference's
|
|
38
|
+
* directory is SwiftBrowserNative's (by default, one ending in
|
|
39
|
+
* `@swiftbrowser/native/swift`).
|
|
40
|
+
*/
|
|
41
|
+
export declare function addPackageToPbxproj(text: string, pkg: OptionalPackage, isCore?: (relativePath: string) => boolean): AddPackageResult;
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
// The optional Swift packages of SwiftBrowser Native (Native/Packages in the
|
|
2
|
+
// repository): what an app links only when it uses them, as
|
|
3
|
+
// SwiftBrowserLocalModel's llama.cpp. @swiftbrowser/native ships them beside
|
|
4
|
+
// the core, under `swift/Packages` (packages/native/sync-swift.mjs), so a
|
|
5
|
+
// package's directory is `<the core's directory>/Packages/<folder>`. An app
|
|
6
|
+
// gets one from `swiftbrowser native init --with <name>` (nativeTemplate.ts)
|
|
7
|
+
// or, for a project that exists, `swiftbrowser native add <name>`, which
|
|
8
|
+
// edits its project.pbxproj here as Xcode's "Add Local…" would.
|
|
9
|
+
import { createHash } from 'node:crypto';
|
|
10
|
+
import { parsePbxproj } from '@swiftbrowser/xcodeproj';
|
|
11
|
+
export const OPTIONAL_PACKAGES = [
|
|
12
|
+
{
|
|
13
|
+
name: 'local-model',
|
|
14
|
+
folder: 'SwiftBrowserLocalModel',
|
|
15
|
+
product: 'SwiftBrowserLocalModel',
|
|
16
|
+
summary: "an open language model on the device (llama.cpp) for LanguageModelSession where Apple Intelligence can't answer",
|
|
17
|
+
install: [
|
|
18
|
+
'// An open model for LanguageModelSession where Apple Intelligence cannot answer, downloaded',
|
|
19
|
+
'// when the app calls SystemLanguageModel.default.download() (SwiftBrowserLocalModel).',
|
|
20
|
+
'LocalLanguageModel.install([.llama3_2_1B])',
|
|
21
|
+
],
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: 'dsp',
|
|
25
|
+
folder: 'SwiftBrowserDSP',
|
|
26
|
+
product: 'SwiftBrowserDSP',
|
|
27
|
+
summary: "@swiftbrowser/dsp's synthesis on the audio thread: DSPNode in the app's AudioEngine",
|
|
28
|
+
install: ['// The program node of the audio engine, for @swiftbrowser/dsp\'s DSPNode (SwiftBrowserDSP).', 'SwiftBrowserDSP.install()'],
|
|
29
|
+
npm: '@swiftbrowser/dsp',
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
/** The optional package `name` names, or a CliError-worthy message listing the names. */
|
|
33
|
+
export function optionalPackage(name) {
|
|
34
|
+
const found = OPTIONAL_PACKAGES.find((pkg) => pkg.name === name || pkg.folder === name || pkg.product === name);
|
|
35
|
+
if (!found)
|
|
36
|
+
throw new Error(`no optional package ${name}; there are ${OPTIONAL_PACKAGES.map((pkg) => pkg.name).join(' and ')}`);
|
|
37
|
+
return found;
|
|
38
|
+
}
|
|
39
|
+
/** An optional package's directory, as the project references it: under the core's. */
|
|
40
|
+
export function optionalPackagePath(corePath, pkg) {
|
|
41
|
+
return `${corePath.replace(/\/+$/, '')}/Packages/${pkg.folder}`;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Adds `pkg` to a project that links SwiftBrowserNative from a local package:
|
|
45
|
+
* a reference to its directory under the core's, and its product in the
|
|
46
|
+
* Frameworks of every target that links SwiftBrowserNative. The edit is
|
|
47
|
+
* textual, so the rest of the file stays as it was; the result is parsed
|
|
48
|
+
* again before it is returned. `isCore` says whether a local reference's
|
|
49
|
+
* directory is SwiftBrowserNative's (by default, one ending in
|
|
50
|
+
* `@swiftbrowser/native/swift`).
|
|
51
|
+
*/
|
|
52
|
+
export function addPackageToPbxproj(text, pkg, isCore = defaultIsCore) {
|
|
53
|
+
const doc = parsePbxproj(text);
|
|
54
|
+
const { objects } = doc;
|
|
55
|
+
const root = objects[doc.rootObject];
|
|
56
|
+
if (!root)
|
|
57
|
+
throw new Error('the project has no root object');
|
|
58
|
+
const localRefs = strings(root['packageReferences']).filter((id) => objects[id]?.isa === 'XCLocalSwiftPackageReference');
|
|
59
|
+
const pathOf = (id) => String(objects[id]['relativePath'] ?? '');
|
|
60
|
+
const cores = localRefs.filter((id) => !/\/Packages\/[^/]+$/.test(pathOf(id)) && isCore(pathOf(id)));
|
|
61
|
+
if (cores.length !== 1) {
|
|
62
|
+
throw new Error(cores.length === 0
|
|
63
|
+
? 'the project does not reference SwiftBrowserNative as a local package (node_modules/@swiftbrowser/native/swift, as swiftbrowser native init writes)'
|
|
64
|
+
: `the project references several local packages that could be SwiftBrowserNative's: ${cores.map(pathOf).join(', ')}`);
|
|
65
|
+
}
|
|
66
|
+
const corePath = pathOf(cores[0]);
|
|
67
|
+
const packagePath = optionalPackagePath(corePath, pkg);
|
|
68
|
+
const productsOf = (target) => strings(target['packageProductDependencies']);
|
|
69
|
+
const productName = (id) => objects[id]?.['productName'];
|
|
70
|
+
const targets = Object.entries(objects).filter(([, object]) => object.isa === 'PBXNativeTarget' && productsOf(object).some((id) => productName(id) === 'SwiftBrowserNative'));
|
|
71
|
+
if (targets.length === 0)
|
|
72
|
+
throw new Error('no target links SwiftBrowserNative');
|
|
73
|
+
const edits = [];
|
|
74
|
+
const fresh = freshIds(doc, `${pkg.folder}:${packagePath}`);
|
|
75
|
+
let packageRef = localRefs.find((id) => pathOf(id) === packagePath);
|
|
76
|
+
if (!packageRef) {
|
|
77
|
+
packageRef = fresh('package-ref');
|
|
78
|
+
edits.push(arrayEntry(text, doc.rootObject, 'packageReferences', `${packageRef} /* XCLocalSwiftPackageReference "${packagePath}" */`));
|
|
79
|
+
edits.push(sectionObject(text, 'XCLocalSwiftPackageReference', `\t\t${packageRef} /* XCLocalSwiftPackageReference "${packagePath}" */ = {\n\t\t\tisa = XCLocalSwiftPackageReference;\n\t\t\trelativePath = ${quoted(packagePath)};\n\t\t};\n`));
|
|
80
|
+
}
|
|
81
|
+
const names = [];
|
|
82
|
+
for (const [targetId, target] of targets) {
|
|
83
|
+
names.push(String(target['name'] ?? targetId));
|
|
84
|
+
if (productsOf(target).some((id) => productName(id) === pkg.product))
|
|
85
|
+
continue;
|
|
86
|
+
const productDep = fresh(`product-dep:${targetId}`);
|
|
87
|
+
const buildFile = fresh(`build-file:${targetId}`);
|
|
88
|
+
edits.push(arrayEntry(text, targetId, 'packageProductDependencies', `${productDep} /* ${pkg.product} */`));
|
|
89
|
+
edits.push(sectionObject(text, 'XCSwiftPackageProductDependency', `\t\t${productDep} /* ${pkg.product} */ = {\n\t\t\tisa = XCSwiftPackageProductDependency;\n\t\t\tproductName = ${pkg.product};\n\t\t};\n`));
|
|
90
|
+
edits.push(sectionObject(text, 'PBXBuildFile', `\t\t${buildFile} /* ${pkg.product} in Frameworks */ = {isa = PBXBuildFile; productRef = ${productDep} /* ${pkg.product} */; };\n`));
|
|
91
|
+
const frameworks = strings(target['buildPhases']).find((id) => objects[id]?.isa === 'PBXFrameworksBuildPhase');
|
|
92
|
+
if (!frameworks)
|
|
93
|
+
throw new Error(`target ${String(target['name'])} has no Frameworks build phase`);
|
|
94
|
+
edits.push(arrayEntry(text, frameworks, 'files', `${buildFile} /* ${pkg.product} in Frameworks */`));
|
|
95
|
+
}
|
|
96
|
+
if (edits.length === 0)
|
|
97
|
+
return { text, corePath, packagePath, targets: names, changed: false };
|
|
98
|
+
const edited = apply(text, edits);
|
|
99
|
+
// The edit must read back as the project with the package in it.
|
|
100
|
+
const check = parsePbxproj(edited);
|
|
101
|
+
for (const [targetId] of targets) {
|
|
102
|
+
const deps = strings(check.objects[targetId]['packageProductDependencies']);
|
|
103
|
+
if (!deps.some((id) => check.objects[id]?.['productName'] === pkg.product))
|
|
104
|
+
throw new Error('the edited project does not read back with the package');
|
|
105
|
+
}
|
|
106
|
+
return { text: edited, corePath, packagePath, targets: names, changed: true };
|
|
107
|
+
}
|
|
108
|
+
const defaultIsCore = (relativePath) => /(^|\/)@swiftbrowser\/native\/swift\/?$/.test(relativePath);
|
|
109
|
+
function strings(value) {
|
|
110
|
+
return Array.isArray(value) ? value.filter((item) => typeof item === 'string') : [];
|
|
111
|
+
}
|
|
112
|
+
/** Object ids for the new objects: 24 hex digits, stable for the project and role, none already in it. */
|
|
113
|
+
function freshIds(doc, seed) {
|
|
114
|
+
const taken = new Set(Object.keys(doc.objects));
|
|
115
|
+
return (role) => {
|
|
116
|
+
for (let attempt = 0;; attempt++) {
|
|
117
|
+
const id = createHash('sha1').update(`native-add/${doc.rootObject}/${seed}/${role}/${attempt}`).digest('hex').slice(0, 24).toUpperCase();
|
|
118
|
+
if (!taken.has(id)) {
|
|
119
|
+
taken.add(id);
|
|
120
|
+
return id;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
function quoted(value) {
|
|
126
|
+
return /^[A-Za-z0-9_./$-]+$/.test(value) ? value : JSON.stringify(value);
|
|
127
|
+
}
|
|
128
|
+
function apply(text, edits) {
|
|
129
|
+
// Stable for equal offsets, so objects added to one section keep their order.
|
|
130
|
+
const sorted = edits.map((edit, index) => ({ ...edit, index })).sort((a, b) => b.at - a.at || b.index - a.index);
|
|
131
|
+
let result = text;
|
|
132
|
+
for (const { at, insert } of sorted)
|
|
133
|
+
result = result.slice(0, at) + insert + result.slice(at);
|
|
134
|
+
return result;
|
|
135
|
+
}
|
|
136
|
+
/** A new object at the end of `isa`'s section, or at the start of `objects` when the file has no such section. */
|
|
137
|
+
function sectionObject(text, isa, object) {
|
|
138
|
+
const end = text.indexOf(`/* End ${isa} section */`);
|
|
139
|
+
if (end >= 0)
|
|
140
|
+
return { at: text.lastIndexOf('\n', end) + 1, insert: object };
|
|
141
|
+
const objects = /\bobjects\s*=\s*\{[^\n]*\n/.exec(text);
|
|
142
|
+
if (!objects)
|
|
143
|
+
throw new Error('the project has no objects dictionary');
|
|
144
|
+
return { at: objects.index + objects[0].length, insert: `\n/* Begin ${isa} section */\n${object}/* End ${isa} section */\n` };
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* An entry at the end of the array `key` of the object `id`. The array must be
|
|
148
|
+
* there: a project that links SwiftBrowserNative has its package references,
|
|
149
|
+
* its target's product dependencies and its Frameworks files.
|
|
150
|
+
*/
|
|
151
|
+
function arrayEntry(text, id, key, entry) {
|
|
152
|
+
const [start, end] = objectSpan(text, id);
|
|
153
|
+
const keyAt = new RegExp(`(^|[\\s;{])${key}\\s*=\\s*\\(`, 'g');
|
|
154
|
+
keyAt.lastIndex = start;
|
|
155
|
+
let match;
|
|
156
|
+
while ((match = keyAt.exec(text)) && match.index < end) {
|
|
157
|
+
const open = match.index + match[0].length - 1;
|
|
158
|
+
const close = matching(text, open);
|
|
159
|
+
const lineStart = text.lastIndexOf('\n', close) + 1;
|
|
160
|
+
const before = text.slice(lineStart, close);
|
|
161
|
+
if (/^[ \t]*$/.test(before))
|
|
162
|
+
return { at: lineStart, insert: `${before}\t${entry},\n` };
|
|
163
|
+
const last = text.slice(open + 1, close).trimEnd();
|
|
164
|
+
return { at: close, insert: `${last === '' || last.endsWith(',') ? '' : ', '}${entry}, ` };
|
|
165
|
+
}
|
|
166
|
+
throw new Error(`object ${id} has no ${key} array`);
|
|
167
|
+
}
|
|
168
|
+
/** Where object `id`'s dictionary is in the text: from its `{` to its `}`. */
|
|
169
|
+
function objectSpan(text, id) {
|
|
170
|
+
const definition = new RegExp(`(^|\\n)[ \\t]*${id}(\\s*/\\*[^*]*\\*/)?\\s*=\\s*\\{`).exec(text);
|
|
171
|
+
if (!definition)
|
|
172
|
+
throw new Error(`object ${id} is not in the project`);
|
|
173
|
+
const open = definition.index + definition[0].length - 1;
|
|
174
|
+
return [open, matching(text, open)];
|
|
175
|
+
}
|
|
176
|
+
/** The offset of the bracket closing the one at `open`, past strings and comments. */
|
|
177
|
+
function matching(text, open) {
|
|
178
|
+
const pairs = { '{': '}', '(': ')' };
|
|
179
|
+
const stack = [];
|
|
180
|
+
for (let i = open; i < text.length; i++) {
|
|
181
|
+
const char = text[i];
|
|
182
|
+
if (char === '"') {
|
|
183
|
+
for (i++; i < text.length && text[i] !== '"'; i++)
|
|
184
|
+
if (text[i] === '\\')
|
|
185
|
+
i++;
|
|
186
|
+
}
|
|
187
|
+
else if (char === '/' && text[i + 1] === '*') {
|
|
188
|
+
i = text.indexOf('*/', i + 2) + 1;
|
|
189
|
+
if (i === 0)
|
|
190
|
+
break;
|
|
191
|
+
}
|
|
192
|
+
else if (char === '/' && text[i + 1] === '/') {
|
|
193
|
+
i = text.indexOf('\n', i);
|
|
194
|
+
if (i < 0)
|
|
195
|
+
break;
|
|
196
|
+
}
|
|
197
|
+
else if (char in pairs) {
|
|
198
|
+
stack.push(pairs[char]);
|
|
199
|
+
}
|
|
200
|
+
else if (char === '}' || char === ')') {
|
|
201
|
+
if (stack.pop() !== char)
|
|
202
|
+
break;
|
|
203
|
+
if (stack.length === 0)
|
|
204
|
+
return i;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
throw new Error('unbalanced brackets in the project');
|
|
208
|
+
}
|
|
209
|
+
//# sourceMappingURL=nativePackages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nativePackages.js","sourceRoot":"","sources":["../src/nativePackages.ts"],"names":[],"mappings":"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"}
|
package/dist/nativeTemplate.d.ts
CHANGED
|
@@ -21,6 +21,12 @@ export interface NativeTemplateOptions {
|
|
|
21
21
|
icloud?: boolean;
|
|
22
22
|
/** Sign in with Apple: the `com.apple.developer.applesignin` entitlement (the App ID needs the capability). */
|
|
23
23
|
signInWithApple?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* The optional packages the app links (`--with`, nativePackages.ts): each
|
|
26
|
+
* from its folder under the core's `Packages/`, installed in the App's
|
|
27
|
+
* `init` (the Showcase's SwiftBrowserLocalModel and SwiftBrowserDSP).
|
|
28
|
+
*/
|
|
29
|
+
packages?: readonly string[];
|
|
24
30
|
}
|
|
25
31
|
/** The Xcode project and asset catalog alone: what the examples under Native/Examples regenerate. */
|
|
26
32
|
export declare function nativeXcodeFiles(options: NativeTemplateOptions): TemplateFile[];
|
package/dist/nativeTemplate.js
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
// the same generator, depending on the repository's `Native/` package.
|
|
13
13
|
import { createHash } from 'node:crypto';
|
|
14
14
|
import { readFileSync } from 'node:fs';
|
|
15
|
+
import { optionalPackage, optionalPackagePath } from './nativePackages.js';
|
|
15
16
|
import { ACCENT_COLOR, APP_ICON, APP_NAME, CATALOG_INFO, WORKSPACE } from './template.js';
|
|
16
17
|
/** This package's version, which the new project's `package.json` pins `@swiftbrowser/native` and `@swiftbrowser/react` to. */
|
|
17
18
|
const VERSION = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')).version;
|
|
@@ -25,7 +26,7 @@ export function nativeXcodeFiles(options) {
|
|
|
25
26
|
const bundleId = options.bundleId ?? `com.example.${name}`;
|
|
26
27
|
const packagePath = options.packagePath ?? DEFAULT_PACKAGE_PATH;
|
|
27
28
|
return [
|
|
28
|
-
{ path: `${name}.xcodeproj/project.pbxproj`, contents: pbxproj(name, bundleId, packagePath, options.infoPlist ?? {}, { icloud: options.icloud === true, entitlements: options.icloud === true || options.signInWithApple === true }) },
|
|
29
|
+
{ path: `${name}.xcodeproj/project.pbxproj`, contents: pbxproj(name, bundleId, packagePath, options.infoPlist ?? {}, { icloud: options.icloud === true, entitlements: options.icloud === true || options.signInWithApple === true }, (options.packages ?? []).map(optionalPackage)) },
|
|
29
30
|
{ path: `${name}.xcodeproj/project.xcworkspace/contents.xcworkspacedata`, contents: WORKSPACE },
|
|
30
31
|
...(options.icloud || options.signInWithApple
|
|
31
32
|
? [{ path: `ios/${name}.entitlements`, contents: entitlements(bundleId, { icloud: options.icloud === true, signInWithApple: options.signInWithApple === true }) }]
|
|
@@ -43,9 +44,9 @@ export function nativeProjectFiles(options) {
|
|
|
43
44
|
const version = options.version ?? VERSION;
|
|
44
45
|
return [
|
|
45
46
|
...nativeXcodeFiles(options),
|
|
46
|
-
{ path: `ios/${name}App.swift`, contents: appSource(name) },
|
|
47
|
+
{ path: `ios/${name}App.swift`, contents: appSource(name, (options.packages ?? []).map(optionalPackage)) },
|
|
47
48
|
{ path: 'ios/NativeFunctions.swift', contents: nativeFunctionsSource(name) },
|
|
48
|
-
{ path: 'package.json', contents: json(packageJson(name, version)) },
|
|
49
|
+
{ path: 'package.json', contents: json(packageJson(name, version, (options.packages ?? []).map(optionalPackage))) },
|
|
49
50
|
{ path: 'tsconfig.json', contents: json(TSCONFIG) },
|
|
50
51
|
{ path: 'vite.config.ts', contents: VITE_CONFIG },
|
|
51
52
|
{ path: 'src/index.tsx', contents: INDEX },
|
|
@@ -97,9 +98,10 @@ The native side is the \`ios/\` folder (the Xcode target's): \`${name}App.swift\
|
|
|
97
98
|
\`NativeRegistry\` renders through \`<Native name=...>\` (all from \`@swiftbrowser/native\`).
|
|
98
99
|
`;
|
|
99
100
|
}
|
|
100
|
-
function appSource(name) {
|
|
101
|
-
|
|
102
|
-
|
|
101
|
+
function appSource(name, packages = []) {
|
|
102
|
+
const imports = ['SwiftBrowserNative', 'SwiftUI', ...packages.map((pkg) => pkg.product)].sort().map((module) => `import ${module}`).join('\n');
|
|
103
|
+
const installs = packages.map((pkg) => `\n${pkg.install.map((line) => ` ${line}`).join('\n')}`).join('');
|
|
104
|
+
return `${imports}
|
|
103
105
|
|
|
104
106
|
// The whole native side of the app. The logic is JavaScript: \`../src\` builds
|
|
105
107
|
// to \`app.js\` in this folder (\`npm run build\` at the project's root), which Xcode bundles
|
|
@@ -119,7 +121,7 @@ struct ${name}App: App {
|
|
|
119
121
|
|
|
120
122
|
init() {
|
|
121
123
|
// Swift the JavaScript calls (NativeFunctions.swift), registered before the bundle loads.
|
|
122
|
-
registerNativeFunctions()
|
|
124
|
+
registerNativeFunctions()${installs}
|
|
123
125
|
}
|
|
124
126
|
|
|
125
127
|
var body: some Scene {
|
|
@@ -181,7 +183,7 @@ func registerNativeFunctions() {
|
|
|
181
183
|
}
|
|
182
184
|
`;
|
|
183
185
|
}
|
|
184
|
-
function packageJson(name, version) {
|
|
186
|
+
function packageJson(name, version, packages = []) {
|
|
185
187
|
return {
|
|
186
188
|
name: `${name.toLowerCase()}-app`,
|
|
187
189
|
private: true,
|
|
@@ -199,6 +201,7 @@ function packageJson(name, version) {
|
|
|
199
201
|
'@swiftbrowser/native': version,
|
|
200
202
|
'@swiftbrowser/react': version,
|
|
201
203
|
'@swiftbrowser/web': version,
|
|
204
|
+
...Object.fromEntries(packages.flatMap((pkg) => (pkg.npm ? [[pkg.npm, version]] : []))),
|
|
202
205
|
react: '^19.3.0',
|
|
203
206
|
'react-reconciler': '^0.34.0',
|
|
204
207
|
},
|
|
@@ -423,8 +426,17 @@ function objectId(name, role) {
|
|
|
423
426
|
function settings(pairs) {
|
|
424
427
|
return pairs.map(([key, value]) => `\t\t\t\t${key} = ${value};`).join('\n');
|
|
425
428
|
}
|
|
426
|
-
function pbxproj(name, bundleId, packagePath, infoPlist, capabilities = { icloud: false, entitlements: false }) {
|
|
429
|
+
function pbxproj(name, bundleId, packagePath, infoPlist, capabilities = { icloud: false, entitlements: false }, packages = []) {
|
|
427
430
|
const id = (role) => objectId(name, role);
|
|
431
|
+
// Each optional package: its reference, its product and the product's build file, after SwiftBrowserNative's.
|
|
432
|
+
const more = packages.map((pkg) => ({
|
|
433
|
+
path: optionalPackagePath(packagePath, pkg),
|
|
434
|
+
product: pkg.product,
|
|
435
|
+
packageRef: id(`package-ref:${optionalPackagePath(packagePath, pkg)}`),
|
|
436
|
+
productDep: id(`product-dep:${pkg.product}`),
|
|
437
|
+
buildFile: id(`build-file:${pkg.product}`),
|
|
438
|
+
}));
|
|
439
|
+
const lines = (line) => more.map((pkg) => `\n${line(pkg)}`).join('');
|
|
428
440
|
const app = id('product');
|
|
429
441
|
const folder = id('folder');
|
|
430
442
|
const frameworks = id('frameworks');
|
|
@@ -521,7 +533,7 @@ function pbxproj(name, bundleId, packagePath, infoPlist, capabilities = { icloud
|
|
|
521
533
|
objects = {
|
|
522
534
|
|
|
523
535
|
/* Begin PBXBuildFile section */
|
|
524
|
-
${buildFile} /* SwiftBrowserNative in Frameworks */ = {isa = PBXBuildFile; productRef = ${productDep} /* SwiftBrowserNative */; };
|
|
536
|
+
${buildFile} /* SwiftBrowserNative in Frameworks */ = {isa = PBXBuildFile; productRef = ${productDep} /* SwiftBrowserNative */; };${lines((pkg) => `\t\t${pkg.buildFile} /* ${pkg.product} in Frameworks */ = {isa = PBXBuildFile; productRef = ${pkg.productDep} /* ${pkg.product} */; };`)}
|
|
525
537
|
/* End PBXBuildFile section */
|
|
526
538
|
|
|
527
539
|
/* Begin PBXFileReference section */
|
|
@@ -541,7 +553,7 @@ function pbxproj(name, bundleId, packagePath, infoPlist, capabilities = { icloud
|
|
|
541
553
|
isa = PBXFrameworksBuildPhase;
|
|
542
554
|
buildActionMask = 2147483647;
|
|
543
555
|
files = (
|
|
544
|
-
${buildFile} /* SwiftBrowserNative in Frameworks
|
|
556
|
+
${buildFile} /* SwiftBrowserNative in Frameworks */,${lines((pkg) => `\t\t\t\t${pkg.buildFile} /* ${pkg.product} in Frameworks */,`)}
|
|
545
557
|
);
|
|
546
558
|
runOnlyForDeploymentPostprocessing = 0;
|
|
547
559
|
};
|
|
@@ -584,7 +596,7 @@ function pbxproj(name, bundleId, packagePath, infoPlist, capabilities = { icloud
|
|
|
584
596
|
);
|
|
585
597
|
name = ${name};
|
|
586
598
|
packageProductDependencies = (
|
|
587
|
-
${productDep} /* SwiftBrowserNative
|
|
599
|
+
${productDep} /* SwiftBrowserNative */,${lines((pkg) => `\t\t\t\t${pkg.productDep} /* ${pkg.product} */,`)}
|
|
588
600
|
);
|
|
589
601
|
productName = ${name};
|
|
590
602
|
productReference = ${app} /* ${name}.app */;
|
|
@@ -615,7 +627,7 @@ function pbxproj(name, bundleId, packagePath, infoPlist, capabilities = { icloud
|
|
|
615
627
|
mainGroup = ${mainGroup};
|
|
616
628
|
minimizedProjectReferenceProxies = 1;
|
|
617
629
|
packageReferences = (
|
|
618
|
-
${packageRef} /* XCLocalSwiftPackageReference "${packagePath}"
|
|
630
|
+
${packageRef} /* XCLocalSwiftPackageReference "${packagePath}" */,${lines((pkg) => `\t\t\t\t${pkg.packageRef} /* XCLocalSwiftPackageReference "${pkg.path}" */,`)}
|
|
619
631
|
);
|
|
620
632
|
preferredProjectObjectVersion = 77;
|
|
621
633
|
productRefGroup = ${products} /* Products */;
|
|
@@ -703,14 +715,14 @@ ${targetSettings}
|
|
|
703
715
|
${packageRef} /* XCLocalSwiftPackageReference "${packagePath}" */ = {
|
|
704
716
|
isa = XCLocalSwiftPackageReference;
|
|
705
717
|
relativePath = ${quoted(packagePath)};
|
|
706
|
-
}
|
|
718
|
+
};${lines((pkg) => `\t\t${pkg.packageRef} /* XCLocalSwiftPackageReference "${pkg.path}" */ = {\n\t\t\tisa = XCLocalSwiftPackageReference;\n\t\t\trelativePath = ${quoted(pkg.path)};\n\t\t};`)}
|
|
707
719
|
/* End XCLocalSwiftPackageReference section */
|
|
708
720
|
|
|
709
721
|
/* Begin XCSwiftPackageProductDependency section */
|
|
710
722
|
${productDep} /* SwiftBrowserNative */ = {
|
|
711
723
|
isa = XCSwiftPackageProductDependency;
|
|
712
724
|
productName = SwiftBrowserNative;
|
|
713
|
-
}
|
|
725
|
+
};${lines((pkg) => `\t\t${pkg.productDep} /* ${pkg.product} */ = {\n\t\t\tisa = XCSwiftPackageProductDependency;\n\t\t\tproductName = ${pkg.product};\n\t\t};`)}
|
|
714
726
|
/* End XCSwiftPackageProductDependency section */
|
|
715
727
|
};
|
|
716
728
|
rootObject = ${project} /* Project object */;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nativeTemplate.js","sourceRoot":"","sources":["../src/nativeTemplate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nativeTemplate.js","sourceRoot":"","sources":["../src/nativeTemplate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { TemplateFile } from './template.js';
|
|
2
|
+
/** The repository whose reusable workflows the callers use. */
|
|
3
|
+
export declare const WORKFLOWS_REPOSITORY = "noya-app/SwiftBrowser";
|
|
4
|
+
export interface NativeWorkflowOptions {
|
|
5
|
+
/** The app's name: its Xcode project and scheme. */
|
|
6
|
+
name: string;
|
|
7
|
+
bundleId: string;
|
|
8
|
+
/** The app's folder relative to the repository's root, `.` when it is the root. */
|
|
9
|
+
directory: string;
|
|
10
|
+
/** The Cloudflare Pages project; one made from the name by default. */
|
|
11
|
+
pagesProject?: string;
|
|
12
|
+
/** The SwiftBrowser release the workflows are pinned to; this package's by default. */
|
|
13
|
+
version?: string;
|
|
14
|
+
}
|
|
15
|
+
/** A Cloudflare Pages project name from an app name: `WeatherApp` → `weather-app`. */
|
|
16
|
+
export declare function pagesProjectName(name: string): string;
|
|
17
|
+
/** The two workflow files, relative to the repository's root. */
|
|
18
|
+
export declare function nativeWorkflowFiles(options: NativeWorkflowOptions): TemplateFile[];
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
// The GitHub Actions workflows of a new native app (`swiftbrowser native init
|
|
2
|
+
// --github`): two short callers of SwiftBrowser's reusable workflows, the
|
|
3
|
+
// web page (sb-web.yml) and the ad hoc iOS build (sb-ios-adhoc.yml), pinned
|
|
4
|
+
// to the release the app's @swiftbrowser packages are at, so the two move
|
|
5
|
+
// together. They go in the repository's .github/workflows, which may be
|
|
6
|
+
// above the app's folder (a monorepo), naming the app's folder.
|
|
7
|
+
import { readFileSync } from 'node:fs';
|
|
8
|
+
const VERSION = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')).version;
|
|
9
|
+
/** The repository whose reusable workflows the callers use. */
|
|
10
|
+
export const WORKFLOWS_REPOSITORY = 'noya-app/SwiftBrowser';
|
|
11
|
+
/** A Cloudflare Pages project name from an app name: `WeatherApp` → `weather-app`. */
|
|
12
|
+
export function pagesProjectName(name) {
|
|
13
|
+
return name
|
|
14
|
+
.replace(/([a-z0-9])([A-Z])/g, '$1-$2')
|
|
15
|
+
.replace(/([A-Z])([A-Z][a-z])/g, '$1-$2')
|
|
16
|
+
.toLowerCase()
|
|
17
|
+
.replace(/[^a-z0-9-]+/g, '-')
|
|
18
|
+
.replace(/^-+|-+$/g, '')
|
|
19
|
+
.slice(0, 58);
|
|
20
|
+
}
|
|
21
|
+
/** The two workflow files, relative to the repository's root. */
|
|
22
|
+
export function nativeWorkflowFiles(options) {
|
|
23
|
+
const { name, bundleId } = options;
|
|
24
|
+
const directory = options.directory.replace(/\/+$/, '') || '.';
|
|
25
|
+
const project = options.pagesProject ?? pagesProjectName(name);
|
|
26
|
+
const version = options.version ?? VERSION;
|
|
27
|
+
const atRoot = directory === '.';
|
|
28
|
+
// In a monorepo, named for the app, and run only for what changes it.
|
|
29
|
+
const file = (kind) => `.github/workflows/${atRoot ? kind : `${pagesProjectName(name)}-${kind}`}.yml`;
|
|
30
|
+
const web = file('web');
|
|
31
|
+
const ios = file('ios');
|
|
32
|
+
const paths = (own) => (atRoot ? '' : `\n paths:\n - '${directory}/**'\n - ${own}`);
|
|
33
|
+
const uses = (workflow) => `${WORKFLOWS_REPOSITORY}/.github/workflows/${workflow}@v${version}`;
|
|
34
|
+
const directoryLine = atRoot ? '' : `\n directory: ${directory}`;
|
|
35
|
+
return [
|
|
36
|
+
{
|
|
37
|
+
path: web,
|
|
38
|
+
contents: `name: ${name} web
|
|
39
|
+
|
|
40
|
+
# ${name} as a web page on Cloudflare Pages: main deploys to
|
|
41
|
+
# https://${project}.pages.dev, a pull request to a preview whose address is
|
|
42
|
+
# commented on it. SwiftBrowser's reusable sb-web.yml does the work, at the
|
|
43
|
+
# release the app's @swiftbrowser packages are at: move the two together.
|
|
44
|
+
#
|
|
45
|
+
# Secrets: CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID (a token that can
|
|
46
|
+
# edit Cloudflare Pages); without them the page is built but not deployed.
|
|
47
|
+
|
|
48
|
+
on:
|
|
49
|
+
push:
|
|
50
|
+
branches: [main]${paths(web)}
|
|
51
|
+
pull_request:${paths(web)}
|
|
52
|
+
workflow_dispatch:
|
|
53
|
+
|
|
54
|
+
concurrency:
|
|
55
|
+
group: ${pagesProjectName(name)}-web-\${{ github.ref }}
|
|
56
|
+
cancel-in-progress: true
|
|
57
|
+
|
|
58
|
+
permissions:
|
|
59
|
+
contents: read
|
|
60
|
+
pull-requests: write
|
|
61
|
+
|
|
62
|
+
jobs:
|
|
63
|
+
web:
|
|
64
|
+
uses: ${uses('sb-web.yml')}
|
|
65
|
+
with:${directoryLine}
|
|
66
|
+
pages-project: ${project}
|
|
67
|
+
secrets: inherit
|
|
68
|
+
`,
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
path: ios,
|
|
72
|
+
contents: `name: ${name} iOS build
|
|
73
|
+
|
|
74
|
+
# ${name} as an ad hoc build that installs over the air, from
|
|
75
|
+
# https://ios.${project}.pages.dev, on the iPhones registered with the team:
|
|
76
|
+
# the profile is made fresh for each build with every registered device.
|
|
77
|
+
# SwiftBrowser's reusable sb-ios-adhoc.yml does the work, at the release the
|
|
78
|
+
# app's @swiftbrowser packages are at: move the two together. By hand only,
|
|
79
|
+
# as a macOS runner costs ten Linux minutes a minute; add a push trigger
|
|
80
|
+
# with the app's paths to build on every change.
|
|
81
|
+
#
|
|
82
|
+
# Secrets: APPLE_TEAM_ID, APPLE_DIST_P12_BASE64 and APPLE_DIST_P12_PASSWORD
|
|
83
|
+
# (an Apple Distribution certificate), ASC_KEY_ID, ASC_ISSUER_ID and
|
|
84
|
+
# ASC_KEY_P8 (an App Store Connect API key with the Admin or App Manager
|
|
85
|
+
# role), CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID.
|
|
86
|
+
|
|
87
|
+
on:
|
|
88
|
+
workflow_dispatch:
|
|
89
|
+
|
|
90
|
+
concurrency:
|
|
91
|
+
group: ${pagesProjectName(name)}-ios
|
|
92
|
+
cancel-in-progress: false
|
|
93
|
+
|
|
94
|
+
permissions:
|
|
95
|
+
contents: read
|
|
96
|
+
|
|
97
|
+
jobs:
|
|
98
|
+
ios:
|
|
99
|
+
uses: ${uses('sb-ios-adhoc.yml')}
|
|
100
|
+
with:
|
|
101
|
+
app: ${name}
|
|
102
|
+
bundle-id: ${bundleId}${directoryLine}
|
|
103
|
+
pages-project: ${project}
|
|
104
|
+
secrets: inherit
|
|
105
|
+
`,
|
|
106
|
+
},
|
|
107
|
+
];
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=nativeWorkflows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nativeWorkflows.js","sourceRoot":"","sources":["../src/nativeWorkflows.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,0EAA0E;AAC1E,4EAA4E;AAC5E,0EAA0E;AAC1E,wEAAwE;AACxE,gEAAgE;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGvC,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;AAEvI,+DAA+D;AAC/D,MAAM,CAAC,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAc5D,sFAAsF;AACtF,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,IAAI;SACR,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;SACtC,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC;SACxC,WAAW,EAAE;SACb,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC;SAC5B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,mBAAmB,CAAC,OAA8B;IAChE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACnC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;IAC/D,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,KAAK,GAAG,CAAC;IACjC,sEAAsE;IACtE,MAAM,IAAI,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,qBAAqB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,MAAM,CAAC;IACtH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACxB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACxB,MAAM,KAAK,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,SAAS,iBAAiB,GAAG,EAAE,CAAC,CAAC;IACjH,MAAM,IAAI,GAAG,CAAC,QAAgB,EAAU,EAAE,CAAC,GAAG,oBAAoB,sBAAsB,QAAQ,KAAK,OAAO,EAAE,CAAC;IAC/G,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,SAAS,EAAE,CAAC;IACtE,OAAO;QACL;YACE,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,SAAS,IAAI;;IAEzB,IAAI;YACI,OAAO;;;;;;;;;sBASG,KAAK,CAAC,GAAG,CAAC;iBACf,KAAK,CAAC,GAAG,CAAC;;;;WAIhB,gBAAgB,CAAC,IAAI,CAAC;;;;;;;;;YASrB,IAAI,CAAC,YAAY,CAAC;WACnB,aAAa;uBACD,OAAO;;CAE7B;SACI;QACD;YACE,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,SAAS,IAAI;;IAEzB,IAAI;gBACQ,OAAO;;;;;;;;;;;;;;;;WAgBZ,gBAAgB,CAAC,IAAI,CAAC;;;;;;;;YAQrB,IAAI,CAAC,kBAAkB,CAAC;;aAEvB,IAAI;mBACE,QAAQ,GAAG,aAAa;uBACpB,OAAO;;CAE7B;SACI;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@swiftbrowser/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.19.0",
|
|
4
4
|
"description": "Run an iOS SwiftUI app in the browser: init, doctor, check, dev and build for an Xcode project or a folder of Swift sources.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -22,12 +22,12 @@
|
|
|
22
22
|
"build": "tsc -p tsconfig.build.json"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@swiftbrowser/kit": "0.
|
|
26
|
-
"@swiftbrowser/native": "0.
|
|
27
|
-
"@swiftbrowser/swift": "0.
|
|
28
|
-
"@swiftbrowser/wasm-compiler": "0.
|
|
29
|
-
"@swiftbrowser/web": "0.
|
|
30
|
-
"@swiftbrowser/xcodeproj": "0.
|
|
25
|
+
"@swiftbrowser/kit": "0.19.0",
|
|
26
|
+
"@swiftbrowser/native": "0.19.0",
|
|
27
|
+
"@swiftbrowser/swift": "0.19.0",
|
|
28
|
+
"@swiftbrowser/wasm-compiler": "0.19.0",
|
|
29
|
+
"@swiftbrowser/web": "0.19.0",
|
|
30
|
+
"@swiftbrowser/xcodeproj": "0.19.0"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@types/node": "^26.6.4",
|