@reckona/mreact-router 0.0.209 → 0.0.211

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 (46) hide show
  1. package/dist/adapters/cloudflare.d.ts.map +1 -1
  2. package/dist/adapters/cloudflare.js +17 -5
  3. package/dist/adapters/cloudflare.js.map +1 -1
  4. package/dist/build.d.ts.map +1 -1
  5. package/dist/build.js +43 -3
  6. package/dist/build.js.map +1 -1
  7. package/dist/built-runtime.d.ts +1 -0
  8. package/dist/built-runtime.d.ts.map +1 -1
  9. package/dist/built-runtime.js +4 -0
  10. package/dist/built-runtime.js.map +1 -1
  11. package/dist/client-manifest-assets.d.ts +2 -0
  12. package/dist/client-manifest-assets.d.ts.map +1 -1
  13. package/dist/client-manifest-assets.js +2 -1
  14. package/dist/client-manifest-assets.js.map +1 -1
  15. package/dist/client.d.ts +1 -0
  16. package/dist/client.d.ts.map +1 -1
  17. package/dist/client.js +367 -93
  18. package/dist/client.js.map +1 -1
  19. package/dist/module-preload-graph.d.ts +5 -0
  20. package/dist/module-preload-graph.d.ts.map +1 -0
  21. package/dist/module-preload-graph.js +48 -0
  22. package/dist/module-preload-graph.js.map +1 -0
  23. package/dist/reactive-devtools-stub.d.ts +3 -0
  24. package/dist/reactive-devtools-stub.d.ts.map +1 -0
  25. package/dist/reactive-devtools-stub.js +10 -0
  26. package/dist/reactive-devtools-stub.js.map +1 -0
  27. package/dist/render.d.ts +1 -0
  28. package/dist/render.d.ts.map +1 -1
  29. package/dist/render.js +47 -10
  30. package/dist/render.js.map +1 -1
  31. package/dist/serve.js +1 -0
  32. package/dist/serve.js.map +1 -1
  33. package/dist/vite.d.ts.map +1 -1
  34. package/dist/vite.js +2 -7
  35. package/dist/vite.js.map +1 -1
  36. package/package.json +11 -11
  37. package/src/adapters/cloudflare.ts +22 -5
  38. package/src/build.ts +50 -3
  39. package/src/built-runtime.ts +18 -6
  40. package/src/client-manifest-assets.ts +3 -1
  41. package/src/client.ts +367 -92
  42. package/src/module-preload-graph.ts +70 -0
  43. package/src/reactive-devtools-stub.ts +9 -0
  44. package/src/render.ts +74 -10
  45. package/src/serve.ts +1 -0
  46. package/src/vite.ts +2 -7
