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.
Files changed (87) hide show
  1. package/README.md +1 -1
  2. package/dist/api/client.d.ts +16 -0
  3. package/dist/api/client.js +37 -0
  4. package/dist/api/client.js.map +1 -1
  5. package/dist/api/commit.js +19 -1
  6. package/dist/api/commit.js.map +1 -1
  7. package/dist/api/errors.d.ts +1 -1
  8. package/dist/api/errors.js +3 -0
  9. package/dist/api/errors.js.map +1 -1
  10. package/dist/api/objects.d.ts +3 -1
  11. package/dist/api/objects.js +31 -4
  12. package/dist/api/objects.js.map +1 -1
  13. package/dist/api/project.d.ts +11 -0
  14. package/dist/api/project.js +29 -0
  15. package/dist/api/project.js.map +1 -0
  16. package/dist/assets/assets.d.ts +12 -0
  17. package/dist/assets/assets.js +31 -2
  18. package/dist/assets/assets.js.map +1 -1
  19. package/dist/codegen/imports.d.ts +7 -0
  20. package/dist/codegen/imports.js +31 -0
  21. package/dist/codegen/imports.js.map +1 -1
  22. package/dist/commands/doctor.js +3 -1
  23. package/dist/commands/doctor.js.map +1 -1
  24. package/dist/commands/impl/createImpl.js +34 -4
  25. package/dist/commands/impl/createImpl.js.map +1 -1
  26. package/dist/commands/impl/doctorImpl.js +17 -7
  27. package/dist/commands/impl/doctorImpl.js.map +1 -1
  28. package/dist/commands/impl/initImpl.js +47 -1
  29. package/dist/commands/impl/initImpl.js.map +1 -1
  30. package/dist/commands/impl/syncImpl.js +16 -2
  31. package/dist/commands/impl/syncImpl.js.map +1 -1
  32. package/dist/commands/init.js +1 -0
  33. package/dist/commands/init.js.map +1 -1
  34. package/dist/nav/navigatorTree.d.ts +36 -2
  35. package/dist/nav/navigatorTree.js +191 -40
  36. package/dist/nav/navigatorTree.js.map +1 -1
  37. package/dist/nav/routeTree.d.ts +2 -1
  38. package/dist/nav/routeTree.js +9 -4
  39. package/dist/nav/routeTree.js.map +1 -1
  40. package/dist/nav/screenOptions.d.ts +24 -0
  41. package/dist/nav/screenOptions.js +41 -13
  42. package/dist/nav/screenOptions.js.map +1 -1
  43. package/dist/packages/catalog.d.ts +20 -0
  44. package/dist/packages/catalog.js +94 -0
  45. package/dist/packages/catalog.js.map +1 -0
  46. package/dist/packages/resolve.d.ts +61 -0
  47. package/dist/packages/resolve.js +149 -0
  48. package/dist/packages/resolve.js.map +1 -0
  49. package/dist/runtime/runtimeFiles.d.ts +17 -0
  50. package/dist/runtime/runtimeFiles.js +183 -0
  51. package/dist/runtime/runtimeFiles.js.map +1 -0
  52. package/dist/services/appDeps.d.ts +41 -0
  53. package/dist/services/appDeps.js +152 -0
  54. package/dist/services/appDeps.js.map +1 -0
  55. package/dist/services/appPackages.d.ts +46 -0
  56. package/dist/services/appPackages.js +266 -0
  57. package/dist/services/appPackages.js.map +1 -0
  58. package/dist/services/doctorService.d.ts +28 -1
  59. package/dist/services/doctorService.js +217 -3
  60. package/dist/services/doctorService.js.map +1 -1
  61. package/dist/services/scaffold.d.ts +13 -1
  62. package/dist/services/scaffold.js +57 -5
  63. package/dist/services/scaffold.js.map +1 -1
  64. package/dist/services/syncEngine.js +89 -25
  65. package/dist/services/syncEngine.js.map +1 -1
  66. package/dist/types.d.ts +4 -0
  67. package/dist/types.js.map +1 -1
  68. package/dist/ui/report.d.ts +8 -0
  69. package/dist/ui/report.js +22 -0
  70. package/dist/ui/report.js.map +1 -1
  71. package/dist/version.d.ts +21 -0
  72. package/dist/version.js +40 -3
  73. package/dist/version.js.map +1 -1
  74. package/package.json +4 -3
  75. package/templates/agent/mapples.md +9 -4
  76. package/templates/agent/skills/mapples-conventions/SKILL.md +5 -4
  77. package/templates/agent/skills/mapples-design/SKILL.md +4 -4
  78. package/templates/agent/skills/mapples-design/reference/component-library.md +3 -3
  79. package/templates/agent/skills/mapples-design/reference/layout-contract.md +2 -3
  80. package/templates/agent/skills/mapples-design/reference/playbooks/onboarding-flow.md +1 -1
  81. package/templates/agent/skills/mapples-design/reference/playbooks/screen-flow-wiring.md +2 -5
  82. package/templates/agent/skills/mapples-design/reference/style-guides.md +2 -0
  83. package/templates/agent/skills/mapples-sync/SKILL.md +3 -2
  84. package/templates/app/_layout.tsx +6 -1
  85. package/templates/gitignore +2 -0
  86. package/templates/metro.config.js +11 -0
  87. package/templates/package.json +27 -33
