mapples 0.2.0-beta.9 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/api/client.d.ts +16 -0
- package/dist/api/client.js +37 -0
- package/dist/api/client.js.map +1 -1
- package/dist/api/commit.js +19 -1
- package/dist/api/commit.js.map +1 -1
- package/dist/api/errors.d.ts +1 -1
- package/dist/api/errors.js +3 -0
- package/dist/api/errors.js.map +1 -1
- package/dist/api/objects.d.ts +3 -1
- package/dist/api/objects.js +31 -4
- package/dist/api/objects.js.map +1 -1
- package/dist/api/project.d.ts +11 -0
- package/dist/api/project.js +29 -0
- package/dist/api/project.js.map +1 -0
- package/dist/assets/assets.d.ts +12 -0
- package/dist/assets/assets.js +31 -2
- package/dist/assets/assets.js.map +1 -1
- package/dist/codegen/imports.d.ts +7 -0
- package/dist/codegen/imports.js +31 -0
- package/dist/codegen/imports.js.map +1 -1
- package/dist/commands/doctor.js +3 -1
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/impl/createImpl.js +34 -4
- package/dist/commands/impl/createImpl.js.map +1 -1
- package/dist/commands/impl/doctorImpl.js +17 -7
- package/dist/commands/impl/doctorImpl.js.map +1 -1
- package/dist/commands/impl/initImpl.js +47 -1
- package/dist/commands/impl/initImpl.js.map +1 -1
- package/dist/commands/impl/syncImpl.js +16 -2
- package/dist/commands/impl/syncImpl.js.map +1 -1
- package/dist/commands/init.js +1 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/nav/navigatorTree.d.ts +36 -2
- package/dist/nav/navigatorTree.js +191 -40
- package/dist/nav/navigatorTree.js.map +1 -1
- package/dist/nav/routeTree.d.ts +2 -1
- package/dist/nav/routeTree.js +9 -4
- package/dist/nav/routeTree.js.map +1 -1
- package/dist/nav/screenOptions.d.ts +24 -0
- package/dist/nav/screenOptions.js +41 -13
- package/dist/nav/screenOptions.js.map +1 -1
- package/dist/packages/catalog.d.ts +20 -0
- package/dist/packages/catalog.js +94 -0
- package/dist/packages/catalog.js.map +1 -0
- package/dist/packages/resolve.d.ts +61 -0
- package/dist/packages/resolve.js +149 -0
- package/dist/packages/resolve.js.map +1 -0
- package/dist/runtime/runtimeFiles.d.ts +17 -0
- package/dist/runtime/runtimeFiles.js +183 -0
- package/dist/runtime/runtimeFiles.js.map +1 -0
- package/dist/services/appDeps.d.ts +41 -0
- package/dist/services/appDeps.js +152 -0
- package/dist/services/appDeps.js.map +1 -0
- package/dist/services/appPackages.d.ts +46 -0
- package/dist/services/appPackages.js +266 -0
- package/dist/services/appPackages.js.map +1 -0
- package/dist/services/doctorService.d.ts +28 -1
- package/dist/services/doctorService.js +217 -3
- package/dist/services/doctorService.js.map +1 -1
- package/dist/services/scaffold.d.ts +13 -1
- package/dist/services/scaffold.js +57 -5
- package/dist/services/scaffold.js.map +1 -1
- package/dist/services/syncEngine.js +89 -25
- package/dist/services/syncEngine.js.map +1 -1
- package/dist/types.d.ts +4 -0
- package/dist/types.js.map +1 -1
- package/dist/ui/report.d.ts +8 -0
- package/dist/ui/report.js +22 -0
- package/dist/ui/report.js.map +1 -1
- package/dist/version.d.ts +21 -0
- package/dist/version.js +40 -3
- package/dist/version.js.map +1 -1
- package/package.json +4 -3
- package/templates/agent/mapples.md +9 -4
- package/templates/agent/skills/mapples-conventions/SKILL.md +5 -4
- package/templates/agent/skills/mapples-design/SKILL.md +4 -4
- package/templates/agent/skills/mapples-design/reference/component-library.md +3 -3
- package/templates/agent/skills/mapples-design/reference/layout-contract.md +2 -3
- package/templates/agent/skills/mapples-design/reference/playbooks/onboarding-flow.md +1 -1
- package/templates/agent/skills/mapples-design/reference/playbooks/screen-flow-wiring.md +2 -5
- package/templates/agent/skills/mapples-design/reference/style-guides.md +2 -0
- package/templates/agent/skills/mapples-sync/SKILL.md +3 -2
- package/templates/app/_layout.tsx +6 -1
- package/templates/gitignore +2 -0
- package/templates/metro.config.js +11 -0
- package/templates/package.json +27 -33
|
@@ -170,22 +170,18 @@ export function mapScreenOptions(route, kind, where, notes) {
|
|
|
170
170
|
out.tabBarLabel = value;
|
|
171
171
|
}
|
|
172
172
|
else if (key === 'tabIcon') {
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
}
|
|
173
|
+
// A `ref(glyph:…)` / `ref(icon:…)` icon resolves at runtime
|
|
174
|
+
// (`RouteIcon` from @mapples/app); the layout keeps the reference.
|
|
175
|
+
if (kind === 'tabs' && typeof value === 'string')
|
|
176
|
+
out.tabBarIcon = value;
|
|
178
177
|
}
|
|
179
178
|
else if (key === 'drawerLabel') {
|
|
180
179
|
if (kind === 'drawer')
|
|
181
180
|
out.drawerLabel = value;
|
|
182
181
|
}
|
|
183
182
|
else if (key === 'drawerIcon') {
|
|
184
|
-
if (kind === 'drawer')
|
|
185
|
-
|
|
186
|
-
if (icon !== undefined)
|
|
187
|
-
out.drawerIcon = icon;
|
|
188
|
-
}
|
|
183
|
+
if (kind === 'drawer' && typeof value === 'string')
|
|
184
|
+
out.drawerIcon = value;
|
|
189
185
|
}
|
|
190
186
|
else {
|
|
191
187
|
// Already a react-navigation name: passes through, minus unresolvable references.
|
|
@@ -199,15 +195,47 @@ export function mapScreenOptions(route, kind, where, notes) {
|
|
|
199
195
|
out.presentation = route.presentation;
|
|
200
196
|
return out;
|
|
201
197
|
}
|
|
198
|
+
/**
|
|
199
|
+
* The options every generated screen carries whatever the document leaves
|
|
200
|
+
* unset — the rules `@mapples/types` states for the Creator canvas
|
|
201
|
+
* (`routeHeaderVisible`, `routeTitle`, `routeItemLabel`), so the app and the
|
|
202
|
+
* canvas frames draw the same chrome:
|
|
203
|
+
*
|
|
204
|
+
* - a route entering a nested navigator shows no header of its own (the
|
|
205
|
+
* nested navigator draws the header of the screen inside it — otherwise
|
|
206
|
+
* `(auth)` stacks over `index`);
|
|
207
|
+
* - a screen's title is the route's, else the navigator's, else the route
|
|
208
|
+
* NAME (never the file segment `index`);
|
|
209
|
+
* - a tab / drawer item is labelled `tabLabel` / `drawerLabel`, else the
|
|
210
|
+
* route name (never the header title).
|
|
211
|
+
*/
|
|
212
|
+
export function defaultScreenOptions(route, navigator, mapped) {
|
|
213
|
+
const out = {};
|
|
214
|
+
const routeOptions = route.options ?? {};
|
|
215
|
+
if (route.target.kind === 'navigator' && routeOptions.visible === undefined) {
|
|
216
|
+
out.headerShown = false;
|
|
217
|
+
}
|
|
218
|
+
const navHeader = isObject(navigator.options?.header) ? navigator.options.header : {};
|
|
219
|
+
if (mapped.title === undefined && navHeader.title === undefined)
|
|
220
|
+
out.title = route.name;
|
|
221
|
+
if (navigator.type === 'tabs' && mapped.tabBarLabel === undefined) {
|
|
222
|
+
out.tabBarLabel = route.name;
|
|
223
|
+
}
|
|
224
|
+
if (navigator.type === 'drawer' && mapped.drawerLabel === undefined) {
|
|
225
|
+
out.drawerLabel = route.name;
|
|
226
|
+
}
|
|
227
|
+
return out;
|
|
228
|
+
}
|
|
202
229
|
/** Options hiding a route group from a tab bar / drawer (detached navigators). */
|
|
203
230
|
export function hiddenScreenOptions(kind) {
|
|
231
|
+
// A group draws its own navigator's header, never the parent's over it.
|
|
204
232
|
switch (kind) {
|
|
205
233
|
case 'tabs':
|
|
206
|
-
return { href: null };
|
|
234
|
+
return { href: null, headerShown: false };
|
|
207
235
|
case 'drawer':
|
|
208
|
-
return { drawerItemStyle: { display: 'none' } };
|
|
236
|
+
return { drawerItemStyle: { display: 'none' }, headerShown: false };
|
|
209
237
|
default:
|
|
210
|
-
return {};
|
|
238
|
+
return { headerShown: false };
|
|
211
239
|
}
|
|
212
240
|
}
|
|
213
241
|
//# sourceMappingURL=screenOptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenOptions.js","sourceRoot":"","sources":["../../src/nav/screenOptions.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,EAAE;AACF,4EAA4E;AAC5E,4EAA4E;AAC5E,gFAAgF;AAChF,+EAA+E;AAC/E,8EAA8E;AAC9E,iFAAiF;AACjF,uEAAuE;AACvE,wEAAwE;AACxE,wEAAwE;AACxE,6EAA6E;AAC7E,0DAA0D;AAC1D,EAAE;AACF,4EAA4E;AAC5E,+BAA+B;AAQ/B,MAAM,GAAG,GAAG,yBAAyB,CAAC;AAEtC,+EAA+E;AAC/E,MAAM,UAAU,KAAK,CAAC,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,6GAA6G;AAC7G,SAAS,QAAQ,CAAC,KAAc,EAAE,GAAW,EAAE,KAAa,EAAE,KAAe;IAC3E,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CACR,eAAe,KAAK,KAAK,GAAG,4BAA4B,KAAK,4EAA4E,CAC1I,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,SAAS;IACT,OAAO;IACP,aAAa;IACb,eAAe;IACf,iBAAiB;IACjB,WAAW;IACX,YAAY;CACb,CAAC,CAAC;AAEH,oEAAoE;AACpE,SAAS,SAAS,CAAC,MAAe,EAAE,IAAmB,EAAE,KAAa,EAAE,KAAe;IACrF,MAAM,GAAG,GAAY,EAAE,CAAC;IACxB,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;QAAE,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;IACnE,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;QAAE,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IACzD,mDAAmD;IACnD,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACzD,GAAG,CAAC,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC;IAC7C,CAAC;IACD,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS;QAAE,GAAG,CAAC,mBAAmB,GAAG,MAAM,CAAC,aAAa,CAAC;IACvF,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC1F,IAAI,eAAe,KAAK,SAAS;QAAE,GAAG,CAAC,WAAW,GAAG,EAAE,eAAe,EAAE,CAAC;IACzE,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACxE,IAAI,SAAS,KAAK,SAAS;QAAE,GAAG,CAAC,eAAe,GAAG,SAAS,CAAC;IAC7D,IAAI,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAChC,MAAM,UAAU,GAAY,EAAE,CAAC;QAC/B,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAC/C,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;QACvD,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,KAAK,SAAS;YAAE,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC/F,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAClF,IAAI,KAAK,KAAK,SAAS;YAAE,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;QAClD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,gBAAgB,GAAG,UAAU,CAAC;IAC5E,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,sDAAsD;AACtD,SAAS,SAAS,CAAC,MAAe,EAAE,KAAa,EAAE,KAAe;IAChE,MAAM,GAAG,GAAY,EAAE,CAAC;IACxB,MAAM,KAAK,GAAY,EAAE,CAAC;IAC1B,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;QAAE,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IACnF,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,wBAAwB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACjG,IAAI,eAAe,KAAK,SAAS;QAAE,KAAK,CAAC,eAAe,GAAG,eAAe,CAAC;IAC3E,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,wBAAwB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACxF,IAAI,MAAM,KAAK,SAAS;QAAE,GAAG,CAAC,qBAAqB,GAAG,MAAM,CAAC;IAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC9F,IAAI,QAAQ,KAAK,SAAS;QAAE,GAAG,CAAC,uBAAuB,GAAG,QAAQ,CAAC;IACnE,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS;QAAE,GAAG,CAAC,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC;IACjF,IAAI,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAChC,MAAM,UAAU,GAAY,EAAE,CAAC;QAC/B,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAC/C,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;QACvD,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,KAAK,SAAS;YAAE,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC/F,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,gBAAgB,GAAG,UAAU,CAAC;IAC5E,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iDAAiD;AACjD,SAAS,SAAS,CAAC,MAAe,EAAE,KAAa,EAAE,KAAe;IAChE,MAAM,GAAG,GAAY,EAAE,CAAC;IACxB,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;QAAE,GAAG,CAAC,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC;IACxE,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;QAAE,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACxE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,wBAAwB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACxF,IAAI,MAAM,KAAK,SAAS;QAAE,GAAG,CAAC,qBAAqB,GAAG,MAAM,CAAC;IAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC9F,IAAI,QAAQ,KAAK,SAAS;QAAE,GAAG,CAAC,uBAAuB,GAAG,QAAQ,CAAC;IACnE,MAAM,KAAK,GAAY,EAAE,CAAC;IAC1B,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,wBAAwB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACjG,IAAI,eAAe,KAAK,SAAS;QAAE,KAAK,CAAC,eAAe,GAAG,eAAe,CAAC;IAC3E,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;QAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3D,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3D,OAAO,GAAG,CAAC;AACb,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,mBAAmB,CACjC,OAA4B,EAC5B,IAAmB,EACnB,KAAa,EACb,KAAe;IAEf,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,GAAG,GAAY,EAAE,CAAC;IACxB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,IAAI,QAAQ,CAAC,KAAK,CAAC;gBAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAChF,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,MAAM;gBAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAC7F,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,QAAQ;gBAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAC/F,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YACpD,IAAI,QAAQ,KAAK,SAAS;gBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;QAClD,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,gBAAgB,CAC9B,KAAmD,EACnD,IAAmB,EACnB,KAAa,EACb,KAAe;IAEf,MAAM,GAAG,GAAY,EAAE,CAAC;IACxB,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QAC/D,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YAC9B,IAAI,IAAI,KAAK,MAAM;gBAAE,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;QAC/C,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,IAAI,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"screenOptions.js","sourceRoot":"","sources":["../../src/nav/screenOptions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface PackageDependency {
|
|
2
|
+
name: string;
|
|
3
|
+
version: string;
|
|
4
|
+
}
|
|
5
|
+
export interface CatalogPackage {
|
|
6
|
+
id: string;
|
|
7
|
+
dependencies: PackageDependency[];
|
|
8
|
+
expoPlugins?: string[];
|
|
9
|
+
}
|
|
10
|
+
export declare const OPTIONAL_PACKAGES: Record<string, CatalogPackage>;
|
|
11
|
+
/** Element types whose schematic declares a package (`RegisteredCanvasComponent.packages`). */
|
|
12
|
+
export declare const ELEMENT_PACKAGES: Record<string, string>;
|
|
13
|
+
/** The icon pack each icon family key (`theme.icons.family`, an `IconFamilyKey`) needs. */
|
|
14
|
+
export declare const ICON_FAMILY_PACKAGE: Record<string, string>;
|
|
15
|
+
/** The family the Creator assumes when a project has not chosen one (Style → Icons default). */
|
|
16
|
+
export declare const DEFAULT_ICON_FAMILY = "ionicons";
|
|
17
|
+
/** The catalog package an icon family needs. An unknown family is a data error, as in the Creator. */
|
|
18
|
+
export declare function iconPackForFamily(family: string | undefined): CatalogPackage;
|
|
19
|
+
/** Every npm name the optional catalog manages — the dependencies `sync` may add or retire. */
|
|
20
|
+
export declare const CATALOG_DEPENDENCY_NAMES: ReadonlySet<string>;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
// The optional half of the Creator's package catalog, mirrored from
|
|
2
|
+
// mapples-kit `packages/@mapplesorg/schematics/src/packages/catalog.ts` (a
|
|
3
|
+
// private package the CLI cannot depend on). Used only to derive what a
|
|
4
|
+
// project needs when its packages document does not say — a project never
|
|
5
|
+
// saved since the document existed, or a canvas edit pushed from code that
|
|
6
|
+
// the Creator has not recorded yet. When the document lists a package, the
|
|
7
|
+
// document's versions win. Keep ids, element rules and versions in step with
|
|
8
|
+
// the kit catalog.
|
|
9
|
+
//
|
|
10
|
+
// The required baseline (runtime, Expo, React Native, svg, image) is not
|
|
11
|
+
// mirrored: `templates/package.json` is that baseline for `create`, and
|
|
12
|
+
// `init` adds the same list (services/appDeps.ts).
|
|
13
|
+
const VECTOR_ICONS_VERSION = '^13.1.0';
|
|
14
|
+
const iconPack = (suffix, version = VECTOR_ICONS_VERSION) => ({
|
|
15
|
+
id: `icon-pack:${suffix}`,
|
|
16
|
+
dependencies: [{ name: `@react-native-vector-icons/${suffix}`, version }],
|
|
17
|
+
});
|
|
18
|
+
export const OPTIONAL_PACKAGES = {
|
|
19
|
+
qrcode: {
|
|
20
|
+
id: 'qrcode',
|
|
21
|
+
dependencies: [{ name: 'react-native-qrcode-svg', version: '^6.3.22' }],
|
|
22
|
+
},
|
|
23
|
+
barcode: { id: 'barcode', dependencies: [{ name: 'jsbarcode', version: '^3.12.3' }] },
|
|
24
|
+
gradient: {
|
|
25
|
+
id: 'gradient',
|
|
26
|
+
dependencies: [{ name: 'expo-linear-gradient', version: '~57.0.1' }],
|
|
27
|
+
},
|
|
28
|
+
video: {
|
|
29
|
+
id: 'video',
|
|
30
|
+
dependencies: [{ name: 'expo-video', version: '~57.0.3' }],
|
|
31
|
+
expoPlugins: ['expo-video'],
|
|
32
|
+
},
|
|
33
|
+
...Object.fromEntries([
|
|
34
|
+
iconPack('ant-design'),
|
|
35
|
+
iconPack('entypo'),
|
|
36
|
+
iconPack('evil-icons'),
|
|
37
|
+
iconPack('feather'),
|
|
38
|
+
iconPack('fontawesome'),
|
|
39
|
+
iconPack('fontawesome5'),
|
|
40
|
+
iconPack('fontawesome6'),
|
|
41
|
+
iconPack('fontisto'),
|
|
42
|
+
iconPack('foundation'),
|
|
43
|
+
iconPack('ionicons'),
|
|
44
|
+
iconPack('lucide'),
|
|
45
|
+
iconPack('material-design-icons'),
|
|
46
|
+
iconPack('material-icons'),
|
|
47
|
+
iconPack('octicons', '^21.1.0'),
|
|
48
|
+
iconPack('simple-line-icons'),
|
|
49
|
+
iconPack('zocial'),
|
|
50
|
+
].map((p) => [p.id, p])),
|
|
51
|
+
};
|
|
52
|
+
/** Element types whose schematic declares a package (`RegisteredCanvasComponent.packages`). */
|
|
53
|
+
export const ELEMENT_PACKAGES = {
|
|
54
|
+
QRCode: 'qrcode',
|
|
55
|
+
BarCode: 'barcode',
|
|
56
|
+
GradientBackground: 'gradient',
|
|
57
|
+
Video: 'video',
|
|
58
|
+
};
|
|
59
|
+
/** The icon pack each icon family key (`theme.icons.family`, an `IconFamilyKey`) needs. */
|
|
60
|
+
export const ICON_FAMILY_PACKAGE = {
|
|
61
|
+
'ant-design': 'icon-pack:ant-design',
|
|
62
|
+
entypo: 'icon-pack:entypo',
|
|
63
|
+
'evil-icons': 'icon-pack:evil-icons',
|
|
64
|
+
feather: 'icon-pack:feather',
|
|
65
|
+
fontawesome: 'icon-pack:fontawesome',
|
|
66
|
+
'fontawesome5-solid': 'icon-pack:fontawesome5',
|
|
67
|
+
'fontawesome5-regular': 'icon-pack:fontawesome5',
|
|
68
|
+
'fontawesome5-brands': 'icon-pack:fontawesome5',
|
|
69
|
+
'fontawesome6-solid': 'icon-pack:fontawesome6',
|
|
70
|
+
'fontawesome6-regular': 'icon-pack:fontawesome6',
|
|
71
|
+
'fontawesome6-brands': 'icon-pack:fontawesome6',
|
|
72
|
+
fontisto: 'icon-pack:fontisto',
|
|
73
|
+
foundation: 'icon-pack:foundation',
|
|
74
|
+
ionicons: 'icon-pack:ionicons',
|
|
75
|
+
lucide: 'icon-pack:lucide',
|
|
76
|
+
'material-design-icons': 'icon-pack:material-design-icons',
|
|
77
|
+
'material-icons': 'icon-pack:material-icons',
|
|
78
|
+
octicons: 'icon-pack:octicons',
|
|
79
|
+
'simple-line-icons': 'icon-pack:simple-line-icons',
|
|
80
|
+
zocial: 'icon-pack:zocial',
|
|
81
|
+
};
|
|
82
|
+
/** The family the Creator assumes when a project has not chosen one (Style → Icons default). */
|
|
83
|
+
export const DEFAULT_ICON_FAMILY = 'ionicons';
|
|
84
|
+
/** The catalog package an icon family needs. An unknown family is a data error, as in the Creator. */
|
|
85
|
+
export function iconPackForFamily(family) {
|
|
86
|
+
const key = family ?? DEFAULT_ICON_FAMILY;
|
|
87
|
+
const id = ICON_FAMILY_PACKAGE[key];
|
|
88
|
+
if (!id)
|
|
89
|
+
throw new Error(`unknown icon family "${key}" in the project style (Style → Icons)`);
|
|
90
|
+
return OPTIONAL_PACKAGES[id];
|
|
91
|
+
}
|
|
92
|
+
/** Every npm name the optional catalog manages — the dependencies `sync` may add or retire. */
|
|
93
|
+
export const CATALOG_DEPENDENCY_NAMES = new Set(Object.values(OPTIONAL_PACKAGES).flatMap((p) => p.dependencies.map((d) => d.name)));
|
|
94
|
+
//# sourceMappingURL=catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/packages/catalog.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,2EAA2E;AAC3E,wEAAwE;AACxE,0EAA0E;AAC1E,2EAA2E;AAC3E,2EAA2E;AAC3E,6EAA6E;AAC7E,mBAAmB;AACnB,EAAE;AACF,yEAAyE;AACzE,wEAAwE;AACxE,mDAAmD;AAanD,MAAM,oBAAoB,GAAG,SAAS,CAAC;AAEvC,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,OAAO,GAAG,oBAAoB,EAAkB,EAAE,CAAC,CAAC;IACpF,EAAE,EAAE,aAAa,MAAM,EAAE;IACzB,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,8BAA8B,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC;CAC1E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAmC;IAC/D,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;KACxE;IACD,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE;IACrF,QAAQ,EAAE;QACR,EAAE,EAAE,UAAU;QACd,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;KACrE;IACD,KAAK,EAAE;QACL,EAAE,EAAE,OAAO;QACX,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAC1D,WAAW,EAAE,CAAC,YAAY,CAAC;KAC5B;IACD,GAAG,MAAM,CAAC,WAAW,CACnB;QACE,QAAQ,CAAC,YAAY,CAAC;QACtB,QAAQ,CAAC,QAAQ,CAAC;QAClB,QAAQ,CAAC,YAAY,CAAC;QACtB,QAAQ,CAAC,SAAS,CAAC;QACnB,QAAQ,CAAC,aAAa,CAAC;QACvB,QAAQ,CAAC,cAAc,CAAC;QACxB,QAAQ,CAAC,cAAc,CAAC;QACxB,QAAQ,CAAC,UAAU,CAAC;QACpB,QAAQ,CAAC,YAAY,CAAC;QACtB,QAAQ,CAAC,UAAU,CAAC;QACpB,QAAQ,CAAC,QAAQ,CAAC;QAClB,QAAQ,CAAC,uBAAuB,CAAC;QACjC,QAAQ,CAAC,gBAAgB,CAAC;QAC1B,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;QAC/B,QAAQ,CAAC,mBAAmB,CAAC;QAC7B,QAAQ,CAAC,QAAQ,CAAC;KACnB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CACxB;CACF,CAAC;AAEF,+FAA+F;AAC/F,MAAM,CAAC,MAAM,gBAAgB,GAA2B;IACtD,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,kBAAkB,EAAE,UAAU;IAC9B,KAAK,EAAE,OAAO;CACf,CAAC;AAEF,2FAA2F;AAC3F,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACzD,YAAY,EAAE,sBAAsB;IACpC,MAAM,EAAE,kBAAkB;IAC1B,YAAY,EAAE,sBAAsB;IACpC,OAAO,EAAE,mBAAmB;IAC5B,WAAW,EAAE,uBAAuB;IACpC,oBAAoB,EAAE,wBAAwB;IAC9C,sBAAsB,EAAE,wBAAwB;IAChD,qBAAqB,EAAE,wBAAwB;IAC/C,oBAAoB,EAAE,wBAAwB;IAC9C,sBAAsB,EAAE,wBAAwB;IAChD,qBAAqB,EAAE,wBAAwB;IAC/C,QAAQ,EAAE,oBAAoB;IAC9B,UAAU,EAAE,sBAAsB;IAClC,QAAQ,EAAE,oBAAoB;IAC9B,MAAM,EAAE,kBAAkB;IAC1B,uBAAuB,EAAE,iCAAiC;IAC1D,gBAAgB,EAAE,0BAA0B;IAC5C,QAAQ,EAAE,oBAAoB;IAC9B,mBAAmB,EAAE,6BAA6B;IAClD,MAAM,EAAE,kBAAkB;CAC3B,CAAC;AAEF,gGAAgG;AAChG,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC;AAE9C,sGAAsG;AACtG,MAAM,UAAU,iBAAiB,CAAC,MAA0B;IAC1D,MAAM,GAAG,GAAG,MAAM,IAAI,mBAAmB,CAAC;IAC1C,MAAM,EAAE,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,wCAAwC,CAAC,CAAC;IAC9F,OAAO,iBAAiB,CAAC,EAAE,CAAE,CAAC;AAChC,CAAC;AAED,+FAA+F;AAC/F,MAAM,CAAC,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAClE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CACnF,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { ComponentEntity, PageEntity, StyleConfig } from '../api/objects.js';
|
|
2
|
+
import { type CatalogPackage, type PackageDependency } from './catalog.js';
|
|
3
|
+
export type PackageReason = 'required' | 'used' | 'enabled';
|
|
4
|
+
export interface ResolvedPackageEntry {
|
|
5
|
+
id: string;
|
|
6
|
+
reason: PackageReason;
|
|
7
|
+
dependencies: PackageDependency[];
|
|
8
|
+
expoPlugins?: string[];
|
|
9
|
+
}
|
|
10
|
+
export interface PackagesDocument {
|
|
11
|
+
version: 1;
|
|
12
|
+
enabled: string[];
|
|
13
|
+
resolved: ResolvedPackageEntry[];
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Validate the document the backend returned (the invariants of
|
|
17
|
+
* `validatePackagesDocument` in `@mapples/types`). A malformed document stops
|
|
18
|
+
* the command: installing from a guess could drop what the project needs.
|
|
19
|
+
*/
|
|
20
|
+
export declare function parsePackagesDocument(data: unknown): PackagesDocument;
|
|
21
|
+
export interface CanvasModel {
|
|
22
|
+
pages: Iterable<PageEntity>;
|
|
23
|
+
components: Iterable<ComponentEntity>;
|
|
24
|
+
style: StyleConfig | null;
|
|
25
|
+
}
|
|
26
|
+
/** Why a package is in the app: the document's own reason, or what the canvas scan found. */
|
|
27
|
+
export type AppPackageReason = PackageReason | 'canvas' | 'icon-family';
|
|
28
|
+
export interface AppPackage {
|
|
29
|
+
id: string;
|
|
30
|
+
reason: AppPackageReason;
|
|
31
|
+
dependencies: PackageDependency[];
|
|
32
|
+
expoPlugins?: string[];
|
|
33
|
+
/** Where the entry came from: the Creator's document, or the CLI's catalog mirror. */
|
|
34
|
+
origin: 'document' | 'catalog';
|
|
35
|
+
}
|
|
36
|
+
export interface PackageResolution {
|
|
37
|
+
/** `document`: the project has a packages document; `canvas`: it has none yet (404). */
|
|
38
|
+
source: 'document' | 'canvas';
|
|
39
|
+
packages: AppPackage[];
|
|
40
|
+
/** The project's icon family (Style → Icons), Creator default applied. */
|
|
41
|
+
iconFamily: string;
|
|
42
|
+
/** Lossy or noteworthy steps, for the report. */
|
|
43
|
+
notes: string[];
|
|
44
|
+
}
|
|
45
|
+
/** The project's icon family as stored in the theme (`theme.icons.family`). */
|
|
46
|
+
export declare function projectIconFamily(style: StyleConfig | null): string;
|
|
47
|
+
/**
|
|
48
|
+
* The optional packages the canvas uses, with the Creator resolver's rules:
|
|
49
|
+
* a schematic's declared package per element type, the gradient runtime for
|
|
50
|
+
* any node carrying a `gradient` payload, and for `Icon` elements the pack of
|
|
51
|
+
* their `iconStyle` override (the project family is added separately).
|
|
52
|
+
*/
|
|
53
|
+
export declare function canvasPackages(model: CanvasModel): Map<string, CatalogPackage>;
|
|
54
|
+
/**
|
|
55
|
+
* The app's package list: every document entry (versions from the document),
|
|
56
|
+
* plus each catalog package the canvas needs that the document does not list
|
|
57
|
+
* (noted — the Creator records it on its next save). `doc === null` means the
|
|
58
|
+
* project has no document yet: the canvas scan alone decides the optional
|
|
59
|
+
* packages, and the required baseline is the scaffold's own dependencies.
|
|
60
|
+
*/
|
|
61
|
+
export declare function resolveAppPackages(doc: PackagesDocument | null, model: CanvasModel): PackageResolution;
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
// Which packages an app must ship: the project's packages document
|
|
2
|
+
// (`GET /project/{uuid}/packagesdef`, written by the Creator — contract in
|
|
3
|
+
// `@mapples/types` packages.ts) unioned with what the canvas the CLI holds
|
|
4
|
+
// needs right now. The document is the Creator's record; the canvas scan
|
|
5
|
+
// covers what it cannot know yet (a QRCode added from code and pushed by this
|
|
6
|
+
// CLI, a project never saved since the document existed) and the project's
|
|
7
|
+
// icon family, whose pack every icon-drawing component (Icon, IconButton,
|
|
8
|
+
// Button's leading icon, ListItem, …) needs.
|
|
9
|
+
import { DEFAULT_ICON_FAMILY, ELEMENT_PACKAGES, OPTIONAL_PACKAGES, iconPackForFamily, } from './catalog.js';
|
|
10
|
+
const REASONS = ['required', 'used', 'enabled'];
|
|
11
|
+
const isNonEmptyString = (v) => typeof v === 'string' && v.length > 0;
|
|
12
|
+
/**
|
|
13
|
+
* Validate the document the backend returned (the invariants of
|
|
14
|
+
* `validatePackagesDocument` in `@mapples/types`). A malformed document stops
|
|
15
|
+
* the command: installing from a guess could drop what the project needs.
|
|
16
|
+
*/
|
|
17
|
+
export function parsePackagesDocument(data) {
|
|
18
|
+
function fail(why) {
|
|
19
|
+
throw new Error(`the project's packages document is malformed: ${why}`);
|
|
20
|
+
}
|
|
21
|
+
if (!data || typeof data !== 'object')
|
|
22
|
+
fail('not an object');
|
|
23
|
+
const doc = data;
|
|
24
|
+
if (doc.version !== 1)
|
|
25
|
+
fail(`version ${JSON.stringify(doc.version)} is not supported`);
|
|
26
|
+
if (!Array.isArray(doc.enabled) || !doc.enabled.every(isNonEmptyString)) {
|
|
27
|
+
fail('`enabled` must be an array of package ids');
|
|
28
|
+
}
|
|
29
|
+
if (!Array.isArray(doc.resolved))
|
|
30
|
+
fail('`resolved` must be an array');
|
|
31
|
+
const seen = new Set();
|
|
32
|
+
for (const raw of doc.resolved) {
|
|
33
|
+
const entry = raw;
|
|
34
|
+
const id = entry?.id;
|
|
35
|
+
if (!entry ||
|
|
36
|
+
!isNonEmptyString(id) ||
|
|
37
|
+
!REASONS.includes(entry.reason) ||
|
|
38
|
+
!Array.isArray(entry.dependencies) ||
|
|
39
|
+
!entry.dependencies.every((d) => d && isNonEmptyString(d.name) && isNonEmptyString(d.version))) {
|
|
40
|
+
fail(`resolved entry ${JSON.stringify(id ?? raw)} needs an id, a known reason and { name, version } dependencies`);
|
|
41
|
+
}
|
|
42
|
+
if (entry.expoPlugins !== undefined &&
|
|
43
|
+
!(Array.isArray(entry.expoPlugins) && entry.expoPlugins.every(isNonEmptyString))) {
|
|
44
|
+
fail(`resolved entry "${id}" has malformed expoPlugins`);
|
|
45
|
+
}
|
|
46
|
+
if (seen.has(id))
|
|
47
|
+
fail(`package "${id}" is resolved more than once`);
|
|
48
|
+
seen.add(id);
|
|
49
|
+
}
|
|
50
|
+
return doc;
|
|
51
|
+
}
|
|
52
|
+
/** The project's icon family as stored in the theme (`theme.icons.family`). */
|
|
53
|
+
export function projectIconFamily(style) {
|
|
54
|
+
const icons = style?.theme?.icons;
|
|
55
|
+
return typeof icons?.family === 'string' && icons.family.length > 0
|
|
56
|
+
? icons.family
|
|
57
|
+
: DEFAULT_ICON_FAMILY;
|
|
58
|
+
}
|
|
59
|
+
const walk = (node, visit) => {
|
|
60
|
+
visit(node);
|
|
61
|
+
for (const child of node.children ?? [])
|
|
62
|
+
walk(child, visit);
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* The optional packages the canvas uses, with the Creator resolver's rules:
|
|
66
|
+
* a schematic's declared package per element type, the gradient runtime for
|
|
67
|
+
* any node carrying a `gradient` payload, and for `Icon` elements the pack of
|
|
68
|
+
* their `iconStyle` override (the project family is added separately).
|
|
69
|
+
*/
|
|
70
|
+
export function canvasPackages(model) {
|
|
71
|
+
const used = new Map();
|
|
72
|
+
const add = (pkg) => {
|
|
73
|
+
used.set(pkg.id, pkg);
|
|
74
|
+
};
|
|
75
|
+
const visit = (node) => {
|
|
76
|
+
const declared = ELEMENT_PACKAGES[node.type];
|
|
77
|
+
if (declared)
|
|
78
|
+
add(OPTIONAL_PACKAGES[declared]);
|
|
79
|
+
if (node.props?.gradient != null)
|
|
80
|
+
add(OPTIONAL_PACKAGES.gradient);
|
|
81
|
+
if (node.type === 'Icon' && typeof node.props?.iconStyle === 'string') {
|
|
82
|
+
add(iconPackForFamily(node.props.iconStyle));
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
for (const page of model.pages)
|
|
86
|
+
walk(page.root, visit);
|
|
87
|
+
for (const component of model.components)
|
|
88
|
+
walk(component.root, visit);
|
|
89
|
+
return used;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* The app's package list: every document entry (versions from the document),
|
|
93
|
+
* plus each catalog package the canvas needs that the document does not list
|
|
94
|
+
* (noted — the Creator records it on its next save). `doc === null` means the
|
|
95
|
+
* project has no document yet: the canvas scan alone decides the optional
|
|
96
|
+
* packages, and the required baseline is the scaffold's own dependencies.
|
|
97
|
+
*/
|
|
98
|
+
export function resolveAppPackages(doc, model) {
|
|
99
|
+
const notes = [];
|
|
100
|
+
const packages = [];
|
|
101
|
+
const listed = new Set();
|
|
102
|
+
const listedDeps = new Set();
|
|
103
|
+
for (const entry of doc?.resolved ?? []) {
|
|
104
|
+
packages.push({
|
|
105
|
+
id: entry.id,
|
|
106
|
+
reason: entry.reason,
|
|
107
|
+
dependencies: entry.dependencies,
|
|
108
|
+
...(entry.expoPlugins?.length ? { expoPlugins: entry.expoPlugins } : {}),
|
|
109
|
+
origin: 'document',
|
|
110
|
+
});
|
|
111
|
+
listed.add(entry.id);
|
|
112
|
+
for (const d of entry.dependencies)
|
|
113
|
+
listedDeps.add(d.name);
|
|
114
|
+
}
|
|
115
|
+
const iconFamily = projectIconFamily(model.style);
|
|
116
|
+
const needed = canvasPackages(model);
|
|
117
|
+
const familyPack = iconPackForFamily(iconFamily);
|
|
118
|
+
const extras = [
|
|
119
|
+
...(needed.has(familyPack.id) ? [] : [{ pkg: familyPack, reason: 'icon-family' }]),
|
|
120
|
+
...[...needed.values()].map((pkg) => ({
|
|
121
|
+
pkg,
|
|
122
|
+
reason: (pkg.id === familyPack.id ? 'icon-family' : 'canvas'),
|
|
123
|
+
})),
|
|
124
|
+
];
|
|
125
|
+
const missedByDocument = [];
|
|
126
|
+
for (const { pkg, reason } of extras) {
|
|
127
|
+
if (listed.has(pkg.id) || pkg.dependencies.every((d) => listedDeps.has(d.name)))
|
|
128
|
+
continue;
|
|
129
|
+
listed.add(pkg.id);
|
|
130
|
+
packages.push({
|
|
131
|
+
id: pkg.id,
|
|
132
|
+
reason,
|
|
133
|
+
dependencies: pkg.dependencies,
|
|
134
|
+
...(pkg.expoPlugins ? { expoPlugins: pkg.expoPlugins } : {}),
|
|
135
|
+
origin: 'catalog',
|
|
136
|
+
});
|
|
137
|
+
missedByDocument.push(reason === 'icon-family' ? `${pkg.id} (icon family “${iconFamily}”)` : pkg.id);
|
|
138
|
+
}
|
|
139
|
+
if (!doc) {
|
|
140
|
+
notes.push('packages: the project has no packages document yet (it is written when the project is saved in Creator) — ' +
|
|
141
|
+
`derived from the canvas instead: ${missedByDocument.join(', ') || 'no optional packages'}`);
|
|
142
|
+
}
|
|
143
|
+
else if (missedByDocument.length > 0) {
|
|
144
|
+
notes.push(`packages: the canvas needs ${missedByDocument.join(', ')}, which the project's packages document does not list yet ` +
|
|
145
|
+
'(Creator records it on its next save) — added from the CLI catalog');
|
|
146
|
+
}
|
|
147
|
+
return { source: doc ? 'document' : 'canvas', packages, iconFamily, notes };
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=resolve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/packages/resolve.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type JpatchClient } from '../api/client.js';
|
|
2
|
+
import type { SyncReport } from '../ui/report.js';
|
|
3
|
+
export declare const NAVIGATION_MODULE: string;
|
|
4
|
+
export declare const API_MODULE: string;
|
|
5
|
+
export declare const VARIABLES_MODULE: string;
|
|
6
|
+
/** `mapples/navigation.ts`: the navigation document and each route's screen names. */
|
|
7
|
+
export declare function writeNavigationModule(root: string, navigation: unknown, screensByRoute: Map<string, string[]>, report: SyncReport): void;
|
|
8
|
+
/** The env variable a secret reads from: `API_KEY` → `EXPO_PUBLIC_MAPPLES_SECRET_API_KEY`. */
|
|
9
|
+
export declare function secretEnvName(secretRef: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* Pull the API and variables documents and write their runtime modules. A
|
|
12
|
+
* project without one gets no module (the runtime is inert for it). A
|
|
13
|
+
* document the backend refuses to hand to this project key is reported —
|
|
14
|
+
* the app then runs without it — and its last generated module is left as
|
|
15
|
+
* it was rather than guessed at.
|
|
16
|
+
*/
|
|
17
|
+
export declare function syncRuntimeDocuments(root: string, client: JpatchClient, report: SyncReport): Promise<void>;
|