@@ -0,0 +1,5 @@
1
+ export interface StaticModuleChunk {
2
+ imports?: readonly string[] | undefined;
3
+ }
4
+ export declare function collectStaticModulePreloadDependencies(entryFile: string, chunks: ReadonlyMap<string, StaticModuleChunk>): string[];
5
+ //# sourceMappingURL=module-preload-graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-preload-graph.d.ts","sourceRoot":"","sources":["../src/module-preload-graph.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CACzC;AAED,wBAAgB,sCAAsC,CACpD,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAC7C,MAAM,EAAE,CAiCV"}
@@ -0,0 +1,48 @@
1
+ export function collectStaticModulePreloadDependencies(entryFile, chunks) {
2
+ if (!chunks.has(entryFile)) {
3
+ throw new Error(`Missing static JavaScript chunk for module preload entry: ${entryFile}`);
4
+ }
5
+ const dependencies = new Set();
6
+ const visited = new Set();
7
+ const pending = [...(chunks.get(entryFile)?.imports ?? [])];
8
+ while (pending.length > 0) {
9
+ const path = pending.pop();
10
+ if (path === undefined ||
11
+ path === entryFile ||
12
+ visited.has(path) ||
13
+ !isLocalJavaScriptChunk(path)) {
14
+ continue;
15
+ }
16
+ visited.add(path);
17
+ const chunk = chunks.get(path);
18
+ if (chunk === undefined) {
19
+ throw new Error(`Missing static JavaScript chunk for module preload: ${path}`);
20
+ }
21
+ dependencies.add(path);
22
+ pending.push(...(chunk.imports ?? []));
23
+ }
24
+ return [...dependencies].sort();
25
+ }
26
+ function isLocalJavaScriptChunk(path) {
27
+ if (path.startsWith("/") || hasUrlScheme(path)) {
28
+ return false;
29
+ }
30
+ return path.endsWith(".js") || path.endsWith(".mjs");
31
+ }
32
+ function hasUrlScheme(value) {
33
+ const colon = value.indexOf(":");
34
+ if (colon <= 0) {
35
+ return false;
36
+ }
37
+ for (let index = 0; index < colon; index += 1) {
38
+ const code = value.charCodeAt(index);
39
+ const letter = (code >= 65 && code <= 90) || (code >= 97 && code <= 122);
40
+ const digit = code >= 48 && code <= 57;
41
+ const allowedSymbol = code === 43 || code === 45 || code === 46;
42
+ if (index === 0 ? !letter : !letter && !digit && !allowedSymbol) {
43
+ return false;
44
+ }
45
+ }
46
+ return true;
47
+ }
48
+ //# sourceMappingURL=module-preload-graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-preload-graph.js","sourceRoot":"","sources":["../src/module-preload-graph.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,sCAAsC,CACpD,SAAiB,EACjB,MAA8C;IAE9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,6DAA6D,SAAS,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IAE5D,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAE3B,IACE,IAAI,KAAK,SAAS;YAClB,IAAI,KAAK,SAAS;YAClB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YACjB,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAC7B,CAAC;YACD,SAAS;QACX,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,uDAAuD,IAAI,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY;IAC1C,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEjC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC;QACzE,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;QACvC,MAAM,aAAa,GAAG,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,CAAC;QAEhE,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;YAChE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["export interface StaticModuleChunk {\n imports?: readonly string[] | undefined;\n}\n\nexport function collectStaticModulePreloadDependencies(\n entryFile: string,\n chunks: ReadonlyMap<string, StaticModuleChunk>,\n): string[] {\n if (!chunks.has(entryFile)) {\n throw new Error(`Missing static JavaScript chunk for module preload entry: ${entryFile}`);\n }\n\n const dependencies = new Set<string>();\n const visited = new Set<string>();\n const pending = [...(chunks.get(entryFile)?.imports ?? [])];\n\n while (pending.length > 0) {\n const path = pending.pop();\n\n if (\n path === undefined ||\n path === entryFile ||\n visited.has(path) ||\n !isLocalJavaScriptChunk(path)\n ) {\n continue;\n }\n\n visited.add(path);\n const chunk = chunks.get(path);\n\n if (chunk === undefined) {\n throw new Error(`Missing static JavaScript chunk for module preload: ${path}`);\n }\n\n dependencies.add(path);\n pending.push(...(chunk.imports ?? []));\n }\n\n return [...dependencies].sort();\n}\n\nfunction isLocalJavaScriptChunk(path: string): boolean {\n if (path.startsWith(\"/\") || hasUrlScheme(path)) {\n return false;\n }\n\n return path.endsWith(\".js\") || path.endsWith(\".mjs\");\n}\n\nfunction hasUrlScheme(value: string): boolean {\n const colon = value.indexOf(\":\");\n\n if (colon <= 0) {\n return false;\n }\n\n for (let index = 0; index < colon; index += 1) {\n const code = value.charCodeAt(index);\n const letter = (code >= 65 && code <= 90) || (code >= 97 && code <= 122);\n const digit = code >= 48 && code <= 57;\n const allowedSymbol = code === 43 || code === 45 || code === 46;\n\n if (index === 0 ? !letter : !letter && !digit && !allowedSymbol) {\n return false;\n }\n }\n\n return true;\n}\n"]}
@@ -0,0 +1,3 @@
1
+ /** Shared by the Vite dev server and production client bundler. */
2
+ export declare const reactiveDevtoolsStubSource = "export function emitReactiveDevtoolsEvent() {}\nexport function emitReactiveEffectRunDevtoolsEvent() {}\nexport function hasReactiveDevtoolsEmitter() { return false; }\nexport function currentDevtoolsEmitter() { return undefined; }\nexport function currentReactiveDevtools() { return undefined; }\nexport function registerReactiveDevtoolsResource() { return { dispose() {}, update() {} }; }\nexport function invalidateReactiveDevtoolsCache() {}\nexport function prepareReactiveEffectRunDevtoolsEvent() { return undefined; }";
3
+ //# sourceMappingURL=reactive-devtools-stub.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactive-devtools-stub.d.ts","sourceRoot":"","sources":["../src/reactive-devtools-stub.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,eAAO,MAAM,0BAA0B,ghBAOuC,CAAC"}
@@ -0,0 +1,10 @@
1
+ /** Shared by the Vite dev server and production client bundler. */
2
+ export const reactiveDevtoolsStubSource = `export function emitReactiveDevtoolsEvent() {}
3
+ export function emitReactiveEffectRunDevtoolsEvent() {}
4
+ export function hasReactiveDevtoolsEmitter() { return false; }
5
+ export function currentDevtoolsEmitter() { return undefined; }
6
+ export function currentReactiveDevtools() { return undefined; }
7
+ export function registerReactiveDevtoolsResource() { return { dispose() {}, update() {} }; }
8
+ export function invalidateReactiveDevtoolsCache() {}
9
+ export function prepareReactiveEffectRunDevtoolsEvent() { return undefined; }`;
10
+ //# sourceMappingURL=reactive-devtools-stub.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactive-devtools-stub.js","sourceRoot":"","sources":["../src/reactive-devtools-stub.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;8EAOoC,CAAC","sourcesContent":["/** Shared by the Vite dev server and production client bundler. */\nexport const reactiveDevtoolsStubSource = `export function emitReactiveDevtoolsEvent() {}\nexport function emitReactiveEffectRunDevtoolsEvent() {}\nexport function hasReactiveDevtoolsEmitter() { return false; }\nexport function currentDevtoolsEmitter() { return undefined; }\nexport function currentReactiveDevtools() { return undefined; }\nexport function registerReactiveDevtoolsResource() { return { dispose() {}, update() {} }; }\nexport function invalidateReactiveDevtoolsCache() {}\nexport function prepareReactiveEffectRunDevtoolsEvent() { return undefined; }`;\n"]}
package/dist/render.d.ts CHANGED
@@ -28,6 +28,7 @@ export interface RenderAppRequestOptions {
28
28
  assetBaseUrl?: string | undefined;
29
29
  clientRouteInferenceCache?: ClientRouteInferenceCache | undefined;
30
30
  clientScripts?: ReadonlyMap<string, string>;
31
+ clientScriptPreloads?: ReadonlyMap<string, readonly string[]>;
31
32
  clientStylesByFile?: ReadonlyMap<string, readonly string[]>;
32
33
  clientStyles?: ReadonlyMap<string, readonly string[]>;
33
34
  define?: UserConfig["define"] | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
package/dist/render.js CHANGED
@@ -457,6 +457,7 @@ async function renderAppRequestInternal(options) {
457
457
  routePath: url.pathname,
458
458
  routeFile: notFoundFile,
459
459
  routeScripts: options.clientScripts,
460
+ routeScriptPreloads: options.clientScriptPreloads,
460
461
  serverModules: options.serverModules,
461
462
  serverModuleCacheVersion: options.serverModuleCacheVersion,
462
463
  serverSourceFiles: options.serverSourceFiles,
@@ -765,8 +766,10 @@ async function renderAppRequestInternal(options) {
765
766
  assetBaseUrl: options.assetBaseUrl,
766
767
  currentStyleSheets: clientStyleSheets,
767
768
  currentScript: clientRoute ? clientScript : undefined,
769
+ currentScriptPreloads: options.clientScriptPreloads?.get(matched.route.path),
768
770
  currentNavigationScript: navigationScript,
769
771
  routeScripts: options.clientScripts,
772
+ routeScriptPreloads: options.clientScriptPreloads,
770
773
  })}${html}`, preparedActions.htmlReplacements), {
771
774
  headers: responseHeadersForMetadata(metadata, options.request, {
772
775
  "x-mreact-stream": "1",
@@ -838,6 +841,7 @@ async function renderAppRequestInternal(options) {
838
841
  trackedRequest,
839
842
  routePath: matched.route.path,
840
843
  routeScripts: options.clientScripts,
844
+ routeScriptPreloads: options.clientScriptPreloads,
841
845
  serverModules: options.serverModules,
842
846
  serverModuleCacheVersion: options.serverModuleCacheVersion,
843
847
  serverSourceFiles: options.serverSourceFiles,
@@ -876,6 +880,7 @@ async function renderAppRequestInternal(options) {
876
880
  requestUrl: url.href,
877
881
  routePath: matched.route.path,
878
882
  routeScripts: options.clientScripts,
883
+ routeScriptPreloads: options.clientScriptPreloads,
879
884
  serverModules: options.serverModules,
880
885
  serverModuleCacheVersion: options.serverModuleCacheVersion,
881
886
  serverSourceFiles: options.serverSourceFiles,
@@ -1012,8 +1017,10 @@ async function renderAppRequestInternal(options) {
1012
1017
  assetBaseUrl: options.assetBaseUrl,
1013
1018
  currentStyleSheets: clientStyleSheets,
1014
1019
  currentScript: clientRoute ? clientScript : undefined,
1020
+ currentScriptPreloads: options.clientScriptPreloads?.get(matched.route.path),
1015
1021
  currentNavigationScript: navigationScript,
1016
1022
  routeScripts: options.clientScripts,
1023
+ routeScriptPreloads: options.clientScriptPreloads,
1017
1024
  })}${html}`, preparedActions.htmlReplacements), {
1018
1025
  headers: responseHeadersForMetadata(metadata, options.request),
1019
1026
  }), preparedActions.csrfToken, preparedActions.csrfTokenIsNew === true);
