one 1.21.1 → 1.21.3

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 (158) hide show
  1. package/dist/cjs/cli/build.cjs +9 -8
  2. package/dist/cjs/cli/build.native.js +17 -16
  3. package/dist/cjs/cli/build.native.js.map +1 -1
  4. package/dist/cjs/cli/buildPage.cjs +1 -1
  5. package/dist/cjs/cli/buildPage.native.js +1 -1
  6. package/dist/cjs/cli/buildPage.native.js.map +1 -1
  7. package/dist/cjs/daemon/ipc.cjs +21 -3
  8. package/dist/cjs/daemon/ipc.native.js +21 -3
  9. package/dist/cjs/daemon/ipc.native.js.map +1 -1
  10. package/dist/cjs/router/getRoutes.cjs +1 -2
  11. package/dist/cjs/router/getRoutes.native.js +1 -2
  12. package/dist/cjs/router/getRoutes.native.js.map +1 -1
  13. package/dist/cjs/router/hmrImport.native.js +13 -2
  14. package/dist/cjs/router/hmrImport.native.js.map +1 -1
  15. package/dist/cjs/router/hmrImport.native.test.cjs +52 -0
  16. package/dist/cjs/router/hmrImport.native.test.native.js +61 -0
  17. package/dist/cjs/router/hmrImport.native.test.native.js.map +1 -0
  18. package/dist/cjs/router/matchers.cjs +7 -0
  19. package/dist/cjs/router/matchers.native.js +8 -0
  20. package/dist/cjs/router/matchers.native.js.map +1 -1
  21. package/dist/cjs/router/routeHmr.cjs +32 -0
  22. package/dist/cjs/router/routeHmr.native.js +57 -0
  23. package/dist/cjs/router/routeHmr.native.js.map +1 -0
  24. package/dist/cjs/router/routeHmr.native.test.cjs +83 -0
  25. package/dist/cjs/router/routeHmr.native.test.native.js +95 -0
  26. package/dist/cjs/router/routeHmr.native.test.native.js.map +1 -0
  27. package/dist/cjs/router/useScreens.cjs +2 -0
  28. package/dist/cjs/router/useScreens.native.js +2 -0
  29. package/dist/cjs/router/useScreens.native.js.map +1 -1
  30. package/dist/cjs/router/useViteRoutes.cjs +7 -17
  31. package/dist/cjs/router/useViteRoutes.native.js +8 -18
  32. package/dist/cjs/router/useViteRoutes.native.js.map +1 -1
  33. package/dist/cjs/router/useViteRoutes.test.cjs +42 -0
  34. package/dist/cjs/router/useViteRoutes.test.native.js +55 -0
  35. package/dist/cjs/router/useViteRoutes.test.native.js.map +1 -0
  36. package/dist/cjs/utils/cleanUrl.cjs +12 -2
  37. package/dist/cjs/utils/cleanUrl.native.js +15 -3
  38. package/dist/cjs/utils/cleanUrl.native.js.map +1 -1
  39. package/dist/cjs/utils/cleanUrl.test.cjs +37 -0
  40. package/dist/cjs/utils/cleanUrl.test.native.js +37 -0
  41. package/dist/cjs/utils/cleanUrl.test.native.js.map +1 -1
  42. package/dist/cjs/vite/plugins/virtualEntryPlugin.cjs +37 -2
  43. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js +70 -8
  44. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  45. package/dist/cjs/vite/plugins/virtualEntryPlugin.test.cjs +58 -0
  46. package/dist/cjs/vite/plugins/virtualEntryPlugin.test.native.js +62 -0
  47. package/dist/cjs/vite/plugins/virtualEntryPlugin.test.native.js.map +1 -1
  48. package/dist/esm/cli/build.mjs +9 -8
  49. package/dist/esm/cli/build.mjs.map +1 -1
  50. package/dist/esm/cli/build.native.js +17 -16
  51. package/dist/esm/cli/build.native.js.map +1 -1
  52. package/dist/esm/cli/buildPage.mjs +2 -2
  53. package/dist/esm/cli/buildPage.mjs.map +1 -1
  54. package/dist/esm/cli/buildPage.native.js +2 -2
  55. package/dist/esm/cli/buildPage.native.js.map +1 -1
  56. package/dist/esm/daemon/ipc.mjs +21 -3
  57. package/dist/esm/daemon/ipc.mjs.map +1 -1
  58. package/dist/esm/daemon/ipc.native.js +21 -3
  59. package/dist/esm/daemon/ipc.native.js.map +1 -1
  60. package/dist/esm/getURL.native.test.mjs +1 -1
  61. package/dist/esm/router/getRoutes.mjs +2 -3
  62. package/dist/esm/router/getRoutes.mjs.map +1 -1
  63. package/dist/esm/router/getRoutes.native.js +2 -3
  64. package/dist/esm/router/getRoutes.native.js.map +1 -1
  65. package/dist/esm/router/hmrImport.native.js +13 -2
  66. package/dist/esm/router/hmrImport.native.js.map +1 -1
  67. package/dist/esm/router/hmrImport.native.test.js +51 -0
  68. package/dist/esm/router/hmrImport.native.test.js.map +6 -0
  69. package/dist/esm/router/hmrImport.native.test.mjs +53 -0
  70. package/dist/esm/router/hmrImport.native.test.mjs.map +1 -0
  71. package/dist/esm/router/hmrImport.native.test.native.js +59 -0
  72. package/dist/esm/router/hmrImport.native.test.native.js.map +1 -0
  73. package/dist/esm/router/matchers.mjs +7 -1
  74. package/dist/esm/router/matchers.mjs.map +1 -1
  75. package/dist/esm/router/matchers.native.js +8 -1
  76. package/dist/esm/router/matchers.native.js.map +1 -1
  77. package/dist/esm/router/routeHmr.mjs +6 -0
  78. package/dist/esm/router/routeHmr.mjs.map +1 -0
  79. package/dist/esm/router/routeHmr.native.js +28 -0
  80. package/dist/esm/router/routeHmr.native.js.map +1 -0
  81. package/dist/esm/router/routeHmr.native.test.js +58 -0
  82. package/dist/esm/router/routeHmr.native.test.js.map +6 -0
  83. package/dist/esm/router/routeHmr.native.test.mjs +60 -0
  84. package/dist/esm/router/routeHmr.native.test.mjs.map +1 -0
  85. package/dist/esm/router/routeHmr.native.test.native.js +69 -0
  86. package/dist/esm/router/routeHmr.native.test.native.js.map +1 -0
  87. package/dist/esm/router/useScreens.mjs +1 -0
  88. package/dist/esm/router/useScreens.mjs.map +1 -1
  89. package/dist/esm/router/useScreens.native.js +2 -0
  90. package/dist/esm/router/useScreens.native.js.map +1 -1
  91. package/dist/esm/router/useViteRoutes.mjs +7 -17
  92. package/dist/esm/router/useViteRoutes.mjs.map +1 -1
  93. package/dist/esm/router/useViteRoutes.native.js +8 -18
  94. package/dist/esm/router/useViteRoutes.native.js.map +1 -1
  95. package/dist/esm/router/useViteRoutes.test.mjs +43 -0
  96. package/dist/esm/router/useViteRoutes.test.mjs.map +1 -0
  97. package/dist/esm/router/useViteRoutes.test.native.js +53 -0
  98. package/dist/esm/router/useViteRoutes.test.native.js.map +1 -0
  99. package/dist/esm/utils/cleanUrl.mjs +11 -3
  100. package/dist/esm/utils/cleanUrl.mjs.map +1 -1
  101. package/dist/esm/utils/cleanUrl.native.js +14 -4
  102. package/dist/esm/utils/cleanUrl.native.js.map +1 -1
  103. package/dist/esm/utils/cleanUrl.test.mjs +38 -1
  104. package/dist/esm/utils/cleanUrl.test.mjs.map +1 -1
  105. package/dist/esm/utils/cleanUrl.test.native.js +38 -1
  106. package/dist/esm/utils/cleanUrl.test.native.js.map +1 -1
  107. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs +26 -2
  108. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs.map +1 -1
  109. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js +59 -8
  110. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  111. package/dist/esm/vite/plugins/virtualEntryPlugin.test.mjs +58 -0
  112. package/dist/esm/vite/plugins/virtualEntryPlugin.test.mjs.map +1 -1
  113. package/dist/esm/vite/plugins/virtualEntryPlugin.test.native.js +62 -0
  114. package/dist/esm/vite/plugins/virtualEntryPlugin.test.native.js.map +1 -1
  115. package/package.json +9 -9
  116. package/src/cli/build.ts +18 -11
  117. package/src/cli/buildPage.ts +12 -2
  118. package/src/daemon/ipc.ts +46 -4
  119. package/src/router/getRoutes.ts +2 -3
  120. package/src/router/hmrImport.native.test.ts +55 -0
  121. package/src/router/hmrImport.native.ts +25 -5
  122. package/src/router/matchers.ts +10 -0
  123. package/src/router/routeHmr.native.test.ts +71 -0
  124. package/src/router/routeHmr.native.ts +37 -0
  125. package/src/router/routeHmr.ts +8 -0
  126. package/src/router/useScreens.tsx +12 -0
  127. package/src/router/useViteRoutes.test.ts +49 -0
  128. package/src/router/useViteRoutes.tsx +12 -21
  129. package/src/utils/cleanUrl.test.ts +63 -1
  130. package/src/utils/cleanUrl.ts +25 -3
  131. package/src/vite/plugins/virtualEntryPlugin.test.ts +70 -0
  132. package/src/vite/plugins/virtualEntryPlugin.ts +48 -2
  133. package/src/vite/types.ts +9 -0
  134. package/types/cli/build.d.ts.map +1 -1
  135. package/types/cli/buildPage.d.ts.map +1 -1
  136. package/types/daemon/ipc.d.ts.map +1 -1
  137. package/types/router/getRoutes.d.ts.map +1 -1
  138. package/types/router/hmrImport.native.d.ts +8 -3
  139. package/types/router/hmrImport.native.d.ts.map +1 -1
  140. package/types/router/hmrImport.native.test.d.ts +2 -0
  141. package/types/router/hmrImport.native.test.d.ts.map +1 -0
  142. package/types/router/matchers.d.ts +2 -0
  143. package/types/router/matchers.d.ts.map +1 -1
  144. package/types/router/routeHmr.d.ts +3 -0
  145. package/types/router/routeHmr.d.ts.map +1 -0
  146. package/types/router/routeHmr.native.d.ts +6 -0
  147. package/types/router/routeHmr.native.d.ts.map +1 -0
  148. package/types/router/routeHmr.native.test.d.ts +2 -0
  149. package/types/router/routeHmr.native.test.d.ts.map +1 -0
  150. package/types/router/useScreens.d.ts.map +1 -1
  151. package/types/router/useViteRoutes.d.ts.map +1 -1
  152. package/types/router/useViteRoutes.test.d.ts +2 -0
  153. package/types/router/useViteRoutes.test.d.ts.map +1 -0
  154. package/types/utils/cleanUrl.d.ts +2 -0
  155. package/types/utils/cleanUrl.d.ts.map +1 -1
  156. package/types/vite/plugins/virtualEntryPlugin.d.ts.map +1 -1
  157. package/types/vite/types.d.ts +8 -0
  158. package/types/vite/types.d.ts.map +1 -1
