one 1.25.13 → 1.25.15

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 (164) hide show
  1. package/dist/cjs/cli/build.cjs +29 -25
  2. package/dist/cjs/cli/build.native.js +262 -219
  3. package/dist/cjs/cli/build.native.js.map +1 -1
  4. package/dist/cjs/cli/buildPage.cjs +7 -7
  5. package/dist/cjs/cli/buildPage.native.js +7 -7
  6. package/dist/cjs/cli/buildPage.native.js.map +1 -1
  7. package/dist/cjs/cli/buildPageWorker.cjs +1 -1
  8. package/dist/cjs/cli/buildPageWorker.native.js +1 -1
  9. package/dist/cjs/cli/buildPageWorker.native.js.map +1 -1
  10. package/dist/cjs/cli/serverRouteModules.cjs +47 -0
  11. package/dist/cjs/cli/serverRouteModules.native.js +52 -0
  12. package/dist/cjs/cli/serverRouteModules.native.js.map +1 -0
  13. package/dist/cjs/cli/workerPool.native.js.map +1 -1
  14. package/dist/cjs/createApp.cjs +3 -0
  15. package/dist/cjs/headless-server.native.js.map +1 -1
  16. package/dist/cjs/headless.cjs +4 -0
  17. package/dist/cjs/headless.native.js +4 -0
  18. package/dist/cjs/headless.native.js.map +1 -1
  19. package/dist/cjs/router/diagnoseRouteLoadFailure.native.js.map +1 -1
  20. package/dist/cjs/router/useViteRoutes.cjs +9 -1
  21. package/dist/cjs/router/useViteRoutes.native.js +9 -1
  22. package/dist/cjs/router/useViteRoutes.native.js.map +1 -1
  23. package/dist/cjs/server/oneServe.cjs +23 -4
  24. package/dist/cjs/server/oneServe.native.js +25 -6
  25. package/dist/cjs/server/oneServe.native.js.map +1 -1
  26. package/dist/cjs/server/routeExportsFromEntry.cjs +47 -0
  27. package/dist/cjs/server/routeExportsFromEntry.native.js +52 -0
  28. package/dist/cjs/server/routeExportsFromEntry.native.js.map +1 -0
  29. package/dist/cjs/server/workerHandler.cjs +19 -6
  30. package/dist/cjs/server/workerHandler.native.js +20 -6
  31. package/dist/cjs/server/workerHandler.native.js.map +1 -1
  32. package/dist/cjs/server/workerHandler.test.cjs +24 -16
  33. package/dist/cjs/server/workerHandler.test.native.js +27 -16
  34. package/dist/cjs/server/workerHandler.test.native.js.map +1 -1
  35. package/dist/cjs/views/ScrollBehavior.native.js.map +1 -1
  36. package/dist/cjs/vite/cloudflareWranglerConfig.native.js.map +1 -1
  37. package/dist/cjs/vite/one.native.js.map +1 -1
  38. package/dist/cjs/vite/plugins/virtualEntryPlugin.cjs +7 -6
  39. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js +9 -6
  40. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  41. package/dist/cjs/vite/plugins/workerdDevPlugin.cjs +0 -13
  42. package/dist/cjs/vite/plugins/workerdDevPlugin.native.js +26 -58
  43. package/dist/cjs/vite/plugins/workerdDevPlugin.native.js.map +1 -1
  44. package/dist/cjs/vite/replaceLoader.cjs +6 -3
  45. package/dist/cjs/vite/replaceLoader.native.js +8 -3
  46. package/dist/cjs/vite/replaceLoader.native.js.map +1 -1
  47. package/dist/esm/cli/build.mjs +30 -26
  48. package/dist/esm/cli/build.mjs.map +1 -1
  49. package/dist/esm/cli/build.native.js +263 -220
  50. package/dist/esm/cli/build.native.js.map +1 -1
  51. package/dist/esm/cli/buildPage.mjs +7 -7
  52. package/dist/esm/cli/buildPage.mjs.map +1 -1
  53. package/dist/esm/cli/buildPage.native.js +7 -7
  54. package/dist/esm/cli/buildPage.native.js.map +1 -1
  55. package/dist/esm/cli/buildPageWorker.mjs +1 -1
  56. package/dist/esm/cli/buildPageWorker.mjs.map +1 -1
  57. package/dist/esm/cli/buildPageWorker.native.js +1 -1
  58. package/dist/esm/cli/buildPageWorker.native.js.map +1 -1
  59. package/dist/esm/cli/serverRouteModules.mjs +22 -0
  60. package/dist/esm/cli/serverRouteModules.mjs.map +1 -0
  61. package/dist/esm/cli/serverRouteModules.native.js +24 -0
  62. package/dist/esm/cli/serverRouteModules.native.js.map +1 -0
  63. package/dist/esm/cli/workerPool.mjs.map +1 -1
  64. package/dist/esm/cli/workerPool.native.js.map +1 -1
  65. package/dist/esm/createApp.mjs +4 -1
  66. package/dist/esm/createApp.mjs.map +1 -1
  67. package/dist/esm/fork/useLinking.native.test.mjs +1 -1
  68. package/dist/esm/getURL.native.test.mjs +1 -1
  69. package/dist/esm/headless-server.mjs.map +1 -1
  70. package/dist/esm/headless-server.native.js.map +1 -1
  71. package/dist/esm/headless.mjs +4 -0
  72. package/dist/esm/headless.mjs.map +1 -1
  73. package/dist/esm/headless.native.js +4 -0
  74. package/dist/esm/headless.native.js.map +1 -1
  75. package/dist/esm/router/diagnoseRouteLoadFailure.mjs.map +1 -1
  76. package/dist/esm/router/diagnoseRouteLoadFailure.native.js.map +1 -1
  77. package/dist/esm/router/hmrImport.native.test.mjs +1 -1
  78. package/dist/esm/router/routeHmr.native.test.mjs +1 -1
  79. package/dist/esm/router/routeHmr.native.test.mjs.map +1 -1
  80. package/dist/esm/router/useViteRoutes.mjs +9 -1
  81. package/dist/esm/router/useViteRoutes.mjs.map +1 -1
  82. package/dist/esm/router/useViteRoutes.native.js +9 -1
  83. package/dist/esm/router/useViteRoutes.native.js.map +1 -1
  84. package/dist/esm/server/oneServe.mjs +23 -4
  85. package/dist/esm/server/oneServe.mjs.map +1 -1
  86. package/dist/esm/server/oneServe.native.js +25 -6
  87. package/dist/esm/server/oneServe.native.js.map +1 -1
  88. package/dist/esm/server/routeExportsFromEntry.mjs +21 -0
  89. package/dist/esm/server/routeExportsFromEntry.mjs.map +1 -0
  90. package/dist/esm/server/routeExportsFromEntry.native.js +23 -0
  91. package/dist/esm/server/routeExportsFromEntry.native.js.map +1 -0
  92. package/dist/esm/server/workerHandler.mjs +19 -6
  93. package/dist/esm/server/workerHandler.mjs.map +1 -1
  94. package/dist/esm/server/workerHandler.native.js +20 -6
  95. package/dist/esm/server/workerHandler.native.js.map +1 -1
  96. package/dist/esm/server/workerHandler.test.mjs +24 -16
  97. package/dist/esm/server/workerHandler.test.mjs.map +1 -1
  98. package/dist/esm/server/workerHandler.test.native.js +27 -16
  99. package/dist/esm/server/workerHandler.test.native.js.map +1 -1
  100. package/dist/esm/views/ScrollBehavior.mjs.map +1 -1
  101. package/dist/esm/views/ScrollBehavior.native.js.map +1 -1
  102. package/dist/esm/vite/cloudflareWranglerConfig.mjs.map +1 -1
  103. package/dist/esm/vite/cloudflareWranglerConfig.native.js.map +1 -1
  104. package/dist/esm/vite/one.mjs.map +1 -1
  105. package/dist/esm/vite/one.native.js.map +1 -1
  106. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs +7 -6
  107. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs.map +1 -1
  108. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js +9 -6
  109. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  110. package/dist/esm/vite/plugins/workerdDevPlugin.mjs +0 -13
  111. package/dist/esm/vite/plugins/workerdDevPlugin.mjs.map +1 -1
  112. package/dist/esm/vite/plugins/workerdDevPlugin.native.js +26 -58
  113. package/dist/esm/vite/plugins/workerdDevPlugin.native.js.map +1 -1
  114. package/dist/esm/vite/replaceLoader.mjs +6 -3
  115. package/dist/esm/vite/replaceLoader.mjs.map +1 -1
  116. package/dist/esm/vite/replaceLoader.native.js +8 -3
  117. package/dist/esm/vite/replaceLoader.native.js.map +1 -1
  118. package/package.json +9 -9
  119. package/src/cli/build.ts +41 -32
  120. package/src/cli/buildPage.ts +9 -7
  121. package/src/cli/buildPageWorker.ts +1 -0
  122. package/src/cli/serverRouteModules.ts +33 -0
  123. package/src/cli/workerPool.ts +1 -0
  124. package/src/createApp.tsx +5 -1
  125. package/src/headless-server.ts +0 -1
  126. package/src/headless.tsx +5 -0
  127. package/src/router/diagnoseRouteLoadFailure.ts +3 -1
  128. package/src/router/useViteRoutes.tsx +9 -1
  129. package/src/server/oneServe.ts +40 -16
  130. package/src/server/routeExportsFromEntry.ts +59 -0
  131. package/src/server/workerHandler.test.ts +21 -16
  132. package/src/server/workerHandler.ts +25 -7
  133. package/src/views/ScrollBehavior.tsx +5 -1
  134. package/src/vite/cloudflareWranglerConfig.ts +8 -4
  135. package/src/vite/one.ts +4 -1
  136. package/src/vite/plugins/virtualEntryPlugin.ts +10 -8
  137. package/src/vite/plugins/workerdDevPlugin.ts +6 -16
  138. package/src/vite/replaceLoader.ts +10 -2
  139. package/types/cli/build.d.ts.map +1 -1
  140. package/types/cli/buildPage.d.ts +1 -1
  141. package/types/cli/buildPage.d.ts.map +1 -1
  142. package/types/cli/serverRouteModules.d.ts +2 -0
  143. package/types/cli/serverRouteModules.d.ts.map +1 -0
  144. package/types/cli/workerPool.d.ts +1 -0
  145. package/types/cli/workerPool.d.ts.map +1 -1
  146. package/types/createApp.d.ts.map +1 -1
  147. package/types/headless-server.d.ts +0 -1
  148. package/types/headless-server.d.ts.map +1 -1
  149. package/types/headless.d.ts.map +1 -1
  150. package/types/router/diagnoseRouteLoadFailure.d.ts.map +1 -1
  151. package/types/router/useViteRoutes.d.ts.map +1 -1
  152. package/types/server/oneServe.d.ts +1 -1
  153. package/types/server/oneServe.d.ts.map +1 -1
  154. package/types/server/routeExportsFromEntry.d.ts +29 -0
  155. package/types/server/routeExportsFromEntry.d.ts.map +1 -0
  156. package/types/server/workerHandler.d.ts +1 -1
  157. package/types/server/workerHandler.d.ts.map +1 -1
  158. package/types/views/ScrollBehavior.d.ts.map +1 -1
  159. package/types/vite/cloudflareWranglerConfig.d.ts.map +1 -1
  160. package/types/vite/one.d.ts.map +1 -1
  161. package/types/vite/plugins/virtualEntryPlugin.d.ts.map +1 -1
  162. package/types/vite/plugins/workerdDevPlugin.d.ts.map +1 -1
  163. package/types/vite/replaceLoader.d.ts +2 -1
  164. package/types/vite/replaceLoader.d.ts.map +1 -1
