mapples 0.2.0-beta.1 → 0.2.0-beta.4
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 +24 -5
- package/dist/api/objects.js +174 -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 +4 -7
- package/dist/codegen/emit.js +10 -29
- package/dist/codegen/emit.js.map +1 -1
- package/dist/codegen/imports.d.ts +1 -15
- package/dist/codegen/imports.js +2 -78
- package/dist/codegen/imports.js.map +1 -1
- package/dist/codegen/instances.d.ts +5 -0
- package/dist/codegen/instances.js +30 -0
- package/dist/codegen/instances.js.map +1 -0
- package/dist/codegen/styles.d.ts +1 -0
- package/dist/codegen/styles.js +3 -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 +2 -2
- package/dist/merge/threeWay.js +38 -6
- package/dist/merge/threeWay.js.map +1 -1
- package/dist/merge/toEdits.d.ts +1 -3
- package/dist/merge/toEdits.js +3 -91
- 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 +19 -1
- package/dist/project/baseStore.js +28 -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 +657 -300
- package/dist/services/syncEngine.js.map +1 -1
- package/dist/types.d.ts +40 -2
- package/dist/types.js +25 -0
- package/dist/types.js.map +1 -1
- package/package.json +3 -2
- package/templates/app/_layout.tsx +3 -0
- package/templates/mapples/sid.d.ts +6 -0
|
@@ -3,23 +3,45 @@
|
|
|
3
3
|
// prompt. Supported primitives are codemodded via the mapping table; anything
|
|
4
4
|
// else becomes an opaque Custom node. One normal commit; idMap rewrite
|
|
5
5
|
// finishes it. Unadopted files are never touched.
|
|
6
|
+
//
|
|
7
|
+
// A page file under routesDir joins the navigation at its file position in the
|
|
8
|
+
// same commit — a route on the navigator that owns its directory — so the next
|
|
9
|
+
// sync finds it exactly where it is. A directory no navigator owns gets one in
|
|
10
|
+
// the same commit (its kind read from the directory's `_layout.tsx`: Stack,
|
|
11
|
+
// Tabs or Drawer; a stack when there is none), named after the directory and
|
|
12
|
+
// reached through a navigator route on the parent whose path is the directory
|
|
13
|
+
// segment; a project with no navigation at all starts with a root stack. A
|
|
14
|
+
// page elsewhere is adopted outside the navigation. Components are recorded
|
|
15
|
+
// in components.json and merged by every sync.
|
|
16
|
+
import { randomUUID } from 'node:crypto';
|
|
6
17
|
import { readFileSync, writeFileSync, existsSync } from 'node:fs';
|
|
7
|
-
import { join, relative, sep } from 'node:path';
|
|
18
|
+
import { basename, dirname, join, relative, sep } from 'node:path';
|
|
8
19
|
import prompts from 'prompts';
|
|
9
20
|
import { codemodAdopt, extract } from '@mapples/sid-ast';
|
|
10
21
|
import { buildEnvelope, commitWithTransportRetry, mintCid, mintTxId } from '../api/commit.js';
|
|
11
22
|
import { HeadMismatchError } from '../api/errors.js';
|
|
23
|
+
import { fetchProjectState } from '../api/objects.js';
|
|
12
24
|
import { PRIMITIVE_MAPPING } from '../adopt/mappingTable.js';
|
|
13
|
-
import { scanForCandidates } from '../adopt/scan.js';
|
|
25
|
+
import { isUnder, managedFiles, scanForCandidates } from '../adopt/scan.js';
|
|
26
|
+
import { withRouteMarker } from '../codegen/emit.js';
|
|
27
|
+
import { instanceLinker } from '../codegen/instances.js';
|
|
14
28
|
import { diffTree } from '../merge/diff.js';
|
|
29
|
+
import { buildNavPlan, extractNavigatorDoc, humanizeSegment, rewrapDoc, } from '../nav/navigatorTree.js';
|
|
15
30
|
import { BaseStore } from '../project/baseStore.js';
|
|
16
|
-
import { readConfig } from '../project/config.js';
|
|
31
|
+
import { DEFAULT_ROUTES_DIR, readConfig } from '../project/config.js';
|
|
17
32
|
import { readHead, writeHead } from '../project/head.js';
|
|
33
|
+
import { readComponentsMap, writeComponentsMap } from '../project/componentsMap.js';
|
|
18
34
|
import { readPagesMap, writePagesMap } from '../project/pagesMap.js';
|
|
19
35
|
export async function proposeAdoptions(input) {
|
|
20
36
|
const { root, client, report } = input;
|
|
37
|
+
const config = readConfig(root);
|
|
38
|
+
const routesDir = config.routesDir ?? DEFAULT_ROUTES_DIR;
|
|
21
39
|
const pagesMap = readPagesMap(root);
|
|
22
|
-
|
|
40
|
+
const componentsMap = readComponentsMap(root);
|
|
41
|
+
let candidates = scanForCandidates(root, managedFiles(root), {
|
|
42
|
+
routesDir,
|
|
43
|
+
pagesDir: config.pagesDir,
|
|
44
|
+
});
|
|
23
45
|
if (input.file) {
|
|
24
46
|
const rel = relative(root, join(root, input.file));
|
|
25
47
|
candidates = candidates.filter((c) => c.file === rel);
|
|
@@ -43,7 +65,7 @@ export async function proposeAdoptions(input) {
|
|
|
43
65
|
name: 'files',
|
|
44
66
|
message: 'Adopt these files into Mapples Creator?',
|
|
45
67
|
choices: candidates.map((c) => ({
|
|
46
|
-
title: `${c.file} (${c.kind})`,
|
|
68
|
+
title: `${c.file} (${c.kind}${c.routed ? ', in the navigation' : ''})`,
|
|
47
69
|
value: c.file,
|
|
48
70
|
selected: true,
|
|
49
71
|
})),
|
|
@@ -53,17 +75,52 @@ export async function proposeAdoptions(input) {
|
|
|
53
75
|
}
|
|
54
76
|
if (accepted.length === 0)
|
|
55
77
|
return;
|
|
56
|
-
const config = readConfig(root);
|
|
57
78
|
const head = readHead(root);
|
|
58
79
|
if (!head)
|
|
59
80
|
throw new Error('run `mapples sync` once before adopting (no local head yet)');
|
|
81
|
+
const baseStore = new BaseStore(root);
|
|
82
|
+
const snapshot = baseStore.readAll();
|
|
83
|
+
const navMode = navigationMode(snapshot.navigation);
|
|
84
|
+
const navContext = {
|
|
85
|
+
root,
|
|
86
|
+
routesDir,
|
|
87
|
+
pages: snapshot.pages,
|
|
88
|
+
minted: new Map(),
|
|
89
|
+
rootId: randomUUID(),
|
|
90
|
+
report,
|
|
91
|
+
};
|
|
60
92
|
const ops = [];
|
|
93
|
+
const pendingWrites = new Map();
|
|
61
94
|
const adoptedPages = [];
|
|
62
95
|
const adoptedComponents = [];
|
|
96
|
+
// A page adopted alongside the component it uses links to it in the same
|
|
97
|
+
// commit: components get their ids and uuids up front, and the linker
|
|
98
|
+
// knows them before any page is read.
|
|
99
|
+
const componentIds = new Map();
|
|
100
|
+
const provisionalMap = { ...componentsMap };
|
|
101
|
+
const provisionalComponents = new Map(snapshot.components);
|
|
102
|
+
for (const candidate of accepted) {
|
|
103
|
+
if (candidate.kind !== 'component')
|
|
104
|
+
continue;
|
|
105
|
+
const ids = { cid: mintCid(), uuid: randomUUID() };
|
|
106
|
+
componentIds.set(candidate.file, ids);
|
|
107
|
+
provisionalMap[ids.cid] = { file: candidate.file, name: candidate.componentName };
|
|
108
|
+
provisionalComponents.set(ids.cid, {
|
|
109
|
+
id: ids.cid,
|
|
110
|
+
name: candidate.componentName,
|
|
111
|
+
root: { sid: '', type: 'View', props: {}, children: [] },
|
|
112
|
+
uuid: ids.uuid,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
const linker = instanceLinker(provisionalMap, provisionalComponents);
|
|
63
116
|
for (const candidate of accepted) {
|
|
64
117
|
const filePath = join(root, candidate.file);
|
|
65
118
|
const source = readFileSync(filePath, 'utf8');
|
|
66
|
-
const result = codemodAdopt(source, {
|
|
119
|
+
const result = codemodAdopt(source, {
|
|
120
|
+
mapping: PRIMITIVE_MAPPING,
|
|
121
|
+
mintSid: mintCid,
|
|
122
|
+
isLinked: (origin) => linker.isLinked(origin, candidate.file),
|
|
123
|
+
});
|
|
67
124
|
for (const skip of result.skipped) {
|
|
68
125
|
report.warnings.push({
|
|
69
126
|
kind: 'UNKNOWN_ELEMENT_WITH_SID',
|
|
@@ -74,7 +131,9 @@ export async function proposeAdoptions(input) {
|
|
|
74
131
|
report.notes.push(`${candidate.file}: nothing adoptable inside — left untouched`);
|
|
75
132
|
continue;
|
|
76
133
|
}
|
|
77
|
-
|
|
134
|
+
// The codemodded source is written only once the commit succeeds: a
|
|
135
|
+
// rejected commit must leave the file exactly as the user had it.
|
|
136
|
+
pendingWrites.set(filePath, result.source);
|
|
78
137
|
const extracted = extract(result.source);
|
|
79
138
|
for (const w of extracted.warnings) {
|
|
80
139
|
if (w.kind !== 'NON_LITERAL_PROP')
|
|
@@ -84,99 +143,348 @@ export async function proposeAdoptions(input) {
|
|
|
84
143
|
report.notes.push(`${candidate.file}: no root element extracted — skipped`);
|
|
85
144
|
continue;
|
|
86
145
|
}
|
|
146
|
+
linker.link(extracted.dom, candidate.file, (w) => report.warnings.push({ ...w, file: candidate.file }));
|
|
87
147
|
ops.push(...diffTree(null, extracted.dom));
|
|
88
148
|
if (candidate.kind === 'page') {
|
|
89
149
|
const pageCid = mintCid();
|
|
90
|
-
const
|
|
150
|
+
const pageUuid = randomUUID();
|
|
151
|
+
const route = routeForFile(candidate.file, routesDir);
|
|
91
152
|
ops.push({
|
|
92
153
|
op: 'create',
|
|
93
154
|
entity: 'Page',
|
|
94
155
|
cid: pageCid,
|
|
95
|
-
|
|
156
|
+
// `route` is the flat contract's field; navigator documents own routes
|
|
157
|
+
// themselves and the real backend ignores it on a page (RFC-0001 §4).
|
|
158
|
+
data: { name: candidate.componentName, uuid: pageUuid, route, root: extracted.dom.sid },
|
|
96
159
|
});
|
|
97
|
-
|
|
160
|
+
const adopted = { candidate, dom: extracted.dom, pageCid, pageUuid, route };
|
|
161
|
+
if (candidate.routed) {
|
|
162
|
+
if (navMode === 'flat') {
|
|
163
|
+
adopted.routeCid = mintCid();
|
|
164
|
+
ops.push({
|
|
165
|
+
op: 'create',
|
|
166
|
+
entity: 'NavigationRoute',
|
|
167
|
+
cid: adopted.routeCid,
|
|
168
|
+
data: { name: candidate.componentName, path: route, pageId: pageCid },
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
const rel = relative(routesDir, candidate.file);
|
|
173
|
+
const segment = basename(rel, '.tsx');
|
|
174
|
+
const dir = dirname(rel) === '.' ? '' : dirname(rel);
|
|
175
|
+
adopted.navRoute = {
|
|
176
|
+
dir,
|
|
177
|
+
segment,
|
|
178
|
+
// `path` pins the file position: the route answers at the segment the
|
|
179
|
+
// user chose. (An `index.tsx` opening a fresh navigator becomes that
|
|
180
|
+
// navigator's initial route instead — decided in navigatorDocAfter.)
|
|
181
|
+
route: {
|
|
182
|
+
id: randomUUID(),
|
|
183
|
+
name: routeNameFor(segment, dir, candidate.componentName),
|
|
184
|
+
target: { kind: 'page', pageUuid },
|
|
185
|
+
path: segment,
|
|
186
|
+
},
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
adoptedPages.push(adopted);
|
|
98
191
|
}
|
|
99
192
|
else {
|
|
100
|
-
const
|
|
193
|
+
const ids = componentIds.get(candidate.file);
|
|
194
|
+
if (!ids)
|
|
195
|
+
throw new Error(`internal: component ${candidate.file} was not pre-registered`);
|
|
101
196
|
ops.push({
|
|
102
197
|
op: 'create',
|
|
103
198
|
entity: 'Component',
|
|
104
|
-
cid:
|
|
105
|
-
|
|
199
|
+
cid: ids.cid,
|
|
200
|
+
// `uuid` is what a page's ComponentInstance links to (the Creator
|
|
201
|
+
// mints one the same way when it saves a component).
|
|
202
|
+
data: { name: candidate.componentName, root: extracted.dom.sid, uuid: ids.uuid },
|
|
106
203
|
});
|
|
107
|
-
adoptedComponents.push({ candidate, dom: extracted.dom, cmpCid });
|
|
204
|
+
adoptedComponents.push({ candidate, dom: extracted.dom, cmpCid: ids.cid, uuid: ids.uuid });
|
|
108
205
|
}
|
|
109
206
|
report.files.push({
|
|
110
207
|
file: candidate.file,
|
|
111
208
|
action: 'updated',
|
|
112
|
-
detail: `adopted as ${candidate.kind} (${result.adopted.length} node(s))`,
|
|
209
|
+
detail: `adopted as ${candidate.kind}${candidate.routed ? ` at ${route(candidate, routesDir)}` : ''} (${result.adopted.length} node(s))`,
|
|
113
210
|
});
|
|
114
211
|
}
|
|
115
212
|
if (ops.length === 0)
|
|
116
213
|
return;
|
|
214
|
+
// The navigation patch is computed against the document at the commit
|
|
215
|
+
// base, so a rebase recomputes it from the fresh state.
|
|
216
|
+
let navigation = snapshot.navigation;
|
|
217
|
+
let mergedDoc = navigatorDocAfter(navigation, adoptedPages, navContext);
|
|
218
|
+
let navOp = navigationOp(navigation, mergedDoc);
|
|
117
219
|
// One normal commit, with the standard rebase loop.
|
|
118
220
|
const txId = mintTxId();
|
|
119
221
|
let base = head.head;
|
|
120
222
|
let result;
|
|
121
223
|
for (let attempt = 0;; attempt++) {
|
|
122
224
|
try {
|
|
123
|
-
result = await commitWithTransportRetry(client, buildEnvelope(client, { base, ops, txId }));
|
|
225
|
+
result = await commitWithTransportRetry(client, buildEnvelope(client, { base, ops: navOp ? [...ops, navOp] : ops, txId }));
|
|
124
226
|
break;
|
|
125
227
|
}
|
|
126
228
|
catch (err) {
|
|
127
229
|
if (err instanceof HeadMismatchError && attempt < 5) {
|
|
128
230
|
base = err.head;
|
|
129
231
|
report.notes.push(`adoption rebase: HEAD moved to ${err.head}`);
|
|
232
|
+
const fresh = await fetchProjectState(client, await client.bootstrap());
|
|
233
|
+
navigation = fresh.navigation;
|
|
234
|
+
navContext.pages = fresh.pages;
|
|
235
|
+
mergedDoc = navigatorDocAfter(navigation, adoptedPages, navContext);
|
|
236
|
+
navOp = navigationOp(navigation, mergedDoc);
|
|
130
237
|
continue;
|
|
131
238
|
}
|
|
132
239
|
throw err;
|
|
133
240
|
}
|
|
134
241
|
}
|
|
135
|
-
report.pushedOps += ops.length;
|
|
242
|
+
report.pushedOps += ops.length + (navOp ? 1 : 0);
|
|
243
|
+
for (const [filePath, source] of pendingWrites)
|
|
244
|
+
writeFileSync(filePath, source);
|
|
136
245
|
// idMap rewrite finishes it: c_ -> nd_/pg_/cmp_ in files, base, mapping.
|
|
137
246
|
const idMap = result.idMap;
|
|
138
247
|
const renameTree = (node) => {
|
|
139
248
|
node.sid = idMap[node.sid] ?? node.sid;
|
|
140
249
|
node.children.forEach(renameTree);
|
|
141
250
|
};
|
|
142
|
-
const
|
|
143
|
-
|
|
144
|
-
for (const { candidate, dom, pageCid, route } of adoptedPages) {
|
|
251
|
+
for (const adopted of adoptedPages) {
|
|
252
|
+
const { candidate, dom, pageCid, pageUuid, route } = adopted;
|
|
145
253
|
rewriteFileSids(join(root, candidate.file), idMap);
|
|
146
254
|
renameTree(dom);
|
|
147
255
|
const pageId = idMap[pageCid];
|
|
148
256
|
if (!pageId)
|
|
149
257
|
throw new Error(`server did not mint an id for page cid ${pageCid}`);
|
|
150
|
-
|
|
151
|
-
|
|
258
|
+
const page = {
|
|
259
|
+
id: pageId,
|
|
260
|
+
name: candidate.componentName,
|
|
261
|
+
route,
|
|
262
|
+
root: dom,
|
|
263
|
+
uuid: pageUuid,
|
|
264
|
+
};
|
|
265
|
+
snapshot.pages.set(pageId, page);
|
|
266
|
+
let routeId;
|
|
267
|
+
let routeName;
|
|
268
|
+
if (adopted.navRoute) {
|
|
269
|
+
routeId = adopted.navRoute.route.id;
|
|
270
|
+
routeName = adopted.navRoute.route.name;
|
|
271
|
+
}
|
|
272
|
+
else if (adopted.routeCid) {
|
|
273
|
+
routeId = idMap[adopted.routeCid];
|
|
274
|
+
if (!routeId)
|
|
275
|
+
throw new Error(`server did not mint an id for route cid ${adopted.routeCid}`);
|
|
276
|
+
routeName = candidate.componentName;
|
|
277
|
+
const flat = (navigation ?? { routes: [] });
|
|
278
|
+
flat.routes = [...(flat.routes ?? []), { id: routeId, name: routeName, path: route, pageId }];
|
|
279
|
+
navigation = flat;
|
|
280
|
+
}
|
|
281
|
+
if (routeId && routeName) {
|
|
282
|
+
const filePath = join(root, candidate.file);
|
|
283
|
+
writeFileSync(filePath, withRouteMarker(readFileSync(filePath, 'utf8'), routeId, routeName));
|
|
284
|
+
}
|
|
285
|
+
pagesMap[pageId] = {
|
|
286
|
+
file: candidate.file,
|
|
287
|
+
name: candidate.componentName,
|
|
288
|
+
route,
|
|
289
|
+
...(routeId ? { routeId } : {}),
|
|
290
|
+
};
|
|
152
291
|
}
|
|
153
|
-
for (const { candidate, dom, cmpCid } of adoptedComponents) {
|
|
292
|
+
for (const { candidate, dom, cmpCid, uuid } of adoptedComponents) {
|
|
154
293
|
rewriteFileSids(join(root, candidate.file), idMap);
|
|
155
294
|
renameTree(dom);
|
|
156
295
|
const cmpId = idMap[cmpCid];
|
|
157
296
|
if (!cmpId)
|
|
158
297
|
throw new Error(`server did not mint an id for component cid ${cmpCid}`);
|
|
159
|
-
snapshot.components.set(cmpId, { id: cmpId, name: candidate.componentName, root: dom });
|
|
160
|
-
|
|
298
|
+
snapshot.components.set(cmpId, { id: cmpId, name: candidate.componentName, root: dom, uuid });
|
|
299
|
+
componentsMap[cmpId] = { file: candidate.file, name: candidate.componentName };
|
|
161
300
|
}
|
|
301
|
+
snapshot.navigation = mergedDoc ? rewrapDoc(navigation, mergedDoc) : navigation;
|
|
162
302
|
baseStore.writeAll(snapshot);
|
|
303
|
+
baseStore.writeStamp(result.head);
|
|
163
304
|
writePagesMap(root, pagesMap);
|
|
305
|
+
writeComponentsMap(root, componentsMap);
|
|
164
306
|
writeHead(root, { head: result.head, seq: result.seq });
|
|
165
307
|
report.head = result.head;
|
|
166
308
|
report.notes.push(`adopted ${adoptedPages.length} page(s), ${adoptedComponents.length} component(s) @ ${result.head}`);
|
|
167
309
|
}
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
return
|
|
178
|
-
}
|
|
179
|
-
return
|
|
310
|
+
/**
|
|
311
|
+
* Which navigation contract the project speaks: Creator navigator documents
|
|
312
|
+
* (`{data: {navigators…}}`, also when `data` is still the empty seed) or the
|
|
313
|
+
* flat `{routes: [...]}` list of the mock server / pre-navigator backends.
|
|
314
|
+
*/
|
|
315
|
+
function navigationMode(navigation) {
|
|
316
|
+
if (navigation &&
|
|
317
|
+
typeof navigation === 'object' &&
|
|
318
|
+
('data' in navigation || 'legacy' in navigation)) {
|
|
319
|
+
return 'navigator';
|
|
320
|
+
}
|
|
321
|
+
return extractNavigatorDoc(navigation) ? 'navigator' : 'flat';
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* Route name for an adopted file: the segment, humanized (`add-device` ->
|
|
325
|
+
* "Add device"). A directory's `index.tsx` takes the directory's name (it IS
|
|
326
|
+
* that navigator's front page); a dynamic segment (`[id]`) or the root
|
|
327
|
+
* `index.tsx` take the component's name — the segment is not a name.
|
|
328
|
+
*/
|
|
329
|
+
function routeNameFor(segment, dir, componentName) {
|
|
330
|
+
if (segment === 'index')
|
|
331
|
+
return dir ? humanizeSegment(basename(dir)) : componentName;
|
|
332
|
+
if (/[[\]]/.test(segment))
|
|
333
|
+
return componentName;
|
|
334
|
+
return humanizeSegment(segment);
|
|
335
|
+
}
|
|
336
|
+
/** Navigator kind an expo-router layout renders: `<Tabs>` / `<Drawer>` / otherwise a stack. */
|
|
337
|
+
export function navigatorTypeOfLayout(source) {
|
|
338
|
+
if (/<\s*(?:Native)?Tabs\b/.test(source) ||
|
|
339
|
+
/import\s*\{[^}]*\b(?:Native)?Tabs\b[^}]*\}\s*from\s*['"]expo-router/.test(source)) {
|
|
340
|
+
return 'tabs';
|
|
341
|
+
}
|
|
342
|
+
if (/<\s*Drawer\b/.test(source) || /from\s*['"]expo-router\/drawer['"]/.test(source)) {
|
|
343
|
+
return 'drawer';
|
|
344
|
+
}
|
|
345
|
+
return 'stack';
|
|
346
|
+
}
|
|
347
|
+
function mintNavigator(ctx, dir) {
|
|
348
|
+
const layoutPath = join(ctx.root, ctx.routesDir, dir, '_layout.tsx');
|
|
349
|
+
const fromLayout = existsSync(layoutPath);
|
|
350
|
+
return {
|
|
351
|
+
id: randomUUID(),
|
|
352
|
+
routeId: randomUUID(),
|
|
353
|
+
type: fromLayout ? navigatorTypeOfLayout(readFileSync(layoutPath, 'utf8')) : 'stack',
|
|
354
|
+
name: humanizeSegment(basename(dir)),
|
|
355
|
+
fromLayout,
|
|
356
|
+
};
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* The navigator document once the adopted routes are in — null in flat mode
|
|
360
|
+
* or when nothing routed. Computed against the document at the commit base
|
|
361
|
+
* (recomputed on rebase): a directory with no navigator gets one, chained up
|
|
362
|
+
* to the nearest navigator that exists; a project with no navigation starts
|
|
363
|
+
* with a root stack.
|
|
364
|
+
*/
|
|
365
|
+
function navigatorDocAfter(navigation, adopted, ctx) {
|
|
366
|
+
const routed = adopted.filter((a) => a.navRoute);
|
|
367
|
+
if (routed.length === 0)
|
|
368
|
+
return null;
|
|
369
|
+
const current = extractNavigatorDoc(navigation);
|
|
370
|
+
let doc;
|
|
371
|
+
if (current) {
|
|
372
|
+
doc = structuredClone(current);
|
|
373
|
+
}
|
|
374
|
+
else {
|
|
375
|
+
doc = {
|
|
376
|
+
version: 1,
|
|
377
|
+
rootNavigatorId: ctx.rootId,
|
|
378
|
+
navigators: {
|
|
379
|
+
[ctx.rootId]: { id: ctx.rootId, type: 'stack', name: 'Root', routes: [] },
|
|
380
|
+
},
|
|
381
|
+
};
|
|
382
|
+
ctx.report.notes.push('the project had no navigation — created a root stack for the adopted page(s)');
|
|
383
|
+
}
|
|
384
|
+
const byDir = buildNavPlan(doc, ctx.pages, []).navigatorByDir;
|
|
385
|
+
const names = new Set(Object.values(doc.navigators).map((n) => n.name));
|
|
386
|
+
const navigatorAt = (dir) => {
|
|
387
|
+
const known = byDir.get(dir);
|
|
388
|
+
if (known)
|
|
389
|
+
return doc.navigators[known];
|
|
390
|
+
if (dir === '') {
|
|
391
|
+
const root = doc.navigators[doc.rootNavigatorId];
|
|
392
|
+
if (!root)
|
|
393
|
+
throw new Error(`navigation document has no root navigator ${doc.rootNavigatorId}`);
|
|
394
|
+
return root;
|
|
395
|
+
}
|
|
396
|
+
const parentDir = dirname(dir) === '.' ? '' : dirname(dir);
|
|
397
|
+
const parent = navigatorAt(parentDir);
|
|
398
|
+
let minted = ctx.minted.get(dir);
|
|
399
|
+
if (!minted) {
|
|
400
|
+
minted = mintNavigator(ctx, dir);
|
|
401
|
+
ctx.minted.set(dir, minted);
|
|
402
|
+
}
|
|
403
|
+
let name = minted.name;
|
|
404
|
+
for (let n = 2; names.has(name); n++)
|
|
405
|
+
name = `${minted.name} ${n}`;
|
|
406
|
+
names.add(name);
|
|
407
|
+
const nav = { id: minted.id, type: minted.type, name, routes: [] };
|
|
408
|
+
doc.navigators[nav.id] = nav;
|
|
409
|
+
// The route's path is the directory segment: the navigator answers exactly where its files are.
|
|
410
|
+
parent.routes.push({
|
|
411
|
+
id: minted.routeId,
|
|
412
|
+
name,
|
|
413
|
+
target: { kind: 'navigator', navigatorId: nav.id },
|
|
414
|
+
path: basename(dir),
|
|
415
|
+
});
|
|
416
|
+
byDir.set(dir, nav.id);
|
|
417
|
+
ctx.report.notes.push(`navigation: ${join(ctx.routesDir, dir)}/ had no navigator — created ${nav.type} navigator “${name}” on “${parent.name}” (${minted.fromLayout ? 'kind read from its _layout.tsx' : 'no _layout.tsx: a stack'})`);
|
|
418
|
+
return nav;
|
|
419
|
+
};
|
|
420
|
+
// `index.tsx` files first: the one opening a fresh navigator is its initial route.
|
|
421
|
+
const ordered = [...routed].sort((a, b) => Number(b.navRoute.segment === 'index') - Number(a.navRoute.segment === 'index'));
|
|
422
|
+
for (const { navRoute } of ordered) {
|
|
423
|
+
const { dir, segment, route } = navRoute;
|
|
424
|
+
const nav = navigatorAt(dir);
|
|
425
|
+
if (segment === 'index' && nav.routes.length === 0) {
|
|
426
|
+
// Front page of a fresh navigator: initial route, position implied — no pinned path.
|
|
427
|
+
delete route.path;
|
|
428
|
+
nav.initialRouteId = route.id;
|
|
429
|
+
}
|
|
430
|
+
else {
|
|
431
|
+
route.path = segment;
|
|
432
|
+
}
|
|
433
|
+
nav.routes.push(route);
|
|
434
|
+
}
|
|
435
|
+
return doc;
|
|
436
|
+
}
|
|
437
|
+
function navigationOp(navigation, merged) {
|
|
438
|
+
if (!merged)
|
|
439
|
+
return null;
|
|
440
|
+
const current = extractNavigatorDoc(navigation);
|
|
441
|
+
const patch = {};
|
|
442
|
+
if (current) {
|
|
443
|
+
// Arrays replace wholesale (RFC 7386): send each touched navigator's
|
|
444
|
+
// routes (and initial route); a navigator minted here goes whole.
|
|
445
|
+
const navigators = {};
|
|
446
|
+
for (const [id, nav] of Object.entries(merged.navigators)) {
|
|
447
|
+
const before = current.navigators[id];
|
|
448
|
+
if (!before) {
|
|
449
|
+
navigators[id] = nav;
|
|
450
|
+
continue;
|
|
451
|
+
}
|
|
452
|
+
const navPatch = {};
|
|
453
|
+
if (JSON.stringify(nav.routes) !== JSON.stringify(before.routes))
|
|
454
|
+
navPatch.routes = nav.routes;
|
|
455
|
+
if (nav.initialRouteId !== before.initialRouteId) {
|
|
456
|
+
navPatch.initialRouteId = nav.initialRouteId ?? null;
|
|
457
|
+
}
|
|
458
|
+
if (Object.keys(navPatch).length > 0)
|
|
459
|
+
navigators[id] = navPatch;
|
|
460
|
+
}
|
|
461
|
+
patch.data = { navigators };
|
|
462
|
+
}
|
|
463
|
+
else {
|
|
464
|
+
patch.data = merged;
|
|
465
|
+
// A backfilled blob still wrapped in `legacy` unwraps on the first native write.
|
|
466
|
+
if (navigation && 'legacy' in navigation && navigation.legacy !== null)
|
|
467
|
+
patch.legacy = null;
|
|
468
|
+
}
|
|
469
|
+
return { op: 'update', entity: 'NavigationDocument', id: 'nav_default', patch };
|
|
470
|
+
}
|
|
471
|
+
/** expo-router path for a file: relative to routesDir (or app/), groups dropped, index is the dir. */
|
|
472
|
+
function routeForFile(file, routesDir) {
|
|
473
|
+
const rel = isUnder(file, routesDir)
|
|
474
|
+
? relative(routesDir, file)
|
|
475
|
+
: file.split(sep)[0] === 'app'
|
|
476
|
+
? relative('app', file)
|
|
477
|
+
: basename(file);
|
|
478
|
+
const segments = rel
|
|
479
|
+
.replace(/\.tsx$/, '')
|
|
480
|
+
.split(sep)
|
|
481
|
+
.filter((p) => !(p.startsWith('(') && p.endsWith(')')));
|
|
482
|
+
if (segments[segments.length - 1] === 'index')
|
|
483
|
+
segments.pop();
|
|
484
|
+
return `/${segments.join('/')}`;
|
|
485
|
+
}
|
|
486
|
+
function route(candidate, routesDir) {
|
|
487
|
+
return routeForFile(candidate.file, routesDir);
|
|
180
488
|
}
|
|
181
489
|
function rewriteFileSids(filePath, idMap) {
|
|
182
490
|
if (!existsSync(filePath))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adoptService.js","sourceRoot":"","sources":["../../src/services/adoptService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adoptService.js","sourceRoot":"","sources":["../../src/services/adoptService.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,13 +3,15 @@
|
|
|
3
3
|
// the internal --denv flag can point a single run at another stage.
|
|
4
4
|
import { JpatchClient } from '../api/client.js';
|
|
5
5
|
import { readConfig } from '../project/config.js';
|
|
6
|
-
import { resolveApiUrl } from '../project/env.js';
|
|
6
|
+
import { assetUrlFor, resolveApiUrl } from '../project/env.js';
|
|
7
7
|
import { readSecret } from '../project/secret.js';
|
|
8
8
|
import { cliOrigin } from '../version.js';
|
|
9
9
|
export function clientForApp(root, opts) {
|
|
10
10
|
const config = readConfig(root);
|
|
11
|
+
const baseUrl = resolveApiUrl({ denv: opts.denv, configuredUrl: config.apiUrl });
|
|
11
12
|
return new JpatchClient({
|
|
12
|
-
baseUrl
|
|
13
|
+
baseUrl,
|
|
14
|
+
assetsBaseUrl: assetUrlFor(baseUrl),
|
|
13
15
|
projectId: config.projectId,
|
|
14
16
|
token: readSecret(root),
|
|
15
17
|
origin: cliOrigin(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientFactory.js","sourceRoot":"","sources":["../../src/services/clientFactory.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,+EAA+E;AAC/E,oEAAoE;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"clientFactory.js","sourceRoot":"","sources":["../../src/services/clientFactory.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,+EAA+E;AAC/E,oEAAoE;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,IAA6B;IACtE,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACjF,OAAO,IAAI,YAAY,CAAC;QACtB,OAAO;QACP,aAAa,EAAE,WAAW,CAAC,OAAO,CAAC;QACnC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC;QACvB,MAAM,EAAE,SAAS,EAAE;KACpB,CAAC,CAAC;AACL,CAAC"}
|