@reckona/mreact-router 0.0.42 → 0.0.44

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 (57) hide show
  1. package/README.md +9 -2
  2. package/dist/actions.js +5 -1
  3. package/dist/actions.js.map +1 -1
  4. package/dist/adapters/aws-lambda.d.ts +2 -0
  5. package/dist/adapters/aws-lambda.d.ts.map +1 -1
  6. package/dist/adapters/aws-lambda.js +25 -3
  7. package/dist/adapters/aws-lambda.js.map +1 -1
  8. package/dist/adapters/cloudflare.d.ts.map +1 -1
  9. package/dist/adapters/cloudflare.js +18 -4
  10. package/dist/adapters/cloudflare.js.map +1 -1
  11. package/dist/build.d.ts.map +1 -1
  12. package/dist/build.js +53 -8
  13. package/dist/build.js.map +1 -1
  14. package/dist/cache.d.ts +6 -2
  15. package/dist/cache.d.ts.map +1 -1
  16. package/dist/cache.js +76 -16
  17. package/dist/cache.js.map +1 -1
  18. package/dist/client.d.ts.map +1 -1
  19. package/dist/client.js +110 -6
  20. package/dist/client.js.map +1 -1
  21. package/dist/cookies.d.ts.map +1 -1
  22. package/dist/cookies.js +6 -1
  23. package/dist/cookies.js.map +1 -1
  24. package/dist/file-conventions.d.ts +10 -0
  25. package/dist/file-conventions.d.ts.map +1 -0
  26. package/dist/file-conventions.js +60 -0
  27. package/dist/file-conventions.js.map +1 -0
  28. package/dist/index.d.ts +6 -4
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js.map +1 -1
  31. package/dist/module-runner.d.ts +1 -1
  32. package/dist/module-runner.d.ts.map +1 -1
  33. package/dist/module-runner.js +2 -1
  34. package/dist/module-runner.js.map +1 -1
  35. package/dist/render.d.ts.map +1 -1
  36. package/dist/render.js +296 -46
  37. package/dist/render.js.map +1 -1
  38. package/dist/route-source.d.ts.map +1 -1
  39. package/dist/route-source.js +12 -4
  40. package/dist/route-source.js.map +1 -1
  41. package/dist/routes.d.ts +16 -1
  42. package/dist/routes.d.ts.map +1 -1
  43. package/dist/routes.js +22 -3
  44. package/dist/routes.js.map +1 -1
  45. package/dist/security-headers.d.ts +6 -0
  46. package/dist/security-headers.d.ts.map +1 -0
  47. package/dist/security-headers.js +104 -0
  48. package/dist/security-headers.js.map +1 -0
  49. package/dist/serve.js +1 -1
  50. package/dist/serve.js.map +1 -1
  51. package/dist/session.d.ts +5 -1
  52. package/dist/session.d.ts.map +1 -1
  53. package/dist/session.js +45 -7
  54. package/dist/session.js.map +1 -1
  55. package/dist/types.d.ts +94 -0
  56. package/dist/types.d.ts.map +1 -1
  57. package/package.json +11 -11