@@ -98,29 +98,23 @@ function generateWorkerdDevEntryModule(args) {
98
98
  if (!manifest) {
99
99
  throw new Error("[one] workerd dev: no routes manifest");
100
100
  }
101
- var pageImports = /* @__PURE__ */new Map();
102
101
  var apiImports = /* @__PURE__ */new Map();
103
102
  var middlewareImports = /* @__PURE__ */new Map();
104
103
  var routeToBuildInfo = {};
105
- var registerPage = function (routeFile) {
106
- if (!routeFile) return;
107
- if (pageImports.has(routeFile)) return;
108
- pageImports.set(routeFile, toImportHref(root, routerRoot, routeFile));
109
- };
110
104
  var _iteratorNormalCompletion = true,
111
105
  _didIteratorError = false,
112
106
  _iteratorError = void 0;
113
107
  try {
114
108
  for (var _iterator = manifest.pageRoutes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
115
109
  var route = _step.value;
116
- registerPage(route.file);
117
110
  var _iteratorNormalCompletion1 = true,
118
111
  _didIteratorError1 = false,
119
112
  _iteratorError1 = void 0;
120
113
  try {
121
- for (var _iterator1 = (route.layouts || [])[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
122
- var layout = _step1.value;
123
- registerPage(layout.contextKey);
114
+ for (var _iterator1 = (route.middlewares || [])[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
115
+ var middleware = _step1.value;
116
+ if (!middleware.contextKey || middlewareImports.has(middleware.contextKey)) continue;
117
+ middlewareImports.set(middleware.contextKey, toImportHref(root, routerRoot, middleware.contextKey));
124
118
  }
125
119
  } catch (err) {
126
120
  _didIteratorError1 = true;
@@ -136,29 +130,6 @@ function generateWorkerdDevEntryModule(args) {
136
130
  }
137
131
  }
138
132
  }
139
- var _iteratorNormalCompletion2 = true,
140
- _didIteratorError2 = false,
141
- _iteratorError2 = void 0;
142
- try {
143
- for (var _iterator2 = (route.middlewares || [])[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
144
- var middleware = _step2.value;
145
- if (!middleware.contextKey || middlewareImports.has(middleware.contextKey)) continue;
146
- middlewareImports.set(middleware.contextKey, toImportHref(root, routerRoot, middleware.contextKey));
147
- }
148
- } catch (err) {
149
- _didIteratorError2 = true;
150
- _iteratorError2 = err;
151
- } finally {
152
- try {
153
- if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
154
- _iterator2.return();
155
- }
156
- } finally {
157
- if (_didIteratorError2) {
158
- throw _iteratorError2;
159
- }
160
- }
161
- }
162
133
  if (route.file) {
163
134
  routeToBuildInfo[route.file] = stubRouteBuildInfo(route, preloads);
164
135
  }
@@ -177,50 +148,50 @@ function generateWorkerdDevEntryModule(args) {
177
148
  }
178
149
  }
179
150
  }
180
- var _iteratorNormalCompletion3 = true,
181
- _didIteratorError3 = false,
182
- _iteratorError3 = void 0;
151
+ var _iteratorNormalCompletion2 = true,
152
+ _didIteratorError2 = false,
153
+ _iteratorError2 = void 0;
183
154
  try {
184
- for (var _iterator3 = manifest.apiRoutes[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
185
- var route1 = _step3.value;
155
+ for (var _iterator2 = manifest.apiRoutes[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
156
+ var route1 = _step2.value;
186
157
  if (route1.file) {
187
158
  apiImports.set(route1.page, toImportHref(root, routerRoot, route1.file));
188
159
  }
189
- var _iteratorNormalCompletion4 = true,
190
- _didIteratorError4 = false,
191
- _iteratorError4 = void 0;
160
+ var _iteratorNormalCompletion3 = true,
161
+ _didIteratorError3 = false,
162
+ _iteratorError3 = void 0;
192
163
  try {
193
- for (var _iterator4 = (route1.middlewares || [])[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
194
- var middleware1 = _step4.value;
164
+ for (var _iterator3 = (route1.middlewares || [])[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
165
+ var middleware1 = _step3.value;
195
166
  if (!middleware1.contextKey || middlewareImports.has(middleware1.contextKey)) continue;
196
167
  middlewareImports.set(middleware1.contextKey, toImportHref(root, routerRoot, middleware1.contextKey));
197
168
  }
198
169
  } catch (err) {
199
- _didIteratorError4 = true;
200
- _iteratorError4 = err;
170
+ _didIteratorError3 = true;
171
+ _iteratorError3 = err;
201
172
  } finally {
202
173
  try {
203
- if (!_iteratorNormalCompletion4 && _iterator4.return != null) {
204
- _iterator4.return();
174
+ if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
175
+ _iterator3.return();
205
176
  }
206
177
  } finally {
207
- if (_didIteratorError4) {
208
- throw _iteratorError4;
178
+ if (_didIteratorError3) {
179
+ throw _iteratorError3;
209
180
  }
210
181
  }
211
182
  }
212
183
  }
213
184
  } catch (err) {
214
- _didIteratorError3 = true;
215
- _iteratorError3 = err;
185
+ _didIteratorError2 = true;
186
+ _iteratorError2 = err;
216
187
  } finally {
217
188
  try {
218
- if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
219
- _iterator3.return();
189
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
190
+ _iterator2.return();
220
191
  }
221
192
  } finally {
222
- if (_didIteratorError3) {
223
- throw _iteratorError3;
193
+ if (_didIteratorError2) {
194
+ throw _iteratorError2;
224
195
  }
225
196
  }
226
197
  }
@@ -261,9 +232,6 @@ import { serve, setFetchStaticHtml } from 'one/serve-worker'
261
232
 
262
233
  const lazyRoutes = {
263
234
  serverEntry: () => import(${JSON.stringify(virtualEntryId)}),
264
- pages: {
265
- ${serializeImportMap([...pageImports])}
266
- },
267
235
  api: {
268
236
  ${serializeImportMap([...apiImports])}
269
237
  },
@@ -1 +1 @@
1
- {"version":3,"names":["mkdirSync","writeFileSync","join","resolve","pathToFileURL","resolvePath","cloudflare","getPlatformEnvDefine","exactRegex","CACHE_KEY","virtalEntryIdClient","virtualEntryId","getManifest","getRouterRootFromOneOptions","createCloudflareWranglerConfig","getCloudflareProjectNameSync","loadUserWranglerConfigSync","shouldEnableWorkerdDev","workerdDevEntryId","resolvedWorkerdDevEntryId","WORKERD_DEV_DIR","serveOnly","plugin","existing","apply","config","env","command","toImportHref","root","routerRoot","routeFile","rel","replace","href","serializeImportMap","entries","map","param","key","JSON","stringify","stripRouteForWorker","route","layouts","middlewares","rest","type","layout","contextKey","middleware","stubRouteBuildInfo","preloads","_ref","_route_middlewares","pageType","path","page","file","preloadPath","cssPreloadPath","loaderPath","cleanPath","urlCleanPath","htmlPath","clientJsPath","serverJsPath","params","css","layoutCSS","generateWorkerdDevEntryModule","args","_options_router","options","routePaths","manifest","ignoredRouteFiles","router","Error","pageImports","Map","apiImports","middlewareImports","routeToBuildInfo","registerPage","has","set","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","pageRoutes","Symbol","iterator","_step","next","done","value","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","err","return","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_iterator3","apiRoutes","_step3","route1","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_iterator4","_step4","middleware1","buildInfo","constants","oneOptions","pathToRoute","routeMap","allRoutes","Object","fromEntries","preload","cssPreloads","loaders","spaPreloadScripts","createWorkerdDevPlugins","routeIndex","_options_web","_options_web1","web","deploy","cacheDir","wranglerInputPath","workerEntryPath","recursive","userWranglerConfig","projectName","wranglerInputConfig","main"],"sources":["../../../../src/vite/plugins/workerdDevPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["mkdirSync","writeFileSync","join","resolve","pathToFileURL","resolvePath","cloudflare","getPlatformEnvDefine","exactRegex","CACHE_KEY","virtalEntryIdClient","virtualEntryId","getManifest","getRouterRootFromOneOptions","createCloudflareWranglerConfig","getCloudflareProjectNameSync","loadUserWranglerConfigSync","shouldEnableWorkerdDev","workerdDevEntryId","resolvedWorkerdDevEntryId","WORKERD_DEV_DIR","serveOnly","plugin","existing","apply","config","env","command","toImportHref","root","routerRoot","routeFile","rel","replace","href","serializeImportMap","entries","map","param","key","JSON","stringify","stripRouteForWorker","route","layouts","middlewares","rest","type","layout","contextKey","middleware","stubRouteBuildInfo","preloads","_ref","_route_middlewares","pageType","path","page","file","preloadPath","cssPreloadPath","loaderPath","cleanPath","urlCleanPath","htmlPath","clientJsPath","serverJsPath","params","css","layoutCSS","generateWorkerdDevEntryModule","args","_options_router","options","routePaths","manifest","ignoredRouteFiles","router","Error","apiImports","Map","middlewareImports","routeToBuildInfo","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","pageRoutes","Symbol","iterator","_step","next","done","value","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","has","set","err","return","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","apiRoutes","_step2","route1","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_iterator3","_step3","middleware1","buildInfo","constants","oneOptions","pathToRoute","routeMap","allRoutes","Object","fromEntries","preload","cssPreloads","loaders","spaPreloadScripts","createWorkerdDevPlugins","routeIndex","_options_web","_options_web1","web","deploy","cacheDir","wranglerInputPath","workerEntryPath","recursive","userWranglerConfig","projectName","wranglerInputConfig","main","experimentalBundledDev","empty","rnWebPkg","rnWeb","safeArea","preparePlugin","name","enforce","environments","worker","define"],"sources":["../../../../src/vite/plugins/workerdDevPlugin.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,EAAWC,aAAA,QAAqB;AACzC,SAASC,IAAA,EAAMC,OAAA,QAAe;AAC9B,SAASC,aAAA,QAAqB;AAC9B,SAASC,WAAA,QAAmB;AAC5B,SAASC,UAAA,QAAkB;AAC3B,SAASC,oBAAA,QAA4B;AACrC,SAASC,UAAA,QAAkB;AAE3B,SAASC,SAAA,QAAiB;AAC1B,SAASC,mBAAA,EAAqBC,cAAA,QAAsB;AACpD,SAASC,WAAA,QAAmB;AAC5B,SAASC,2BAAA,QAAmC;AAG5C,SAAAC,8BAAA,EAAAC,4BAAA,EAAAC,0BAAA,EAAAC,sBAAA;AAAA,IACEC,iBAAA;AAAA,IACAC,yBAAA,QAAAD,iBAAA;AAAA,IACAE,eAAA;AAAA,SACAC,UAAAC,MAAA;EAAA,IAAAC,QACK,GAAAD,MAAA,CAAAE,KAAA;EAIA,OAAM;IACb,GAAMF,MAAA;IAENE,KAAMA,CAAAC,MAAA,EAAAC,GAAA;MAEN,IAASA,GAAA,CAAAC,OAAU,YAAwB;MACzC,IAAM,OAAAJ,QAAW,KAAO,mBAAAA,QAAA,CAAAE,MAAA,EAAAC,GAAA;MACxB,IAAOH,QAAA;MACL,OAAG;IACH;EACE;AACA;AACA,SAAAK,YAAIA,CAAAC,IAAa,EAAAC,UAAS,EAAOC,SAAA;EACjC,IAAAC,GAAA,GAAAD,SAAO,CAAAE,OAAA;EAAA,OACT7B,aAAA,CAAAD,OAAA,CAAA0B,IAAA,EAAAC,UAAA,EAAAE,GAAA,GAAAE,IAAA;AAAA;AAEJ,SAAAC,mBAAAC,OAAA;EAEA,OAASA,OAAA,CAAAC,GAAA,WAA2BC,KAAA;IAClC,IAAM,CAAAC,GAAA,EAAML,IAAA,IAAAI,KAAU;IACtB,OAAO,KAAAE,IAAA,CAAAC,SAAc,CAAQF,GAAA,mBAAsBC,IAAE,CAAAC,SAAA,CAAAP,IAAA;EACvD,GAAAhC,IAAA;AAEA;AACE,SAAOwC,mBACJA,CAAAC,KAAA;EAAA,IACG;IAAAC,OAAS;IAAAC,WAAW;IAAA,GAAKC;EAAA,IAAUH,KAAI;EAC3C,OACM;IACV,GAAAG,IAAA;IAEA;IACEC,IAAM,EAAEJ,KAAA,CAAAI,IAAS,aAAa,KAAG,GAAKJ,KAAI,CAAAI,IAAA;IAC1CH,OAAO,EAAAA,OAAA,aAAAA,OAAA,uBAAAA,OAAA,CAAAP,GAAA,WAAAW,MAAA;MACL,OAAG;QAAAC,UAAA,EAAAD,MAAA,CAAAC;MAEH;IACA;IAAmCJ,WACjC,EAAAA,WAAmB,aAAAA,WAAA,uBAAAA,WAAA,CAAAR,GAAA,WAAAa,UAAA;MACnB;QACFD,UAAa,EAAAC,UAAa,CAAAD;MACxB;IACF;EACF;AACF;AAEA,SAASE,mBACPR,KAAA,EACAS,QAAA,EAC2C;EAC3C,IAAAC,IAAM;EACN,IAAAC,kBAAO;EAAA,IACLC,QAAM,GAAAZ,KAAA,CAAAI,IAAA,qBAAAJ,KAAA,CAAAI,IAAA;EAAA,OACN;IACAA,IAAA,EAAAQ,QAAW;IACXC,IAAA,EAAAb,KAAA,CAAAc,IAAa;IACb1B,SAAA,EAAAY,KAAa,CAAAe,IAAA;IACbb,WAAA,GAAAQ,IAAgB,IAAAC,kBAAA,GAAAX,KAAA,CAAAE,WAAA,cAAAS,kBAAA,uBAAAA,kBAAA,CAAAjB,GAAA,WAAAa,UAAA;MAChB,OAAAA,UAAY,CAAAD,UAAA;IACZ,YAAW,IAAAI,IAAM,cAAgBA,IAAA,GAAM;IACvCM,WAAU;IACVC,cAAc;IACdC,UAAA,IAAc;IACdC,SAAS,EAAAnB,KAAA,CAAAoB,YAAA,IAAApB,KAAA,CAAAc,IAAA;IACTO,QAAA;IACAC,YAAM;IACNC,YAAY;IACdC,MAAA;IACFf,QAAA;IAEOgB,GAAA,EAAS;IAOdC,SAAQ;EACR;AAA6B;AACS,SACpCC,6BAA2BA,CAAQC,IAAA;EAAA,IACnCC,eAAA;EACF,IAAC;IAAA3C,IAAA;IAAA4C,OAAA;IAAA3C,UAAA;IAAA4C,UAAA;IAAAtB;EAAA,IAAAmB,IAAA;EAED,IAAII,QAAC,GAAU/D,WAAA;IACbkB,UAAU,EAAA3B,OAAM,CAAA0B,IAAA,EAAAC,UAAA;IAClB8C,iBAAA,GAAAJ,eAAA,GAAAC,OAAA,CAAAI,MAAA,cAAAL,eAAA,uBAAAA,eAAA,CAAAI,iBAAA;IAEAF;EACA;EACA,KAAAC,QAAM;IAEN,UAAWG,KAAA,wCAA8B;EACvC;EACE,IAAAC,UAAK,kBAAW,IAAcC,GAAA;EAC9B,IAAAC,iBAAA,GAAkB,mBAAAD,GAAA;EAAA,IAAAE,gBACL;EAAA,IAAAC,yBACQ;IAAYC,iBAAW,GAAU;IAAAC,cAAA;EAAA,IACtD;IACF,SAAAC,SAAA,GAAAX,QAAA,CAAAY,UAAA,CAAAC,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAP,yBAAA,IAAAO,KAAA,GAAAJ,SAAA,CAAAK,IAAA,IAAAC,IAAA,GAAAT,yBAAA;MACA,IAAIxC,KAAM,GAAA+C,KAAM,CAAAG,KAAA;MACd,IAAAC,0BAA2B,GAAI;QAAAC,kBAA0B,QAAQ;QAAAC,eAAA;MACnE;QACF,SAAAC,UAAA,IAAAtD,KAAA,CAAAE,WAAA,QAAA2C,MAAA,CAAAC,QAAA,KAAAS,MAAA,IAAAJ,0BAAA,IAAAI,MAAA,GAAAD,UAAA,CAAAN,IAAA,IAAAC,IAAA,GAAAE,0BAAA;UAEA,IAAW5C,UAAS,GAAAgD,MAAS,CAAAL,KAAA;UACvB,IAAM,CAAA3C,UAAM,CAAAD,UAAA,IAAAgC,iBAAA,CAAAkB,GAAA,CAAAjD,UAAA,CAAAD,UAAA;UACdgC,iBAAqB,CAAAmB,GAAA,CAAAlD,UAAM,CAAAD,UAAmB,EAAArB,YAAY,CAAAC,IAAM,EAAIC,UAAC,EAAAoB,UAAA,CAAAD,UAAA;QACvE;MACA,SAAWoD,GAAA;QACTN,kBAAgB;QAChBC,eAAA,GAAkBK,GAAA;MAAA,UAChB;QACA;UACF,KAAAP,0BAAA,IAAAG,UAAA,CAAAK,MAAA;YACFL,UAAA,CAAAK,MAAA;UACF;QAEM;UACA,IAAAP,kBAAqB;YAErB,MAAAC,eAA2B;UAC/B;QACA;MACA;MACA,IAAArD,KAAA,CAAAe,IAAc;QACdwB,gBAAW,CAAAvC,KAAA,CAAAe,IAAA,IAAAP,kBAAA,CAAAR,KAAA,EAAAS,QAAA;MACX;IAAU;EACR,SACAiD,GAAA;IAAAjB,iBACe;IACjBC,cAAA,GAAAgB,GAAA;EAAA,UACA;IACA;MACA,KAAAlB,yBAAU,IAAAG,SAAA,CAAAgB,MAAA;QACZhB,SAAA,CAAAgB,MAAA;MAEA;IAIA,UAAO;MAAA,IAAAlB,iBAAA;QAAA,MAAAC,cAAA;MAAA;IAAA;EAAA;EAAA,IAAAkB,0BAAA;IAAAC,kBAAA;IAAAC,eAAA;EAAA;IAAA,SAAAC,UAAA,GAAA/B,QAAA,CAAAgC,SAAA,CAAAnB,MAAA,CAAAC,QAAA,KAAAmB,MAAA,IAAAL,0BAAA,IAAAK,MAAA,GAAAF,UAAA,CAAAf,IAAA,IAAAC,IAAA,GAAAW,0BAAA;MAAA,IAAAM,MAAA,GAAAD,MAAA,CAAAf,KAAA;MAAA,IAAAgB,MAAA,CAAAnD,IAAA;QAAAqB,UAAA,CAAAqB,GAAA,CAAAS,MAAA,CAAApD,IAAA,EAAA7B,YAAA,CAAAC,IAAA,EAAAC,UAAA,EAAA+E,MAAA,CAAAnD,IAAA;MAAA;MAYmD,IAAAoD,0BAAA;QAAAC,kBAAA;QAAAC,eAAA;MAE1D;QAAmC,SAAAC,UAAA,IAAAJ,MAAA,CAAAhE,WAAA,QAAA2C,MAAA,CAAAC,QAAA,KAAAyB,MAAA,IAAAJ,0BAAA,IAAAI,MAAA,GAAAD,UAAA,CAAAtB,IAAA,IAAAC,IAAA,GAAAkB,0BAAA;UAAA,IAAAK,WAAA,GAAAD,MAAA,CAAArB,KAAA;UAGnC,KAAAsB,WAAuB,CAAAlE,UAAA,IAAAgC,iBAAmB,CAAAkB,GAAA,CAAAgB,WAAA,CAAAlE,UAAA;UAAAgC,iBAAA,CAAAmB,GAAA,CAAAe,WAAA,CAAAlE,UAAA,EAAArB,YAAA,CAAAC,IAAA,EAAAC,UAAA,EAAAqF,WAAA,CAAAlE,UAAA;QAAA;MAAA,SAAAoD,GAAA;QAAAU,kBAInB;QAAoBC,eAAA,GAAAX,GAAA;MAAA;QAAA;UAAA,KAAAS,0BAAA,IAAAG,UAAA,CAAAX,MAAA;YAAAW,UAAA,CAAAX,MAAA;UAAA;QAAA;UAAA,IAAAS,kBAAA;YAAA,MAAAC,eAAA;UAAA;QAAA;MAAA;IAAA;EAAA,SAAAX,GAAA;IAAAG,kBAAA;IAAAC,eAAA,GAAAJ,GAAA;EAAA;IAAA;MAAA,KAAAE,0BAAA,IAAAG,UAAA,CAAAJ,MAAA;QAAAI,UAAA,CAAAJ,MAAA;MAAA;IAAA;MAAA,IAAAE,kBAAA;QAAA,MAAAC,eAAA;MAAA;IAAA;EAAA;EAAA,IAAAlB,UAAA,GAAAZ,QAAA,CAAAY,UAAA,CAAAlD,GAAA,CAAAK,mBAAA;EAAA,IAAAiE,SAAA,GAAAhC,QAAA,CAAAgC,SAAA,CAAAtE,GAAA,CAAAK,mBAAA;EAAA,IAAA0E,SAAA;IAAAC,SAAA;MAAA5G;IAAA;IAAA6G,UAAA,EAAA7C,OAAA;IAAAS,gBAAA;IAAAqC,WAAA;IAAAC,QAAA;IAAA7C,QAAA;MAAAY,UAAA;MAAAoB,SAAA;MAAAc,SAAA,MAAAlC,UAAA,KAAAoB,SAAA;IAAA;IAAAvD,QAAA,EAAAsE,MAAA,CAAAC,WAAA,CAAAvE,QAAA,CAAAf,GAAA,WAAAuF,OAAA;MAAA,QAAAA,OAAA;IAAA;IAmDIC,WAAA;IAAAC,OAAA;EAAA;EAAA,IAAAC,iBAAA,GAAA3E,QAAA,CAAAf,GAAA,WAAAuF,OAAA;IAAA,qCAAAA,OAAA;EAAA,GAAA1H,IAAA;EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAejD;AAEO;AAKL;AACE;AAAQ,8BACVsC,IAAA,CAAAC,SAAA,CAAA9B,cAAA;AAEA;AACA,EAAAwB,kBAAM,EACN,GAAA4C,UAAM,CAEN;AACA;AAAA;AACE,EAAA5C,kBACA,EAA4D,GAAA8C,iBAAA,CAC9D;AAEA;AACA;AACA;AAA4B,oBAC1BzC,IAAA,CAAAC,SAAA,CAAA2E,SAAA;AAAA;AACoB;AAGtB;AACA;AAAgF;AAEhF;AAIA;AACA;AACA;AACA;AAEA;AAA8B;AACtB;AACC;AACE;AAGP;AAAO;AACS;AACJ;AACE;AACuB;AACsB;AACE;AACA;AACvD;AACc;AACH;AACP;AACA;AACA;AACA;AACA;AACA;AACF;AACF;AACO;AACY;AACK;AACtB;AACF;AACF;AACF;AACF;AACF;AAAA;AAAA;AAIW;AACD;AACF;AACN;AAEE,gBAAI5E,IAAK,CAAAC,SAAY,CAAAsF,iBAAmB;AACxC;AACA;AACA;AACA;AAAwD;AAC1D;AACF;AAGE;AACE;AAAU;AAE0C;AACpD;AAEF;AAAQ;AACN;AACF,SACFC,wBAAAvD,OAAA,EAAA5C,IAAA,EAAAoG,UAAA;EACF,IAAAC,YAAA,EAAAC,aAAA;EAEA,KAAAlH,sBAA8B,EAAAiH,YAAA,GAAAzD,OAAA,CAAA2D,GAAA,cAAAF,YAAA,uBAAAA,YAAA,CAAAG,MAAA,EAAAxG,IAAA;IAC5B,OAAM;EAAA;EACC,IAEPyG,QAAA,GAAWpI,IAAA,CAAA2B,IAAA,EAAAT,eAAA;EAAA,IACTmH,iBAAc,GAAArI,IAAA,CAAWoI,QAAA,yBAAmB;EAAA,IAC5CE,eAAY,GAAAtI,IAAA,CAAAoI,QAAA;EACVtI,SAAA,CAAIsI,QAAK;IACTG,SAAI;EAAiC;EACvCxI,aACF,CAAAuI,eAAA,6BAAAhG,IAAA,CAAAC,SAAA,CAAAvB,iBAAA;AAAA;EAEM,IACJwH,kBAAc,GAAA1H,0BAAW,CAAAa,IAA2B;EAAA,IACpD8G,WAAU,GAAA5H,4BAAA,CAAAc,IAAA;EACR,IAAA+G,mBAAS,GAAA9H,8BAA+B,CAAA6H,WAAA,EAAAD,kBAAA,aAAAA,kBAAA,uBAAAA,kBAAA,CAAAjH,MAAA;EACxCmH,mBAAO,CAAAC,IAAA,oBAA8B;EAAA5I,aACnC,CAAAsI,iBAAA,KAAA/F,IAAA,CAAAC,SAAA,CAAAmG,mBAAA;AAAA;EACA,IAAAxF,QACA,KAAA+E,aAAY,GAAA1D,OAAA,CAAA2D,GAAA,MAA4B,QAAOD,aAAA,uBAAAA,aAAA,CAAAW,sBAAA,4BACnC,EAAoB,+BAChC,KACD,eACH,EACFpI,mBAAA;EAGE,IAAAqI,KAAI,GAAA1I,WAAK,gCAA+B,EAAAwB,IAAA;EACxC,IAAAmH,QAAM,GAAA3I,WAAa,gCAAY,EAAAwB,IAAA;EAC/B,IAAAoH,KAAA,GAAM5I,WAAQ,CAAM,kBAAc,EAAAwB,IAAA;EAClC,IAAAqH,QAAK,GAAO7I,WAAA,oBAAAwB,IAAA;EACZ,IAAAsH,aAAM,GAAU;IAChBC,IAAA,EAAI,yBAAgB;IACpB5H,KAAA,SAAM;IACR6H,OAAA;IACF5H,OAAA;MAEA,OAAM;QACJ6H,YAAY;UACZC,MAAA;YACKC,MAAS;cAER,GAAAjJ,oBAAe,MAAkB;cAC3C,iCAAAiC,IAAA,CAAAC,SAAA","ignoreList":[]}
@@ -1,7 +1,9 @@
1
1
  const routeIdReturnRegex = /return\s*["'`]\.\/[^"'`]+["'`]/;
2
+ const routeIdReturnRegexFor = routeId => new RegExp(`return\\s*["'\`]${routeId.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}["'\`]`);
2
3
  function replaceLoader({
3
4
  code,
4
- loaderData
5
+ loaderData,
6
+ routeId
5
7
  }) {
6
8
  const stringifiedData = JSON.stringify(loaderData);
7
9
  const safeData = stringifiedData.replace(/\$/g, "$$$$");
@@ -13,8 +15,9 @@ function replaceLoader({
13
15
  // but if its null then it becomes returnnull
14
16
  " " + safeData);
15
17
  }
16
- if (routeIdReturnRegex.test(code)) {
17
- return code.replace(routeIdReturnRegex, "return " + safeData);
18
+ const stubRegex = routeId ? routeIdReturnRegexFor(routeId) : routeIdReturnRegex;
19
+ if (stubRegex.test(code)) {
20
+ return code.replace(stubRegex, "return " + safeData);
18
21
  }
19
22
  return code + `
20
23
  export const loader = () => (${stringifiedData})`;
@@ -1 +1 @@
1
- {"version":3,"names":["routeIdReturnRegex","replaceLoader","code","loaderData","stringifiedData","JSON","stringify","safeData","replace","out","includes","test"],"sources":["../../../src/vite/replaceLoader.ts"],"sourcesContent":[null],"mappings":"AAIA,MAAMA,kBAAA,GAAqB;AAEpB,SAASC,cAAc;EAC5BC,IAAA;EACAC;AACF,GAGG;EACD,MAAMC,eAAA,GAAkBC,IAAA,CAAKC,SAAA,CAAUH,UAAU;EACjD,MAAMI,QAAA,GAAWH,eAAA,CAAgBI,OAAA,CAAQ,OAAO,MAAM;EAEtD,MAAMC,GAAA,IAAO,MAAM;IAEjB,IAAIP,IAAA,CAAKQ,QAAA,CAAS,kBAAkB,GAAG;MACrC,OAAOR,IAAA,CAAKM,OAAA,CACV;MAAA;MAAA;MAAA;MAIA,MAAMD,QACR;IACF;IAIA,IAAIP,kBAAA,CAAmBW,IAAA,CAAKT,IAAI,GAAG;MACjC,OAAOA,IAAA,CAAKM,OAAA,CAAQR,kBAAA,EAAoB,YAAYO,QAAQ;IAC9D;IAEA,OAAOL,IAAA,GAAO;AAAA,+BAAkCE,eAAe;EACjE,GAAG;EAEH,OAAOK,GAAA;AACT","ignoreList":[]}
1
+ {"version":3,"names":["routeIdReturnRegex","routeIdReturnRegexFor","routeId","RegExp","replace","replaceLoader","code","loaderData","stringifiedData","JSON","stringify","safeData","out","includes","stubRegex","test"],"sources":["../../../src/vite/replaceLoader.ts"],"sourcesContent":[null],"mappings":"AAIA,MAAMA,kBAAA,GAAqB;AAI3B,MAAMC,qBAAA,GAAyBC,OAAA,IAC7B,IAAIC,MAAA,CAAO,mBAAmBD,OAAA,CAAQE,OAAA,CAAQ,uBAAuB,MAAM,CAAC,QAAQ;AAE/E,SAASC,cAAc;EAC5BC,IAAA;EACAC,UAAA;EACAL;AACF,GAIG;EACD,MAAMM,eAAA,GAAkBC,IAAA,CAAKC,SAAA,CAAUH,UAAU;EACjD,MAAMI,QAAA,GAAWH,eAAA,CAAgBJ,OAAA,CAAQ,OAAO,MAAM;EAEtD,MAAMQ,GAAA,IAAO,MAAM;IAEjB,IAAIN,IAAA,CAAKO,QAAA,CAAS,kBAAkB,GAAG;MACrC,OAAOP,IAAA,CAAKF,OAAA,CACV;MAAA;MAAA;MAAA;MAIA,MAAMO,QACR;IACF;IAIA,MAAMG,SAAA,GAAYZ,OAAA,GAAUD,qBAAA,CAAsBC,OAAO,IAAIF,kBAAA;IAC7D,IAAIc,SAAA,CAAUC,IAAA,CAAKT,IAAI,GAAG;MACxB,OAAOA,IAAA,CAAKF,OAAA,CAAQU,SAAA,EAAW,YAAYH,QAAQ;IACrD;IAEA,OAAOL,IAAA,GAAO;AAAA,+BAAkCE,eAAe;EACjE,GAAG;EAEH,OAAOI,GAAA;AACT","ignoreList":[]}
@@ -1,8 +1,12 @@
1
1
  var routeIdReturnRegex = /return\s*["'`]\.\/[^"'`]+["'`]/;
2
+ var routeIdReturnRegexFor = function (routeId) {
3
+ return new RegExp(`return\\s*["'\`]${routeId.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}["'\`]`);
4
+ };
2
5
  function replaceLoader(param) {
3
6
  var {
4
7
  code,
5
- loaderData
8
+ loaderData,
9
+ routeId
6
10
  } = param;
7
11
  var stringifiedData = JSON.stringify(loaderData);
8
12
  var safeData = stringifiedData.replace(/\$/g, "$$$$");
@@ -14,8 +18,9 @@ function replaceLoader(param) {
14
18
  // but if its null then it becomes returnnull
15
19
  " " + safeData);
16
20
  }
17
- if (routeIdReturnRegex.test(code)) {
18
- return code.replace(routeIdReturnRegex, "return " + safeData);
21
+ var stubRegex = routeId ? routeIdReturnRegexFor(routeId) : routeIdReturnRegex;
22
+ if (stubRegex.test(code)) {
23
+ return code.replace(stubRegex, "return " + safeData);
19
24
  }
20
25
  return code + `
21
26
  export const loader = () => (${stringifiedData})`;
@@ -1 +1 @@
1
- {"version":3,"names":["routeIdReturnRegex","replaceLoader","param","code","loaderData","stringifiedData","JSON","stringify","safeData","replace","out","includes","test"],"sources":["../../../src/vite/replaceLoader.ts"],"sourcesContent":[null],"mappings":"AAIA,IAAAA,kBAAM,mCAAqB;AAEpB,SAASC,cAAcC,KAAA;EAC5B;IAAAC,IAAA;IAAAC;EAAA,IAAAF,KAAA;EACA,IAAAG,eAAA,GAAAC,IAAA,CAAAC,SAAA,CAAAH,UAAA;EACF,IAGGI,QAAA,GAAAH,eAAA,CAAAI,OAAA;EACD,IAAAC,GAAM;IACN,IAAMP,IAAA,CAAAQ,QAAW,mBAAgB,GAAQ;MAEzC,OAAMR,IAAO,CAAAM,OAAM,CAEb,0BAAc;MAChB;MACE;MAAA;MAAA,MAAAD,QAAA;IAAA;IAIM,IACRR,kBAAA,CAAAY,IAAA,CAAAT,IAAA;MACF,OAAAA,IAAA,CAAAM,OAAA,CAAAT,kBAAA,cAAAQ,QAAA;IAIA;IACE,OAAAL,IAAO,GAAK;AAAgD,+BAC9DE,eAAA;EAEA;EAAc,OAAAK,GAAA;AAAiD;AAGjE,SACFT,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["routeIdReturnRegex","routeIdReturnRegexFor","routeId","RegExp","replace","replaceLoader","param","code","loaderData","stringifiedData","JSON","stringify","safeData","out","includes","stubRegex","test"],"sources":["../../../src/vite/replaceLoader.ts"],"sourcesContent":[null],"mappings":"AAIA,IAAAA,kBAAM,mCAAqB;AAI3B,IAAAC,qBAAM,YAAAA,CAAyBC,OAC7B;EAEK,OAAS,IAAAC,MAAA,oBAAcD,OAAA,CAAAE,OAAA;AAAA;AAC5B,SACAC,cAAAC,KAAA;EACA;IAAAC,IAAA;IAAAC,UAAA;IAAAN;EAAA,IAAAI,KAAA;EACF,IAIGG,eAAA,GAAAC,IAAA,CAAAC,SAAA,CAAAH,UAAA;EACD,IAAAI,QAAM,GAAAH,eAAuB,CAAAL,OAAA,CAAU,aAAU;EACjD,IAAAS,GAAM,eAAW;IAEjB,IAAMN,IAAA,CAAAO,QAAa;MAEjB,OAASP,IAAA,CAAAH,OAAS,CAChB,0BAAY;MACV;MAAA;MAAA;MAAA,MAAAQ,QAAA;IAIM;IAEV,IAAAG,SAAA,GAAAb,OAAA,GAAAD,qBAAA,CAAAC,OAAA,IAAAF,kBAAA;IAIA,IAAAe,SAAM,CAAAC,IAAY,CAAAT,IAAA;MAClB,OAAIA,IAAA,CAAUH,OAAK,CAAAW,SAAO,cAAAH,QAAA;IACxB;IACF,OAAAL,IAAA;AAEA,+BAAcE,eAAA;EAAA;EAChB,OAAGI,GAAA;AAEH;AACF,S","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "one",
3
- "version": "1.25.13",
3
+ "version": "1.25.15",
4
4
  "license": "BSD-3-Clause",
5
5
  "sideEffects": [
6
6
  "setup.mjs",
@@ -193,18 +193,18 @@
193
193
  "@cloudflare/vite-plugin": "^1.33.1",
194
194
  "@swc/core": "^1.14.0",
195
195
  "@ungap/structured-clone": "^1.2.0",
196
- "@vxrn/color-scheme": "1.25.13",
197
- "@vxrn/compiler": "1.25.13",
198
- "@vxrn/resolve": "1.25.13",
199
- "@vxrn/tslib-lite": "1.25.13",
200
- "@vxrn/use-isomorphic-layout-effect": "1.25.13",
201
- "@vxrn/vite-plugin-metro": "1.25.13",
196
+ "@vxrn/color-scheme": "1.25.15",
197
+ "@vxrn/compiler": "1.25.15",
198
+ "@vxrn/resolve": "1.25.15",
199
+ "@vxrn/tslib-lite": "1.25.15",
200
+ "@vxrn/use-isomorphic-layout-effect": "1.25.15",
201
+ "@vxrn/vite-plugin-metro": "1.25.15",
202
202
  "babel-dead-code-elimination": "1.0.10",
203
203
  "babel-plugin-module-resolver": "^5.0.2",
204
204
  "babel-preset-expo": "~57.0.5",
205
205
  "citty": "^0.1.6",
206
206
  "core-js": "^3.38.1",
207
- "create-vxrn": "1.25.13",
207
+ "create-vxrn": "1.25.15",
208
208
  "escape-string-regexp": "^5.0.0",
209
209
  "expo-linking": "~57.0.5",
210
210
  "expo-modules-core": "~57.0.10",
@@ -224,7 +224,7 @@
224
224
  "tsconfig-paths": "^4",
225
225
  "use-latest-callback": "^0.2.3",
226
226
  "vite": "^8.2.2",
227
- "vxrn": "1.25.13",
227
+ "vxrn": "1.25.15",
228
228
  "web-streams-polyfill": "^4.3.0",
229
229
  "ws": "^8.21.0",
230
230
  "xxhashjs": "^0.2.2"
package/src/cli/build.ts CHANGED
@@ -45,6 +45,7 @@ import { checkNodeVersion } from './checkNodeVersion'
45
45
  import { getWorkerPool, terminateWorkerPool } from './workerPool'
46
46
  import { generateSitemap, type RouteSitemapData } from './generateSitemap'
47
47
  import { labelProcess } from './label-process'
48
+ import { getRouteExports } from './serverRouteModules'
48
49
  import { pLimit } from '../utils/pLimit'
49
50
  import { getCriticalCSSOutputPaths } from '../vite/plugins/criticalCSSPlugin'
50
51
 
@@ -537,17 +538,36 @@ export async function build(args: {
537
538
  }
538
539
 
539
540
  // build a direct mapping from source file path to client chunk info
540
- // this is more reliable than manifest.json which can have ambiguous keys
541
+ // this is more reliable than manifest.json which can have ambiguous keys.
542
+ // index every module a chunk contains, not just its facade: a route that
543
+ // another route re-exports from stops being a dynamic entry and lands in a
544
+ // plain shared chunk, which has no facade and so gets no source-path key in
545
+ // the manifest either. the facade pass runs second so it wins where both hit.
541
546
  const clientChunksBySource = new Map<string, { fileName: string; imports: string[] }>()
542
547
  if (vxrnOutput.clientOutput) {
543
548
  for (const chunk of vxrnOutput.clientOutput) {
544
- if (chunk.type === 'chunk' && chunk.facadeModuleId) {
545
- clientChunksBySource.set(chunk.facadeModuleId, {
546
- fileName: chunk.fileName,
547
- imports: chunk.imports || [],
548
- })
549
+ if (chunk.type !== 'chunk') continue
550
+ const info = { fileName: chunk.fileName, imports: chunk.imports || [] }
551
+ for (const moduleId of chunk.moduleIds ?? []) {
552
+ clientChunksBySource.set(moduleId, info)
549
553
  }
550
554
  }
555
+ for (const chunk of vxrnOutput.clientOutput) {
556
+ if (chunk.type !== 'chunk' || !chunk.facadeModuleId) continue
557
+ clientChunksBySource.set(chunk.facadeModuleId, {
558
+ fileName: chunk.fileName,
559
+ imports: chunk.imports || [],
560
+ })
561
+ }
562
+ }
563
+
564
+ // the manifest keys chunks by source path only when they have a facade, so
565
+ // reach the rest through the chunk file name that clientChunksBySource gives us
566
+ const clientManifestByFile = new Map<string, ClientManifestEntry>()
567
+ for (const entry of Object.values(vxrnOutput.clientManifest) as ClientManifestEntry[]) {
568
+ if (entry.file) {
569
+ clientManifestByFile.set(entry.file, entry)
570
+ }
551
571
  }
552
572
 
553
573
  const outputEntries = [...vxrnOutput.serverOutput.entries()]
@@ -643,7 +663,9 @@ export async function build(args: {
643
663
 
644
664
  // also look up in manifest for additional info (css, nested imports, etc)
645
665
  const manifestKey = `${routerRoot}${foundRoute.file.slice(1)}`
646
- const clientManifestEntry = vxrnOutput.clientManifest[manifestKey]
666
+ const clientManifestEntry: ClientManifestEntry | undefined =
667
+ vxrnOutput.clientManifest[manifestKey] ??
668
+ (clientChunk ? clientManifestByFile.get(clientChunk.fileName) : undefined)
647
669
 
648
670
  // SPA and SSG routes may not have client chunks - that's expected
649
671
  if (!clientChunk && foundRoute.type !== 'spa' && foundRoute.type !== 'ssg') {
@@ -668,7 +690,7 @@ export async function build(args: {
668
690
  }
669
691
 
670
692
  function collectImports(
671
- entry: ClientManifestEntry,
693
+ entry: Partial<ClientManifestEntry>,
672
694
  { type = 'js' }: { type?: 'js' | 'css' } = {}
673
695
  ): string[] {
674
696
  const { imports = [], css } = entry
@@ -739,13 +761,9 @@ export async function build(args: {
739
761
  }
740
762
 
741
763
  // add the page itself using the direct chunk lookup (more reliable than manifest)
742
- if (clientChunk) {
743
- const routeKey = `/${routerRoot}${foundRoute.file.slice(1)}`
744
- routePreloads[routeKey] = `/${clientChunk.fileName}`
745
- } else if (clientManifestEntry) {
746
- // fallback to manifest if no chunk (shouldn't happen normally)
747
- const routeKey = `/${routerRoot}${foundRoute.file.slice(1)}`
748
- routePreloads[routeKey] = `/${clientManifestEntry.file}`
764
+ const routeChunkFile = clientChunk?.fileName ?? clientManifestEntry?.file
765
+ if (routeChunkFile) {
766
+ routePreloads[`/${routerRoot}${foundRoute.file.slice(1)}`] = `/${routeChunkFile}`
749
767
  }
750
768
 
751
769
  const preloadSetupFilePreloads = (() => {
@@ -921,11 +939,15 @@ export async function build(args: {
921
939
 
922
940
  let exported
923
941
  try {
924
- exported = await import(toAbsoluteUrl(serverJsPath))
942
+ exported = await getRouteExports(
943
+ vxrnOutput.serverEntry,
944
+ routerRoot,
945
+ foundRoute.file
946
+ )
925
947
  } catch (err) {
926
948
  console.error(`Error importing page (original error)`, err)
927
949
  // err cause not showing in vite or something
928
- throw new Error(`Error importing page: ${serverJsPath}`, {
950
+ throw new Error(`Error importing page: ${foundRoute.file}`, {
929
951
  cause: err,
930
952
  })
931
953
  }
@@ -995,6 +1017,7 @@ export async function build(args: {
995
1017
  return workerPool
996
1018
  .buildPage({
997
1019
  serverEntry: vxrnOutput.serverEntry,
1020
+ routerRoot,
998
1021
  path,
999
1022
  relativeId,
1000
1023
  params,
@@ -1024,6 +1047,7 @@ export async function build(args: {
1024
1047
  const built = await runWithAsyncLocalContext(async () => {
1025
1048
  return await buildPage(
1026
1049
  vxrnOutput.serverEntry,
1050
+ routerRoot,
1027
1051
  path,
1028
1052
  relativeId,
1029
1053
  params,
@@ -1250,21 +1274,9 @@ export async function build(args: {
1250
1274
  )
1251
1275
  return importPath.startsWith('.') ? importPath : `./${importPath}`
1252
1276
  }
1253
- const pageRouteMap: string[] = []
1254
1277
  const apiRouteMap: string[] = []
1255
1278
  const middlewareRouteMap: string[] = []
1256
1279
 
1257
- // Generate lazy imports for SSR/SSG page server bundles
1258
- for (const [routeFile, info] of Object.entries(
1259
- buildInfoForWriting.routeToBuildInfo
1260
- )) {
1261
- if (info.serverJsPath) {
1262
- const importPath =
1263
- './' + info.serverJsPath.replace(new RegExp(`^${outDir}/`), '')
1264
- pageRouteMap.push(` '${routeFile}': () => import('${importPath}')`)
1265
- }
1266
- }
1267
-
1268
1280
  // Generate lazy imports for API routes
1269
1281
  for (const route of buildInfoForWriting.manifest.apiRoutes) {
1270
1282
  if (route.file) {
@@ -1299,9 +1311,6 @@ import { serve, setFetchStaticHtml } from 'one/serve-worker'
1299
1311
  // Lazy import map - modules load on-demand when route is matched
1300
1312
  const lazyRoutes = {
1301
1313
  serverEntry: () => import('./server/_virtual_one-entry.js'),
1302
- pages: {
1303
- ${pageRouteMap.join(',\n')}
1304
- },
1305
1314
  api: {
1306
1315
  ${apiRouteMap.join(',\n')}
1307
1316
  },
@@ -14,6 +14,7 @@ import { isResponse } from '../utils/isResponse'
14
14
  import { toAbsolute, toAbsoluteUrl } from '../utils/toAbsolute'
15
15
  import { replaceLoader } from '../vite/replaceLoader'
16
16
  import type { One, RouteInfo } from '../vite/types'
17
+ import { getRouteExports } from './serverRouteModules'
17
18
 
18
19
  const { readFile, outputFile } = FSExtra
19
20
 
@@ -45,6 +46,7 @@ export function printBuildTimings() {
45
46
 
46
47
  export async function buildPage(
47
48
  serverEntry: string,
49
+ routerRoot: string,
48
50
  path: string,
49
51
  relativeId: string,
50
52
  params: any,
@@ -186,7 +188,7 @@ prefetchCSS()
186
188
  recordTiming('writeCSSPreload', performance.now() - t0)
187
189
 
188
190
  t0 = performance.now()
189
- const exported = await import(toAbsoluteUrl(serverJsPath))
191
+ const exported = await getRouteExports(serverEntry, routerRoot, foundRoute.file)
190
192
  recordTiming('importServerModule', performance.now() - t0)
191
193
 
192
194
  const loaderProps: LoaderProps = { path, params }
@@ -200,14 +202,13 @@ prefetchCSS()
200
202
  const layoutResults = await Promise.all(
201
203
  foundRoute.layouts.map(async (layout) => {
202
204
  try {
203
- const layoutServerPath = layout.loaderServerPath
204
- if (!layoutServerPath) {
205
+ if (!layout.loaderServerPath) {
205
206
  return { contextKey: layout.contextKey, loaderData: undefined }
206
207
  }
207
- // derive server dir from clientDir (e.g. dist/client -> dist/server)
208
- const serverDir = join(clientDir, '..', 'server')
209
- const layoutExported = await import(
210
- toAbsoluteUrl(join(serverDir, layoutServerPath))
208
+ const layoutExported = await getRouteExports(
209
+ serverEntry,
210
+ routerRoot,
211
+ layout.contextKey
211
212
  )
212
213
  const layoutLoaderData = await layoutExported?.loader?.(loaderProps)
213
214
  return { contextKey: layout.contextKey, loaderData: layoutLoaderData }
@@ -301,6 +302,7 @@ if (typeof document === 'undefined') globalThis.document = {}
301
302
  replaceLoader({
302
303
  code,
303
304
  loaderData,
305
+ routeId: foundRoute.file,
304
306
  })
305
307
  await outputFile(loaderPartialPath, withLoader)
306
308
  // native-friendly CJS version with just the data (no ESM imports)
@@ -68,6 +68,7 @@ parentPort.on('message', async (msg: any) => {
68
68
  const result = await runWithAsyncLocalContext(async () => {
69
69
  return await buildPage(
70
70
  msg.args.serverEntry,
71
+ msg.args.routerRoot,
71
72
  msg.args.path,
72
73
  msg.args.relativeId,
73
74
  msg.args.params,
@@ -0,0 +1,33 @@
1
+ import { getRouteExportsFromEntry } from '../server/routeExportsFromEntry'
2
+ import { toAbsoluteUrl } from '../utils/toAbsolute'
3
+
4
+ // entry evaluation is expensive and every page in a build shares it
5
+ const serverEntries = new Map<string, Promise<any>>()
6
+
7
+ function loadServerEntry(serverEntry: string) {
8
+ let loading = serverEntries.get(serverEntry)
9
+ if (!loading) {
10
+ loading = import(toAbsoluteUrl(serverEntry))
11
+ serverEntries.set(serverEntry, loading)
12
+ }
13
+ return loading
14
+ }
15
+
16
+ export async function getRouteExports(
17
+ serverEntry: string,
18
+ routerRoot: string,
19
+ routeFile: string
20
+ ): Promise<Record<string, any>> {
21
+ const entry = await loadServerEntry(serverEntry)
22
+ const exported = await getRouteExportsFromEntry(entry, routerRoot, routeFile)
23
+
24
+ if (!exported) {
25
+ const routes =
26
+ entry?.default?.options?.routes ?? entry?.default?.default?.options?.routes
27
+ throw new Error(
28
+ `[one] route ${routeFile} is missing from the built server entry route map (looked in: ${Object.keys(routes ?? {}).join(', ')})`
29
+ )
30
+ }
31
+
32
+ return exported
33
+ }
@@ -105,6 +105,7 @@ export class BuildWorkerPool {
105
105
 
106
106
  async buildPage(args: {
107
107
  serverEntry: string
108
+ routerRoot: string
108
109
  path: string
109
110
  relativeId: string
110
111
  params: any
package/src/createApp.tsx CHANGED
@@ -7,7 +7,7 @@ import { render } from './render'
7
7
  import { initClientMatches } from './router/router'
8
8
  import { registerPreloadedRoute } from './router/useViteRoutes'
9
9
  import { setupSkewProtection } from './skewProtection'
10
- import { handleSkewError } from './utils/dynamicImport'
10
+ import { handleSkewError, isChunkLoadError } from './utils/dynamicImport'
11
11
  import { findRootLayout } from './utils/findRootLayout'
12
12
  import type { RenderAppProps } from './types'
13
13
  import type { OneLinkingConfig } from './link/getLinking'
@@ -293,5 +293,9 @@ export function createApp(options: CreateAppProps) {
293
293
  })
294
294
  .catch((err) => {
295
295
  console.error(`Error during client initialization:`, err)
296
+ if (isChunkLoadError(err)) {
297
+ handleSkewError()
298
+ }
296
299
  })
297
300
  }
301
+
@@ -20,7 +20,6 @@
20
20
  * oneOptions: { web: { defaultRenderMode: 'spa' } },
21
21
  * routes: {
22
22
  * api: { '/api/hello': () => import('./api/hello') },
23
- * pages: { '/index': () => import('./index') },
24
23
  * middlewares: {},
25
24
  * serverEntry: () => import('./entry-server'),
26
25
  * },
package/src/headless.tsx CHANGED
@@ -4,6 +4,7 @@ import type { OneLinkingConfig } from './link/getLinking'
4
4
  import { Root } from './Root'
5
5
  import { resolveClientLoader } from './clientLoaderResolver'
6
6
  import { render } from './render'
7
+ import { handleSkewError, isChunkLoadError } from './utils/dynamicImport'
7
8
  import { findRootLayout } from './utils/findRootLayout'
8
9
  import type { One } from './vite/types'
9
10
 
@@ -51,5 +52,9 @@ export function createApp(options: CreateHeadlessAppProps) {
51
52
  })
52
53
  .catch((err) => {
53
54
  console.error(`[one/headless] Error during initialization:`, err)
55
+ if (isChunkLoadError(err)) {
56
+ handleSkewError()
57
+ }
54
58
  })
55
59
  }
60
+