one 1.2.18 → 1.2.20
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/createHandleRequest.cjs +7 -2
- package/dist/cjs/createHandleRequest.js +8 -3
- package/dist/cjs/createHandleRequest.js.map +1 -1
- package/dist/cjs/createHandleRequest.native.js +8 -2
- package/dist/cjs/createHandleRequest.native.js.map +1 -1
- package/dist/cjs/experimental-useLoaderState.cjs +64 -0
- package/dist/cjs/experimental-useLoaderState.js +44 -0
- package/dist/cjs/experimental-useLoaderState.js.map +6 -0
- package/dist/cjs/experimental-useLoaderState.native.js +69 -0
- package/dist/cjs/experimental-useLoaderState.native.js.map +1 -0
- package/dist/cjs/index.cjs +1 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.native.js +1 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/router/router.cjs +35 -5
- package/dist/cjs/router/router.js +26 -5
- package/dist/cjs/router/router.js.map +1 -1
- package/dist/cjs/router/router.native.js +32 -5
- package/dist/cjs/router/router.native.js.map +1 -1
- package/dist/cjs/server/oneServe.cjs +8 -6
- package/dist/cjs/server/oneServe.js +10 -5
- package/dist/cjs/server/oneServe.js.map +1 -1
- package/dist/cjs/server/oneServe.native.js +8 -6
- package/dist/cjs/server/oneServe.native.js.map +1 -1
- package/dist/cjs/useLoader.cjs +117 -36
- package/dist/cjs/useLoader.js +108 -33
- package/dist/cjs/useLoader.js.map +2 -2
- package/dist/cjs/useLoader.native.js +151 -55
- package/dist/cjs/useLoader.native.js.map +1 -1
- package/dist/cjs/utils/cleanUrl.cjs +6 -5
- package/dist/cjs/utils/cleanUrl.js +4 -8
- package/dist/cjs/utils/cleanUrl.js.map +1 -1
- package/dist/cjs/utils/cleanUrl.native.js +6 -3
- package/dist/cjs/utils/cleanUrl.native.js.map +1 -1
- package/dist/esm/createHandleRequest.js +8 -3
- package/dist/esm/createHandleRequest.js.map +1 -1
- package/dist/esm/createHandleRequest.mjs +7 -2
- package/dist/esm/createHandleRequest.mjs.map +1 -1
- package/dist/esm/createHandleRequest.native.js +8 -2
- package/dist/esm/createHandleRequest.native.js.map +1 -1
- package/dist/esm/experimental-useLoaderState.js +32 -0
- package/dist/esm/experimental-useLoaderState.js.map +6 -0
- package/dist/esm/experimental-useLoaderState.mjs +41 -0
- package/dist/esm/experimental-useLoaderState.mjs.map +1 -0
- package/dist/esm/experimental-useLoaderState.native.js +43 -0
- package/dist/esm/experimental-useLoaderState.native.js.map +1 -0
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +2 -2
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +2 -2
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/router/router.js +26 -5
- package/dist/esm/router/router.js.map +1 -1
- package/dist/esm/router/router.mjs +35 -5
- package/dist/esm/router/router.mjs.map +1 -1
- package/dist/esm/router/router.native.js +32 -5
- package/dist/esm/router/router.native.js.map +1 -1
- package/dist/esm/server/oneServe.js +10 -5
- package/dist/esm/server/oneServe.js.map +1 -1
- package/dist/esm/server/oneServe.mjs +7 -5
- package/dist/esm/server/oneServe.mjs.map +1 -1
- package/dist/esm/server/oneServe.native.js +7 -5
- package/dist/esm/server/oneServe.native.js.map +1 -1
- package/dist/esm/useLoader.js +110 -35
- package/dist/esm/useLoader.js.map +2 -2
- package/dist/esm/useLoader.mjs +117 -38
- package/dist/esm/useLoader.mjs.map +1 -1
- package/dist/esm/useLoader.native.js +151 -57
- package/dist/esm/useLoader.native.js.map +1 -1
- package/dist/esm/utils/cleanUrl.js +4 -8
- package/dist/esm/utils/cleanUrl.js.map +1 -1
- package/dist/esm/utils/cleanUrl.mjs +6 -5
- package/dist/esm/utils/cleanUrl.mjs.map +1 -1
- package/dist/esm/utils/cleanUrl.native.js +6 -3
- package/dist/esm/utils/cleanUrl.native.js.map +1 -1
- package/package.json +10 -10
- package/src/createHandleRequest.ts +6 -2
- package/src/index.ts +1 -1
- package/src/router/router.ts +45 -0
- package/src/server/oneServe.ts +12 -6
- package/src/types.ts +1 -0
- package/src/useLoader.ts +206 -90
- package/src/utils/cleanUrl.ts +7 -10
- package/types/createHandleRequest.d.ts.map +1 -1
- package/types/experimental-useLoaderState.d.ts.map +1 -0
- package/types/index.d.ts +1 -1
- package/types/index.d.ts.map +1 -1
- package/types/router/router.d.ts.map +1 -1
- package/types/server/oneServe.d.ts.map +1 -1
- package/types/types.d.ts +1 -0
- package/types/types.d.ts.map +1 -1
- package/types/useLoader.d.ts +9 -0
- package/types/useLoader.d.ts.map +1 -1
- package/types/utils/cleanUrl.d.ts +1 -1
- package/types/utils/cleanUrl.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useCallback","useSyncExternalStore","useParams","usePathname","resolveHref","preloadingLoader","getLoaderPath","dynamicImport","weakKey","useServerContext","_instanceof","left","right","Symbol","hasInstance","loaderState","subscribers","Set","updateState","path","updates","forEach","callback","subscribe","add","delete","getLoaderState","preloadedData2","data","error","promise","state","hasLoadedOnce","refetchLoader","pathname2","cacheBust","Date","now","loaderJSUrl2","module2","result2","loader","timestamp","err","useLoaderState","loaderProps","loaderPropsFromServerContext","loaderData","loaderDataFromServerContext","params","pathname","currentPath","replace","window","serverData","useAsyncFn","refetch","preloadedData","loaderStateEntry","then","val","catch","console","loadData","loaderJSUrl","nativeLoaderJSUrl","loaderJsCodeResp","fetch","ok","Error","status","loaderJsCode","text","result","eval","e","module"],"sources":["../../src/useLoader.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -13,16 +13,12 @@ const isClient = typeof window < "u", clientSideURL = isClient ? getURL() : "";
|
|
|
13
13
|
function getPreloadPath(currentPath) {
|
|
14
14
|
return `${clientSideURL}/assets/${cleanUrl(currentPath.slice(1))}${PRELOAD_JS_POSTFIX}`;
|
|
15
15
|
}
|
|
16
|
-
function getLoaderPath(currentPath, includeUrl = isNative) {
|
|
17
|
-
const baseURL = includeUrl ? getURL() : "", devPath = process.env.NODE_ENV === "development" ? "/_one" : "", currentPathUrl = new URL(
|
|
18
|
-
|
|
19
|
-
"http://example.com"
|
|
20
|
-
/* not important, just for `new URL()` to work */
|
|
21
|
-
);
|
|
22
|
-
return `${baseURL}${devPath}/assets/${cleanUrl(currentPathUrl.pathname.slice(1))}${LOADER_JS_POSTFIX}`;
|
|
16
|
+
function getLoaderPath(currentPath, includeUrl = isNative, cacheBust) {
|
|
17
|
+
const baseURL = includeUrl ? getURL() : "", devPath = process.env.NODE_ENV === "development" ? "/_one" : "", currentPathUrl = new URL(currentPath, "http://example.com"), cleanedUrl = cleanUrl(currentPathUrl.pathname.slice(1)), cacheBustSegment = cacheBust ? `_refetch_${cacheBust}_` : "";
|
|
18
|
+
return `${baseURL}${devPath}/assets/${cleanedUrl}${cacheBustSegment}${LOADER_JS_POSTFIX}`;
|
|
23
19
|
}
|
|
24
20
|
function getPathFromLoaderPath(loaderPath) {
|
|
25
|
-
return loaderPath.replace(LOADER_JS_POSTFIX_REGEX, "").replace(/^(\/_one)?\/assets/, "").replaceAll(/_/g, "/");
|
|
21
|
+
return loaderPath.replace(LOADER_JS_POSTFIX_REGEX, "").replace(/^(\/_one)?\/assets/, "").replace(/_refetch_\d+_/, "").replaceAll(/_/g, "/");
|
|
26
22
|
}
|
|
27
23
|
export {
|
|
28
24
|
getLoaderPath,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/utils/cleanUrl.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,cAAc;AACvB,SAAS,oBAAoB;AAE7B,SAAS,SAAS,MAAc;AAC9B,SACE,aAAa,IAAI,EACd,WAAW,KAAK,GAAG,EAEnB,QAAQ,MAAM,EAAE;AAEvB;AAEA,MAAM,WAAW,OAAO,SAAW,KAC7B,gBAAgB,WAAW,OAAO,IAAI;AAErC,SAAS,eAAe,aAAqB;AAClD,SAAO,GAAG,aAAa,WAAW,SAAS,YAAY,MAAM,CAAC,CAAC,CAAC,GAAG,kBAAkB;AACvF;AAEO,SAAS,
|
|
4
|
+
"mappings": "AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,cAAc;AACvB,SAAS,oBAAoB;AAE7B,SAAS,SAAS,MAAc;AAC9B,SACE,aAAa,IAAI,EACd,WAAW,KAAK,GAAG,EAEnB,QAAQ,MAAM,EAAE;AAEvB;AAEA,MAAM,WAAW,OAAO,SAAW,KAC7B,gBAAgB,WAAW,OAAO,IAAI;AAErC,SAAS,eAAe,aAAqB;AAClD,SAAO,GAAG,aAAa,WAAW,SAAS,YAAY,MAAM,CAAC,CAAC,CAAC,GAAG,kBAAkB;AACvF;AAEO,SAAS,cAAc,aAAqB,aAAa,UAAU,WAAoB;AAC5F,QAAM,UAAU,aAAa,OAAO,IAAI,IAClC,UAAU,QAAQ,IAAI,aAAa,gBAAgB,UAAU,IAE7D,iBAAiB,IAAI,IAAI,aAAa,oBAAoB,GAE1D,aAAa,SAAS,eAAe,SAAS,MAAM,CAAC,CAAC,GACtD,mBAAmB,YAAY,YAAY,SAAS,MAAM;AAEhE,SAAO,GAAG,OAAO,GAAG,OAAO,WAAW,UAAU,GAAG,gBAAgB,GAAG,iBAAiB;AACzF;AAEO,SAAS,sBAAsB,YAAoB;AACxD,SAAO,WACJ,QAAQ,yBAAyB,EAAE,EACnC,QAAQ,sBAAsB,EAAE,EAChC,QAAQ,iBAAiB,EAAE,EAC3B,WAAW,MAAM,GAAG;AACzB;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -9,15 +9,16 @@ const isClient = typeof window < "u",
|
|
|
9
9
|
function getPreloadPath(currentPath) {
|
|
10
10
|
return `${clientSideURL}/assets/${cleanUrl(currentPath.slice(1))}${PRELOAD_JS_POSTFIX}`;
|
|
11
11
|
}
|
|
12
|
-
function getLoaderPath(currentPath, includeUrl = isNative) {
|
|
12
|
+
function getLoaderPath(currentPath, includeUrl = isNative, cacheBust) {
|
|
13
13
|
const baseURL = includeUrl ? getURL() : "",
|
|
14
14
|
devPath = process.env.NODE_ENV === "development" ? "/_one" : "",
|
|
15
|
-
currentPathUrl = new URL(currentPath, "http://example.com"
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
currentPathUrl = new URL(currentPath, "http://example.com"),
|
|
16
|
+
cleanedUrl = cleanUrl(currentPathUrl.pathname.slice(1)),
|
|
17
|
+
cacheBustSegment = cacheBust ? `_refetch_${cacheBust}_` : "";
|
|
18
|
+
return `${baseURL}${devPath}/assets/${cleanedUrl}${cacheBustSegment}${LOADER_JS_POSTFIX}`;
|
|
18
19
|
}
|
|
19
20
|
function getPathFromLoaderPath(loaderPath) {
|
|
20
|
-
return loaderPath.replace(LOADER_JS_POSTFIX_REGEX, "").replace(/^(\/_one)?\/assets/, "").replaceAll(/_/g, "/");
|
|
21
|
+
return loaderPath.replace(LOADER_JS_POSTFIX_REGEX, "").replace(/^(\/_one)?\/assets/, "").replace(/_refetch_\d+_/, "").replaceAll(/_/g, "/");
|
|
21
22
|
}
|
|
22
23
|
export { getLoaderPath, getPathFromLoaderPath, getPreloadPath };
|
|
23
24
|
//# sourceMappingURL=cleanUrl.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isNative","LOADER_JS_POSTFIX","LOADER_JS_POSTFIX_REGEX","PRELOAD_JS_POSTFIX","getURL","removeSearch","cleanUrl","path","replaceAll","replace","isClient","window","clientSideURL","getPreloadPath","currentPath","slice","getLoaderPath","includeUrl","baseURL","devPath","process","env","NODE_ENV","currentPathUrl","URL","pathname","getPathFromLoaderPath","loaderPath"],"sources":["../../../src/utils/cleanUrl.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,QAAA,EACAC,iBAAA,EACAC,uBAAA,EACAC,kBAAA,QACK;AACP,SAASC,MAAA,QAAc;AACvB,SAASC,YAAA,QAAoB;AAE7B,SAASC,SAASC,IAAA,EAAc;EAC9B,OACEF,YAAA,CAAaE,IAAI,EACdC,UAAA,CAAW,KAAK,GAAG,EAEnBC,OAAA,CAAQ,MAAM,EAAE;AAEvB;AAEA,MAAMC,QAAA,GAAW,OAAOC,MAAA,GAAW;EAC7BC,aAAA,GAAgBF,QAAA,GAAWN,MAAA,CAAO,IAAI;AAErC,SAASS,eAAeC,WAAA,EAAqB;EAClD,OAAO,GAAGF,aAAa,WAAWN,QAAA,CAASQ,WAAA,CAAYC,KAAA,CAAM,CAAC,CAAC,CAAC,GAAGZ,kBAAkB;AACvF;AAEO,SAASa,
|
|
1
|
+
{"version":3,"names":["isNative","LOADER_JS_POSTFIX","LOADER_JS_POSTFIX_REGEX","PRELOAD_JS_POSTFIX","getURL","removeSearch","cleanUrl","path","replaceAll","replace","isClient","window","clientSideURL","getPreloadPath","currentPath","slice","getLoaderPath","includeUrl","cacheBust","baseURL","devPath","process","env","NODE_ENV","currentPathUrl","URL","cleanedUrl","pathname","cacheBustSegment","getPathFromLoaderPath","loaderPath"],"sources":["../../../src/utils/cleanUrl.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,QAAA,EACAC,iBAAA,EACAC,uBAAA,EACAC,kBAAA,QACK;AACP,SAASC,MAAA,QAAc;AACvB,SAASC,YAAA,QAAoB;AAE7B,SAASC,SAASC,IAAA,EAAc;EAC9B,OACEF,YAAA,CAAaE,IAAI,EACdC,UAAA,CAAW,KAAK,GAAG,EAEnBC,OAAA,CAAQ,MAAM,EAAE;AAEvB;AAEA,MAAMC,QAAA,GAAW,OAAOC,MAAA,GAAW;EAC7BC,aAAA,GAAgBF,QAAA,GAAWN,MAAA,CAAO,IAAI;AAErC,SAASS,eAAeC,WAAA,EAAqB;EAClD,OAAO,GAAGF,aAAa,WAAWN,QAAA,CAASQ,WAAA,CAAYC,KAAA,CAAM,CAAC,CAAC,CAAC,GAAGZ,kBAAkB;AACvF;AAEO,SAASa,cAAcF,WAAA,EAAqBG,UAAA,GAAajB,QAAA,EAAUkB,SAAA,EAAoB;EAC5F,MAAMC,OAAA,GAAUF,UAAA,GAAab,MAAA,CAAO,IAAI;IAClCgB,OAAA,GAAUC,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,gBAAgB,UAAU;IAE7DC,cAAA,GAAiB,IAAIC,GAAA,CAAIX,WAAA,EAAa,oBAAoB;IAE1DY,UAAA,GAAapB,QAAA,CAASkB,cAAA,CAAeG,QAAA,CAASZ,KAAA,CAAM,CAAC,CAAC;IACtDa,gBAAA,GAAmBV,SAAA,GAAY,YAAYA,SAAS,MAAM;EAEhE,OAAO,GAAGC,OAAO,GAAGC,OAAO,WAAWM,UAAU,GAAGE,gBAAgB,GAAG3B,iBAAiB;AACzF;AAEO,SAAS4B,sBAAsBC,UAAA,EAAoB;EACxD,OAAOA,UAAA,CACJrB,OAAA,CAAQP,uBAAA,EAAyB,EAAE,EACnCO,OAAA,CAAQ,sBAAsB,EAAE,EAChCA,OAAA,CAAQ,iBAAiB,EAAE,EAC3BD,UAAA,CAAW,MAAM,GAAG;AACzB","ignoreList":[]}
|
|
@@ -11,13 +11,16 @@ function getPreloadPath(currentPath) {
|
|
|
11
11
|
}
|
|
12
12
|
function getLoaderPath(currentPath) {
|
|
13
13
|
var includeUrl = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : isNative,
|
|
14
|
+
cacheBust = arguments.length > 2 ? arguments[2] : void 0,
|
|
14
15
|
baseURL = includeUrl ? getURL() : "",
|
|
15
16
|
devPath = process.env.NODE_ENV === "development" ? "/_one" : "",
|
|
16
|
-
currentPathUrl = new URL(currentPath, "http://example.com")
|
|
17
|
-
|
|
17
|
+
currentPathUrl = new URL(currentPath, "http://example.com"),
|
|
18
|
+
cleanedUrl = cleanUrl(currentPathUrl.pathname.slice(1)),
|
|
19
|
+
cacheBustSegment = cacheBust ? `_refetch_${cacheBust}_` : "";
|
|
20
|
+
return `${baseURL}${devPath}/assets/${cleanedUrl}${cacheBustSegment}${LOADER_JS_POSTFIX}`;
|
|
18
21
|
}
|
|
19
22
|
function getPathFromLoaderPath(loaderPath) {
|
|
20
|
-
return loaderPath.replace(LOADER_JS_POSTFIX_REGEX, "").replace(/^(\/_one)?\/assets/, "").replaceAll(/_/g, "/");
|
|
23
|
+
return loaderPath.replace(LOADER_JS_POSTFIX_REGEX, "").replace(/^(\/_one)?\/assets/, "").replace(/_refetch_\d+_/, "").replaceAll(/_/g, "/");
|
|
21
24
|
}
|
|
22
25
|
export { getLoaderPath, getPathFromLoaderPath, getPreloadPath };
|
|
23
26
|
//# sourceMappingURL=cleanUrl.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isNative","LOADER_JS_POSTFIX","LOADER_JS_POSTFIX_REGEX","PRELOAD_JS_POSTFIX","getURL","removeSearch","cleanUrl","path","replaceAll","replace","isClient","window","clientSideURL","getPreloadPath","currentPath","slice","getLoaderPath","includeUrl","arguments","length","baseURL","devPath","process","env","NODE_ENV","currentPathUrl","URL","pathname","getPathFromLoaderPath","loaderPath"],"sources":["../../../src/utils/cleanUrl.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAAA,QAAA,EAAAC,iBAAA,EAAAC,uBAAA,EAAAC,kBAAA;AAAA,SACEC,MAAA;AAAA,SACAC,YAAA;AAAA,SACAC,SAAAC,IAAA;EACA,OAAAF,YAAA,CAAAE,IAAA,EAAAC,UAAA,WAAAC,OAAA;AAAA;AAEF,IAAAC,QAAS,UAAAC,MAAc;EAAAC,aAAA,GAAAF,QAAA,GAAAN,MAAA;AACvB,SAASS,eAAAC,WAAoB;EAE7B,OAAS,GAAAF,aAAuB,WAAAN,QAAA,CAAAQ,WAAA,CAAAC,KAAA,OAAAZ,kBAAA;AAC9B;AAMF,SAAAa,cAAAF,WAAA;EAEA,IAAMG,UAAA,GAAWC,SAAO,CAAAC,MAAW,GAC7B,KAAAD,SAAA,EAAgB,WAAW,IAAAA,SAAW,MAAAlB,QAAA;IAAAoB,OAAA,
|
|
1
|
+
{"version":3,"names":["isNative","LOADER_JS_POSTFIX","LOADER_JS_POSTFIX_REGEX","PRELOAD_JS_POSTFIX","getURL","removeSearch","cleanUrl","path","replaceAll","replace","isClient","window","clientSideURL","getPreloadPath","currentPath","slice","getLoaderPath","includeUrl","arguments","length","cacheBust","baseURL","devPath","process","env","NODE_ENV","currentPathUrl","URL","cleanedUrl","pathname","cacheBustSegment","getPathFromLoaderPath","loaderPath"],"sources":["../../../src/utils/cleanUrl.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAAA,QAAA,EAAAC,iBAAA,EAAAC,uBAAA,EAAAC,kBAAA;AAAA,SACEC,MAAA;AAAA,SACAC,YAAA;AAAA,SACAC,SAAAC,IAAA;EACA,OAAAF,YAAA,CAAAE,IAAA,EAAAC,UAAA,WAAAC,OAAA;AAAA;AAEF,IAAAC,QAAS,UAAAC,MAAc;EAAAC,aAAA,GAAAF,QAAA,GAAAN,MAAA;AACvB,SAASS,eAAAC,WAAoB;EAE7B,OAAS,GAAAF,aAAuB,WAAAN,QAAA,CAAAQ,WAAA,CAAAC,KAAA,OAAAZ,kBAAA;AAC9B;AAMF,SAAAa,cAAAF,WAAA;EAEA,IAAMG,UAAA,GAAWC,SAAO,CAAAC,MAAW,GAC7B,KAAAD,SAAA,EAAgB,WAAW,IAAAA,SAAW,MAAAlB,QAAA;IAAAoB,SAAA,GAAAF,SAAA,CAAAC,MAAA,OAAAD,SAAA;IAAAG,OAAA,GAAAJ,UAAA,GAAAb,MAAA;IAAAkB,OAAA,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;IAAAC,cAAA,OAAAC,GAAA,CAAAb,WAAA;IAAAc,UAAA,GAAAtB,QAAA,CAAAoB,cAAA,CAAAG,QAAA,CAAAd,KAAA;IAAAe,gBAAA,GAAAV,SAAA,eAAAA,SAAA;EAErC,OAAS,GAAAC,OAAA,GAAAC,OAAe,WAAqBM,UAAA,GAAAE,gBAAA,GAAA7B,iBAAA;AAClD;AACF,SAAA8B,sBAAAC,UAAA;EAEO,OAASA,UAAA,CAAAvB,OAAc,CAAAP,uBAAkC,MAAAO,OAAU,qBAAoB,MAAAA,OAAA,sBAAAD,UAAA;AAC5F;AAQA,SACFQ,aAAA,EAEOe,qBAAS,EACdlB,cAAO","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "one",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.20",
|
|
4
4
|
"license": "BSD-3-Clause",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"setup.mjs",
|
|
@@ -121,17 +121,17 @@
|
|
|
121
121
|
"@react-navigation/routers": "~7.5.1",
|
|
122
122
|
"@swc/core": "^1.14.0",
|
|
123
123
|
"@ungap/structured-clone": "^1.2.0",
|
|
124
|
-
"@vxrn/compiler": "1.2.
|
|
125
|
-
"@vxrn/resolve": "1.2.
|
|
126
|
-
"@vxrn/tslib-lite": "1.2.
|
|
127
|
-
"@vxrn/universal-color-scheme": "1.2.
|
|
128
|
-
"@vxrn/use-isomorphic-layout-effect": "1.2.
|
|
129
|
-
"@vxrn/vite-plugin-metro": "1.2.
|
|
124
|
+
"@vxrn/compiler": "1.2.20",
|
|
125
|
+
"@vxrn/resolve": "1.2.20",
|
|
126
|
+
"@vxrn/tslib-lite": "1.2.20",
|
|
127
|
+
"@vxrn/universal-color-scheme": "1.2.20",
|
|
128
|
+
"@vxrn/use-isomorphic-layout-effect": "1.2.20",
|
|
129
|
+
"@vxrn/vite-plugin-metro": "1.2.20",
|
|
130
130
|
"babel-dead-code-elimination": "^1.0.10",
|
|
131
131
|
"babel-plugin-module-resolver": "^5.0.2",
|
|
132
132
|
"citty": "^0.1.6",
|
|
133
133
|
"core-js": "^3.38.1",
|
|
134
|
-
"create-vxrn": "1.2.
|
|
134
|
+
"create-vxrn": "1.2.20",
|
|
135
135
|
"escape-string-regexp": "^5.0.0",
|
|
136
136
|
"expo-linking": "~8.0.8",
|
|
137
137
|
"expo-modules-core": "~3.0.24",
|
|
@@ -157,7 +157,7 @@
|
|
|
157
157
|
"vite": "^7.1.12",
|
|
158
158
|
"vite-plugin-barrel": "^0.4.1",
|
|
159
159
|
"vite-tsconfig-paths": "^5.1.4",
|
|
160
|
-
"vxrn": "1.2.
|
|
160
|
+
"vxrn": "1.2.20",
|
|
161
161
|
"ws": "^8.18.0",
|
|
162
162
|
"xxhashjs": "^0.2.2"
|
|
163
163
|
},
|
|
@@ -175,7 +175,7 @@
|
|
|
175
175
|
"devDependencies": {
|
|
176
176
|
"@react-navigation/core": "^7.13.0",
|
|
177
177
|
"@react-navigation/native": "~7.1.19",
|
|
178
|
-
"@tamagui/build": "^1.
|
|
178
|
+
"@tamagui/build": "^1.138.6",
|
|
179
179
|
"@types/node": "^24.10.0",
|
|
180
180
|
"@types/react-dom": "^19.2.2",
|
|
181
181
|
"@types/xxhashjs": "^0.2.4",
|
|
@@ -96,6 +96,7 @@ export async function resolveAPIRoute(
|
|
|
96
96
|
url,
|
|
97
97
|
loaderProps: {
|
|
98
98
|
path: pathname,
|
|
99
|
+
search: url.search,
|
|
99
100
|
params,
|
|
100
101
|
},
|
|
101
102
|
}),
|
|
@@ -139,6 +140,7 @@ export async function resolveLoaderRoute(
|
|
|
139
140
|
url,
|
|
140
141
|
loaderProps: {
|
|
141
142
|
path: url.pathname,
|
|
143
|
+
search: url.search,
|
|
142
144
|
request: route.type === 'ssr' ? request : undefined,
|
|
143
145
|
params: getLoaderParams(url, route),
|
|
144
146
|
},
|
|
@@ -176,7 +178,8 @@ export async function resolvePageRoute(
|
|
|
176
178
|
route,
|
|
177
179
|
url,
|
|
178
180
|
loaderProps: {
|
|
179
|
-
path: pathname
|
|
181
|
+
path: pathname,
|
|
182
|
+
search: search,
|
|
180
183
|
// Ensure SSR loaders receive the original request
|
|
181
184
|
request: route.type === 'ssr' ? request : undefined,
|
|
182
185
|
params: getLoaderParams(url, route),
|
|
@@ -265,7 +268,8 @@ export function createHandleRequest(
|
|
|
265
268
|
continue
|
|
266
269
|
}
|
|
267
270
|
|
|
268
|
-
|
|
271
|
+
const cleanedRequest = new Request(finalUrl, request)
|
|
272
|
+
return resolveLoaderRoute(handlers, cleanedRequest, finalUrl, route)
|
|
269
273
|
}
|
|
270
274
|
|
|
271
275
|
if (process.env.NODE_ENV === 'development') {
|
package/src/index.ts
CHANGED
|
@@ -69,7 +69,7 @@ export { useNavigation } from './router/useNavigation'
|
|
|
69
69
|
export type { Endpoint, LoaderProps } from './types'
|
|
70
70
|
// React Navigation
|
|
71
71
|
export { useFocusEffect } from './useFocusEffect'
|
|
72
|
-
export { useLoader } from './useLoader'
|
|
72
|
+
export { useLoader, useLoaderState } from './useLoader'
|
|
73
73
|
export { type ServerHeadInsertionCallback, useServerHeadInsertion } from './useServerHeadInsertion'
|
|
74
74
|
export { isResponse } from './utils/isResponse'
|
|
75
75
|
export { redirect } from './utils/redirect'
|
package/src/router/router.ts
CHANGED
|
@@ -65,6 +65,30 @@ export function initialize(
|
|
|
65
65
|
throw new Error('No routes found')
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
+
if (process.env.NODE_ENV === 'development' && process.env.ONE_DEBUG_ROUTER && routeNode) {
|
|
69
|
+
const formatRouteTree = (node: RouteNode, indent = '', isLast = true): string => {
|
|
70
|
+
const prefix = indent + (isLast ? '└─ ' : '├─ ')
|
|
71
|
+
const childIndent = indent + (isLast ? ' ' : '│ ')
|
|
72
|
+
|
|
73
|
+
const dynamicBadge = node.dynamic ? ` [${node.dynamic.map((d) => d.name).join(', ')}]` : ''
|
|
74
|
+
const typeBadge = node.type !== 'layout' ? ` (${node.type})` : ''
|
|
75
|
+
const routeName = node.route || '/'
|
|
76
|
+
|
|
77
|
+
let line = `${prefix}${routeName}${dynamicBadge}${typeBadge}`
|
|
78
|
+
|
|
79
|
+
const visibleChildren = node.children.filter((child) => !child.internal)
|
|
80
|
+
for (let i = 0; i < visibleChildren.length; i++) {
|
|
81
|
+
const child = visibleChildren[i]
|
|
82
|
+
const childIsLast = i === visibleChildren.length - 1
|
|
83
|
+
line += '\n' + formatRouteTree(child, childIndent, childIsLast)
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
return line
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
console.info(`[one] 📍 Route structure:\n${formatRouteTree(routeNode)}`)
|
|
90
|
+
}
|
|
91
|
+
|
|
68
92
|
navigationRef = ref
|
|
69
93
|
setupLinkingAndRouteInfo(initialLocation)
|
|
70
94
|
subscribeToNavigationChanges()
|
|
@@ -156,6 +180,9 @@ export function push(url: OneRouter.Href, options?: OneRouter.LinkToOptions) {
|
|
|
156
180
|
}
|
|
157
181
|
|
|
158
182
|
export function dismiss(count?: number) {
|
|
183
|
+
if (process.env.NODE_ENV === 'development' && process.env.ONE_DEBUG_ROUTER) {
|
|
184
|
+
console.info(`[one] 🔙 dismiss${count ? ` (${count})` : ''}`)
|
|
185
|
+
}
|
|
159
186
|
navigationRef?.dispatch(StackActions.pop(count))
|
|
160
187
|
}
|
|
161
188
|
|
|
@@ -172,10 +199,16 @@ export function setParams(params: OneRouter.InpurRouteParamsGeneric = {}) {
|
|
|
172
199
|
}
|
|
173
200
|
|
|
174
201
|
export function dismissAll() {
|
|
202
|
+
if (process.env.NODE_ENV === 'development' && process.env.ONE_DEBUG_ROUTER) {
|
|
203
|
+
console.info(`[one] 🔙 dismissAll`)
|
|
204
|
+
}
|
|
175
205
|
navigationRef?.dispatch(StackActions.popToTop())
|
|
176
206
|
}
|
|
177
207
|
|
|
178
208
|
export function goBack() {
|
|
209
|
+
if (process.env.NODE_ENV === 'development' && process.env.ONE_DEBUG_ROUTER) {
|
|
210
|
+
console.info(`[one] 🔙 goBack`)
|
|
211
|
+
}
|
|
179
212
|
assertIsReady(navigationRef)
|
|
180
213
|
navigationRef?.current?.goBack()
|
|
181
214
|
}
|
|
@@ -217,6 +250,14 @@ export function updateState(state: OneRouter.ResultState, nextStateParam = state
|
|
|
217
250
|
const nextRouteInfo = getRouteInfo(state)
|
|
218
251
|
|
|
219
252
|
if (!deepEqual(routeInfo, nextRouteInfo)) {
|
|
253
|
+
if (process.env.NODE_ENV === 'development' && process.env.ONE_DEBUG_ROUTER) {
|
|
254
|
+
const from = routeInfo?.pathname || '(initial)'
|
|
255
|
+
const to = nextRouteInfo.pathname
|
|
256
|
+
const params = Object.keys(nextRouteInfo.params || {}).length
|
|
257
|
+
? nextRouteInfo.params
|
|
258
|
+
: undefined
|
|
259
|
+
console.info(`[one] 🧭 ${from} → ${to}`, params ? { params } : '')
|
|
260
|
+
}
|
|
220
261
|
routeInfo = nextRouteInfo
|
|
221
262
|
}
|
|
222
263
|
}
|
|
@@ -361,6 +402,10 @@ export function preloadRoute(href: string) {
|
|
|
361
402
|
}
|
|
362
403
|
|
|
363
404
|
export async function linkTo(href: string, event?: string, options?: OneRouter.LinkToOptions) {
|
|
405
|
+
if (process.env.NODE_ENV === 'development' && process.env.ONE_DEBUG_ROUTER) {
|
|
406
|
+
console.info(`[one] 🔗 ${event || 'NAVIGATE'} ${href}`)
|
|
407
|
+
}
|
|
408
|
+
|
|
364
409
|
if (href[0] === '#') {
|
|
365
410
|
// this is just linking to a section of the current page on web
|
|
366
411
|
return
|
package/src/server/oneServe.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { extname, join } from 'node:path'
|
|
2
1
|
import { default as FSExtra } from 'fs-extra'
|
|
3
2
|
import type { Hono, MiddlewareHandler } from 'hono'
|
|
4
3
|
import type { BlankEnv } from 'hono/types'
|
|
4
|
+
import { extname, join } from 'node:path'
|
|
5
5
|
import { serveStaticAssets } from 'vxrn'
|
|
6
|
-
import { getServerEntry
|
|
6
|
+
import { getServerEntry } from 'vxrn/serve'
|
|
7
7
|
import { LOADER_JS_POSTFIX_UNCACHED, PRELOAD_JS_POSTFIX } from '../constants'
|
|
8
8
|
import {
|
|
9
9
|
compileManifest,
|
|
@@ -170,12 +170,12 @@ url: ${url}`)
|
|
|
170
170
|
const url = getURLfromRequestURL(request)
|
|
171
171
|
|
|
172
172
|
const response = await (() => {
|
|
173
|
-
// this handles
|
|
174
|
-
// where to put this best? can likely be after some of the switch?
|
|
173
|
+
// this handles all loader refetches or fetches due to navigation
|
|
175
174
|
if (url.pathname.endsWith(LOADER_JS_POSTFIX_UNCACHED)) {
|
|
176
175
|
const originalUrl = getPathFromLoaderPath(url.pathname)
|
|
177
176
|
const finalUrl = new URL(originalUrl, url.origin)
|
|
178
|
-
|
|
177
|
+
const cleanedRequest = new Request(finalUrl, request)
|
|
178
|
+
return resolveLoaderRoute(requestHandlers, cleanedRequest, finalUrl, route)
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
switch (route.type) {
|
|
@@ -297,9 +297,15 @@ url: ${url}`)
|
|
|
297
297
|
}
|
|
298
298
|
|
|
299
299
|
const finalUrl = new URL(originalUrl, url.origin)
|
|
300
|
+
const cleanedRequest = new Request(finalUrl, request)
|
|
300
301
|
|
|
301
302
|
try {
|
|
302
|
-
const resolved = await resolveLoaderRoute(
|
|
303
|
+
const resolved = await resolveLoaderRoute(
|
|
304
|
+
requestHandlers,
|
|
305
|
+
cleanedRequest,
|
|
306
|
+
finalUrl,
|
|
307
|
+
loaderRoute
|
|
308
|
+
)
|
|
303
309
|
return resolved
|
|
304
310
|
} catch (err) {
|
|
305
311
|
console.error(`Error running loader: ${err}`)
|
package/src/types.ts
CHANGED