@swiftbrowser/cli 0.9.12 → 0.10.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 CHANGED
@@ -8,6 +8,7 @@ npx @swiftbrowser/cli init MyApp # a new SwiftUI app, as an Xcode
8
8
  npx @swiftbrowser/cli dev ~/Projects/MyApp # http://localhost:5173, rebuilds on save
9
9
  npx @swiftbrowser/cli test ~/Projects/MyApp # the app's unit tests, in WebAssembly
10
10
  npx @swiftbrowser/cli build ~/Projects/MyApp # ./dist: a static site to deploy anywhere
11
+ npx @swiftbrowser/cli native init MyApp # the other way round: a native iOS app whose logic is JavaScript
11
12
  ```
12
13
 
13
14
  The app's sources compile unchanged against [SwiftBrowser](https://github.com/noya-app/SwiftBrowser)'s
@@ -26,6 +27,9 @@ the shim does not provide is a compile error, never a wrong rendering.
26
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. |
27
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. |
28
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/`). |
31
+ | `native build <entry> --out <file>` | Bundles the app's entry module (`js/src/index.tsx`) into the `app.js` the Xcode target ships (`--minify`, `--sourcemap`), as the project's `npm run build` does through `swiftbrowser-native`. |
32
+ | `native dev <entry> --out <file>` | Serves the bundle with rebuild on save for `NativeApp.watch(url:)` (`--port`, default 5173). |
29
33
 
30
34
  `<path>` is an `.xcodeproj`, a folder holding one (directly or one level
31
35
  down), or a plain folder of Swift sources. Options for all of them:
package/dist/cli.js CHANGED
@@ -16,20 +16,26 @@ ${bold('Usage')}
16
16
  swiftbrowser build <path> [-o <dir>] optimized module and a static site
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
+ swiftbrowser native init [<dir>] a new native app: SwiftUI views, logic in JavaScript (@swiftbrowser/react)
20
+ swiftbrowser native build <entry> --out <file> its app.js bundle for the Xcode target
21
+ swiftbrowser native dev <entry> --out <file> serve the bundle with rebuild and refresh on save
19
22
 
20
23
  ${bold('<path>')} is an .xcodeproj, a folder holding one, or a folder of Swift sources
21
24
  (optionally with a swiftbrowser.json).
22
25
 
23
26
  ${bold('Options')}
24
- --name <Name> the new app's name (init; default: from the directory)
25
- --bundle-id <id> the new app's bundle identifier (init; default com.example.<Name>)
27
+ --name <Name> the new app's name (init, native init; default: from the directory)
28
+ --bundle-id <id> the new app's bundle identifier (init, native init; default com.example.<Name>)
29
+ --package <dir> the SwiftBrowserNative Swift package the project depends on
30
+ (native init; default: the one @swiftbrowser/native ships)
31
+ --minify, --sourcemap bundle options (native build, native dev)
26
32
  --target <name> the Xcode app target to build (when there are several)
27
33
  --config <file> a swiftbrowser.json other than the project's
28
34
  --port <n> dev server port (default 5173)
29
35
  --host [<address>] expose the dev server on the network (all interfaces,
30
36
  or one address: --host 192.168.1.20, --host=myhost)
31
37
  --open open the browser (dev)
32
- -o, --out <dir> output directory (build; default <project>/dist)
38
+ -o, --out <dir> output directory (build; default <project>/dist), or the bundle to write (native)
33
39
  --no-optimize skip wasm-opt (build)
34
40
  --cors-proxy <url> retry cross-origin reads the browser refuses through a
35
41
  CORS proxy (packages/cors-proxy; dev, build)
@@ -89,6 +95,9 @@ export async function main(argv) {
89
95
  verbose: { type: 'boolean' },
90
96
  'wasm-macros': { type: 'boolean' },
91
97
  compiler: { type: 'string' },
98
+ package: { type: 'string' },
99
+ minify: { type: 'boolean' },
100
+ sourcemap: { type: 'boolean' },
92
101
  },
93
102
  });
94
103
  }
@@ -186,6 +195,43 @@ export async function main(argv) {
186
195
  await test(needsPath(), { ...appOptions, ...(values.verbose ? { verbose: true } : {}) });
187
196
  return 0;
188
197
  }
