one 1.25.13 → 1.25.16

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 (195) 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 +8 -19
  5. package/dist/cjs/cli/buildPage.native.js +8 -19
  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.cjs +5 -2
  38. package/dist/cjs/vite/one.native.js +5 -2
  39. package/dist/cjs/vite/one.native.js.map +1 -1
  40. package/dist/cjs/vite/plugins/clientTreeShakePlugin.cjs +5 -3
  41. package/dist/cjs/vite/plugins/clientTreeShakePlugin.native.js +6 -3
  42. package/dist/cjs/vite/plugins/clientTreeShakePlugin.native.js.map +1 -1
  43. package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.cjs +18 -0
  44. package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.native.js +18 -0
  45. package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.native.js.map +1 -1
  46. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +4 -9
  47. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +4 -9
  48. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  49. package/dist/cjs/vite/plugins/virtualEntryPlugin.cjs +7 -6
  50. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js +9 -6
  51. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  52. package/dist/cjs/vite/plugins/workerdDevPlugin.cjs +0 -13
  53. package/dist/cjs/vite/plugins/workerdDevPlugin.native.js +26 -58
  54. package/dist/cjs/vite/plugins/workerdDevPlugin.native.js.map +1 -1
  55. package/dist/esm/cli/build.mjs +30 -26
  56. package/dist/esm/cli/build.mjs.map +1 -1
  57. package/dist/esm/cli/build.native.js +263 -220
  58. package/dist/esm/cli/build.native.js.map +1 -1
  59. package/dist/esm/cli/buildPage.mjs +8 -19
  60. package/dist/esm/cli/buildPage.mjs.map +1 -1
  61. package/dist/esm/cli/buildPage.native.js +8 -19
  62. package/dist/esm/cli/buildPage.native.js.map +1 -1
  63. package/dist/esm/cli/buildPageWorker.mjs +1 -1
  64. package/dist/esm/cli/buildPageWorker.mjs.map +1 -1
  65. package/dist/esm/cli/buildPageWorker.native.js +1 -1
  66. package/dist/esm/cli/buildPageWorker.native.js.map +1 -1
  67. package/dist/esm/cli/serverRouteModules.mjs +22 -0
  68. package/dist/esm/cli/serverRouteModules.mjs.map +1 -0
  69. package/dist/esm/cli/serverRouteModules.native.js +24 -0
  70. package/dist/esm/cli/serverRouteModules.native.js.map +1 -0
  71. package/dist/esm/cli/workerPool.mjs.map +1 -1
  72. package/dist/esm/cli/workerPool.native.js.map +1 -1
  73. package/dist/esm/createApp.mjs +4 -1
  74. package/dist/esm/createApp.mjs.map +1 -1
  75. package/dist/esm/fork/useLinking.native.test.mjs +1 -1
  76. package/dist/esm/getURL.native.test.mjs +1 -1
  77. package/dist/esm/headless-server.mjs.map +1 -1
  78. package/dist/esm/headless-server.native.js.map +1 -1
  79. package/dist/esm/headless.mjs +4 -0
  80. package/dist/esm/headless.mjs.map +1 -1
  81. package/dist/esm/headless.native.js +4 -0
  82. package/dist/esm/headless.native.js.map +1 -1
  83. package/dist/esm/router/diagnoseRouteLoadFailure.mjs.map +1 -1
  84. package/dist/esm/router/diagnoseRouteLoadFailure.native.js.map +1 -1
  85. package/dist/esm/router/hmrImport.native.test.mjs +1 -1
  86. package/dist/esm/router/routeHmr.native.test.mjs +1 -1
  87. package/dist/esm/router/routeHmr.native.test.mjs.map +1 -1
  88. package/dist/esm/router/useViteRoutes.mjs +9 -1
  89. package/dist/esm/router/useViteRoutes.mjs.map +1 -1
  90. package/dist/esm/router/useViteRoutes.native.js +9 -1
  91. package/dist/esm/router/useViteRoutes.native.js.map +1 -1
  92. package/dist/esm/server/oneServe.mjs +23 -4
  93. package/dist/esm/server/oneServe.mjs.map +1 -1
  94. package/dist/esm/server/oneServe.native.js +25 -6
  95. package/dist/esm/server/oneServe.native.js.map +1 -1
  96. package/dist/esm/server/routeExportsFromEntry.mjs +21 -0
  97. package/dist/esm/server/routeExportsFromEntry.mjs.map +1 -0
  98. package/dist/esm/server/routeExportsFromEntry.native.js +23 -0
  99. package/dist/esm/server/routeExportsFromEntry.native.js.map +1 -0
  100. package/dist/esm/server/workerHandler.mjs +19 -6
  101. package/dist/esm/server/workerHandler.mjs.map +1 -1
  102. package/dist/esm/server/workerHandler.native.js +20 -6
  103. package/dist/esm/server/workerHandler.native.js.map +1 -1
  104. package/dist/esm/server/workerHandler.test.mjs +24 -16
  105. package/dist/esm/server/workerHandler.test.mjs.map +1 -1
  106. package/dist/esm/server/workerHandler.test.native.js +27 -16
  107. package/dist/esm/server/workerHandler.test.native.js.map +1 -1
  108. package/dist/esm/views/ScrollBehavior.mjs.map +1 -1
  109. package/dist/esm/views/ScrollBehavior.native.js.map +1 -1
  110. package/dist/esm/vite/cloudflareWranglerConfig.mjs.map +1 -1
  111. package/dist/esm/vite/cloudflareWranglerConfig.native.js.map +1 -1
  112. package/dist/esm/vite/one.mjs +5 -2
  113. package/dist/esm/vite/one.mjs.map +1 -1
  114. package/dist/esm/vite/one.native.js +5 -2
  115. package/dist/esm/vite/one.native.js.map +1 -1
  116. package/dist/esm/vite/plugins/clientTreeShakePlugin.mjs +5 -3
  117. package/dist/esm/vite/plugins/clientTreeShakePlugin.mjs.map +1 -1
  118. package/dist/esm/vite/plugins/clientTreeShakePlugin.native.js +6 -3
  119. package/dist/esm/vite/plugins/clientTreeShakePlugin.native.js.map +1 -1
  120. package/dist/esm/vite/plugins/clientTreeShakePlugin.test.mjs +18 -0
  121. package/dist/esm/vite/plugins/clientTreeShakePlugin.test.mjs.map +1 -1
  122. package/dist/esm/vite/plugins/clientTreeShakePlugin.test.native.js +18 -0
  123. package/dist/esm/vite/plugins/clientTreeShakePlugin.test.native.js.map +1 -1
  124. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +4 -9
  125. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
  126. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +4 -9
  127. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  128. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs +7 -6
  129. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs.map +1 -1
  130. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js +9 -6
  131. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  132. package/dist/esm/vite/plugins/workerdDevPlugin.mjs +0 -13
  133. package/dist/esm/vite/plugins/workerdDevPlugin.mjs.map +1 -1
  134. package/dist/esm/vite/plugins/workerdDevPlugin.native.js +26 -58
  135. package/dist/esm/vite/plugins/workerdDevPlugin.native.js.map +1 -1
  136. package/package.json +9 -9
  137. package/src/cli/build.ts +41 -32
  138. package/src/cli/buildPage.ts +18 -22
  139. package/src/cli/buildPageWorker.ts +1 -0
  140. package/src/cli/serverRouteModules.ts +33 -0
  141. package/src/cli/workerPool.ts +1 -0
  142. package/src/createApp.tsx +5 -1
  143. package/src/headless-server.ts +0 -1
  144. package/src/headless.tsx +5 -0
  145. package/src/router/diagnoseRouteLoadFailure.ts +3 -1
  146. package/src/router/useViteRoutes.tsx +9 -1
  147. package/src/server/oneServe.ts +40 -16
  148. package/src/server/routeExportsFromEntry.ts +59 -0
  149. package/src/server/workerHandler.test.ts +21 -16
  150. package/src/server/workerHandler.ts +25 -7
  151. package/src/views/ScrollBehavior.tsx +5 -1
  152. package/src/vite/cloudflareWranglerConfig.ts +8 -4
  153. package/src/vite/one.ts +8 -3
  154. package/src/vite/plugins/clientTreeShakePlugin.test.ts +28 -0
  155. package/src/vite/plugins/clientTreeShakePlugin.ts +17 -4
  156. package/src/vite/plugins/fileSystemRouterPlugin.tsx +6 -12
  157. package/src/vite/plugins/virtualEntryPlugin.ts +10 -8
  158. package/src/vite/plugins/workerdDevPlugin.ts +6 -16
  159. package/types/cli/build.d.ts.map +1 -1
  160. package/types/cli/buildPage.d.ts +1 -1
  161. package/types/cli/buildPage.d.ts.map +1 -1
  162. package/types/cli/serverRouteModules.d.ts +2 -0
  163. package/types/cli/serverRouteModules.d.ts.map +1 -0
  164. package/types/cli/workerPool.d.ts +1 -0
  165. package/types/cli/workerPool.d.ts.map +1 -1
  166. package/types/createApp.d.ts.map +1 -1
  167. package/types/headless-server.d.ts +0 -1
  168. package/types/headless-server.d.ts.map +1 -1
  169. package/types/headless.d.ts.map +1 -1
  170. package/types/router/diagnoseRouteLoadFailure.d.ts.map +1 -1
  171. package/types/router/useViteRoutes.d.ts.map +1 -1
  172. package/types/server/oneServe.d.ts +1 -1
  173. package/types/server/oneServe.d.ts.map +1 -1
  174. package/types/server/routeExportsFromEntry.d.ts +29 -0
  175. package/types/server/routeExportsFromEntry.d.ts.map +1 -0
  176. package/types/server/workerHandler.d.ts +1 -1
  177. package/types/server/workerHandler.d.ts.map +1 -1
  178. package/types/views/ScrollBehavior.d.ts.map +1 -1
  179. package/types/vite/cloudflareWranglerConfig.d.ts.map +1 -1
  180. package/types/vite/one.d.ts.map +1 -1
  181. package/types/vite/plugins/clientTreeShakePlugin.d.ts +2 -1
  182. package/types/vite/plugins/clientTreeShakePlugin.d.ts.map +1 -1
  183. package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
  184. package/types/vite/plugins/virtualEntryPlugin.d.ts.map +1 -1
  185. package/types/vite/plugins/workerdDevPlugin.d.ts.map +1 -1
  186. package/dist/cjs/vite/replaceLoader.cjs +0 -50
  187. package/dist/cjs/vite/replaceLoader.native.js +0 -54
  188. package/dist/cjs/vite/replaceLoader.native.js.map +0 -1
  189. package/dist/esm/vite/replaceLoader.mjs +0 -25
  190. package/dist/esm/vite/replaceLoader.mjs.map +0 -1
  191. package/dist/esm/vite/replaceLoader.native.js +0 -26
  192. package/dist/esm/vite/replaceLoader.native.js.map +0 -1
  193. package/src/vite/replaceLoader.ts +0 -39
  194. package/types/vite/replaceLoader.d.ts +0 -5
  195. package/types/vite/replaceLoader.d.ts.map +0 -1