@@ -1 +1 @@
1
- {"version":3,"file":"module-runner.js","sourceRoot":"","sources":["../src/module-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module-runner.js","sourceRoot":"","sources":["../src/module-runner.ts"],"names":[],"mappings":"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"}
@@ -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
@@ -2,19 +2,20 @@ import { createHash, randomUUID } from "node:crypto";
2
2
  import { AsyncLocalStorage } from "node:async_hooks";
3
3
  import { access, readFile, stat } from "node:fs/promises";
4
4
  import { dirname, join, relative, sep } from "node:path";
5
- import { transform, } from "@reckona/mreact-compiler";
5
+ import { formatDiagnostic, transform, } from "@reckona/mreact-compiler";
6
6
  import { createQueryClient, dehydrate, __MREACT_QUERY_STATE_SCRIPT_ID, runWithQueryClient, } from "@reckona/mreact-query";
7
7
  import { createStringSink, renderAsyncBoundary, renderOutOfOrderReorderScript, renderToReadableStream, } from "@reckona/mreact-server";
8
8
  import { createClientRouteInferenceCache, hydrationMarkerParts, formatClientRouteInferenceDiagnostic, inferClientRouteModule, routeIdForPath, withHydrationMarkers, withRouteMarkers, } from "./client.js";
9
9
  import { assetPath } from "./assets.js";
10
10
  import { escapeHtmlAttribute, escapeHtmlText as escapeHtml, } from "@reckona/mreact-shared/html-escape";
11
11
  import { matchRoute, scanAppRoutes } from "./routes.js";
12
+ import { appFileConventionContentType } from "./file-conventions.js";
12
13
  import { dispatchServerActionRequest, prepareRouteServerActions, serverActionCookie, } from "./actions.js";
13
14
  import { beginRouteCacheContext, cachedRouteResponse, cacheRouteResponse, routeCacheKey, routeCachePolicyFromSource, } from "./cache.js";
14
15
  import { resolveRouterCacheLimit } from "./cache-config.js";
15
16
  import { importAppRouterBuiltFileModule, importAppRouterFileModule, importAppRouterSourceModule, } from "./module-runner.js";
16
17
  import { contentSecurityPolicy } from "./csp.js";
17
- import { htmlResponse } from "./http.js";
18
+ import { bytesResponse, htmlResponse } from "./http.js";
18
19
  import { isNotFoundError, isRedirectError, rewriteLocation } from "./navigation.js";
19
20
  import { createAppRouterImportPolicyPlugin } from "./import-policy.js";
20
21
  import { existingRouteShellCandidates } from "./route-shells.js";
@@ -22,6 +23,7 @@ import { hasLoaderExport, isStreamRouteSource, routeClosureMayUseAwaitBoundary,
22
23
  import { emitRouterLog, logDurationMs, logNow } from "./logger.js";
23
24
  import { createRouterRuntimeCacheCounters, readRouterRuntimeCacheEntry, routerRuntimeCacheStat, } from "./cache-stats.js";
24
25
  import { bundleRouterModule } from "./bundle-pipeline.js";
26
+ import { routeSecurityHeaders } from "./security-headers.js";
25
27
  import { invokeRouterInstrumentation, traceContextFromRequest, } from "./trace.js";
26
28
  const nativeEscapeTransform = {
27
29
  batchImportName: "escapeHtmlBatch",
@@ -102,7 +104,7 @@ async function preloadBuiltPageRouteModules(options) {
102
104
  serverModules: options.serverModules,
103
105
  serverOutput: "string",
104
106
  });
105
- assertNoFatalServerDiagnostics(stringOutput.diagnostics);
107
+ assertNoFatalServerDiagnostics(options.file, stringOutput.diagnostics);
106
108
  await loadServerModule(stringOutput.code, options.file, options.serverModules, options.serverModuleCacheVersion);
107
109
  }
108
110
  if (options.analysis.streamRoute) {
@@ -114,7 +116,7 @@ async function preloadBuiltPageRouteModules(options) {
114
116
  serverOutput: "stream",
115
117
  serverAwaitHydration: options.analysis.clientInference.client,
116
118
  });
117
- assertNoFatalServerDiagnostics(streamOutput.diagnostics);
119
+ assertNoFatalServerDiagnostics(options.file, streamOutput.diagnostics);
118
120
  await loadServerStreamModule(streamOutput.code, options.file, options.serverModules, options.serverModuleCacheVersion);
119
121
  }
120
122
  await preloadShellModulesForPage({
@@ -124,15 +126,23 @@ async function preloadBuiltPageRouteModules(options) {
124
126
  serverModuleCacheVersion: options.serverModuleCacheVersion,
125
127
  serverSourceFiles: options.serverSourceFiles,
126
128
  });
127
- await loadComposedRouteMetadata({
128
- appDir: options.appDir,
129
- code: options.code,
130
- filename: options.file,
131
- importPolicy: options.importPolicy,
132
- serverModules: options.serverModules,
133
- serverModuleCacheVersion: options.serverModuleCacheVersion,
134
- serverSourceFiles: options.serverSourceFiles,
135
- });
129
+ if (!hasGenerateMetadataExport(options.code)) {
130
+ await loadComposedRouteMetadata({
131
+ appDir: options.appDir,
132
+ code: options.code,
133
+ context: {
134
+ data: undefined,
135
+ params: {},
136
+ request: new Request("http://mreact.local/"),
137
+ },
138
+ filename: options.file,
139
+ importPolicy: options.importPolicy,
140
+ routes: [],
141
+ serverModules: options.serverModules,
142
+ serverModuleCacheVersion: options.serverModuleCacheVersion,
143
+ serverSourceFiles: options.serverSourceFiles,
144
+ });
145
+ }
136
146
  }
