mapples 0.2.0-beta.1 → 0.2.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -22
- package/dist/adopt/scan.d.ts +8 -2
- package/dist/adopt/scan.js +31 -13
- package/dist/adopt/scan.js.map +1 -1
- package/dist/api/client.d.ts +9 -1
- package/dist/api/client.js +21 -2
- package/dist/api/client.js.map +1 -1
- package/dist/api/commit.d.ts +9 -0
- package/dist/api/commit.js +32 -2
- package/dist/api/commit.js.map +1 -1
- package/dist/api/errors.js +8 -0
- package/dist/api/errors.js.map +1 -1
- package/dist/api/objects.d.ts +22 -5
- package/dist/api/objects.js +151 -10
- package/dist/api/objects.js.map +1 -1
- package/dist/api/poll.d.ts +5 -3
- package/dist/api/poll.js +17 -6
- package/dist/api/poll.js.map +1 -1
- package/dist/assets/assets.d.ts +9 -0
- package/dist/assets/assets.js +33 -4
- package/dist/assets/assets.js.map +1 -1
- package/dist/codegen/emit.d.ts +27 -1
- package/dist/codegen/emit.js +130 -9
- package/dist/codegen/emit.js.map +1 -1
- package/dist/codegen/imports.d.ts +2 -0
- package/dist/codegen/imports.js +38 -0
- package/dist/codegen/imports.js.map +1 -1
- package/dist/codegen/instances.d.ts +16 -0
- package/dist/codegen/instances.js +141 -0
- package/dist/codegen/instances.js.map +1 -0
- package/dist/codegen/styles.d.ts +11 -0
- package/dist/codegen/styles.js +131 -0
- package/dist/codegen/styles.js.map +1 -0
- package/dist/commands/impl/createImpl.js +8 -4
- package/dist/commands/impl/createImpl.js.map +1 -1
- package/dist/commands/impl/initImpl.js +5 -4
- package/dist/commands/impl/initImpl.js.map +1 -1
- package/dist/commands/impl/syncImpl.js +20 -2
- package/dist/commands/impl/syncImpl.js.map +1 -1
- package/dist/merge/applyOps.d.ts +1 -1
- package/dist/merge/applyOps.js +33 -2
- package/dist/merge/applyOps.js.map +1 -1
- package/dist/merge/diff.d.ts +1 -1
- package/dist/merge/diff.js +30 -17
- package/dist/merge/diff.js.map +1 -1
- package/dist/merge/threeWay.d.ts +1 -1
- package/dist/merge/threeWay.js +38 -6
- package/dist/merge/threeWay.js.map +1 -1
- package/dist/merge/toEdits.d.ts +1 -1
- package/dist/merge/toEdits.js +4 -1
- package/dist/merge/toEdits.js.map +1 -1
- package/dist/nav/navigatorTree.d.ts +78 -0
- package/dist/nav/navigatorTree.js +410 -0
- package/dist/nav/navigatorTree.js.map +1 -0
- package/dist/nav/placement.d.ts +53 -0
- package/dist/nav/placement.js +260 -0
- package/dist/nav/placement.js.map +1 -0
- package/dist/nav/routeTree.d.ts +8 -2
- package/dist/nav/routeTree.js +79 -151
- package/dist/nav/routeTree.js.map +1 -1
- package/dist/nav/screenOptions.d.ts +15 -0
- package/dist/nav/screenOptions.js +213 -0
- package/dist/nav/screenOptions.js.map +1 -0
- package/dist/project/baseStore.d.ts +8 -0
- package/dist/project/baseStore.js +15 -0
- package/dist/project/baseStore.js.map +1 -1
- package/dist/project/componentsMap.d.ts +7 -0
- package/dist/project/componentsMap.js +21 -0
- package/dist/project/componentsMap.js.map +1 -0
- package/dist/project/config.d.ts +12 -3
- package/dist/project/config.js +11 -2
- package/dist/project/config.js.map +1 -1
- package/dist/project/env.d.ts +10 -3
- package/dist/project/env.js +23 -5
- package/dist/project/env.js.map +1 -1
- package/dist/project/pagesMap.d.ts +2 -0
- package/dist/project/pagesMap.js.map +1 -1
- package/dist/services/adoptService.d.ts +3 -0
- package/dist/services/adoptService.js +346 -38
- package/dist/services/adoptService.js.map +1 -1
- package/dist/services/clientFactory.js +4 -2
- package/dist/services/clientFactory.js.map +1 -1
- package/dist/services/doctorService.js +77 -66
- package/dist/services/doctorService.js.map +1 -1
- package/dist/services/syncEngine.d.ts +7 -0
- package/dist/services/syncEngine.js +428 -292
- package/dist/services/syncEngine.js.map +1 -1
- package/dist/types.d.ts +21 -1
- package/dist/types.js +22 -0
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
- package/templates/app/_layout.tsx +3 -0
- package/templates/mapples/sid.d.ts +6 -0
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
// Creator navigation options -> expo-router / react-navigation option names.
|
|
2
|
+
//
|
|
3
|
+
// The Creator writes the structured shapes of @mapples/types navigation.ts:
|
|
4
|
+
// per-navigator `{header?, tabBar?, drawer?}` and per-route `ScreenOptions`
|
|
5
|
+
// (`Partial<HeaderOptions>` + `tabLabel`/`tabIcon`/`drawerLabel`/`drawerIcon`).
|
|
6
|
+
// The generated `_layout.tsx` hands options straight to `<Stack|Tabs|Drawer>`,
|
|
7
|
+
// which only understand react-navigation names (`headerShown`, `tabBarLabel`,
|
|
8
|
+
// `tabBarIcon`, …), so this module translates — mirroring the runtime mappers in
|
|
9
|
+
// mapples-kit `@mapples/navigation/src/mappers`. Keys that are already
|
|
10
|
+
// react-navigation names (documents saved before the structured options
|
|
11
|
+
// existed carry `headerShown`, `tabBarActiveTintColor`, …) pass through
|
|
12
|
+
// verbatim. Anything inapplicable to the parent navigator kind (a `tabLabel`
|
|
13
|
+
// on a stack screen) is dropped, as the runtime drops it.
|
|
14
|
+
//
|
|
15
|
+
// The CLI never pushes options back to Creator (only route names/paths), so
|
|
16
|
+
// there is no reverse mapping.
|
|
17
|
+
const REF = /^ref\([^:]+:[^:]+:.+\)$/;
|
|
18
|
+
/** `ref(theme:…)` / `ref(icon:…)` — resolvable only by the Creator runtime. */
|
|
19
|
+
export function isRef(value) {
|
|
20
|
+
return typeof value === 'string' && REF.test(value);
|
|
21
|
+
}
|
|
22
|
+
function isObject(value) {
|
|
23
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
24
|
+
}
|
|
25
|
+
/** A colour or icon value; a `ref(…)` is not resolvable in a generated layout and is omitted with a note. */
|
|
26
|
+
function concrete(value, key, where, notes) {
|
|
27
|
+
if (isRef(value)) {
|
|
28
|
+
notes.push(`navigation: ${where}: ${key} is a Creator reference (${value}) — references cannot be resolved in generated layouts yet, option omitted`);
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
return value;
|
|
32
|
+
}
|
|
33
|
+
const HEADER_KEYS = new Set([
|
|
34
|
+
'visible',
|
|
35
|
+
'title',
|
|
36
|
+
'backVisible',
|
|
37
|
+
'shadowVisible',
|
|
38
|
+
'backgroundColor',
|
|
39
|
+
'tintColor',
|
|
40
|
+
'titleStyle',
|
|
41
|
+
]);
|
|
42
|
+
/** HeaderOptions -> native-stack / tabs / drawer header options. */
|
|
43
|
+
function mapHeader(header, kind, where, notes) {
|
|
44
|
+
const out = {};
|
|
45
|
+
if (header.visible !== undefined)
|
|
46
|
+
out.headerShown = header.visible;
|
|
47
|
+
if (header.title !== undefined)
|
|
48
|
+
out.title = header.title;
|
|
49
|
+
// headerBackVisible is a native-stack option only.
|
|
50
|
+
if (header.backVisible !== undefined && kind === 'stack') {
|
|
51
|
+
out.headerBackVisible = header.backVisible;
|
|
52
|
+
}
|
|
53
|
+
if (header.shadowVisible !== undefined)
|
|
54
|
+
out.headerShadowVisible = header.shadowVisible;
|
|
55
|
+
const backgroundColor = concrete(header.backgroundColor, 'backgroundColor', where, notes);
|
|
56
|
+
if (backgroundColor !== undefined)
|
|
57
|
+
out.headerStyle = { backgroundColor };
|
|
58
|
+
const tintColor = concrete(header.tintColor, 'tintColor', where, notes);
|
|
59
|
+
if (tintColor !== undefined)
|
|
60
|
+
out.headerTintColor = tintColor;
|
|
61
|
+
if (isObject(header.titleStyle)) {
|
|
62
|
+
const titleStyle = {};
|
|
63
|
+
if (header.titleStyle.fontFamily !== undefined) {
|
|
64
|
+
titleStyle.fontFamily = header.titleStyle.fontFamily;
|
|
65
|
+
}
|
|
66
|
+
if (header.titleStyle.fontSize !== undefined)
|
|
67
|
+
titleStyle.fontSize = header.titleStyle.fontSize;
|
|
68
|
+
const color = concrete(header.titleStyle.color, 'titleStyle.color', where, notes);
|
|
69
|
+
if (color !== undefined)
|
|
70
|
+
titleStyle.color = color;
|
|
71
|
+
if (Object.keys(titleStyle).length > 0)
|
|
72
|
+
out.headerTitleStyle = titleStyle;
|
|
73
|
+
}
|
|
74
|
+
return out;
|
|
75
|
+
}
|
|
76
|
+
/** TabBarOptions -> bottom-tabs navigator options. */
|
|
77
|
+
function mapTabBar(tabBar, where, notes) {
|
|
78
|
+
const out = {};
|
|
79
|
+
const style = {};
|
|
80
|
+
if (tabBar.visible !== undefined)
|
|
81
|
+
style.display = tabBar.visible ? 'flex' : 'none';
|
|
82
|
+
const backgroundColor = concrete(tabBar.backgroundColor, 'tabBar.backgroundColor', where, notes);
|
|
83
|
+
if (backgroundColor !== undefined)
|
|
84
|
+
style.backgroundColor = backgroundColor;
|
|
85
|
+
if (Object.keys(style).length > 0)
|
|
86
|
+
out.tabBarStyle = style;
|
|
87
|
+
const active = concrete(tabBar.activeTintColor, 'tabBar.activeTintColor', where, notes);
|
|
88
|
+
if (active !== undefined)
|
|
89
|
+
out.tabBarActiveTintColor = active;
|
|
90
|
+
const inactive = concrete(tabBar.inactiveTintColor, 'tabBar.inactiveTintColor', where, notes);
|
|
91
|
+
if (inactive !== undefined)
|
|
92
|
+
out.tabBarInactiveTintColor = inactive;
|
|
93
|
+
if (tabBar.labelVisible !== undefined)
|
|
94
|
+
out.tabBarShowLabel = tabBar.labelVisible;
|
|
95
|
+
if (isObject(tabBar.labelStyle)) {
|
|
96
|
+
const labelStyle = {};
|
|
97
|
+
if (tabBar.labelStyle.fontFamily !== undefined) {
|
|
98
|
+
labelStyle.fontFamily = tabBar.labelStyle.fontFamily;
|
|
99
|
+
}
|
|
100
|
+
if (tabBar.labelStyle.fontSize !== undefined)
|
|
101
|
+
labelStyle.fontSize = tabBar.labelStyle.fontSize;
|
|
102
|
+
if (Object.keys(labelStyle).length > 0)
|
|
103
|
+
out.tabBarLabelStyle = labelStyle;
|
|
104
|
+
}
|
|
105
|
+
return out;
|
|
106
|
+
}
|
|
107
|
+
/** DrawerOptions -> drawer navigator options. */
|
|
108
|
+
function mapDrawer(drawer, where, notes) {
|
|
109
|
+
const out = {};
|
|
110
|
+
if (drawer.position !== undefined)
|
|
111
|
+
out.drawerPosition = drawer.position;
|
|
112
|
+
if (drawer.drawerType !== undefined)
|
|
113
|
+
out.drawerType = drawer.drawerType;
|
|
114
|
+
const active = concrete(drawer.activeTintColor, 'drawer.activeTintColor', where, notes);
|
|
115
|
+
if (active !== undefined)
|
|
116
|
+
out.drawerActiveTintColor = active;
|
|
117
|
+
const inactive = concrete(drawer.inactiveTintColor, 'drawer.inactiveTintColor', where, notes);
|
|
118
|
+
if (inactive !== undefined)
|
|
119
|
+
out.drawerInactiveTintColor = inactive;
|
|
120
|
+
const style = {};
|
|
121
|
+
const backgroundColor = concrete(drawer.backgroundColor, 'drawer.backgroundColor', where, notes);
|
|
122
|
+
if (backgroundColor !== undefined)
|
|
123
|
+
style.backgroundColor = backgroundColor;
|
|
124
|
+
if (drawer.width !== undefined)
|
|
125
|
+
style.width = drawer.width;
|
|
126
|
+
if (Object.keys(style).length > 0)
|
|
127
|
+
out.drawerStyle = style;
|
|
128
|
+
return out;
|
|
129
|
+
}
|
|
130
|
+
/** Navigator-level options -> `screenOptions` of the generated navigator. */
|
|
131
|
+
export function mapNavigatorOptions(options, kind, where, notes) {
|
|
132
|
+
if (!options)
|
|
133
|
+
return {};
|
|
134
|
+
const out = {};
|
|
135
|
+
for (const [key, value] of Object.entries(options)) {
|
|
136
|
+
if (value === undefined)
|
|
137
|
+
continue;
|
|
138
|
+
if (key === 'header') {
|
|
139
|
+
if (isObject(value))
|
|
140
|
+
Object.assign(out, mapHeader(value, kind, where, notes));
|
|
141
|
+
}
|
|
142
|
+
else if (key === 'tabBar') {
|
|
143
|
+
if (isObject(value) && kind === 'tabs')
|
|
144
|
+
Object.assign(out, mapTabBar(value, where, notes));
|
|
145
|
+
}
|
|
146
|
+
else if (key === 'drawer') {
|
|
147
|
+
if (isObject(value) && kind === 'drawer')
|
|
148
|
+
Object.assign(out, mapDrawer(value, where, notes));
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
const verbatim = concrete(value, key, where, notes);
|
|
152
|
+
if (verbatim !== undefined)
|
|
153
|
+
out[key] = verbatim;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return out;
|
|
157
|
+
}
|
|
158
|
+
/** Per-route options (+ stack presentation) -> `<X.Screen options>` of the parent navigator. */
|
|
159
|
+
export function mapScreenOptions(route, kind, where, notes) {
|
|
160
|
+
const out = {};
|
|
161
|
+
const header = {};
|
|
162
|
+
for (const [key, value] of Object.entries(route.options ?? {})) {
|
|
163
|
+
if (value === undefined)
|
|
164
|
+
continue;
|
|
165
|
+
if (HEADER_KEYS.has(key)) {
|
|
166
|
+
header[key] = value;
|
|
167
|
+
}
|
|
168
|
+
else if (key === 'tabLabel') {
|
|
169
|
+
if (kind === 'tabs')
|
|
170
|
+
out.tabBarLabel = value;
|
|
171
|
+
}
|
|
172
|
+
else if (key === 'tabIcon') {
|
|
173
|
+
if (kind === 'tabs') {
|
|
174
|
+
const icon = concrete(value, key, where, notes);
|
|
175
|
+
if (icon !== undefined)
|
|
176
|
+
out.tabBarIcon = icon;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
else if (key === 'drawerLabel') {
|
|
180
|
+
if (kind === 'drawer')
|
|
181
|
+
out.drawerLabel = value;
|
|
182
|
+
}
|
|
183
|
+
else if (key === 'drawerIcon') {
|
|
184
|
+
if (kind === 'drawer') {
|
|
185
|
+
const icon = concrete(value, key, where, notes);
|
|
186
|
+
if (icon !== undefined)
|
|
187
|
+
out.drawerIcon = icon;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
// Already a react-navigation name: passes through, minus unresolvable references.
|
|
192
|
+
const verbatim = concrete(value, key, where, notes);
|
|
193
|
+
if (verbatim !== undefined)
|
|
194
|
+
out[key] = verbatim;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
Object.assign(out, mapHeader(header, kind, where, notes));
|
|
198
|
+
if (route.presentation !== undefined && kind === 'stack')
|
|
199
|
+
out.presentation = route.presentation;
|
|
200
|
+
return out;
|
|
201
|
+
}
|
|
202
|
+
/** Options hiding a route group from a tab bar / drawer (detached navigators). */
|
|
203
|
+
export function hiddenScreenOptions(kind) {
|
|
204
|
+
switch (kind) {
|
|
205
|
+
case 'tabs':
|
|
206
|
+
return { href: null };
|
|
207
|
+
case 'drawer':
|
|
208
|
+
return { drawerItemStyle: { display: 'none' } };
|
|
209
|
+
default:
|
|
210
|
+
return {};
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
//# sourceMappingURL=screenOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screenOptions.js","sourceRoot":"","sources":["../../src/nav/screenOptions.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,14 @@ export declare class BaseStore {
|
|
|
13
13
|
private get dir();
|
|
14
14
|
exists(): boolean;
|
|
15
15
|
readAll(): BaseSnapshot;
|
|
16
|
+
/**
|
|
17
|
+
* The HEAD this base was written at, or null. The sync engine's "nothing
|
|
18
|
+
* changed, the base is the remote" shortcut is only valid when the stamp
|
|
19
|
+
* matches the stored head: a base written by an older CLI (or interrupted
|
|
20
|
+
* mid-write) has no stamp and is refetched in full.
|
|
21
|
+
*/
|
|
22
|
+
readStamp(): string | null;
|
|
23
|
+
writeStamp(head: string): void;
|
|
16
24
|
readPageRoot(pageId: string): RenderDomNode | null;
|
|
17
25
|
/** Atomic: write everything into base.tmp, then rename over base. */
|
|
18
26
|
writeAll(snapshot: BaseSnapshot): void;
|
|
@@ -47,6 +47,21 @@ export class BaseStore {
|
|
|
47
47
|
}
|
|
48
48
|
return snapshot;
|
|
49
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* The HEAD this base was written at, or null. The sync engine's "nothing
|
|
52
|
+
* changed, the base is the remote" shortcut is only valid when the stamp
|
|
53
|
+
* matches the stored head: a base written by an older CLI (or interrupted
|
|
54
|
+
* mid-write) has no stamp and is refetched in full.
|
|
55
|
+
*/
|
|
56
|
+
readStamp() {
|
|
57
|
+
const path = join(this.dir, 'stamp.json');
|
|
58
|
+
if (!existsSync(path))
|
|
59
|
+
return null;
|
|
60
|
+
return JSON.parse(readFileSync(path, 'utf8')).head;
|
|
61
|
+
}
|
|
62
|
+
writeStamp(head) {
|
|
63
|
+
writeFileSync(join(this.dir, 'stamp.json'), JSON.stringify({ head }, null, 2) + '\n');
|
|
64
|
+
}
|
|
50
65
|
readPageRoot(pageId) {
|
|
51
66
|
const path = join(this.dir, 'pages', `${pageId}.json`);
|
|
52
67
|
if (!existsSync(path))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseStore.js","sourceRoot":"","sources":["../../src/project/baseStore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"baseStore.js","sourceRoot":"","sources":["../../src/project/baseStore.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,8EAA8E;AAC9E,oDAAoD;AAEpD,OAAO,EACL,SAAS,EACT,WAAW,EACX,YAAY,EACZ,UAAU,EACV,MAAM,EACN,aAAa,EACb,UAAU,GACX,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAUjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAUzC,MAAM,OAAO,SAAS;IACS;IAA7B,YAA6B,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;IAE7C,IAAY,GAAG;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM;QACJ,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO;QACL,MAAM,QAAQ,GAAiB;YAC7B,KAAK,EAAE,IAAI,GAAG,EAAE;YAChB,UAAU,EAAE,IAAI,GAAG,EAAE;YACrB,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;SACb,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAAE,OAAO,QAAQ,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACzC,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAe,CAAC;gBAClF,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACnD,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9B,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBACjF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAoB,CAAC;gBAC3F,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAU,EAAE,CAAC;YAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC;YAC3C,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACH,SAAS;QACP,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACnC,OAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAsB,CAAC,IAAI,CAAC;IAC3E,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACxF,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACnC,OAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAgB,CAAC,IAAI,CAAC;IACrE,CAAC;IAED,qEAAqE;IACrE,QAAQ,CAAC,QAAsB;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACpD,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7F,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAChG,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAU,EAAE,CAAC;YAC7D,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;CACF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface ComponentMapping {
|
|
2
|
+
file: string;
|
|
3
|
+
name: string;
|
|
4
|
+
}
|
|
5
|
+
export type ComponentsMap = Record<string, ComponentMapping>;
|
|
6
|
+
export declare function readComponentsMap(root: string): ComponentsMap;
|
|
7
|
+
export declare function writeComponentsMap(root: string, map: ComponentsMap): void;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// .mapples/components.json — the componentId <-> file mapping, the component
|
|
2
|
+
// counterpart of pages.json. Files are the code-side identity of a Creator
|
|
3
|
+
// component; the map survives renames on either side.
|
|
4
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
5
|
+
import { join } from 'node:path';
|
|
6
|
+
import { CONFIG_DIR } from './config.js';
|
|
7
|
+
function mapPath(root) {
|
|
8
|
+
return join(root, CONFIG_DIR, 'components.json');
|
|
9
|
+
}
|
|
10
|
+
export function readComponentsMap(root) {
|
|
11
|
+
const path = mapPath(root);
|
|
12
|
+
if (!existsSync(path))
|
|
13
|
+
return {};
|
|
14
|
+
return JSON.parse(readFileSync(path, 'utf8'));
|
|
15
|
+
}
|
|
16
|
+
export function writeComponentsMap(root, map) {
|
|
17
|
+
mkdirSync(join(root, CONFIG_DIR), { recursive: true });
|
|
18
|
+
const sorted = Object.fromEntries(Object.entries(map).sort(([a], [b]) => (a < b ? -1 : 1)));
|
|
19
|
+
writeFileSync(mapPath(root), JSON.stringify(sorted, null, 2) + '\n');
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=componentsMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"componentsMap.js","sourceRoot":"","sources":["../../src/project/componentsMap.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,2EAA2E;AAC3E,sDAAsD;AAEtD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AASzC,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAkB,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,GAAkB;IACjE,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5F,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACvE,CAAC"}
|
package/dist/project/config.d.ts
CHANGED
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
export interface MapplesConfig {
|
|
2
2
|
projectId: string;
|
|
3
3
|
apiUrl: string;
|
|
4
|
-
/**
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Directory (relative to the project root) for pages that are not in the
|
|
6
|
+
* navigation yet. A routed page's file lives under `routesDir` instead, at
|
|
7
|
+
* the position expo-router expects it.
|
|
8
|
+
*/
|
|
9
|
+
pagesDir: string;
|
|
10
|
+
/** Directory for Creator components (`<componentsDir>/<Name>.tsx`). */
|
|
11
|
+
componentsDir?: string;
|
|
12
|
+
/** The expo-router tree the navigation document owns (layouts + page files). */
|
|
7
13
|
routesDir?: string;
|
|
8
14
|
schema: 1;
|
|
9
15
|
}
|
|
10
16
|
export declare const CONFIG_DIR = ".mapples";
|
|
17
|
+
export declare const DEFAULT_PAGES_DIR = "mapples/pages";
|
|
18
|
+
export declare const DEFAULT_COMPONENTS_DIR = "mapples/components";
|
|
19
|
+
export declare const DEFAULT_ROUTES_DIR = "app/(mapples)";
|
|
11
20
|
export declare function configPath(root: string): string;
|
|
12
21
|
export declare function readConfig(root: string): MapplesConfig;
|
|
13
22
|
export declare function writeConfig(root: string, config: MapplesConfig): void;
|
package/dist/project/config.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { readFileSync, writeFileSync, mkdirSync, existsSync } from 'node:fs';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
3
|
export const CONFIG_DIR = '.mapples';
|
|
4
|
+
export const DEFAULT_PAGES_DIR = 'mapples/pages';
|
|
5
|
+
export const DEFAULT_COMPONENTS_DIR = 'mapples/components';
|
|
6
|
+
export const DEFAULT_ROUTES_DIR = 'app/(mapples)';
|
|
4
7
|
export function configPath(root) {
|
|
5
8
|
return join(root, CONFIG_DIR, 'config.json');
|
|
6
9
|
}
|
|
@@ -13,11 +16,17 @@ export function readConfig(root) {
|
|
|
13
16
|
if (typeof parsed.projectId !== 'string' || typeof parsed.apiUrl !== 'string') {
|
|
14
17
|
throw new Error(`${path} is malformed: projectId and apiUrl are required`);
|
|
15
18
|
}
|
|
19
|
+
const pagesDir = typeof parsed.pagesDir === 'string'
|
|
20
|
+
? parsed.pagesDir
|
|
21
|
+
: typeof parsed.appDir === 'string'
|
|
22
|
+
? parsed.appDir
|
|
23
|
+
: DEFAULT_PAGES_DIR;
|
|
16
24
|
return {
|
|
17
25
|
projectId: parsed.projectId,
|
|
18
26
|
apiUrl: parsed.apiUrl,
|
|
19
|
-
|
|
20
|
-
|
|
27
|
+
pagesDir,
|
|
28
|
+
componentsDir: typeof parsed.componentsDir === 'string' ? parsed.componentsDir : DEFAULT_COMPONENTS_DIR,
|
|
29
|
+
routesDir: typeof parsed.routesDir === 'string' ? parsed.routesDir : DEFAULT_ROUTES_DIR,
|
|
21
30
|
schema: 1,
|
|
22
31
|
};
|
|
23
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/project/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/project/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAkBjC,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC;AACrC,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC;AACjD,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AAC3D,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAElD,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,MAAM,UAAU,mBAAmB,IAAI,uDAAuD,CAC/F,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAGnD,CAAC;IACF,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC9E,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,kDAAkD,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,QAAQ,GACZ,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;QACjC,CAAC,CAAC,MAAM,CAAC,QAAQ;QACjB,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;YACjC,CAAC,CAAC,MAAM,CAAC,MAAM;YACf,CAAC,CAAC,iBAAiB,CAAC;IAC1B,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ;QACR,aAAa,EACX,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,sBAAsB;QAC1F,SAAS,EAAE,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB;QACvF,MAAM,EAAE,CAAC;KACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,MAAqB;IAC7D,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAC1E,CAAC"}
|
package/dist/project/env.d.ts
CHANGED
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
export type MapplesEnv = 'dev' | 'staging' | 'prod';
|
|
2
2
|
export declare const API_URLS: Record<MapplesEnv, string>;
|
|
3
3
|
export declare const DEFAULT_API_URL: string;
|
|
4
|
+
/** Asset bodies are served from a separate public host per stage (same
|
|
5
|
+
* convention as the frozen @mapples/cli: prod-us api -> prod assets). */
|
|
6
|
+
export declare const ASSET_URLS: Record<MapplesEnv, string>;
|
|
7
|
+
/** The asset host for an API URL; custom hosts (mock server) serve their own bodies. */
|
|
8
|
+
export declare function assetUrlFor(apiUrl: string): string;
|
|
4
9
|
/**
|
|
5
|
-
* Precedence:
|
|
6
|
-
*
|
|
7
|
-
*
|
|
10
|
+
* Precedence: --api-url > --denv flag > configured URL > MAPPLES_ENV > prod.
|
|
11
|
+
* Flags are explicit per-run intent and win over everything; the app's own
|
|
12
|
+
* .mapples/config.json beats the AMBIENT env var, so a shell that exports
|
|
13
|
+
* MAPPLES_ENV=dev (the local dev wrapper does) never silently redirects an
|
|
14
|
+
* app that was linked against another stage or a local mock server.
|
|
8
15
|
*/
|
|
9
16
|
export declare function resolveApiUrl(opts: {
|
|
10
17
|
apiUrl?: unknown;
|
package/dist/project/env.js
CHANGED
|
@@ -6,6 +6,22 @@ export const API_URLS = {
|
|
|
6
6
|
prod: 'https://prod-us.mapples.org',
|
|
7
7
|
};
|
|
8
8
|
export const DEFAULT_API_URL = API_URLS.prod;
|
|
9
|
+
/** Asset bodies are served from a separate public host per stage (same
|
|
10
|
+
* convention as the frozen @mapples/cli: prod-us api -> prod assets). */
|
|
11
|
+
export const ASSET_URLS = {
|
|
12
|
+
dev: 'https://dev.assets.mapples.org',
|
|
13
|
+
staging: 'https://staging.assets.mapples.org',
|
|
14
|
+
prod: 'https://prod.assets.mapples.org',
|
|
15
|
+
};
|
|
16
|
+
/** The asset host for an API URL; custom hosts (mock server) serve their own bodies. */
|
|
17
|
+
export function assetUrlFor(apiUrl) {
|
|
18
|
+
const clean = apiUrl.replace(/\/+$/, '');
|
|
19
|
+
for (const env of Object.keys(API_URLS)) {
|
|
20
|
+
if (API_URLS[env] === clean)
|
|
21
|
+
return ASSET_URLS[env];
|
|
22
|
+
}
|
|
23
|
+
return clean;
|
|
24
|
+
}
|
|
9
25
|
function urlForEnv(env) {
|
|
10
26
|
const url = API_URLS[env];
|
|
11
27
|
if (!url) {
|
|
@@ -14,20 +30,22 @@ function urlForEnv(env) {
|
|
|
14
30
|
return url;
|
|
15
31
|
}
|
|
16
32
|
/**
|
|
17
|
-
* Precedence:
|
|
18
|
-
*
|
|
19
|
-
*
|
|
33
|
+
* Precedence: --api-url > --denv flag > configured URL > MAPPLES_ENV > prod.
|
|
34
|
+
* Flags are explicit per-run intent and win over everything; the app's own
|
|
35
|
+
* .mapples/config.json beats the AMBIENT env var, so a shell that exports
|
|
36
|
+
* MAPPLES_ENV=dev (the local dev wrapper does) never silently redirects an
|
|
37
|
+
* app that was linked against another stage or a local mock server.
|
|
20
38
|
*/
|
|
21
39
|
export function resolveApiUrl(opts) {
|
|
22
40
|
if (typeof opts.apiUrl === 'string' && opts.apiUrl.length > 0)
|
|
23
41
|
return opts.apiUrl;
|
|
24
42
|
if (typeof opts.denv === 'string' && opts.denv.length > 0)
|
|
25
43
|
return urlForEnv(opts.denv);
|
|
44
|
+
if (opts.configuredUrl)
|
|
45
|
+
return opts.configuredUrl;
|
|
26
46
|
const envVar = process.env.MAPPLES_ENV;
|
|
27
47
|
if (envVar)
|
|
28
48
|
return urlForEnv(envVar);
|
|
29
|
-
if (opts.configuredUrl)
|
|
30
|
-
return opts.configuredUrl;
|
|
31
49
|
return DEFAULT_API_URL;
|
|
32
50
|
}
|
|
33
51
|
//# sourceMappingURL=env.js.map
|
package/dist/project/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/project/env.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,6EAA6E;AAI7E,MAAM,CAAC,MAAM,QAAQ,GAA+B;IAClD,GAAG,EAAE,yBAAyB;IAC9B,OAAO,EAAE,6BAA6B;IACtC,IAAI,EAAE,6BAA6B;CACpC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC;AAE7C,SAAS,SAAS,CAAC,GAAW;IAC5B,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAiB,CAAC,CAAC;IACxC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,mBAAmB,GAAG,wBAAwB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjF,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/project/env.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,6EAA6E;AAI7E,MAAM,CAAC,MAAM,QAAQ,GAA+B;IAClD,GAAG,EAAE,yBAAyB;IAC9B,OAAO,EAAE,6BAA6B;IACtC,IAAI,EAAE,6BAA6B;CACpC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC;AAE7C;0EAC0E;AAC1E,MAAM,CAAC,MAAM,UAAU,GAA+B;IACpD,GAAG,EAAE,gCAAgC;IACrC,OAAO,EAAE,oCAAoC;IAC7C,IAAI,EAAE,iCAAiC;CACxC,CAAC;AAEF,wFAAwF;AACxF,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACzC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAiB,EAAE,CAAC;QACxD,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK;YAAE,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC5B,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAiB,CAAC,CAAC;IACxC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,mBAAmB,GAAG,wBAAwB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjF,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,IAI7B;IACC,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC;IAClF,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvF,IAAI,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC,aAAa,CAAC;IAClD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACvC,IAAI,MAAM;QAAE,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;IACrC,OAAO,eAAe,CAAC;AACzB,CAAC"}
|
|
@@ -2,6 +2,8 @@ export interface PageMapping {
|
|
|
2
2
|
file: string;
|
|
3
3
|
name: string;
|
|
4
4
|
route: string;
|
|
5
|
+
/** The navigation route this page renders, when it is in the navigation. */
|
|
6
|
+
routeId?: string;
|
|
5
7
|
}
|
|
6
8
|
export type PagesMap = Record<string, PageMapping>;
|
|
7
9
|
export declare function readPagesMap(root: string): PagesMap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagesMap.js","sourceRoot":"","sources":["../../src/project/pagesMap.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,+DAA+D;AAE/D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"pagesMap.js","sourceRoot":"","sources":["../../src/project/pagesMap.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,+DAA+D;AAE/D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAYzC,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAa,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,GAAa;IACvD,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5F,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACvE,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { JpatchClient } from '../api/client.js';
|
|
2
|
+
import { type NavigatorNode } from '../nav/navigatorTree.js';
|
|
2
3
|
import type { SyncReport } from '../ui/report.js';
|
|
3
4
|
export interface AdoptInput {
|
|
4
5
|
root: string;
|
|
@@ -9,3 +10,5 @@ export interface AdoptInput {
|
|
|
9
10
|
file?: string;
|
|
10
11
|
}
|
|
11
12
|
export declare function proposeAdoptions(input: AdoptInput): Promise<void>;
|
|
13
|
+
/** Navigator kind an expo-router layout renders: `<Tabs>` / `<Drawer>` / otherwise a stack. */
|
|
14
|
+
export declare function navigatorTypeOfLayout(source: string): NavigatorNode['type'];
|