@symbiote-native/cli 0.2.0 → 0.3.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/bundle.js +101 -1
- package/package.json +2 -2
- package/templates/README.md +6 -9
- package/templates/js/angular/README.md +2 -2
- package/templates/js/angular/tsconfig.angular.json +8 -14
- package/templates/js/svelte/image-uris.js +3 -5
- package/templates/layers/README.md +14 -24
- package/templates/layers/age-range/package.json.fragment.json +5 -0
- package/templates/layers/app-integrity/package.json.fragment.json +5 -0
- package/templates/layers/app-metrics/package.json.fragment.json +5 -0
- package/templates/layers/asset/package.json.fragment.json +5 -0
- package/templates/layers/auth-session/package.json.fragment.json +5 -0
- package/templates/layers/blob/package.json.fragment.json +5 -0
- package/templates/layers/calendar/package.json.fragment.json +5 -0
- package/templates/layers/constants/package.json.fragment.json +5 -0
- package/templates/layers/contacts/package.json.fragment.json +5 -0
- package/templates/layers/document-picker/package.json.fragment.json +5 -0
- package/templates/layers/font/package.json.fragment.json +5 -0
- package/templates/layers/image-manipulator/package.json.fragment.json +5 -0
- package/templates/layers/image-picker/package.json.fragment.json +5 -0
- package/templates/layers/intent-launcher/package.json.fragment.json +5 -0
- package/templates/layers/mail-composer/package.json.fragment.json +5 -0
- package/templates/layers/navigation/app/svelte/image-uris.js +3 -5
- package/templates/layers/navigation-bar/package.json.fragment.json +5 -0
- package/templates/layers/print/package.json.fragment.json +5 -0
- package/templates/layers/screen-capture/package.json.fragment.json +5 -0
- package/templates/layers/speech/package.json.fragment.json +5 -0
- package/templates/layers/video-thumbnails/package.json.fragment.json +5 -0
- package/templates/native/README.md +2 -2
package/bundle.js
CHANGED
|
@@ -117,11 +117,31 @@ var NotSymbioteAppError = class extends Error {
|
|
|
117
117
|
//#endregion
|
|
118
118
|
//#region src/expo-package-layers.ts
|
|
119
119
|
const EXPO_PACKAGE_LAYERS = [
|
|
120
|
+
{
|
|
121
|
+
id: "age-range",
|
|
122
|
+
label: "Age range",
|
|
123
|
+
symbiotePackage: "@symbiote-native/age-range"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
id: "app-integrity",
|
|
127
|
+
label: "App integrity",
|
|
128
|
+
symbiotePackage: "@symbiote-native/app-integrity"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
id: "app-metrics",
|
|
132
|
+
label: "App metrics",
|
|
133
|
+
symbiotePackage: "@symbiote-native/app-metrics"
|
|
134
|
+
},
|
|
120
135
|
{
|
|
121
136
|
id: "application",
|
|
122
137
|
label: "Application info",
|
|
123
138
|
symbiotePackage: "@symbiote-native/application"
|
|
124
139
|
},
|
|
140
|
+
{
|
|
141
|
+
id: "asset",
|
|
142
|
+
label: "Asset",
|
|
143
|
+
symbiotePackage: "@symbiote-native/asset"
|
|
144
|
+
},
|
|
125
145
|
{
|
|
126
146
|
id: "audio",
|
|
127
147
|
label: "Audio",
|
|
@@ -138,6 +158,11 @@ const EXPO_PACKAGE_LAYERS = [
|
|
|
138
158
|
}]
|
|
139
159
|
}]
|
|
140
160
|
},
|
|
161
|
+
{
|
|
162
|
+
id: "auth-session",
|
|
163
|
+
label: "Auth session (OAuth2/OIDC)",
|
|
164
|
+
symbiotePackage: "@symbiote-native/auth-session"
|
|
165
|
+
},
|
|
141
166
|
{
|
|
142
167
|
id: "background-fetch",
|
|
143
168
|
label: "Background fetch",
|
|
@@ -153,11 +178,21 @@ const EXPO_PACKAGE_LAYERS = [
|
|
|
153
178
|
label: "Battery",
|
|
154
179
|
symbiotePackage: "@symbiote-native/battery"
|
|
155
180
|
},
|
|
181
|
+
{
|
|
182
|
+
id: "blob",
|
|
183
|
+
label: "Blob",
|
|
184
|
+
symbiotePackage: "@symbiote-native/blob"
|
|
185
|
+
},
|
|
156
186
|
{
|
|
157
187
|
id: "brightness",
|
|
158
188
|
label: "Brightness",
|
|
159
189
|
symbiotePackage: "@symbiote-native/brightness"
|
|
160
190
|
},
|
|
191
|
+
{
|
|
192
|
+
id: "calendar",
|
|
193
|
+
label: "Calendar",
|
|
194
|
+
symbiotePackage: "@symbiote-native/calendar"
|
|
195
|
+
},
|
|
161
196
|
{
|
|
162
197
|
id: "cellular",
|
|
163
198
|
label: "Cellular info",
|
|
@@ -168,6 +203,16 @@ const EXPO_PACKAGE_LAYERS = [
|
|
|
168
203
|
label: "Clipboard",
|
|
169
204
|
symbiotePackage: "@symbiote-native/clipboard"
|
|
170
205
|
},
|
|
206
|
+
{
|
|
207
|
+
id: "constants",
|
|
208
|
+
label: "Constants",
|
|
209
|
+
symbiotePackage: "@symbiote-native/constants"
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
id: "contacts",
|
|
213
|
+
label: "Contacts",
|
|
214
|
+
symbiotePackage: "@symbiote-native/contacts"
|
|
215
|
+
},
|
|
171
216
|
{
|
|
172
217
|
id: "crypto",
|
|
173
218
|
label: "Crypto",
|
|
@@ -178,16 +223,41 @@ const EXPO_PACKAGE_LAYERS = [
|
|
|
178
223
|
label: "Device info",
|
|
179
224
|
symbiotePackage: "@symbiote-native/device"
|
|
180
225
|
},
|
|
226
|
+
{
|
|
227
|
+
id: "document-picker",
|
|
228
|
+
label: "Document picker",
|
|
229
|
+
symbiotePackage: "@symbiote-native/document-picker"
|
|
230
|
+
},
|
|
181
231
|
{
|
|
182
232
|
id: "file-system",
|
|
183
233
|
label: "File system",
|
|
184
234
|
symbiotePackage: "@symbiote-native/file-system"
|
|
185
235
|
},
|
|
236
|
+
{
|
|
237
|
+
id: "font",
|
|
238
|
+
label: "Font",
|
|
239
|
+
symbiotePackage: "@symbiote-native/font"
|
|
240
|
+
},
|
|
186
241
|
{
|
|
187
242
|
id: "haptics",
|
|
188
243
|
label: "Haptics",
|
|
189
244
|
symbiotePackage: "@symbiote-native/haptics"
|
|
190
245
|
},
|
|
246
|
+
{
|
|
247
|
+
id: "image-manipulator",
|
|
248
|
+
label: "Image manipulator",
|
|
249
|
+
symbiotePackage: "@symbiote-native/image-manipulator"
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
id: "image-picker",
|
|
253
|
+
label: "Image picker",
|
|
254
|
+
symbiotePackage: "@symbiote-native/image-picker"
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
id: "intent-launcher",
|
|
258
|
+
label: "Intent launcher",
|
|
259
|
+
symbiotePackage: "@symbiote-native/intent-launcher"
|
|
260
|
+
},
|
|
191
261
|
{
|
|
192
262
|
id: "keep-awake",
|
|
193
263
|
label: "Keep awake",
|
|
@@ -219,11 +289,21 @@ const EXPO_PACKAGE_LAYERS = [
|
|
|
219
289
|
]
|
|
220
290
|
}]
|
|
221
291
|
},
|
|
292
|
+
{
|
|
293
|
+
id: "mail-composer",
|
|
294
|
+
label: "Mail composer",
|
|
295
|
+
symbiotePackage: "@symbiote-native/mail-composer"
|
|
296
|
+
},
|
|
222
297
|
{
|
|
223
298
|
id: "media-library",
|
|
224
299
|
label: "Media library",
|
|
225
300
|
symbiotePackage: "@symbiote-native/media-library"
|
|
226
301
|
},
|
|
302
|
+
{
|
|
303
|
+
id: "navigation-bar",
|
|
304
|
+
label: "Navigation bar",
|
|
305
|
+
symbiotePackage: "@symbiote-native/navigation-bar"
|
|
306
|
+
},
|
|
227
307
|
{
|
|
228
308
|
id: "network",
|
|
229
309
|
label: "Network info",
|
|
@@ -234,6 +314,16 @@ const EXPO_PACKAGE_LAYERS = [
|
|
|
234
314
|
label: "Notifications",
|
|
235
315
|
symbiotePackage: "@symbiote-native/notifications"
|
|
236
316
|
},
|
|
317
|
+
{
|
|
318
|
+
id: "print",
|
|
319
|
+
label: "Print",
|
|
320
|
+
symbiotePackage: "@symbiote-native/print"
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
id: "screen-capture",
|
|
324
|
+
label: "Screen capture",
|
|
325
|
+
symbiotePackage: "@symbiote-native/screen-capture"
|
|
326
|
+
},
|
|
237
327
|
{
|
|
238
328
|
id: "screen-orientation",
|
|
239
329
|
label: "Screen orientation",
|
|
@@ -259,6 +349,11 @@ const EXPO_PACKAGE_LAYERS = [
|
|
|
259
349
|
label: "SMS",
|
|
260
350
|
symbiotePackage: "@symbiote-native/sms"
|
|
261
351
|
},
|
|
352
|
+
{
|
|
353
|
+
id: "speech",
|
|
354
|
+
label: "Speech",
|
|
355
|
+
symbiotePackage: "@symbiote-native/speech"
|
|
356
|
+
},
|
|
262
357
|
{
|
|
263
358
|
id: "sqlite",
|
|
264
359
|
label: "SQLite",
|
|
@@ -289,6 +384,11 @@ const EXPO_PACKAGE_LAYERS = [
|
|
|
289
384
|
label: "Tracking transparency",
|
|
290
385
|
symbiotePackage: "@symbiote-native/tracking-transparency"
|
|
291
386
|
},
|
|
387
|
+
{
|
|
388
|
+
id: "video-thumbnails",
|
|
389
|
+
label: "Video thumbnails",
|
|
390
|
+
symbiotePackage: "@symbiote-native/video-thumbnails"
|
|
391
|
+
},
|
|
292
392
|
{
|
|
293
393
|
id: "web-browser",
|
|
294
394
|
label: "Web browser",
|
|
@@ -3545,7 +3645,7 @@ async function runNew(parsed) {
|
|
|
3545
3645
|
}
|
|
3546
3646
|
//#endregion
|
|
3547
3647
|
//#region package.json
|
|
3548
|
-
var version = "0.
|
|
3648
|
+
var version = "0.3.0";
|
|
3549
3649
|
//#endregion
|
|
3550
3650
|
//#region src/index.ts
|
|
3551
3651
|
function printHelp() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@symbiote-native/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Create a native iOS/Android app in Vue, Svelte, Solid, Angular or React, on React Native's own Fabric renderer. Scaffolds a new app, or wires SymbioteNative into an existing bare React Native one.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"picocolors": "^1.1.1",
|
|
56
56
|
"rolldown": "1.2.0",
|
|
57
57
|
"typescript": "~6.0.0",
|
|
58
|
-
"@symbiote-native/expo-modules-link": "0.
|
|
58
|
+
"@symbiote-native/expo-modules-link": "0.6.0"
|
|
59
59
|
},
|
|
60
60
|
"scripts": {
|
|
61
61
|
"typecheck": "tsc --build",
|
package/templates/README.md
CHANGED
|
@@ -30,14 +30,12 @@ templates/
|
|
|
30
30
|
# layers/navigation/app/<fw> — render-template.ts copies a
|
|
31
31
|
# source directory recursively with no exclusion, so nesting an
|
|
32
32
|
# override folder inside a tree that's already copied wholesale
|
|
33
|
-
# ships it into every generated app regardless of --styling
|
|
34
|
-
# (a real bug, fixed 2026-09-17 — see ../README.md).
|
|
33
|
+
# ships it into every generated app regardless of --styling.
|
|
35
34
|
```
|
|
36
35
|
|
|
37
36
|
Every `js/<framework>` also ships a base `App.<ext>` (a "Welcome to SymbioteNative!" + tap
|
|
38
37
|
counter, no navigation) — the one thing that actually makes a scaffolded app RUN instead of
|
|
39
|
-
crashing on `import App from './App'` resolving to nothing
|
|
40
|
-
the copy/merge mechanism landed before this file did).
|
|
38
|
+
crashing on `import App from './App'` resolving to nothing.
|
|
41
39
|
|
|
42
40
|
**Every App file is TWO independently-maintained variants, never one derived from the other.**
|
|
43
41
|
react/vue-tsx/solid: `App.tsx` + `App.jsx`, picked by filename (`render-template.ts`'s
|
|
@@ -45,8 +43,8 @@ react/vue-tsx/solid: `App.tsx` + `App.jsx`, picked by filename (`render-template
|
|
|
45
43
|
language is an internal `<script lang="ts">` attribute, so both variants would collide on the same
|
|
46
44
|
extension (`App.vue`/`App.svelte`) — instead the TypeScript half is a `App.typescript.vue` /
|
|
47
45
|
`App.typescript.svelte` sibling that renders to the plain name only when TypeScript is on (same
|
|
48
|
-
`.typescript.` infix mechanism as `package.json.fragment.typescript.json
|
|
49
|
-
|
|
46
|
+
`.typescript.` infix mechanism as `package.json.fragment.typescript.json`). Angular has no JS
|
|
47
|
+
half at all (AOT requires TypeScript). The two variants read
|
|
50
48
|
identically today because neither has a REAL type annotation yet worth diverging on — a
|
|
51
49
|
copy-with-renamed-extension looked equivalent for the same reason and was rejected: the moment
|
|
52
50
|
one side gains an actual type, that copy would silently ship broken syntax into the other mode.
|
|
@@ -72,9 +70,8 @@ workspace names, Android package directory + `namespace`/`applicationId`, `app.j
|
|
|
72
70
|
Podfile target — see `src/utils/apply-app-identity.ts`; case-sensitive, so it never touches an
|
|
73
71
|
unrelated lowercase "canary" in prose/comments). Every framework ships a working base App and,
|
|
74
72
|
with `--navigation`, a 2-screen Stack demo — verified end-to-end against real installs, including
|
|
75
|
-
a real `ngc` AOT build for Angular both with and without `--navigation
|
|
76
|
-
|
|
77
|
-
ERESOLVE — every such pin is now `"latest"`, see `templates/layers/README.md`). Verified against 5
|
|
73
|
+
a real `ngc` AOT build for Angular both with and without `--navigation`. Every
|
|
74
|
+
`@symbiote-native/*` version pin is `"latest"` (see `templates/layers/README.md`). Verified against 5
|
|
78
75
|
combinations (react+expo+navigation, vue-sfc+navigation, solid, svelte+expo, angular) — see
|
|
79
76
|
`../README.md`'s "Design decisions" section.
|
|
80
77
|
|
|
@@ -38,8 +38,8 @@ Not copied, and why:
|
|
|
38
38
|
(the generated app gets a fresh install).
|
|
39
39
|
|
|
40
40
|
**The `src/` judgment call**: `examples/angular`'s root has no `App.ts`-equivalent — unlike
|
|
41
|
-
React/Vue's flat `App.tsx` at the app root, Angular's whole source tree (
|
|
42
|
-
|
|
41
|
+
React/Vue's flat `App.tsx` at the app root, Angular's whole source tree (documented in
|
|
42
|
+
`angular-adapter-build` skill §3a) lives under `src/` specifically to keep
|
|
43
43
|
`ngc --watch`'s recursive chokidar watch (rooted at `angularCompilerOptions.basePath`) away from
|
|
44
44
|
`ios/`/`android/`'s tens of thousands of files as watch-root siblings. That makes the split
|
|
45
45
|
mechanical rather than a judgment call for most of `src/`: everything in it is either (a) the
|
|
@@ -13,20 +13,14 @@
|
|
|
13
13
|
},
|
|
14
14
|
"files": ["src/App.ts", "src/css.d.ts"],
|
|
15
15
|
"exclude": ["build", "e2e", "**/node_modules", "**/Pods"],
|
|
16
|
-
// `ngc --watch`
|
|
17
|
-
//
|
|
18
|
-
//
|
|
19
|
-
//
|
|
20
|
-
|
|
21
|
-
//
|
|
22
|
-
//
|
|
23
|
-
//
|
|
24
|
-
// Kept relative here (portable, machine-independent) even though @angular/compiler-cli's
|
|
25
|
-
// INCREMENTAL recompile path needs it absolute (throws TS500 "path is not absolute" via
|
|
26
|
-
// absoluteFrom() otherwise, on the second file change onward) — symbiote-angular-dev.cjs
|
|
27
|
-
// resolves it to absolute at spawn time via a throwaway override config, so this file never
|
|
28
|
-
// carries a hardcoded machine path. `ngc -p tsconfig.angular.json` one-shot builds (ng:build)
|
|
29
|
-
// don't need that resolution — a relative basePath is fine for a cold compile.
|
|
16
|
+
// `ngc --watch` chokidar-watches `angularCompilerOptions.basePath` recursively, filtered only
|
|
17
|
+
// by a hardcoded regex (not ios/android/build) — defaulting to this file's dir would recurse
|
|
18
|
+
// into ios/ (17k+ files) and android/ (1k+ files) and hit EMFILE. Narrowed to src/ instead;
|
|
19
|
+
// overriding basePath affects only the watch root, not file/rootDir resolution.
|
|
20
|
+
|
|
21
|
+
// Kept relative here (portable) even though @angular/compiler-cli's INCREMENTAL recompile path
|
|
22
|
+
// needs it absolute — symbiote-angular-dev.cjs resolves it to absolute at spawn time via a
|
|
23
|
+
// throwaway override config; `ngc -p` one-shot builds don't need that resolution.
|
|
30
24
|
"angularCompilerOptions": {
|
|
31
25
|
"basePath": "src"
|
|
32
26
|
},
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
// require('./assets/x.png')
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
// examples/svelte included, is a plain {uri} object). Inlining as a data URI sidesteps the
|
|
5
|
-
// untested path entirely and reuses the ONE proven-working shape.
|
|
1
|
+
// require('./assets/x.png') has no working precedent through Metro's numeric-asset-id path plus
|
|
2
|
+
// this adapter's dom shim (every other Svelte image use, examples/svelte included, is a plain
|
|
3
|
+
// {uri} object). Inlining as a data URI sidesteps the untested path.
|
|
6
4
|
export const REACT_NATIVE_LOGO_URI = 'data:image/png;base64,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';
|
|
7
5
|
export const PLUS_ICON_URI = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAQAAAAAYLlVAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAACxIAAAsSAdLdfvwAAAAHdElNRQfqCRIHLh3hRRxRAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDI2LTA5LTE4VDA3OjM0OjM4KzAwOjAwBIF8BAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyNi0wOS0xOFQwNzoyNToyMCswMDowMKTVPr8AAAAodEVYdGRhdGU6dGltZXN0YW1wADIwMjYtMDktMThUMDc6NDY6MjkrMDA6MDBl2ivzAAACEElEQVRo3u2ZvUscQRTAf6PrV0RJFREDlin0CAn4B6RIHTR90CKBbCeCYJp0V9gFQUifdLFLI/4FSSWpbIQgSBovekZz597tTppDcruzMzfDRYu81yy8Nzv7m7e772MGRET+d1G+N8QO+/YNAESMlBivaPsiRL4AwCteAApdsHymSuY3WQjAHBV2aHR5TzPMIr/YJPn3AHBAzEVON04lZKqBIABt+HbCZgr0AND9sbn+jX57oI8iAAIgAAIgAF25oMeIri2WrJdZ/s4i+WQ0wgrzlkeA5gmNEtsc76wFieKQ9/wu9QBwjw2m+elYwi6tgu6Kfe7z3HrfJDV2OLIBKCI+8cZSKyqgRrOgT1ijiu0FpbxkOa801QN1vhMideqOESdFlQlAgW9t28vo2FiD3/pvKAACUFqW+wXU8CBuAhhi3OGZBm2DVl33ixGjAGQ0OpoxBml1tA4AzRIPHSvZ422hB4xY5xEZoJlgClAkHJMCimnukDFT7KnyADU+8tjhxgpPqRYAxljiAV/RgOa0o73buTZpAmccXFtKAC7ZcLRrGVsslNi+8IzEuueQkloAtokhczbYaaklIzHkSavkVuuO6THWTKl8s8itxwEBEAABEAABCN2obBeqoJa1o+wrgGaWVS5zm9WjzHB2MwA/SHhtBPtmLNX6DrDFB6O7Fae+pwVhAOeclxt9j2xERET+AAlre1gB8o8WAAAAAElFTkSuQmCC';
|
|
8
6
|
export const SVELTE_LOGO_URI = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGsAAACACAYAAAAMPJdNAAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAAGYktHRAD/AP8A/6C9p5MAAAAHdElNRQfqCRIHLh3hRRxRAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDI2LTA5LTE4VDA3OjE5OjEwKzAwOjAw2NkHbwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyNi0wOS0xOFQwNzoxNzozNCswMDowMAEnrA4AAAAodEVYdGRhdGU6dGltZXN0YW1wADIwMjYtMDktMThUMDc6NDY6MjkrMDA6MDBl2ivzAAAZHUlEQVR42t2dd3xUVd7Gv3cyCSGEAKEIgoo0KSooIFhAVERFFHHFta66a118WcvaXcX33ZV17e66KqsuthUUC9hQUZpgRUBARGkBQgklhRDSZub945mbXCYTyJx77yTZ5/OZzydGcst55nfOc37tWPyXITI07q9TgfZAT+Ao4EigC9ARaAlkAGmABYSBUqAY2AFsAFYDy4EVwBpgOxCJvYk1z993s5I8lr4hMjT6NtVDmA4cAQyJfo4GDgYygYDBLSqBQkTeEmA+8CWwFijf518GwJrj/Ts2erLiWFInYARwPnAc0NavWwNbgK+A6cBnQG7sv7Dme3fDRktWHJK6A5cAF6LpzsR6TBECVgFvAVMJsIJw9f/0anpsdGRFTiKWhoOBq6KfrvX9fMBGYCrwPCKwCm5Ja1RkxVhTE2A0cDvQv76fLQ7WAs8BLyKhIuwBa5HZBRsFWZEhNZ60NyLpQqBpfT/f/h4dCZE/E2EWVrX8MbGyBk9WjDVlApcDt9Iwpry6YhfwZPRTaKvWRAlrsGTFERDHAXcDZwPB+n4+k1cC3gXuBH62f5kIYQ2OrDhTXmvgWuB/gA71/XweYDFwE1BFU10Ja1BkRYai75+eKgCcCtwDnNzQntUlcoDxwAz7F3UhrEEMQC0b2/HA1UCr+n4+n7AVuBHtzYADE1bvZMUQlQqcC9xFw5TjXmMrcB11tLB6IysyDJy7fKAHcBtwMdAsOQ9R4xlqwsJvX0gOcAUwlxQgVDth9UJWjDVlIIJuQ45XH2+MyLGA9HRo1Q7aHAzZHaB5K0jP0L8rL4Pdu2DXVtieC/l5sLdEfx/wZdSWAhcBPwFQCdbCmv8oqWRFTiY2sHAskrKjUYjCpxsjkjIzofsx0P806HM8dOoGLdpCk6aQErMbCIegbC8U7oTNa+Cnb2HxbPjpOyjYqX/jrcW9D/wGyIf41pU0smKsqRXwOyQiDvH1xmGgVRs48Rw4/TLoOQAyssyuVbYX1q+AeW/DnGmw8Rf93ptRjAB/weJ+IpqcYwnznawYkixgKJLjp+HnahAGmjSBE0bBhbdA70EQSPHu+pvXwscvw/vPQ16uV29SAFwKfAjAqWBN2HfwfEHkFBQ4qEYHYBxSP238ui+R6KdLb7j4djhlLDTJ8O12/Pw9vPIX+GI6hEJejOjXwBgUK9vHunwhK8aagsBI5Coa5NOQCWEgs7mmu1/fCh2T5D7cuxve+Se89lcoKvDCyh6gkgkEAQusufqlp2TF2dx2BW5Bztfmvg2W7fXoPQguuxsGj6wpGHxHBGa/CU/fCts2uSUsFxiF0geqrMszsmKISgfGAncAfXwdoxCQ3QZGXw/n/R5a17P78OuP4NHrYcsGt4Q9izwcIdu6XJMVx5qORiT9CgUI/UEYCAZgwOmypr41PcD1hi+mw8PXQP52N4+Uh5aPRSDrcjVXxBCVBVwJ3Ax09m0gbAHR4VC44CYYeRVktvTtdkY4aTTs2Az/uFkbbDPC2qGckqq4stFl4oQxTkBy/AzAQ30cA1uODxkDl94B3fr5divXqCiDp8bD9ElurGs1cDqwHgwGNiaM0RJZ0mPAMfi1b3LK8ev+CpffDe383Uu7RkoQuh4NS+bAjq2mhLVCyaWLIUGyqqY93bg38A/gBvxUerYcH/U7GP93OPYUCKb6djtPkdkSMprDVx/IfZU47Azhd4BQncmKWZ9OB15Ama7+rOq29fYZBDc+Dr8aDy3820v7hoO7wKrvYMNq03mnOQqh7KwTWVVENQFC/BrJyi6+vWAIyG4LY2+GcY/BEf0hkMycTQ+RmgZp6bBwuql1ZQLfAD8ckKwqoiqBCJcDTyGl4j3CQEoAjhsBN/0dRl6paSQZiESgpAh250N5KaSkQopHWim7PSyaJR9i4vOQBWwhwof7le77TH1BLgQeRwksHg9U9NP+ULjgD3D2b5Mnx8MhWDofZr0Gq5dCcYGsof3hMOhMGHq++412VjYMOgtWfGN6haOxyKqV55g05VOAl1FuhMeDRVSOnweX3And+3l+i1qxdT28+QTMfAkKC/Q7e0QiSH71GiQFeswwd/daOhfuGAUlxSbWtQE4o3ayqq2qO/AG0M/TgarhHb9QQcBkoLwM5r0F/3kIVv+g39U2EiGgY2e49xU46iTze+Zvg5tOhbU/mgiNYmBs3EnZQVQmyiI9zdPBCgPNMiXH/5BkOb5uOTx3hzzkdhxqf9/0ALK6LWvghHOqQ/+JIrUJfP8ZrF9lQlYK8GWNNStGov8O+fi8gS3Hj6wH73hJEcx8Gd54DHLXJZYIkwIsWwBffgBnXmF2/2AqdOxm+vQpQMf9jVRfFN7wRhLZ3vFzr4Mx45LrHV++EF59EL6ZCRUhs/1ORUiK7ozLwTLcRrTu4GZX2m4fshxWlYaS/w91PVARIGDB4NPh8nuS6x3Pz4Ppz8C7z8CObfraudmu5W2SrDeNPGe2dHP/rNos6zQUWnaHMNAyG8beBGNuVLpXMhAOwTcfy5qWLahWdl7ATR5HMJXYwucEkF5FlsOqmgLXI3HhYsCAQ7vBuMeVtJIsbM2BNx+HjybD7kLv8vwsYOcW+H429DpOe6dEEZJnwfQJ4lnWEFQQYI4w0KMf/PE5vVgyUF6qFDGnHPfSQxUANq6C+y6Aw3oq6Hn8KOhxbN23HMWFGhuz5yqPJSsFBbzMrSoMHN4LbpsEPQd6OFr7wdpl8J+/wdxpUFrqb7rz3j2wcpE+7z4DR50Iwy+RtyPrAM6dnZtdGBa7g1BjAzzc+HIRoHU7GP9kcojaUwQfvwRvPJ64HDeFRfW0WlwICz6Ebz/R+466WoHReGtzZQVs+sXNnbfLsgLYCfrDUdcVMwSDcOldmiL8xvKF8EpUjlcaynG3sNBcFKqEZV8qxfqTV5RUetyZ+270C7ZDzkrT9TMM5AarflQA5AzjBw8DQ0bBqGv8HSCv5bhXCCDSvpujfPjhl8iNZucurl8BeRtNn7UUWBd0FAschkLziSMCtGqtxMqmPlXr+CnHvUQKctZOnwQrvoTfPqCpcek82LvXlKwCYH3QseD1Q82oEkcYOOk8VWb4ga3r5Saa+RLsLvKr7MY72Ova6mUw8SpN2Ys+d3PFTVRNg8KxmHxXI0DzLBhxmbeJ/yA5PjfqHV+zTL9rCFNeXRFAImTKI2BZbp59OZBvk5WG2roljjAKux8xwNsXXbtMJM19y3857ieq4mPmmh11X4vYZLVAa5bZwwwYDk3dOTyqsKcIZk6WFyJ3fXLkeMNGHqosqcrIbY1pGU7TDOg92JvHWr4gKsc/9leO16WWGBrK2vg9SvasIisbE69FGNXlHuwy0amyHN55WgHBHXn+yPEwIik9DVodpCTRth31c0ZzJchUVsCeQijIg20bYfsm/VxWUZ8W/h6wl1A1Wa0wKSKIAG06HNjNciB88CJMugtKy7yX4yGgSRp07gX9h0O/Yfq5ZTtFfeOJonBIbqX8rbBuhWT34jmQ8yOUlifT4tYCMwEIVpOViekwtTrIXe7E5jUw9VER5eU3NwykN4FjToGzrhJJreqYQRdIgWZZ+nTqoX1SwXb4YT58+hp89yns3p2Mfd67VLCWVJX8ONWg2XelWQt3ofnvZ0OucbZqTdiiq9cA+PUtcMK53mzUW7ZVWtrgs5WpNO1J+QQrKv2aHrcAr+DwWNmj7HRPJoagy44I61doqvLiWxoCslvDOdcq2NnmYA8uGoO0JjBwhBwAn76qddZ94Vw8TMViqaMIpIqsCkwjLaEKd49UUe7u76G6sG7g8Ghh3VBtQv1ERnMYfYP2l8/crjXNu1uqC2hE84RdU2yTs4e6idmaKNltmsMttO1o/pK2BO9wGNzwMEyYCv1O9p8oJ3oOhD+9CsMv9uqKlShFXd1mHCuM/WMB6k2e+OKTnye3ULrhunDkicohTDRT1c7kHXq+Cuu69vVqsBJHm45w0z+UGzhzsturFQEL7P+wHC5F27J2IutKDBaKfu7ON3+0XgO1BtTVrm1r6nok3PYvuOOF+iXKRlY2jHsETv6V6RxlIxu4IN41nGTtTPiyFrBrG2xZZ/5oTTLgij/B4UfENjmpiTCQmQVj/wcmzlAOX7JSruuCrNbw+0egz3FuCRtLQD2AnUm3NlkFqB95YrDQ9PXTd+5esls/WUmfgbKcENW58PZ/Wxb0PRHue13FdR0O92B0fUD7znDtX5XeYO677YL6Lu6jklMmyH1biZoxJu7kCwNpqTJ/N/utgw6DwWdBq7ZQXiLREkxVPkPXo5R7eM2DItY0IzZZ6HC4XFeLZ7u5SlPgbSKUTciBBwDLYWaXA5NJVL5HkGfgkY+9K9fZU6Ref2Ulcgm1ai9vQmNCwXa4e7RyM8y+W7tRl5l5oD4YzssswdnZv66wgF15KqHxCs2y4JAesqJOPRofUSCPx/k3Qpqx06A5dv5mVCUHHF231qLzoczw2RTIXVPfQ9SwMOgs7cPMxcYQIMNe+5yWtQcdK5Q4AsCm1fD+v+p7eBJHOKRQyKrvlOCyYZU87l6geSu10DNfYnviaJ4ZqwhmoiYkZjGPD1+E48+Go4d487J+Y+U3MONZhUAKd0A4rM19595w2kWqxmzWwt09BpyuUp8dW0w8NW2BXsCqyNCoMHwgB6KqcBc6RqJnwpe1gJIS2LZe5u9XSpoXKNiuLN6nb4HFX0BRvkpXK8phb7Gye7/+UFbWe7C7YvSM5uoyY9YHIwUly8wn4lDxUbJCaIYdjYkf3EJpY5UV0P9U77Od3CIcVljjiRvlFioprg4kOj8BlOCydiVsW6dWD6ab75Sg0qaXGPeg20iY6dSSHDWLaIKGESJoann7abcZPd4ibwM880d44CJYEj3b70CDlwJ8MQM+/Le7e3c5GlKN96CdCJC+D1kOVZgPTDN+MAsoK4PJEyQ46puwinKY/Yb2PFMfh90FiU1H4QjM+o/WNFMcdKjWQrOhaIN63xOvmC4DcNFDABFWXAT/vE3Kasw4NQJJNnJWwusPw+dT1UTfRJVZaBrb+It576isbK1dxYUmf92c6IFu8WzzPGy/lBtYyBMx6S7YlqOgYF1zINxib7FyJaY8AhtXu8tMslA/94I88+dJawpN0p2t/xJBevQjshzFCW3ROVXetEu1kMqa9iSsXgJX3h8NDvro2/vpW3h1Inz5PpRXeBNuD6SoWZbx3wfciK0AUbEnyyrBPjlxDJLu3sH+Jn0/F9ZeACN+A+dco72Ml9iRq5S2Gc/Cts3e5R5GkOvITW5kOKSe7y4RdPRoykY9bv352geAwl3wxhMw/2156YeNhW59zVsVRMKQuxYWTNfpBWt+8L4UKIw2tm5CMqV75ZQ2k+6VKEeGYEwzLX/PrLL3MVs3wJRoRf0R/ZV82XuwOrBkZde+pwlVKudj+yZ1MFs0SxvOrTnV6T5epl+EUFD0wpvdhX+KdmodNUNp9FMlMILABfh50o4TNmlF+fD1LPhmFmQ0U3bvQYdB205SXk2baa4vL5WS2rlZac15GzQAFeFqgrycD2yJ3bs/jHsUuhzl7npb10kVm32RioC9UE1WN3SgS3Jh1+SCXmbDashZfeC/sWL+1kuEgBYtYeRvFfD0onHyL0vUTsjseXcgVVFF1hDq+6RS8zRTbxBBqQP9h2qb0X+4N61e9+6BleYOISAHizIiIisFGFbPQ1W/CAHtOmjzfu513jZOzvlRwsec91VEgHKR1R51QDODZckl0xipDiOf3YkjZU29fTiEaOF7ULDLlKwy4EcAUkVWD0zbqUaAEZdqhz/v7cZDmp01dUg39awYcZk/jZPzNugEO3NsBVYBWPNFVh9MCukiSMGNuhp69JdieuspyN/VMFse2AgDTZsqsHjx7d5vzp345FX5J82nwGXoeCZAZPXCtEq/Yzfo3Ef1xFfcB0eeoFPals6DUKRh1QLbcrxHP7j0TjVQTvXvECLW/AAzJrlprAUwByhzVpGYHd8WQRtau+rRsrTT736M+lVMf1Z5GfZxsfWJMJDVUnL8gj8oZOEnSorgpf+FLTlu3n0noMTD6BctCJgVMaUAPQbUrNho0UadZk48Vx6Kz16HzevqhzS7i+gxQ9RF1Cs5vt97htV+fP47bt/3K6Liwo41BjE9uz4tXef81oZO3eGav8BZV8KcN7XQrluevGJqP+X4/vDevxRDC4XdiK0QCgCXOgOWQaJRyIQQQf67ugxAp+6SxaOu1skEC6ar99K2DdHOlh7DluMnnCVr8kOOxx2TsML/k+4ybbTvxHLswm/HdYKYnk6Xlp5YTVbLdvK0DxkjR+ycafDCvZL9ngxW9NOpq2qJR1yevHNMSvfAtKfUBMw9UaDTKbYSkWS3Ye5KDqSYHawSCGiBH3AavPx/Ch+4fblkyvFY5KyEyQ+obVFlpRdELQGmAjWuFUQVjwYD5DKgFg67LydNthx3orRE4un1v0HOz16FZyrRAXK5sVYFImsPJq2Ayktl/qZo0QaaZ0NhvtlLVnnHr9JBnX7LcSdWLYLXJsKC96C83Eux9BE69yXumASRCz6xJlsWinwWbDd/rNYd1J5gY4LFDLZ3/NghEi4DTk/eQWhFu+CDF+SpsQ+O9u7WucCfUanPPse02wgCmzGJEJeVqTuMKVKCOjjm64+gcGfdrKu+5HgkosK4Vx9Uk5VQ2OutRzkwEZ1AVyuCRDtuJYwwcqm4Qd+TtdY8f6/Ir20A9vGO3+VdF7a6YEcuvPV3Jazafk/vDXkyOkMTiG9VILJ+RAtbYsrQQnN3cYF54r5l6eDNYKoW6m2bq68N1Xl2fnvH46GyQuGN1ybCymjNtD8O6o+B+4nmWdRGFIigFUAhiZb5WMCGn9Rx002JT2qa/HV9T4bPp8CyL9RbA3RWYt+hqso/5AhfRiouNv2iBNFPX4OSPX56W74GxqNQyAHTq+1pcD0mZBXv1plSXtRjde+nz95iOUKxICMruaVDpXskx6c8okPJ/HWLfQtcA/xs+033Z1UAASx2ED1h2ggLZqhfuVdomgmtD5ZaTCZRqxbBg1fAY7+vPj3Ov0DqPJSjucye6u3+TPtDINrMaS4mla8BtIOf/YZvb+U7inZpvbxnNMx+S2uVf9YUAd4ErsAO11sHtigb9mN9hXqHJ44w8N4k9QxsTIhE4PvP4f4L4bk7YVuu35GAIuBB4Fq07AB1JwqqH28dML/ufxZzhZyfVfbphxfdD2zPlXf8/rHw7Wcizl+iFiNrug9184FIYkRBdYcZ22d9HqbO3ZwflbzvNnvVT1RWwPx3VaY6+015/P0lqRB4DrgJKT/pvWDd1qhYOImZAywCTkj4KhaSuC/eB4f21AFgDQ0bf4YpD8Os1/2W4za+QNPeJzhaiCVqTU5YAJFu2MH964B/YvoqYaDvSXDPyw2nEVbpHhE05RHIWZWMzN9taAyfRQ30q+CGKOzHdhTTHQS8D5ifVREGBp8Jtz4L7c0OYfAMq75TD9sFM7wrrKsdlSi6O5EwC533cktS1XXsHyLVJ9JeBUzCTWAyDPQ/Rad7H97H1xGKi6Jd8MHz8o5vzU1GHuM64DEU4S2yf+kVSVXXs39wFIBnAa8DI11dOQx0Owquf0intCWjb63tHX/lQVj8eTJyF0vRvulvKG+iCl4TBTGzt4OwISi7xl3Fdhhoka3uYOfdIF+fX9ieC2/HeMf9xQ/AQ8BbKCcd8IckG/u80gR7icliA2WkompIc5OwK92XztVpA2lNFdF1U0wdi5LdSr55ajzMnpZsOT4fW+kFzOR4IqhBhMO6WqA52H2bBaju+NnneJ2HOHCEqhxNo7w7t8gDMfMlpWuXeXw8RnzsK8fXAF39tSYn4lqNg7Aj0ZyceOOt2hACgpak/ZEnqtVCt36qMGzWQiGT2PWtslxFaTu3aPO9eE60edUqKK9MxpQXX45XgrXQ93tX4UBkAZwD/BvTtna1wT4iKcWC5i3lZW/bSY1NMlvqiKRwSCGT/DzVE+/IVQpAeWWyjkgKoSSWiURY6BytZFmTE7WuRzGEXQc8CvgTs3B2mt7fkya3lHUt8Dg+y/FEsN9XdxCWAvwRmEC0Nc1/MUqREn6IJMjxRHDA76mDsFTgduBe/nsJS7ocTwR1mlRiCBuPEjySlLmSFBSiDKMncMSaCIA1p74frRp1XgEchAWAy1Cemw8HVCUd+8rxFkBhw7EmJxJarmNExzDkZhlY3y9hCN+8434hYW0VQ1hn4E/AJTSedawS5eo96Jd33C8YCeEYwpoAFyHxkcRaGyMkxTvuF4x3LTGEgU6mGYfWsyS17KwzipEn5jEamBxPBK63mJGhONuJWqi55HXIp+it1yNxlKGK96eRgKiqRWtMJFU9sxcXiQwjNuswiCpTLkHuqs5e3auOKESJlJOBT4mW0VS9dCMkCjwewBpTYwoQogswApE2AP+myDLgZ9SX/m2U/LNPwXJjJanq+f24aBxLA6nF7sAg1Ir8aHQoSgtwHp1cZ5Sixh6/oDSveYigbTVespGTVPUeft8gjhABbazbIFHSC6nILqjhV1vUS8ouDg4jYoqA7cjDsBoJhZ+AHGKmOfvN/A4GJhv/Dx6cn3w0k+h7AAAAAElFTkSuQmCC';
|
|
@@ -4,31 +4,23 @@ Framework-agnostic optional overlays, applied on top of `native/` + `js/<framewo
|
|
|
4
4
|
`--expo-modules` / `--navigation` / `--testing` / `--splash-screen` / `--slider` / one `--<id>`
|
|
5
5
|
flag per `EXPO_PACKAGE_LAYERS` entry (`src/expo-package-layers.ts`).
|
|
6
6
|
|
|
7
|
-
`expo-modules` is dependency-only, same regardless of `--framework` (
|
|
8
|
-
|
|
9
|
-
`
|
|
10
|
-
|
|
11
|
-
decisions" section). It carries ONLY the core autolinking bits — `expo` and
|
|
12
|
-
`@symbiote-native/expo-modules-link` — never a specific Expo-backed package (2026-09-18): it used
|
|
13
|
-
to bundle all 21 `@symbiote-native/<expo-wrapper>` packages unconditionally, so picking any ONE of
|
|
14
|
-
them (or none at all) always installed every other one too. Each wrapper now has its OWN
|
|
15
|
-
`templates/layers/<id>/package.json.fragment.json` (`application`, `battery`, `brightness`,
|
|
7
|
+
`expo-modules` is dependency-only, same regardless of `--framework` (see `packages/cli/README.md`'s
|
|
8
|
+
"Design decisions" section). It carries ONLY the core autolinking bits — `expo` and
|
|
9
|
+
`@symbiote-native/expo-modules-link` — never a specific Expo-backed package. Each wrapper has its
|
|
10
|
+
OWN `templates/layers/<id>/package.json.fragment.json` (`application`, `battery`, `brightness`,
|
|
16
11
|
`cellular`, `clipboard`, `crypto`, `device`, `haptics`, `keep-awake`, `local-auth`,
|
|
17
12
|
`localization`, `network`, `screen-orientation`, `secure-store`, `sensors`, `sharing`, `sms`,
|
|
18
13
|
`standard-web-crypto`, `store-review`, `system-ui`, `tracking-transparency`, `web-browser`) —
|
|
19
14
|
same dependency-only shape as `slider`, registered once in `EXPO_PACKAGE_LAYERS` so cli.ts's
|
|
20
15
|
`--<id>` flag, prompts.ts's multiselect option, and `detect-added-layers.ts`'s marker all derive
|
|
21
16
|
from that ONE table instead of 21 hand-written near-duplicates. `@symbiote-native/expo-modules-
|
|
22
|
-
link`
|
|
23
|
-
21 is picked — it doesn't make sense to ask for autolinking twice, so `resolveFeatures` /
|
|
17
|
+
link` is never a SEPARATE explicit tick once one of these 21 is picked — `resolveFeatures` /
|
|
24
18
|
`resolveAddLayers` in `src/prompts.ts` fold `hasExpoModules` to true (or append the `expo-modules`
|
|
25
|
-
layer) automatically.
|
|
26
|
-
package
|
|
27
|
-
|
|
28
|
-
`package.json`s found NONE of them depend on it. Nothing in this codebase's dependency graph
|
|
29
|
-
actually needs it, so it isn't shipped.)
|
|
19
|
+
layer) automatically. The raw npm `expo-linking` package is deliberately NOT added: none of the
|
|
20
|
+
real installed `expo-*` `package.json`s depend on it, so nothing in this codebase's dependency
|
|
21
|
+
graph needs it.
|
|
30
22
|
|
|
31
|
-
`navigation` is NOT dependency-only
|
|
23
|
+
`navigation` is NOT dependency-only: besides `package.json.fragment.json`
|
|
32
24
|
(`@symbiote-native/navigation`, declaring every adapter as an optional peer itself), it carries an
|
|
33
25
|
`app/<framework>` subtree — a 2-screen `Stack` demo (Menu → Details) that OVERWRITES the base
|
|
34
26
|
`js/<framework>` App file, so `--navigation` demonstrates itself instead of silently doing
|
|
@@ -37,7 +29,7 @@ package.json merge (see its own comment) — recursively copying the whole `navi
|
|
|
37
29
|
would land every framework's `app/` folder on the generated root instead of just the selected
|
|
38
30
|
one.
|
|
39
31
|
|
|
40
|
-
`splash-screen`
|
|
32
|
+
`splash-screen` is the first layer that DOES carry native changes: a `native/`
|
|
41
33
|
subtree mirroring `templates/native`'s own layout (`native/android/...`, `native/ios/...`),
|
|
42
34
|
overlaid the same way `renderTemplate` already overlays `navigation`'s `app/<framework>` — no
|
|
43
35
|
`@expo/config-plugins` needed after all, because only 4 files actually require two variants.
|
|
@@ -55,7 +47,7 @@ template unconditionally — none of them reference anything from the plugin (th
|
|
|
55
47
|
draws from our own asset catalog), so leaving them in place when the option is off just means an
|
|
56
48
|
unused-but-harmless launch-screen asset, not a build break.
|
|
57
49
|
|
|
58
|
-
`testing`
|
|
50
|
+
`testing` is also NOT dependency-only: besides the per-framework
|
|
59
51
|
`package.json.fragment.json` (`detox` + `jest` + `ts-jest` + the TypeScript floor, since e2e is a
|
|
60
52
|
separate TS project regardless of `--javascript`), it ships `detox.config.js` at the app root and
|
|
61
53
|
an `e2e/` directory (`jest.config.js`, `tsconfig.json`, `setup.ts`, `smoke.test.ts`). The fragment
|
|
@@ -81,10 +73,8 @@ the same line).
|
|
|
81
73
|
|
|
82
74
|
Every `@symbiote-native/*` version in every fragment (base and layer) is pinned to `"latest"`,
|
|
83
75
|
not a literal semver range — the monorepo's packages publish independently and a hand-copied
|
|
84
|
-
literal drifts out of sync with peer requirements almost immediately
|
|
85
|
-
`
|
|
86
|
-
|
|
87
|
-
wants `@symbiote-native/angular@^2.0.0` while the angular fragment pinned `^0.6.1` — two separate
|
|
88
|
-
`npm install ERESOLVE` failures from the same root cause). Third-party dependencies (`react`,
|
|
76
|
+
literal drifts out of sync with peer requirements almost immediately, producing `npm install
|
|
77
|
+
ERESOLVE` failures across unrelated fragments that pinned different literals for the same
|
|
78
|
+
package. Third-party dependencies (`react`,
|
|
89
79
|
`react-native`, `vue`, `svelte`, `solid-js`, `@angular/*`, `expo`, …) stay pinned as before —
|
|
90
80
|
only the `@symbiote-native/*` scope moved to `latest`.
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
// require('./assets/x.png')
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
// examples/svelte included, is a plain {uri} object). Inlining as a data URI sidesteps the
|
|
5
|
-
// untested path entirely and reuses the ONE proven-working shape.
|
|
1
|
+
// require('./assets/x.png') has no working precedent through Metro's numeric-asset-id path plus
|
|
2
|
+
// this adapter's dom shim (every other Svelte image use, examples/svelte included, is a plain
|
|
3
|
+
// {uri} object). Inlining as a data URI sidesteps the untested path.
|
|
6
4
|
export const REACT_NATIVE_LOGO_URI = 'data:image/png;base64,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';
|
|
7
5
|
export const PLUS_ICON_URI = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAQAAAAAYLlVAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAACxIAAAsSAdLdfvwAAAAHdElNRQfqCRIHLh3hRRxRAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDI2LTA5LTE4VDA3OjM0OjM4KzAwOjAwBIF8BAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyNi0wOS0xOFQwNzoyNToyMCswMDowMKTVPr8AAAAodEVYdGRhdGU6dGltZXN0YW1wADIwMjYtMDktMThUMDc6NDY6MjkrMDA6MDBl2ivzAAACEElEQVRo3u2ZvUscQRTAf6PrV0RJFREDlin0CAn4B6RIHTR90CKBbCeCYJp0V9gFQUifdLFLI/4FSSWpbIQgSBovekZz597tTppDcruzMzfDRYu81yy8Nzv7m7e772MGRET+d1G+N8QO+/YNAESMlBivaPsiRL4AwCteAApdsHymSuY3WQjAHBV2aHR5TzPMIr/YJPn3AHBAzEVON04lZKqBIABt+HbCZgr0AND9sbn+jX57oI8iAAIgAAIgAF25oMeIri2WrJdZ/s4i+WQ0wgrzlkeA5gmNEtsc76wFieKQ9/wu9QBwjw2m+elYwi6tgu6Kfe7z3HrfJDV2OLIBKCI+8cZSKyqgRrOgT1ijiu0FpbxkOa801QN1vhMideqOESdFlQlAgW9t28vo2FiD3/pvKAACUFqW+wXU8CBuAhhi3OGZBm2DVl33ixGjAGQ0OpoxBml1tA4AzRIPHSvZ422hB4xY5xEZoJlgClAkHJMCimnukDFT7KnyADU+8tjhxgpPqRYAxljiAV/RgOa0o73buTZpAmccXFtKAC7ZcLRrGVsslNi+8IzEuueQkloAtokhczbYaaklIzHkSavkVuuO6THWTKl8s8itxwEBEAABEAABCN2obBeqoJa1o+wrgGaWVS5zm9WjzHB2MwA/SHhtBPtmLNX6DrDFB6O7Fae+pwVhAOeclxt9j2xERET+AAlre1gB8o8WAAAAAElFTkSuQmCC';
|
|
8
6
|
export const SVELTE_LOGO_URI = 'data:image/png;base64,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';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
**Status: real content, verbatim.** `ios/`, `android/`, and `Gemfile` are a direct copy of
|
|
2
|
-
`examples/react`'s equivalents
|
|
2
|
+
`examples/react`'s equivalents — the shared, framework-agnostic native shell every
|
|
3
3
|
`--framework` value uses, per `<native_core_is_untouched>` (root `CLAUDE.md`). Source of truth
|
|
4
4
|
going forward: re-sync from `examples/react` when they change, not from any other example
|
|
5
5
|
(they're expected to differ only cosmetically — bootsplash asset IDs, `Podfile.lock`
|
|
@@ -12,7 +12,7 @@ populated `templates/js/*` independently flagged its absence as a gap. `Gemfile.
|
|
|
12
12
|
deliberately NOT copied, same reasoning as excluding `package-lock.json` from the JS
|
|
13
13
|
overlays — a lockfile is generated fresh, never templated.
|
|
14
14
|
|
|
15
|
-
## Renaming
|
|
15
|
+
## Renaming
|
|
16
16
|
|
|
17
17
|
Every file still says **"Canary"** in the template — `src/utils/apply-app-identity.ts` runs as a
|
|
18
18
|
post-pass over the already-scaffolded tree (never over `templates/` itself) and substitutes the
|