@reckona/mreact-router 0.0.132 → 0.0.135
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.
- package/README.md +1 -1
- package/dist/adapters/cloudflare.js +1 -1
- package/dist/adapters/cloudflare.js.map +1 -1
- package/dist/adapters/static.js +5 -1
- package/dist/adapters/static.js.map +1 -1
- package/dist/build.d.ts +1 -0
- package/dist/build.d.ts.map +1 -1
- package/dist/build.js +136 -41
- package/dist/build.js.map +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +167 -8
- package/dist/client.js.map +1 -1
- package/dist/http.d.ts +1 -0
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +7 -1
- package/dist/http.js.map +1 -1
- package/dist/module-runner.d.ts +4 -1
- package/dist/module-runner.d.ts.map +1 -1
- package/dist/module-runner.js +3 -2
- package/dist/module-runner.js.map +1 -1
- package/dist/render.d.ts +6 -1
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +84 -46
- package/dist/render.js.map +1 -1
- package/dist/routes.js +1 -1
- package/dist/routes.js.map +1 -1
- package/dist/serve.d.ts.map +1 -1
- package/dist/serve.js +110 -17
- package/dist/serve.js.map +1 -1
- package/dist/vite-plugin-cache-key.d.ts +2 -1
- package/dist/vite-plugin-cache-key.d.ts.map +1 -1
- package/dist/vite-plugin-cache-key.js +9 -0
- package/dist/vite-plugin-cache-key.js.map +1 -1
- package/dist/vite.d.ts +2 -1
- package/dist/vite.d.ts.map +1 -1
- package/dist/vite.js +2 -0
- package/dist/vite.js.map +1 -1
- package/package.json +11 -11
- package/src/adapters/cloudflare.ts +1 -1
- package/src/adapters/static.ts +7 -1
- package/src/build.ts +201 -53
- package/src/client.ts +288 -17
- package/src/http.ts +9 -1
- package/src/module-runner.ts +8 -2
- package/src/render.ts +117 -21
- package/src/routes.ts +1 -1
- package/src/serve.ts +167 -18
- package/src/vite-plugin-cache-key.ts +12 -1
- package/src/vite.ts +4 -0
package/src/render.ts
CHANGED
|
@@ -21,6 +21,7 @@ import {
|
|
|
21
21
|
type HtmlSink,
|
|
22
22
|
renderAsyncBoundary,
|
|
23
23
|
renderOutOfOrderReorderScript,
|
|
24
|
+
renderReactNodeToString,
|
|
24
25
|
renderToReadableStream,
|
|
25
26
|
} from "@reckona/mreact-server";
|
|
26
27
|
import {
|
|
@@ -67,7 +68,7 @@ import { bytesResponse, htmlResponse } from "./http.js";
|
|
|
67
68
|
import { isNotFoundError, isRedirectError, rewriteLocation } from "./navigation.js";
|
|
68
69
|
import { createAppRouterImportPolicyPlugin, type AppRouterImportPolicy } from "./import-policy.js";
|
|
69
70
|
import { existingRouteShellCandidates } from "./route-shells.js";
|
|
70
|
-
import type { PluginOption } from "vite";
|
|
71
|
+
import type { PluginOption, UserConfig } from "vite";
|
|
71
72
|
import type { BuiltRouteSourceAnalysisSummary, BuiltServerModuleArtifact } from "./build.js";
|
|
72
73
|
import {
|
|
73
74
|
hasLoaderExport,
|
|
@@ -87,7 +88,7 @@ import {
|
|
|
87
88
|
type RouterRuntimeCacheStat,
|
|
88
89
|
} from "./cache-stats.js";
|
|
89
90
|
import { bundleRouterModule } from "./bundle-pipeline.js";
|
|
90
|
-
import { vitePluginsCacheKey } from "./vite-plugin-cache-key.js";
|
|
91
|
+
import { viteDefineCacheKey, vitePluginsCacheKey } from "./vite-plugin-cache-key.js";
|
|
91
92
|
import type {
|
|
92
93
|
ManifestDescriptor,
|
|
93
94
|
RobotsManifest,
|
|
@@ -161,6 +162,7 @@ export interface RenderAppRequestOptions {
|
|
|
161
162
|
clientScripts?: ReadonlyMap<string, string>;
|
|
162
163
|
clientStylesByFile?: ReadonlyMap<string, readonly string[]>;
|
|
163
164
|
clientStyles?: ReadonlyMap<string, readonly string[]>;
|
|
165
|
+
define?: UserConfig["define"] | undefined;
|
|
164
166
|
env?: unknown;
|
|
165
167
|
importPolicy?: AppRouterImportPolicy | undefined;
|
|
166
168
|
instrumentation?: RouterInstrumentation | undefined;
|
|
@@ -200,6 +202,7 @@ export interface AppRouterResponseHookContext {
|
|
|
200
202
|
|
|
201
203
|
export async function preloadBuiltRequestModules(options: {
|
|
202
204
|
appDir: string;
|
|
205
|
+
define?: UserConfig["define"] | undefined;
|
|
203
206
|
includeRenderModules?: boolean | undefined;
|
|
204
207
|
importPolicy?: AppRouterImportPolicy | undefined;
|
|
205
208
|
routes: readonly AppRoute[];
|
|
@@ -223,6 +226,7 @@ export async function preloadBuiltRequestModules(options: {
|
|
|
223
226
|
serverModules: options.serverModules,
|
|
224
227
|
serverModuleCacheVersion: options.serverModuleCacheVersion,
|
|
225
228
|
serverSourceFiles: options.serverSourceFiles,
|
|
229
|
+
define: options.define,
|
|
226
230
|
vitePlugins: options.vitePlugins,
|
|
227
231
|
});
|
|
228
232
|
}
|
|
@@ -243,6 +247,7 @@ export async function preloadBuiltRequestModules(options: {
|
|
|
243
247
|
serverModules: options.serverModules,
|
|
244
248
|
serverModuleCacheVersion: options.serverModuleCacheVersion,
|
|
245
249
|
serverSourceFiles: options.serverSourceFiles,
|
|
250
|
+
define: options.define,
|
|
246
251
|
vitePlugins: options.vitePlugins,
|
|
247
252
|
});
|
|
248
253
|
continue;
|
|
@@ -276,6 +281,7 @@ export async function preloadBuiltRequestModules(options: {
|
|
|
276
281
|
importPolicy: options.importPolicy,
|
|
277
282
|
serverModules: options.serverModules,
|
|
278
283
|
serverModuleCacheVersion: options.serverModuleCacheVersion,
|
|
284
|
+
define: options.define,
|
|
279
285
|
vitePlugins: options.vitePlugins,
|
|
280
286
|
});
|
|
281
287
|
}
|
|
@@ -286,6 +292,7 @@ async function preloadBuiltPageRouteModules(options: {
|
|
|
286
292
|
analysis: RouteSourceAnalysis;
|
|
287
293
|
appDir: string;
|
|
288
294
|
code: string;
|
|
295
|
+
define?: UserConfig["define"] | undefined;
|
|
289
296
|
file: string;
|
|
290
297
|
importPolicy?: AppRouterImportPolicy | undefined;
|
|
291
298
|
serverModules?: ReadonlyMap<string, BuiltServerModuleArtifact> | undefined;
|
|
@@ -315,6 +322,7 @@ async function preloadBuiltPageRouteModules(options: {
|
|
|
315
322
|
options.file,
|
|
316
323
|
options.serverModules,
|
|
317
324
|
options.serverModuleCacheVersion,
|
|
325
|
+
options.define,
|
|
318
326
|
options.vitePlugins,
|
|
319
327
|
);
|
|
320
328
|
}
|
|
@@ -335,6 +343,7 @@ async function preloadBuiltPageRouteModules(options: {
|
|
|
335
343
|
options.file,
|
|
336
344
|
options.serverModules,
|
|
337
345
|
options.serverModuleCacheVersion,
|
|
346
|
+
options.define,
|
|
338
347
|
options.vitePlugins,
|
|
339
348
|
);
|
|
340
349
|
}
|
|
@@ -345,6 +354,7 @@ async function preloadBuiltPageRouteModules(options: {
|
|
|
345
354
|
serverModules: options.serverModules,
|
|
346
355
|
serverModuleCacheVersion: options.serverModuleCacheVersion,
|
|
347
356
|
serverSourceFiles: options.serverSourceFiles,
|
|
357
|
+
define: options.define,
|
|
348
358
|
vitePlugins: options.vitePlugins,
|
|
349
359
|
});
|
|
350
360
|
if (!hasGenerateMetadataExport(options.code)) {
|
|
@@ -362,6 +372,7 @@ async function preloadBuiltPageRouteModules(options: {
|
|
|
362
372
|
serverModules: options.serverModules,
|
|
363
373
|
serverModuleCacheVersion: options.serverModuleCacheVersion,
|
|
364
374
|
serverSourceFiles: options.serverSourceFiles,
|
|
375
|
+
define: options.define,
|
|
365
376
|
vitePlugins: options.vitePlugins,
|
|
366
377
|
});
|
|
367
378
|
}
|
|
@@ -369,6 +380,7 @@ async function preloadBuiltPageRouteModules(options: {
|
|
|
369
380
|
|
|
370
381
|
async function preloadShellModulesForPage(options: {
|
|
371
382
|
appDir: string;
|
|
383
|
+
define?: UserConfig["define"] | undefined;
|
|
372
384
|
pageFile: string;
|
|
373
385
|
serverModules?: ReadonlyMap<string, BuiltServerModuleArtifact> | undefined;
|
|
374
386
|
serverModuleCacheVersion: string;
|
|
@@ -399,6 +411,7 @@ async function preloadShellModulesForPage(options: {
|
|
|
399
411
|
shell.file,
|
|
400
412
|
options.serverModules,
|
|
401
413
|
options.serverModuleCacheVersion,
|
|
414
|
+
options.define,
|
|
402
415
|
options.vitePlugins,
|
|
403
416
|
);
|
|
404
417
|
}
|
|
@@ -694,6 +707,7 @@ export type AppRouterMiddlewareResult =
|
|
|
694
707
|
|
|
695
708
|
export async function resolveAppRouterMiddleware(options: {
|
|
696
709
|
appDir: string;
|
|
710
|
+
define?: UserConfig["define"] | undefined;
|
|
697
711
|
importPolicy?: AppRouterImportPolicy | undefined;
|
|
698
712
|
instrumentation?: RouterInstrumentation | undefined;
|
|
699
713
|
middlewareControl?: RouteMiddlewareControl | undefined;
|
|
@@ -763,6 +777,7 @@ async function renderAppRequestInternal(options: RenderAppRequestOptions): Promi
|
|
|
763
777
|
serverModuleCacheVersion: options.serverModuleCacheVersion,
|
|
764
778
|
serverSourceFiles: options.serverSourceFiles,
|
|
765
779
|
timing,
|
|
780
|
+
define: options.define,
|
|
766
781
|
vitePlugins: options.vitePlugins,
|
|
767
782
|
});
|
|
768
783
|
finishRenderTimingPhase(timing, phaseStartedAt, "middlewareMs");
|
|
@@ -908,6 +923,7 @@ async function renderAppRequestInternal(options: RenderAppRequestOptions): Promi
|
|
|
908
923
|
clientRouteInferenceCache,
|
|
909
924
|
serverModuleCacheVersion: options.serverModuleCacheVersion,
|
|
910
925
|
serverSourceFiles: options.serverSourceFiles,
|
|
926
|
+
define: options.define,
|
|
911
927
|
timing,
|
|
912
928
|
vitePlugins: options.vitePlugins,
|
|
913
929
|
});
|
|
@@ -959,6 +975,7 @@ async function renderAppRequestInternal(options: RenderAppRequestOptions): Promi
|
|
|
959
975
|
clientRouteInferenceCache,
|
|
960
976
|
serverModuleCacheVersion: undefined,
|
|
961
977
|
serverSourceFiles: options.serverSourceFiles,
|
|
978
|
+
define: options.define,
|
|
962
979
|
vitePlugins: options.vitePlugins,
|
|
963
980
|
});
|
|
964
981
|
finishRenderTimingPhase(timing, phaseStartedAt, "routeCodeAnalysisMs");
|
|
@@ -985,6 +1002,7 @@ async function renderAppRequestInternal(options: RenderAppRequestOptions): Promi
|
|
|
985
1002
|
routePath: matched.route.path,
|
|
986
1003
|
serverModules: options.serverModules,
|
|
987
1004
|
serverModuleCacheVersion: options.serverModuleCacheVersion,
|
|
1005
|
+
define: options.define,
|
|
988
1006
|
vitePlugins: options.vitePlugins,
|
|
989
1007
|
timing,
|
|
990
1008
|
})
|
|
@@ -1067,6 +1085,7 @@ async function renderAppRequestInternal(options: RenderAppRequestOptions): Promi
|
|
|
1067
1085
|
matched.route.file,
|
|
1068
1086
|
options.serverModules,
|
|
1069
1087
|
options.serverModuleCacheVersion,
|
|
1088
|
+
options.define,
|
|
1070
1089
|
options.vitePlugins,
|
|
1071
1090
|
undefined,
|
|
1072
1091
|
options.importPolicy,
|
|
@@ -1207,6 +1226,7 @@ async function renderAppRequestInternal(options: RenderAppRequestOptions): Promi
|
|
|
1207
1226
|
assetBaseUrl: options.assetBaseUrl,
|
|
1208
1227
|
clientRoute,
|
|
1209
1228
|
data: dataPromise ?? Promise.resolve(undefined),
|
|
1229
|
+
define: options.define,
|
|
1210
1230
|
loadingFile,
|
|
1211
1231
|
pageFile: matched.route.file,
|
|
1212
1232
|
params: matched.params,
|
|
@@ -1254,6 +1274,7 @@ async function renderAppRequestInternal(options: RenderAppRequestOptions): Promi
|
|
|
1254
1274
|
serverModules: options.serverModules,
|
|
1255
1275
|
serverModuleCacheVersion: options.serverModuleCacheVersion,
|
|
1256
1276
|
serverSourceFiles: options.serverSourceFiles,
|
|
1277
|
+
define: options.define,
|
|
1257
1278
|
vitePlugins: options.vitePlugins,
|
|
1258
1279
|
clientRouteInferenceCache,
|
|
1259
1280
|
importPolicy: options.importPolicy,
|
|
@@ -1319,6 +1340,7 @@ async function renderAppRequestInternal(options: RenderAppRequestOptions): Promi
|
|
|
1319
1340
|
matched.route.file,
|
|
1320
1341
|
options.serverModules,
|
|
1321
1342
|
options.serverModuleCacheVersion,
|
|
1343
|
+
options.define,
|
|
1322
1344
|
options.vitePlugins,
|
|
1323
1345
|
timing,
|
|
1324
1346
|
options.importPolicy,
|
|
@@ -1384,11 +1406,12 @@ async function renderAppRequestInternal(options: RenderAppRequestOptions): Promi
|
|
|
1384
1406
|
filename: matched.route.file,
|
|
1385
1407
|
importPolicy: options.importPolicy,
|
|
1386
1408
|
routes,
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1409
|
+
serverModules: options.serverModules,
|
|
1410
|
+
serverModuleCacheVersion: options.serverModuleCacheVersion,
|
|
1411
|
+
serverSourceFiles: options.serverSourceFiles,
|
|
1412
|
+
define: options.define,
|
|
1413
|
+
vitePlugins: options.vitePlugins,
|
|
1414
|
+
});
|
|
1392
1415
|
finishRenderTimingPhase(timing, phaseStartedAt, "metadataMs");
|
|
1393
1416
|
phaseStartedAt = renderTimingPhaseStartedAt(timing);
|
|
1394
1417
|
html = injectHeadMetadata(html, metadata);
|
|
@@ -1763,6 +1786,7 @@ async function renderSpecialRoute(options: {
|
|
|
1763
1786
|
serverModules?: ReadonlyMap<string, BuiltServerModuleArtifact> | undefined;
|
|
1764
1787
|
serverModuleCacheVersion?: string | undefined;
|
|
1765
1788
|
serverSourceFiles?: ReadonlyMap<string, string> | undefined;
|
|
1789
|
+
define?: UserConfig["define"] | undefined;
|
|
1766
1790
|
status: number;
|
|
1767
1791
|
textFallback: string;
|
|
1768
1792
|
vitePlugins?: readonly PluginOption[] | undefined;
|
|
@@ -1790,6 +1814,7 @@ async function renderSpecialRoute(options: {
|
|
|
1790
1814
|
options.serverModules,
|
|
1791
1815
|
options.serverModuleCacheVersion,
|
|
1792
1816
|
options.serverSourceFiles,
|
|
1817
|
+
options.define,
|
|
1793
1818
|
options.vitePlugins,
|
|
1794
1819
|
);
|
|
1795
1820
|
const pageHtmlForLayout =
|
|
@@ -1811,6 +1836,7 @@ async function renderSpecialRoute(options: {
|
|
|
1811
1836
|
serverModules: options.serverModules,
|
|
1812
1837
|
serverModuleCacheVersion: options.serverModuleCacheVersion,
|
|
1813
1838
|
serverSourceFiles: options.serverSourceFiles,
|
|
1839
|
+
define: options.define,
|
|
1814
1840
|
vitePlugins: options.vitePlugins,
|
|
1815
1841
|
});
|
|
1816
1842
|
|
|
@@ -1835,6 +1861,7 @@ async function renderServerFileToHtml(
|
|
|
1835
1861
|
serverModules: ReadonlyMap<string, BuiltServerModuleArtifact> | undefined,
|
|
1836
1862
|
serverModuleCacheVersion: string | undefined,
|
|
1837
1863
|
serverSourceFiles: ReadonlyMap<string, string> | undefined,
|
|
1864
|
+
define?: UserConfig["define"] | undefined,
|
|
1838
1865
|
vitePlugins?: readonly PluginOption[] | undefined,
|
|
1839
1866
|
): Promise<string> {
|
|
1840
1867
|
const code = await readServerSourceFile(file, serverModuleCacheVersion, serverSourceFiles);
|
|
@@ -1856,6 +1883,7 @@ async function renderServerFileToHtml(
|
|
|
1856
1883
|
file,
|
|
1857
1884
|
serverModules,
|
|
1858
1885
|
serverModuleCacheVersion,
|
|
1886
|
+
define,
|
|
1859
1887
|
vitePlugins,
|
|
1860
1888
|
);
|
|
1861
1889
|
}
|
|
@@ -2050,6 +2078,7 @@ async function dispatchMetadataRoute(options: {
|
|
|
2050
2078
|
|
|
2051
2079
|
async function loadServerRouteModule(options: {
|
|
2052
2080
|
appDir: string;
|
|
2081
|
+
define?: UserConfig["define"] | undefined;
|
|
2053
2082
|
file: string;
|
|
2054
2083
|
importPolicy?: AppRouterImportPolicy | undefined;
|
|
2055
2084
|
serverModules?: ReadonlyMap<string, BuiltServerModuleArtifact> | undefined;
|
|
@@ -2066,6 +2095,7 @@ async function loadServerRouteModule(options: {
|
|
|
2066
2095
|
|
|
2067
2096
|
if (
|
|
2068
2097
|
options.serverModuleCacheVersion === undefined &&
|
|
2098
|
+
options.define === undefined &&
|
|
2069
2099
|
(options.vitePlugins === undefined || options.vitePlugins.length === 0) &&
|
|
2070
2100
|
(externalSourceDirs === undefined || !hasRelativeSourceImport(code))
|
|
2071
2101
|
) {
|
|
@@ -2088,7 +2118,7 @@ async function loadServerRouteModule(options: {
|
|
|
2088
2118
|
|
|
2089
2119
|
const moduleCode =
|
|
2090
2120
|
artifactCode !== undefined && artifactCode.sourceHash === codeHash ? artifactCode.code : code;
|
|
2091
|
-
const cacheKey = `server-route\0${options.file}\0${options.serverModuleCacheVersion}\0${codeHash}\0${memoizedHashText(moduleCode)}\0${vitePluginsCacheKey(options.vitePlugins)}`;
|
|
2121
|
+
const cacheKey = `server-route\0${options.file}\0${options.serverModuleCacheVersion}\0${codeHash}\0${memoizedHashText(moduleCode)}\0${viteDefineCacheKey(options.define)}\0${vitePluginsCacheKey(options.vitePlugins)}`;
|
|
2092
2122
|
const cached = readRouterRuntimeCacheEntry(
|
|
2093
2123
|
serverRouteModuleCache,
|
|
2094
2124
|
cacheKey,
|
|
@@ -2102,6 +2132,7 @@ async function loadServerRouteModule(options: {
|
|
|
2102
2132
|
const loaded = importAppRouterSourceModule<Record<string, unknown>>({
|
|
2103
2133
|
cacheKey,
|
|
2104
2134
|
code: moduleCode,
|
|
2135
|
+
define: options.define,
|
|
2105
2136
|
externalizeAppSourceModuleDirs: externalSourceDirs,
|
|
2106
2137
|
label: `server-route:${options.file}`,
|
|
2107
2138
|
plugins: [
|
|
@@ -2150,6 +2181,7 @@ function devExternalSourceDirs(
|
|
|
2150
2181
|
|
|
2151
2182
|
async function runMiddleware(options: {
|
|
2152
2183
|
appDir: string;
|
|
2184
|
+
define?: UserConfig["define"] | undefined;
|
|
2153
2185
|
importPolicy?: AppRouterImportPolicy | undefined;
|
|
2154
2186
|
instrumentation?: RouterInstrumentation | undefined;
|
|
2155
2187
|
middlewareControl?: RouteMiddlewareControl | undefined;
|
|
@@ -2202,6 +2234,7 @@ async function runMiddleware(options: {
|
|
|
2202
2234
|
module = await loadMiddlewareModule({
|
|
2203
2235
|
appDir: options.appDir,
|
|
2204
2236
|
code,
|
|
2237
|
+
define: options.define,
|
|
2205
2238
|
file,
|
|
2206
2239
|
importPolicy: options.importPolicy,
|
|
2207
2240
|
serverModules: options.serverModules,
|
|
@@ -2275,6 +2308,7 @@ async function runMiddleware(options: {
|
|
|
2275
2308
|
async function loadMiddlewareModule(options: {
|
|
2276
2309
|
appDir: string;
|
|
2277
2310
|
code?: string | undefined;
|
|
2311
|
+
define?: UserConfig["define"] | undefined;
|
|
2278
2312
|
file: string;
|
|
2279
2313
|
importPolicy?: AppRouterImportPolicy | undefined;
|
|
2280
2314
|
serverModules?: ReadonlyMap<string, BuiltServerModuleArtifact> | undefined;
|
|
@@ -2292,7 +2326,7 @@ async function loadMiddlewareModule(options: {
|
|
|
2292
2326
|
const cacheKey =
|
|
2293
2327
|
options.serverModuleCacheVersion === undefined
|
|
2294
2328
|
? undefined
|
|
2295
|
-
: `middleware\0${options.appDir}\0${options.file}\0${options.serverModuleCacheVersion}\0${memoizedHashText(code)}\0${importPolicyCacheKey(options.importPolicy)}\0${vitePluginsCacheKey(options.vitePlugins)}`;
|
|
2329
|
+
: `middleware\0${options.appDir}\0${options.file}\0${options.serverModuleCacheVersion}\0${memoizedHashText(code)}\0${importPolicyCacheKey(options.importPolicy)}\0${viteDefineCacheKey(options.define)}\0${vitePluginsCacheKey(options.vitePlugins)}`;
|
|
2296
2330
|
|
|
2297
2331
|
if (cacheKey !== undefined) {
|
|
2298
2332
|
const cached = readRouterRuntimeCacheEntry(
|
|
@@ -2309,6 +2343,7 @@ async function loadMiddlewareModule(options: {
|
|
|
2309
2343
|
const loaded = loadBundledMiddlewareModule({
|
|
2310
2344
|
appDir: options.appDir,
|
|
2311
2345
|
code,
|
|
2346
|
+
define: options.define,
|
|
2312
2347
|
file: options.file,
|
|
2313
2348
|
importPolicy: options.importPolicy,
|
|
2314
2349
|
prebuiltArtifact: prebuiltRequestModuleArtifact(options.serverModules, options.file, code),
|
|
@@ -2337,12 +2372,14 @@ async function loadMiddlewareModule(options: {
|
|
|
2337
2372
|
export async function bundleMiddlewareModuleCode(options: {
|
|
2338
2373
|
appDir: string;
|
|
2339
2374
|
code: string;
|
|
2375
|
+
define?: UserConfig["define"] | undefined;
|
|
2340
2376
|
file: string;
|
|
2341
2377
|
importPolicy?: AppRouterImportPolicy | undefined;
|
|
2342
2378
|
vitePlugins?: readonly PluginOption[] | undefined;
|
|
2343
2379
|
}): Promise<string> {
|
|
2344
2380
|
const output = await bundleRouterModule({
|
|
2345
2381
|
code: options.code,
|
|
2382
|
+
define: options.define,
|
|
2346
2383
|
filename: options.file,
|
|
2347
2384
|
platform: "node",
|
|
2348
2385
|
root: options.importPolicy?.projectRoot,
|
|
@@ -2368,6 +2405,7 @@ export async function bundleMiddlewareModuleCode(options: {
|
|
|
2368
2405
|
async function loadBundledMiddlewareModule(options: {
|
|
2369
2406
|
appDir: string;
|
|
2370
2407
|
code: string;
|
|
2408
|
+
define?: UserConfig["define"] | undefined;
|
|
2371
2409
|
file: string;
|
|
2372
2410
|
importPolicy?: AppRouterImportPolicy | undefined;
|
|
2373
2411
|
prebuiltArtifact?: BuiltServerModuleOutputLike | undefined;
|
|
@@ -2387,6 +2425,7 @@ async function loadBundledMiddlewareModule(options: {
|
|
|
2387
2425
|
(await bundleMiddlewareModuleCode({
|
|
2388
2426
|
appDir: options.appDir,
|
|
2389
2427
|
code: options.code,
|
|
2428
|
+
define: options.define,
|
|
2390
2429
|
file: options.file,
|
|
2391
2430
|
importPolicy: options.importPolicy,
|
|
2392
2431
|
vitePlugins: options.vitePlugins,
|
|
@@ -2396,9 +2435,10 @@ async function loadBundledMiddlewareModule(options: {
|
|
|
2396
2435
|
...(options.serverModuleCacheVersion === undefined
|
|
2397
2436
|
? {}
|
|
2398
2437
|
: {
|
|
2399
|
-
cacheKey: `middleware:${options.file}:${options.serverModuleCacheVersion}:${memoizedHashText(compiled)}:${vitePluginsCacheKey(options.vitePlugins)}`,
|
|
2438
|
+
cacheKey: `middleware:${options.file}:${options.serverModuleCacheVersion}:${memoizedHashText(compiled)}:${viteDefineCacheKey(options.define)}:${vitePluginsCacheKey(options.vitePlugins)}`,
|
|
2400
2439
|
}),
|
|
2401
2440
|
code: compiled,
|
|
2441
|
+
define: options.define,
|
|
2402
2442
|
label: `middleware:${options.file}`,
|
|
2403
2443
|
vitePlugins: options.vitePlugins,
|
|
2404
2444
|
});
|
|
@@ -2485,6 +2525,7 @@ async function analyzeRouteSource(options: {
|
|
|
2485
2525
|
artifact?: BuiltRouteSourceAnalysisSummary | undefined;
|
|
2486
2526
|
clientRouteInferenceCache: ClientRouteInferenceCache;
|
|
2487
2527
|
code: string;
|
|
2528
|
+
define?: UserConfig["define"] | undefined;
|
|
2488
2529
|
filename: string;
|
|
2489
2530
|
routePath: string;
|
|
2490
2531
|
serverModuleCacheVersion: string | undefined;
|
|
@@ -2505,7 +2546,7 @@ async function analyzeRouteSource(options: {
|
|
|
2505
2546
|
return analysis;
|
|
2506
2547
|
}
|
|
2507
2548
|
|
|
2508
|
-
const cacheKey = `${options.serverModuleCacheVersion ?? "dev"}\0${options.filename}\0${sourceHash}\0${vitePluginsCacheKey(options.vitePlugins)}`;
|
|
2549
|
+
const cacheKey = `${options.serverModuleCacheVersion ?? "dev"}\0${options.filename}\0${sourceHash}\0${viteDefineCacheKey(options.define)}\0${vitePluginsCacheKey(options.vitePlugins)}`;
|
|
2509
2550
|
const cached = readRouterRuntimeCacheEntry(
|
|
2510
2551
|
routeSourceAnalysisCache,
|
|
2511
2552
|
cacheKey,
|
|
@@ -2554,6 +2595,7 @@ async function analyzeRouteSourceUncached(options: {
|
|
|
2554
2595
|
appDir: string;
|
|
2555
2596
|
clientRouteInferenceCache: ClientRouteInferenceCache;
|
|
2556
2597
|
code: string;
|
|
2598
|
+
define?: UserConfig["define"] | undefined;
|
|
2557
2599
|
filename: string;
|
|
2558
2600
|
routePath: string;
|
|
2559
2601
|
serverSourceFiles?: ReadonlyMap<string, string> | undefined;
|
|
@@ -2603,6 +2645,7 @@ async function runServerModule(
|
|
|
2603
2645
|
sourcefile: string,
|
|
2604
2646
|
serverModules: ReadonlyMap<string, BuiltServerModuleArtifact> | undefined,
|
|
2605
2647
|
serverModuleCacheVersion: string | undefined,
|
|
2648
|
+
define: UserConfig["define"] | undefined,
|
|
2606
2649
|
vitePlugins: readonly PluginOption[] | undefined,
|
|
2607
2650
|
): Promise<string> {
|
|
2608
2651
|
const component = await loadServerComponent(
|
|
@@ -2610,10 +2653,15 @@ async function runServerModule(
|
|
|
2610
2653
|
sourcefile,
|
|
2611
2654
|
serverModules,
|
|
2612
2655
|
serverModuleCacheVersion,
|
|
2656
|
+
define,
|
|
2613
2657
|
vitePlugins,
|
|
2614
2658
|
);
|
|
2615
2659
|
|
|
2616
|
-
return component(props);
|
|
2660
|
+
return renderServerComponentResult(await component(props));
|
|
2661
|
+
}
|
|
2662
|
+
|
|
2663
|
+
async function renderServerComponentResult(value: unknown): Promise<string> {
|
|
2664
|
+
return typeof value === "string" ? value : renderReactNodeToString(value);
|
|
2617
2665
|
}
|
|
2618
2666
|
|
|
2619
2667
|
async function runServerModuleWithSlots(
|
|
@@ -2622,6 +2670,7 @@ async function runServerModuleWithSlots(
|
|
|
2622
2670
|
sourcefile: string,
|
|
2623
2671
|
serverModules: ReadonlyMap<string, BuiltServerModuleArtifact> | undefined,
|
|
2624
2672
|
serverModuleCacheVersion: string | undefined,
|
|
2673
|
+
define?: UserConfig["define"] | undefined,
|
|
2625
2674
|
vitePlugins?: readonly PluginOption[] | undefined,
|
|
2626
2675
|
timing?: RenderTiming | undefined,
|
|
2627
2676
|
importPolicy?: AppRouterImportPolicy | undefined,
|
|
@@ -2632,13 +2681,14 @@ async function runServerModuleWithSlots(
|
|
|
2632
2681
|
sourcefile,
|
|
2633
2682
|
serverModules,
|
|
2634
2683
|
serverModuleCacheVersion,
|
|
2684
|
+
define,
|
|
2635
2685
|
vitePlugins,
|
|
2636
2686
|
importPolicy,
|
|
2637
2687
|
);
|
|
2638
2688
|
finishRenderTimingPhase(timing, moduleLoadStartedAt, "pageModuleLoadMs");
|
|
2639
2689
|
const component = selectServerComponent(module);
|
|
2640
2690
|
const componentStartedAt = renderTimingPhaseStartedAt(timing);
|
|
2641
|
-
const html = await component(props);
|
|
2691
|
+
const html = await renderServerComponentResult(await component(props));
|
|
2642
2692
|
finishRenderTimingPhase(timing, componentStartedAt, "pageComponentRenderMs");
|
|
2643
2693
|
const slotsStartedAt = renderTimingPhaseStartedAt(timing);
|
|
2644
2694
|
const slots = await renderRouteSlots(module.slots, props);
|
|
@@ -2655,6 +2705,7 @@ async function loadServerModule(
|
|
|
2655
2705
|
sourcefile: string,
|
|
2656
2706
|
serverModules: ReadonlyMap<string, BuiltServerModuleArtifact> | undefined,
|
|
2657
2707
|
serverModuleCacheVersion: string | undefined,
|
|
2708
|
+
define?: UserConfig["define"] | undefined,
|
|
2658
2709
|
vitePlugins?: readonly PluginOption[] | undefined,
|
|
2659
2710
|
importPolicy?: AppRouterImportPolicy | undefined,
|
|
2660
2711
|
): Promise<ServerModuleExports> {
|
|
@@ -2678,10 +2729,11 @@ async function loadServerModule(
|
|
|
2678
2729
|
? undefined
|
|
2679
2730
|
: `server-component:${serverModuleCacheVersion}:${sourcefile}:${
|
|
2680
2731
|
moduleCode === code ? codeHash : memoizedHashText(moduleCode)
|
|
2681
|
-
}:${importPolicyCacheKey(importPolicy)}:${vitePluginsCacheKey(vitePlugins)}`;
|
|
2732
|
+
}:${importPolicyCacheKey(importPolicy)}:${viteDefineCacheKey(define)}:${vitePluginsCacheKey(vitePlugins)}`;
|
|
2682
2733
|
return await importAppRouterSourceModule<ServerModuleExports>({
|
|
2683
2734
|
cacheKey,
|
|
2684
2735
|
code: moduleCode,
|
|
2736
|
+
define,
|
|
2685
2737
|
label: `server-component:${sourcefile}`,
|
|
2686
2738
|
plugins:
|
|
2687
2739
|
importPolicy === undefined
|
|
@@ -2700,6 +2752,7 @@ async function loadServerModule(
|
|
|
2700
2752
|
dev: serverModuleCacheVersion === undefined,
|
|
2701
2753
|
serverModules,
|
|
2702
2754
|
serverOutput: "string" as const,
|
|
2755
|
+
define,
|
|
2703
2756
|
vitePlugins,
|
|
2704
2757
|
},
|
|
2705
2758
|
}
|
|
@@ -2729,6 +2782,7 @@ async function loadServerComponent(
|
|
|
2729
2782
|
sourcefile: string,
|
|
2730
2783
|
serverModules: ReadonlyMap<string, BuiltServerModuleArtifact> | undefined,
|
|
2731
2784
|
serverModuleCacheVersion: string | undefined,
|
|
2785
|
+
define?: UserConfig["define"] | undefined,
|
|
2732
2786
|
vitePlugins?: readonly PluginOption[] | undefined,
|
|
2733
2787
|
importPolicy?: AppRouterImportPolicy | undefined,
|
|
2734
2788
|
): Promise<ServerComponent> {
|
|
@@ -2737,6 +2791,7 @@ async function loadServerComponent(
|
|
|
2737
2791
|
sourcefile,
|
|
2738
2792
|
serverModules,
|
|
2739
2793
|
serverModuleCacheVersion,
|
|
2794
|
+
define,
|
|
2740
2795
|
vitePlugins,
|
|
2741
2796
|
importPolicy,
|
|
2742
2797
|
);
|
|
@@ -2764,7 +2819,10 @@ async function renderRouteSlots(
|
|
|
2764
2819
|
const rendered: Record<string, string> = {};
|
|
2765
2820
|
|
|
2766
2821
|
for (const [name, value] of Object.entries(slots)) {
|
|
2767
|
-
rendered[name] =
|
|
2822
|
+
rendered[name] =
|
|
2823
|
+
typeof value === "function"
|
|
2824
|
+
? await renderServerComponentResult(await value(props))
|
|
2825
|
+
: await renderServerComponentResult(value);
|
|
2768
2826
|
}
|
|
2769
2827
|
|
|
2770
2828
|
return rendered;
|
|
@@ -2782,6 +2840,7 @@ function runServerStreamModule(
|
|
|
2782
2840
|
routeScripts?: ReadonlyMap<string, string> | undefined;
|
|
2783
2841
|
clientRoute: boolean;
|
|
2784
2842
|
clientReferenceManifest?: readonly ClientReferenceMetadata[] | undefined;
|
|
2843
|
+
define?: UserConfig["define"] | undefined;
|
|
2785
2844
|
serverModules?: ReadonlyMap<string, BuiltServerModuleArtifact> | undefined;
|
|
2786
2845
|
serverModuleCacheVersion?: string | undefined;
|
|
2787
2846
|
serverSourceFiles?: ReadonlyMap<string, string> | undefined;
|
|
@@ -2796,6 +2855,7 @@ function runServerStreamModule(
|
|
|
2796
2855
|
props: options.props,
|
|
2797
2856
|
serverModules: options.serverModules,
|
|
2798
2857
|
serverModuleCacheVersion: options.serverModuleCacheVersion,
|
|
2858
|
+
define: options.define,
|
|
2799
2859
|
vitePlugins: options.vitePlugins,
|
|
2800
2860
|
importPolicy: options.importPolicy,
|
|
2801
2861
|
});
|
|
@@ -2808,6 +2868,7 @@ function runServerStreamModule(
|
|
|
2808
2868
|
options.serverModuleCacheVersion,
|
|
2809
2869
|
options.serverSourceFiles,
|
|
2810
2870
|
options.clientRouteInferenceCache,
|
|
2871
|
+
options.define,
|
|
2811
2872
|
options.vitePlugins,
|
|
2812
2873
|
options.importPolicy,
|
|
2813
2874
|
);
|
|
@@ -2847,6 +2908,7 @@ function runServerStreamModule(
|
|
|
2847
2908
|
options.pageFile,
|
|
2848
2909
|
options.serverModules,
|
|
2849
2910
|
options.serverModuleCacheVersion,
|
|
2911
|
+
options.define,
|
|
2850
2912
|
options.vitePlugins,
|
|
2851
2913
|
options.importPolicy,
|
|
2852
2914
|
);
|
|
@@ -3038,6 +3100,7 @@ async function runServerStreamModuleWithLoading(
|
|
|
3038
3100
|
clientRoute: boolean;
|
|
3039
3101
|
clientReferenceManifest?: readonly ClientReferenceMetadata[] | undefined;
|
|
3040
3102
|
data: Promise<unknown>;
|
|
3103
|
+
define?: UserConfig["define"] | undefined;
|
|
3041
3104
|
loadingFile: string;
|
|
3042
3105
|
pageFile: string;
|
|
3043
3106
|
params: RouteParams;
|
|
@@ -3068,6 +3131,7 @@ async function runServerStreamModuleWithLoading(
|
|
|
3068
3131
|
options.serverModuleCacheVersion,
|
|
3069
3132
|
options.serverSourceFiles,
|
|
3070
3133
|
options.clientRouteInferenceCache,
|
|
3134
|
+
options.define,
|
|
3071
3135
|
options.vitePlugins,
|
|
3072
3136
|
options.importPolicy,
|
|
3073
3137
|
);
|
|
@@ -3077,6 +3141,7 @@ async function runServerStreamModuleWithLoading(
|
|
|
3077
3141
|
options.serverModules,
|
|
3078
3142
|
options.serverModuleCacheVersion,
|
|
3079
3143
|
options.serverSourceFiles,
|
|
3144
|
+
options.define,
|
|
3080
3145
|
options.vitePlugins,
|
|
3081
3146
|
);
|
|
3082
3147
|
const marker = options.clientRoute
|
|
@@ -3125,6 +3190,7 @@ async function runServerStreamModuleWithLoading(
|
|
|
3125
3190
|
options.pageFile,
|
|
3126
3191
|
options.serverModules,
|
|
3127
3192
|
options.serverModuleCacheVersion,
|
|
3193
|
+
options.define,
|
|
3128
3194
|
options.vitePlugins,
|
|
3129
3195
|
options.importPolicy,
|
|
3130
3196
|
);
|
|
@@ -3215,6 +3281,7 @@ async function appendServerStreamModule(
|
|
|
3215
3281
|
sourcefile: string,
|
|
3216
3282
|
serverModules: ReadonlyMap<string, BuiltServerModuleArtifact> | undefined,
|
|
3217
3283
|
serverModuleCacheVersion: string | undefined,
|
|
3284
|
+
define: UserConfig["define"] | undefined,
|
|
3218
3285
|
vitePlugins?: readonly PluginOption[] | undefined,
|
|
3219
3286
|
importPolicy?: AppRouterImportPolicy | undefined,
|
|
3220
3287
|
): Promise<void> {
|
|
@@ -3223,6 +3290,7 @@ async function appendServerStreamModule(
|
|
|
3223
3290
|
sourcefile,
|
|
3224
3291
|
serverModules,
|
|
3225
3292
|
serverModuleCacheVersion,
|
|
3293
|
+
define,
|
|
3226
3294
|
vitePlugins,
|
|
3227
3295
|
importPolicy,
|
|
3228
3296
|
);
|
|
@@ -3234,6 +3302,7 @@ async function appendServerStreamModule(
|
|
|
3234
3302
|
async function renderServerStreamSlots(
|
|
3235
3303
|
code: string,
|
|
3236
3304
|
options: {
|
|
3305
|
+
define?: UserConfig["define"] | undefined;
|
|
3237
3306
|
pageFile: string;
|
|
3238
3307
|
props: ServerComponentProps;
|
|
3239
3308
|
serverModules?: ReadonlyMap<string, BuiltServerModuleArtifact> | undefined;
|
|
@@ -3251,6 +3320,7 @@ async function renderServerStreamSlots(
|
|
|
3251
3320
|
options.pageFile,
|
|
3252
3321
|
options.serverModules,
|
|
3253
3322
|
options.serverModuleCacheVersion,
|
|
3323
|
+
options.define,
|
|
3254
3324
|
options.vitePlugins,
|
|
3255
3325
|
options.importPolicy,
|
|
3256
3326
|
);
|
|
@@ -3285,6 +3355,7 @@ async function loadServerStreamModule(
|
|
|
3285
3355
|
sourcefile: string,
|
|
3286
3356
|
serverModules: ReadonlyMap<string, BuiltServerModuleArtifact> | undefined,
|
|
3287
3357
|
serverModuleCacheVersion: string | undefined,
|
|
3358
|
+
define?: UserConfig["define"] | undefined,
|
|
3288
3359
|
vitePlugins?: readonly PluginOption[] | undefined,
|
|
3289
3360
|
importPolicy?: AppRouterImportPolicy | undefined,
|
|
3290
3361
|
): Promise<StreamModuleExports> {
|
|
@@ -3308,10 +3379,11 @@ async function loadServerStreamModule(
|
|
|
3308
3379
|
? undefined
|
|
3309
3380
|
: `server-stream-component:${serverModuleCacheVersion}:${sourcefile}:${
|
|
3310
3381
|
moduleCode === code ? codeHash : memoizedHashText(moduleCode)
|
|
3311
|
-
}:${importPolicyCacheKey(importPolicy)}:${vitePluginsCacheKey(vitePlugins)}`;
|
|
3382
|
+
}:${importPolicyCacheKey(importPolicy)}:${viteDefineCacheKey(define)}:${vitePluginsCacheKey(vitePlugins)}`;
|
|
3312
3383
|
return await importAppRouterSourceModule<StreamModuleExports>({
|
|
3313
3384
|
cacheKey,
|
|
3314
3385
|
code: moduleCode,
|
|
3386
|
+
define,
|
|
3315
3387
|
label: `server-stream-component:${sourcefile}`,
|
|
3316
3388
|
plugins:
|
|
3317
3389
|
importPolicy === undefined
|
|
@@ -3330,6 +3402,7 @@ async function loadServerStreamModule(
|
|
|
3330
3402
|
dev: serverModuleCacheVersion === undefined,
|
|
3331
3403
|
serverModules,
|
|
3332
3404
|
serverOutput: "stream" as const,
|
|
3405
|
+
define,
|
|
3333
3406
|
vitePlugins,
|
|
3334
3407
|
},
|
|
3335
3408
|
}
|
|
@@ -3352,6 +3425,7 @@ function selectStreamComponent(module: StreamModuleExports): StreamComponent {
|
|
|
3352
3425
|
async function applyLayouts(options: {
|
|
3353
3426
|
appDir: string;
|
|
3354
3427
|
clientRouteInferenceCache?: ClientRouteInferenceCache | undefined;
|
|
3428
|
+
define?: UserConfig["define"] | undefined;
|
|
3355
3429
|
pageFile: string;
|
|
3356
3430
|
html: string;
|
|
3357
3431
|
props: ServerComponentProps;
|
|
@@ -3383,6 +3457,7 @@ async function applyLayouts(options: {
|
|
|
3383
3457
|
options.serverSourceFiles,
|
|
3384
3458
|
options.clientRouteInferenceCache,
|
|
3385
3459
|
options.timing,
|
|
3460
|
+
options.define,
|
|
3386
3461
|
options.vitePlugins,
|
|
3387
3462
|
options.importPolicy,
|
|
3388
3463
|
);
|
|
@@ -3417,6 +3492,7 @@ async function layoutShellsForPage(
|
|
|
3417
3492
|
serverModuleCacheVersion: string | undefined,
|
|
3418
3493
|
serverSourceFiles: ReadonlyMap<string, string> | undefined,
|
|
3419
3494
|
clientRouteInferenceCache: ClientRouteInferenceCache | undefined,
|
|
3495
|
+
define?: UserConfig["define"] | undefined,
|
|
3420
3496
|
vitePlugins?: readonly PluginOption[] | undefined,
|
|
3421
3497
|
importPolicy?: AppRouterImportPolicy | undefined,
|
|
3422
3498
|
): Promise<RenderedShell[]> {
|
|
@@ -3436,6 +3512,7 @@ async function layoutShellsForPage(
|
|
|
3436
3512
|
serverSourceFiles,
|
|
3437
3513
|
clientRouteInferenceCache,
|
|
3438
3514
|
undefined,
|
|
3515
|
+
define,
|
|
3439
3516
|
vitePlugins,
|
|
3440
3517
|
importPolicy,
|
|
3441
3518
|
),
|
|
@@ -3462,6 +3539,7 @@ async function renderShellPrefixSuffix(
|
|
|
3462
3539
|
serverSourceFiles: ReadonlyMap<string, string> | undefined,
|
|
3463
3540
|
clientRouteInferenceCache?: ClientRouteInferenceCache | undefined,
|
|
3464
3541
|
timing?: RenderTiming | undefined,
|
|
3542
|
+
define?: UserConfig["define"] | undefined,
|
|
3465
3543
|
vitePlugins?: readonly PluginOption[] | undefined,
|
|
3466
3544
|
importPolicy?: AppRouterImportPolicy | undefined,
|
|
3467
3545
|
): Promise<RenderedShell> {
|
|
@@ -3469,7 +3547,7 @@ async function renderShellPrefixSuffix(
|
|
|
3469
3547
|
const cacheKey =
|
|
3470
3548
|
serverModuleCacheVersion === undefined || hasNamedSlots || shell.kind === "template"
|
|
3471
3549
|
? undefined
|
|
3472
|
-
: `${appDir}\0${shell.file}\0${serverModuleCacheVersion}\0${importPolicyCacheKey(importPolicy)}\0${vitePluginsCacheKey(vitePlugins)}`;
|
|
3550
|
+
: `${appDir}\0${shell.file}\0${serverModuleCacheVersion}\0${importPolicyCacheKey(importPolicy)}\0${viteDefineCacheKey(define)}\0${vitePluginsCacheKey(vitePlugins)}`;
|
|
3473
3551
|
if (cacheKey !== undefined) {
|
|
3474
3552
|
const cached = readRouterRuntimeCacheEntry(
|
|
3475
3553
|
renderedShellCache,
|
|
@@ -3533,6 +3611,7 @@ async function renderShellPrefixSuffix(
|
|
|
3533
3611
|
shell.file,
|
|
3534
3612
|
serverModules,
|
|
3535
3613
|
serverModuleCacheVersion,
|
|
3614
|
+
define,
|
|
3536
3615
|
vitePlugins,
|
|
3537
3616
|
importPolicy,
|
|
3538
3617
|
),
|
|
@@ -3542,6 +3621,7 @@ async function renderShellPrefixSuffix(
|
|
|
3542
3621
|
shell.file,
|
|
3543
3622
|
serverModules,
|
|
3544
3623
|
serverModuleCacheVersion,
|
|
3624
|
+
define,
|
|
3545
3625
|
vitePlugins,
|
|
3546
3626
|
importPolicy,
|
|
3547
3627
|
);
|
|
@@ -3869,6 +3949,7 @@ async function loadRouteData(options: {
|
|
|
3869
3949
|
appDir: string;
|
|
3870
3950
|
code: string;
|
|
3871
3951
|
context: RouteDataContext;
|
|
3952
|
+
define?: UserConfig["define"] | undefined;
|
|
3872
3953
|
filename: string;
|
|
3873
3954
|
importPolicy?: AppRouterImportPolicy | undefined;
|
|
3874
3955
|
serverModules?: ReadonlyMap<string, BuiltServerModuleArtifact> | undefined;
|
|
@@ -3910,6 +3991,7 @@ async function loadRouteDataWithInstrumentation(options: {
|
|
|
3910
3991
|
appDir: string;
|
|
3911
3992
|
code: string;
|
|
3912
3993
|
context: RouteDataContext;
|
|
3994
|
+
define?: UserConfig["define"] | undefined;
|
|
3913
3995
|
filename: string;
|
|
3914
3996
|
importPolicy?: AppRouterImportPolicy | undefined;
|
|
3915
3997
|
instrumentation?: RouterInstrumentation | undefined;
|
|
@@ -3949,6 +4031,7 @@ async function loadRouteDataWithInstrumentation(options: {
|
|
|
3949
4031
|
async function loadRouteLoaderModule(options: {
|
|
3950
4032
|
appDir: string;
|
|
3951
4033
|
code: string;
|
|
4034
|
+
define?: UserConfig["define"] | undefined;
|
|
3952
4035
|
filename: string;
|
|
3953
4036
|
importPolicy?: AppRouterImportPolicy | undefined;
|
|
3954
4037
|
serverModules?: ReadonlyMap<string, BuiltServerModuleArtifact> | undefined;
|
|
@@ -3958,7 +4041,7 @@ async function loadRouteLoaderModule(options: {
|
|
|
3958
4041
|
const cacheKey =
|
|
3959
4042
|
options.serverModuleCacheVersion === undefined
|
|
3960
4043
|
? undefined
|
|
3961
|
-
: `${options.appDir}\0${options.filename}\0${options.serverModuleCacheVersion}\0${memoizedHashText(options.code)}\0${importPolicyCacheKey(options.importPolicy)}\0${vitePluginsCacheKey(options.vitePlugins)}`;
|
|
4044
|
+
: `${options.appDir}\0${options.filename}\0${options.serverModuleCacheVersion}\0${memoizedHashText(options.code)}\0${importPolicyCacheKey(options.importPolicy)}\0${viteDefineCacheKey(options.define)}\0${vitePluginsCacheKey(options.vitePlugins)}`;
|
|
3962
4045
|
|
|
3963
4046
|
if (cacheKey !== undefined) {
|
|
3964
4047
|
const cached = readRouterRuntimeCacheEntry(
|
|
@@ -4002,6 +4085,7 @@ async function loadRouteLoaderModule(options: {
|
|
|
4002
4085
|
export async function bundleRouteLoaderModuleCode(options: {
|
|
4003
4086
|
appDir: string;
|
|
4004
4087
|
code: string;
|
|
4088
|
+
define?: UserConfig["define"] | undefined;
|
|
4005
4089
|
externalizeAppSourceModuleDirs?: readonly string[] | undefined;
|
|
4006
4090
|
filename: string;
|
|
4007
4091
|
importPolicy?: AppRouterImportPolicy | undefined;
|
|
@@ -4009,6 +4093,7 @@ export async function bundleRouteLoaderModuleCode(options: {
|
|
|
4009
4093
|
}): Promise<string> {
|
|
4010
4094
|
const output = await bundleRouterModule({
|
|
4011
4095
|
code: stripRouteLoaderOnlyExports(options.code, options.filename),
|
|
4096
|
+
define: options.define,
|
|
4012
4097
|
externalizeAppSourceModuleDirs: options.externalizeAppSourceModuleDirs,
|
|
4013
4098
|
filename: options.filename,
|
|
4014
4099
|
platform: "node",
|
|
@@ -4034,6 +4119,7 @@ export async function bundleRouteLoaderModuleCode(options: {
|
|
|
4034
4119
|
async function loadBundledRouteLoaderModule(options: {
|
|
4035
4120
|
appDir: string;
|
|
4036
4121
|
code: string;
|
|
4122
|
+
define?: UserConfig["define"] | undefined;
|
|
4037
4123
|
filename: string;
|
|
4038
4124
|
importPolicy?: AppRouterImportPolicy | undefined;
|
|
4039
4125
|
prebuiltArtifact?: BuiltServerModuleOutputLike | undefined;
|
|
@@ -4059,6 +4145,7 @@ async function loadBundledRouteLoaderModule(options: {
|
|
|
4059
4145
|
: undefined,
|
|
4060
4146
|
filename: options.filename,
|
|
4061
4147
|
importPolicy: options.importPolicy,
|
|
4148
|
+
define: options.define,
|
|
4062
4149
|
vitePlugins: options.vitePlugins,
|
|
4063
4150
|
}));
|
|
4064
4151
|
|
|
@@ -4066,9 +4153,10 @@ async function loadBundledRouteLoaderModule(options: {
|
|
|
4066
4153
|
...(options.serverModuleCacheVersion === undefined
|
|
4067
4154
|
? {}
|
|
4068
4155
|
: {
|
|
4069
|
-
cacheKey: `loader:${options.filename}:${options.serverModuleCacheVersion}:${memoizedHashText(code)}`,
|
|
4156
|
+
cacheKey: `loader:${options.filename}:${options.serverModuleCacheVersion}:${memoizedHashText(code)}:${viteDefineCacheKey(options.define)}`,
|
|
4070
4157
|
}),
|
|
4071
4158
|
code,
|
|
4159
|
+
define: options.define,
|
|
4072
4160
|
label: `loader:${options.filename}`,
|
|
4073
4161
|
});
|
|
4074
4162
|
}
|
|
@@ -4077,6 +4165,7 @@ async function loadRouteMetadata(options: {
|
|
|
4077
4165
|
appDir: string;
|
|
4078
4166
|
code: string;
|
|
4079
4167
|
context: RouteMetadataContext;
|
|
4168
|
+
define?: UserConfig["define"] | undefined;
|
|
4080
4169
|
filename: string;
|
|
4081
4170
|
importPolicy?: AppRouterImportPolicy | undefined;
|
|
4082
4171
|
serverModules?: ReadonlyMap<string, BuiltServerModuleArtifact> | undefined;
|
|
@@ -4109,9 +4198,10 @@ async function loadRouteMetadata(options: {
|
|
|
4109
4198
|
...(options.serverModuleCacheVersion === undefined
|
|
4110
4199
|
? {}
|
|
4111
4200
|
: {
|
|
4112
|
-
cacheKey: `metadata:${options.filename}:${options.serverModuleCacheVersion}:${memoizedHashText(code)}`,
|
|
4201
|
+
cacheKey: `metadata:${options.filename}:${options.serverModuleCacheVersion}:${memoizedHashText(code)}:${viteDefineCacheKey(options.define)}`,
|
|
4113
4202
|
}),
|
|
4114
4203
|
code,
|
|
4204
|
+
define: options.define,
|
|
4115
4205
|
label: `metadata:${options.filename}`,
|
|
4116
4206
|
});
|
|
4117
4207
|
|
|
@@ -4147,12 +4237,14 @@ function isRouteMetadata(value: RouteMetadata | undefined): value is RouteMetada
|
|
|
4147
4237
|
async function bundleRouteMetadataModuleCode(options: {
|
|
4148
4238
|
appDir: string;
|
|
4149
4239
|
code: string;
|
|
4240
|
+
define?: UserConfig["define"] | undefined;
|
|
4150
4241
|
filename: string;
|
|
4151
4242
|
importPolicy?: AppRouterImportPolicy | undefined;
|
|
4152
4243
|
vitePlugins?: readonly PluginOption[] | undefined;
|
|
4153
4244
|
}): Promise<string> {
|
|
4154
4245
|
const output = await bundleRouterModule({
|
|
4155
4246
|
code: stripRouteMetadataOnlyExports(options.code, options.filename),
|
|
4247
|
+
define: options.define,
|
|
4156
4248
|
filename: options.filename,
|
|
4157
4249
|
platform: "node",
|
|
4158
4250
|
vitePlugins: options.vitePlugins,
|
|
@@ -4178,6 +4270,7 @@ async function loadComposedRouteMetadata(options: {
|
|
|
4178
4270
|
appDir: string;
|
|
4179
4271
|
code: string;
|
|
4180
4272
|
context: RouteMetadataContext;
|
|
4273
|
+
define?: UserConfig["define"] | undefined;
|
|
4181
4274
|
filename: string;
|
|
4182
4275
|
importPolicy?: AppRouterImportPolicy | undefined;
|
|
4183
4276
|
routes: readonly AppRoute[];
|
|
@@ -4189,7 +4282,7 @@ async function loadComposedRouteMetadata(options: {
|
|
|
4189
4282
|
const cacheKey =
|
|
4190
4283
|
options.serverModuleCacheVersion === undefined
|
|
4191
4284
|
? undefined
|
|
4192
|
-
: `${options.appDir}\0${options.filename}\0${options.serverModuleCacheVersion}\0${memoizedHashText(options.code)}\0${vitePluginsCacheKey(options.vitePlugins)}`;
|
|
4285
|
+
: `${options.appDir}\0${options.filename}\0${options.serverModuleCacheVersion}\0${memoizedHashText(options.code)}\0${viteDefineCacheKey(options.define)}\0${vitePluginsCacheKey(options.vitePlugins)}`;
|
|
4193
4286
|
if (cacheKey !== undefined) {
|
|
4194
4287
|
const cached = readRouterRuntimeCacheEntry(
|
|
4195
4288
|
composedRouteMetadataCache,
|
|
@@ -4226,6 +4319,7 @@ async function loadComposedRouteMetadataUncached(options: {
|
|
|
4226
4319
|
appDir: string;
|
|
4227
4320
|
code: string;
|
|
4228
4321
|
context: RouteMetadataContext;
|
|
4322
|
+
define?: UserConfig["define"] | undefined;
|
|
4229
4323
|
filename: string;
|
|
4230
4324
|
importPolicy?: AppRouterImportPolicy | undefined;
|
|
4231
4325
|
routes: readonly AppRoute[];
|
|
@@ -4261,6 +4355,7 @@ async function loadComposedRouteMetadataUncached(options: {
|
|
|
4261
4355
|
importPolicy: options.importPolicy,
|
|
4262
4356
|
serverModules: options.serverModules,
|
|
4263
4357
|
serverModuleCacheVersion: options.serverModuleCacheVersion,
|
|
4358
|
+
define: options.define,
|
|
4264
4359
|
vitePlugins: options.vitePlugins,
|
|
4265
4360
|
});
|
|
4266
4361
|
|
|
@@ -4277,6 +4372,7 @@ async function loadComposedRouteMetadataUncached(options: {
|
|
|
4277
4372
|
importPolicy: options.importPolicy,
|
|
4278
4373
|
serverModules: options.serverModules,
|
|
4279
4374
|
serverModuleCacheVersion: options.serverModuleCacheVersion,
|
|
4375
|
+
define: options.define,
|
|
4280
4376
|
vitePlugins: options.vitePlugins,
|
|
4281
4377
|
});
|
|
4282
4378
|
|