one 1.9.9 → 1.9.10

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.
Files changed (76) hide show
  1. package/dist/cjs/router/router.cjs +7 -3
  2. package/dist/cjs/router/router.js +10 -2
  3. package/dist/cjs/router/router.js.map +1 -1
  4. package/dist/cjs/router/router.native.js +10 -5
  5. package/dist/cjs/router/router.native.js.map +1 -1
  6. package/dist/cjs/server/getServerManifest.cjs +29 -3
  7. package/dist/cjs/server/getServerManifest.js +24 -2
  8. package/dist/cjs/server/getServerManifest.js.map +2 -2
  9. package/dist/cjs/server/getServerManifest.native.js +26 -7
  10. package/dist/cjs/server/getServerManifest.native.js.map +1 -1
  11. package/dist/cjs/server/getServerManifest.test.cjs +152 -0
  12. package/dist/cjs/server/getServerManifest.test.js +143 -0
  13. package/dist/cjs/server/getServerManifest.test.js.map +6 -0
  14. package/dist/cjs/server/getServerManifest.test.native.js +168 -0
  15. package/dist/cjs/server/getServerManifest.test.native.js.map +1 -0
  16. package/dist/cjs/useLoader.js.map +1 -1
  17. package/dist/cjs/useLoader.native.js.map +1 -1
  18. package/dist/cjs/useMatches.js +3 -1
  19. package/dist/cjs/useMatches.js.map +1 -1
  20. package/dist/cjs/useMatches.native.js.map +1 -1
  21. package/dist/cjs/views/PreloadLinks.cjs +23 -11
  22. package/dist/cjs/views/PreloadLinks.js +25 -10
  23. package/dist/cjs/views/PreloadLinks.js.map +1 -1
  24. package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.js +24 -8
  25. package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.js.map +1 -1
  26. package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.native.js.map +1 -1
  27. package/dist/esm/router/router.js +10 -2
  28. package/dist/esm/router/router.js.map +1 -1
  29. package/dist/esm/router/router.mjs +7 -3
  30. package/dist/esm/router/router.mjs.map +1 -1
  31. package/dist/esm/router/router.native.js +10 -5
  32. package/dist/esm/router/router.native.js.map +1 -1
  33. package/dist/esm/server/getServerManifest.js +23 -2
  34. package/dist/esm/server/getServerManifest.js.map +2 -2
  35. package/dist/esm/server/getServerManifest.mjs +28 -2
  36. package/dist/esm/server/getServerManifest.mjs.map +1 -1
  37. package/dist/esm/server/getServerManifest.native.js +25 -6
  38. package/dist/esm/server/getServerManifest.native.js.map +1 -1
  39. package/dist/esm/server/getServerManifest.test.js +144 -0
  40. package/dist/esm/server/getServerManifest.test.js.map +6 -0
  41. package/dist/esm/server/getServerManifest.test.mjs +153 -0
  42. package/dist/esm/server/getServerManifest.test.mjs.map +1 -0
  43. package/dist/esm/server/getServerManifest.test.native.js +166 -0
  44. package/dist/esm/server/getServerManifest.test.native.js.map +1 -0
  45. package/dist/esm/useLoader.js +5 -1
  46. package/dist/esm/useLoader.js.map +1 -1
  47. package/dist/esm/useLoader.mjs.map +1 -1
  48. package/dist/esm/useLoader.native.js.map +1 -1
  49. package/dist/esm/useMatches.js +3 -1
  50. package/dist/esm/useMatches.js.map +1 -1
  51. package/dist/esm/useMatches.mjs.map +1 -1
  52. package/dist/esm/useMatches.native.js.map +1 -1
  53. package/dist/esm/views/PreloadLinks.js +25 -10
  54. package/dist/esm/views/PreloadLinks.js.map +1 -1
  55. package/dist/esm/views/PreloadLinks.mjs +23 -11
  56. package/dist/esm/views/PreloadLinks.mjs.map +1 -1
  57. package/dist/esm/vite/plugins/clientTreeShakePlugin.test.js +24 -8
  58. package/dist/esm/vite/plugins/clientTreeShakePlugin.test.js.map +1 -1
  59. package/dist/esm/vite/plugins/clientTreeShakePlugin.test.mjs.map +1 -1
  60. package/dist/esm/vite/plugins/clientTreeShakePlugin.test.native.js.map +1 -1
  61. package/package.json +9 -9
  62. package/src/router/router.ts +13 -3
  63. package/src/server/getServerManifest.test.ts +178 -0
  64. package/src/server/getServerManifest.ts +51 -4
  65. package/src/useLoader.ts +15 -6
  66. package/src/useMatches.ts +3 -1
  67. package/src/views/PreloadLinks.tsx +34 -15
  68. package/src/vite/plugins/clientTreeShakePlugin.test.ts +20 -4
  69. package/types/router/router.d.ts.map +1 -1
  70. package/types/server/getServerManifest.d.ts.map +1 -1
  71. package/types/server/getServerManifest.test.d.ts +2 -0
  72. package/types/server/getServerManifest.test.d.ts.map +1 -0
  73. package/types/useLoader.d.ts.map +1 -1
  74. package/types/useMatches.d.ts.map +1 -1
  75. package/types/views/PreloadLinks.d.ts +0 -9
  76. package/types/views/PreloadLinks.d.ts.map +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/PreloadLinks.tsx"],