198
+ case 'native': {
199
+ const { nativeBuild, nativeDev, nativeInit } = await import('./commands/native.js');
200
+ const [, subcommand, argument] = positionals;
201
+ const bundleOptions = () => {
202
+ if (!argument)
203
+ throw new CliError(`native ${subcommand} needs the app's entry module (js/src/index.tsx)`, 2);
204
+ if (!values.out)
205
+ throw new CliError(`native ${subcommand} needs --out <App/app.js>, the bundle to write`, 2);
206
+ return {
207
+ entry: argument,
208
+ out: values.out,
209
+ ...(values.minify ? { minify: true } : {}),
210
+ ...(values.sourcemap ? { sourcemap: true } : {}),
211
+ };
212
+ };
213
+ switch (subcommand) {
214
+ case 'init':
215
+ nativeInit(argument, {
216
+ ...(values.name !== undefined ? { name: values.name } : {}),
217
+ ...(values['bundle-id'] !== undefined ? { bundleId: values['bundle-id'] } : {}),
218
+ ...(values.package !== undefined ? { package: values.package } : {}),
219
+ });
220
+ return 0;
221
+ case 'build':
222
+ await nativeBuild(bundleOptions());
223
+ return 0;
224
+ case 'dev': {
225
+ const port = values.port !== undefined ? Number(values.port) : undefined;
226
+ if (port !== undefined && !Number.isInteger(port))
227
+ throw new CliError('--port must be a number', 2);
228
+ await nativeDev({ ...bundleOptions(), ...(port !== undefined ? { port } : {}) });
229
+ return 0;
230
+ }
231
+ default:
232
+ throw new CliError(`native takes init, build or dev${subcommand ? `, not ${subcommand}` : ''}`, 2);
233
+ }
234
+ }
189
235
  case 'build': {
190
236
  const { build } = await import('./commands/build.js');
191
237
  await build(needsPath(), {
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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"}
@@ -0,0 +1,40 @@
1
+ export interface NativeInitOptions {
2
+ /** The app name; defaults to one made from the directory's name. */
3
+ name?: string;
4
+ /** Defaults to `com.example.<name>`. */
5
+ bundleId?: string;
6
+ /**
7
+ * The SwiftBrowserNative package directory the Xcode project depends on,
8
+ * relative to the working directory; the one `@swiftbrowser/native` ships
9
+ * (`js/node_modules/@swiftbrowser/native/swift`, after `npm install` in
10
+ * `js/`) by default.
11
+ */
12
+ package?: string;
13
+ }
14
+ export interface NativeInitResult {
15
+ dir: string;
16
+ name: string;
17
+ /** Files written, relative to `dir`. */
18
+ written: string[];
19
+ }
20
+ /**
21
+ * Writes a new native app into `dir` (created if missing). An existing
22
+ * directory is fine as long as the project's own paths are free; a
23
+ * `.gitignore` there gets the lines it lacks and a README is added only
24
+ * where there is none.
25
+ */
26
+ export declare function nativeInit(dirArg: string | undefined, options?: NativeInitOptions): NativeInitResult;
27
+ export interface NativeBundleOptions {
28
+ /** The app's entry module, which calls `run(<App />)`. */
29
+ entry: string;
30
+ /** Where to write the bundle: `<App>/app.js` in the Xcode target's folder. */
31
+ out: string;
32
+ minify?: boolean;
33
+ sourcemap?: boolean;
34
+ /** `dev` only; 5173 by default. */
35
+ port?: number;
36
+ }
37
+ /** `swiftbrowser native build <entry> --out <file>`: writes the bundle once. */
38
+ export declare function nativeBuild(options: NativeBundleOptions): Promise<void>;
39
+ /** `swiftbrowser native dev <entry> --out <file>`: serves the bundle with rebuild on save for `NativeApp.watch(url:)`. */
40
+ export declare function nativeDev(options: NativeBundleOptions): Promise<void>;
@@ -0,0 +1,100 @@
1
+ // `swiftbrowser native init|build|dev`: SwiftBrowser Native apps (iOS apps
2
+ // whose logic is a @swiftbrowser/react app in JavaScriptCore, drawn by real
3
+ // SwiftUI). `init` writes a project (nativeTemplate.ts); `build` and `dev`
4
+ // are @swiftbrowser/native's bundler, which the project's `js/` scripts also
5
+ // run as `swiftbrowser-native`.
6
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
7
+ import path from 'node:path';
8
+ import { CliError, bold, dim, info, ok } from '../log.js';
9
+ import { DEFAULT_PACKAGE_PATH, nativeGitignoreLines, nativeProjectFiles, nativeReadme } from '../nativeTemplate.js';
10
+ import { APP_NAME, appNameFrom, mergeGitignore } from '../template.js';
11
+ /**
12
+ * Writes a new native app into `dir` (created if missing). An existing
13
+ * directory is fine as long as the project's own paths are free; a
14
+ * `.gitignore` there gets the lines it lacks and a README is added only
15
+ * where there is none.
16
+ */
17
+ export function nativeInit(dirArg, options = {}) {
18
+ const dir = path.resolve(dirArg ?? '.');
19
+ const name = options.name ?? appNameFrom(path.basename(dir));
20
+ if (!name)
21
+ throw new CliError(`cannot make an app name from "${path.basename(dir)}"; pass --name <Name>`, 2);
22
+ if (!APP_NAME.test(name)) {
23
+ throw new CliError(`--name must be a Swift type name (a letter, then letters and digits): ${name}`, 2);
24
+ }
25
+ for (const taken of [`${name}.xcodeproj`, name, 'js']) {
26
+ if (existsSync(path.join(dir, taken)))
27
+ throw new CliError(`${path.join(dir, taken)} already exists; pick another --name or directory`);
28
+ }
29
+ let packagePath = DEFAULT_PACKAGE_PATH;
30
+ if (options.package !== undefined) {
31
+ const resolved = path.resolve(options.package);
32
+ if (!existsSync(path.join(resolved, 'Package.swift')))
33
+ throw new CliError(`--package: no Package.swift in ${resolved}`, 2);
34
+ packagePath = path.relative(dir, resolved).split(path.sep).join('/');
35
+ }
36
+ const written = [];
37
+ const write = (relative, contents) => {
38
+ const file = path.join(dir, relative);
39
+ mkdirSync(path.dirname(file), { recursive: true });
40
+ writeFileSync(file, contents);
41
+ written.push(relative);
42
+ };
43
+ for (const file of nativeProjectFiles({ name, packagePath, ...(options.bundleId ? { bundleId: options.bundleId } : {}) })) {
44
+ write(file.path, file.contents);
45
+ }
46
+ const gitignore = path.join(dir, '.gitignore');
47
+ const existing = existsSync(gitignore) ? readFileSync(gitignore, 'utf8') : undefined;
48
+ const merged = mergeGitignore(existing, nativeGitignoreLines(name));
49
+ if (merged !== existing)
50
+ write('.gitignore', merged);
51
+ if (!existsSync(path.join(dir, 'README.md')))
52
+ write('README.md', nativeReadme(name));
53
+ const shown = path.relative(process.cwd(), dir) || '.';
54
+ info(ok(`created ${bold(name)} in ${shown}`));
55
+ for (const file of written)
56
+ info(dim(` ${file}`));
57
+ info(`\n${bold('Next')}`);
58
+ const quote = (arg) => (/[\s"']/.test(arg) ? JSON.stringify(arg) : arg);
59
+ const steps = [
60
+ [`cd ${quote(path.join(shown, 'js'))} && npm install`, 'React, @swiftbrowser/react and @swiftbrowser/native (which carries the Swift package)'],
61
+ ['npm run build', `write ../${name}/app.js, the bundle the app ships`],
62
+ [`open ../${name}.xcodeproj`, 'run it on a simulator'],
63
+ ['npm run dev', 'rebuild and refresh on save (enable SB_DEV_SERVER in the scheme)'],
64
+ ];
65
+ const width = Math.max(...steps.map(([command]) => command.length)) + 3;
66
+ for (const [command, what] of steps)
67
+ info(` ${command.padEnd(width)}${dim(what)}`);
68
+ return { dir, name, written };
69
+ }
70
+ const kb = (bytes) => `${(bytes / 1024).toFixed(0)} kB`;
71
+ /** `swiftbrowser native build <entry> --out <file>`: writes the bundle once. */
72
+ export async function nativeBuild(options) {
73
+ const { buildApp } = await import('@swiftbrowser/native/build');
74
+ const outfile = path.resolve(options.out);
75
+ const result = await buildApp({ entry: path.resolve(options.entry), outfile, minify: options.minify ?? false, sourcemap: options.sourcemap ?? false });
76
+ for (const warning of result.warnings)
77
+ info(warning);
78
+ info(ok(`${outfile}: ${kb(result.bytes)}`));
79
+ }
80
+ /** `swiftbrowser native dev <entry> --out <file>`: serves the bundle with rebuild on save for `NativeApp.watch(url:)`. */
81
+ export async function nativeDev(options) {
82
+ const { serve } = await import('@swiftbrowser/native/build');
83
+ const outfile = path.resolve(options.out);
84
+ const port = options.port ?? 5173;
85
+ await serve({
86
+ entry: path.resolve(options.entry),
87
+ outfile,
88
+ minify: options.minify ?? false,
89
+ sourcemap: options.sourcemap ?? false,
90
+ port,
91
+ onBuild: (result) => {
92
+ if (result instanceof Error)
93
+ info(result.message);
94
+ else
95
+ info(`${new Date().toLocaleTimeString()} built ${kb(result.bytes)} → ${outfile}`);
96
+ },
97
+ });
98
+ info(`serving http://localhost:${port}/ ${dim('(NativeApp.watch(url:) in a Debug build loads vendor.js once and refreshes app.js on every save)')}`);
99
+ }
100
+ //# sourceMappingURL=native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native.js","sourceRoot":"","sources":["../../src/commands/native.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { type TemplateFile } from './template.js';
2
+ /** Where the Swift package is, relative to the project directory, when `init` is not told otherwise. */
3
+ export declare const DEFAULT_PACKAGE_PATH = "js/node_modules/@swiftbrowser/native/swift";
4
+ export interface NativeTemplateOptions {
5
+ /** The app, target and folder name; must match `APP_NAME`. */
6
+ name: string;
7
+ /** Defaults to `com.example.<name>`. */
8
+ bundleId?: string;
9
+ /** The SwiftBrowserNative package's directory, relative to the project directory (`DEFAULT_PACKAGE_PATH`). */
10
+ packagePath?: string;
11
+ /** The `@swiftbrowser/*` version the `js/` project depends on; this package's by default. */
12
+ version?: string;
13
+ }
14
+ /** The Xcode project and asset catalog alone: what the examples under Native/Examples regenerate. */
15
+ export declare function nativeXcodeFiles(options: NativeTemplateOptions): TemplateFile[];
16
+ /** Every file of a new native app, relative to its directory. */
17
+ export declare function nativeProjectFiles(options: NativeTemplateOptions): TemplateFile[];
18
+ /** The lines a new native project's `.gitignore` holds (merged into an existing one). */
19
+ export declare function nativeGitignoreLines(name: string): string[];
20
+ /** A short README for a new native project (written only where there is none). */
21
+ export declare function nativeReadme(name: string): string;
@@ -0,0 +1,562 @@
1
+ // The files of a SwiftBrowser Native app (`swiftbrowser native init`): an
2
+ // Xcode project with one iOS app target over a synchronized folder (the App
3
+ // file, the asset catalog and the `app.js` bundle), depending on the
4
+ // SwiftBrowserNative Swift package at a relative path (by default the one
5
+ // `@swiftbrowser/native` ships, under `js/node_modules`), and the `js/`
6
+ // project whose `npm run build` writes the bundle. The project layout and
7
+ // settings follow template.ts (Xcode 16's App template) without the tests;
8
+ // Native/Examples/generate-projects.mjs writes the examples' projects with
9
+ // the same generator, depending on the repository's `Native/` package.
10
+ import { createHash } from 'node:crypto';
11
+ import { readFileSync } from 'node:fs';
12
+ import { ACCENT_COLOR, APP_ICON, APP_NAME, CATALOG_INFO, WORKSPACE } from './template.js';
13
+ /** This package's version, which the new project's `js/package.json` pins `@swiftbrowser/native` and `@swiftbrowser/react` to. */
14
+ const VERSION = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')).version;
15
+ /** Where the Swift package is, relative to the project directory, when `init` is not told otherwise. */
16
+ export const DEFAULT_PACKAGE_PATH = 'js/node_modules/@swiftbrowser/native/swift';
17
+ /** The Xcode project and asset catalog alone: what the examples under Native/Examples regenerate. */
18
+ export function nativeXcodeFiles(options) {
19
+ const { name } = options;
20
+ if (!APP_NAME.test(name))
21
+ throw new Error(`not an app name: ${name}`);
22
+ const bundleId = options.bundleId ?? `com.example.${name}`;
23
+ const packagePath = options.packagePath ?? DEFAULT_PACKAGE_PATH;
24
+ return [
25
+ { path: `${name}.xcodeproj/project.pbxproj`, contents: pbxproj(name, bundleId, packagePath) },
26
+ { path: `${name}.xcodeproj/project.xcworkspace/contents.xcworkspacedata`, contents: WORKSPACE },
27
+ { path: `${name}.xcodeproj/xcshareddata/xcschemes/${name}.xcscheme`, contents: scheme(name) },
28
+ { path: `${name}/Assets.xcassets/Contents.json`, contents: json(CATALOG_INFO) },
29
+ { path: `${name}/Assets.xcassets/AccentColor.colorset/Contents.json`, contents: json(ACCENT_COLOR) },
30
+ { path: `${name}/Assets.xcassets/AppIcon.appiconset/Contents.json`, contents: json(APP_ICON) },
31
+ ];
32
+ }
33
+ /** Every file of a new native app, relative to its directory. */
34
+ export function nativeProjectFiles(options) {
35
+ const { name } = options;
36
+ const version = options.version ?? VERSION;
37
+ return [
38
+ ...nativeXcodeFiles(options),
39
+ { path: `${name}/${name}App.swift`, contents: appSource(name) },
40
+ { path: 'js/package.json', contents: json(packageJson(name, version)) },
41
+ { path: 'js/tsconfig.json', contents: json(TSCONFIG) },
42
+ { path: 'js/src/index.tsx', contents: INDEX },
43
+ { path: 'js/src/App.tsx', contents: APP },
44
+ ];
45
+ }
46
+ /** The lines a new native project's `.gitignore` holds (merged into an existing one). */
47
+ export function nativeGitignoreLines(name) {
48
+ return [
49
+ '# SwiftBrowser Native: the bundle js/ builds, and its dependencies',
50
+ `${name}/app.js`,
51
+ 'node_modules/',
52
+ '# Xcode',
53
+ 'xcuserdata/',
54
+ 'DerivedData/',
55
+ '.DS_Store',
56
+ ];
57
+ }
58
+ /** A short README for a new native project (written only where there is none). */
59
+ export function nativeReadme(name) {
60
+ return `# ${name}
61
+
62
+ An iOS app whose views are SwiftUI and whose logic is JavaScript: a
63
+ [\`@swiftbrowser/react\`](https://www.npmjs.com/package/@swiftbrowser/react) app
64
+ in \`js/src\`, bundled into \`${name}/app.js\` and run in JavaScriptCore by
65
+ [SwiftBrowser Native](https://github.com/noya-app/SwiftBrowser/blob/main/Native/README.md).
66
+
67
+ - \`cd js && npm install\` once: \`@swiftbrowser/native\` carries the Swift package
68
+ the Xcode project depends on (\`js/node_modules/@swiftbrowser/native/swift\`).
69
+ - \`npm run build\` writes \`${name}/app.js\`; then open \`${name}.xcodeproj\` and run.
70
+ - \`npm run dev\` serves the bundle with rebuild on save: enable the
71
+ \`SB_DEV_SERVER\` variable in the scheme's Run action and the running app
72
+ refreshes on every save, keeping its state (React Fast Refresh).
73
+
74
+ The native side is \`${name}/${name}App.swift\`; native views the app needs
75
+ register with \`NativeRegistry\` there and render through \`<Native name=...>\`.
76
+ `;
77
+ }
78
+ function appSource(name) {
79
+ return `import SwiftBrowserNative
80
+ import SwiftUI
81
+
82
+ // The whole native side of the app. The logic is JavaScript: \`js/src\` builds
83
+ // to \`app.js\` in this folder (\`npm run build\` in \`js/\`), which Xcode bundles
84
+ // as a resource and \`NativeApp\` runs in JavaScriptCore. \`NativeRootView\`
85
+ // draws the element tree it renders with SwiftUI.
86
+ //
87
+ // A Debug build with the \`SB_DEV_SERVER\` environment variable set in the
88
+ // scheme (\`http://localhost:5173/app.js\`, what \`npm run dev\` serves) loads
89
+ // the bundle from there instead and refreshes it on every save.
90
+ @main
91
+ struct ${name}App: App {
92
+ @State private var app = NativeApp()
93
+
94
+ var body: some Scene {
95
+ WindowGroup {
96
+ NativeRootView(app: app)
97
+ .task { await load() }
98
+ }
99
+ }
100
+
101
+ private func load() async {
102
+ #if DEBUG
103
+ if let server = ProcessInfo.processInfo.environment["SB_DEV_SERVER"], let url = URL(string: server) {
104
+ await app.watch(url: url)
105
+ return
106
+ }
107
+ #endif
108
+ app.load()
109
+ }
110
+ }
111
+ `;
112
+ }
113
+ function packageJson(name, version) {
114
+ return {
115
+ name: `${name.toLowerCase()}-app`,
116
+ private: true,
117
+ version: '1.0.0',
118
+ type: 'module',
119
+ description: `The JavaScript of the ${name} app, bundled for ../${name}.xcodeproj.`,
120
+ scripts: {
121
+ build: `swiftbrowser-native build src/index.tsx --out ../${name}/app.js --minify`,
122
+ dev: `swiftbrowser-native dev src/index.tsx --out ../${name}/app.js --sourcemap`,
123
+ typecheck: 'tsc --noEmit -p tsconfig.json',
124
+ },
125
+ dependencies: {
126
+ '@swiftbrowser/native': version,
127
+ '@swiftbrowser/react': version,
128
+ react: '^19.3.0',
129
+ 'react-reconciler': '^0.34.0',
130
+ },
131
+ devDependencies: {
132
+ '@types/react': '^19.3.0',
133
+ typescript: '^5.9.2',
134
+ },
135
+ };
136
+ }
137
+ const TSCONFIG = {
138
+ compilerOptions: {
139
+ target: 'ES2022',
140
+ module: 'ESNext',
141
+ moduleResolution: 'Bundler',
142
+ lib: ['ES2022', 'DOM', 'DOM.Iterable'],
143
+ jsx: 'react-jsx',
144
+ types: [],
145
+ strict: true,
146
+ noUnusedLocals: true,
147
+ noUnusedParameters: true,
148
+ isolatedModules: true,
149
+ verbatimModuleSyntax: true,
150
+ skipLibCheck: true,
151
+ noEmit: true,
152
+ },
153
+ include: ['src'],
154
+ };
155
+ const INDEX = `// The entry \`npm run build\` bundles into the app: the runtime (the web
156
+ // globals JavaScriptCore lacks) goes first in the bundle, then this.
157
+ import { run } from '@swiftbrowser/native';
158
+ import { App } from './App';
159
+
160
+ run(<App />);
161
+ `;
162
+ const APP = `import { Button, List, NavigationStack, Section, Text, Toggle } from '@swiftbrowser/react';
163
+ import { useState, type ReactNode } from 'react';
164
+
165
+ export function App(): ReactNode {
166
+ const [taps, setTaps] = useState(0);
167
+ const [on, setOn] = useState(false);
168
+ return (
169
+ <NavigationStack>
170
+ <List navigationTitle="Hello">
171
+ <Section header="Counter">
172
+ <Button title={taps === 0 ? 'Tap me' : \`Tapped \${taps} time\${taps === 1 ? '' : 's'}\`} action={() => setTaps(taps + 1)} />
173
+ </Section>
174
+ <Section header="Settings">
175
+ <Toggle title="Notifications" isOn={[on, setOn]} />
176
+ <Text foregroundStyle="secondary">{on ? 'On' : 'Off'}</Text>
177
+ </Section>
178
+ </List>
179
+ </NavigationStack>
180
+ );
181
+ }
182
+ `;
183
+ const json = (value) => `${JSON.stringify(value, null, 2)}\n`;
184
+ /** A pbxproj string: bare when it needs no quoting, else quoted. */
185
+ const quoted = (value) => (/^[A-Za-z0-9_./]+$/.test(value) ? value : JSON.stringify(value));
186
+ /** A pbxproj object id: 24 hex digits, stable for a name and role (so regenerating a project changes nothing). */
187
+ function objectId(name, role) {
188
+ return createHash('sha1').update(`native/${name}/${role}`).digest('hex').slice(0, 24).toUpperCase();
189
+ }
190
+ function settings(pairs) {
191
+ return pairs.map(([key, value]) => `\t\t\t\t${key} = ${value};`).join('\n');
192
+ }
193
+ function pbxproj(name, bundleId, packagePath) {
194
+ const id = (role) => objectId(name, role);
195
+ const app = id('product');
196
+ const folder = id('folder');
197
+ const frameworks = id('frameworks');
198
+ const mainGroup = id('main-group');
199
+ const products = id('products');
200
+ const target = id('target');
201
+ const targetConfigs = id('target-configs');
202
+ const sources = id('sources');
203
+ const resources = id('resources');
204
+ const project = id('project');
205
+ const projectConfigs = id('project-configs');
206
+ const projectDebug = id('project-debug');
207
+ const projectRelease = id('project-release');
208
+ const targetDebug = id('target-debug');
209
+ const targetRelease = id('target-release');
210
+ const packageRef = id('package-ref');
211
+ const productDep = id('product-dep');
212
+ const buildFile = id('build-file');
213
+ const projectSettings = (debug) => settings([
214
+ ['ALWAYS_SEARCH_USER_PATHS', 'NO'],
215
+ ['ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS', 'YES'],
216
+ ['CLANG_ANALYZER_NONNULL', 'YES'],
217
+ ['CLANG_CXX_LANGUAGE_STANDARD', '"gnu++20"'],
218
+ ['CLANG_ENABLE_MODULES', 'YES'],
219
+ ['CLANG_ENABLE_OBJC_ARC', 'YES'],
220
+ ['CLANG_ENABLE_OBJC_WEAK', 'YES'],
221
+ ['CLANG_WARN_DOCUMENTATION_COMMENTS', 'YES'],
222
+ ['CLANG_WARN_UNGUARDED_AVAILABILITY', 'YES_AGGRESSIVE'],
223
+ ['COPY_PHASE_STRIP', 'NO'],
224
+ ['DEBUG_INFORMATION_FORMAT', debug ? 'dwarf' : '"dwarf-with-dsym"'],
225
+ ...(debug ? [] : [['ENABLE_NS_ASSERTIONS', 'NO']]),
226
+ ['ENABLE_STRICT_OBJC_MSGSEND', 'YES'],
227
+ ...(debug ? [['ENABLE_TESTABILITY', 'YES']] : []),
228
+ ['ENABLE_USER_SCRIPT_SANDBOXING', 'YES'],
229
+ ['GCC_C_LANGUAGE_STANDARD', 'gnu17'],
230
+ ...(debug ? [['GCC_DYNAMIC_NO_PIC', 'NO']] : []),
231
+ ['GCC_NO_COMMON_BLOCKS', 'YES'],
232
+ ...(debug
233
+ ? [
234
+ ['GCC_OPTIMIZATION_LEVEL', '0'],
235
+ ['GCC_PREPROCESSOR_DEFINITIONS', '(\n\t\t\t\t\t"DEBUG=1",\n\t\t\t\t\t"$(inherited)",\n\t\t\t\t)'],
236
+ ]
237
+ : []),
238
+ ['GCC_WARN_ABOUT_RETURN_TYPE', 'YES_ERROR'],
239
+ ['GCC_WARN_UNINITIALIZED_AUTOS', 'YES_AGGRESSIVE'],
240
+ ['IPHONEOS_DEPLOYMENT_TARGET', '17.0'],
241
+ ['LOCALIZATION_PREFERS_STRING_CATALOGS', 'YES'],
242
+ ['MTL_ENABLE_DEBUG_INFO', debug ? 'INCLUDE_SOURCE' : 'NO'],
243
+ ['MTL_FAST_MATH', 'YES'],
244
+ ...(debug ? [['ONLY_ACTIVE_ARCH', 'YES']] : []),
245
+ ['SDKROOT', 'iphoneos'],
246
+ ...(debug
247
+ ? [
248
+ ['SWIFT_ACTIVE_COMPILATION_CONDITIONS', '"DEBUG $(inherited)"'],
249
+ ['SWIFT_OPTIMIZATION_LEVEL', '"-Onone"'],
250
+ ]
251
+ : [
252
+ ['SWIFT_COMPILATION_MODE', 'wholemodule'],
253
+ ['VALIDATE_PRODUCT', 'YES'],
254
+ ]),
255
+ ]);
256
+ const targetSettings = settings([
257
+ ['ASSETCATALOG_COMPILER_APPICON_NAME', 'AppIcon'],
258
+ ['ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME', 'AccentColor'],
259
+ ['CODE_SIGN_STYLE', 'Automatic'],
260
+ ['CURRENT_PROJECT_VERSION', '1'],
261
+ ['ENABLE_PREVIEWS', 'YES'],
262
+ ['GENERATE_INFOPLIST_FILE', 'YES'],
263
+ ['INFOPLIST_KEY_CFBundleDisplayName', quoted(name)],
264
+ ['INFOPLIST_KEY_UIApplicationSceneManifest_Generation', 'YES'],
265
+ ['INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents', 'YES'],
266
+ ['INFOPLIST_KEY_UILaunchScreen_Generation', 'YES'],
267
+ ['INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad', '"UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"'],
268
+ ['INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone', '"UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"'],
269
+ ['LD_RUNPATH_SEARCH_PATHS', '(\n\t\t\t\t\t"$(inherited)",\n\t\t\t\t\t"@executable_path/Frameworks",\n\t\t\t\t)'],
270
+ ['MARKETING_VERSION', '1.0'],
271
+ ['PRODUCT_BUNDLE_IDENTIFIER', quoted(bundleId)],
272
+ ['PRODUCT_NAME', '"$(TARGET_NAME)"'],
273
+ ['SWIFT_EMIT_LOC_STRINGS', 'YES'],
274
+ ['SWIFT_VERSION', '5.0'],
275
+ ['TARGETED_DEVICE_FAMILY', '"1,2"'],
276
+ ]);
277
+ return `// !$*UTF8*$!
278
+ {
279
+ archiveVersion = 1;
280
+ classes = {
281
+ };
282
+ objectVersion = 77;
283
+ objects = {
284
+
285
+ /* Begin PBXBuildFile section */
286
+ ${buildFile} /* SwiftBrowserNative in Frameworks */ = {isa = PBXBuildFile; productRef = ${productDep} /* SwiftBrowserNative */; };
287
+ /* End PBXBuildFile section */
288
+
289
+ /* Begin PBXFileReference section */
290
+ ${app} /* ${name}.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ${name}.app; sourceTree = BUILT_PRODUCTS_DIR; };
291
+ /* End PBXFileReference section */
292
+
293
+ /* Begin PBXFileSystemSynchronizedRootGroup section */
294
+ ${folder} /* ${name} */ = {
295
+ isa = PBXFileSystemSynchronizedRootGroup;
296
+ path = ${name};
297
+ sourceTree = "<group>";
298
+ };
299
+ /* End PBXFileSystemSynchronizedRootGroup section */
300
+
301
+ /* Begin PBXFrameworksBuildPhase section */
302
+ ${frameworks} /* Frameworks */ = {
303
+ isa = PBXFrameworksBuildPhase;
304
+ buildActionMask = 2147483647;
305
+ files = (
306
+ ${buildFile} /* SwiftBrowserNative in Frameworks */,
307
+ );
308
+ runOnlyForDeploymentPostprocessing = 0;
309
+ };
310
+ /* End PBXFrameworksBuildPhase section */
311
+
312
+ /* Begin PBXGroup section */
313
+ ${mainGroup} = {
314
+ isa = PBXGroup;
315
+ children = (
316
+ ${folder} /* ${name} */,
317
+ ${products} /* Products */,
318
+ );
319
+ sourceTree = "<group>";
320
+ };
321
+ ${products} /* Products */ = {
322
+ isa = PBXGroup;
323
+ children = (
324
+ ${app} /* ${name}.app */,
325
+ );
326
+ name = Products;
327
+ sourceTree = "<group>";
328
+ };
329
+ /* End PBXGroup section */
330
+
331
+ /* Begin PBXNativeTarget section */
332
+ ${target} /* ${name} */ = {
333
+ isa = PBXNativeTarget;
334
+ buildConfigurationList = ${targetConfigs} /* Build configuration list for PBXNativeTarget "${name}" */;
335
+ buildPhases = (
336
+ ${sources} /* Sources */,
337
+ ${frameworks} /* Frameworks */,
338
+ ${resources} /* Resources */,
339
+ );
340
+ buildRules = (
341
+ );
342
+ dependencies = (
343
+ );
344
+ fileSystemSynchronizedGroups = (
345
+ ${folder} /* ${name} */,
346
+ );
347
+ name = ${name};
348
+ packageProductDependencies = (
349
+ ${productDep} /* SwiftBrowserNative */,
350
+ );
351
+ productName = ${name};
352
+ productReference = ${app} /* ${name}.app */;
353
+ productType = "com.apple.product-type.application";
354
+ };
355
+ /* End PBXNativeTarget section */
356
+
357
+ /* Begin PBXProject section */
358
+ ${project} /* Project object */ = {
359
+ isa = PBXProject;
360
+ attributes = {
361
+ BuildIndependentTargetsInParallel = 1;
362
+ LastSwiftUpdateCheck = 1600;
363
+ LastUpgradeCheck = 1600;
364
+ TargetAttributes = {
365
+ ${target} = {
366
+ CreatedOnToolsVersion = 16.0;
367
+ };
368
+ };
369
+ };
370
+ buildConfigurationList = ${projectConfigs} /* Build configuration list for PBXProject "${name}" */;
371
+ developmentRegion = en;
372
+ hasScannedForEncodings = 0;
373
+ knownRegions = (
374
+ en,
375
+ Base,
376
+ );
377
+ mainGroup = ${mainGroup};
378
+ minimizedProjectReferenceProxies = 1;
379
+ packageReferences = (
380
+ ${packageRef} /* XCLocalSwiftPackageReference "${packagePath}" */,
381
+ );
382
+ preferredProjectObjectVersion = 77;
383
+ productRefGroup = ${products} /* Products */;
384
+ projectDirPath = "";
385
+ projectRoot = "";
386
+ targets = (
387
+ ${target} /* ${name} */,
388
+ );
389
+ };
390
+ /* End PBXProject section */
391
+
392
+ /* Begin PBXResourcesBuildPhase section */
393
+ ${resources} /* Resources */ = {
394
+ isa = PBXResourcesBuildPhase;
395
+ buildActionMask = 2147483647;
396
+ files = (
397
+ );
398
+ runOnlyForDeploymentPostprocessing = 0;
399
+ };
400
+ /* End PBXResourcesBuildPhase section */
401
+
402
+ /* Begin PBXSourcesBuildPhase section */
403
+ ${sources} /* Sources */ = {
404
+ isa = PBXSourcesBuildPhase;
405
+ buildActionMask = 2147483647;
406
+ files = (
407
+ );
408
+ runOnlyForDeploymentPostprocessing = 0;
409
+ };
410
+ /* End PBXSourcesBuildPhase section */
411
+
412
+ /* Begin XCBuildConfiguration section */
413
+ ${projectDebug} /* Debug */ = {
414
+ isa = XCBuildConfiguration;
415
+ buildSettings = {
416
+ ${projectSettings(true)}
417
+ };
418
+ name = Debug;
419
+ };
420
+ ${projectRelease} /* Release */ = {
421
+ isa = XCBuildConfiguration;
422
+ buildSettings = {
423
+ ${projectSettings(false)}
424
+ };
425
+ name = Release;
426
+ };
427
+ ${targetDebug} /* Debug */ = {
428
+ isa = XCBuildConfiguration;
429
+ buildSettings = {
430
+ ${targetSettings}
431
+ };
432
+ name = Debug;
433
+ };
434
+ ${targetRelease} /* Release */ = {
435
+ isa = XCBuildConfiguration;
436
+ buildSettings = {
437
+ ${targetSettings}
438
+ };
439
+ name = Release;
440
+ };
441
+ /* End XCBuildConfiguration section */
442
+
443
+ /* Begin XCConfigurationList section */
444
+ ${projectConfigs} /* Build configuration list for PBXProject "${name}" */ = {
445
+ isa = XCConfigurationList;
446
+ buildConfigurations = (
447
+ ${projectDebug} /* Debug */,
448
+ ${projectRelease} /* Release */,
449
+ );
450
+ defaultConfigurationIsVisible = 0;
451
+ defaultConfigurationName = Release;
452
+ };
453
+ ${targetConfigs} /* Build configuration list for PBXNativeTarget "${name}" */ = {
454
+ isa = XCConfigurationList;
455
+ buildConfigurations = (
456
+ ${targetDebug} /* Debug */,
457
+ ${targetRelease} /* Release */,
458
+ );
459
+ defaultConfigurationIsVisible = 0;
460
+ defaultConfigurationName = Release;
461
+ };
462
+ /* End XCConfigurationList section */
463
+
464
+ /* Begin XCLocalSwiftPackageReference section */
465
+ ${packageRef} /* XCLocalSwiftPackageReference "${packagePath}" */ = {
466
+ isa = XCLocalSwiftPackageReference;
467
+ relativePath = ${quoted(packagePath)};
468
+ };
469
+ /* End XCLocalSwiftPackageReference section */
470
+
471
+ /* Begin XCSwiftPackageProductDependency section */
472
+ ${productDep} /* SwiftBrowserNative */ = {
473
+ isa = XCSwiftPackageProductDependency;
474
+ productName = SwiftBrowserNative;
475
+ };
476
+ /* End XCSwiftPackageProductDependency section */
477
+ };
478
+ rootObject = ${project} /* Project object */;
479
+ }
480
+ `;
481
+ }
482
+ /** The shared scheme: builds and runs the app, with the dev server variable ready to switch on. */
483
+ function scheme(name) {
484
+ const reference = `<BuildableReference
485
+ BuildableIdentifier = "primary"
486
+ BlueprintIdentifier = "${objectId(name, 'target')}"
487
+ BuildableName = "${name}.app"
488
+ BlueprintName = "${name}"
489
+ ReferencedContainer = "container:${name}.xcodeproj">
490
+ </BuildableReference>`;
491
+ return `<?xml version="1.0" encoding="UTF-8"?>
492
+ <Scheme
493
+ LastUpgradeVersion = "1600"
494
+ version = "1.7">
495
+ <BuildAction
496
+ parallelizeBuildables = "YES"
497
+ buildImplicitDependencies = "YES"
498
+ buildArchitectures = "Automatic">
499
+ <BuildActionEntries>
500
+ <BuildActionEntry
501
+ buildForTesting = "YES"
502
+ buildForRunning = "YES"
503
+ buildForProfiling = "YES"
504
+ buildForArchiving = "YES"
505
+ buildForAnalyzing = "YES">
506
+ ${reference}
507
+ </BuildActionEntry>
508
+ </BuildActionEntries>
509
+ </BuildAction>
510
+ <TestAction
511
+ buildConfiguration = "Debug"
512
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
513
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
514
+ shouldUseLaunchSchemeArgsEnv = "YES"
515
+ shouldAutocreateTestPlan = "YES">
516
+ <Testables>
517
+ </Testables>
518
+ </TestAction>
519
+ <LaunchAction
520
+ buildConfiguration = "Debug"
521
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
522
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
523
+ launchStyle = "0"
524
+ useCustomWorkingDirectory = "NO"
525
+ ignoresPersistentStateOnLaunch = "NO"
526
+ debugDocumentVersioning = "YES"
527
+ debugServiceExtension = "internal"
528
+ allowLocationSimulation = "YES">
529
+ <BuildableProductRunnable
530
+ runnableDebuggingMode = "0">
531
+ ${reference}
532
+ </BuildableProductRunnable>
533
+ <EnvironmentVariables>
534
+ <EnvironmentVariable
535
+ key = "SB_DEV_SERVER"
536
+ value = "http://localhost:5173/app.js"
537
+ isEnabled = "NO">
538
+ </EnvironmentVariable>
539
+ </EnvironmentVariables>
540
+ </LaunchAction>
541
+ <ProfileAction
542
+ buildConfiguration = "Release"
543
+ shouldUseLaunchSchemeArgsEnv = "YES"
544
+ savedToolIdentifier = ""
545
+ useCustomWorkingDirectory = "NO"
546
+ debugDocumentVersioning = "YES">
547
+ <BuildableProductRunnable
548
+ runnableDebuggingMode = "0">
549
+ ${reference}
550
+ </BuildableProductRunnable>
551
+ </ProfileAction>
552
+ <AnalyzeAction
553
+ buildConfiguration = "Debug">
554
+ </AnalyzeAction>
555
+ <ArchiveAction
556
+ buildConfiguration = "Release"
557
+ revealArchiveInOrganizer = "YES">
558
+ </ArchiveAction>
559
+ </Scheme>
560
+ `;
561
+ }
562
+ //# sourceMappingURL=nativeTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nativeTemplate.js","sourceRoot":"","sources":["../src/nativeTemplate.ts"],"names":[],"mappings":"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"}
@@ -21,10 +21,55 @@ export interface TemplateFile {
21
21
  export declare function projectFiles(options: TemplateOptions): TemplateFile[];
22
22
  /** The lines a new project's `.gitignore` holds (merged into an existing one). */
23
23
  export declare const GITIGNORE_LINES: string[];
24
- /** `existing` with the template's lines it lacks appended; `existing` itself when it has them all. */
25
- export declare function mergeGitignore(existing: string | undefined): string;
24
+ /** `existing` with the template's `lines` it lacks appended; `existing` itself when it has them all. */
25
+ export declare function mergeGitignore(existing: string | undefined, lines?: readonly string[]): string;
26
26
  /** A short README for a new project (written only where there is none). */
27
27
  export declare function readme(name: string): string;
28
+ export declare const WORKSPACE = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n version = \"1.0\">\n <FileRef\n location = \"self:\">\n </FileRef>\n</Workspace>\n";
29
+ export declare const CATALOG_INFO: {
30
+ info: {
31
+ author: string;
32
+ version: number;
33
+ };
34
+ };
35
+ export declare const ACCENT_COLOR: {
36
+ colors: {
37
+ color: {
38
+ 'color-space': string;
39
+ components: {
40
+ alpha: string;
41
+ blue: string;
42
+ green: string;
43
+ red: string;
44
+ };
45
+ };
46
+ idiom: string;
47
+ }[];
48
+ info: {
49
+ author: string;
50
+ version: number;
51
+ };
52
+ };
53
+ export declare const APP_ICON: {
54
+ images: ({
55
+ idiom: string;
56
+ platform: string;
57
+ size: string;
58
+ appearances?: never;
59
+ } | {
60
+ appearances: {
61
+ appearance: string;
62
+ value: string;
63
+ }[];
64
+ idiom: string;
65
+ platform: string;
66
+ size: string;
67
+ })[];
68
+ info: {
69
+ author: string;
70
+ version: number;
71
+ };
72
+ };
28
73
  /**
29
74
  * The app's shared scheme: builds and runs the app, and tests `<name>Tests`
30
75
  * (⌘U, `xcodebuild test -scheme <name>`). Xcode would make one per user on
package/dist/template.js CHANGED
@@ -48,14 +48,14 @@ export const GITIGNORE_LINES = [
48
48
  'DerivedData/',
49
49
  '.DS_Store',
50
50
  ];
51
- /** `existing` with the template's lines it lacks appended; `existing` itself when it has them all. */
52
- export function mergeGitignore(existing) {
51
+ /** `existing` with the template's `lines` it lacks appended; `existing` itself when it has them all. */
52
+ export function mergeGitignore(existing, lines = GITIGNORE_LINES) {
53
53
  const have = new Set((existing ?? '').split('\n').map((line) => line.trim()));
54
- const missing = GITIGNORE_LINES.filter((line) => line.startsWith('#') ? false : !have.has(line));
54
+ const missing = lines.filter((line) => line.startsWith('#') ? false : !have.has(line));
55
55
  if (existing !== undefined && missing.length === 0)
56
56
  return existing;
57
57
  if (existing === undefined)
58
- return `${GITIGNORE_LINES.join('\n')}\n`;
58
+ return `${lines.join('\n')}\n`;
59
59
  const separator = existing === '' || existing.endsWith('\n') ? '' : '\n';
60
60
  return `${existing}${separator}\n${['# SwiftBrowser and Xcode', ...missing].join('\n')}\n`;
61
61
  }
@@ -135,7 +135,7 @@ struct ${name}Tests {
135
135
  }
136
136
  `;
137
137
  }
138
- const WORKSPACE = `<?xml version="1.0" encoding="UTF-8"?>
138
+ export const WORKSPACE = `<?xml version="1.0" encoding="UTF-8"?>
139
139
  <Workspace
140
140
  version = "1.0">
141
141
  <FileRef
@@ -143,10 +143,10 @@ const WORKSPACE = `<?xml version="1.0" encoding="UTF-8"?>
143
143
  </FileRef>
144
144
  </Workspace>
145
145
  `;
146
- const CATALOG_INFO = { info: { author: 'xcode', version: 1 } };
146
+ export const CATALOG_INFO = { info: { author: 'xcode', version: 1 } };
147
147
  // Xcode's template leaves the accent color empty; a value (iOS's system blue)
148
148
  // keeps both Xcode and SwiftBrowser from reporting an empty color set.
149
- const ACCENT_COLOR = {
149
+ export const ACCENT_COLOR = {
150
150
  colors: [
151
151
  {
152
152
  color: { 'color-space': 'srgb', components: { alpha: '1.000', blue: '1.000', green: '0.533', red: '0.000' } },
@@ -155,7 +155,7 @@ const ACCENT_COLOR = {
155
155
  ],
156
156
  info: { author: 'xcode', version: 1 },
157
157
  };
158
- const APP_ICON = {
158
+ export const APP_ICON = {
159
159
  images: [
160
160
  { idiom: 'universal', platform: 'ios', size: '1024x1024' },
161
161
  { appearances: [{ appearance: 'luminosity', value: 'dark' }], idiom: 'universal', platform: 'ios', size: '1024x1024' },
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swiftbrowser/cli",
3
- "version": "0.9.12",
3
+ "version": "0.10.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,11 +22,12 @@
22
22
  "build": "tsc -p tsconfig.build.json"
23
23
  },
24
24
  "dependencies": {
25
- "@swiftbrowser/kit": "0.9.12",
26
- "@swiftbrowser/swift": "0.9.12",
27
- "@swiftbrowser/wasm-compiler": "0.9.12",
28
- "@swiftbrowser/web": "0.9.12",
29
- "@swiftbrowser/xcodeproj": "0.9.12"
25
+ "@swiftbrowser/kit": "0.10.0",
26
+ "@swiftbrowser/native": "0.10.0",
27
+ "@swiftbrowser/swift": "0.10.0",
28
+ "@swiftbrowser/wasm-compiler": "0.10.0",
29
+ "@swiftbrowser/web": "0.10.0",
30
+ "@swiftbrowser/xcodeproj": "0.10.0"
30
31
  },
31
32
  "devDependencies": {
32
33
  "@types/node": "^26.6.4",