@@ -169,22 +169,14 @@ function globbedRoutesToRouteContext(paths, routerRoot, options) {
169
169
  },
170
170
  clearFile: function (file) {
171
171
  hmrVersion++;
172
- var normalizedFile = file.replace(/^app\//, "./");
173
- Object.keys(loadedRoutes).forEach(function (key) {
174
- if (key === normalizedFile || key.endsWith(normalizedFile.replace("./", "/"))) {
175
- delete loadedRoutes[key];
176
- }
177
- });
178
- Object.keys(promises).forEach(function (key) {
179
- if (key === normalizedFile || key.endsWith(normalizedFile.replace("./", "/"))) {
180
- delete promises[key];
181
- }
182
- });
183
- Object.keys(preloadedModules).forEach(function (key) {
184
- if (key.includes(file)) {
185
- delete preloadedModules[key];
186
- }
172
+ var normalizedFile = file.replace(/\\/g, "/").replace(/^\//, "");
173
+ var routeId = moduleKeys.find(function (key) {
174
+ return routePaths[key].replace(/\\/g, "/").replace(/^\//, "") === normalizedFile;
187
175
  });
176
+ if (!routeId) return;
177
+ delete loadedRoutes[routeId];
178
+ delete promises[routeId];
179
+ delete preloadedModules[routePaths[routeId]];
188
180
  },
189
181
  getVersion: function () {
190
182
  return hmrVersion;
@@ -208,9 +200,7 @@ function globbedRoutesToRouteContext(paths, routerRoot, options) {
208
200
  if (!promises[id]) {
209
201
  var importPromise;
210
202
  if (process.env.NODE_ENV === "development" && hmrVersion > 0 && routePaths[id]) {
211
- importPromise = hmrImport(routePaths[id]).catch(function () {
212
- return routesSync[id]();
213
- });
203
+ importPromise = hmrImport(routePaths[id]);
214
204
  } else {
215
205
  importPromise = routesSync[id]();
216
206
  }
@@ -1 +1 @@
1
- {"version":3,"names":["hmrImport","lastVersion","context","useViteRoutes","routes","routerRoot","options","version","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","keys","preloadedModules","Symbol","iterator","_step","next","done","key","value","err","return","loadRoutes","registerPreloadedRoute","module","getPreloadedModule","getPreloadedModuleKeys","matchDynamicRoute","routePattern","actualPath","routeSegments","split","pathSegments","hasCatchAll","some","s","startsWith","catchAllIdx","findIndex","i","length","i1","routeSeg","pathSeg","endsWith","preloadRouteModules","href","globbed","globalThis","normalizedHref","replace","promises","_loop","routePath","isStaticMatch","isDynamicMatch","includes","push","then","mod","catch","Promise","all","paths","globbedRoutesToRouteContext","routesSync","routePaths","loadedRoutes","clears","forEach","path","_options_routeModes","console","error","loadRouteFunction","pathWithoutRelative","originalPath","slice","routeModes","info","moduleKeys","hmrVersion","window","__oneRouteCache","clear","clearFile","file","normalizedFile","getVersion","resolve","id","clearTimeout","preloadKey","preloaded"],"sources":["../../../src/router/useViteRoutes.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["hmrImport","lastVersion","context","useViteRoutes","routes","routerRoot","options","version","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","keys","preloadedModules","Symbol","iterator","_step","next","done","key","value","err","return","loadRoutes","registerPreloadedRoute","module","getPreloadedModule","getPreloadedModuleKeys","matchDynamicRoute","routePattern","actualPath","routeSegments","split","pathSegments","hasCatchAll","some","s","startsWith","catchAllIdx","findIndex","i","length","i1","routeSeg","pathSeg","endsWith","preloadRouteModules","href","globbed","globalThis","normalizedHref","replace","promises","_loop","routePath","isStaticMatch","isDynamicMatch","includes","push","then","mod","catch","Promise","all","paths","globbedRoutesToRouteContext","routesSync","routePaths","loadedRoutes","clears","forEach","path","_options_routeModes","console","error","loadRouteFunction","pathWithoutRelative","originalPath","slice","routeModes","info","moduleKeys","hmrVersion","window","__oneRouteCache","clear","clearFile","file","normalizedFile","routeId","find","getVersion","resolve","id","clearTimeout","preloadKey","preloaded"],"sources":["../../../src/router/useViteRoutes.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,43 @@
1
+ import { afterEach, describe, expect, it, vi } from "vitest";
2
+ import { globbedRoutesToRouteContext } from "./useViteRoutes.mjs";
3
+ const mocks = vi.hoisted(() => ({
4
+ hmrImport: vi.fn()
5
+ }));
6
+ vi.mock("./hmrImport", () => ({
7
+ hmrImport: mocks.hmrImport
8
+ }));
9
+ const realWindow = globalThis.window;
10
+ afterEach(() => {
11
+ vi.unstubAllEnvs();
12
+ mocks.hmrImport.mockReset();
13
+ globalThis.window = realWindow;
14
+ });
15
+ async function resolveRoute(context) {
16
+ try {
17
+ return context("./index.tsx");
18
+ } catch (pending) {
19
+ await pending;
20
+ return context("./index.tsx");
21
+ }
22
+ }
23
+ describe("globbedRoutesToRouteContext HMR", () => {
24
+ it("evicts and reloads a route under a custom router root", async () => {
25
+ vi.stubEnv("NODE_ENV", "development");
26
+ globalThis.window = {};
27
+ const initialRoute = {
28
+ default: () => "initial"
29
+ };
30
+ const updatedRoute = {
31
+ default: () => "updated"
32
+ };
33
+ const context = globbedRoutesToRouteContext({
34
+ "/routes/index.tsx": () => Promise.resolve(initialRoute)
35
+ }, "routes");
36
+ await expect(resolveRoute(context)).resolves.toBe(initialRoute);
37
+ mocks.hmrImport.mockResolvedValue(updatedRoute);
38
+ globalThis.window.__oneRouteCache.clearFile("routes/index.tsx");
39
+ await expect(resolveRoute(context)).resolves.toBe(updatedRoute);
40
+ expect(mocks.hmrImport).toHaveBeenCalledWith("/routes/index.tsx");
41
+ });
42
+ });
43
+ //# sourceMappingURL=useViteRoutes.test.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["afterEach","describe","expect","it","vi","globbedRoutesToRouteContext","mocks","hoisted","hmrImport","fn","mock","realWindow","globalThis","window","unstubAllEnvs","mockReset","resolveRoute","context","pending","stubEnv","initialRoute","default","updatedRoute","/routes/index.tsx","Promise","resolve","resolves","toBe","mockResolvedValue","__oneRouteCache","clearFile","toHaveBeenCalledWith"],"sources":["../../../src/router/useViteRoutes.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,EAAWC,QAAA,EAAUC,MAAA,EAAQC,EAAA,EAAIC,EAAA,QAAU;AAUpD,SAASC,2BAAA,QAAmC;AAR5C,MAAMC,KAAA,GAAQF,EAAA,CAAGG,OAAA,CAAQ,OAAO;EAC9BC,SAAA,EAAWJ,EAAA,CAAGK,EAAA,CAAG;AACnB,EAAE;AAEFL,EAAA,CAAGM,IAAA,CAAK,eAAe,OAAO;EAC5BF,SAAA,EAAWF,KAAA,CAAME;AACnB,EAAE;AAIF,MAAMG,UAAA,GAAcC,UAAA,CAAmBC,MAAA;AAEvCb,SAAA,CAAU,MAAM;EACdI,EAAA,CAAGU,aAAA,CAAc;EACjBR,KAAA,CAAME,SAAA,CAAUO,SAAA,CAAU;EACxBH,UAAA,CAAmBC,MAAA,GAASF,UAAA;AAChC,CAAC;AAED,eAAeK,aAAaC,OAAA,EAAyD;EACnF,IAAI;IACF,OAAOA,OAAA,CAAQ,aAAa;EAC9B,SAASC,OAAA,EAAS;IAChB,MAAMA,OAAA;IACN,OAAOD,OAAA,CAAQ,aAAa;EAC9B;AACF;AAEAhB,QAAA,CAAS,mCAAmC,MAAM;EAChDE,EAAA,CAAG,yDAAyD,YAAY;IACtEC,EAAA,CAAGe,OAAA,CAAQ,YAAY,aAAa;IAClCP,UAAA,CAAmBC,MAAA,GAAS,CAAC;IAC/B,MAAMO,YAAA,GAAe;MAAEC,OAAA,EAASA,CAAA,KAAM;IAAU;IAChD,MAAMC,YAAA,GAAe;MAAED,OAAA,EAASA,CAAA,KAAM;IAAU;IAChD,MAAMJ,OAAA,GAAUZ,2BAAA,CACd;MAAE,qBAAqBkB,CAAA,KAAMC,OAAA,CAAQC,OAAA,CAAQL,YAAY;IAAE,GAC3D,QACF;IAEA,MAAMlB,MAAA,CAAOc,YAAA,CAAaC,OAAO,CAAC,EAAES,QAAA,CAASC,IAAA,CAAKP,YAAY;IAE9Dd,KAAA,CAAME,SAAA,CAAUoB,iBAAA,CAAkBN,YAAY;IAC5CV,UAAA,CAAmBC,MAAA,CAAOgB,eAAA,CAAgBC,SAAA,CAAU,kBAAkB;IAExE,MAAM5B,MAAA,CAAOc,YAAA,CAAaC,OAAO,CAAC,EAAES,QAAA,CAASC,IAAA,CAAKL,YAAY;IAC9DpB,MAAA,CAAOI,KAAA,CAAME,SAAS,EAAEuB,oBAAA,CAAqB,mBAAmB;EAClE,CAAC;AACH,CAAC","ignoreList":[]}
@@ -0,0 +1,53 @@
1
+ import { afterEach, describe, expect, it, vi } from "vitest";
2
+ import { globbedRoutesToRouteContext } from "./useViteRoutes.native.js";
3
+ var mocks = vi.hoisted(function () {
4
+ return {
5
+ hmrImport: vi.fn()
6
+ };
7
+ });
8
+ vi.mock("./hmrImport", function () {
9
+ return {
10
+ hmrImport: mocks.hmrImport
11
+ };
12
+ });
13
+ var realWindow = globalThis.window;
14
+ afterEach(function () {
15
+ vi.unstubAllEnvs();
16
+ mocks.hmrImport.mockReset();
17
+ globalThis.window = realWindow;
18
+ });
19
+ async function resolveRoute(context) {
20
+ try {
21
+ return context("./index.tsx");
22
+ } catch (pending) {
23
+ await pending;
24
+ return context("./index.tsx");
25
+ }
26
+ }
27
+ describe("globbedRoutesToRouteContext HMR", function () {
28
+ it("evicts and reloads a route under a custom router root", async function () {
29
+ vi.stubEnv("NODE_ENV", "development");
30
+ globalThis.window = {};
31
+ var initialRoute = {
32
+ default: function () {
33
+ return "initial";
34
+ }
35
+ };
36
+ var updatedRoute = {
37
+ default: function () {
38
+ return "updated";
39
+ }
40
+ };
41
+ var context = globbedRoutesToRouteContext({
42
+ "/routes/index.tsx": function () {
43
+ return Promise.resolve(initialRoute);
44
+ }
45
+ }, "routes");
46
+ await expect(resolveRoute(context)).resolves.toBe(initialRoute);
47
+ mocks.hmrImport.mockResolvedValue(updatedRoute);
48
+ globalThis.window.__oneRouteCache.clearFile("routes/index.tsx");
49
+ await expect(resolveRoute(context)).resolves.toBe(updatedRoute);
50
+ expect(mocks.hmrImport).toHaveBeenCalledWith("/routes/index.tsx");
51
+ });
52
+ });
53
+ //# sourceMappingURL=useViteRoutes.test.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["afterEach","describe","expect","it","vi","globbedRoutesToRouteContext","mocks","hoisted","hmrImport","fn","mock","realWindow","globalThis","window","unstubAllEnvs","mockReset","resolveRoute","context","pending","stubEnv","initialRoute","default","updatedRoute"],"sources":["../../../src/router/useViteRoutes.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,EAAWC,QAAA,EAAUC,MAAA,EAAQC,EAAA,EAAIC,EAAA,QAAU;AAUpD,SAASC,2BAAA,QAAmC;AAR5C,IAAAC,KAAM,GAAAF,EAAQ,CAAAG,OAAG,aAAe;EAC9B;IACAC,SAAA,EAAAJ,EAAA,CAAAK,EAAA;EAEF,CAAG;AAA2B,EAC5B;AACFL,EAAE,CAAAM,IAAA;EAIF,OAAM;IAENF,SAAU,EAAAF,KAAM,CAAAE;EACd;AACA;AACC,IAACG,UAAmB,GAAAC,UAAS,CAAAC,MAAA;AAChCb,SAAC;EAEDI,EAAA,CAAAU,aAAe;EACbR,KAAI,CAAAE,SAAA,CAAAO,SAAA;EACFH,UAAO,CAAAC,MAAQ,GAAAF,UAAa;AAAA,EAC9B;AACE,eAAMK,aAAAC,OAAA;EACN;IACF,OAAAA,OAAA;EACF,SAAAC,OAAA;IAEA,MAASA,OAAA;IACP,OAAGD,OAAA;EACD;AACC;AACDhB,QAAA,kCAAsC,cAAU;EAChDE,EAAA,wDAAgD;IAChDC,EAAA,CAAAe,OAAM,WAAU;IAAAP,UACZ,CAAAC,MAAA;IAAyD,IAC3DO,YAAA;MACFC,OAAA,WAAAA,CAAA;QAEA,OAAM,SAAO;MAEb;IACE;IAEF,IAAAC,YAAa;MACbD,OAAO,WAAAA,CAAA,EAAe;QACvB;MACF","ignoreList":[]}
@@ -1,8 +1,16 @@
1
1
  import { CSS_PRELOAD_JS_POSTFIX, isNative, LOADER_JS_POSTFIX, LOADER_JS_POSTFIX_REGEX, PRELOAD_JS_POSTFIX } from "../constants.mjs";
2
2
  import { getURL } from "../getURL.mjs";
3
3
  import { removeSearch } from "./removeSearch.mjs";
4
+ function encodeReservedFilenameChars(path) {
5
+ return path.replaceAll("=", "=3d").replace(/[<>:"|?*]/g, char => `=${char.charCodeAt(0).toString(16).padStart(2, "0")}`);
6
+ }
7
+ function decodeReservedFilenameChars(path) {
8
+ return path.replace(/=([0-9a-f]{2})/g, (_match, hexCode) => String.fromCharCode(Number.parseInt(hexCode, 16)));
9
+ }
4
10
  function cleanUrl(path) {
5
- return removeSearch(path).replace(/\/$/, "").replaceAll("_", "__").replaceAll("/", "_");
11
+ return encodeReservedFilenameChars(removeSearch(path).replace(/\/$/, "")
12
+ // remove trailing slash before encoding
13
+ ).replaceAll("_", "__").replaceAll("/", "_");
6
14
  }
7
15
  const isClient = typeof window !== "undefined";
8
16
  const clientSideURL = isClient ? getURL() : "";
@@ -21,7 +29,7 @@ function getLoaderPath(currentPath, includeUrl = isNative, cacheBust) {
21
29
  return `${baseURL}${devPath}/assets/${cleanedUrl}${cacheBustSegment}${LOADER_JS_POSTFIX}`;
22
30
  }
23
31
  function getPathFromLoaderPath(loaderPath) {
24
- return loaderPath.replace(LOADER_JS_POSTFIX_REGEX, "").replace(/^(\/_one)?\/assets/, "").replace(/_refetch_\d+_?/, "").replace(/__|_/g, match => match === "__" ? "_" : "/");
32
+ return decodeReservedFilenameChars(loaderPath.replace(LOADER_JS_POSTFIX_REGEX, "").replace(/^(\/_one)?\/assets/, "").replace(/_refetch_\d+_?/, "").replace(/__|_/g, match => match === "__" ? "_" : "/"));
25
33
  }
26
- export { getLoaderPath, getPathFromLoaderPath, getPreloadCSSPath, getPreloadPath };
34
+ export { decodeReservedFilenameChars, encodeReservedFilenameChars, getLoaderPath, getPathFromLoaderPath, getPreloadCSSPath, getPreloadPath };
27
35
  //# sourceMappingURL=cleanUrl.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["CSS_PRELOAD_JS_POSTFIX","isNative","LOADER_JS_POSTFIX","LOADER_JS_POSTFIX_REGEX","PRELOAD_JS_POSTFIX","getURL","removeSearch","cleanUrl","path","replace","replaceAll","isClient","window","clientSideURL","getPreloadPath","currentPath","slice","getPreloadCSSPath","getLoaderPath","includeUrl","cacheBust","baseURL","devPath","process","env","NODE_ENV","currentPathUrl","URL","cleanedUrl","pathname","cacheBustSegment","getPathFromLoaderPath","loaderPath","match"],"sources":["../../../src/utils/cleanUrl.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,sBAAA,EACAC,QAAA,EACAC,iBAAA,EACAC,uBAAA,EACAC,kBAAA,QACK;AACP,SAASC,MAAA,QAAc;AACvB,SAASC,YAAA,QAAoB;AAE7B,SAASC,SAASC,IAAA,EAAc;EAC9B,OAAOF,YAAA,CAAaE,IAAI,EACrBC,OAAA,CAAQ,OAAO,EAAE,EACjBC,UAAA,CAAW,KAAK,IAAI,EACpBA,UAAA,CAAW,KAAK,GAAG;AACxB;AAEA,MAAMC,QAAA,GAAW,OAAOC,MAAA,KAAW;AACnC,MAAMC,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,kBAAkBF,WAAA,EAAqB;EACrD,OAAO,GAAGF,aAAa,WAAWN,QAAA,CAASQ,WAAA,CAAYC,KAAA,CAAM,CAAC,CAAC,CAAC,GAAGhB,sBAAsB;AAC3F;AAEO,SAASkB,cACdH,WAAA,EACAI,UAAA,GAAalB,QAAA,EACbmB,SAAA,EACA;EACA,MAAMC,OAAA,GAAUF,UAAA,GAAad,MAAA,CAAO,IAAI;EACxC,MAAMiB,OAAA,GAAUC,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,gBAAgB,UAAU;EAEnE,MAAMC,cAAA,GAAiB,IAAIC,GAAA,CAAIZ,WAAA,EAAa,oBAAoB;EAEhE,MAAMa,UAAA,GAAarB,QAAA,CAASmB,cAAA,CAAeG,QAAA,CAASb,KAAA,CAAM,CAAC,CAAC;EAC5D,MAAMc,gBAAA,GAAmBV,SAAA,GAAY,YAAYA,SAAS,MAAM;EAEhE,OAAO,GAAGC,OAAO,GAAGC,OAAO,WAAWM,UAAU,GAAGE,gBAAgB,GAAG5B,iBAAiB;AACzF;AAEO,SAAS6B,sBAAsBC,UAAA,EAAoB;EACxD,OACEA,UAAA,CACGvB,OAAA,CAAQN,uBAAA,EAAyB,EAAE,EACnCM,OAAA,CAAQ,sBAAsB,EAAE,EAChCA,OAAA,CAAQ,kBAAkB,EAAE,EAE5BA,OAAA,CAAQ,SAAUwB,KAAA,IAAWA,KAAA,KAAU,OAAO,MAAM,GAAI;AAE/D","ignoreList":[]}
1
+ {"version":3,"names":["CSS_PRELOAD_JS_POSTFIX","isNative","LOADER_JS_POSTFIX","LOADER_JS_POSTFIX_REGEX","PRELOAD_JS_POSTFIX","getURL","removeSearch","encodeReservedFilenameChars","path","replaceAll","replace","char","charCodeAt","toString","padStart","decodeReservedFilenameChars","_match","hexCode","String","fromCharCode","Number","parseInt","cleanUrl","isClient","window","clientSideURL","getPreloadPath","currentPath","slice","getPreloadCSSPath","getLoaderPath","includeUrl","cacheBust","baseURL","devPath","process","env","NODE_ENV","currentPathUrl","URL","cleanedUrl","pathname","cacheBustSegment","getPathFromLoaderPath","loaderPath","match"],"sources":["../../../src/utils/cleanUrl.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,sBAAA,EACAC,QAAA,EACAC,iBAAA,EACAC,uBAAA,EACAC,kBAAA,QACK;AACP,SAASC,MAAA,QAAc;AACvB,SAASC,YAAA,QAAoB;AAQtB,SAASC,4BAA4BC,IAAA,EAAc;EACxD,OAAOA,IAAA,CACJC,UAAA,CAAW,KAAK,KAAK,EACrBC,OAAA,CACC,cACCC,IAAA,IAAS,IAAIA,IAAA,CAAKC,UAAA,CAAW,CAAC,EAAEC,QAAA,CAAS,EAAE,EAAEC,QAAA,CAAS,GAAG,GAAG,CAAC,EAChE;AACJ;AAEO,SAASC,4BAA4BP,IAAA,EAAc;EACxD,OAAOA,IAAA,CAAKE,OAAA,CAAQ,mBAAmB,CAACM,MAAA,EAAQC,OAAA,KAC9CC,MAAA,CAAOC,YAAA,CAAaC,MAAA,CAAOC,QAAA,CAASJ,OAAA,EAAS,EAAE,CAAC,CAClD;AACF;AAEA,SAASK,SAASd,IAAA,EAAc;EAC9B,OAAOD,2BAAA,CACLD,YAAA,CAAaE,IAAI,EAAEE,OAAA,CAAQ,OAAO,EAAE;EAAA;EACtC,EACGD,UAAA,CAAW,KAAK,IAAI,EACpBA,UAAA,CAAW,KAAK,GAAG;AACxB;AAEA,MAAMc,QAAA,GAAW,OAAOC,MAAA,KAAW;AACnC,MAAMC,aAAA,GAAgBF,QAAA,GAAWlB,MAAA,CAAO,IAAI;AAErC,SAASqB,eAAeC,WAAA,EAAqB;EAClD,OAAO,GAAGF,aAAa,WAAWH,QAAA,CAASK,WAAA,CAAYC,KAAA,CAAM,CAAC,CAAC,CAAC,GAAGxB,kBAAkB;AACvF;AAEO,SAASyB,kBAAkBF,WAAA,EAAqB;EACrD,OAAO,GAAGF,aAAa,WAAWH,QAAA,CAASK,WAAA,CAAYC,KAAA,CAAM,CAAC,CAAC,CAAC,GAAG5B,sBAAsB;AAC3F;AAEO,SAAS8B,cACdH,WAAA,EACAI,UAAA,GAAa9B,QAAA,EACb+B,SAAA,EACA;EACA,MAAMC,OAAA,GAAUF,UAAA,GAAa1B,MAAA,CAAO,IAAI;EACxC,MAAM6B,OAAA,GAAUC,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,gBAAgB,UAAU;EAEnE,MAAMC,cAAA,GAAiB,IAAIC,GAAA,CAAIZ,WAAA,EAAa,oBAAoB;EAEhE,MAAMa,UAAA,GAAalB,QAAA,CAASgB,cAAA,CAAeG,QAAA,CAASb,KAAA,CAAM,CAAC,CAAC;EAC5D,MAAMc,gBAAA,GAAmBV,SAAA,GAAY,YAAYA,SAAS,MAAM;EAEhE,OAAO,GAAGC,OAAO,GAAGC,OAAO,WAAWM,UAAU,GAAGE,gBAAgB,GAAGxC,iBAAiB;AACzF;AAEO,SAASyC,sBAAsBC,UAAA,EAAoB;EACxD,OAAO7B,2BAAA,CACL6B,UAAA,CACGlC,OAAA,CAAQP,uBAAA,EAAyB,EAAE,EACnCO,OAAA,CAAQ,sBAAsB,EAAE,EAChCA,OAAA,CAAQ,kBAAkB,EAAE,EAE5BA,OAAA,CAAQ,SAAUmC,KAAA,IAAWA,KAAA,KAAU,OAAO,MAAM,GAAI,CAC7D;AACF","ignoreList":[]}
@@ -1,8 +1,18 @@
1
1
  import { CSS_PRELOAD_JS_POSTFIX, isNative, LOADER_JS_POSTFIX, LOADER_JS_POSTFIX_REGEX, PRELOAD_JS_POSTFIX } from "../constants.native.js";
2
2
  import { getURL } from "../getURL.native.js";
3
3
  import { removeSearch } from "./removeSearch.native.js";
4
+ function encodeReservedFilenameChars(path) {
5
+ return path.replaceAll("=", "=3d").replace(/[<>:"|?*]/g, function (char) {
6
+ return `=${char.charCodeAt(0).toString(16).padStart(2, "0")}`;
7
+ });
8
+ }
9
+ function decodeReservedFilenameChars(path) {
10
+ return path.replace(/=([0-9a-f]{2})/g, function (_match, hexCode) {
11
+ return String.fromCharCode(Number.parseInt(hexCode, 16));
12
+ });
13
+ }
4
14
  function cleanUrl(path) {
5
- return removeSearch(path).replace(/\/$/, "").replaceAll("_", "__").replaceAll("/", "_");
15
+ return encodeReservedFilenameChars(removeSearch(path).replace(/\/$/, "")).replaceAll("_", "__").replaceAll("/", "_");
6
16
  }
7
17
  var isClient = typeof window !== "undefined";
8
18
  var clientSideURL = isClient ? getURL() : "";
@@ -23,9 +33,9 @@ function getLoaderPath(currentPath) {
23
33
  return `${baseURL}${devPath}/assets/${cleanedUrl}${cacheBustSegment}${LOADER_JS_POSTFIX}`;
24
34
  }
25
35
  function getPathFromLoaderPath(loaderPath) {
26
- return loaderPath.replace(LOADER_JS_POSTFIX_REGEX, "").replace(/^(\/_one)?\/assets/, "").replace(/_refetch_\d+_?/, "").replace(/__|_/g, function (match) {
36
+ return decodeReservedFilenameChars(loaderPath.replace(LOADER_JS_POSTFIX_REGEX, "").replace(/^(\/_one)?\/assets/, "").replace(/_refetch_\d+_?/, "").replace(/__|_/g, function (match) {
27
37
  return match === "__" ? "_" : "/";
28
- });
38
+ }));
29
39
  }
30
- export { getLoaderPath, getPathFromLoaderPath, getPreloadCSSPath, getPreloadPath };
40
+ export { decodeReservedFilenameChars, encodeReservedFilenameChars, getLoaderPath, getPathFromLoaderPath, getPreloadCSSPath, getPreloadPath };
31
41
  //# sourceMappingURL=cleanUrl.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["CSS_PRELOAD_JS_POSTFIX","isNative","LOADER_JS_POSTFIX","LOADER_JS_POSTFIX_REGEX","PRELOAD_JS_POSTFIX","getURL","removeSearch","cleanUrl","path","replace","replaceAll","isClient","window","clientSideURL","getPreloadPath","currentPath","slice","getPreloadCSSPath","getLoaderPath","includeUrl","arguments","length","cacheBust","baseURL","devPath","process","env","NODE_ENV","currentPathUrl","URL","cleanedUrl","pathname","cacheBustSegment","getPathFromLoaderPath","loaderPath","match"],"sources":["../../../src/utils/cleanUrl.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAAA,sBAAA,EAAAC,QAAA,EAAAC,iBAAA,EAAAC,uBAAA,EAAAC,kBAAA;AAAA,SACEC,MAAA;AAAA,SACAC,YAAA;AAAA,SACAC,SAAAC,IAAA;EACA,OAAAF,YAAA,CAAAE,IAAA,EAAAC,OAAA,YAAAC,UAAA,YAAAA,UAAA;AAAA;AACA,IAAAC,QACK,UAAAC,MAAA;AACP,IAAAC,aAAS,GAAAF,QAAc,GAAAN,MAAA;AACvB,SAASS,eAAAC,WAAoB;EAE7B,OAAS,GAAAF,aAAuB,WAAAN,QAAA,CAAAQ,WAAA,CAAAC,KAAA,OAAAZ,kBAAA;AAC9B;AAIF,SAAAa,kBAAAF,WAAA;EAEA,OAAM,GAAAF,aAAkB,WAAWN,QAAA,CAAAQ,WAAA,CAAAC,KAAA,OAAAhB,sBAAA;AACnC;AAEO,SAASkB,cAAAH,WAAe;EAC7B,IAAAI,UAAU,GAAAC,SAAa,CAAAC,MAAA,GAAW,KAAAD,SAAS,QAAY,KAAQ,CAAC,GAAGA,SAAA,MAAAnB,QAAkB;IAAAqB,SAAA,GAAAF,SAAA,CAAAC,MAAA,OAAAD,SAAA;EACvF,IAAAG,OAAA,GAAAJ,UAAA,GAAAd,MAAA;EAEO,IAAAmB,OAAS,GAAAC,OAAA,CAAAC,GAAkB,CAAAC,QAAA,KAAqB;EACrD,IAAAC,cAAU,OAAaC,GAAA,CAAAd,WAAW,sBAA4B,CAAC;EACjE,IAAAe,UAAA,GAAAvB,QAAA,CAAAqB,cAAA,CAAAG,QAAA,CAAAf,KAAA;EAEO,IAAAgB,gBAAS,GACdV,SAAA,GACA,YAAaA,SAAA,GACb;EAEA,OAAM,GAAAC,OAAU,GAAAC,OAAA,WAAoBM,UAAI,GAAAE,gBAAA,GAAA9B,iBAAA;AACxC;AAEA,SAAM+B,qBAAqBA,CAAAC,UAAI;EAE/B,OAAMA,UAAA,CAAAzB,OAAa,CAAAN,uBAAwB,IAAS,EAAAM,OAAQ,2BAAAA,OAAA,uBAAAA,OAAA,oBAAA0B,KAAA;IAC5D,OAAMA,KAAA,YAAmB;EAEzB;AACF;AAEO,SACLjB,aACE,EAOJe,qBAAA,E","ignoreList":[]}
1
+ {"version":3,"names":["CSS_PRELOAD_JS_POSTFIX","isNative","LOADER_JS_POSTFIX","LOADER_JS_POSTFIX_REGEX","PRELOAD_JS_POSTFIX","getURL","removeSearch","encodeReservedFilenameChars","path","replaceAll","replace","char","charCodeAt","toString","padStart","decodeReservedFilenameChars","_match","hexCode","String","fromCharCode","Number","parseInt","cleanUrl","isClient","window","clientSideURL","getPreloadPath","currentPath","slice","getPreloadCSSPath","getLoaderPath","includeUrl","arguments","length","cacheBust","baseURL","devPath","process","env","NODE_ENV","currentPathUrl","URL","cleanedUrl","pathname","cacheBustSegment","getPathFromLoaderPath","loaderPath","match"],"sources":["../../../src/utils/cleanUrl.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAAA,sBAAA,EAAAC,QAAA,EAAAC,iBAAA,EAAAC,uBAAA,EAAAC,kBAAA;AAAA,SACEC,MAAA;AAAA,SACAC,YAAA;AAAA,SACAC,4BAAAC,IAAA;EACA,OAAAA,IAAA,CAAAC,UAAA,aAAAC,OAAA,yBAAAC,IAAA;IACA,WAAAA,IAAA,CAAAC,UAAA,IAAAC,QAAA,KAAAC,QAAA;EAAA;AAEF;AACA,SAASC,2BAAoBA,CAAAP,IAAA;EAQtB,OAASA,IAAA,CAAAE,OAAA,kBAA4B,YAAcM,MAAA,EAAAC,OAAA;IACxD,OAAOC,MACJ,CAAAC,YAAgB,CAAAC,MAChB,CAAAC,QAAA,CAAAJ,OAAA;EAAA,EACC;AAAA;AAC8D,SAChEK,SAAAd,IAAA;EACJ,OAAAD,2BAAA,CAAAD,YAAA,CAAAE,IAAA,EAAAE,OAAA,aAAAD,UAAA,YAAAA,UAAA;AAEO;AACL,IAAAc,QAAO,GAAK,OAAAC,MAAA;AAAA,IAAQC,aAAA,GAAAF,QAAA,GAAAlB,MAAA;AAAA,SAAoBqB,cAAQA,CAAAC,WACvC;EACT,UAAAF,aAAA,WAAAH,QAAA,CAAAK,WAAA,CAAAC,KAAA,OAAAxB,kBAAA;AACF;AAEA,SAASyB,iBAAuBA,CAAAF,WAAA;EAC9B,OAAO,GAAAF,aAAA,WAAAH,QAAA,CAAAK,WAAA,CAAAC,KAAA,OAAA5B,sBAAA;AAAA;AAC+B,SAAA8B,cAAAH,WAAA;EACtC,IACGI,UAAW,GAAAC,SACX,CAAAC,MAAA,GAAW,KAAKD,SAAG,iBAAAA,SAAA,MAAA/B,QAAA;IAAAiC,SAAA,GAAAF,SAAA,CAAAC,MAAA,OAAAD,SAAA;EACxB,IAAAG,OAAA,GAAAJ,UAAA,GAAA1B,MAAA;EAEA,IAAM+B,OAAA,GAAAC,OAAW,CAAOC,GAAA,CAAAC,QAAW;EACnC,IAAMC,cAAA,GAAgB,IAAAC,GAAA,CAAAd,WAAkB,EAAI;EAErC,IAAAe,UAAS,GAAApB,QAAe,CAAAkB,cAAqB,CAAAG,QAAA,CAAAf,KAAA;EAClD,IAAAgB,gBAAU,GAAaV,SAAA,GAAW,YAASA,SAAY,MAAO,EAAE;EAClE,UAAAC,OAAA,GAAAC,OAAA,WAAAM,UAAA,GAAAE,gBAAA,GAAA1C,iBAAA;AAEO;AACL,SAAO2C,qBAAgBA,CAAAC,UAAW;EACpC,OAAA/B,2BAAA,CAAA+B,UAAA,CAAApC,OAAA,CAAAP,uBAAA,MAAAO,OAAA,2BAAAA,OAAA,uBAAAA,OAAA,oBAAAqC,KAAA;IAEO,OAASA,KAAA,SACd,YACA;EAGA;AACA;AAEA,SAEAhC,2BAAmB,EACnBR,2BAAyB,EAEzBuB,aAAU,EACZe,qBAAA,EAEOhB,iBAAS,EACdH,cAAO","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { describe, expect, it } from "vitest";
2
- import { getLoaderPath, getPathFromLoaderPath } from "./cleanUrl.mjs";
2
+ import { encodeReservedFilenameChars, getLoaderPath, getPathFromLoaderPath, getPreloadPath } from "./cleanUrl.mjs";
3
3
  function roundtrip(path) {
4
4
  const loaderPath = getLoaderPath(path, false);
5
5
  return getPathFromLoaderPath(loaderPath);
@@ -63,6 +63,43 @@ describe("getLoaderPath format", () => {
63
63
  expect(result).toContain("_refetch_12345_");
64
64
  });
65
65
  });
66
+ describe("NTFS-reserved characters in route-derived names", () => {
67
+ it("roundtrips a root dynamic route pattern", () => {
68
+ expect(roundtrip("/:param")).toBe("/:param");
69
+ });
70
+ it("roundtrips a nested dynamic route pattern", () => {
71
+ expect(roundtrip("/dashboard/:appId")).toBe("/dashboard/:appId");
72
+ });
73
+ it("roundtrips a catch-all pattern", () => {
74
+ expect(roundtrip("/*")).toBe("/*");
75
+ });
76
+ it("roundtrips hostile concrete param values (chars that survive URL parsing raw)", () => {
77
+ expect(roundtrip("/blog/a:b*c")).toBe("/blog/a:b*c");
78
+ });
79
+ it("emits filesystem-legal names for the full reserved set via preload paths", () => {
80
+ expect(getPreloadPath('/blog/a:b*c"d<e>f|g?h')).not.toMatch(/[<>:"|?*]/);
81
+ });
82
+ it("roundtrips literal equals signs (self-escape)", () => {
83
+ expect(roundtrip("/foo=bar")).toBe("/foo=bar");
84
+ });
85
+ it("roundtrips equals followed by hex-looking characters", () => {
86
+ expect(roundtrip("/x=3ay")).toBe("/x=3ay");
87
+ });
88
+ it("emits no NTFS-reserved characters in loader filenames", () => {
89
+ expect(getLoaderPath("/dashboard/:appId", false)).not.toMatch(/[<>:"|?*]/);
90
+ });
91
+ it("emits no NTFS-reserved characters in preload filenames", () => {
92
+ expect(getPreloadPath("/:param")).not.toMatch(/[<>:"|?*]/);
93
+ expect(getPreloadPath("/*")).not.toMatch(/[<>:"|?*]/);
94
+ });
95
+ it("encodeReservedFilenameChars is identity for clean paths", () => {
96
+ expect(encodeReservedFilenameChars("/blog/my-slug.html")).toBe("/blog/my-slug.html");
97
+ });
98
+ it("encodes the html artifact path for non-prerendered dynamic routes", () => {
99
+ expect(encodeReservedFilenameChars("/dashboard/:appId.html")).toBe("/dashboard/=3aappId.html");
100
+ expect(encodeReservedFilenameChars("/*.html")).toBe("/=2a.html");
101
+ });
102
+ });
66
103
  describe("getPathFromLoaderPath", () => {
67
104
  it("strips /_one/assets prefix", () => {
68
105
  expect(getPathFromLoaderPath("/_one/assets/docs_intro_999_vxrn_loader.js")).toBe("/docs/intro");
@@ -1 +1 @@
1
- {"version":3,"names":["describe","expect","it","getLoaderPath","getPathFromLoaderPath","roundtrip","path","loaderPath","toBe","result","toMatch","originalEnv","process","env","NODE_ENV","toContain"],"sources":["../../../src/utils/cleanUrl.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,EAAA,QAAU;AACrC,SAASC,aAAA,EAAeC,qBAAA,QAA6B;AAcrD,SAASC,UAAUC,IAAA,EAAsB;EACvC,MAAMC,UAAA,GAAaJ,aAAA,CAAcG,IAAA,EAAM,KAAK;EAC5C,OAAOF,qBAAA,CAAsBG,UAAU;AACzC;AAEAP,QAAA,CAAS,sBAAsB,MAAM;EACnCE,EAAA,CAAG,eAAe,MAAM;IACtBD,MAAA,CAAOI,SAAA,CAAU,uBAAuB,CAAC,EAAEG,IAAA,CAAK,uBAAuB;EACzE,CAAC;EAEDN,EAAA,CAAG,yCAAyC,MAAM;IAChDD,MAAA,CAAOI,SAAA,CAAU,yBAAyB,CAAC,EAAEG,IAAA,CAAK,yBAAyB;EAC7E,CAAC;EAEDN,EAAA,CAAG,0CAA0C,MAAM;IACjDD,MAAA,CAAOI,SAAA,CAAU,UAAU,CAAC,EAAEG,IAAA,CAAK,UAAU;EAC/C,CAAC;EAEDN,EAAA,CAAG,wCAAwC,MAAM;IAC/CD,MAAA,CAAOI,SAAA,CAAU,eAAe,CAAC,EAAEG,IAAA,CAAK,eAAe;EACzD,CAAC;EAEDN,EAAA,CAAG,sBAAsB,MAAM;IAC7BD,MAAA,CAAOI,SAAA,CAAU,wBAAwB,CAAC,EAAEG,IAAA,CAAK,wBAAwB;EAC3E,CAAC;EAEDN,EAAA,CAAG,aAAa,MAAM;IACpBD,MAAA,CAAOI,SAAA,CAAU,GAAG,CAAC,EAAEG,IAAA,CAAK,GAAG;EACjC,CAAC;EAEDN,EAAA,CAAG,kBAAkB,MAAM;IACzBD,MAAA,CAAOI,SAAA,CAAU,QAAQ,CAAC,EAAEG,IAAA,CAAK,QAAQ;EAC3C,CAAC;EAEDN,EAAA,CAAG,sCAAsC,MAAM;IAC7C,MAAMK,UAAA,GAAaJ,aAAA,CAAc,uBAAuB,KAAK;IAC7DF,MAAA,CAAOG,qBAAA,CAAsBG,UAAU,CAAC,EAAEC,IAAA,CAAK,aAAa;EAC9D,CAAC;EAEDN,EAAA,CAAG,8BAA8B,MAAM;IACrC,MAAMK,UAAA,GAAaJ,aAAA,CAAc,uBAAuB,KAAK;IAC7DF,MAAA,CAAOG,qBAAA,CAAsBG,UAAU,CAAC,EAAEC,IAAA,CAAK,aAAa;EAC9D,CAAC;EAEDN,EAAA,CAAG,4BAA4B,MAAM;IACnC,MAAMK,UAAA,GAAaJ,aAAA,CAAc,gBAAgB,KAAK;IACtDF,MAAA,CAAOG,qBAAA,CAAsBG,UAAU,CAAC,EAAEC,IAAA,CAAK,aAAa;EAC9D,CAAC;AACH,CAAC;AAEDR,QAAA,CAAS,wBAAwB,MAAM;EACrCE,EAAA,CAAG,4BAA4B,MAAM;IACnC,MAAMO,MAAA,GAASN,aAAA,CAAc,eAAe,KAAK;IACjDF,MAAA,CAAOQ,MAAM,EAAEC,OAAA,CAAQ,aAAa;EACtC,CAAC;EAEDR,EAAA,CAAG,4BAA4B,MAAM;IACnC,MAAMO,MAAA,GAASN,aAAA,CAAc,eAAe,KAAK;IACjDF,MAAA,CAAOQ,MAAM,EAAEC,OAAA,CAAQ,uBAAuB;EAChD,CAAC;EAEDR,EAAA,CAAG,qCAAqC,MAAM;IAC5C,MAAMS,WAAA,GAAcC,OAAA,CAAQC,GAAA,CAAIC,QAAA;IAChCF,OAAA,CAAQC,GAAA,CAAIC,QAAA,GAAW;IACvB,IAAI;MACF,MAAML,MAAA,GAASN,aAAA,CAAc,eAAe,KAAK;MACjDF,MAAA,CAAOQ,MAAM,EAAEC,OAAA,CAAQ,mBAAmB;IAC5C,UAAE;MACAE,OAAA,CAAQC,GAAA,CAAIC,QAAA,GAAWH,WAAA;IACzB;EACF,CAAC;EAEDT,EAAA,CAAG,+BAA+B,MAAM;IACtC,MAAMO,MAAA,GAASN,aAAA,CAAc,eAAe,OAAO,OAAO;IAC1DF,MAAA,CAAOQ,MAAM,EAAEM,SAAA,CAAU,iBAAiB;EAC5C,CAAC;AACH,CAAC;AAEDf,QAAA,CAAS,yBAAyB,MAAM;EACtCE,EAAA,CAAG,8BAA8B,MAAM;IACrCD,MAAA,CAAOG,qBAAA,CAAsB,4CAA4C,CAAC,EAAEI,IAAA,CAC1E,aACF;EACF,CAAC;EAEDN,EAAA,CAAG,yBAAyB,MAAM;IAChCD,MAAA,CAAOG,qBAAA,CAAsB,uCAAuC,CAAC,EAAEI,IAAA,CACrE,aACF;EACF,CAAC;EAEDN,EAAA,CAAG,6BAA6B,MAAM;IACpCD,MAAA,CACEG,qBAAA,CAAsB,sDAAsD,CAC9E,EAAEI,IAAA,CAAK,aAAa;EACtB,CAAC;EAEDN,EAAA,CAAG,2DAA2D,MAAM;IAGlED,MAAA,CAAOG,qBAAA,CAAsB,0CAA0C,CAAC,EAAEI,IAAA,CACxE,eACF;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["describe","expect","it","encodeReservedFilenameChars","getLoaderPath","getPathFromLoaderPath","getPreloadPath","roundtrip","path","loaderPath","toBe","result","toMatch","originalEnv","process","env","NODE_ENV","toContain","not"],"sources":["../../../src/utils/cleanUrl.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { describe, expect, it } from "vitest";
2
- import { getLoaderPath, getPathFromLoaderPath } from "./cleanUrl.native.js";
2
+ import { encodeReservedFilenameChars, getLoaderPath, getPathFromLoaderPath, getPreloadPath } from "./cleanUrl.native.js";
3
3
  function roundtrip(path) {
4
4
  var loaderPath = getLoaderPath(path, false);
5
5
  return getPathFromLoaderPath(loaderPath);
@@ -63,6 +63,43 @@ describe("getLoaderPath format", function () {
63
63
  expect(result).toContain("_refetch_12345_");
64
64
  });
65
65
  });
66
+ describe("NTFS-reserved characters in route-derived names", function () {
67
+ it("roundtrips a root dynamic route pattern", function () {
68
+ expect(roundtrip("/:param")).toBe("/:param");
69
+ });
70
+ it("roundtrips a nested dynamic route pattern", function () {
71
+ expect(roundtrip("/dashboard/:appId")).toBe("/dashboard/:appId");
72
+ });
73
+ it("roundtrips a catch-all pattern", function () {
74
+ expect(roundtrip("/*")).toBe("/*");
75
+ });
76
+ it("roundtrips hostile concrete param values (chars that survive URL parsing raw)", function () {
77
+ expect(roundtrip("/blog/a:b*c")).toBe("/blog/a:b*c");
78
+ });
79
+ it("emits filesystem-legal names for the full reserved set via preload paths", function () {
80
+ expect(getPreloadPath('/blog/a:b*c"d<e>f|g?h')).not.toMatch(/[<>:"|?*]/);
81
+ });
82
+ it("roundtrips literal equals signs (self-escape)", function () {
83
+ expect(roundtrip("/foo=bar")).toBe("/foo=bar");
84
+ });
85
+ it("roundtrips equals followed by hex-looking characters", function () {
86
+ expect(roundtrip("/x=3ay")).toBe("/x=3ay");
87
+ });
88
+ it("emits no NTFS-reserved characters in loader filenames", function () {
89
+ expect(getLoaderPath("/dashboard/:appId", false)).not.toMatch(/[<>:"|?*]/);
90
+ });
91
+ it("emits no NTFS-reserved characters in preload filenames", function () {
92
+ expect(getPreloadPath("/:param")).not.toMatch(/[<>:"|?*]/);
93
+ expect(getPreloadPath("/*")).not.toMatch(/[<>:"|?*]/);
94
+ });
95
+ it("encodeReservedFilenameChars is identity for clean paths", function () {
96
+ expect(encodeReservedFilenameChars("/blog/my-slug.html")).toBe("/blog/my-slug.html");
97
+ });
98
+ it("encodes the html artifact path for non-prerendered dynamic routes", function () {
99
+ expect(encodeReservedFilenameChars("/dashboard/:appId.html")).toBe("/dashboard/=3aappId.html");
100
+ expect(encodeReservedFilenameChars("/*.html")).toBe("/=2a.html");
101
+ });
102
+ });
66
103
  describe("getPathFromLoaderPath", function () {
67
104
  it("strips /_one/assets prefix", function () {
68
105
  expect(getPathFromLoaderPath("/_one/assets/docs_intro_999_vxrn_loader.js")).toBe("/docs/intro");
@@ -1 +1 @@
1
- {"version":3,"names":["describe","expect","it","getLoaderPath","getPathFromLoaderPath","roundtrip","path","loaderPath","toBe","result","toMatch","originalEnv","process","env","NODE_ENV","toContain"],"sources":["../../../src/utils/cleanUrl.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["describe","expect","it","encodeReservedFilenameChars","getLoaderPath","getPathFromLoaderPath","getPreloadPath","roundtrip","path","loaderPath","toBe","result","toMatch","originalEnv","process","env","NODE_ENV","toContain","not"],"sources":["../../../src/utils/cleanUrl.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,10 @@
1
1
  import { resolve } from "node:path";
2
2
  import { pathToFileURL } from "node:url";
3
3
  import { configuration } from "@vxrn/compiler";
4
+ import Glob from "fast-glob";
4
5
  import { isNativeEnvironment } from "vxrn";
5
6
  import { API_ROUTE_GLOB_PATTERN, ROUTE_GLOB_PATTERN, ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS, ROUTE_WEB_EXCLUSION_GLOB_PATTERNS } from "../../router/glob-patterns.mjs";
7
+ import { matchDirectoryRenderMode, matchFileRenderMode } from "../../router/matchers.mjs";
6
8
  import { resolvedVirtualEntryId, resolvedVirtualEntryIdNative, virtualEntryId, virtualEntryIdNative } from "./virtualEntryConstants.mjs";
7
9
  function normalizeSetupFile(setupFile) {
8
10
  if (!setupFile) return {};
@@ -88,6 +90,25 @@ function createVirtualEntry(options) {
88
90
  if (id === resolvedVirtualEntryId) {
89
91
  const isNative = isNativeEnvironment(this.environment);
90
92
  const isSSR = this.environment.name === "ssr";
93
+ const serverSpaRouteFiles = isSSR ? Glob.sync("**/*.{ts,tsx}", {
94
+ cwd: resolve(viteRoot, options.root),
95
+ ignore: [...ROUTE_WEB_EXCLUSION_GLOB_PATTERNS, ...(options.router?.ignoredRouteFiles || [])]
96
+ }).map(file => file.replaceAll("\\", "/")).filter(file => {
97
+ const parts = file.split("/");
98
+ const filename = parts.at(-1) || "";
99
+ if (filename.startsWith("_layout") || filename.startsWith("_middleware")) {
100
+ return false;
101
+ }
102
+ const fileMode = matchFileRenderMode(filename);
103
+ if (fileMode) return fileMode === "spa";
104
+ let parentMode;
105
+ for (const directory of parts.slice(0, -1)) {
106
+ parentMode = matchDirectoryRenderMode(directory)?.renderMode ?? parentMode;
107
+ }
108
+ return parentMode === "spa";
109
+ }) : [];
110
+ const serverSpaRouteStubs = serverSpaRouteFiles.map(file => `${JSON.stringify(`/${options.root}/${file}`)}: () => Promise.resolve({})`).join(",\n ");
111
+ const webRouteGlobs = [...routeGlobs, ...ROUTE_WEB_EXCLUSION_GLOB_PATTERNS.map(pattern => `!${pattern}`), ...serverSpaRouteFiles.map(file => `!/${options.root}/${file}`)];
91
112
  const useStaticImport = isNative || isSSR && isDevMode;
92
113
  const setupResult = getSetupFileImport(this.environment.name, setupFiles, useStaticImport, viteRoot);
93
114
  const nativewindImport = configuration.enableNativewind ? `import 'react-native-css-interop/dist/runtime/components'` : "";
@@ -111,10 +132,13 @@ if (typeof window !== 'undefined') {
111
132
  window.__oneRegisterPreloadedRoute = registerPreloadedRoute
112
133
  }
113
134
 
114
- // globbing ${JSON.stringify(routeGlobs)}
135
+ // globbing ${JSON.stringify(webRouteGlobs)}
115
136
  export default createApp({
116
137
  ${setupPromiseArg}
117
- routes: import.meta.glob(${JSON.stringify([...routeGlobs, ...ROUTE_WEB_EXCLUSION_GLOB_PATTERNS.map(p => `!${p}`)])}, { exhaustive: true }),
138
+ routes: {
139
+ ...import.meta.glob(${JSON.stringify(webRouteGlobs)}, { exhaustive: true }),
140
+ ${serverSpaRouteStubs}
141
+ },
118
142
  routerRoot: ${JSON.stringify(options.root)},
119
143
  flags: ${JSON.stringify(options.flags)},
120
144
  ${linkingArg}
@@ -1 +1 @@
1
- {"version":3,"names":["resolve","pathToFileURL","configuration","isNativeEnvironment","API_ROUTE_GLOB_PATTERN","ROUTE_GLOB_PATTERN","ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS","ROUTE_WEB_EXCLUSION_GLOB_PATTERNS","resolvedVirtualEntryId","resolvedVirtualEntryIdNative","virtualEntryId","virtualEntryIdNative","normalizeSetupFile","setupFile","client","server","ios","android","native","sf","getSetupFileImport","environmentName","setupFiles","useStaticImport","root","envMap","ssr","key","importStatement","promiseDeclaration","promiseVarName","resolvedSetupFile","href","JSON","stringify","createVirtualEntry","options","routeGlobs","router","ignoredRouteFiles","map","pattern","apiRouteGlobs","viteRoot","isDevMode","name","enforce","configResolved","config","command","resolveId","id","load","isNative","environment","isSSR","setupResult","nativewindImport","enableNativewind","setupPromiseArg","linkingArg","linking","p","flags"],"sources":["../../../../src/vite/plugins/virtualEntryPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["resolve","pathToFileURL","configuration","Glob","isNativeEnvironment","API_ROUTE_GLOB_PATTERN","ROUTE_GLOB_PATTERN","ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS","ROUTE_WEB_EXCLUSION_GLOB_PATTERNS","matchDirectoryRenderMode","matchFileRenderMode","resolvedVirtualEntryId","resolvedVirtualEntryIdNative","virtualEntryId","virtualEntryIdNative","normalizeSetupFile","setupFile","client","server","ios","android","native","sf","getSetupFileImport","environmentName","setupFiles","useStaticImport","root","envMap","ssr","key","importStatement","promiseDeclaration","promiseVarName","resolvedSetupFile","href","JSON","stringify","createVirtualEntry","options","routeGlobs","router","ignoredRouteFiles","map","pattern","apiRouteGlobs","viteRoot","isDevMode","name","enforce","configResolved","config","command","resolveId","id","load","isNative","environment","isSSR","serverSpaRouteFiles","sync","cwd","ignore","file","replaceAll","filter","parts","split","filename","at","startsWith","fileMode","parentMode","directory","slice","renderMode","serverSpaRouteStubs","join","webRouteGlobs","setupResult","nativewindImport","enableNativewind","setupPromiseArg","linkingArg","linking","flags","p"],"sources":["../../../../src/vite/plugins/virtualEntryPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}