@@ -62,6 +62,7 @@ var import_checkNodeVersion = require("./checkNodeVersion.cjs");
62
62
  var import_workerPool = require("./workerPool.cjs");
63
63
  var import_generateSitemap = require("./generateSitemap.cjs");
64
64
  var import_label_process = require("./label-process.cjs");
65
+ var import_serverRouteModules = require("./serverRouteModules.cjs");
65
66
  var import_pLimit = require("../utils/pLimit.cjs");
66
67
  var import_criticalCSSPlugin = require("../vite/plugins/criticalCSSPlugin.cjs");
67
68
  var import_install_error_handlers = require("./install-error-handlers.cjs");
@@ -401,13 +402,28 @@ async function build(args) {
401
402
  const clientChunksBySource = /* @__PURE__ */new Map();
402
403
  if (vxrnOutput.clientOutput) {
403
404
  for (const chunk of vxrnOutput.clientOutput) {
404
- if (chunk.type === "chunk" && chunk.facadeModuleId) {
405
- clientChunksBySource.set(chunk.facadeModuleId, {
406
- fileName: chunk.fileName,
407
- imports: chunk.imports || []
408
- });
405
+ if (chunk.type !== "chunk") continue;
406
+ const info = {
407
+ fileName: chunk.fileName,
408
+ imports: chunk.imports || []
409
+ };
410
+ for (const moduleId of chunk.moduleIds ?? []) {
411
+ clientChunksBySource.set(moduleId, info);
409
412
  }
410
413
  }
414
+ for (const chunk of vxrnOutput.clientOutput) {
415
+ if (chunk.type !== "chunk" || !chunk.facadeModuleId) continue;
416
+ clientChunksBySource.set(chunk.facadeModuleId, {
417
+ fileName: chunk.fileName,
418
+ imports: chunk.imports || []
419
+ });
420
+ }
421
+ }
422
+ const clientManifestByFile = /* @__PURE__ */new Map();
423
+ for (const entry of Object.values(vxrnOutput.clientManifest)) {
424
+ if (entry.file) {
425
+ clientManifestByFile.set(entry.file, entry);
426
+ }
411
427
  }
412
428
  const outputEntries = [...vxrnOutput.serverOutput.entries()];
413
429
  const layoutServerPaths = /* @__PURE__ */new Map();
@@ -491,7 +507,7 @@ async function build(args) {
491
507
  }
492
508
  const clientChunk = clientChunksBySource.get(routeModulePath);
493
509
  const manifestKey = `${routerRoot}${foundRoute.file.slice(1)}`;
494
- const clientManifestEntry = vxrnOutput.clientManifest[manifestKey];
510
+ const clientManifestEntry = vxrnOutput.clientManifest[manifestKey] ?? (clientChunk ? clientManifestByFile.get(clientChunk.fileName) : void 0);
495
511
  if (!clientChunk && foundRoute.type !== "spa" && foundRoute.type !== "ssg") {
496
512
  console.warn(`No client chunk found for route: ${routeModulePath}`);
497
513
  continue;
@@ -530,12 +546,9 @@ async function build(args) {
530
546
  }
531
547
  }
532
548
  }
533
- if (clientChunk) {
534
- const routeKey = `/${routerRoot}${foundRoute.file.slice(1)}`;
535
- routePreloads[routeKey] = `/${clientChunk.fileName}`;
536
- } else if (clientManifestEntry) {
537
- const routeKey = `/${routerRoot}${foundRoute.file.slice(1)}`;
538
- routePreloads[routeKey] = `/${clientManifestEntry.file}`;
549
+ const routeChunkFile = clientChunk?.fileName ?? clientManifestEntry?.file;
550
+ if (routeChunkFile) {
551
+ routePreloads[`/${routerRoot}${foundRoute.file.slice(1)}`] = `/${routeChunkFile}`;
539
552
  }
540
553
  const preloadSetupFilePreloads = (() => {
541
554
  if (!oneOptions.setupFile) return [];
@@ -626,10 +639,10 @@ async function build(args) {
626
639
  const serverJsPath = import_node_path.posix.join(outDir, "server", serverFileName);
627
640
  let exported;
628
641
  try {
629
- exported = await import((0, import_toAbsolute.toAbsoluteUrl)(serverJsPath));
642
+ exported = await (0, import_serverRouteModules.getRouteExports)(vxrnOutput.serverEntry, routerRoot, foundRoute.file);
630
643
  } catch (err) {
631
644
  console.error(`Error importing page (original error)`, err);
632
- throw new Error(`Error importing page: ${serverJsPath}`, {
645
+ throw new Error(`Error importing page: ${foundRoute.file}`, {
633
646
  cause: err
634
647
  });
635
648
  }
@@ -663,6 +676,7 @@ async function build(args) {
663
676
  console.info(` \u21A6 route ${path}`);
664
677
  return workerPool.buildPage({
665
678
  serverEntry: vxrnOutput.serverEntry,
679
+ routerRoot,
666
680
  path,
667
681
  relativeId,
668
682
  params,
@@ -689,7 +703,7 @@ async function build(args) {
689
703
  return limit(async () => {
690
704
  console.info(` \u21A6 route ${path}`);
691
705
  const built = await (0, import_one_server_only.runWithAsyncLocalContext)(async () => {
692
- return await (0, import_buildPage.buildPage)(vxrnOutput.serverEntry, path, relativeId, params, foundRoute, clientManifestEntry, staticDir, clientDir, builtMiddlewares, serverJsPath, preloads2, allCSS, layoutCSS, routePreloads, allCSSContents, criticalPreloads, deferredPreloads, useAfterLCP, useAfterLCPAggressive);
706
+ return await (0, import_buildPage.buildPage)(vxrnOutput.serverEntry, routerRoot, path, relativeId, params, foundRoute, clientManifestEntry, staticDir, clientDir, builtMiddlewares, serverJsPath, preloads2, allCSS, layoutCSS, routePreloads, allCSSContents, criticalPreloads, deferredPreloads, useAfterLCP, useAfterLCPAggressive);
693
707
  });
694
708
  return {
695
709
  built,
@@ -859,15 +873,8 @@ async function build(args) {
859
873
  const importPath = (0, import_vite.normalizePath)((0, import_node_path.relative)(workerSrcDir, (0, import_node_path.join)(options.root, routerRoot, routeFile)));
860
874
  return importPath.startsWith(".") ? importPath : `./${importPath}`;
861
875
  };
862
- const pageRouteMap = [];
863
876
  const apiRouteMap = [];
864
877
  const middlewareRouteMap = [];
865
- for (const [routeFile, info] of Object.entries(buildInfoForWriting.routeToBuildInfo)) {
866
- if (info.serverJsPath) {
867
- const importPath = "./" + info.serverJsPath.replace(new RegExp(`^${outDir}/`), "");
868
- pageRouteMap.push(` '${routeFile}': () => import('${importPath}')`);
869
- }
870
- }
871
878
  for (const route of buildInfoForWriting.manifest.apiRoutes) {
872
879
  if (route.file) {
873
880
  const importPath = getWorkerSourceImportPath(route.file);
@@ -894,9 +901,6 @@ import { serve, setFetchStaticHtml } from 'one/serve-worker'
894
901
  // Lazy import map - modules load on-demand when route is matched
895
902
  const lazyRoutes = {
896
903
  serverEntry: () => import('./server/_virtual_one-entry.js'),
897
- pages: {
898
- ${pageRouteMap.join(",\n")}
899
- },
900
904
  api: {
901
905
  ${apiRouteMap.join(",\n")}
902
906
  },