137
147
  async function preloadShellModulesForPage(options) {
138
148
  const shellFiles = await shellFilesForPage(options.appDir, options.pageFile, options.serverModuleCacheVersion);
@@ -144,14 +154,20 @@ async function preloadShellModulesForPage(options) {
144
154
  serverModules: options.serverModules,
145
155
  serverOutput: "string",
146
156
  });
147
- assertNoFatalServerDiagnostics(output.diagnostics);
157
+ assertNoFatalServerDiagnostics(shell.file, output.diagnostics);
148
158
  await loadServerModule(output.code, shell.file, options.serverModules, options.serverModuleCacheVersion);
149
159
  }
150
160
  }
151
- function assertNoFatalServerDiagnostics(diagnostics) {
152
- const fatalDiagnostics = diagnostics.filter((diagnostic) => diagnostic.code !== "MR_UNSUPPORTED_SERVER_EVENT_HANDLER");
161
+ function fatalServerDiagnostics(diagnostics) {
162
+ return diagnostics.filter((diagnostic) => diagnostic.code !== "MR_UNSUPPORTED_SERVER_EVENT_HANDLER");
163
+ }
164
+ function formatServerDiagnostics(filename, diagnostics) {
165
+ return diagnostics.map((diagnostic) => formatDiagnostic(filename, diagnostic)).join("\n");
166
+ }
167
+ function assertNoFatalServerDiagnostics(filename, diagnostics) {
168
+ const fatalDiagnostics = fatalServerDiagnostics(diagnostics);
153
169
  if (fatalDiagnostics.length > 0) {
154
- throw new Error(fatalDiagnostics.map((diagnostic) => diagnostic.message).join("\n"));
170
+ throw new Error(formatServerDiagnostics(filename, fatalDiagnostics));
155
171
  }
156
172
  }
157
173
  const serverTransformCache = new Map();
@@ -385,6 +401,23 @@ async function renderAppRequestInternal(options) {
385
401
  let recoveryRoute;
386
402
  let routeCacheContext;
387
403
  try {
404
+ if (matched.route.kind === "asset") {
405
+ return await dispatchConventionAssetRoute({
406
+ file: matched.route.file,
407
+ request: options.request,
408
+ });
409
+ }
410
+ if (matched.route.kind === "metadata") {
411
+ return await dispatchMetadataRoute({
412
+ file: matched.route.file,
413
+ params: matched.params,
414
+ request: options.request,
415
+ route: matched.route,
416
+ serverModules: options.serverModules,
417
+ serverModuleCacheVersion: options.serverModuleCacheVersion,
418
+ serverSourceFiles: options.serverSourceFiles,
419
+ });
420
+ }
388
421
  if (matched.route.kind === "server") {
389
422
  return await dispatchServerRoute({
390
423
  file: matched.route.file,
@@ -550,9 +583,9 @@ async function renderAppRequestInternal(options) {
550
583
  serverOutput: "string",
551
584
  });
552
585
  finishRenderTimingPhase(timing, phaseStartedAt, "stringTransformMs");
553
- const stringFatalDiagnostics = stringOutput.diagnostics.filter((diagnostic) => diagnostic.code !== "MR_UNSUPPORTED_SERVER_EVENT_HANDLER");
586
+ const stringFatalDiagnostics = fatalServerDiagnostics(stringOutput.diagnostics);
554
587
  if (stringFatalDiagnostics.length > 0) {
555
- return new Response(stringFatalDiagnostics.map((diagnostic) => diagnostic.message).join("\n"), {
588
+ return new Response(formatServerDiagnostics(matched.route.file, stringFatalDiagnostics), {
556
589
  status: 500,
557
590
  headers: { "content-type": "text/plain; charset=utf-8" },
558
591
  });
@@ -603,8 +636,14 @@ async function renderAppRequestInternal(options) {
603
636
  const metadata = await loadComposedRouteMetadata({
604
637
  appDir: options.appDir,
605
638
  code: originalCode,
639
+ context: {
640
+ data,
641
+ params: matched.params,
642
+ request: options.request,
643
+ },
606
644
  filename: matched.route.file,
607
645
  importPolicy: options.importPolicy,
646
+ routes,
608
647
  serverModules: options.serverModules,
609
648
  serverModuleCacheVersion: options.serverModuleCacheVersion,
610
649
  serverSourceFiles: options.serverSourceFiles,
@@ -619,7 +658,7 @@ async function renderAppRequestInternal(options) {
619
658
  currentNavigationScript: clientRoute ? undefined : navigationScript,
620
659
  routeScripts: options.clientScripts,
621
660
  })}${html}`, {
622
- headers: responseHeadersForMetadata(metadata, {
661
+ headers: responseHeadersForMetadata(metadata, options.request, {
623
662
  "x-mreact-stream": "1",
624
663
  }),
625
664
  }), preparedActions.csrfToken, preparedActions.csrfTokenIsNew === true);
@@ -652,9 +691,9 @@ async function renderAppRequestInternal(options) {
652
691
  serverAwaitHydration: clientRoute,
653
692
  });
654
693
  finishRenderTimingPhase(timing, phaseStartedAt, "streamTransformMs");
655
- const fatalDiagnostics = output.diagnostics.filter((diagnostic) => diagnostic.code !== "MR_UNSUPPORTED_SERVER_EVENT_HANDLER");
694
+ const fatalDiagnostics = fatalServerDiagnostics(output.diagnostics);
656
695
  if (fatalDiagnostics.length > 0) {
657
- return new Response(fatalDiagnostics.map((diagnostic) => diagnostic.message).join("\n"), {
696
+ return new Response(formatServerDiagnostics(matched.route.file, fatalDiagnostics), {
658
697
  status: 500,
659
698
  headers: { "content-type": "text/plain; charset=utf-8" },
660
699
  });
@@ -740,9 +779,9 @@ async function renderAppRequestInternal(options) {
740
779
  serverOutput: "string",
741
780
  });
742
781
  finishRenderTimingPhase(timing, phaseStartedAt, "stringTransformMs");
743
- const fatalDiagnostics = output.diagnostics.filter((diagnostic) => diagnostic.code !== "MR_UNSUPPORTED_SERVER_EVENT_HANDLER");
782
+ const fatalDiagnostics = fatalServerDiagnostics(output.diagnostics);
744
783
  if (fatalDiagnostics.length > 0) {
745
- return new Response(fatalDiagnostics.map((diagnostic) => diagnostic.message).join("\n"), {
784
+ return new Response(formatServerDiagnostics(matched.route.file, fatalDiagnostics), {
746
785
  status: 500,
747
786
  headers: { "content-type": "text/plain; charset=utf-8" },
748
787
  });
@@ -803,8 +842,14 @@ async function renderAppRequestInternal(options) {
803
842
  const metadata = await loadComposedRouteMetadata({
804
843
  appDir: options.appDir,
805
844
  code: originalCode,
845
+ context: {
846
+ data,
847
+ params: matched.params,
848
+ request: options.request,
849
+ },
806
850
  filename: matched.route.file,
807
851
  importPolicy: options.importPolicy,
852
+ routes,
808
853
  serverModules: options.serverModules,
809
854
  serverModuleCacheVersion: options.serverModuleCacheVersion,
810
855
  serverSourceFiles: options.serverSourceFiles,
@@ -821,7 +866,7 @@ async function renderAppRequestInternal(options) {
821
866
  currentNavigationScript: clientRoute ? undefined : navigationScript,
822
867
  routeScripts: options.clientScripts,
823
868
  })}${html}`, {
824
- headers: responseHeadersForMetadata(metadata),
869
+ headers: responseHeadersForMetadata(metadata, options.request),
825
870
  }), preparedActions.csrfToken, preparedActions.csrfTokenIsNew === true);
826
871
  const effectiveCachePolicy = cachePolicy ?? routeCacheContext.cachePolicy;
827
872
  const finalResponse = preparedActions.hasFormActions
@@ -1100,9 +1145,9 @@ async function renderServerFileToHtml(file, props, serverModules, serverModuleCa
1100
1145
  serverModules,
1101
1146
  serverOutput: "string",
1102
1147
  });
1103
- const fatalDiagnostics = output.diagnostics.filter((diagnostic) => diagnostic.code !== "MR_UNSUPPORTED_SERVER_EVENT_HANDLER");
1148
+ const fatalDiagnostics = fatalServerDiagnostics(output.diagnostics);
1104
1149
  if (fatalDiagnostics.length > 0) {
1105
- throw new Error(fatalDiagnostics.map((diagnostic) => diagnostic.message).join("\n"));
1150
+ throw new Error(formatServerDiagnostics(file, fatalDiagnostics));
1106
1151
  }
1107
1152
  return runServerModule(output.code, props, file, serverModules, serverModuleCacheVersion);
1108
1153
  }
@@ -1145,6 +1190,51 @@ async function dispatchServerRoute(options) {
1145
1190
  ? response
1146
1191
  : new Response("Invalid route response", { status: 500 });
1147
1192
  }
1193
+ async function dispatchConventionAssetRoute(options) {
1194
+ if (options.request.method !== "GET" && options.request.method !== "HEAD") {
1195
+ return new Response("Method Not Allowed", {
1196
+ status: 405,
1197
+ headers: { allow: "GET, HEAD" },
1198
+ });
1199
+ }
1200
+ const bytes = await readFile(options.file);
1201
+ return bytesResponse(options.request.method === "HEAD" ? new Uint8Array() : bytes, {
1202
+ headers: {
1203
+ "cache-control": "public, max-age=3600",
1204
+ "content-type": appFileConventionContentType(options.file),
1205
+ },
1206
+ });
1207
+ }
1208
+ async function dispatchMetadataRoute(options) {
1209
+ if (options.request.method !== "GET" && options.request.method !== "HEAD") {
1210
+ return new Response("Method Not Allowed", {
1211
+ status: 405,
1212
+ headers: { allow: "GET, HEAD" },
1213
+ });
1214
+ }
1215
+ const module = await loadServerRouteModule(options);
1216
+ const handler = module.default;
1217
+ if (typeof handler !== "function") {
1218
+ return new Response("Invalid metadata route response", { status: 500 });
1219
+ }
1220
+ const url = new URL(options.request.url);
1221
+ const context = {
1222
+ baseUrl: url.origin,
1223
+ host: url.host,
1224
+ request: options.request,
1225
+ };
1226
+ const value = await handler(context);
1227
+ if (options.route.convention === "robots") {
1228
+ return textConventionResponse(serializeRobots(value));
1229
+ }
1230
+ if (options.route.convention === "sitemap") {
1231
+ return xmlConventionResponse(serializeSitemap(value));
1232
+ }
1233
+ if (options.route.convention === "manifest") {
1234
+ return jsonConventionResponse(value);
1235
+ }
1236
+ return new Response("Invalid metadata route convention", { status: 500 });
1237
+ }
1148
1238
  async function loadServerRouteModule(options) {
1149
1239
  if (options.serverModuleCacheVersion === undefined) {
1150
1240
  return await importAppRouterFileModule(options.file);
@@ -1985,9 +2075,9 @@ async function renderShellPrefixSuffix(appDir, shell, props, slotContext, server
1985
2075
  serverOutput: "string",
1986
2076
  });
1987
2077
  addRenderTimingPhaseDuration(timing, phaseStartedAt, "layoutTransformMs");
1988
- const fatalDiagnostics = output.diagnostics.filter((diagnostic) => diagnostic.code !== "MR_UNSUPPORTED_SERVER_EVENT_HANDLER");
2078
+ const fatalDiagnostics = fatalServerDiagnostics(output.diagnostics);
1989
2079
  if (fatalDiagnostics.length > 0) {
1990
- throw new Error(fatalDiagnostics.map((diagnostic) => diagnostic.message).join("\n"));
2080
+ throw new Error(formatServerDiagnostics(shell.file, fatalDiagnostics));
1991
2081
  }
1992
2082
  phaseStartedAt = renderTimingPhaseStartedAt(timing);
1993
2083
  const component = await loadServerComponent(output.code, shell.file, serverModules, serverModuleCacheVersion);
@@ -2456,7 +2546,7 @@ async function loadRouteMetadata(options) {
2456
2546
  label: `metadata:${options.filename}`,
2457
2547
  serverModuleCacheVersion: options.serverModuleCacheVersion,
2458
2548
  });
2459
- return module.metadata;
2549
+ return await resolveRouteMetadataModule(module, options.context);
2460
2550
  }
2461
2551
  const code = prebuiltArtifact?.code ?? await bundleRouteMetadataModuleCode(options);
2462
2552
  const module = await importAppRouterSourceModule({
@@ -2468,7 +2558,27 @@ async function loadRouteMetadata(options) {
2468
2558
  code,
2469
2559
  label: `metadata:${options.filename}`,
2470
2560
  });
2471
- return module.metadata;
2561
+ return await resolveRouteMetadataModule(module, options.context);
2562
+ }
2563
+ async function resolveRouteMetadataModule(module, context) {
2564
+ if (module.generateMetadata === undefined) {
2565
+ return module.metadata;
2566
+ }
2567
+ try {
2568
+ const generated = await module.generateMetadata(context);
2569
+ return generated === undefined
2570
+ ? module.metadata
2571
+ : mergeRouteMetadata([module.metadata, generated].filter(isRouteMetadata));
2572
+ }
2573
+ catch (error) {
2574
+ if (module.metadata !== undefined) {
2575
+ return module.metadata;
2576
+ }
2577
+ throw error;
2578
+ }
2579
+ }
2580
+ function isRouteMetadata(value) {
2581
+ return value !== undefined;
2472
2582
  }
2473
2583
  async function bundleRouteMetadataModuleCode(options) {
2474
2584
  const output = await bundleRouterModule({
@@ -2499,28 +2609,34 @@ async function loadComposedRouteMetadata(options) {
2499
2609
  return cached;
2500
2610
  }
2501
2611
  }
2502
- const loaded = loadComposedRouteMetadataUncached(options).catch((error) => {
2612
+ try {
2613
+ const loaded = await loadComposedRouteMetadataUncached(options);
2614
+ if (cacheKey !== undefined && !loaded.dynamic) {
2615
+ setBoundedCacheEntry(composedRouteMetadataCache, cacheKey, Promise.resolve(loaded.metadata), maxComposedRouteMetadataCacheEntries, composedRouteMetadataCacheCounters);
2616
+ }
2617
+ return loaded.metadata;
2618
+ }
2619
+ catch (error) {
2503
2620
  if (cacheKey !== undefined) {
2504
2621
  composedRouteMetadataCache.delete(cacheKey);
2505
2622
  }
2506
2623
  throw error;
2507
- });
2508
- if (cacheKey !== undefined) {
2509
- setBoundedCacheEntry(composedRouteMetadataCache, cacheKey, loaded, maxComposedRouteMetadataCacheEntries, composedRouteMetadataCacheCounters);
2510
2624
  }
2511
- return loaded;
2512
2625
  }
2513
2626
  async function loadComposedRouteMetadataUncached(options) {
2514
2627
  const layoutFiles = await shellFilesForPage(options.appDir, options.filename, options.serverModuleCacheVersion);
2515
2628
  const metadata = [];
2629
+ let dynamic = hasGenerateMetadataExport(options.code);
2516
2630
  for (const shell of layoutFiles) {
2517
2631
  if (shell.kind !== "layout") {
2518
2632
  continue;
2519
2633
  }
2520
2634
  const code = await readServerSourceFile(shell.file, options.serverModuleCacheVersion, options.serverSourceFiles);
2635
+ dynamic ||= hasGenerateMetadataExport(code);
2521
2636
  const shellMetadata = await loadRouteMetadata({
2522
2637
  appDir: options.appDir,
2523
2638
  code,
2639
+ context: options.context,
2524
2640
  filename: shell.file,
2525
2641
  importPolicy: options.importPolicy,
2526
2642
  serverModules: options.serverModules,
@@ -2533,6 +2649,7 @@ async function loadComposedRouteMetadataUncached(options) {
2533
2649
  const pageMetadata = await loadRouteMetadata({
2534
2650
  appDir: options.appDir,
2535
2651
  code: options.code,
2652
+ context: options.context,
2536
2653
  filename: options.filename,
2537
2654
  importPolicy: options.importPolicy,
2538
2655
  serverModules: options.serverModules,
@@ -2541,7 +2658,10 @@ async function loadComposedRouteMetadataUncached(options) {
2541
2658
  if (pageMetadata !== undefined) {
2542
2659
  metadata.push(pageMetadata);
2543
2660
  }
2544
- return mergeRouteMetadata(metadata);
2661
+ return {
2662
+ dynamic,
2663
+ metadata: applyFileConventionMetadata(mergeRouteMetadata(metadata), options.routes),
2664
+ };
2545
2665
  }
2546
2666
  function mergeRouteMetadata(metadata) {
2547
2667
  if (metadata.length === 0) {
@@ -2572,6 +2692,24 @@ function mergeRouteMetadata(metadata) {
2572
2692
  return mergedMetadata;
2573
2693
  }, {});
2574
2694
  }
2695
+ function applyFileConventionMetadata(metadata, routes) {
2696
+ const next = metadata === undefined ? {} : { ...metadata };
2697
+ const iconRoute = routes.find((route) => route.kind === "asset" && route.convention === "icon");
2698
+ const appleIconRoute = routes.find((route) => route.kind === "asset" && route.convention === "apple-icon");
2699
+ const openGraphImageRoute = routes.find((route) => route.kind === "asset" && route.convention === "opengraph-image");
2700
+ if (iconRoute !== undefined && next.icons?.icon === undefined) {
2701
+ next.icons = { ...next.icons, icon: iconRoute.path };
2702
+ }
2703
+ if (appleIconRoute !== undefined && next.icons?.apple === undefined) {
2704
+ next.icons = { ...next.icons, apple: appleIconRoute.path };
2705
+ }
2706
+ if (openGraphImageRoute !== undefined &&
2707
+ next.openGraph?.image === undefined &&
2708
+ (next.openGraph?.images === undefined || next.openGraph.images.length === 0)) {
2709
+ next.openGraph = { ...next.openGraph, image: openGraphImageRoute.path };
2710
+ }
2711
+ return Object.keys(next).length === 0 ? undefined : next;
2712
+ }
2575
2713
  function mergeObject(left, right) {
2576
2714
  if (left === undefined) {
2577
2715
  return right;
@@ -2655,7 +2793,11 @@ function mergeOpenGraphMetadata(left, right) {
2655
2793
  return merged;
2656
2794
  }
2657
2795
  function hasMetadataExport(code) {
2658
- return /\bexport\s+const\s+metadata\s*=/.test(code);
2796
+ return /\bexport\s+const\s+metadata\s*=/.test(code) || hasGenerateMetadataExport(code);
2797
+ }
2798
+ function hasGenerateMetadataExport(code) {
2799
+ return /\bexport\s+(?:async\s+)?function\s+generateMetadata\b/.test(code) ||
2800
+ /\bexport\s*\{[^}]*\bgenerateMetadata\b[^}]*\}/.test(code);
2659
2801
  }
2660
2802
  function usesRuntimeCacheControl(code) {
2661
2803
  return /\bcacheControl\s*\(/.test(code);
@@ -2664,6 +2806,9 @@ function injectHeadMetadata(html, metadata) {
2664
2806
  if (metadata === undefined) {
2665
2807
  return html;
2666
2808
  }
2809
+ let nextHtml = metadata.lang === undefined
2810
+ ? html
2811
+ : injectHtmlLangAttribute(html, metadataString(metadata.lang, "lang"));
2667
2812
  const tags = [
2668
2813
  metadata.title === undefined
2669
2814
  ? undefined
@@ -2699,30 +2844,135 @@ function injectHeadMetadata(html, metadata) {
2699
2844
  .filter((tag) => tag !== undefined)
2700
2845
  .join("");
2701
2846
  if (tags === "") {
2702
- return html;
2847
+ return nextHtml;
2703
2848
  }
2704
- if (/<head(?:\s[^>]*)?>/i.test(html)) {
2705
- return html.replace(/<head(\s[^>]*)?>/i, (match) => `${match}${tags}`);
2849
+ if (/<head(?:\s[^>]*)?>/i.test(nextHtml)) {
2850
+ return nextHtml.replace(/<head(\s[^>]*)?>/i, (match) => `${match}${tags}`);
2706
2851
  }
2707
- if (/<html(?:\s[^>]*)?>/i.test(html)) {
2708
- return html.replace(/<html(\s[^>]*)?>/i, (match) => `${match}<head>${tags}</head>`);
2852
+ if (/<html(?:\s[^>]*)?>/i.test(nextHtml)) {
2853
+ return nextHtml.replace(/<html(\s[^>]*)?>/i, (match) => `${match}<head>${tags}</head>`);
2709
2854
  }
2710
- return `<head>${tags}</head>${html}`;
2855
+ return `<head>${tags}</head>${nextHtml}`;
2856
+ }
2857
+ function injectHtmlLangAttribute(html, lang) {
2858
+ const escapedLang = escapeHtmlAttribute(lang);
2859
+ if (!/<html(?:\s[^>]*)?>/i.test(html)) {
2860
+ return html;
2861
+ }
2862
+ return html.replace(/<html(\s[^>]*)?>/i, (_match, attrs = "") => {
2863
+ const strippedAttrs = String(attrs).replace(/\s+lang=(?:"[^"]*"|'[^']*'|[^\s>]+)/i, "");
2864
+ return `<html lang="${escapedLang}"${strippedAttrs}>`;
2865
+ });
2711
2866
  }
2712
2867
  const DEFAULT_HTML_RESPONSE_HEADERS = Object.freeze({
2713
2868
  "content-type": "text/html; charset=utf-8",
2714
2869
  });
2715
- function responseHeadersForMetadata(metadata, extra) {
2870
+ function responseHeadersForMetadata(metadata, request, extra) {
2716
2871
  const csp = contentSecurityPolicy(metadata?.csp);
2872
+ const security = routeSecurityHeaders({
2873
+ request,
2874
+ security: metadata?.security,
2875
+ });
2717
2876
  if (csp === undefined && extra === undefined) {
2718
- return DEFAULT_HTML_RESPONSE_HEADERS;
2877
+ return {
2878
+ ...DEFAULT_HTML_RESPONSE_HEADERS,
2879
+ ...security,
2880
+ };
2719
2881
  }
2720
2882
  return {
2721
2883
  ...DEFAULT_HTML_RESPONSE_HEADERS,
2884
+ ...security,
2722
2885
  ...(csp === undefined ? undefined : { "content-security-policy": csp }),
2723
2886
  ...extra,
2724
2887
  };
2725
2888
  }
2889
+ function textConventionResponse(body) {
2890
+ return htmlResponse(body, {
2891
+ headers: {
2892
+ "cache-control": "public, max-age=3600",
2893
+ "content-type": "text/plain; charset=utf-8",
2894
+ },
2895
+ });
2896
+ }
2897
+ function xmlConventionResponse(body) {
2898
+ return htmlResponse(body, {
2899
+ headers: {
2900
+ "cache-control": "no-cache",
2901
+ "content-type": "application/xml; charset=utf-8",
2902
+ },
2903
+ });
2904
+ }
2905
+ function jsonConventionResponse(body) {
2906
+ return htmlResponse(JSON.stringify(body), {
2907
+ headers: {
2908
+ "cache-control": "public, max-age=3600",
2909
+ "content-type": "application/manifest+json; charset=utf-8",
2910
+ },
2911
+ });
2912
+ }
2913
+ function serializeRobots(manifest) {
2914
+ const lines = [];
2915
+ const rules = manifest.rules === undefined
2916
+ ? []
2917
+ : Array.isArray(manifest.rules)
2918
+ ? manifest.rules
2919
+ : [manifest.rules];
2920
+ for (const rule of rules) {
2921
+ for (const userAgent of arrayValue(rule.userAgent)) {
2922
+ lines.push(`User-agent: ${userAgent}`);
2923
+ }
2924
+ for (const allow of arrayValue(rule.allow)) {
2925
+ lines.push(`Allow: ${allow}`);
2926
+ }
2927
+ for (const disallow of arrayValue(rule.disallow)) {
2928
+ lines.push(`Disallow: ${disallow}`);
2929
+ }
2930
+ }
2931
+ for (const sitemap of arrayValue(manifest.sitemap)) {
2932
+ lines.push(`Sitemap: ${sitemap}`);
2933
+ }
2934
+ if (manifest.host !== undefined) {
2935
+ lines.push(`Host: ${manifest.host}`);
2936
+ }
2937
+ return `${lines.join("\n")}\n`;
2938
+ }
2939
+ function serializeSitemap(entries) {
2940
+ const urls = entries
2941
+ .map((entry) => {
2942
+ const fields = [
2943
+ `<loc>${escapeXml(entry.url)}</loc>`,
2944
+ entry.lastModified === undefined
2945
+ ? undefined
2946
+ : `<lastmod>${escapeXml(sitemapDate(entry.lastModified))}</lastmod>`,
2947
+ entry.changeFrequency === undefined
2948
+ ? undefined
2949
+ : `<changefreq>${escapeXml(entry.changeFrequency)}</changefreq>`,
2950
+ entry.priority === undefined ? undefined : `<priority>${entry.priority}</priority>`,
2951
+ ].filter((field) => field !== undefined);
2952
+ return `<url>${fields.join("")}</url>`;
2953
+ })
2954
+ .join("");
2955
+ return `<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">${urls}</urlset>`;
2956
+ }
2957
+ function sitemapDate(value) {
2958
+ if (value instanceof Date) {
2959
+ return value.toISOString();
2960
+ }
2961
+ return typeof value === "number" ? new Date(value).toISOString() : value;
2962
+ }
2963
+ function arrayValue(value) {
2964
+ if (value === undefined) {
2965
+ return [];
2966
+ }
2967
+ return Array.isArray(value) ? value : [value];
2968
+ }
2969
+ function escapeXml(value) {
2970
+ return value
2971
+ .replaceAll("&", "&amp;")
2972
+ .replaceAll("<", "&lt;")
2973
+ .replaceAll(">", "&gt;")
2974
+ .replaceAll('"', "&quot;");
2975
+ }
2726
2976
  function injectQueryState(html, state) {
2727
2977
  if (state.queries.length === 0) {
2728
2978
  return html;