4
- "mappings": "AAAA,SAAS,WAAW,cAAc;AAClC,SAAS,cAAc;AACvB,SAAS,oBAAoB;AAM7B,MAAM,gBAAiB,QAAQ,IAAI,qBAAqB;AAejD,SAAS,eAAe;AAK7B,MAJI,OAAO,SAAW,OAAe,CAAC,YAAY,IAAI,QAIlD,kBAAkB;AACpB,WAAO;AAIT,QAAM,aAAa,OAA4B,IAAI;AAGnD,mBAAU,MAAM;AACd,UAAM,MAAM,OAAO,GAEb,oBAAoB,CAAC,WAA8C;AACvE,UAAI,EAAE,kBAAkB,aAAc,QAAO;AAC7C,YAAM,SAAS,kBAAkB,oBAAoB,SAAS,OAAO,QAAQ,GAAG;AAChF,UAAI,EAAE,kBAAkB,mBAAoB,QAAO;AACnD,YAAM,OAAO,OAAO,aAAa,MAAM;AACvC,aAAK,SACD,KAAK,CAAC,MAAM,OAAO,KAAK,WAAW,GAAG,KACjC,KAAK,QAAQ,KAAK,EAAE,IAFX;AAAA,IAKpB;AAGA,QAAI,kBAAkB,SAAS;AAC7B,YAAM,aAAa,IAAI,gBAAgB;AACvC,sBAAS;AAAA,QACP;AAAA,QACA,CAAC,MAAM;AACL,gBAAM,OAAO,kBAAkB,EAAE,MAAM;AACvC,UAAI,QAAM,aAAa,IAAI;AAAA,QAC7B;AAAA,QACA,EAAE,SAAS,IAAM,QAAQ,WAAW,OAAO;AAAA,MAC7C,GACO,MAAM,WAAW,MAAM;AAAA,IAChC;AAGA,QAAI,kBAAkB;AACpB,oBAAO,0BAA0B,EAAE;AAAA,QACjC,CAAC,EAAE,uBAAuB,wBAAwB,MAAM;AACtD,gCAAsB,YAAY;AAElC,gBAAM,WAA2B,CAAC,GAC5B,OAAO,oBAAI,QAAiB,GAE5B,eAAe,MAAM;AAIzB,YAHc,SAAS;AAAA,cACrB,4BAA4B,MAAM;AAAA,YACpC,EACM,QAAQ,CAAC,SAAS;AACtB,kBAAI,KAAK,IAAI,IAAI,EAAG;AACpB,mBAAK,IAAI,IAAI;AACb,oBAAM,OAAO,KAAK,aAAa,MAAM;AACrC,cAAI,QACF,SAAS;AAAA,gBACP,wBAAwB,MAAqB,KAAK,QAAQ,KAAK,EAAE,CAAC;AAAA,cACpE;AAAA,YAEJ,CAAC;AAAA,UACH;AAEA,uBAAa;AAGb,cAAI;AACJ,gBAAM,WAAW,IAAI,iBAAiB,MAAM;AAC1C,yBAAa,OAAO,GACpB,UAAU,WAAW,cAAc,GAAG;AAAA,UACxC,CAAC;AACD,mBAAS,QAAQ,SAAS,MAAM,EAAE,WAAW,IAAM,SAAS,GAAK,CAAC,GAElE,WAAW,UAAU,MAAM;AACzB,yBAAa,OAAO,GACpB,SAAS,QAAQ,CAAC,MAAM,EAAE,CAAC,GAC3B,SAAS,WAAW;AAAA,UACtB;AAAA,QACF;AAAA,MACF,GACO,MAAM,WAAW,UAAU;AAIpC,QAAI,kBAAkB,UAAU;AAC9B,YAAM,aAAa,IAAI,gBAAgB;AAEvC,oBAAO,wBAAwB,EAAE;AAAA,QAC/B,CAAC,EAAE,qBAAqB,sBAAsB,MAAM;AAClD,8BAAoB,YAAY;AAEhC,gBAAM,WAA2B,CAAC,GAC5B,OAAO,oBAAI,QAAiB,GAE5B,eAAe,MAAM;AAIzB,YAHc,SAAS;AAAA,cACrB,4BAA4B,MAAM;AAAA,YACpC,EACM,QAAQ,CAAC,SAAS;AACtB,kBAAI,KAAK,IAAI,IAAI,EAAG;AACpB,mBAAK,IAAI,IAAI;AACb,oBAAM,OAAO,KAAK,aAAa,MAAM;AACrC,cAAI,QACF,SAAS;AAAA,gBACP,sBAAsB,MAAqB,KAAK,QAAQ,KAAK,EAAE,CAAC;AAAA,cAClE;AAAA,YAEJ,CAAC;AAAA,UACH;AAEA,uBAAa;AAGb,cAAI;AACJ,gBAAM,WAAW,IAAI,iBAAiB,MAAM;AAC1C,yBAAa,OAAO,GACpB,UAAU,WAAW,cAAc,GAAG;AAAA,UACxC,CAAC;AACD,mBAAS,QAAQ,SAAS,MAAM,EAAE,WAAW,IAAM,SAAS,GAAK,CAAC,GAElE,WAAW,UAAU,MAAM;AACzB,yBAAa,OAAO,GACpB,SAAS,QAAQ,CAAC,MAAM,EAAE,CAAC,GAC3B,SAAS,WAAW;AAAA,UACtB,GAGA,SAAS;AAAA,YACP;AAAA,YACA,CAAC,MAAM;AACL,oBAAM,OAAO,kBAAkB,EAAE,MAAM;AACvC,cAAI,QAAM,aAAa,IAAI;AAAA,YAC7B;AAAA,YACA,EAAE,SAAS,IAAM,QAAQ,WAAW,OAAO;AAAA,UAC7C;AAAA,QACF;AAAA,MACF,GAEO,MAAM;AACX,mBAAW,MAAM,GACjB,WAAW,UAAU;AAAA,MACvB;AAAA,IACF;AAAA,EACF,GAAG,CAAC,CAAC,GAEE;AACT;",
4
+ "mappings": "AAAA,SAAS,WAAW,cAAc;AAClC,SAAS,cAAc;AACvB,SAAS,oBAAoB;AAM7B,MAAM,gBAAiB,QAAQ,IAAI,qBAAqB;AAexD,SAAS,kBAAkB,KAAa,QAA2C;AACjF,MAAI,EAAE,kBAAkB,aAAc,QAAO;AAC7C,QAAM,SAAS,kBAAkB,oBAAoB,SAAS,OAAO,QAAQ,GAAG;AAChF,MAAI,EAAE,kBAAkB,mBAAoB,QAAO;AACnD,QAAM,OAAO,OAAO,aAAa,MAAM;AACvC,SAAK,SACD,KAAK,CAAC,MAAM,OAAO,KAAK,WAAW,GAAG,KACjC,KAAK,QAAQ,KAAK,EAAE,IAFX;AAKpB;AAEO,SAAS,eAAe;AAC7B,MAAI,OAAO,SAAW;AACpB,WAAO;AAIT,MAAI,CAAC,YAAY,IAAI;AAEnB,qBAAU,MAAM;AACd,YAAM,MAAM,OAAO,GACb,aAAa,IAAI,gBAAgB;AACvC,sBAAS;AAAA,QACP;AAAA,QACA,CAAC,MAAM;AACL,gBAAM,OAAO,kBAAkB,KAAK,EAAE,MAAM;AAC5C,UAAI,QAAM,aAAa,IAAI;AAAA,QAC7B;AAAA,QACA,EAAE,SAAS,IAAM,QAAQ,WAAW,OAAO;AAAA,MAC7C,GACO,MAAM,WAAW,MAAM;AAAA,IAChC,GAAG,CAAC,CAAC,GACE;AAGT,MAAI,kBAAkB;AACpB,WAAO;AAIT,QAAM,aAAa,OAA4B,IAAI;AAGnD,mBAAU,MAAM;AACd,UAAM,MAAM,OAAO;AAGnB,QAAI,kBAAkB,SAAS;AAC7B,YAAM,aAAa,IAAI,gBAAgB;AACvC,sBAAS;AAAA,QACP;AAAA,QACA,CAAC,MAAM;AACL,gBAAM,OAAO,kBAAkB,KAAK,EAAE,MAAM;AAC5C,UAAI,QAAM,aAAa,IAAI;AAAA,QAC7B;AAAA,QACA,EAAE,SAAS,IAAM,QAAQ,WAAW,OAAO;AAAA,MAC7C,GACO,MAAM,WAAW,MAAM;AAAA,IAChC;AAGA,QAAI,kBAAkB;AACpB,oBAAO,0BAA0B,EAAE;AAAA,QACjC,CAAC,EAAE,uBAAuB,wBAAwB,MAAM;AACtD,gCAAsB,YAAY;AAElC,gBAAM,WAA2B,CAAC,GAC5B,OAAO,oBAAI,QAAiB,GAE5B,eAAe,MAAM;AAIzB,YAHc,SAAS;AAAA,cACrB,4BAA4B,MAAM;AAAA,YACpC,EACM,QAAQ,CAAC,SAAS;AACtB,kBAAI,KAAK,IAAI,IAAI,EAAG;AACpB,mBAAK,IAAI,IAAI;AACb,oBAAM,OAAO,KAAK,aAAa,MAAM;AACrC,cAAI,QACF,SAAS;AAAA,gBACP,wBAAwB,MAAqB,KAAK,QAAQ,KAAK,EAAE,CAAC;AAAA,cACpE;AAAA,YAEJ,CAAC;AAAA,UACH;AAEA,uBAAa;AAGb,cAAI;AACJ,gBAAM,WAAW,IAAI,iBAAiB,MAAM;AAC1C,yBAAa,OAAO,GACpB,UAAU,WAAW,cAAc,GAAG;AAAA,UACxC,CAAC;AACD,mBAAS,QAAQ,SAAS,MAAM,EAAE,WAAW,IAAM,SAAS,GAAK,CAAC,GAElE,WAAW,UAAU,MAAM;AACzB,yBAAa,OAAO,GACpB,SAAS,QAAQ,CAAC,MAAM,EAAE,CAAC,GAC3B,SAAS,WAAW;AAAA,UACtB;AAAA,QACF;AAAA,MACF,GACO,MAAM,WAAW,UAAU;AAIpC,QAAI,kBAAkB,UAAU;AAC9B,YAAM,aAAa,IAAI,gBAAgB;AAEvC,oBAAO,wBAAwB,EAAE;AAAA,QAC/B,CAAC,EAAE,qBAAqB,sBAAsB,MAAM;AAClD,8BAAoB,YAAY;AAEhC,gBAAM,WAA2B,CAAC,GAC5B,OAAO,oBAAI,QAAiB,GAE5B,eAAe,MAAM;AAIzB,YAHc,SAAS;AAAA,cACrB,4BAA4B,MAAM;AAAA,YACpC,EACM,QAAQ,CAAC,SAAS;AACtB,kBAAI,KAAK,IAAI,IAAI,EAAG;AACpB,mBAAK,IAAI,IAAI;AACb,oBAAM,OAAO,KAAK,aAAa,MAAM;AACrC,cAAI,QACF,SAAS;AAAA,gBACP,sBAAsB,MAAqB,KAAK,QAAQ,KAAK,EAAE,CAAC;AAAA,cAClE;AAAA,YAEJ,CAAC;AAAA,UACH;AAEA,uBAAa;AAGb,cAAI;AACJ,gBAAM,WAAW,IAAI,iBAAiB,MAAM;AAC1C,yBAAa,OAAO,GACpB,UAAU,WAAW,cAAc,GAAG;AAAA,UACxC,CAAC;AACD,mBAAS,QAAQ,SAAS,MAAM,EAAE,WAAW,IAAM,SAAS,GAAK,CAAC,GAElE,WAAW,UAAU,MAAM;AACzB,yBAAa,OAAO,GACpB,SAAS,QAAQ,CAAC,MAAM,EAAE,CAAC,GAC3B,SAAS,WAAW;AAAA,UACtB,GAGA,SAAS;AAAA,YACP;AAAA,YACA,CAAC,MAAM;AACL,oBAAM,OAAO,kBAAkB,KAAK,EAAE,MAAM;AAC5C,cAAI,QAAM,aAAa,IAAI;AAAA,YAC7B;AAAA,YACA,EAAE,SAAS,IAAM,QAAQ,WAAW,OAAO;AAAA,UAC7C;AAAA,QACF;AAAA,MACF,GAEO,MAAM;AACX,mBAAW,MAAM,GACjB,WAAW,UAAU;AAAA,MACvB;AAAA,IACF;AAAA,EACF,GAAG,CAAC,CAAC,GAEE;AACT;",
5
5
  "names": []