@@ -30,13 +30,14 @@
30
30
  // may target them). Its pages never use `index`: each answers at its own
31
31
  // slug, so pages.json records a real path for them.
32
32
  import { existsSync, mkdirSync, readFileSync, readdirSync, unlinkSync, writeFileSync, } from 'node:fs';
33
- import { dirname, join, relative } from 'node:path';
33
+ import { basename, dirname, join, relative } from 'node:path';
34
34
  import { printValue } from '@mapples/sid-ast';
35
35
  import { withRouteMarker } from '../codegen/emit.js';
36
+ import { writeNavigationModule } from '../runtime/runtimeFiles.js';
36
37
  import { deprecateFile } from '../merge/deprecate.js';
37
38
  import { deepEqual } from '../merge/mergePatch.js';
38
39
  import { makePlan, placePages, pruneEmptyDirs, publicPath, } from './placement.js';
39
- import { hiddenScreenOptions, mapNavigatorOptions, mapScreenOptions } from './screenOptions.js';
40
+ import { defaultScreenOptions, hiddenScreenOptions, isRef, mapNavigatorOptions, mapScreenOptions, } from './screenOptions.js';
40
41
  /** Accepts the canonical doc, or the backend's {id: 'nav_default', data: doc} wrapper. */
41
42
  export function extractNavigatorDoc(raw) {
42
43
  if (typeof raw !== 'object' || raw === null)
@@ -88,19 +89,38 @@ function uniqueSegment(segment, used) {
88
89
  * segment) lets the layout pass after local renames honour the files as the
89
90
  * user left them.
90
91
  */
91
- export function buildNavPlan(doc, pages, notes, segmentOverrides = new Map()) {
92
+ /**
93
+ * A route path as expo-router file segments: a Creator `:id` param is the
94
+ * `[id]` dynamic segment (`product/:id` → `product/[id]`).
95
+ */
96
+ export function pathToSegment(path) {
97
+ return (path
98
+ .replace(/^\/+/, '')
99
+ .replace(/\/+$/, '')
100
+ .replace(/(^|\/):([A-Za-z_][A-Za-z0-9_]*)(?=\/|$)/g, '$1[$2]') || 'index');
101
+ }
102
+ /**
103
+ * The expo-router screen names above the root navigator: the route groups
104
+ * `routesDir` adds below `app/` (`app/(mapples)` → `['(mapples)']`).
105
+ */
106
+ function rootScreenPrefix(routesDir) {
107
+ const parts = routesDir.split(/[\\/]+/).filter(Boolean);
108
+ return parts[0] === 'app' ? parts.slice(1) : parts;
109
+ }
110
+ export function buildNavPlan(doc, pages, notes, segmentOverrides = new Map(), context = { routesDir: 'app', chromeFiles: new Map() }) {
92
111
  const pageByKey = pageKeyIndex(pages);
93
112
  const routes = [];
94
113
  const layouts = [];
95
114
  const navigatorByDir = new Map();
96
115
  const detachedByDir = new Map();
116
+ const screensByRoute = new Map();
97
117
  const seen = new Set();
98
118
  const segmentFor = (route, isInitial) => {
99
119
  const override = segmentOverrides.get(route.id);
100
120
  if (override)
101
121
  return override;
102
122
  if (route.path)
103
- return route.path.replace(/^\/+/, '').replace(/\/+$/, '') || 'index';
123
+ return pathToSegment(route.path);
104
124
  if (route.target.kind === 'page')
105
125
  return isInitial ? 'index' : slugSegment(route.name);
106
126
  return isInitial ? `(${slugSegment(route.name)})` : slugSegment(route.name);
@@ -110,7 +130,9 @@ export function buildNavPlan(doc, pages, notes, segmentOverrides = new Map()) {
110
130
  * caller emits this one (the root's screen list grows with detached groups
111
131
  * first). `detached` subtrees never use `index`/`(group)` positions.
112
132
  */
113
- const walk = (navigatorId, dir, detached, used) => {
133
+ const walk = (navigatorId, dir, detached, used,
134
+ /** Screen names from the root down to this navigator. */
135
+ chain) => {
114
136
  if (seen.has(navigatorId)) {
115
137
  notes.push(`navigation: navigator ${navigatorId} is referenced twice — second reference skipped`);
116
138
  return null;
@@ -128,7 +150,9 @@ export function buildNavPlan(doc, pages, notes, segmentOverrides = new Map()) {
128
150
  const isInitial = !detached && route.id === initialId;
129
151
  const segment = uniqueSegment(segmentFor(route, isInitial), used);
130
152
  const where = `route “${route.name}” of navigator “${nav.name}”`;
131
- const options = mapScreenOptions(route, nav.type, where, notes);
153
+ const mapped = mapScreenOptions(route, nav.type, where, notes);
154
+ const options = { ...defaultScreenOptions(route, nav, mapped), ...mapped };
155
+ screensByRoute.set(route.id, [...chain, segment]);
132
156
  if (route.target.kind === 'page') {
133
157
  const pageId = pageByKey.get(route.target.pageUuid);
134
158
  if (!pageId) {
@@ -145,22 +169,27 @@ export function buildNavPlan(doc, pages, notes, segmentOverrides = new Map()) {
145
169
  routeName: route.name,
146
170
  routePath: publicPath(dir, segment),
147
171
  });
148
- screens.push({ segment, options });
172
+ screens.push({ segment, options, routeId: route.id });
149
173
  }
150
174
  else {
151
- screens.push({ segment, options });
175
+ screens.push({ segment, options, routeId: route.id });
152
176
  const childDir = dir ? join(dir, segment) : segment;
153
- const child = walk(route.target.navigatorId, childDir, detached, new Set());
177
+ const child = walk(route.target.navigatorId, childDir, detached, new Set(), [
178
+ ...chain,
179
+ segment,
180
+ ]);
154
181
  if (child)
155
- layouts.push(layoutFor(child.nav, childDir, child.screens, notes));
182
+ layouts.push(layoutFor(child.nav, childDir, child.screens, notes, context));
156
183
  }
157
184
  }
158
185
  return { nav, screens };
159
186
  };
160
187
  const rootUsed = new Set();
161
- const root = walk(doc.rootNavigatorId, '', false, rootUsed);
162
- if (!root)
163
- return { ...makePlan(routes), layouts, navigatorByDir, detachedByDir };
188
+ const prefix = rootScreenPrefix(context.routesDir);
189
+ const root = walk(doc.rootNavigatorId, '', false, rootUsed, prefix);
190
+ if (!root) {
191
+ return { ...makePlan(routes), layouts, navigatorByDir, detachedByDir, screensByRoute };
192
+ }
164
193
  // ---- detached navigators: hidden (group)s under the root directory ----
165
194
  const referenced = new Set([doc.rootNavigatorId]);
166
195
  for (const nav of Object.values(doc.navigators)) {
@@ -172,11 +201,11 @@ export function buildNavPlan(doc, pages, notes, segmentOverrides = new Map()) {
172
201
  const attach = (navigatorId) => {
173
202
  const nav = doc.navigators[navigatorId];
174
203
  const segment = uniqueSegment(`(${slugSegment(nav.name)})`, rootUsed);
175
- const group = walk(navigatorId, segment, true, new Set());
204
+ const group = walk(navigatorId, segment, true, new Set(), [...prefix, segment]);
176
205
  if (!group)
177
206
  return;
178
207
  detachedByDir.set(segment, navigatorId);
179
- layouts.push(layoutFor(group.nav, segment, group.screens, notes));
208
+ layouts.push(layoutFor(group.nav, segment, group.screens, notes, context));
180
209
  root.screens.push({ segment, options: hiddenScreenOptions(root.nav.type) });
181
210
  };
182
211
  // Unreferenced navigators first (deterministic: document order), then whatever
@@ -189,15 +218,30 @@ export function buildNavPlan(doc, pages, notes, segmentOverrides = new Map()) {
189
218
  if (!seen.has(id))
190
219
  attach(id);
191
220
  }
192
- layouts.push(layoutFor(root.nav, '', root.screens, notes));
193
- return { ...makePlan(routes), layouts, navigatorByDir, detachedByDir };
221
+ layouts.push(layoutFor(root.nav, '', root.screens, notes, context));
222
+ return { ...makePlan(routes), layouts, navigatorByDir, detachedByDir, screensByRoute };
194
223
  }
195
- function layoutFor(nav, dir, screens, notes) {
224
+ function layoutFor(nav, dir, screens, notes, context) {
225
+ const file = dir ? join(dir, '_layout.tsx') : '_layout.tsx';
196
226
  return {
197
- file: dir ? join(dir, '_layout.tsx') : '_layout.tsx',
198
- content: layoutContent(nav, screens, notes),
227
+ file,
228
+ content: layoutContent(nav, screens, notes, dir === '', {
229
+ ...context,
230
+ layoutFile: join(context.routesDir, file),
231
+ }),
199
232
  };
200
233
  }
234
+ /** Creator component uuid → its synced file, for designed navigator chrome. */
235
+ export function chromeFilesFor(components, componentsMap) {
236
+ const files = new Map();
237
+ for (const [id, component] of components) {
238
+ const mapping = componentsMap[id];
239
+ if (!mapping)
240
+ continue;
241
+ files.set(component.uuid ?? id, { name: mapping.name, file: mapping.file });
242
+ }
243
+ return files;
244
+ }
201
245
  // ---- emission ----
202
246
  const NAVIGATOR_IMPORT = {
203
247
  stack: { name: 'Stack', module: 'expo-router' },
@@ -206,15 +250,25 @@ const NAVIGATOR_IMPORT = {
206
250
  };
207
251
  /** Every layout the CLI writes opens with this; it is how a CLI-owned file is told from a user's. */
208
252
  export const GENERATED_LAYOUT_HEADER = /^\/\/\s*GENERATED by Mapples/;
209
- /** Options literal; a string `tabBarIcon`/`drawerIcon` becomes an Icon renderer. */
210
- function optionsLiteral(options, usesIcon) {
253
+ /**
254
+ * Options literal; a `tabBarIcon`/`drawerIcon` string becomes an icon
255
+ * renderer: a Creator reference through `RouteIcon` (the Play runtime's
256
+ * resolver), a bare glyph name through `Icon`.
257
+ */
258
+ function optionsLiteral(options, uses) {
211
259
  const iconKeys = ['tabBarIcon', 'drawerIcon'];
212
260
  const plain = {};
213
261
  const iconParts = [];
214
262
  for (const [key, value] of Object.entries(options)) {
215
263
  if (iconKeys.includes(key) && typeof value === 'string') {
216
- usesIcon.value = true;
217
- iconParts.push(`${key}: ({ color }) => <Icon iconName=${JSON.stringify(value)} color={color} />`);
264
+ if (isRef(value)) {
265
+ uses.routeIcon = true;
266
+ iconParts.push(`${key}: ({ color, size }) => <RouteIcon icon=${JSON.stringify(value)} color={color} size={size} />`);
267
+ }
268
+ else {
269
+ uses.icon = true;
270
+ iconParts.push(`${key}: ({ color }) => <Icon iconName=${JSON.stringify(value)} color={color} />`);
271
+ }
218
272
  }
219
273
  else {
220
274
  plain[key] = value;
@@ -226,32 +280,119 @@ function optionsLiteral(options, usesIcon) {
226
280
  const inner = base === '{}' ? '' : base.slice(1, -1).trim().replace(/,\s*$/, '') + ', ';
227
281
  return `{ ${inner}${iconParts.join(', ')} }`;
228
282
  }
229
- function layoutContent(nav, screens, notes) {
283
+ /** An import path from one project file to another, extension dropped. */
284
+ function moduleFrom(fromFile, toFile) {
285
+ let rel = relative(dirname(fromFile), toFile)
286
+ .split(/[\\/]+/)
287
+ .join('/')
288
+ .replace(/\.tsx?$/, '');
289
+ if (!rel.startsWith('.'))
290
+ rel = `./${rel}`;
291
+ return rel;
292
+ }
293
+ function chromeWiring(nav, notes, context, taken) {
294
+ const options = (nav.options ?? {});
295
+ if (nav.type === 'tabs' && options.tabBar?.native) {
296
+ notes.push(`navigation: navigator “${nav.name}” uses the native tab bar — generated layouts render the JavaScript tab bar until NativeTabs emission lands`);
297
+ }
298
+ const uuid = nav.type === 'tabs'
299
+ ? options.tabBar?.componentUuid
300
+ : nav.type === 'drawer'
301
+ ? options.drawer?.componentUuid
302
+ : undefined;
303
+ if (!uuid)
304
+ return null;
305
+ const chrome = context.chromeFiles.get(uuid);
306
+ if (!chrome) {
307
+ notes.push(`navigation: navigator “${nav.name}” is designed with component ${uuid}, which has no synced file — the layout renders the stock ${nav.type === 'tabs' ? 'tab bar' : 'drawer'}`);
308
+ return null;
309
+ }
310
+ // The component file's own name (`MainTabBar.tsx` → `MainTabBar`), the
311
+ // identifier its default export already carries.
312
+ let component = basename(chrome.file)
313
+ .replace(/\.tsx?$/, '')
314
+ .replace(/[^A-Za-z0-9_$]/g, '') || 'NavigatorChrome';
315
+ if (/^[0-9]/.test(component))
316
+ component = `Chrome${component}`;
317
+ while (taken.has(component))
318
+ component = `${component}Chrome`;
319
+ return {
320
+ prop: nav.type === 'tabs' ? 'tabBar' : 'drawerContent',
321
+ host: nav.type === 'tabs' ? 'TabBarHost' : 'DrawerContentHost',
322
+ component,
323
+ module: moduleFrom(context.layoutFile, chrome.file),
324
+ };
325
+ }
326
+ function layoutContent(nav, screens, notes, isRoot, context) {
230
327
  const kind = NAVIGATOR_IMPORT[nav.type] ?? NAVIGATOR_IMPORT.stack;
231
- const usesIcon = { value: false };
328
+ const uses = { icon: false, routeIcon: false };
232
329
  const screenLines = screens.map(({ segment, options }) => {
233
330
  if (Object.keys(options).length === 0) {
234
331
  return ` <${kind.name}.Screen name=${JSON.stringify(segment)} />`;
235
332
  }
236
- return ` <${kind.name}.Screen name=${JSON.stringify(segment)} options={${optionsLiteral(options, usesIcon)}} />`;
333
+ return ` <${kind.name}.Screen name=${JSON.stringify(segment)} options={${optionsLiteral(options, uses)}} />`;
237
334
  });
238
335
  const navOptions = mapNavigatorOptions(nav.options, nav.type, `navigator “${nav.name}”`, notes);
239
- const screenOptions = Object.keys(navOptions).length > 0
240
- ? ` screenOptions={${optionsLiteral(navOptions, usesIcon)}}`
241
- : '';
242
336
  const componentName = `${nav.name.replace(/[^A-Za-z0-9]/g, '') || 'Mapples'}Layout`;
337
+ const chrome = chromeWiring(nav, notes, context, new Set([componentName, kind.name, 'MapplesApp', 'Icon', 'RouteIcon', 'StatusBar']));
338
+ // Each screen the Creator routes gets its route's behaviour (params,
339
+ // on-enter action, guard, page variables) from @mapples/app.
340
+ const routed = screens.filter((screen) => screen.routeId !== undefined);
341
+ const screenLayout = routed.length > 0
342
+ ? [
343
+ '',
344
+ '// Creator route of each screen: params, on-enter action, guard, page variables.',
345
+ 'const screenLayout = mapplesScreens({',
346
+ ...routed.map((screen) => ` ${printValue({ [screen.segment]: screen.routeId }).slice(2, -2)},`),
347
+ '});',
348
+ ]
349
+ : [];
350
+ const navigatorProps = [
351
+ ...(routed.length > 0 ? [' screenLayout={screenLayout}'] : []),
352
+ ...(chrome
353
+ ? [` ${chrome.prop}={(props) => <${chrome.host} {...props} Chrome={${chrome.component}} />}`]
354
+ : []),
355
+ ...(Object.keys(navOptions).length > 0
356
+ ? [` screenOptions={${optionsLiteral(navOptions, uses)}}`]
357
+ : []),
358
+ ].join('');
359
+ // The root layout mounts MapplesApp (tokens, fonts, assets and the
360
+ // behaviour runtime, from the files `mapples sync` writes); nested
361
+ // navigator layouts render inside it.
362
+ const indent = isRoot ? ' ' : '';
363
+ const navigator = [
364
+ ` <${kind.name}${navigatorProps}>`,
365
+ ...screenLines,
366
+ ` </${kind.name}>`,
367
+ ].map((line) => indent + line);
368
+ const appNames = [
369
+ ...(routed.length > 0 ? ['mapplesScreens'] : []),
370
+ ...(uses.routeIcon ? ['RouteIcon'] : []),
371
+ ];
372
+ const appImport = isRoot
373
+ ? appNames.length > 0
374
+ ? `import MapplesApp, { ${appNames.join(', ')} } from '@mapples/app';`
375
+ : "import MapplesApp from '@mapples/app';"
376
+ : appNames.length > 0
377
+ ? `import { ${appNames.join(', ')} } from '@mapples/app';`
378
+ : null;
243
379
  return [
244
380
  '// GENERATED by Mapples — DO NOT EDIT. This layout is owned by the CLI and',
245
381
  `// regenerated from the navigation document (navigator “${nav.name}”, ${nav.type})`,
246
382
  '// on every `mapples sync`. Edit navigation in Creator instead.',
383
+ ...(appImport ? [appImport] : []),
384
+ ...(chrome ? [`import { ${chrome.host} } from '@mapples/navigation';`] : []),
385
+ ...(uses.icon ? ["import { Icon } from '@mapples/ui';"] : []),
247
386
  `import { ${kind.name} } from '${kind.module}';`,
248
- ...(usesIcon.value ? ["import { Icon } from '@mapples/ui';"] : []),
387
+ ...(isRoot ? ["import { StatusBar } from 'expo-status-bar';"] : []),
388
+ ...(chrome ? [`import ${chrome.component} from '${chrome.module}';`] : []),
389
+ ...screenLayout,
249
390
  '',
250
391
  `export default function ${componentName}() {`,
251
392
  ' return (',
252
- ` <${kind.name}${screenOptions}>`,
253
- ...screenLines,
254
- ` </${kind.name}>`,
393
+ ...(isRoot ? [' <MapplesApp>'] : []),
394
+ ...navigator,
395
+ ...(isRoot ? [' <StatusBar style="auto" />', ' </MapplesApp>'] : []),
255
396
  ' );',
256
397
  '}',
257
398
  '',
@@ -266,7 +407,8 @@ function layoutContent(nav, screens, notes) {
266
407
  export function writeOwnedLayout(root, routesDir, file, content, report) {
267
408
  const rel = join(routesDir, file);
268
409
  const abs = join(root, rel);
269
- if (existsSync(abs)) {
410
+ const existed = existsSync(abs);
411
+ if (existed) {
270
412
  const current = readFileSync(abs, 'utf8');
271
413
  if (current === content)
272
414
  return;
@@ -281,7 +423,11 @@ export function writeOwnedLayout(root, routesDir, file, content, report) {
281
423
  }
282
424
  mkdirSync(dirname(abs), { recursive: true });
283
425
  writeFileSync(abs, content);
284
- report.files.push({ file: rel, action: 'updated', detail: 'CLI-owned layout' });
426
+ report.files.push({
427
+ file: rel,
428
+ action: existed ? 'updated' : 'created',
429
+ detail: 'CLI-owned layout',
430
+ });
285
431
  }
286
432
  /** Remove generated layouts the plan no longer has (a navigator moved or went away). Never a user file. */
287
433
  function pruneStaleLayouts(root, routesDir, planned, report) {
@@ -319,12 +465,13 @@ function pruneStaleLayouts(root, routesDir, planned, report) {
319
465
  * push local file renames back as route renames. Runs BEFORE the page merge
320
466
  * so the merge reads and writes each page at its final location.
321
467
  */
322
- export function syncNavigatorTree(root, routesDir, pagesDir, pages, pagesMap, baseRaw, remoteRaw, report) {
468
+ export function syncNavigatorTree(root, routesDir, pagesDir, pages, pagesMap, baseRaw, remoteRaw, report, chromeFiles) {
323
469
  const remoteDoc = extractNavigatorDoc(remoteRaw);
324
470
  const notes = [];
325
- const plan = remoteDoc ? buildNavPlan(remoteDoc, pages, notes) : makePlan([]);
471
+ const context = { routesDir, chromeFiles };
472
+ const plan = remoteDoc ? buildNavPlan(remoteDoc, pages, notes, new Map(), context) : makePlan([]);
326
473
  const baseDoc = extractNavigatorDoc(baseRaw);
327
- const basePlan = baseDoc ? buildNavPlan(baseDoc, pages, []) : null;
474
+ const basePlan = baseDoc ? buildNavPlan(baseDoc, pages, [], new Map(), context) : null;
328
475
  for (const n of notes)
329
476
  report.notes.push(n);
330
477
  const { renames } = placePages({
@@ -357,11 +504,15 @@ export function syncNavigatorTree(root, routesDir, pagesDir, pages, pagesMap, ba
357
504
  // ---- layouts: CLI-owned, regenerated (with local renames reflected) ----
358
505
  const segmentOverrides = new Map(plan.routes.map((r) => [r.routeId, r.segment]));
359
506
  const mergedDoc = applyRenames(remoteDoc, renameMap);
360
- const finalLayouts = buildNavPlan(mergedDoc, pages, [], segmentOverrides).layouts;
507
+ const finalPlan = buildNavPlan(mergedDoc, pages, [], segmentOverrides, context);
508
+ const finalLayouts = finalPlan.layouts;
361
509
  for (const layout of finalLayouts) {
362
510
  writeOwnedLayout(root, routesDir, layout.file, layout.content, report);
363
511
  }
364
512
  pruneStaleLayouts(root, routesDir, new Set(finalLayouts.map((l) => l.file)), report);
513
+ // The document the layouts were generated from, and where each route's
514
+ // screen is: what the app runtime navigates, guards and enters by.
515
+ writeNavigationModule(root, mergedDoc, finalPlan.screensByRoute, report);
365
516
  // ---- push: replace each renamed navigator's routes array wholesale ----
366
517
  const pushOps = [];
367
518
  // Only a rename that changes the document is worth a commit; a no-op patch
@@ -1 +1 @@
1
- {"version":3,"file":"navigatorTree.js","sourceRoot":"","sources":["../../src/nav/navigatorTree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigatorTree.js","sourceRoot":"","sources":["../../src/nav/navigatorTree.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { NavigationDocument, PageEntity } from '../api/objects.js';
2
2
  import type { PagesMap } from '../project/pagesMap.js';
3
3
  import type { JpatchOp } from '../types.js';
4
4
  import type { SyncReport } from '../ui/report.js';
5
+ import { type ChromeComponentFile } from './navigatorTree.js';
5
6
  export declare function routePathToFile(routePath: string): string;
6
7
  export declare function fileToRoutePath(relFile: string): string;
7
8
  export interface NavSyncResult {
@@ -14,4 +15,4 @@ export interface NavSyncResult {
14
15
  * file renames back as route path changes. Runs BEFORE the page merge so the
15
16
  * merge reads and writes each page at its final location.
16
17
  */
17
- export declare function syncNavigation(root: string, routesDir: string, pagesDir: string, pages: Map<string, PageEntity>, pagesMap: PagesMap, base: NavigationDocument | null, remote: NavigationDocument | null, report: SyncReport): NavSyncResult;
18
+ export declare function syncNavigation(root: string, routesDir: string, pagesDir: string, pages: Map<string, PageEntity>, pagesMap: PagesMap, base: NavigationDocument | null, remote: NavigationDocument | null, report: SyncReport, chromeFiles: Map<string, ChromeComponentFile>): NavSyncResult;
@@ -5,7 +5,7 @@
5
5
  // follow route paths (nav/placement.ts) — renaming one locally pushes the new
6
6
  // path, a Creator rename moves it, content preserved either way.
7
7
  import { basename, dirname, sep } from 'node:path';
8
- import { extractNavigatorDoc, syncNavigatorTree, writeOwnedLayout } from './navigatorTree.js';
8
+ import { extractNavigatorDoc, syncNavigatorTree, writeOwnedLayout, } from './navigatorTree.js';
9
9
  import { makePlan, placePages } from './placement.js';
10
10
  export function routePathToFile(routePath) {
11
11
  const clean = routePath.replace(/^\/+/, '').replace(/\/+$/, '');
@@ -22,10 +22,15 @@ function layoutContent() {
22
22
  return [
23
23
  '// GENERATED by Mapples — DO NOT EDIT. This layout is owned by the CLI;',
24
24
  '// it is regenerated from the navigation entity on every `mapples sync`.',
25
+ "import MapplesApp from '@mapples/app';",
25
26
  "import { Stack } from 'expo-router';",
26
27
  '',
27
28
  'export default function MapplesLayout() {',
28
- ' return <Stack />;',
29
+ ' return (',
30
+ ' <MapplesApp>',
31
+ ' <Stack />',
32
+ ' </MapplesApp>',
33
+ ' );',
29
34
  '}',
30
35
  '',
31
36
  ].join('\n');
@@ -58,11 +63,11 @@ function planFlat(routes, pages, notes) {
58
63
  * file renames back as route path changes. Runs BEFORE the page merge so the
59
64
  * merge reads and writes each page at its final location.
60
65
  */
61
- export function syncNavigation(root, routesDir, pagesDir, pages, pagesMap, base, remote, report) {
66
+ export function syncNavigation(root, routesDir, pagesDir, pages, pagesMap, base, remote, report, chromeFiles) {
62
67
  // Creator navigator documents get the expo-router tree codegen; the flat
63
68
  // {routes: [...]} shape below is the legacy/mock contract.
64
69
  if (extractNavigatorDoc(remote ?? base)) {
65
- return syncNavigatorTree(root, routesDir, pagesDir, pages, pagesMap, base, remote, report);
70
+ return syncNavigatorTree(root, routesDir, pagesDir, pages, pagesMap, base, remote, report, chromeFiles);
66
71
  }
67
72
  const remoteRoutes = remote?.routes ?? [];
68
73
  const baseRoutes = base?.routes ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"routeTree.js","sourceRoot":"","sources":["../../src/nav/routeTree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routeTree.js","sourceRoot":"","sources":["../../src/nav/routeTree.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,30 @@ export declare function mapScreenOptions(route: {
10
10
  options?: Options;
11
11
  presentation?: string;
12
12
  }, kind: NavigatorKind, where: string, notes: string[]): Options;
13
+ /**
14
+ * The options every generated screen carries whatever the document leaves
15
+ * unset — the rules `@mapples/types` states for the Creator canvas
16
+ * (`routeHeaderVisible`, `routeTitle`, `routeItemLabel`), so the app and the
17
+ * canvas frames draw the same chrome:
18
+ *
19
+ * - a route entering a nested navigator shows no header of its own (the
20
+ * nested navigator draws the header of the screen inside it — otherwise
21
+ * `(auth)` stacks over `index`);
22
+ * - a screen's title is the route's, else the navigator's, else the route
23
+ * NAME (never the file segment `index`);
24
+ * - a tab / drawer item is labelled `tabLabel` / `drawerLabel`, else the
25
+ * route name (never the header title).
26
+ */
27
+ export declare function defaultScreenOptions(route: {
28
+ name: string;
29
+ target: {
30
+ kind: string;
31
+ };
32
+ options?: Options;
33
+ }, navigator: {
34
+ type: NavigatorKind;
35
+ options?: Options;
36
+ }, mapped: Options): Options;
13
37
  /** Options hiding a route group from a tab bar / drawer (detached navigators). */
14
38
  export declare function hiddenScreenOptions(kind: NavigatorKind): Options;
15
39
  export {};