@@ -1068,6 +1075,7 @@ async function renderAppRequestInternal(options) {
1068
1075
  routePath: matched.route.path,
1069
1076
  routeFile: notFoundFile,
1070
1077
  routeScripts: options.clientScripts,
1078
+ routeScriptPreloads: options.clientScriptPreloads,
1071
1079
  serverModules: options.serverModules,
1072
1080
  serverModuleCacheVersion: options.serverModuleCacheVersion,
1073
1081
  serverSourceFiles: options.serverSourceFiles,
@@ -1094,6 +1102,7 @@ async function renderAppRequestInternal(options) {
1094
1102
  routePath: matched.route.path,
1095
1103
  routeFile: errorFile,
1096
1104
  routeScripts: options.clientScripts,
1105
+ routeScriptPreloads: options.clientScriptPreloads,
1097
1106
  serverModules: options.serverModules,
1098
1107
  serverModuleCacheVersion: options.serverModuleCacheVersion,
1099
1108
  serverSourceFiles: options.serverSourceFiles,
@@ -1191,17 +1200,28 @@ function applyActionHtmlReplacements(html, replacements) {
1191
1200
  }
1192
1201
  return next;
1193
1202
  }
1194
- function modulePreloadTags(script, assetBaseUrl) {
1195
- return script === undefined
1196
- ? ""
1197
- : `<link rel="modulepreload" href="${escapeHtmlAttribute(assetPath(script, assetBaseUrl ?? "/_mreact/client/"))}">`;
1203
+ function modulePreloadTags(script, dependencies, assetBaseUrl) {
1204
+ if (script === undefined) {
1205
+ return "";
1206
+ }
1207
+ const seen = new Set();
1208
+ return [script, ...(dependencies ?? [])]
1209
+ .filter((file) => {
1210
+ if (seen.has(file)) {
1211
+ return false;
1212
+ }
1213
+ seen.add(file);
1214
+ return true;
1215
+ })
1216
+ .map((file) => `<link rel="modulepreload" href="${escapeHtmlAttribute(assetPath(file, assetBaseUrl ?? "/_mreact/client/"))}">`)
1217
+ .join("");
1198
1218
  }
1199
1219
  function clientNavigationHeadTags(options) {
1200
1220
  return [
1201
1221
  styleSheetTags(options.currentStyleSheets, options.assetBaseUrl),
1202
- modulePreloadTags(options.currentScript, options.assetBaseUrl),
1203
- navigationRuntimeScriptTag(options.currentNavigationScript, options.assetBaseUrl),
1204
- routePrefetchManifestScript(options.routeScripts, options.assetBaseUrl),
1222
+ modulePreloadTags(options.currentScript, options.currentScriptPreloads, options.assetBaseUrl),
1223
+ navigationRuntimeScriptTag(options.currentNavigationScript, options.assetBaseUrl, options.currentScript === undefined),
1224
+ routePrefetchManifestScript(options.routeScripts, options.routeScriptPreloads, options.assetBaseUrl),
1205
1225
  ].join("");
1206
1226
  }
1207
1227
  function styleSheetTags(styleSheets, assetBaseUrl) {
@@ -1231,22 +1251,33 @@ function hasUrlScheme(value) {
1231
1251
  }
1232
1252
  return true;
1233
1253
  }
1234
- function navigationRuntimeScriptTag(script, assetBaseUrl) {
1254
+ function navigationRuntimeScriptTag(script, assetBaseUrl, execute) {
1235
1255
  if (script === undefined) {
1236
1256
  return "";
1237
1257
  }
1238
1258
  const json = JSON.stringify({
1239
1259
  script: assetPath(script, assetBaseUrl ?? "/_mreact/client/"),
1240
1260
  }).replaceAll("<", "\\u003c");
1241
- return `<script type="application/json" id="mreact-navigation-runtime">${json}</script>`;
1261
+ const descriptor = `<script type="application/json" id="mreact-navigation-runtime">${json}</script>`;
1262
+ // Server-only routes have no client entry to load the navigation runtime.
1263
+ return execute
1264
+ ? `${descriptor}<script type="module" src="${escapeHtmlAttribute(assetPath(script, assetBaseUrl ?? "/_mreact/client/"))}"></script>`
1265
+ : descriptor;
1242
1266
  }
1243
- function routePrefetchManifestScript(routeScripts, assetBaseUrl) {
1267
+ function routePrefetchManifestScript(routeScripts, routeScriptPreloads, assetBaseUrl) {
1244
1268
  if (routeScripts === undefined || routeScripts.size === 0) {
1245
1269
  return "";
1246
1270
  }
1247
1271
  const routes = Array.from(routeScripts.entries(), ([path, script]) => ({
1248
1272
  path,
1249
1273
  script: assetPath(script, assetBaseUrl ?? "/_mreact/client/"),
1274
+ ...(routeScriptPreloads?.get(path) === undefined || routeScriptPreloads.get(path)?.length === 0
1275
+ ? {}
1276
+ : {
1277
+ modulePreloads: routeScriptPreloads
1278
+ .get(path)
1279
+ ?.map((file) => assetPath(file, assetBaseUrl ?? "/_mreact/client/")),
1280
+ }),
1250
1281
  }));
1251
1282
  const json = JSON.stringify(routes).replaceAll("<", "\\u003c");
1252
1283
  return `<script type="application/json" id="mreact-route-prefetch-manifest">${json}</script>`;
@@ -1419,7 +1450,9 @@ async function renderSpecialRoute(options) {
1419
1450
  assetBaseUrl: options.assetBaseUrl,
1420
1451
  currentStyleSheets: options.currentStyleSheets,
1421
1452
  currentScript: options.navigation?.clientRoute === true ? options.navigation.script : undefined,
1453
+ currentScriptPreloads: options.routeScriptPreloads?.get(options.navigation?.routePath ?? options.routePath ?? ""),
1422
1454
  routeScripts: options.routeScripts,
1455
+ routeScriptPreloads: options.routeScriptPreloads,
1423
1456
  })}${html}`, {
1424
1457
  headers: { "content-type": "text/html; charset=utf-8" },
1425
1458
  status: options.status,
@@ -2202,7 +2235,9 @@ function runServerStreamModule(code, options) {
2202
2235
  sink.append(clientNavigationHeadTags({
2203
2236
  assetBaseUrl: options.assetBaseUrl,
2204
2237
  currentScript: options.clientRoute ? options.script : undefined,
2238
+ currentScriptPreloads: options.routeScriptPreloads?.get(options.routePath),
2205
2239
  routeScripts: options.routeScripts,
2240
+ routeScriptPreloads: options.routeScriptPreloads,
2206
2241
  }));
2207
2242
  for (const shell of layoutShells) {
2208
2243
  sink.append(shell.prefix);
@@ -2342,7 +2377,9 @@ async function runServerStreamModuleWithLoading(code, options) {
2342
2377
  sink.append(clientNavigationHeadTags({
2343
2378
  assetBaseUrl: options.assetBaseUrl,
2344
2379
  currentScript: options.clientRoute ? options.script : undefined,
2380
+ currentScriptPreloads: options.routeScriptPreloads?.get(options.routePath),
2345
2381
  routeScripts: options.routeScripts,
2382
+ routeScriptPreloads: options.routeScriptPreloads,
2346
2383
  }));
2347
2384
  for (const shell of layoutShells) {
2348
2385
  sink.append(shell.prefix);