6
6
  }
@@ -2,22 +2,34 @@ import { useEffect, useRef } from "react";
2
2
  import { getURL } from "../getURL.mjs";
3
3
  import { preloadRoute } from "../router/router.mjs";
4
4
  const PREFETCH_MODE = process.env.ONE_LINK_PREFETCH || "intent";
5
+ function getHrefFromTarget(url, target) {
6
+ if (!(target instanceof HTMLElement)) return null;
7
+ const anchor = target instanceof HTMLAnchorElement ? target : target.closest("a");
8
+ if (!(anchor instanceof HTMLAnchorElement)) return null;
9
+ const href = anchor.getAttribute("href");
10
+ return href && (href[0] === "/" || href.startsWith(url)) ? href.replace(url, "") : null;
11
+ }
5
12
  function PreloadLinks() {
6
- if (typeof window > "u" || !import.meta.env.PROD || PREFETCH_MODE === "false") return null;
13
+ if (typeof window > "u") return null;
14
+ if (!import.meta.env.PROD) return useEffect(() => {
15
+ const url = getURL(),
16
+ controller = new AbortController();
17
+ return document.addEventListener("mouseover", e => {
18
+ const href = getHrefFromTarget(url, e.target);
19
+ href && preloadRoute(href);
20
+ }, {
21
+ passive: !0,
22
+ signal: controller.signal
23
+ }), () => controller.abort();
24
+ }, []), null;
25
+ if (PREFETCH_MODE === "false") return null;
7
26
  const cleanupRef = useRef(null);
8
27
  return useEffect(() => {
9
- const url = getURL(),
10
- getHrefFromTarget = target => {
11
- if (!(target instanceof HTMLElement)) return null;
12
- const anchor = target instanceof HTMLAnchorElement ? target : target.closest("a");
13
- if (!(anchor instanceof HTMLAnchorElement)) return null;
14
- const href = anchor.getAttribute("href");
15
- return href && (href[0] === "/" || href.startsWith(url)) ? href.replace(url, "") : null;
16
- };
28
+ const url = getURL();
17
29
  if (PREFETCH_MODE === "hover") {
18
30
  const controller = new AbortController();
19
31
  return document.addEventListener("mouseover", e => {
20
- const href = getHrefFromTarget(e.target);
32
+ const href = getHrefFromTarget(url, e.target);
21
33
  href && preloadRoute(href);
22
34
  }, {
23
35
  passive: !0,
@@ -79,7 +91,7 @@ function PreloadLinks() {
79
91
  }), cleanupRef.current = () => {
80
92
  clearTimeout(timeout), cleanups.forEach(c => c()), observer.disconnect();
81
93
  }, document.addEventListener("mouseover", e => {
82
- const href = getHrefFromTarget(e.target);
94
+ const href = getHrefFromTarget(url, e.target);
83
95
  href && preloadRoute(href);
84
96
  }, {
85
97
  passive: !0,
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","getURL","preloadRoute","PREFETCH_MODE","process","env","ONE_LINK_PREFETCH","PreloadLinks","window","import","meta","PROD","cleanupRef","url","getHrefFromTarget","target","HTMLElement","anchor","HTMLAnchorElement","closest","href","getAttribute","startsWith","replace","controller","AbortController","document","addEventListener","e","passive","signal","abort","then","startPrefetchViewport","observePrefetchViewport","cleanups","seen","WeakSet","observeLinks","querySelectorAll","forEach","link","has","add","push","timeout","observer","MutationObserver","clearTimeout","setTimeout","observe","body","childList","subtree","current","c","disconnect","startPrefetchIntent","observePrefetchIntent"],"sources":["../../../src/views/PreloadLinks.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useRef","getURL","preloadRoute","PREFETCH_MODE","process","env","ONE_LINK_PREFETCH","getHrefFromTarget","url","target","HTMLElement","anchor","HTMLAnchorElement","closest","href","getAttribute","startsWith","replace","PreloadLinks","window","import","meta","PROD","controller","AbortController","document","addEventListener","e","passive","signal","abort","cleanupRef","then","startPrefetchViewport","observePrefetchViewport","cleanups","seen","WeakSet","observeLinks","querySelectorAll","forEach","link","has","add","push","timeout","observer","MutationObserver","clearTimeout","setTimeout","observe","body","childList","subtree","current","c","disconnect","startPrefetchIntent","observePrefetchIntent"],"sources":["../../../src/views/PreloadLinks.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -91,7 +91,8 @@ export default function Page() {
91
91
  `, "/app/index.tsx");
92
92
  expect(result).toBeUndefined();
93
93
  }), it("should embed routeId in loader stub when root is provided", async () => {
94
- const result = await transformTreeShakeClient(`
94
+ const result = await transformTreeShakeClient(
95
+ `
95
96
  import { serverOnlyModule } from 'server-only-pkg'
96
97
  import { useLoader } from 'one'
97
98
 
@@ -103,10 +104,14 @@ export default function Layout() {
103
104
  const data = useLoader(loader)
104
105
  return data
105
106
  }
106
- `, "/project/app/_layout.tsx", "/project");
107
+ `,
108
+ "/project/app/_layout.tsx",
109
+ "/project"
110
+ );
107
111
  expect(result).toBeDefined(), expect(result.code).toContain('export function loader() {return "./_layout.tsx"}'), expect(result.code).not.toContain("__vxrn__loader__");
108
112
  }), it("should embed routeId with render mode suffix in loader stub", async () => {
109
- const result = await transformTreeShakeClient(`
113
+ const result = await transformTreeShakeClient(
114
+ `
110
115
  import { serverOnlyModule } from 'server-only-pkg'
111
116
  import { useLoader } from 'one'
112
117
 
@@ -118,7 +123,10 @@ export default function Layout() {
118
123
  const data = useLoader(loader)
119
124
  return data
120
125
  }
121
- `, "/project/app/user+ssr.tsx", "/project");
126
+ `,
127
+ "/project/app/user+ssr.tsx",
128
+ "/project"
129
+ );
122
130
  expect(result).toBeDefined(), expect(result.code).toContain('export function loader() {return "./user+ssr.tsx"}');
123
131
  }), it("should fall back to __vxrn__loader__ stub when no root provided", async () => {
124
132
  const result = await transformTreeShakeClient(`
@@ -136,7 +144,8 @@ export default function Page() {
136
144
  `, "/app/index.tsx");
137
145
  expect(result).toBeDefined(), expect(result.code).toContain("__vxrn__loader__");
138
146
  }), it("should not transform route file when loader is imported (no inline declaration)", async () => {
139
- const result = await transformTreeShakeClient(`
147
+ const result = await transformTreeShakeClient(
148
+ `
140
149
  import { loader } from './loaders/my-loader'
141
150
  import { useLoader } from 'one'
142
151
 
@@ -146,7 +155,10 @@ export default function Layout() {
146
155
  const data = useLoader(loader)
147
156
  return data
148
157
  }
149
- `, "/project/app/_layout.tsx", "/project");
158
+ `,
159
+ "/project/app/_layout.tsx",
160
+ "/project"
161
+ );
150
162
  expect(result).toBeUndefined();
151
163
  }), it("should tree-shake server imports from source file where loader is defined", async () => {
152
164
  const result = await transformTreeShakeClient(
@@ -168,14 +180,18 @@ export function helperUsedByClient() {
168
180
  'export function loader() {return "./loaders/my-loader.ts"}'
169
181
  );
170
182
  }), it("should not transform re-export from source syntax", async () => {
171
- const result = await transformTreeShakeClient(`
183
+ const result = await transformTreeShakeClient(
184
+ `
172
185
  export { loader } from './loaders/shared-loader'
173
186
  import { useLoader } from 'one'
174
187
 
175
188
  export default function Page() {
176
189
  return 'hello'
177
190
  }
178
- `, "/project/app/page.tsx", "/project");
191
+ `,
192
+ "/project/app/page.tsx",
193
+ "/project"
194
+ );
179
195
  expect(result).toBeUndefined();
180
196
  }), it("should preserve type-only imports during tree shaking", async () => {
181
197
  const result = await transformTreeShakeClient(`
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/vite/plugins/clientTreeShakePlugin.test.ts"],
4
- "mappings": "AAAA,SAAS,UAAU,QAAQ,UAAU;AACrC,SAAS,gCAAgC;AAEzC,SAAS,yBAAyB,MAAM;AACtC,WAAS,4BAA4B,MAAM;AACzC,OAAG,+CAA+C,YAAY;AAe5D,YAAM,SAAS,MAAM,yBAdR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAcuC,gBAAgB;AACpE,aAAO,MAAM,EAAE,YAAY,GAE3B,OAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,iBAAiB,GAEpD,OAAO,OAAQ,IAAI,EAAE,UAAU,cAAc,GAC7C,OAAO,OAAQ,IAAI,EAAE,UAAU,KAAK;AAAA,IACtC,CAAC,GAED,GAAG,mDAAmD,YAAY;AAehE,YAAM,SAAS,MAAM,yBAdR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAcuC,gBAAgB;AACpE,aAAO,MAAM,EAAE,YAAY,GAE3B,OAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,iBAAiB;AAAA,IACtD,CAAC,GAED,GAAG,yDAAyD,YAAY;AAetE,YAAM,SAAS,MAAM,yBAdR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAcuC,gBAAgB;AACpE,aAAO,MAAM,EAAE,YAAY,GAE3B,OAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,iBAAiB;AAAA,IACtD,CAAC,GAED,GAAG,qEAAqE,YAAY;AAgBlF,YAAM,SAAS,MAAM,yBAfR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAeuC,gBAAgB;AACpE,aAAO,MAAM,EAAE,YAAY,GAE3B,OAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,iBAAiB,GAEpD,OAAO,OAAQ,IAAI,EAAE,UAAU,YAAY;AAAA,IAC7C,CAAC,GAED,GAAG,sDAAsD,YAAY;AAanE,YAAM,SAAS,MAAM,yBAZR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAYuC,iBAAiB;AACrE,aAAO,MAAM,EAAE,YAAY,GAC3B,OAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,iBAAiB;AAAA,IACtD,CAAC,GAED,GAAG,qEAAqE,YAAY;AAQlF,YAAM,SAAS,MAAM,yBAPR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAOuC,gBAAgB;AACpE,aAAO,MAAM,EAAE,cAAc;AAAA,IAC/B,CAAC,GAED,GAAG,6DAA6D,YAAY;AAc1E,YAAM,SAAS,MAAM,yBAbR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAauC,4BAA4B,UAAU;AAC1F,aAAO,MAAM,EAAE,YAAY,GAE3B,OAAO,OAAQ,IAAI,EAAE,UAAU,mDAAmD,GAClF,OAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,kBAAkB;AAAA,IACvD,CAAC,GAED,GAAG,+DAA+D,YAAY;AAc5E,YAAM,SAAS,MAAM,yBAbR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAauC,6BAA6B,UAAU;AAC3F,aAAO,MAAM,EAAE,YAAY,GAC3B,OAAO,OAAQ,IAAI,EAAE,UAAU,oDAAoD;AAAA,IACrF,CAAC,GAED,GAAG,mEAAmE,YAAY;AAchF,YAAM,SAAS,MAAM,yBAbR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAauC,gBAAgB;AACpE,aAAO,MAAM,EAAE,YAAY,GAC3B,OAAO,OAAQ,IAAI,EAAE,UAAU,kBAAkB;AAAA,IACnD,CAAC,GAED,GAAG,mFAAmF,YAAY;AAchG,YAAM,SAAS,MAAM,yBAXR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWuC,4BAA4B,UAAU;AAC1F,aAAO,MAAM,EAAE,cAAc;AAAA,IAC/B,CAAC,GAED,GAAG,6EAA6E,YAAY;AAc1F,YAAM,SAAS,MAAM;AAAA,QAXF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAajB;AAAA,QACA;AAAA,MACF;AACA,aAAO,MAAM,EAAE,YAAY,GAE3B,OAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,gBAAgB,GAEnD,OAAO,OAAQ,IAAI,EAAE,UAAU,oBAAoB,GAEnD,OAAO,OAAQ,IAAI,EAAE;AAAA,QACnB;AAAA,MACF;AAAA,IACF,CAAC,GAED,GAAG,qDAAqD,YAAY;AAUlE,YAAM,SAAS,MAAM,yBARR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQuC,yBAAyB,UAAU;AACvF,aAAO,MAAM,EAAE,cAAc;AAAA,IAC/B,CAAC,GAED,GAAG,yDAAyD,YAAY;AAgBtE,YAAM,SAAS,MAAM,yBAfR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAeuC,gBAAgB;AACpE,aAAO,MAAM,EAAE,YAAY,GAE3B,OAAO,OAAQ,IAAI,EAAE,UAAU,WAAW,GAE1C,OAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,iBAAiB;AAAA,IACtD,CAAC,GAED,GAAG,8DAA8D,YAAY;AAgB3E,YAAM,SAAS,MAAM,yBAfR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAeuC,gBAAgB;AACpE,aAAO,MAAM,EAAE,YAAY,GAE3B,OAAO,OAAQ,IAAI,EAAE,UAAU,iBAAiB,GAEhD,OAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,gBAAgB;AAAA,IACrD,CAAC;AAAA,EACH,CAAC;AACH,CAAC;",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"names":["describe","expect","it","transformTreeShakeClient","result","toBeDefined","code","not","toContain","toBeUndefined"],"sources":["../../../../src/vite/plugins/clientTreeShakePlugin.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["describe","expect","it","transformTreeShakeClient","result","toBeDefined","code","not","toContain","toBeUndefined"],"sources":["../../../../src/vite/plugins/clientTreeShakePlugin.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["describe","expect","it","transformTreeShakeClient","code","result","toBeDefined","not","toContain","toBeUndefined","sourceCode"],"sources":["../../../../src/vite/plugins/clientTreeShakePlugin.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["describe","expect","it","transformTreeShakeClient","code","result","toBeDefined","not","toContain","toBeUndefined","sourceCode"],"sources":["../../../../src/vite/plugins/clientTreeShakePlugin.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "one",
3
- "version": "1.9.9",
3
+ "version": "1.9.10",
4
4
  "license": "BSD-3-Clause",
5
5
  "sideEffects": [
6
6
  "setup.mjs",
@@ -154,17 +154,17 @@
154
154
  "@react-navigation/routers": "~7.5.1",
155
155
  "@swc/core": "^1.14.0",
156
156
  "@ungap/structured-clone": "^1.2.0",
157
- "@vxrn/color-scheme": "1.9.9",
158
- "@vxrn/compiler": "1.9.9",
159
- "@vxrn/resolve": "1.9.9",
160
- "@vxrn/tslib-lite": "1.9.9",
161
- "@vxrn/use-isomorphic-layout-effect": "1.9.9",
162
- "@vxrn/vite-plugin-metro": "1.9.9",
157
+ "@vxrn/color-scheme": "1.9.10",
158
+ "@vxrn/compiler": "1.9.10",
159
+ "@vxrn/resolve": "1.9.10",
160
+ "@vxrn/tslib-lite": "1.9.10",
161
+ "@vxrn/use-isomorphic-layout-effect": "1.9.10",
162
+ "@vxrn/vite-plugin-metro": "1.9.10",
163
163
  "babel-dead-code-elimination": "1.0.10",
164
164
  "babel-plugin-module-resolver": "^5.0.2",
165
165
  "citty": "^0.1.6",
166
166
  "core-js": "^3.38.1",
167
- "create-vxrn": "1.9.9",
167
+ "create-vxrn": "1.9.10",
168
168
  "escape-string-regexp": "^5.0.0",
169
169
  "expo-linking": "~8.0.8",
170
170
  "expo-modules-core": "~3.0.24",
@@ -189,7 +189,7 @@
189
189
  "use-latest-callback": "^0.2.3",
190
190
  "vite": "^7.1.12",
191
191
  "vite-tsconfig-paths": "^6.0.5",
192
- "vxrn": "1.9.9",
192
+ "vxrn": "1.9.10",
193
193
  "ws": "^8.18.0",
194
194
  "xxhashjs": "^0.2.2"
195
195
  },
@@ -1005,13 +1005,23 @@ export async function linkTo(
1005
1005
 
1006
1006
  setLoadingState('loading')
1007
1007
 
1008
- // Preload route modules first so loadRoute() won't throw Suspense promises
1009
- await preloadRoute(href, true)
1008
+ const normalizedPreloadPath = normalizeLoaderPath(href)
1009
+
1010
+ // sync fast path: skip async preload when data is already cached
1011
+ // (e.g., from hover/viewport/intent prefetching via PreloadLinks)
1012
+ if (!(normalizedPreloadPath in preloadedLoaderData) && !(href in preloadedLoaderData)) {
1013
+ await preloadRoute(href, true)
1014
+ } else if (process.env.NODE_ENV !== 'development') {
1015
+ // cached data in prod: still inject CSS (non-blocking so we don't delay nav)
1016
+ const inject = cssInjectFunctions[href]
1017
+ if (inject) {
1018
+ inject().catch(() => {})
1019
+ }
1020
+ }
1010
1021
 
1011
1022
  // detect loader redirect signal before proceeding with navigation
1012
1023
  // this handles the case where a server loader returned redirect() during
1013
1024
  // a client-side navigation — we navigate to the redirect target instead
1014
- const normalizedPreloadPath = normalizeLoaderPath(href)
1015
1025
  const preloadResult = preloadedLoaderData[normalizedPreloadPath]
1016
1026
  if (preloadResult?.__oneRedirect) {
1017
1027
  const redirectTarget = preloadResult.__oneRedirect
@@ -0,0 +1,178 @@
1
+ import { describe, expect, it } from 'vitest'
2
+ import { getServerManifest } from './getServerManifest'
3
+ import type { RouteNode } from '../router/Route'
4
+
5
+ function makeRouteNode(overrides: Partial<RouteNode>): RouteNode {
6
+ return {
7
+ loadRoute: () => ({}),
8
+ contextKey: '',
9
+ route: '',
10
+ children: [],
11
+ dynamic: null,
12
+ type: 'ssg',
13
+ ...overrides,
14
+ } as RouteNode
15
+ }
16
+
17
+ describe('getServerManifest route specificity', () => {
18
+ it('static segment /blog/[slug] should come before fully dynamic /[a]/[b]', () => {
19
+ // simulates: (site)/blog/[slug]+ssg.tsx vs (chat)/[serverId]/[channelId]/index.tsx
20
+ const root = makeRouteNode({
21
+ route: '',
22
+ children: [
23
+ // group (site) with blog/[slug]
24
+ makeRouteNode({
25
+ route: '(site)',
26
+ children: [
27
+ makeRouteNode({
28
+ route: 'blog/[slug]',
29
+ contextKey: '(site)/blog/[slug]+ssg.tsx',
30
+ type: 'ssg',
31
+ dynamic: [{ name: 'slug', deep: false }],
32
+ children: [],
33
+ }),
34
+ ],
35
+ }),
36
+ // group (chat) with [serverId]/[channelId]
37
+ makeRouteNode({
38
+ route: '(chat)',
39
+ children: [
40
+ makeRouteNode({
41
+ route: '[serverId]',
42
+ dynamic: [{ name: 'serverId', deep: false }],
43
+ children: [
44
+ makeRouteNode({
45
+ route: '[channelId]',
46
+ dynamic: [{ name: 'channelId', deep: false }],
47
+ children: [
48
+ makeRouteNode({
49
+ route: 'index',
50
+ contextKey: '(chat)/[serverId]/[channelId]/index.tsx',
51
+ type: 'spa',
52
+ children: [],
53
+ }),
54
+ ],
55
+ }),
56
+ ],
57
+ }),
58
+ ],
59
+ }),
60
+ ],
61
+ })
62
+
63
+ const manifest = getServerManifest(root)
64
+ const pages = manifest.pageRoutes.map((r) => r.file)
65
+
66
+ const blogIdx = pages.indexOf('(site)/blog/[slug]+ssg.tsx')
67
+ const chatIdx = pages.indexOf('(chat)/[serverId]/[channelId]/index.tsx')
68
+
69
+ expect(blogIdx).toBeGreaterThanOrEqual(0)
70
+ expect(chatIdx).toBeGreaterThanOrEqual(0)
71
+ // blog route (static first segment) must come before chat route (all dynamic)
72
+ expect(blogIdx).toBeLessThan(chatIdx)
73
+ })
74
+
75
+ it('/blog should come before /[slug]', () => {
76
+ const root = makeRouteNode({
77
+ route: '',
78
+ children: [
79
+ makeRouteNode({
80
+ route: 'blog',
81
+ contextKey: 'blog.tsx',
82
+ type: 'ssg',
83
+ children: [],
84
+ }),
85
+ makeRouteNode({
86
+ route: '[slug]',
87
+ contextKey: '[slug].tsx',
88
+ type: 'ssr',
89
+ dynamic: [{ name: 'slug', deep: false }],
90
+ children: [],
91
+ }),
92
+ ],
93
+ })
94
+
95
+ const manifest = getServerManifest(root)
96
+ const pages = manifest.pageRoutes.map((r) => r.file)
97
+ expect(pages.indexOf('blog.tsx')).toBeLessThan(pages.indexOf('[slug].tsx'))
98
+ })
99
+
100
+ it('/blog/hello-world should match blog route first, not [serverId]/[channelId]', () => {
101
+ const root = makeRouteNode({
102
+ route: '',
103
+ children: [
104
+ makeRouteNode({
105
+ route: '(site)',
106
+ children: [
107
+ makeRouteNode({
108
+ route: 'blog/[slug]',
109
+ contextKey: '(site)/blog/[slug]+ssg.tsx',
110
+ type: 'ssg',
111
+ dynamic: [{ name: 'slug', deep: false }],
112
+ children: [],
113
+ }),
114
+ ],
115
+ }),
116
+ makeRouteNode({
117
+ route: '(chat)',
118
+ children: [
119
+ makeRouteNode({
120
+ route: '[serverId]',
121
+ dynamic: [{ name: 'serverId', deep: false }],
122
+ children: [
123
+ makeRouteNode({
124
+ route: '[channelId]',
125
+ dynamic: [{ name: 'channelId', deep: false }],
126
+ children: [
127
+ makeRouteNode({
128
+ route: 'index',
129
+ contextKey: '(chat)/[serverId]/[channelId]/index.tsx',
130
+ type: 'spa',
131
+ children: [],
132
+ }),
133
+ ],
134
+ }),
135
+ ],
136
+ }),
137
+ ],
138
+ }),
139
+ ],
140
+ })
141
+
142
+ const manifest = getServerManifest(root)
143
+
144
+ // find first matching route for /blog/hello-world
145
+ const pathname = '/blog/hello-world'
146
+ const matched = manifest.pageRoutes.find((route) => {
147
+ return new RegExp(route.namedRegex).test(pathname)
148
+ })
149
+
150
+ expect(matched?.file).toBe('(site)/blog/[slug]+ssg.tsx')
151
+ })
152
+
153
+ it('[slug] should come before [...catchAll]', () => {
154
+ const root = makeRouteNode({
155
+ route: '',
156
+ children: [
157
+ makeRouteNode({
158
+ route: '[...catchAll]',
159
+ contextKey: '[...catchAll].tsx',
160
+ type: 'ssr',
161
+ dynamic: [{ name: 'catchAll', deep: true }],
162
+ children: [],
163
+ }),
164
+ makeRouteNode({
165
+ route: '[slug]',
166
+ contextKey: '[slug].tsx',
167
+ type: 'ssr',
168
+ dynamic: [{ name: 'slug', deep: false }],
169
+ children: [],
170
+ }),
171
+ ],
172
+ })
173
+
174
+ const manifest = getServerManifest(root)
175
+ const pages = manifest.pageRoutes.map((r) => r.file)
176
+ expect(pages.indexOf('[slug].tsx')).toBeLessThan(pages.indexOf('[...catchAll].tsx'))
177
+ })
178
+ })
@@ -11,7 +11,6 @@
11
11
 
12
12
  import { getContextKey, matchGroupName } from '../router/matchers'
13
13
  import type { RouteNode } from '../router/Route'
14
- import { sortRoutes } from '../router/sortRoutes'
15
14
  import type { One, RouteInfo } from '../vite/types'
16
15
 
17
16
  // TODO: Share these types across cli, server, router, etc.
@@ -41,6 +40,55 @@ function isNotFoundRoute(route: RouteNode) {
41
40
  return Boolean(route.dynamic && route.dynamic[route.dynamic.length - 1].notFound)
42
41
  }
43
42
 
43
+ // sort flattened routes by URL pattern specificity so more specific routes match first
44
+ // compares segment-by-segment: static > [param] > [...catchAll] > +not-found
45
+ function sortByPathSpecificity(
46
+ [keyA, nodeA]: [string, RouteNode],
47
+ [keyB, nodeB]: [string, RouteNode]
48
+ ): number {
49
+ const partsA = keyA.split('/').filter(Boolean)
50
+ const partsB = keyB.split('/').filter(Boolean)
51
+
52
+ const minLen = Math.min(partsA.length, partsB.length)
53
+ for (let i = 0; i < minLen; i++) {
54
+ const aIsDynamic = partsA[i].startsWith('[') || partsA[i] === '+not-found'
55
+ const bIsDynamic = partsB[i].startsWith('[') || partsB[i] === '+not-found'
56
+
57
+ // static beats dynamic
58
+ if (!aIsDynamic && bIsDynamic) return -1
59
+ if (aIsDynamic && !bIsDynamic) return 1
60
+
61
+ // both dynamic: single param beats catch-all/not-found
62
+ if (aIsDynamic && bIsDynamic) {
63
+ const aIsCatchAll = partsA[i].startsWith('[...') || partsA[i] === '+not-found'
64
+ const bIsCatchAll = partsB[i].startsWith('[...') || partsB[i] === '+not-found'
65
+ if (!aIsCatchAll && bIsCatchAll) return -1
66
+ if (aIsCatchAll && !bIsCatchAll) return 1
67
+
68
+ // both catch-all: not-found goes last
69
+ if (aIsCatchAll && bIsCatchAll) {
70
+ const aNotFound = partsA[i] === '+not-found'
71
+ const bNotFound = partsB[i] === '+not-found'
72
+ if (aNotFound && !bNotFound) return 1
73
+ if (!aNotFound && bNotFound) return -1
74
+ }
75
+ }
76
+ }
77
+
78
+ // more segments = more specific
79
+ if (partsA.length !== partsB.length) {
80
+ return partsB.length - partsA.length
81
+ }
82
+
83
+ // not-found routes last
84
+ const aNotFound = isNotFoundRoute(nodeA)
85
+ const bNotFound = isNotFoundRoute(nodeB)
86
+ if (aNotFound && !bNotFound) return 1
87
+ if (!aNotFound && bNotFound) return -1
88
+
89
+ return 0
90
+ }
91
+
44
92
  // Given a nested route tree, return a flattened array of all routes that can be matched.
45
93
  export function getServerManifest(route: RouteNode): OneRouterServerManifestV1 {
46
94
  function getFlatNodes(route: RouteNode, layouts?: RouteNode[]): [string, RouteNode][] {
@@ -76,9 +124,8 @@ export function getServerManifest(route: RouteNode): OneRouterServerManifestV1 {
76
124
  // TODO this could be a lot faster if not functional:
77
125
 
78
126
  // Remove duplicates from the runtime manifest which expands array syntax.
79
- const flat = getFlatNodes(route)
80
- .sort(([, a], [, b]) => sortRoutes(b, a))
81
- .reverse()
127
+ // sort by URL pattern specificity so static segments beat dynamic ones at each position
128
+ const flat = getFlatNodes(route).sort(sortByPathSpecificity)
82
129
 
83
130
  // warn on having multiple routes with the same path!
84
131
  const pathToRoute: Record<string, RouteNode> = {}
package/src/useLoader.ts CHANGED
@@ -4,7 +4,11 @@ import { useParams, usePathname } from './hooks'
4
4
  import { findNearestNotFoundRoute, setNotFoundState } from './notFoundState'
5
5
  import { router } from './router/imperative-api'
6
6
  import { preloadedLoaderData, preloadingLoader, routeNode } from './router/router'
7
- import { subscribeToClientMatches, getClientMatchesSnapshot, updateMatchLoaderData } from './useMatches'
7
+ import {
8
+ subscribeToClientMatches,
9
+ getClientMatchesSnapshot,
10
+ updateMatchLoaderData,
11
+ } from './useMatches'
8
12
  import { getLoaderPath } from './utils/cleanUrl'
9
13
  import { dynamicImport } from './utils/dynamicImport'
10
14
  import { weakKey } from './utils/weakKey'
@@ -243,7 +247,10 @@ if (process.env.NODE_ENV === 'development' && typeof window !== 'undefined') {
243
247
  * dedicated per-layout refetch endpoint would be needed to truly re-run a layout
244
248
  * loader in isolation; that can be added in a follow-up.
245
249
  */
246
- export async function refetchMatchLoader(routeId: string, currentPath: string): Promise<void> {
250
+ export async function refetchMatchLoader(
251
+ routeId: string,
252
+ currentPath: string
253
+ ): Promise<void> {
247
254
  const cacheBust = `${Date.now()}`
248
255
  const loaderJSUrl = getLoaderPath(currentPath, true, cacheBust)
249
256
 
@@ -314,10 +321,12 @@ export function useLoaderState<
314
321
 
315
322
  // detect if the loader stub returns a routeId string (set by clientTreeShakePlugin)
316
323
  // this enables looking up data from the matches array (needed for layout loaders)
317
- const matchRouteId = loader ? (() => {
318
- const result = loader()
319
- return typeof result === 'string' && result.startsWith('./') ? result : null
320
- })() : null
324
+ const matchRouteId = loader
325
+ ? (() => {
326
+ const result = loader()
327
+ return typeof result === 'string' && result.startsWith('./') ? result : null
328
+ })()
329
+ : null
321
330
 
322
331
  // subscribe to clientMatches changes so refetch triggers re-render
323
332
  const clientMatches = useSyncExternalStore(
package/src/useMatches.ts CHANGED
@@ -37,7 +37,9 @@ export function setClientMatches(matches: RouteMatch[]) {
37
37
  * @internal
38
38
  */
39
39
  export function updateMatchLoaderData(routeId: string, loaderData: unknown) {
40
- clientMatches = clientMatches.map((m) => (m.routeId === routeId ? { ...m, loaderData } : m))
40
+ clientMatches = clientMatches.map((m) =>
41
+ m.routeId === routeId ? { ...m, loaderData } : m
42
+ )
41
43
  for (const listener of clientMatchesListeners) {
42
44
  listener()
43
45
  }