one 1.1.341 → 1.1.342
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/dist/cjs/Root.cjs +52 -64
- package/dist/cjs/Root.js +42 -44
- package/dist/cjs/Root.js.map +1 -1
- package/dist/cjs/Root.native.js +35 -49
- package/dist/cjs/Root.native.js.map +2 -2
- package/dist/cjs/router/router.js.map +1 -1
- package/dist/cjs/router/router.native.js.map +1 -1
- package/dist/cjs/useScreens.cjs +2 -28
- package/dist/cjs/useScreens.js +2 -23
- package/dist/cjs/useScreens.js.map +2 -2
- package/dist/cjs/useScreens.native.js +2 -26
- package/dist/cjs/useScreens.native.js.map +2 -2
- package/dist/cjs/useViteRoutes.cjs +1 -9
- package/dist/cjs/useViteRoutes.js +2 -7
- package/dist/cjs/useViteRoutes.js.map +1 -1
- package/dist/cjs/useViteRoutes.native.js +2 -7
- package/dist/cjs/useViteRoutes.native.js.map +2 -2
- package/dist/esm/Root.js +41 -43
- package/dist/esm/Root.js.map +1 -1
- package/dist/esm/Root.mjs +47 -60
- package/dist/esm/Root.mjs.map +1 -1
- package/dist/esm/Root.native.js +40 -54
- package/dist/esm/Root.native.js.map +2 -2
- package/dist/esm/router/router.js.map +1 -1
- package/dist/esm/router/router.mjs.map +1 -1
- package/dist/esm/router/router.native.js.map +1 -1
- package/dist/esm/useScreens.js +3 -25
- package/dist/esm/useScreens.js.map +2 -2
- package/dist/esm/useScreens.mjs +3 -29
- package/dist/esm/useScreens.mjs.map +1 -1
- package/dist/esm/useScreens.native.js +3 -28
- package/dist/esm/useScreens.native.js.map +2 -2
- package/dist/esm/useViteRoutes.js +2 -7
- package/dist/esm/useViteRoutes.js.map +1 -1
- package/dist/esm/useViteRoutes.mjs +1 -8
- package/dist/esm/useViteRoutes.mjs.map +1 -1
- package/dist/esm/useViteRoutes.native.js +2 -7
- package/dist/esm/useViteRoutes.native.js.map +2 -2
- package/package.json +7 -7
- package/src/Root.tsx +76 -83
- package/src/router/router.ts +1 -0
- package/src/useScreens.tsx +55 -51
- package/src/useViteRoutes.tsx +3 -15
- package/types/Root.d.ts +1 -1
- package/types/Root.d.ts.map +1 -1
- package/types/layouts/Drawer.d.ts +2 -2
- package/types/layouts/Stack.d.ts +2 -2
- package/types/layouts/Tabs.d.ts +2 -2
- package/types/router/router.d.ts.map +1 -1
- package/types/useScreens.d.ts.map +1 -1
- package/types/useViteRoutes.d.ts.map +1 -1
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../src/Users/n8/one/packages/one/src/useScreens.tsx"],
|
4
|
-
"mappings": ";;AAAA,SAASA,8BAA8B;AAQvC,OAAOC,SAASC,UAAUC,
|
5
|
-
"names": ["createNavigatorFactory", "React", "Suspense", "useEffect", "
|
4
|
+
"mappings": "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",
|
5
|
+
"names": ["createNavigatorFactory", "React", "Suspense", "useEffect", "Route", "useRouteNode", "sortRoutesWithInitial", "getPageExport", "EmptyRoute", "RootErrorBoundary", "Try", "Screen", "Group", "getSortedChildren", "children", "order", "initialRouteName", "length", "sort", "map", "route", "props", "entries", "ordered", "name", "redirect", "initialParams", "listeners", "options", "getId", "console", "warn", "matchIndex", "findIndex", "child", "param", "match", "splice", "Error", "filter", "Boolean", "push", "useSortedScreens", "node", "sortedScreens", "useMemo", "sorted", "value", "routeToScreen", "fromImport", "ErrorBoundary", "component", "default", "forwardRef", "ref", "createElement", "catch", "process", "env", "NODE_ENV", "exported", "Object", "keys", "qualifiedStore", "WeakMap", "getQualifiedRouteComponent", "has", "get", "ScreenComponent", "res", "loadRoute", "Component", "wrapSuspense", "fallback", "SuspenseFallback", "getLoadable", "segment", "QualifiedRoute", "navigation", "loadable", "displayName", "set", "createGetIdForRoute", "include", "Map", "dynamic", "params", "segments", "_iteratorNormalCompletion", "_didIteratorError", "_iteratorError", "_iterator", "values", "_step", "Array", "isArray", "join", "deep", "contextKey", "key", "args", "staticOptions", "generated", "getNavOptions", "staticResult", "dynamicResult", "output", "tabBarButton", "drawerItemStyle", "height", "display", "getComponent"]
|
6
6
|
}
|
@@ -1,5 +1,3 @@
|
|
1
|
-
import { getLoaderPath } from "./cleanUrl";
|
2
|
-
import { dynamicImport } from "./utils/dynamicImport";
|
3
1
|
let lastVersion = 0, context;
|
4
2
|
function useViteRoutes(routes, options, version) {
|
5
3
|
return version && version > lastVersion && (context = null, lastVersion = version), context || loadRoutes(routes, options), context;
|
@@ -14,11 +12,8 @@ function globbedRoutesToRouteContext(paths, options) {
|
|
14
12
|
console.error(`Error: Missing route at path ${path}`);
|
15
13
|
return;
|
16
14
|
}
|
17
|
-
const loadRouteFunction = paths[path], pathWithoutRelative = path.replace("/app/", "./"),
|
18
|
-
options?.routeModes?.[originalPath] === "spa" ? (console.info(`Spa mode: ${originalPath}`), loadedRoutes[pathWithoutRelative] = () => null) :
|
19
|
-
const realPath = (globalThis.__vxrntodopath ?? window.location.pathname).trim(), importUrl = getLoaderPath(realPath);
|
20
|
-
return dynamicImport(importUrl);
|
21
|
-
} : routesSync[pathWithoutRelative] = loadRouteFunction;
|
15
|
+
const loadRouteFunction = paths[path], pathWithoutRelative = path.replace("/app/", "./"), originalPath = pathWithoutRelative.slice(1).replace(/\.[jt]sx?$/, "");
|
16
|
+
options?.routeModes?.[originalPath] === "spa" ? (console.info(`Spa mode: ${originalPath}`), loadedRoutes[pathWithoutRelative] = () => null) : routesSync[pathWithoutRelative] = loadRouteFunction;
|
22
17
|
});
|
23
18
|
const moduleKeys = Object.keys(routesSync);
|
24
19
|
function resolve(id) {
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../src/useViteRoutes.tsx"],
|
4
|
-
"mappings": "
|
4
|
+
"mappings": "AAKA,IAAI,cAAc,GACd;AAGG,SAAS,cACd,QACA,SACA,SACA;AACA,SAAI,WAAW,UAAU,gBAEvB,UAAU,MACV,cAAc,UAGX,WACH,WAAW,QAAQ,OAAO,GAGrB;AACT;AAEO,SAAS,WAAW,OAA4B,SAA4B;AACjF,SAAI,YACJ,WAAW,sBAAyB,OACpC,UAAU,4BAA4B,OAAO,OAAO,GAC7C;AACT;AAEO,SAAS,4BACd,OACA,SACkB;AAElB,QAAM,aAAa,CAAC,GACd,WAAW,CAAC,GACZ,eAAe,CAAC,GAChB,SAAS,CAAC;AAEhB,SAAO,KAAK,KAAK,EAAE,IAAI,CAAC,SAAS;AAC/B,QAAI,CAAC,MAAM,IAAI,GAAG;AAChB,cAAQ,MAAM,gCAAgC,IAAI,EAAE;AACpD;AAAA,IACF;AACA,UAAM,oBAAoB,MAAM,IAAI,GAC9B,sBAAsB,KAAK,QAAQ,SAAS,IAAI,GAEhD,eAAe,oBAAoB,MAAM,CAAC,EAAE,QAAQ,cAAc,EAAE;AAC1E,IAAI,SAAS,aAAa,YAAY,MAAM,SAC1C,QAAQ,KAAK,aAAa,YAAY,EAAE,GAExC,aAAa,mBAAmB,IAAI,MAC3B,QAGT,WAAW,mBAAmB,IAAI;AAAA,EAEtC,CAAC;AAED,QAAM,aAAa,OAAO,KAAK,UAAU;AAEzC,WAAS,QAAQ,IAAY;AAG3B,QAFA,aAAa,OAAO,EAAE,CAAC,GAEnB,aAAa,EAAE;AACjB,aAAO,aAAa,EAAE;AAGxB,QAAI,OAAO,WAAW,EAAE,KAAM;AAC5B,aAAO,WAAW,EAAE;AAGtB,UAAK,SAAS,EAAE,MACd,SAAS,EAAE,IAAI,WAAW,EAAE,EAAE,EAC3B,KAAK,CAAC,SACL,aAAa,EAAE,IAAI,KACnB,OAAO,SAAS,EAAE,GAGlB,OAAO,EAAE,IAAI,WAAW,MAAM;AAC5B,aAAO,aAAa,EAAE;AAAA,IACxB,GAAG,GAAG,GAEC,IACR,EACA,MAAM,CAAC,QAAQ;AACd,cAAQ,MAAM,uBAAuB,IAAI,KAAK,IAAI,MAAM,EAAE,KAAK,GAC/D,aAAa,EAAE,IAAI;AAAA,QACjB,SAAS,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAkBjB,GACA,OAAO,SAAS,EAAE;AAAA,IACpB,CAAC,GAEC,QAAQ,IAAI,aAAa,kBAC3B,SAAS,EAAE,EAAE,QAAQ,IAAI,MAAM,EAAE,SAO/B,SAAS,EAAE;AAAA,EACnB;AAEA,iBAAQ,OAAO,MAAM,YACrB,QAAQ,KAAK,IACb,QAAQ,UAAU,CAAC,OAAe,IAE3B;AACT;",
|
5
5
|
"names": []
|
6
6
|
}
|
@@ -1,5 +1,3 @@
|
|
1
|
-
import { getLoaderPath } from "./cleanUrl.mjs";
|
2
|
-
import { dynamicImport } from "./utils/dynamicImport.mjs";
|
3
1
|
let lastVersion = 0,
|
4
2
|
context;
|
5
3
|
function useViteRoutes(routes, options, version) {
|
@@ -20,13 +18,8 @@ function globbedRoutesToRouteContext(paths, options) {
|
|
20
18
|
}
|
21
19
|
const loadRouteFunction = paths[path],
|
22
20
|
pathWithoutRelative = path.replace("/app/", "./"),
|
23
|
-
shouldRewrite = typeof window < "u" && window.location && !import.meta.env.PROD,
|
24
21
|
originalPath = pathWithoutRelative.slice(1).replace(/\.[jt]sx?$/, "");
|
25
|
-
options?.routeModes?.[originalPath] === "spa" ? (console.info(`Spa mode: ${originalPath}`), loadedRoutes[pathWithoutRelative] = () => null) :
|
26
|
-
const realPath = (globalThis.__vxrntodopath ?? window.location.pathname).trim(),
|
27
|
-
importUrl = getLoaderPath(realPath);
|
28
|
-
return dynamicImport(importUrl);
|
29
|
-
} : routesSync[pathWithoutRelative] = loadRouteFunction;
|
22
|
+
options?.routeModes?.[originalPath] === "spa" ? (console.info(`Spa mode: ${originalPath}`), loadedRoutes[pathWithoutRelative] = () => null) : routesSync[pathWithoutRelative] = loadRouteFunction;
|
30
23
|
});
|
31
24
|
const moduleKeys = Object.keys(routesSync);
|
32
25
|
function resolve(id) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["lastVersion","context","useViteRoutes","routes","options","version","loadRoutes","paths","globalThis","__importMetaGlobbed","globbedRoutesToRouteContext","routesSync","promises","loadedRoutes","clears","Object","keys","map","path","console","error","loadRouteFunction","pathWithoutRelative","replace","originalPath","slice","routeModes","info","moduleKeys","resolve","id","clearTimeout","then","val","setTimeout","catch","err","Error","stack","default","process","env","NODE_ENV"],"sources":["../../src/useViteRoutes.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
@@ -1,5 +1,3 @@
|
|
1
|
-
import { getLoaderPath } from "./cleanUrl";
|
2
|
-
import { dynamicImport } from "./utils/dynamicImport";
|
3
1
|
var lastVersion = 0, context;
|
4
2
|
function useViteRoutes(routes, options, version) {
|
5
3
|
return version && version > lastVersion && (context = null, lastVersion = version), context || loadRoutes(routes, options), context;
|
@@ -15,13 +13,10 @@ function globbedRoutesToRouteContext(paths, options) {
|
|
15
13
|
console.error(`Error: Missing route at path ${path}`);
|
16
14
|
return;
|
17
15
|
}
|
18
|
-
var loadRouteFunction = paths[path], pathWithoutRelative = path.replace("/app/", "./"),
|
16
|
+
var loadRouteFunction = paths[path], pathWithoutRelative = path.replace("/app/", "./"), originalPath = pathWithoutRelative.slice(1).replace(/\.[jt]sx?$/, "");
|
19
17
|
(options == null || (_options_routeModes = options.routeModes) === null || _options_routeModes === void 0 ? void 0 : _options_routeModes[originalPath]) === "spa" ? (console.info(`Spa mode: ${originalPath}`), loadedRoutes[pathWithoutRelative] = function() {
|
20
18
|
return null;
|
21
|
-
}) :
|
22
|
-
var _globalThis___vxrntodopath, realPath = ((_globalThis___vxrntodopath = globalThis.__vxrntodopath) !== null && _globalThis___vxrntodopath !== void 0 ? _globalThis___vxrntodopath : window.location.pathname).trim(), importUrl = getLoaderPath(realPath);
|
23
|
-
return dynamicImport(importUrl);
|
24
|
-
} : routesSync[pathWithoutRelative] = loadRouteFunction;
|
19
|
+
}) : routesSync[pathWithoutRelative] = loadRouteFunction;
|
25
20
|
});
|
26
21
|
var moduleKeys = Object.keys(routesSync);
|
27
22
|
function resolve(id) {
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../src/Users/n8/one/packages/one/src/useViteRoutes.tsx"],
|
4
|
-
"mappings": "
|
5
|
-
"names": ["
|
4
|
+
"mappings": "AAKA,IAAIA,cAAc,GACdC;AAGG,SAASC,cACdC,QACAC,SACAC,SAAgB;AAEhB,SAAIA,WAAWA,UAAUL,gBAEvBC,UAAU,MACVD,cAAcK,UAGXJ,WACHK,WAAWH,QAAQC,OAAAA,GAGdH;AACT;AAEO,SAASK,WAAWC,OAA4BH,SAA0B;AAC/E,SAAIH,YACJO,WAAW,sBAAyBD,OACpCN,UAAUQ,4BAA4BF,OAAOH,OAAAA,GACtCH;AACT;AAEO,SAASQ,4BACdF,OACAH,SAA0B;AAG1B,MAAMM,aAAa,CAAC,GACdC,WAAW,CAAC,GACZC,eAAe,CAAC,GAChBC,SAAS,CAAC;AAEhBC,SAAOC,KAAKR,KAAAA,EAAOS,IAAI,SAACC,MAAAA;QASlBb;AARJ,QAAI,CAACG,MAAMU,IAAAA,GAAO;AAChBC,cAAQC,MAAM,gCAAgCF,IAAAA,EAAM;AACpD;IACF;AACA,QAAMG,oBAAoBb,MAAMU,IAAAA,GAC1BI,sBAAsBJ,KAAKK,QAAQ,SAAS,IAAA,GAE5CC,eAAeF,oBAAoBG,MAAM,CAAA,EAAGF,QAAQ,cAAc,EAAA;AACxE,KAAIlB,WAAAA,SAAAA,sBAAAA,QAASqB,gBAAU,QAAnBrB,wBAAAA,SAAAA,SAAAA,oBAAsBmB,YAAAA,OAAkB,SAC1CL,QAAQQ,KAAK,aAAaH,YAAAA,EAAc,GAExCX,aAAaS,mBAAAA,IAAuB,WAAA;AAClC,aAAO;IACT,KAEAX,WAAWW,mBAAAA,IAAuBD;EAEtC,CAAA;AAEA,MAAMO,aAAab,OAAOC,KAAKL,UAAAA;AAE/B,WAASkB,QAAQC,IAAU;AAGzB,QAFAC,aAAajB,OAAOgB,EAAAA,CAAG,GAEnBjB,aAAaiB,EAAAA;AACf,aAAOjB,aAAaiB,EAAAA;AAGtB,QAAI,OAAOnB,WAAWmB,EAAAA,KAAQ;AAC5B,aAAOnB,WAAWmB,EAAAA;AAGpB,UAAKlB,SAASkB,EAAAA,MACZlB,SAASkB,EAAAA,IAAMnB,WAAWmB,EAAAA,EAAG,EAC1BE,KAAK,SAACC,KAAAA;AACLpB,0BAAaiB,EAAAA,IAAMG,KACnB,OAAOrB,SAASkB,EAAAA,GAGhBhB,OAAOgB,EAAAA,IAAMI,WAAW,WAAA;AACtB,eAAOrB,aAAaiB,EAAAA;MACtB,GAAG,GAAA,GAEIG;IACT,CAAA,EACCE,MAAM,SAACC,KAAAA;AACNjB,cAAQC,MAAM,uBAAuBU,IAAIM,KAAK,IAAIC,MAAAA,EAAQC,KAAK,GAC/DzB,aAAaiB,EAAAA,IAAM;QACjBS,SAAS,WAAA;iBAAM;;MAkBjB,GACA,OAAO3B,SAASkB,EAAAA;IAClB,CAAA,GAEEU,QAAQC,IAAIC,aAAa,kBAC3B9B,SAASkB,EAAAA,EAAIQ,QAAQ,IAAID,MAAAA,EAAQC,SAO/B1B,SAASkB,EAAAA;EACjB;AAEAD,iBAAQb,OAAO,WAAA;WAAMY;KACrBC,QAAQC,KAAK,IACbD,QAAQA,UAAU,SAACC,IAAAA;WAAeA;KAE3BD;AACT;",
|
5
|
+
"names": ["lastVersion", "context", "useViteRoutes", "routes", "options", "version", "loadRoutes", "paths", "globalThis", "globbedRoutesToRouteContext", "routesSync", "promises", "loadedRoutes", "clears", "Object", "keys", "map", "path", "console", "error", "loadRouteFunction", "pathWithoutRelative", "replace", "originalPath", "slice", "routeModes", "info", "moduleKeys", "resolve", "id", "clearTimeout", "then", "val", "setTimeout", "catch", "err", "Error", "stack", "default", "process", "env", "NODE_ENV"]
|
6
6
|
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "one",
|
3
|
-
"version": "1.1.
|
3
|
+
"version": "1.1.342",
|
4
4
|
"source": "src/index.ts",
|
5
5
|
"types": "./types/index.d.ts",
|
6
6
|
"sideEffects": false,
|
@@ -97,14 +97,14 @@
|
|
97
97
|
"@react-navigation/routers": "~6.1.9",
|
98
98
|
"@swc/core": "^1.7.14",
|
99
99
|
"@ungap/structured-clone": "^1.2.0",
|
100
|
-
"@vxrn/resolve": "1.1.
|
101
|
-
"@vxrn/tslib-lite": "1.1.
|
102
|
-
"@vxrn/universal-color-scheme": "1.1.
|
103
|
-
"@vxrn/use-isomorphic-layout-effect": "1.1.
|
100
|
+
"@vxrn/resolve": "1.1.342",
|
101
|
+
"@vxrn/tslib-lite": "1.1.342",
|
102
|
+
"@vxrn/universal-color-scheme": "1.1.342",
|
103
|
+
"@vxrn/use-isomorphic-layout-effect": "1.1.342",
|
104
104
|
"babel-dead-code-elimination": "^1.0.6",
|
105
105
|
"citty": "^0.1.6",
|
106
106
|
"core-js": "^3.38.1",
|
107
|
-
"create-vxrn": "1.1.
|
107
|
+
"create-vxrn": "1.1.342",
|
108
108
|
"escape-string-regexp": "^5.0.0",
|
109
109
|
"expo-linking": "~6.3.1",
|
110
110
|
"expo-modules-core": "^1.12.24",
|
@@ -126,7 +126,7 @@
|
|
126
126
|
"url-parse": "^1.5.10",
|
127
127
|
"vite": "6.0.0-beta.1",
|
128
128
|
"vite-tsconfig-paths": "^5.0.1",
|
129
|
-
"vxrn": "1.1.
|
129
|
+
"vxrn": "1.1.342",
|
130
130
|
"ws": "^8.18.0",
|
131
131
|
"xxhashjs": "^0.2.2"
|
132
132
|
},
|
package/src/Root.tsx
CHANGED
@@ -1,24 +1,23 @@
|
|
1
|
-
import {
|
2
|
-
import type { GlobbedRouteImports, RenderAppProps } from './types'
|
3
|
-
import { useViteRoutes } from './useViteRoutes'
|
4
|
-
import { RootErrorBoundary } from './views/RootErrorBoundary'
|
5
|
-
import { GestureHandlerRootView as _GestureHandlerRootView } from 'react-native-gesture-handler'
|
1
|
+
import { SafeAreaProviderCompat } from '@react-navigation/elements'
|
6
2
|
import {
|
7
3
|
DarkTheme,
|
8
4
|
DefaultTheme,
|
9
5
|
type NavigationAction,
|
10
6
|
type NavigationContainerProps,
|
11
7
|
} from '@react-navigation/native'
|
12
|
-
import { SafeAreaProviderCompat } from '@react-navigation/elements'
|
13
8
|
import { useColorScheme } from '@vxrn/universal-color-scheme'
|
9
|
+
import { Fragment, useEffect, useState, type FunctionComponent, type ReactNode } from 'react'
|
14
10
|
import UpstreamNavigationContainer from './fork/NavigationContainer'
|
11
|
+
import { getURL } from './getURL'
|
15
12
|
import { ServerLocationContext } from './router/serverLocationContext'
|
16
13
|
import { useInitializeOneRouter } from './router/useInitializeOneRouter'
|
14
|
+
import type { GlobbedRouteImports, RenderAppProps } from './types'
|
15
|
+
import { useViteRoutes } from './useViteRoutes'
|
16
|
+
import { rand } from './utils/rand'
|
17
17
|
import { PreloadLinks } from './views/PreloadLinks'
|
18
|
+
import { RootErrorBoundary } from './views/RootErrorBoundary'
|
18
19
|
import { ScrollRestoration } from './views/ScrollRestoration'
|
19
20
|
import type { One } from './vite/types'
|
20
|
-
import { rand } from './utils/rand'
|
21
|
-
import { getURL } from './getURL'
|
22
21
|
// import { SplashScreen } from './views/Splash'
|
23
22
|
|
24
23
|
if (typeof window !== 'undefined') {
|
@@ -54,19 +53,83 @@ type InnerProps = {
|
|
54
53
|
}
|
55
54
|
|
56
55
|
export function Root(props: RootProps) {
|
56
|
+
const {
|
57
|
+
path,
|
58
|
+
routes,
|
59
|
+
routeOptions,
|
60
|
+
wrapper: ParentWrapper = Fragment,
|
61
|
+
isClient,
|
62
|
+
css,
|
63
|
+
navigationContainerProps,
|
64
|
+
loaderProps,
|
65
|
+
mode,
|
66
|
+
} = props
|
67
|
+
|
57
68
|
// ⚠️ <StrictMode> breaks routing!
|
69
|
+
const context = useViteRoutes(routes, routeOptions, globalThis['__vxrnVersion'])
|
70
|
+
const location =
|
71
|
+
typeof window !== 'undefined' && window.location
|
72
|
+
? new URL(path || window.location.href || '/', window.location.href)
|
73
|
+
: new URL(path || '/', getURL())
|
74
|
+
|
75
|
+
const store = useInitializeOneRouter(context, location)
|
76
|
+
const [colorScheme] = useColorScheme()
|
77
|
+
|
78
|
+
// const headContext = useMemo(() => globalThis['vxrn__headContext__'] || {}, [])
|
79
|
+
|
80
|
+
/*
|
81
|
+
* Due to static rendering we need to wrap these top level views in second wrapper
|
82
|
+
* View's like <GestureHandlerRootView /> generate a <div> so if the parent wrapper
|
83
|
+
* is a HTML document, we need to ensure its inside the <body>
|
84
|
+
*/
|
85
|
+
const wrapper = (children: any) => {
|
86
|
+
return (
|
87
|
+
<ParentWrapper>
|
88
|
+
{/* default scroll restoration to on, but users can configure it by importing and using themselves */}
|
89
|
+
<ScrollRestoration />
|
90
|
+
{/* <GestureHandlerRootView> */}
|
91
|
+
<SafeAreaProviderCompat>
|
92
|
+
{children}
|
93
|
+
|
94
|
+
{/* Users can override this by adding another StatusBar element anywhere higher in the component tree. */}
|
95
|
+
{/* {!hasViewControllerBasedStatusBarAppearance && <StatusBar style="auto" />} */}
|
96
|
+
</SafeAreaProviderCompat>
|
97
|
+
{/* </GestureHandlerRootView> */}
|
98
|
+
</ParentWrapper>
|
99
|
+
)
|
100
|
+
}
|
101
|
+
|
102
|
+
const Component = store.rootComponent
|
103
|
+
|
104
|
+
if (!Component) {
|
105
|
+
throw new Error(`No root component found`)
|
106
|
+
}
|
58
107
|
|
59
108
|
const contents = (
|
60
109
|
// <StrictMode>
|
61
110
|
<RootErrorBoundary>
|
62
111
|
{/* for some reason warning if no key here */}
|
63
|
-
<
|
112
|
+
<UpstreamNavigationContainer
|
113
|
+
ref={store.navigationRef}
|
114
|
+
initialState={store.initialState}
|
115
|
+
linking={store.linking}
|
116
|
+
onUnhandledAction={onUnhandledAction}
|
117
|
+
theme={colorScheme === 'dark' ? DarkTheme : DefaultTheme}
|
118
|
+
documentTitle={{
|
119
|
+
enabled: false,
|
120
|
+
}}
|
121
|
+
{...navigationContainerProps}
|
122
|
+
>
|
123
|
+
<ServerLocationContext.Provider value={location}>
|
124
|
+
{wrapper(<Component />)}
|
125
|
+
</ServerLocationContext.Provider>
|
126
|
+
</UpstreamNavigationContainer>
|
64
127
|
<PreloadLinks key="preload-links" />
|
65
128
|
</RootErrorBoundary>
|
66
129
|
// </StrictMode>
|
67
130
|
)
|
68
131
|
|
69
|
-
if (
|
132
|
+
if (isClient) {
|
70
133
|
if (globalThis['__vxrnHydrateMode__'] === 'spa') {
|
71
134
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
72
135
|
const [show, setShow] = useState(false)
|
@@ -99,7 +162,7 @@ export function Root(props: RootProps) {
|
|
99
162
|
}}
|
100
163
|
/>
|
101
164
|
|
102
|
-
{
|
165
|
+
{css?.map((file) => {
|
103
166
|
return <link key={file} rel="stylesheet" href={file} />
|
104
167
|
})}
|
105
168
|
</head>
|
@@ -113,8 +176,8 @@ export function Root(props: RootProps) {
|
|
113
176
|
__html: `
|
114
177
|
globalThis['__vxrnPostRenderData__'] = { __vxrn__: 'post-render' };
|
115
178
|
globalThis['__vxrnLoaderData__'] = ${JSON.stringify(loaderData)};
|
116
|
-
globalThis['__vxrnLoaderProps__'] = ${JSON.stringify(
|
117
|
-
globalThis['__vxrnHydrateMode__'] = ${JSON.stringify(
|
179
|
+
globalThis['__vxrnLoaderProps__'] = ${JSON.stringify(loaderProps)};
|
180
|
+
globalThis['__vxrnHydrateMode__'] = ${JSON.stringify(mode)};
|
118
181
|
`,
|
119
182
|
}}
|
120
183
|
/>
|
@@ -154,18 +217,6 @@ window.$RefreshSig$ = () => (type) => type;`,
|
|
154
217
|
)
|
155
218
|
}
|
156
219
|
|
157
|
-
function Contents({ routes, path, wrapper = Fragment, routeOptions, ...props }: RootProps) {
|
158
|
-
const context = useViteRoutes(routes, routeOptions, globalThis['__vxrnVersion'])
|
159
|
-
|
160
|
-
// TODO can probably remove since we handle this above
|
161
|
-
const location =
|
162
|
-
typeof window !== 'undefined' && window.location
|
163
|
-
? new URL(path || window.location.href || '/', window.location.href)
|
164
|
-
: new URL(path || '/', getURL())
|
165
|
-
|
166
|
-
return <ContextNavigator {...props} location={location} context={context} wrapper={wrapper} />
|
167
|
-
}
|
168
|
-
|
169
220
|
// function getGestureHandlerRootView() {
|
170
221
|
// if (process.env.TAMAGUI_TARGET === 'native') {
|
171
222
|
// try {
|
@@ -201,64 +252,6 @@ function Contents({ routes, path, wrapper = Fragment, routeOptions, ...props }:
|
|
201
252
|
// Platform.OS === 'ios' &&
|
202
253
|
// !!Constants.expoConfig?.ios?.infoPlist?.UIViewControllerBasedStatusBarAppearance
|
203
254
|
|
204
|
-
function ContextNavigator({
|
205
|
-
wrapper: ParentWrapper = Fragment,
|
206
|
-
context,
|
207
|
-
location: initialLocation,
|
208
|
-
navigationContainerProps,
|
209
|
-
}: InnerProps) {
|
210
|
-
const store = useInitializeOneRouter(context, initialLocation)
|
211
|
-
const [colorScheme] = useColorScheme()
|
212
|
-
|
213
|
-
// const headContext = useMemo(() => globalThis['vxrn__headContext__'] || {}, [])
|
214
|
-
|
215
|
-
/*
|
216
|
-
* Due to static rendering we need to wrap these top level views in second wrapper
|
217
|
-
* View's like <GestureHandlerRootView /> generate a <div> so if the parent wrapper
|
218
|
-
* is a HTML document, we need to ensure its inside the <body>
|
219
|
-
*/
|
220
|
-
const wrapper = (children: any) => {
|
221
|
-
return (
|
222
|
-
<ParentWrapper>
|
223
|
-
{/* default scroll restoration to on, but users can configure it by importing and using themselves */}
|
224
|
-
<ScrollRestoration />
|
225
|
-
{/* <GestureHandlerRootView> */}
|
226
|
-
<SafeAreaProviderCompat>
|
227
|
-
{children}
|
228
|
-
|
229
|
-
{/* Users can override this by adding another StatusBar element anywhere higher in the component tree. */}
|
230
|
-
{/* {!hasViewControllerBasedStatusBarAppearance && <StatusBar style="auto" />} */}
|
231
|
-
</SafeAreaProviderCompat>
|
232
|
-
{/* </GestureHandlerRootView> */}
|
233
|
-
</ParentWrapper>
|
234
|
-
)
|
235
|
-
}
|
236
|
-
|
237
|
-
const Component = store.rootComponent
|
238
|
-
|
239
|
-
if (!Component) {
|
240
|
-
throw new Error(`No root component found`)
|
241
|
-
}
|
242
|
-
|
243
|
-
return (
|
244
|
-
<UpstreamNavigationContainer
|
245
|
-
ref={store.navigationRef}
|
246
|
-
initialState={store.initialState}
|
247
|
-
linking={store.linking}
|
248
|
-
onUnhandledAction={onUnhandledAction}
|
249
|
-
theme={colorScheme === 'dark' ? DarkTheme : DefaultTheme}
|
250
|
-
documentTitle={{
|
251
|
-
enabled: false,
|
252
|
-
}}
|
253
|
-
{...navigationContainerProps}
|
254
|
-
>
|
255
|
-
<ServerLocationContext.Provider value={initialLocation}>
|
256
|
-
{wrapper(<Component />)}
|
257
|
-
</ServerLocationContext.Provider>
|
258
|
-
</UpstreamNavigationContainer>
|
259
|
-
)
|
260
|
-
}
|
261
|
-
|
262
255
|
let onUnhandledAction: (action: NavigationAction) => void
|
263
256
|
|
264
257
|
if (process.env.NODE_ENV !== 'production') {
|
package/src/router/router.ts
CHANGED
package/src/useScreens.tsx
CHANGED
@@ -6,7 +6,7 @@ import type {
|
|
6
6
|
RouteProp,
|
7
7
|
ScreenListeners,
|
8
8
|
} from '@react-navigation/native'
|
9
|
-
import React, { Suspense, useEffect
|
9
|
+
import React, { Suspense, useEffect } from 'react'
|
10
10
|
import {
|
11
11
|
Route,
|
12
12
|
useRouteNode,
|
@@ -14,12 +14,11 @@ import {
|
|
14
14
|
type LoadedRoute,
|
15
15
|
type RouteNode,
|
16
16
|
} from './Route'
|
17
|
-
import One_ROUTER_IMPORT_MODE from './import-mode'
|
18
17
|
import { sortRoutesWithInitial } from './sortRoutes'
|
18
|
+
import { getPageExport } from './utils/getPageExport'
|
19
19
|
import { EmptyRoute } from './views/EmptyRoute'
|
20
20
|
import { RootErrorBoundary } from './views/RootErrorBoundary'
|
21
21
|
import { Try } from './views/Try'
|
22
|
-
import { getPageExport } from './utils/getPageExport'
|
23
22
|
|
24
23
|
// `@react-navigation/core` does not expose the Screen or Group components directly, so we have to
|
25
24
|
// do this hack.
|
@@ -157,54 +156,55 @@ export function getQualifiedRouteComponent(value: RouteNode) {
|
|
157
156
|
|
158
157
|
let ScreenComponent: React.ForwardRefExoticComponent<React.RefAttributes<unknown>>
|
159
158
|
|
160
|
-
if (One_ROUTER_IMPORT_MODE === 'lazy') {
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
159
|
+
// if (One_ROUTER_IMPORT_MODE === 'lazy') {
|
160
|
+
// ScreenComponent = React.forwardRef((props, ref) => {
|
161
|
+
// // for native avoid suspense for now
|
162
|
+
// const [loaded, setLoaded] = useState<any>(null)
|
163
|
+
|
164
|
+
// useEffect(() => {
|
165
|
+
// try {
|
166
|
+
// const found = value.loadRoute()
|
167
|
+
// if (found) {
|
168
|
+
// setLoaded(found)
|
169
|
+
// }
|
170
|
+
// } catch (err) {
|
171
|
+
// if (err instanceof Promise) {
|
172
|
+
// err
|
173
|
+
// .then((res) => {
|
174
|
+
// setLoaded(res)
|
175
|
+
// })
|
176
|
+
// .catch((err) => {
|
177
|
+
// console.error(`Error loading route`, err)
|
178
|
+
// })
|
179
|
+
// } else {
|
180
|
+
// setLoaded(err as any)
|
181
|
+
// }
|
182
|
+
// }
|
183
|
+
// }, [])
|
184
|
+
|
185
|
+
// if (loaded) {
|
186
|
+
// const Component = getPageExport(fromImport(loaded)) as React.ComponentType<any>
|
187
|
+
// return (
|
188
|
+
// // <Suspense fallback={null}>
|
189
|
+
// <Component {...props} ref={ref} />
|
190
|
+
// // </Suspense>
|
191
|
+
// )
|
192
|
+
// }
|
193
|
+
|
194
|
+
// return null
|
195
|
+
// })
|
196
|
+
// } else {
|
197
|
+
ScreenComponent = React.forwardRef((props, ref) => {
|
198
|
+
const res = value.loadRoute()
|
199
|
+
const Component = getPageExport(fromImport(res)) as React.ComponentType<any>
|
194
200
|
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
// <Suspense fallback={null}>
|
203
|
-
<Component {...props} ref={ref} />
|
204
|
-
// </Suspense>
|
205
|
-
)
|
206
|
-
})
|
207
|
-
}
|
201
|
+
return (
|
202
|
+
// <Suspense fallback={null}>
|
203
|
+
<Component {...props} ref={ref} />
|
204
|
+
// </Suspense>
|
205
|
+
)
|
206
|
+
})
|
207
|
+
// }
|
208
208
|
|
209
209
|
const wrapSuspense = (children: any) => {
|
210
210
|
if (process.env.TAMAGUI_TARGET === 'native') {
|
@@ -328,7 +328,11 @@ function routeToScreen(route: RouteNode, { options, ...props }: Partial<ScreenPr
|
|
328
328
|
|
329
329
|
return output
|
330
330
|
}}
|
331
|
-
getComponent={() =>
|
331
|
+
getComponent={() => {
|
332
|
+
// log here to see which route is rendered
|
333
|
+
// console.log('getting', route, getQualifiedRouteComponent(route))
|
334
|
+
return getQualifiedRouteComponent(route)
|
335
|
+
}}
|
332
336
|
/>
|
333
337
|
)
|
334
338
|
}
|
package/src/useViteRoutes.tsx
CHANGED
@@ -1,6 +1,4 @@
|
|
1
|
-
import { getLoaderPath } from './cleanUrl'
|
2
1
|
import type { GlobbedRouteImports } from './types'
|
3
|
-
import { dynamicImport } from './utils/dynamicImport'
|
4
2
|
import type { One } from './vite/types'
|
5
3
|
|
6
4
|
// essentially a development helper
|
@@ -51,7 +49,6 @@ export function globbedRoutesToRouteContext(
|
|
51
49
|
}
|
52
50
|
const loadRouteFunction = paths[path]
|
53
51
|
const pathWithoutRelative = path.replace('/app/', './')
|
54
|
-
const shouldRewrite = typeof window !== 'undefined' && window.location && !import.meta.env.PROD
|
55
52
|
|
56
53
|
const originalPath = pathWithoutRelative.slice(1).replace(/\.[jt]sx?$/, '')
|
57
54
|
if (options?.routeModes?.[originalPath] === 'spa') {
|
@@ -60,18 +57,6 @@ export function globbedRoutesToRouteContext(
|
|
60
57
|
loadedRoutes[pathWithoutRelative] = () => {
|
61
58
|
return null
|
62
59
|
}
|
63
|
-
}
|
64
|
-
// TODO this entire conditional seems like it can go away
|
65
|
-
else if (shouldRewrite) {
|
66
|
-
// for SSR support we rewrite these:
|
67
|
-
routesSync[pathWithoutRelative] =
|
68
|
-
path.includes('+not-found') || path.includes('_layout.') || path.includes('+spa')
|
69
|
-
? loadRouteFunction
|
70
|
-
: () => {
|
71
|
-
const realPath = (globalThis['__vxrntodopath'] ?? window.location.pathname).trim()
|
72
|
-
const importUrl = getLoaderPath(realPath)
|
73
|
-
return dynamicImport(importUrl)
|
74
|
-
}
|
75
60
|
} else {
|
76
61
|
routesSync[pathWithoutRelative] = loadRouteFunction
|
77
62
|
}
|
@@ -81,12 +66,15 @@ export function globbedRoutesToRouteContext(
|
|
81
66
|
|
82
67
|
function resolve(id: string) {
|
83
68
|
clearTimeout(clears[id])
|
69
|
+
|
84
70
|
if (loadedRoutes[id]) {
|
85
71
|
return loadedRoutes[id]
|
86
72
|
}
|
73
|
+
|
87
74
|
if (typeof routesSync[id] !== 'function') {
|
88
75
|
return routesSync[id]
|
89
76
|
}
|
77
|
+
|
90
78
|
if (!promises[id]) {
|
91
79
|
promises[id] = routesSync[id]()
|
92
80
|
.then((val: any) => {
|
package/types/Root.d.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
+
import { type NavigationContainerProps } from '@react-navigation/native';
|
1
2
|
import { type FunctionComponent, type ReactNode } from 'react';
|
2
3
|
import type { GlobbedRouteImports, RenderAppProps } from './types';
|
3
|
-
import { type NavigationContainerProps } from '@react-navigation/native';
|
4
4
|
import type { One } from './vite/types';
|
5
5
|
type RootProps = RenderAppProps & Omit<InnerProps, 'context'> & {
|
6
6
|
mode?: One.RouteRenderMode;
|