@ankhorage/studio 2.0.27 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/app/workspace/WorkspacePrimitives.d.ts +1 -0
- package/dist/app/workspace/WorkspacePrimitives.d.ts.map +1 -1
- package/dist/host/layout/auth/resolveAuthLayoutPlan.d.ts.map +1 -1
- package/dist/host/layout/auth/resolveAuthLayoutPlan.js +18 -7
- package/dist/host/layout/auth/resolveAuthLayoutPlan.js.map +1 -1
- package/dist/host/layout/layoutGenerator.d.ts +0 -4
- package/dist/host/layout/layoutGenerator.d.ts.map +1 -1
- package/dist/host/layout/layoutGenerator.js +34 -108
- package/dist/host/layout/layoutGenerator.js.map +1 -1
- package/dist/host/layout/navigator/createNavigatorGenerationBindings.d.ts +20 -0
- package/dist/host/layout/navigator/createNavigatorGenerationBindings.d.ts.map +1 -0
- package/dist/host/layout/navigator/createNavigatorGenerationBindings.js +183 -0
- package/dist/host/layout/navigator/createNavigatorGenerationBindings.js.map +1 -0
- package/dist/host/layout/navigator/generateNavigatorLayoutFiles.d.ts +17 -0
- package/dist/host/layout/navigator/generateNavigatorLayoutFiles.d.ts.map +1 -0
- package/dist/host/layout/navigator/generateNavigatorLayoutFiles.js +107 -0
- package/dist/host/layout/navigator/generateNavigatorLayoutFiles.js.map +1 -0
- package/dist/host/layout/templates/index.d.ts +1 -3
- package/dist/host/layout/templates/index.d.ts.map +1 -1
- package/dist/host/layout/templates/index.js +0 -2
- package/dist/host/layout/templates/index.js.map +1 -1
- package/dist/host/layout/templates/rootLayout.d.ts +6 -2
- package/dist/host/layout/templates/rootLayout.d.ts.map +1 -1
- package/dist/host/layout/templates/rootLayout.js +4 -4
- package/dist/host/layout/templates/rootLayout.js.map +1 -1
- package/dist/host/layout/templates/utils/strings.d.ts +0 -5
- package/dist/host/layout/templates/utils/strings.d.ts.map +1 -1
- package/dist/host/layout/templates/utils/strings.js +0 -7
- package/dist/host/layout/templates/utils/strings.js.map +1 -1
- package/dist/host/orchestrator/GeneratedRouteFileOwnership.d.ts.map +1 -1
- package/dist/host/orchestrator/GeneratedRouteFileOwnership.js +8 -1
- package/dist/host/orchestrator/GeneratedRouteFileOwnership.js.map +1 -1
- package/dist/host/orchestrator/templates.d.ts +4 -0
- package/dist/host/orchestrator/templates.d.ts.map +1 -1
- package/dist/host/orchestrator/templates.js +7 -1
- package/dist/host/orchestrator/templates.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/manifestState.d.ts.map +1 -1
- package/dist/manifestState.js +14 -2
- package/dist/manifestState.js.map +1 -1
- package/package.json +13 -12
- package/dist/host/layout/templates/navigation.d.ts +0 -19
- package/dist/host/layout/templates/navigation.d.ts.map +0 -1
- package/dist/host/layout/templates/navigation.js +0 -392
- package/dist/host/layout/templates/navigation.js.map +0 -1
- package/dist/host/layout/templates/nestedLayout.d.ts +0 -8
- package/dist/host/layout/templates/nestedLayout.d.ts.map +0 -1
- package/dist/host/layout/templates/nestedLayout.js +0 -63
- package/dist/host/layout/templates/nestedLayout.js.map +0 -1
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { escapeStringLiteral } from '../utils/escapeStringLiteral';
|
|
2
|
+
const GUARD_BINDINGS_MODULE = '@/generated/navigatorGuardBindings';
|
|
3
|
+
const ICON_BINDINGS_MODULE = '@/generated/navigatorIconBindings';
|
|
4
|
+
const SCREEN_BINDINGS_MODULE = '@/generated/navigatorScreenBindings';
|
|
5
|
+
/*** Build the narrow module/symbol registry consumed by Navigator without forwarding AppManifest. */
|
|
6
|
+
export function createNavigatorGenerationBindings(input) {
|
|
7
|
+
const screenModules = collectScreenModules(input.roots);
|
|
8
|
+
const requiredScreenIds = collectLayoutScreenIds(input.roots);
|
|
9
|
+
const screenEntries = [...requiredScreenIds].flatMap((screenId, index) => {
|
|
10
|
+
const module = screenModules.get(screenId);
|
|
11
|
+
return module ? [{ screenId, module, exportName: `NavigatorScreen${index}` }] : [];
|
|
12
|
+
});
|
|
13
|
+
const screens = Object.fromEntries(screenEntries.map(({ screenId, exportName }) => [
|
|
14
|
+
screenId,
|
|
15
|
+
{ module: SCREEN_BINDINGS_MODULE, exportName },
|
|
16
|
+
]));
|
|
17
|
+
const guards = collectGuardBindings(input.roots, input.authEnabled);
|
|
18
|
+
const iconBindingFile = createIconBindingFile(input.manifest, input.roots);
|
|
19
|
+
const files = [
|
|
20
|
+
...(screenEntries.length === 0
|
|
21
|
+
? []
|
|
22
|
+
: [
|
|
23
|
+
{
|
|
24
|
+
path: 'src/generated/navigatorScreenBindings.ts',
|
|
25
|
+
content: `${screenEntries
|
|
26
|
+
.map(({ exportName, module }) => `export { default as ${exportName} } from '${escapeStringLiteral(module)}';`)
|
|
27
|
+
.join('\n')}\n`,
|
|
28
|
+
},
|
|
29
|
+
]),
|
|
30
|
+
...(Object.keys(guards).length === 0
|
|
31
|
+
? []
|
|
32
|
+
: [
|
|
33
|
+
{
|
|
34
|
+
path: 'src/generated/navigatorGuardBindings.ts',
|
|
35
|
+
content: `/** Auth group guards are already enforced by Studio's generated root shell. */
|
|
36
|
+
export function isInOwnedAuthRouteGroup() {
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
`,
|
|
40
|
+
},
|
|
41
|
+
]),
|
|
42
|
+
...(iconBindingFile ? [iconBindingFile] : []),
|
|
43
|
+
];
|
|
44
|
+
return {
|
|
45
|
+
bindings: {
|
|
46
|
+
screens,
|
|
47
|
+
guards,
|
|
48
|
+
...(iconBindingFile
|
|
49
|
+
? {
|
|
50
|
+
iconSourceResolver: {
|
|
51
|
+
module: ICON_BINDINGS_MODULE,
|
|
52
|
+
exportName: 'resolveNavigatorIconSource',
|
|
53
|
+
},
|
|
54
|
+
}
|
|
55
|
+
: {}),
|
|
56
|
+
},
|
|
57
|
+
files,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/*** Collect only screens rendered directly by a Navigator layout instead of cloning the app registry. */
|
|
61
|
+
function collectLayoutScreenIds(roots) {
|
|
62
|
+
const screenIds = new Set();
|
|
63
|
+
const visit = (navigator) => {
|
|
64
|
+
if (navigator.type === 'split-view') {
|
|
65
|
+
screenIds.add(navigator.columns.primary.screenId);
|
|
66
|
+
if (navigator.columns.supplementary) {
|
|
67
|
+
screenIds.add(navigator.columns.supplementary.screenId);
|
|
68
|
+
}
|
|
69
|
+
if (navigator.inspector)
|
|
70
|
+
screenIds.add(navigator.inspector.screenId);
|
|
71
|
+
}
|
|
72
|
+
if (navigator.type === 'tabs') {
|
|
73
|
+
if (navigator.implementation === 'native' && navigator.bottomAccessory) {
|
|
74
|
+
screenIds.add(navigator.bottomAccessory.screenId);
|
|
75
|
+
}
|
|
76
|
+
if ((navigator.implementation === undefined || navigator.implementation === 'adaptive') &&
|
|
77
|
+
navigator.native?.bottomAccessory) {
|
|
78
|
+
screenIds.add(navigator.native.bottomAccessory.screenId);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
for (const route of navigator.routes) {
|
|
82
|
+
if (route.navigator)
|
|
83
|
+
visit(route.navigator);
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
for (const root of roots)
|
|
87
|
+
visit(root.navigator);
|
|
88
|
+
return screenIds;
|
|
89
|
+
}
|
|
90
|
+
/*** Map each routed screen ID to its first deterministic Studio-generated route module. */
|
|
91
|
+
function collectScreenModules(roots) {
|
|
92
|
+
const modules = new Map();
|
|
93
|
+
const visit = (navigator, directory) => {
|
|
94
|
+
for (const route of navigator.routes) {
|
|
95
|
+
const routePath = `${directory}/${route.name}`;
|
|
96
|
+
if (route.screenId && !modules.has(route.screenId)) {
|
|
97
|
+
modules.set(route.screenId, toSourceAlias(routePath));
|
|
98
|
+
}
|
|
99
|
+
if (route.navigator)
|
|
100
|
+
visit(route.navigator, routePath);
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
for (const root of roots)
|
|
104
|
+
visit(root.navigator, root.rootDirectory);
|
|
105
|
+
return modules;
|
|
106
|
+
}
|
|
107
|
+
/*** Bind only auth partition guards whose behavior is already established by the root shell. */
|
|
108
|
+
function collectGuardBindings(roots, authEnabled) {
|
|
109
|
+
const guards = new Set();
|
|
110
|
+
const visit = (navigator) => {
|
|
111
|
+
for (const route of navigator.routes) {
|
|
112
|
+
for (const guard of route.guards ?? [])
|
|
113
|
+
guards.add(guard);
|
|
114
|
+
if (route.navigator)
|
|
115
|
+
visit(route.navigator);
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
for (const root of roots)
|
|
119
|
+
visit(root.navigator);
|
|
120
|
+
const supported = new Set(['authenticated', 'guest', 'public']);
|
|
121
|
+
return Object.fromEntries([...guards]
|
|
122
|
+
.filter((guard) => authEnabled && supported.has(guard.trim().toLowerCase()))
|
|
123
|
+
.map((guard) => [
|
|
124
|
+
guard,
|
|
125
|
+
{ module: GUARD_BINDINGS_MODULE, exportName: 'isInOwnedAuthRouteGroup' },
|
|
126
|
+
]));
|
|
127
|
+
}
|
|
128
|
+
/*** Emit a manifest-projected icon source registry for bundled and URL-backed SVG references. */
|
|
129
|
+
function createIconBindingFile(manifest, roots) {
|
|
130
|
+
const mediaIds = collectIconMediaIds(roots);
|
|
131
|
+
if (mediaIds.length === 0)
|
|
132
|
+
return null;
|
|
133
|
+
const cases = mediaIds.map((mediaId) => {
|
|
134
|
+
const asset = Object.values(manifest.media?.assets ?? {}).find(({ id }) => id === mediaId);
|
|
135
|
+
if (!asset)
|
|
136
|
+
throw new Error(`Navigation icon media '${mediaId}' is missing from the manifest.`);
|
|
137
|
+
if (asset.source.kind === 'storage') {
|
|
138
|
+
throw new Error(`Navigation icon media '${mediaId}' requires asynchronous storage resolution.`);
|
|
139
|
+
}
|
|
140
|
+
const source = asset.source.kind === 'bundled'
|
|
141
|
+
? `bundledMediaRegistry['${escapeStringLiteral(asset.source.path)}']`
|
|
142
|
+
: `'${escapeStringLiteral(asset.source.url)}'`;
|
|
143
|
+
return ` case '${escapeStringLiteral(mediaId)}':
|
|
144
|
+
return ${source};`;
|
|
145
|
+
});
|
|
146
|
+
return {
|
|
147
|
+
path: 'src/generated/navigatorIconBindings.ts',
|
|
148
|
+
content: `import { bundledMediaRegistry } from '@/generated/bundledMediaRegistry';
|
|
149
|
+
|
|
150
|
+
export function resolveNavigatorIconSource(reference: { mediaId: string }) {
|
|
151
|
+
switch (reference.mediaId) {
|
|
152
|
+
${cases.join('\n')}
|
|
153
|
+
default:
|
|
154
|
+
throw new Error(\`Navigation icon media '\${reference.mediaId}' is unavailable.\`);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
`,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
/*** Collect unique media-backed route icon references in stable traversal order. */
|
|
161
|
+
function collectIconMediaIds(roots) {
|
|
162
|
+
const mediaIds = new Set();
|
|
163
|
+
const visitRoute = (route) => {
|
|
164
|
+
if (route.icon && 'source' in route.icon && route.icon.source) {
|
|
165
|
+
mediaIds.add(route.icon.source.mediaId);
|
|
166
|
+
}
|
|
167
|
+
for (const nestedRoute of route.navigator?.routes ?? [])
|
|
168
|
+
visitRoute(nestedRoute);
|
|
169
|
+
};
|
|
170
|
+
for (const root of roots) {
|
|
171
|
+
for (const route of root.navigator.routes)
|
|
172
|
+
visitRoute(route);
|
|
173
|
+
}
|
|
174
|
+
return [...mediaIds];
|
|
175
|
+
}
|
|
176
|
+
/*** Convert a generated file path below src into its stable alias without an extension. */
|
|
177
|
+
function toSourceAlias(filePath) {
|
|
178
|
+
if (!filePath.startsWith('src/')) {
|
|
179
|
+
throw new Error(`Navigator screen path ${JSON.stringify(filePath)} is outside src.`);
|
|
180
|
+
}
|
|
181
|
+
return `@/${filePath.slice(4)}`;
|
|
182
|
+
}
|
|
183
|
+
//# sourceMappingURL=createNavigatorGenerationBindings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createNavigatorGenerationBindings.js","sourceRoot":"","sources":["../../../../src/host/layout/navigator/createNavigatorGenerationBindings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { AppDeployTargets } from '@ankhorage/contracts/deploy';
|
|
2
|
+
import type { NavigatorNode } from '@ankhorage/contracts/navigator';
|
|
3
|
+
import { type NavigatorGenerationBindings } from '@ankhorage/navigator';
|
|
4
|
+
export interface NavigatorOwnedLayoutFile {
|
|
5
|
+
path: string;
|
|
6
|
+
content: string;
|
|
7
|
+
}
|
|
8
|
+
interface GenerateNavigatorLayoutFilesInput {
|
|
9
|
+
navigator: NavigatorNode;
|
|
10
|
+
rootDirectory: string;
|
|
11
|
+
targets: AppDeployTargets;
|
|
12
|
+
bindings: NavigatorGenerationBindings;
|
|
13
|
+
}
|
|
14
|
+
/*** Generate Navigator-owned layouts for enabled targets while leaving root-shell and screen ownership in Studio. */
|
|
15
|
+
export declare function generateNavigatorLayoutFiles(input: GenerateNavigatorLayoutFilesInput): NavigatorOwnedLayoutFile[];
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=generateNavigatorLayoutFiles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateNavigatorLayoutFiles.d.ts","sourceRoot":"","sources":["../../../../src/host/layout/navigator/generateNavigatorLayoutFiles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAIL,KAAK,2BAA2B,EAEjC,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,iCAAiC;IACzC,SAAS,EAAE,aAAa,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,2BAA2B,CAAC;CACvC;AAED,qHAAqH;AACrH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,iCAAiC,GACvC,wBAAwB,EAAE,CA0B5B"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { EXPO_PLATFORM } from '@ankhorage/expo-runtime/platform';
|
|
2
|
+
import { createNavigatorPlan, generateNavigatorFiles, } from '@ankhorage/navigator';
|
|
3
|
+
/*** Generate Navigator-owned layouts for enabled targets while leaving root-shell and screen ownership in Studio. */
|
|
4
|
+
export function generateNavigatorLayoutFiles(input) {
|
|
5
|
+
const platforms = enabledPlatforms(input.targets);
|
|
6
|
+
const generatedByPlatform = platforms.map((platform) => ({
|
|
7
|
+
platform,
|
|
8
|
+
files: generatePlatformLayouts(input, platform),
|
|
9
|
+
}));
|
|
10
|
+
const [fallback, ...platformOverrides] = generatedByPlatform;
|
|
11
|
+
if (!fallback)
|
|
12
|
+
throw new Error('Navigator generation requires at least one enabled deploy target.');
|
|
13
|
+
const fallbackByPath = new Map(fallback.files.map((file) => [file.path, file.contents]));
|
|
14
|
+
const output = fallback.files.map((file) => ({ path: file.path, content: file.contents }));
|
|
15
|
+
for (const generated of platformOverrides) {
|
|
16
|
+
for (const file of generated.files) {
|
|
17
|
+
const fallbackContent = fallbackByPath.get(file.path);
|
|
18
|
+
if (fallbackContent === undefined) {
|
|
19
|
+
throw new Error(`Navigator produced inconsistent layout path ${JSON.stringify(file.path)}.`);
|
|
20
|
+
}
|
|
21
|
+
if (file.contents === fallbackContent)
|
|
22
|
+
continue;
|
|
23
|
+
output.push({ path: platformPath(file.path, generated.platform), content: file.contents });
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return output.sort((left, right) => left.path.localeCompare(right.path));
|
|
27
|
+
}
|
|
28
|
+
/*** Resolve enabled targets with Web first so its source remains the universal fallback file. */
|
|
29
|
+
function enabledPlatforms(targets) {
|
|
30
|
+
return ['web', 'ios', 'android'].filter((platform) => isPlatformEnabled(targets, platform));
|
|
31
|
+
}
|
|
32
|
+
/*** Read one deploy target without dynamic object injection. */
|
|
33
|
+
function isPlatformEnabled(targets, platform) {
|
|
34
|
+
switch (platform) {
|
|
35
|
+
case 'web':
|
|
36
|
+
return targets.web?.enabled === true;
|
|
37
|
+
case 'ios':
|
|
38
|
+
return targets.ios?.enabled === true;
|
|
39
|
+
case 'android':
|
|
40
|
+
return targets.android?.enabled === true;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/*** Plan and generate one platform without passing any AppManifest state to Navigator. */
|
|
44
|
+
function generatePlatformLayouts(input, platform) {
|
|
45
|
+
const plan = createNavigatorPlan(withGeneratedRoutePaths(input.navigator), {
|
|
46
|
+
platform,
|
|
47
|
+
expoRouterVersion: resolveExactVersion(EXPO_PLATFORM.navigation.expoRouter.version),
|
|
48
|
+
});
|
|
49
|
+
if (!plan.supported) {
|
|
50
|
+
const diagnostics = plan.diagnostics
|
|
51
|
+
.filter(({ severity }) => severity === 'error')
|
|
52
|
+
.map(({ code, path }) => `${code} at ${path}`)
|
|
53
|
+
.join(', ');
|
|
54
|
+
throw new Error(`Navigator manifest is unsupported for ${platform}: ${diagnostics || 'adapter unavailable'}.`);
|
|
55
|
+
}
|
|
56
|
+
return generateNavigatorFiles(plan, input.bindings, {
|
|
57
|
+
rootDirectory: input.rootDirectory,
|
|
58
|
+
includeScreenFiles: false,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
/*** Project Studio-owned public route paths into the navigator slice required by headless tabs. */
|
|
62
|
+
function withGeneratedRoutePaths(navigator, parentPath = '/') {
|
|
63
|
+
return {
|
|
64
|
+
...navigator,
|
|
65
|
+
routes: navigator.routes.map((route) => {
|
|
66
|
+
const publicPath = resolvePublicRoutePath(parentPath, route.name, route.path);
|
|
67
|
+
return {
|
|
68
|
+
...route,
|
|
69
|
+
path: publicPath,
|
|
70
|
+
...(route.navigator
|
|
71
|
+
? { navigator: withGeneratedRoutePaths(route.navigator, publicPath) }
|
|
72
|
+
: {}),
|
|
73
|
+
};
|
|
74
|
+
}),
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/*** Resolve one safe route segment to its canonical public path while omitting groups and index. */
|
|
78
|
+
function resolvePublicRoutePath(parentPath, routeName, authoredPath) {
|
|
79
|
+
if (authoredPath?.startsWith('/'))
|
|
80
|
+
return authoredPath || '/';
|
|
81
|
+
const parentSegments = parentPath.split('/').filter(Boolean);
|
|
82
|
+
const authoredSegments = authoredPath?.split('/').filter(Boolean);
|
|
83
|
+
const routeSegments = authoredSegments ?? [routeName];
|
|
84
|
+
const publicSegments = routeSegments.flatMap((segment) => {
|
|
85
|
+
if (segment === 'index' || /^\(.*\)$/u.test(segment))
|
|
86
|
+
return [];
|
|
87
|
+
const dynamic = /^\[([^\]]+)\]$/u.exec(segment)?.[1];
|
|
88
|
+
return [dynamic ? `:${dynamic.replace(/^\.\.\./u, '')}` : segment];
|
|
89
|
+
});
|
|
90
|
+
const resolved = [...parentSegments, ...publicSegments].join('/');
|
|
91
|
+
return resolved.length === 0 ? '/' : `/${resolved}`;
|
|
92
|
+
}
|
|
93
|
+
/*** Read the concrete semantic version from Expo Runtime's package range. */
|
|
94
|
+
function resolveExactVersion(versionRange) {
|
|
95
|
+
const version = /\d+\.\d+\.\d+/u.exec(versionRange)?.[0];
|
|
96
|
+
if (!version)
|
|
97
|
+
throw new Error(`Expo Router range ${JSON.stringify(versionRange)} has no version.`);
|
|
98
|
+
return version;
|
|
99
|
+
}
|
|
100
|
+
/*** Add an Expo platform suffix to a generated TypeScript layout path. */
|
|
101
|
+
function platformPath(filePath, platform) {
|
|
102
|
+
if (!filePath.endsWith('.tsx')) {
|
|
103
|
+
throw new Error(`Navigator emitted a non-TSX layout path ${JSON.stringify(filePath)}.`);
|
|
104
|
+
}
|
|
105
|
+
return `${filePath.slice(0, -4)}.${platform}.tsx`;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=generateNavigatorLayoutFiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateNavigatorLayoutFiles.js","sourceRoot":"","sources":["../../../../src/host/layout/navigator/generateNavigatorLayoutFiles.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
/*** Audit coverage: exports-only entrypoint for generated layout and auth template sources. */
|
|
2
2
|
export { getRootLayoutImportRequirements, getRootLayoutTsx } from './rootLayout';
|
|
3
|
-
export {
|
|
3
|
+
export type { RootNavigationContent } from './rootLayout';
|
|
4
4
|
export { getScreenTsx } from './screen';
|
|
5
|
-
export { buildNavigatorJsx } from './navigation';
|
|
6
|
-
export type { BuiltNavigatorJsx } from './navigation';
|
|
7
5
|
export { getAuthSessionTs } from './auth/session';
|
|
8
6
|
export { getSignOutScreenTsx } from './auth/signOut';
|
|
9
7
|
export { getAuthAdapterTs } from './auth/adapter';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/host/layout/templates/index.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,OAAO,EAAE,+BAA+B,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACjF,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/host/layout/templates/index.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,OAAO,EAAE,+BAA+B,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACjF,YAAY,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
/*** Audit coverage: exports-only entrypoint for generated layout and auth template sources. */
|
|
2
2
|
export { getRootLayoutImportRequirements, getRootLayoutTsx } from './rootLayout';
|
|
3
|
-
export { getNestedLayoutTsx } from './nestedLayout';
|
|
4
3
|
export { getScreenTsx } from './screen';
|
|
5
|
-
export { buildNavigatorJsx } from './navigation';
|
|
6
4
|
export { getAuthSessionTs } from './auth/session';
|
|
7
5
|
export { getSignOutScreenTsx } from './auth/signOut';
|
|
8
6
|
export { getAuthAdapterTs } from './auth/adapter';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/host/layout/templates/index.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,OAAO,EAAE,+BAA+B,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/host/layout/templates/index.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,OAAO,EAAE,+BAA+B,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEjF,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import type { AppManifest } from '@ankhorage/contracts';
|
|
2
2
|
import type { LayoutMutation } from '../../modules/layout';
|
|
3
3
|
import type { GeneratedImportRequirement } from '../generatedImportComposer';
|
|
4
|
-
|
|
4
|
+
export interface RootNavigationContent {
|
|
5
|
+
declarations: string;
|
|
6
|
+
jsx: string;
|
|
7
|
+
usesTheme: boolean;
|
|
8
|
+
}
|
|
5
9
|
interface RootLayoutAuthRuntimeConfig {
|
|
6
10
|
signInRoute: string;
|
|
7
11
|
signInRouteName: string;
|
|
@@ -15,7 +19,7 @@ interface GetRootLayoutTsxArgs {
|
|
|
15
19
|
mutations: LayoutMutation[];
|
|
16
20
|
allImports: string;
|
|
17
21
|
allHooks: string;
|
|
18
|
-
innerNavigation:
|
|
22
|
+
innerNavigation: RootNavigationContent;
|
|
19
23
|
includeStudio: boolean;
|
|
20
24
|
authRuntime?: RootLayoutAuthRuntimeConfig;
|
|
21
25
|
initialRouteNameOverride?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rootLayout.d.ts","sourceRoot":"","sources":["../../../../src/host/layout/templates/rootLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"rootLayout.d.ts","sourceRoot":"","sources":["../../../../src/host/layout/templates/rootLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAE7E,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,2BAA2B;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,UAAU,oBAAoB;IAC5B,QAAQ,EAAE,WAAW,CAAC;IACtB,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,qBAAqB,CAAC;IACvC,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,2BAA2B,CAAC;IAC1C,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,sCAAsC,CAAC,EAAE,OAAO,CAAC;CAClD;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,aAAa,EAAE,OAAO,GACrB,0BAA0B,EAAE,CAmD9B;AAaD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,UAuf1D"}
|
|
@@ -302,7 +302,9 @@ const shouldMountAppHeader =
|
|
|
302
302
|
}`
|
|
303
303
|
: '';
|
|
304
304
|
const indentedStudioShellBlock = studioShellBlock.length > 0 ? `\n${indentGeneratedBlock(studioShellBlock)}\n` : '\n';
|
|
305
|
-
const
|
|
305
|
+
const innerContentReturn = innerNavigation.jsx.includes('\n')
|
|
306
|
+
? `return (\n ${innerNavigation.jsx}\n );`
|
|
307
|
+
: `return ${innerNavigation.jsx};`;
|
|
306
308
|
const generatedAppShell = finalJsx === '{output}'
|
|
307
309
|
? '<AppShell>{output}</AppShell>'
|
|
308
310
|
: `<AppShell>
|
|
@@ -536,9 +538,7 @@ function GeneratedStatusBar() {
|
|
|
536
538
|
}
|
|
537
539
|
|
|
538
540
|
function InnerContent(${innerContentSignature}) {${innerContentReadyHook}
|
|
539
|
-
${innerThemeHook}${innerContentPendingBoundary}
|
|
540
|
-
${indentedInnerNavigationJsx}
|
|
541
|
-
);
|
|
541
|
+
${innerThemeHook}${innerContentPendingBoundary} ${innerContentReturn}
|
|
542
542
|
}
|
|
543
543
|
`.trimStart();
|
|
544
544
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rootLayout.js","sourceRoot":"","sources":["../../../../src/host/layout/templates/rootLayout.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rootLayout.js","sourceRoot":"","sources":["../../../../src/host/layout/templates/rootLayout.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/***
|
|
2
|
-
* Join only non-empty lines with a newline delimiter.
|
|
3
|
-
* @utility @ankhorage/utility/string
|
|
4
|
-
*/
|
|
5
|
-
export declare function joinNonEmptyLines(lines: string[]): string;
|
|
6
1
|
/***
|
|
7
2
|
* Remove non-alphanumeric characters from a value before using it as a generated component identifier fragment.
|
|
8
3
|
* @utility @ankhorage/utility/string
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../../../../src/host/layout/templates/utils/strings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,
|
|
1
|
+
{"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../../../../src/host/layout/templates/utils/strings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEzD"}
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
/***
|
|
2
|
-
* Join only non-empty lines with a newline delimiter.
|
|
3
|
-
* @utility @ankhorage/utility/string
|
|
4
|
-
*/
|
|
5
|
-
export function joinNonEmptyLines(lines) {
|
|
6
|
-
return lines.filter((line) => line.length > 0).join('\n');
|
|
7
|
-
}
|
|
8
1
|
/***
|
|
9
2
|
* Remove non-alphanumeric characters from a value before using it as a generated component identifier fragment.
|
|
10
3
|
* @utility @ankhorage/utility/string
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strings.js","sourceRoot":"","sources":["../../../../../src/host/layout/templates/utils/strings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"strings.js","sourceRoot":"","sources":["../../../../../src/host/layout/templates/utils/strings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAO,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeneratedRouteFileOwnership.d.ts","sourceRoot":"","sources":["../../../src/host/orchestrator/GeneratedRouteFileOwnership.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GeneratedRouteFileOwnership.d.ts","sourceRoot":"","sources":["../../../src/host/orchestrator/GeneratedRouteFileOwnership.ts"],"names":[],"mappings":"AA8BA;;;GAGG;AACH,qBAAa,2BAA2B;IACtC,qGAAqG;IAC/F,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD,wGAAwG;IAClG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvF,mHAAmH;IAC7G,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAYvF"}
|
|
@@ -15,6 +15,11 @@ const GENERATED_AUTH_FILE_PATHS = new Set([
|
|
|
15
15
|
'src/auth/session.ts',
|
|
16
16
|
'src/screens/auth-screen.tsx',
|
|
17
17
|
]);
|
|
18
|
+
const GENERATED_NAVIGATOR_BINDING_FILE_PATHS = new Set([
|
|
19
|
+
'src/generated/navigatorGuardBindings.ts',
|
|
20
|
+
'src/generated/navigatorIconBindings.ts',
|
|
21
|
+
'src/generated/navigatorScreenBindings.ts',
|
|
22
|
+
]);
|
|
18
23
|
/***
|
|
19
24
|
* Own the current generated-route ledger so Studio deletes only files it generated and still owns.
|
|
20
25
|
* @todo Move generated route-file ownership from generic `host/orchestrator` into the routes/projects generation domain.
|
|
@@ -125,7 +130,9 @@ async function readRequiredRouteLedger(projectPath) {
|
|
|
125
130
|
function resolveGeneratedFile(projectPath, relativePath) {
|
|
126
131
|
const target = resolveProjectFile(projectPath, relativePath);
|
|
127
132
|
const isGeneratedAppRoute = relativePath.startsWith('src/app/') && relativePath.endsWith('.tsx');
|
|
128
|
-
if (!isGeneratedAppRoute &&
|
|
133
|
+
if (!isGeneratedAppRoute &&
|
|
134
|
+
!GENERATED_AUTH_FILE_PATHS.has(relativePath) &&
|
|
135
|
+
!GENERATED_NAVIGATOR_BINDING_FILE_PATHS.has(relativePath)) {
|
|
129
136
|
throw new Error(`Path is outside current route-generation ownership: ${relativePath}`);
|
|
130
137
|
}
|
|
131
138
|
return target;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeneratedRouteFileOwnership.js","sourceRoot":"","sources":["../../../src/host/orchestrator/GeneratedRouteFileOwnership.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"GeneratedRouteFileOwnership.js","sourceRoot":"","sources":["../../../src/host/orchestrator/GeneratedRouteFileOwnership.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,8 +57,12 @@ export declare function getPackageJson(args: {
|
|
|
57
57
|
'@ankhorage/contracts': string;
|
|
58
58
|
'@ankhorage/data-sources': string;
|
|
59
59
|
'@ankhorage/expo-runtime': string;
|
|
60
|
+
'@ankhorage/navigator': string;
|
|
60
61
|
'@ankhorage/runtime': string;
|
|
61
62
|
};
|
|
63
|
+
overrides: {
|
|
64
|
+
'@ankhorage/contracts': string;
|
|
65
|
+
};
|
|
62
66
|
devDependencies: {
|
|
63
67
|
[EXPO_PLATFORM.tooling.expoDoctor.name]: string;
|
|
64
68
|
[EXPO_PLATFORM.tooling.nodeTypes.name]: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/host/orchestrator/templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAGV,gBAAgB,EACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEL,KAAK,eAAe,EAIrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,aAAa,EAA4B,MAAM,kCAAkC,CAAC;AAE3F,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,IAAI,CAAC;AACtD,MAAM,MAAM,wBAAwB,GAAG,UAAU,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/host/orchestrator/templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAGV,gBAAgB,EACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEL,KAAK,eAAe,EAIrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,aAAa,EAA4B,MAAM,kCAAkC,CAAC;AAE3F,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,IAAI,CAAC;AACtD,MAAM,MAAM,wBAAwB,GAAG,UAAU,GAAG,IAAI,CAAC;AA4JzD,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,YAAmB,EACnB,WAAW,GACZ,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,gBAAgB,CAAC;IAC1B,YAAY,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B,UAgCA;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC,UA0nBA;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,eAAe,CAAC,EAAE,wBAAwB,CAAC;IAC3C,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,OAAO,EAAE,gBAAgB,CAAC;CAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA6FK,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,SAA0C;QACjF,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,SAAyC;QAG/E,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,SAA0C;;;;;EAKtF;AAED,wBAAgB,kBAAkB,WAejC;AAED,wBAAgB,uBAAuB,WAatC;AAED,wBAAgB,eAAe,WAU9B;AAED,wBAAgB,wBAAwB,WAQvC;AAED,wBAAgB,eAAe,WA+B9B"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { resolveExpoRuntimeDependencyMap, resolveExpoRuntimeNativeOutput, resolveExpoRuntimeNativeSchemeMap, } from '@ankhorage/expo-runtime/planning';
|
|
2
2
|
import { EXPO_PLATFORM } from '@ankhorage/expo-runtime/platform';
|
|
3
|
-
const CONTRACTS_VERSION = '^
|
|
3
|
+
const CONTRACTS_VERSION = '^11.0.0';
|
|
4
|
+
const CONTRACTS_OVERRIDE_VERSION = '11.0.0';
|
|
4
5
|
const DATA_SOURCES_VERSION = '^2.0.0';
|
|
5
6
|
const RUNTIME_VERSION = '^2.2.0';
|
|
7
|
+
const NAVIGATOR_VERSION = '^1.5.2';
|
|
6
8
|
const STUDIO_VERSION = '^2.0.20';
|
|
7
9
|
const UTILITY_VERSION = '^0.2.0';
|
|
8
10
|
const SUPABASE_AUTH_VERSION = '^1.2.5';
|
|
@@ -812,6 +814,7 @@ export function getPackageJson(args) {
|
|
|
812
814
|
'@ankhorage/contracts': CONTRACTS_VERSION,
|
|
813
815
|
'@ankhorage/data-sources': DATA_SOURCES_VERSION,
|
|
814
816
|
'@ankhorage/expo-runtime': EXPO_RUNTIME_VERSION,
|
|
817
|
+
'@ankhorage/navigator': NAVIGATOR_VERSION,
|
|
815
818
|
'@ankhorage/runtime': RUNTIME_VERSION,
|
|
816
819
|
...(includeStudio ? { '@ankhorage/studio': STUDIO_VERSION } : {}),
|
|
817
820
|
...(authProvider !== null ? { '@ankhorage/utility': UTILITY_VERSION } : {}),
|
|
@@ -862,6 +865,9 @@ export function getPackageJson(args) {
|
|
|
862
865
|
EXPO_PLATFORM.packages.statusBar,
|
|
863
866
|
]),
|
|
864
867
|
},
|
|
868
|
+
overrides: {
|
|
869
|
+
'@ankhorage/contracts': CONTRACTS_OVERRIDE_VERSION,
|
|
870
|
+
},
|
|
865
871
|
devDependencies: {
|
|
866
872
|
'@ankhorage/devtools': DEVTOOLS_VERSION,
|
|
867
873
|
[EXPO_PLATFORM.tooling.expoDoctor.name]: EXPO_PLATFORM.tooling.expoDoctor.version,
|