@swiftbrowser/cli 0.26.2 → 0.26.3
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 +5 -3
- package/dist/appSources.d.ts +1 -0
- package/dist/appSources.js +11 -3
- package/dist/appSources.js.map +1 -1
- package/dist/cli.js +12 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/dev.js +2 -0
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/native.d.ts +2 -2
- package/dist/commands/native.js +5 -4
- package/dist/commands/native.js.map +1 -1
- package/dist/commands/shared.d.ts +2 -0
- package/dist/commands/shared.js +2 -0
- package/dist/commands/shared.js.map +1 -1
- package/dist/compat.js +0 -1
- package/dist/compat.js.map +1 -1
- package/dist/config.d.ts +7 -0
- package/dist/config.js +6 -1
- package/dist/config.js.map +1 -1
- package/dist/frameworks.d.ts +3 -2
- package/dist/frameworks.js +4 -1
- package/dist/frameworks.js.map +1 -1
- package/dist/nativeTemplate.d.ts +18 -1
- package/dist/nativeTemplate.js +106 -27
- package/dist/nativeTemplate.js.map +1 -1
- package/dist/nativeWorkflows.d.ts +1 -1
- package/dist/nativeWorkflows.js +43 -5
- package/dist/nativeWorkflows.js.map +1 -1
- package/dist/project.d.ts +9 -0
- package/dist/project.js +10 -0
- package/dist/project.js.map +1 -1
- package/dist/stage.d.ts +2 -0
- package/dist/stage.js +9 -3
- package/dist/stage.js.map +1 -1
- package/dist/template.d.ts +4 -0
- package/dist/template.js +5 -0
- package/dist/template.js.map +1 -1
- package/dist/vendor.d.ts +1 -1
- package/dist/vendor.js +3 -3
- package/dist/vendor.js.map +1 -1
- package/package.json +7 -7
package/dist/frameworks.js
CHANGED
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
* re-exports Compression's, Core Text's font registration, MapKit's
|
|
19
19
|
* SwiftUI map, drawn without map data, and WeatherKit's service, whose
|
|
20
20
|
* requests throw, MediaPlayer's now-playing info and remote commands over
|
|
21
|
-
* the Media Session API
|
|
21
|
+
* the Media Session API, and AppKit's colors, images, fonts, pasteboard,
|
|
22
|
+
* workspace and representables over UIKit's, in a build for macOS); plus
|
|
22
23
|
* packages that cannot build for the browser (none today; see packages.ts).
|
|
23
24
|
* Each is a small module linked only into apps that import it (stage.ts).
|
|
24
25
|
*/
|
|
@@ -30,6 +31,8 @@ export const STAND_IN_FRAMEWORKS = [
|
|
|
30
31
|
'Symbols', 'AudioToolbox', 'AuthenticationServices', 'SafariServices', 'WebKit',
|
|
31
32
|
'CoreTransferable', 'Photos', 'LinkPresentation', 'Translation', 'FoundationModels',
|
|
32
33
|
'AVFoundation', 'AVKit', 'QuickLook', 'zlib', 'CoreText', 'MapKit', 'WeatherKit', 'MediaPlayer',
|
|
34
|
+
// Linked only in a build for macOS (stage.ts): an iOS build keeps `canImport(AppKit)` false.
|
|
35
|
+
'AppKit',
|
|
33
36
|
];
|
|
34
37
|
/**
|
|
35
38
|
* Frameworks the shim has as empty modules: an import compiles, a use does
|
package/dist/frameworks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frameworks.js","sourceRoot":"","sources":["../src/frameworks.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,uEAAuE;AACvE,uEAAuE;AAEvE
|
|
1
|
+
{"version":3,"file":"frameworks.js","sourceRoot":"","sources":["../src/frameworks.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,uEAAuE;AACvE,uEAAuE;AAEvE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,UAAU,EAAE,cAAc,EAAE,qBAAqB,EAAE,QAAQ,EAAE,UAAU,EAAE,wBAAwB,EAAE,WAAW;IAC9G,mBAAmB,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS;IACrF,cAAc,EAAE,oBAAoB,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY;IACvE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa;IAC7D,SAAS,EAAE,cAAc,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,QAAQ;IAC/E,kBAAkB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,aAAa,EAAE,kBAAkB;IACnF,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa;IAC/F,6FAA6F;IAC7F,QAAQ;CACA,CAAC;AACX;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAqC,EAAE,CAAC;AAErE,kGAAkG;AAClG,MAAM,CAAC,MAAM,iBAAiB,GAAsB,CAAC,GAAG,mBAAmB,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAE/G,MAAM,MAAM,GAAG,oMAAoM,CAAC;AAEpN,gFAAgF;AAChF,MAAM,UAAU,SAAS,CAAC,MAAc;IACtC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;IACjE,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/dist/nativeTemplate.d.ts
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import { type TemplateFile } from './template.js';
|
|
2
2
|
/** Where the Swift package is, relative to the project directory, when `init` is not told otherwise. */
|
|
3
3
|
export declare const DEFAULT_PACKAGE_PATH = "node_modules/@swiftbrowser/native/swift";
|
|
4
|
+
/**
|
|
5
|
+
* The Xcode target's folder: the App file, the asset catalog, the bundle.
|
|
6
|
+
* One folder for both platforms the target builds for (`ios/` once; the
|
|
7
|
+
* examples' projects were regenerated when it changed).
|
|
8
|
+
*/
|
|
9
|
+
export declare const NATIVE_FOLDER = "apple";
|
|
4
10
|
export interface NativeTemplateOptions {
|
|
5
|
-
/** The app and target name; must match `APP_NAME`. (The target's folder is `
|
|
11
|
+
/** The app and target name; must match `APP_NAME`. (The target's folder is `NATIVE_FOLDER`.) */
|
|
6
12
|
name: string;
|
|
7
13
|
/** Defaults to `com.example.<name>`. */
|
|
8
14
|
bundleId?: string;
|
|
@@ -41,6 +47,17 @@ export declare function entitlements(bundleId: string, capabilities?: {
|
|
|
41
47
|
icloud?: boolean;
|
|
42
48
|
signInWithApple?: boolean;
|
|
43
49
|
}): string;
|
|
50
|
+
/**
|
|
51
|
+
* The Mac build's entitlements (`CODE_SIGN_ENTITLEMENTS[sdk=macosx*]`): the
|
|
52
|
+
* App Sandbox with the network and the files the viewer picks, the JIT
|
|
53
|
+
* JavaScriptCore wants under the hardened runtime (notarization requires
|
|
54
|
+
* that runtime; a Mac App Store build keeps the same file), and the iOS
|
|
55
|
+
* capabilities the app has on a Mac too.
|
|
56
|
+
*/
|
|
57
|
+
export declare function macEntitlements(bundleId: string, capabilities?: {
|
|
58
|
+
icloud?: boolean;
|
|
59
|
+
signInWithApple?: boolean;
|
|
60
|
+
}): string;
|
|
44
61
|
/**
|
|
45
62
|
* An Info.plist beside the generated keys (Xcode merges the two): the
|
|
46
63
|
* container's Documents shown in the Files app under the app's name.
|
package/dist/nativeTemplate.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
// The files of a SwiftBrowser Native app (`swiftbrowser native init`): an
|
|
2
|
-
// Xcode project with one
|
|
3
|
-
//
|
|
2
|
+
// Xcode project with one app target, built for iOS and for macOS (one
|
|
3
|
+
// target, both platforms: `SUPPORTED_PLATFORMS`; docs/notes/macos.md), over a
|
|
4
|
+
// synchronized folder, `apple/` (the App file, the asset catalog and the
|
|
5
|
+
// `app.js` bundle), depending on the
|
|
4
6
|
// SwiftBrowserNative Swift package at a relative path (by default the one
|
|
5
7
|
// `@swiftbrowser/native` ships, under `node_modules`), and, at the project's
|
|
6
8
|
// root, the npm project whose `npm run build` writes the bundle from `src/`
|
|
@@ -18,6 +20,12 @@ import { ACCENT_COLOR, APP_ICON, APP_NAME, CATALOG_INFO, WORKSPACE } from './tem
|
|
|
18
20
|
const VERSION = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')).version;
|
|
19
21
|
/** Where the Swift package is, relative to the project directory, when `init` is not told otherwise. */
|
|
20
22
|
export const DEFAULT_PACKAGE_PATH = 'node_modules/@swiftbrowser/native/swift';
|
|
23
|
+
/**
|
|
24
|
+
* The Xcode target's folder: the App file, the asset catalog, the bundle.
|
|
25
|
+
* One folder for both platforms the target builds for (`ios/` once; the
|
|
26
|
+
* examples' projects were regenerated when it changed).
|
|
27
|
+
*/
|
|
28
|
+
export const NATIVE_FOLDER = 'apple';
|
|
21
29
|
/** The Xcode project and asset catalog alone: what the examples under Native/Examples regenerate. */
|
|
22
30
|
export function nativeXcodeFiles(options) {
|
|
23
31
|
const { name } = options;
|
|
@@ -29,13 +37,15 @@ export function nativeXcodeFiles(options) {
|
|
|
29
37
|
{ 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)) },
|
|
30
38
|
{ path: `${name}.xcodeproj/project.xcworkspace/contents.xcworkspacedata`, contents: WORKSPACE },
|
|
31
39
|
...(options.icloud || options.signInWithApple
|
|
32
|
-
? [{ path:
|
|
40
|
+
? [{ path: `${NATIVE_FOLDER}/${name}.entitlements`, contents: entitlements(bundleId, { icloud: options.icloud === true, signInWithApple: options.signInWithApple === true }) }]
|
|
33
41
|
: []),
|
|
34
|
-
|
|
42
|
+
// The Mac build's entitlements, always: the sandbox and what the app needs in it.
|
|
43
|
+
{ path: `${NATIVE_FOLDER}/${name}-macOS.entitlements`, contents: macEntitlements(bundleId, { icloud: options.icloud === true, signInWithApple: options.signInWithApple === true }) },
|
|
44
|
+
...(options.icloud ? [{ path: `${NATIVE_FOLDER}/Info.plist`, contents: infoPlistFile(name, bundleId) }] : []),
|
|
35
45
|
{ path: `${name}.xcodeproj/xcshareddata/xcschemes/${name}.xcscheme`, contents: scheme(name) },
|
|
36
|
-
{ path:
|
|
37
|
-
{ path:
|
|
38
|
-
{ path:
|
|
46
|
+
{ path: `${NATIVE_FOLDER}/Assets.xcassets/Contents.json`, contents: json(CATALOG_INFO) },
|
|
47
|
+
{ path: `${NATIVE_FOLDER}/Assets.xcassets/AccentColor.colorset/Contents.json`, contents: json(ACCENT_COLOR) },
|
|
48
|
+
{ path: `${NATIVE_FOLDER}/Assets.xcassets/AppIcon.appiconset/Contents.json`, contents: json(APP_ICON) },
|
|
39
49
|
];
|
|
40
50
|
}
|
|
41
51
|
/** Every file of a new native app, relative to its directory. */
|
|
@@ -44,8 +54,8 @@ export function nativeProjectFiles(options) {
|
|
|
44
54
|
const version = options.version ?? VERSION;
|
|
45
55
|
return [
|
|
46
56
|
...nativeXcodeFiles(options),
|
|
47
|
-
{ path:
|
|
48
|
-
{ path:
|
|
57
|
+
{ path: `${NATIVE_FOLDER}/${name}App.swift`, contents: appSource(name, (options.packages ?? []).map(optionalPackage)) },
|
|
58
|
+
{ path: `${NATIVE_FOLDER}/NativeFunctions.swift`, contents: nativeFunctionsSource(name) },
|
|
49
59
|
{ path: 'package.json', contents: json(packageJson(name, version, (options.packages ?? []).map(optionalPackage))) },
|
|
50
60
|
{ path: 'tsconfig.json', contents: json(TSCONFIG) },
|
|
51
61
|
{ path: 'vite.config.ts', contents: VITE_CONFIG },
|
|
@@ -59,7 +69,7 @@ export function nativeProjectFiles(options) {
|
|
|
59
69
|
export function nativeGitignoreLines(name) {
|
|
60
70
|
return [
|
|
61
71
|
'# SwiftBrowser Native: the bundle, the web build, and the dependencies',
|
|
62
|
-
|
|
72
|
+
`${NATIVE_FOLDER}/app.js`,
|
|
63
73
|
'dist-web/',
|
|
64
74
|
'node_modules/',
|
|
65
75
|
'# Xcode',
|
|
@@ -72,18 +82,19 @@ export function nativeGitignoreLines(name) {
|
|
|
72
82
|
export function nativeReadme(name) {
|
|
73
83
|
return `# ${name}
|
|
74
84
|
|
|
75
|
-
One app,
|
|
85
|
+
One app, three targets. The views are SwiftUI and the logic is JavaScript: a
|
|
76
86
|
[\`@swiftbrowser/react\`](https://www.npmjs.com/package/@swiftbrowser/react) app
|
|
77
|
-
in \`src\`, bundled into \`
|
|
87
|
+
in \`src\`, bundled into \`apple/app.js\` and run in JavaScriptCore by
|
|
78
88
|
[SwiftBrowser Native](https://github.com/noya-app/SwiftBrowser/blob/main/Native/README.md)
|
|
79
|
-
on iOS, and drawn in the browser by
|
|
89
|
+
on iOS and on macOS (one Xcode target builds for both), and drawn in the browser by
|
|
80
90
|
[\`@swiftbrowser/web\`](https://www.npmjs.com/package/@swiftbrowser/web)'s renderer
|
|
81
91
|
as a web page (\`web\`, built by Vite). The app is \`src/App.tsx\`; the two
|
|
82
92
|
entries, \`src/index.tsx\` and \`web/main.tsx\`, only mount it.
|
|
83
93
|
|
|
84
94
|
- \`npm install\` once: \`@swiftbrowser/native\` carries the Swift package the
|
|
85
95
|
Xcode project depends on (\`node_modules/@swiftbrowser/native/swift\`).
|
|
86
|
-
- \`npm run build\` writes \`
|
|
96
|
+
- \`npm run build\` writes \`apple/app.js\`; then open \`${name}.xcodeproj\` and run it on
|
|
97
|
+
a simulator, an iPhone or the Mac itself (the scheme's destination).
|
|
87
98
|
- \`npm run dev\` serves the bundle with rebuild on save: enable the
|
|
88
99
|
\`SB_DEV_SERVER\` variable in the scheme's Run action and the running app
|
|
89
100
|
refreshes on every save, keeping its state (React Fast Refresh).
|
|
@@ -91,7 +102,7 @@ entries, \`src/index.tsx\` and \`web/main.tsx\`, only mount it.
|
|
|
91
102
|
iPhone frame on a desktop, full screen on a phone); \`npm run build:web\`
|
|
92
103
|
writes it to \`dist-web\` for any static host.
|
|
93
104
|
|
|
94
|
-
The native side is the \`
|
|
105
|
+
The native side is the \`apple/\` folder (the Xcode target's): \`${name}App.swift\` runs the bundle, and
|
|
95
106
|
\`NativeFunctions.swift\` is where Swift the JavaScript calls goes. A function registered with
|
|
96
107
|
\`NativeFunctions.register\` runs from \`callNative(name, params)\`, what Swift sends with
|
|
97
108
|
\`NativeFunctions.send\` reaches \`onNativeEvent(name, listener)\`, and a SwiftUI view registered with
|
|
@@ -115,10 +126,12 @@ function appSource(name, packages = []) {
|
|
|
115
126
|
@main
|
|
116
127
|
struct ${name}App: App {
|
|
117
128
|
@State private var app = NativeApp()
|
|
129
|
+
#if os(iOS)
|
|
118
130
|
// Remote notifications: the device token and the pushes delivered to the
|
|
119
131
|
// app, for \`registerForPush\` and \`onNotification\` in JavaScript (the
|
|
120
132
|
// target also needs the Push Notifications capability).
|
|
121
133
|
@UIApplicationDelegateAdaptor(NativeAppDelegate.self) private var delegate
|
|
134
|
+
#endif
|
|
122
135
|
|
|
123
136
|
init() {
|
|
124
137
|
// Swift the JavaScript calls (NativeFunctions.swift), registered before the bundle loads.
|
|
@@ -169,7 +182,11 @@ import SwiftUI
|
|
|
169
182
|
func registerNativeFunctions() {
|
|
170
183
|
// The device's name, as an example to replace: \`await callNative('deviceName')\`.
|
|
171
184
|
NativeFunctions.registerSync("deviceName") { _ in
|
|
185
|
+
#if canImport(UIKit)
|
|
172
186
|
.string(UIDevice.current.name)
|
|
187
|
+
#else
|
|
188
|
+
.string(Host.current().localizedName ?? "Mac")
|
|
189
|
+
#endif
|
|
173
190
|
}
|
|
174
191
|
|
|
175
192
|
// Swift reporting on its own: \`onNativeEvent('lowPower', (on) => ...)\` hears every change.
|
|
@@ -190,10 +207,10 @@ function packageJson(name, version, packages = []) {
|
|
|
190
207
|
private: true,
|
|
191
208
|
version: '1.0.0',
|
|
192
209
|
type: 'module',
|
|
193
|
-
description: `The ${name} app: bundled for ${name}.xcodeproj (
|
|
210
|
+
description: `The ${name} app: bundled for ${name}.xcodeproj (${NATIVE_FOLDER}/, iOS and macOS) and built as a web page (web/).`,
|
|
194
211
|
scripts: {
|
|
195
|
-
build:
|
|
196
|
-
dev:
|
|
212
|
+
build: `swiftbrowser-native build src/index.tsx --out ${NATIVE_FOLDER}/app.js --minify`,
|
|
213
|
+
dev: `swiftbrowser-native dev src/index.tsx --out ${NATIVE_FOLDER}/app.js --sourcemap`,
|
|
197
214
|
'build:web': 'vite build',
|
|
198
215
|
'dev:web': 'vite',
|
|
199
216
|
typecheck: 'tsc --noEmit -p tsconfig.json',
|
|
@@ -297,7 +314,10 @@ function webIndexHtml(name) {
|
|
|
297
314
|
// The preview's device (src/deviceFrame.ts in @swiftbrowser/web): ?device=, else the last one picked.
|
|
298
315
|
var frame = new URLSearchParams(location.search).get('device');
|
|
299
316
|
try { frame = frame || localStorage.getItem('sb-device-frame'); } catch (e) {}
|
|
300
|
-
|
|
317
|
+
frame = frame === 'ipad' || frame === 'mac' || frame === 'none' ? frame : 'iphone';
|
|
318
|
+
document.documentElement.setAttribute('data-sb-frame', frame);
|
|
319
|
+
// The platform the renderer draws (docs/notes/macos.md), so the Mac's styles apply from the first paint.
|
|
320
|
+
document.documentElement.setAttribute('data-sb-platform', frame === 'mac' ? 'macos' : 'ios');
|
|
301
321
|
// ?toolbar=0: the toolbar's close button hid it (src/deviceFrame.ts).
|
|
302
322
|
if (new URLSearchParams(location.search).get('toolbar') === '0') document.documentElement.setAttribute('data-sb-toolbar', 'hidden');
|
|
303
323
|
})();
|
|
@@ -419,7 +439,7 @@ try {
|
|
|
419
439
|
} else {
|
|
420
440
|
// A desktop: the toolbar's Device picker draws the app in an iPhone, an
|
|
421
441
|
// iPad or no device, remembered for the next visit (?device= picks one).
|
|
422
|
-
installDeviceFrame(mounted
|
|
442
|
+
installDeviceFrame(mounted);
|
|
423
443
|
}
|
|
424
444
|
} catch (error) {
|
|
425
445
|
status.textContent = error instanceof Error ? error.message : String(error);
|
|
@@ -496,10 +516,12 @@ function pbxproj(name, bundleId, packagePath, infoPlist, capabilities = { icloud
|
|
|
496
516
|
['GCC_WARN_UNINITIALIZED_AUTOS', 'YES_AGGRESSIVE'],
|
|
497
517
|
['IPHONEOS_DEPLOYMENT_TARGET', '17.0'],
|
|
498
518
|
['LOCALIZATION_PREFERS_STRING_CATALOGS', 'YES'],
|
|
519
|
+
['MACOSX_DEPLOYMENT_TARGET', '14.0'],
|
|
499
520
|
['MTL_ENABLE_DEBUG_INFO', debug ? 'INCLUDE_SOURCE' : 'NO'],
|
|
500
521
|
['MTL_FAST_MATH', 'YES'],
|
|
501
522
|
...(debug ? [['ONLY_ACTIVE_ARCH', 'YES']] : []),
|
|
502
|
-
|
|
523
|
+
// One target for both platforms (Xcode 14's multiplatform app): the SDK follows the destination.
|
|
524
|
+
['SDKROOT', 'auto'],
|
|
503
525
|
...(debug
|
|
504
526
|
? [
|
|
505
527
|
['SWIFT_ACTIVE_COMPILATION_CONDITIONS', '"DEBUG $(inherited)"'],
|
|
@@ -513,12 +535,17 @@ function pbxproj(name, bundleId, packagePath, infoPlist, capabilities = { icloud
|
|
|
513
535
|
const targetSettings = settings([
|
|
514
536
|
['ASSETCATALOG_COMPILER_APPICON_NAME', 'AppIcon'],
|
|
515
537
|
['ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME', 'AccentColor'],
|
|
516
|
-
...(capabilities.entitlements ? [['CODE_SIGN_ENTITLEMENTS',
|
|
538
|
+
...(capabilities.entitlements ? [['CODE_SIGN_ENTITLEMENTS', `${NATIVE_FOLDER}/${name}.entitlements`]] : []),
|
|
539
|
+
// The Mac build: its own entitlements (the sandbox, the JIT), the hardened
|
|
540
|
+
// runtime notarization asks for, and a Mac app's framework path.
|
|
541
|
+
[`"CODE_SIGN_ENTITLEMENTS[sdk=macosx*]"`, `"${NATIVE_FOLDER}/${name}-macOS.entitlements"`],
|
|
517
542
|
['CODE_SIGN_STYLE', 'Automatic'],
|
|
543
|
+
['COMBINE_HIDPI_IMAGES', 'YES'],
|
|
518
544
|
['CURRENT_PROJECT_VERSION', '1'],
|
|
545
|
+
['ENABLE_HARDENED_RUNTIME', 'YES'],
|
|
519
546
|
['ENABLE_PREVIEWS', 'YES'],
|
|
520
547
|
['GENERATE_INFOPLIST_FILE', 'YES'],
|
|
521
|
-
...(capabilities.icloud ? [['INFOPLIST_FILE',
|
|
548
|
+
...(capabilities.icloud ? [['INFOPLIST_FILE', `${NATIVE_FOLDER}/Info.plist`]] : []),
|
|
522
549
|
['INFOPLIST_KEY_CFBundleDisplayName', quoted(name)],
|
|
523
550
|
...Object.keys(infoPlist)
|
|
524
551
|
.sort()
|
|
@@ -529,9 +556,13 @@ function pbxproj(name, bundleId, packagePath, infoPlist, capabilities = { icloud
|
|
|
529
556
|
['INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad', '"UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"'],
|
|
530
557
|
['INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone', '"UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"'],
|
|
531
558
|
['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)'],
|
|
559
|
+
['"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]"', '(\n\t\t\t\t\t"$(inherited)",\n\t\t\t\t\t"@executable_path/../Frameworks",\n\t\t\t\t)'],
|
|
532
560
|
['MARKETING_VERSION', '1.0'],
|
|
533
561
|
['PRODUCT_BUNDLE_IDENTIFIER', quoted(bundleId)],
|
|
534
562
|
['PRODUCT_NAME', '"$(TARGET_NAME)"'],
|
|
563
|
+
['SUPPORTED_PLATFORMS', '"iphoneos iphonesimulator macosx"'],
|
|
564
|
+
['SUPPORTS_MACCATALYST', 'NO'],
|
|
565
|
+
['SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD', 'NO'],
|
|
535
566
|
['SWIFT_EMIT_LOC_STRINGS', 'YES'],
|
|
536
567
|
['SWIFT_VERSION', '5.0'],
|
|
537
568
|
['TARGETED_DEVICE_FAMILY', '"1,2"'],
|
|
@@ -553,9 +584,9 @@ function pbxproj(name, bundleId, packagePath, infoPlist, capabilities = { icloud
|
|
|
553
584
|
/* End PBXFileReference section */
|
|
554
585
|
|
|
555
586
|
/* Begin PBXFileSystemSynchronizedRootGroup section */
|
|
556
|
-
${folder} /*
|
|
587
|
+
${folder} /* ${NATIVE_FOLDER} */ = {
|
|
557
588
|
isa = PBXFileSystemSynchronizedRootGroup;
|
|
558
|
-
path =
|
|
589
|
+
path = ${NATIVE_FOLDER};
|
|
559
590
|
sourceTree = "<group>";
|
|
560
591
|
};
|
|
561
592
|
/* End PBXFileSystemSynchronizedRootGroup section */
|
|
@@ -575,7 +606,7 @@ function pbxproj(name, bundleId, packagePath, infoPlist, capabilities = { icloud
|
|
|
575
606
|
${mainGroup} = {
|
|
576
607
|
isa = PBXGroup;
|
|
577
608
|
children = (
|
|
578
|
-
${folder} /*
|
|
609
|
+
${folder} /* ${NATIVE_FOLDER} */,
|
|
579
610
|
${products} /* Products */,
|
|
580
611
|
);
|
|
581
612
|
sourceTree = "<group>";
|
|
@@ -604,7 +635,7 @@ function pbxproj(name, bundleId, packagePath, infoPlist, capabilities = { icloud
|
|
|
604
635
|
dependencies = (
|
|
605
636
|
);
|
|
606
637
|
fileSystemSynchronizedGroups = (
|
|
607
|
-
${folder} /*
|
|
638
|
+
${folder} /* ${NATIVE_FOLDER} */,
|
|
608
639
|
);
|
|
609
640
|
name = ${name};
|
|
610
641
|
packageProductDependencies = (
|
|
@@ -854,6 +885,54 @@ ${entries.join('\n')}
|
|
|
854
885
|
</plist>
|
|
855
886
|
`;
|
|
856
887
|
}
|
|
888
|
+
/**
|
|
889
|
+
* The Mac build's entitlements (`CODE_SIGN_ENTITLEMENTS[sdk=macosx*]`): the
|
|
890
|
+
* App Sandbox with the network and the files the viewer picks, the JIT
|
|
891
|
+
* JavaScriptCore wants under the hardened runtime (notarization requires
|
|
892
|
+
* that runtime; a Mac App Store build keeps the same file), and the iOS
|
|
893
|
+
* capabilities the app has on a Mac too.
|
|
894
|
+
*/
|
|
895
|
+
export function macEntitlements(bundleId, capabilities = {}) {
|
|
896
|
+
const container = `iCloud.${bundleId}`;
|
|
897
|
+
const entries = [
|
|
898
|
+
` <key>com.apple.security.app-sandbox</key>
|
|
899
|
+
<true/>
|
|
900
|
+
<key>com.apple.security.cs.allow-jit</key>
|
|
901
|
+
<true/>
|
|
902
|
+
<key>com.apple.security.files.user-selected.read-write</key>
|
|
903
|
+
<true/>
|
|
904
|
+
<key>com.apple.security.network.client</key>
|
|
905
|
+
<true/>`,
|
|
906
|
+
];
|
|
907
|
+
if (capabilities.signInWithApple) {
|
|
908
|
+
entries.push(` <key>com.apple.developer.applesignin</key>
|
|
909
|
+
<array>
|
|
910
|
+
<string>Default</string>
|
|
911
|
+
</array>`);
|
|
912
|
+
}
|
|
913
|
+
if (capabilities.icloud) {
|
|
914
|
+
entries.push(` <key>com.apple.developer.icloud-container-identifiers</key>
|
|
915
|
+
<array>
|
|
916
|
+
<string>${container}</string>
|
|
917
|
+
</array>
|
|
918
|
+
<key>com.apple.developer.icloud-services</key>
|
|
919
|
+
<array>
|
|
920
|
+
<string>CloudDocuments</string>
|
|
921
|
+
</array>
|
|
922
|
+
<key>com.apple.developer.ubiquity-container-identifiers</key>
|
|
923
|
+
<array>
|
|
924
|
+
<string>${container}</string>
|
|
925
|
+
</array>`);
|
|
926
|
+
}
|
|
927
|
+
return `<?xml version="1.0" encoding="UTF-8"?>
|
|
928
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
929
|
+
<plist version="1.0">
|
|
930
|
+
<dict>
|
|
931
|
+
${entries.join('\n')}
|
|
932
|
+
</dict>
|
|
933
|
+
</plist>
|
|
934
|
+
`;
|
|
935
|
+
}
|
|
857
936
|
/**
|
|
858
937
|
* An Info.plist beside the generated keys (Xcode merges the two): the
|
|
859
938
|
* container's Documents shown in the Files app under the app's name.
|
|
@@ -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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"}
|
|
@@ -14,5 +14,5 @@ export interface NativeWorkflowOptions {
|
|
|
14
14
|
}
|
|
15
15
|
/** A Cloudflare Pages project name from an app name: `WeatherApp` → `weather-app`. */
|
|
16
16
|
export declare function pagesProjectName(name: string): string;
|
|
17
|
-
/** The
|
|
17
|
+
/** The three workflow files, relative to the repository's root. */
|
|
18
18
|
export declare function nativeWorkflowFiles(options: NativeWorkflowOptions): TemplateFile[];
|
package/dist/nativeWorkflows.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// The GitHub Actions workflows of a new native app (`swiftbrowser native init
|
|
2
|
-
// --github`):
|
|
3
|
-
// web page (sb-web.yml)
|
|
4
|
-
// to the release the app's
|
|
5
|
-
// together. They go in the repository's .github/workflows, which may be
|
|
2
|
+
// --github`): three short callers of SwiftBrowser's reusable workflows, the
|
|
3
|
+
// web page (sb-web.yml), the ad hoc iOS build (sb-ios-adhoc.yml) and the
|
|
4
|
+
// notarized Mac build (sb-macos.yml), pinned to the release the app's
|
|
5
|
+
// @swiftbrowser packages are at, so they move together. They go in the repository's .github/workflows, which may be
|
|
6
6
|
// above the app's folder (a monorepo), naming the app's folder.
|
|
7
7
|
import { readFileSync } from 'node:fs';
|
|
8
8
|
const VERSION = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')).version;
|
|
@@ -18,7 +18,7 @@ export function pagesProjectName(name) {
|
|
|
18
18
|
.replace(/^-+|-+$/g, '')
|
|
19
19
|
.slice(0, 58);
|
|
20
20
|
}
|
|
21
|
-
/** The
|
|
21
|
+
/** The three workflow files, relative to the repository's root. */
|
|
22
22
|
export function nativeWorkflowFiles(options) {
|
|
23
23
|
const { name, bundleId } = options;
|
|
24
24
|
const directory = options.directory.replace(/\/+$/, '') || '.';
|
|
@@ -29,6 +29,7 @@ export function nativeWorkflowFiles(options) {
|
|
|
29
29
|
const file = (kind) => `.github/workflows/${atRoot ? kind : `${pagesProjectName(name)}-${kind}`}.yml`;
|
|
30
30
|
const web = file('web');
|
|
31
31
|
const ios = file('ios');
|
|
32
|
+
const macos = file('macos');
|
|
32
33
|
const paths = (own) => (atRoot ? '' : `\n paths:\n - '${directory}/**'\n - ${own}`);
|
|
33
34
|
const uses = (workflow) => `${WORKFLOWS_REPOSITORY}/.github/workflows/${workflow}@v${version}`;
|
|
34
35
|
const directoryLine = atRoot ? '' : `\n directory: ${directory}`;
|
|
@@ -102,6 +103,43 @@ jobs:
|
|
|
102
103
|
bundle-id: ${bundleId}${directoryLine}
|
|
103
104
|
pages-project: ${project}
|
|
104
105
|
secrets: inherit
|
|
106
|
+
`,
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
path: macos,
|
|
110
|
+
contents: `name: ${name} macOS build
|
|
111
|
+
|
|
112
|
+
# ${name} as a notarized Mac app, downloaded from
|
|
113
|
+
# https://mac.${project}.pages.dev: signed with the team's Developer ID,
|
|
114
|
+
# notarized by Apple and stapled, so it opens like any other download.
|
|
115
|
+
# SwiftBrowser's reusable sb-macos.yml does the work, at the release the
|
|
116
|
+
# app's @swiftbrowser packages are at: move the two together. By hand only,
|
|
117
|
+
# as a macOS runner costs ten Linux minutes a minute; add a push trigger
|
|
118
|
+
# with the app's paths to build on every change.
|
|
119
|
+
#
|
|
120
|
+
# Secrets: APPLE_TEAM_ID, APPLE_DEVID_P12_BASE64 and APPLE_DEVID_P12_PASSWORD
|
|
121
|
+
# (a Developer ID Application certificate), ASC_KEY_ID, ASC_ISSUER_ID and
|
|
122
|
+
# ASC_KEY_P8 (an App Store Connect API key), CLOUDFLARE_API_TOKEN and
|
|
123
|
+
# CLOUDFLARE_ACCOUNT_ID.
|
|
124
|
+
|
|
125
|
+
on:
|
|
126
|
+
workflow_dispatch:
|
|
127
|
+
|
|
128
|
+
concurrency:
|
|
129
|
+
group: ${pagesProjectName(name)}-macos
|
|
130
|
+
cancel-in-progress: false
|
|
131
|
+
|
|
132
|
+
permissions:
|
|
133
|
+
contents: read
|
|
134
|
+
|
|
135
|
+
jobs:
|
|
136
|
+
macos:
|
|
137
|
+
uses: ${uses('sb-macos.yml')}
|
|
138
|
+
with:
|
|
139
|
+
app: ${name}
|
|
140
|
+
bundle-id: ${bundleId}${directoryLine}
|
|
141
|
+
pages-project: ${project}
|
|
142
|
+
secrets: inherit
|
|
105
143
|
`,
|
|
106
144
|
},
|
|
107
145
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nativeWorkflows.js","sourceRoot":"","sources":["../src/nativeWorkflows.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,
|
|
1
|
+
{"version":3,"file":"nativeWorkflows.js","sourceRoot":"","sources":["../src/nativeWorkflows.ts"],"names":[],"mappings":"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"}
|
package/dist/project.d.ts
CHANGED
|
@@ -53,6 +53,13 @@ export interface ResolvedApp {
|
|
|
53
53
|
blockHosts?: string[];
|
|
54
54
|
/** Whether ICU's collation tables ship (`collation` in swiftbrowser.json; default true). */
|
|
55
55
|
collation: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* The platform the app is built for (`--platform`, `platform` in
|
|
58
|
+
* swiftbrowser.json; docs/notes/macos.md): which `os()` condition holds in
|
|
59
|
+
* its sources and the idiom the page draws. `defines` carries
|
|
60
|
+
* `SWIFTBROWSER_MACOS` for `macos`.
|
|
61
|
+
*/
|
|
62
|
+
platform: 'ios' | 'macos';
|
|
56
63
|
defines: string[];
|
|
57
64
|
/**
|
|
58
65
|
* The Swift packages the Xcode target links (Package Dependencies), and
|
|
@@ -86,6 +93,8 @@ export declare const UNIT_TEST_PRODUCT_TYPE = "com.apple.product-type.bundle.uni
|
|
|
86
93
|
export interface ResolveOptions {
|
|
87
94
|
target?: string;
|
|
88
95
|
configFile?: string;
|
|
96
|
+
/** The platform to build for (`--platform`), over the config's. */
|
|
97
|
+
platform?: 'ios' | 'macos';
|
|
89
98
|
}
|
|
90
99
|
/** `Guess The Flag` → `GuessTheFlag`; a leading digit gets an underscore. */
|
|
91
100
|
export declare function moduleName(raw: string): string;
|
package/dist/project.js
CHANGED
|
@@ -256,6 +256,7 @@ export async function resolveApp(input, options = {}) {
|
|
|
256
256
|
swiftLanguageMode: config.swiftLanguageMode ?? (chosen.swiftVersion?.startsWith('6') ? '6' : swiftLanguageMode),
|
|
257
257
|
locales,
|
|
258
258
|
collation,
|
|
259
|
+
platform: 'ios',
|
|
259
260
|
defines,
|
|
260
261
|
packages: [...groupPackageProducts(chosen.packageDependencies ?? []), ...configPackages(config.packages ?? [], root)],
|
|
261
262
|
origin: { kind: 'xcodeproj', project: projectPath, target: chosen.name },
|
|
@@ -284,6 +285,7 @@ export async function resolveApp(input, options = {}) {
|
|
|
284
285
|
app.webPushKey = config.webPushKey;
|
|
285
286
|
if (config.blockHosts?.length)
|
|
286
287
|
app.blockHosts = config.blockHosts;
|
|
288
|
+
setPlatform(app, options.platform ?? config.platform);
|
|
287
289
|
return finish(app);
|
|
288
290
|
}
|
|
289
291
|
const discovered = discoverByConvention(root);
|
|
@@ -309,6 +311,7 @@ export async function resolveApp(input, options = {}) {
|
|
|
309
311
|
swiftLanguageMode,
|
|
310
312
|
locales,
|
|
311
313
|
collation,
|
|
314
|
+
platform: 'ios',
|
|
312
315
|
defines,
|
|
313
316
|
packages: configPackages(config.packages ?? [], root),
|
|
314
317
|
origin: { kind: 'folder' },
|
|
@@ -326,8 +329,15 @@ export async function resolveApp(input, options = {}) {
|
|
|
326
329
|
app.webPushKey = config.webPushKey;
|
|
327
330
|
if (config.blockHosts?.length)
|
|
328
331
|
app.blockHosts = config.blockHosts;
|
|
332
|
+
setPlatform(app, options.platform ?? config.platform);
|
|
329
333
|
return finish(app);
|
|
330
334
|
}
|
|
335
|
+
/** The app's platform, iOS unless asked, and the define that tells its sources (docs/notes/macos.md). */
|
|
336
|
+
function setPlatform(app, platform) {
|
|
337
|
+
app.platform = platform ?? 'ios';
|
|
338
|
+
if (app.platform === 'macos' && !app.defines.includes('SWIFTBROWSER_MACOS'))
|
|
339
|
+
app.defines = [...app.defines, 'SWIFTBROWSER_MACOS'];
|
|
340
|
+
}
|
|
331
341
|
/**
|
|
332
342
|
* The path as it exists on disk when it differs only in case: Xcode projects
|
|
333
343
|
* made on macOS (a case-insensitive disk) may say `BucketList/` for a folder
|