@reckona/mreact-router 0.0.181 → 0.0.183
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/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +20 -8
- package/dist/actions.js.map +1 -1
- package/dist/build.d.ts +3 -0
- package/dist/build.d.ts.map +1 -1
- package/dist/build.js +263 -5
- package/dist/build.js.map +1 -1
- package/dist/built-assets.d.ts.map +1 -1
- package/dist/built-assets.js +2 -2
- package/dist/built-assets.js.map +1 -1
- package/dist/cache-config.d.ts +1 -1
- package/dist/cache-config.d.ts.map +1 -1
- package/dist/cache-config.js.map +1 -1
- package/dist/cache.d.ts.map +1 -1
- package/dist/cache.js +18 -1
- package/dist/cache.js.map +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +16 -6
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +6 -0
- package/dist/config.js.map +1 -1
- package/dist/csrf.js +10 -6
- package/dist/csrf.js.map +1 -1
- package/dist/navigation.d.ts.map +1 -1
- package/dist/navigation.js +14 -1
- package/dist/navigation.js.map +1 -1
- package/dist/render.d.ts +4 -0
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +96 -46
- package/dist/render.js.map +1 -1
- package/dist/vite.d.ts.map +1 -1
- package/dist/vite.js +35 -4
- package/dist/vite.js.map +1 -1
- package/package.json +11 -11
- package/src/actions.ts +26 -9
- package/src/build.ts +398 -5
- package/src/built-assets.ts +2 -3
- package/src/cache-config.ts +1 -0
- package/src/cache.ts +20 -1
- package/src/client.ts +16 -6
- package/src/config.ts +8 -0
- package/src/csrf.ts +13 -6
- package/src/navigation.ts +16 -1
- package/src/render.ts +194 -78
- package/src/vite.ts +41 -4
package/src/vite.ts
CHANGED
|
@@ -69,6 +69,7 @@ export interface AppRouterViteMiddlewareOptions extends AppRouterProjectOptions
|
|
|
69
69
|
|
|
70
70
|
type AppRouterViteRuntimeMiddlewareOptions = AppRouterViteMiddlewareOptions & {
|
|
71
71
|
clientRouteInferenceCache?: ClientRouteInferenceCache | undefined;
|
|
72
|
+
devServerModuleCacheVersion?: (() => string | undefined) | undefined;
|
|
72
73
|
navigationScanVitePlugins?: readonly PluginOption[] | undefined;
|
|
73
74
|
viteDevServer?: ViteDevServer | undefined;
|
|
74
75
|
};
|
|
@@ -193,6 +194,7 @@ export function createAppRouterVitePlugin(options: AppRouterVitePluginOptions):
|
|
|
193
194
|
// built-in CSS plugin) whose `transform` requires a dev-server environment the
|
|
194
195
|
// lightweight navigation scan cannot provide. Mirrors what the build forwards.
|
|
195
196
|
let userVitePlugins: readonly PluginOption[] | undefined;
|
|
197
|
+
let devServerModuleCacheVersion = 0;
|
|
196
198
|
|
|
197
199
|
const plugin: MreactRouterPlugin = {
|
|
198
200
|
[mreactRouterConfigKey]: {
|
|
@@ -245,6 +247,7 @@ export function createAppRouterVitePlugin(options: AppRouterVitePluginOptions):
|
|
|
245
247
|
const middlewareOptions: AppRouterViteRuntimeMiddlewareOptions = {
|
|
246
248
|
...options,
|
|
247
249
|
define: server.config.define,
|
|
250
|
+
devServerModuleCacheVersion: () => `dev:${devServerModuleCacheVersion}`,
|
|
248
251
|
navigationScanVitePlugins: userVitePlugins ?? [],
|
|
249
252
|
viteDevServer: server,
|
|
250
253
|
vitePlugins: server.config.plugins,
|
|
@@ -260,8 +263,13 @@ export function createAppRouterVitePlugin(options: AppRouterVitePluginOptions):
|
|
|
260
263
|
return;
|
|
261
264
|
}
|
|
262
265
|
|
|
266
|
+
devServerModuleCacheVersion += 1;
|
|
263
267
|
const timestamp = Date.now();
|
|
264
|
-
const
|
|
268
|
+
const hotModules =
|
|
269
|
+
context.modules.length > 0
|
|
270
|
+
? context.modules
|
|
271
|
+
: Array.from(context.server.moduleGraph.idToModuleMap.values());
|
|
272
|
+
const updates = hotModules
|
|
265
273
|
.filter((moduleNode) => isMreactClientDevModuleId(moduleNode.id))
|
|
266
274
|
.map((moduleNode) => {
|
|
267
275
|
context.server.moduleGraph.invalidateModule(moduleNode);
|
|
@@ -580,20 +588,51 @@ async function handleAppRouterViteRequest(
|
|
|
580
588
|
clientStylesByFile,
|
|
581
589
|
clientRouteInferenceCache: options.clientRouteInferenceCache,
|
|
582
590
|
navigationScripts,
|
|
591
|
+
onRenderError(error) {
|
|
592
|
+
sendViteErrorOverlay(options.viteDevServer, error);
|
|
593
|
+
},
|
|
583
594
|
request,
|
|
584
595
|
logger: options.logger,
|
|
585
596
|
routeCache: options.routeCache,
|
|
586
597
|
routeMatcher,
|
|
587
598
|
routes,
|
|
588
599
|
serverActions: options.serverActions,
|
|
600
|
+
devServerModuleCacheVersion: options.devServerModuleCacheVersion?.(),
|
|
589
601
|
vitePlugins: routeTransformPlugins,
|
|
590
602
|
}),
|
|
591
603
|
);
|
|
592
604
|
} catch (error) {
|
|
605
|
+
sendViteErrorOverlay(options.viteDevServer, error);
|
|
593
606
|
next(error);
|
|
594
607
|
}
|
|
595
608
|
}
|
|
596
609
|
|
|
610
|
+
function sendViteErrorOverlay(server: ViteDevServer | undefined, error: unknown): void {
|
|
611
|
+
if (server === undefined) {
|
|
612
|
+
return;
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
if (error instanceof Error) {
|
|
616
|
+
server.ssrFixStacktrace(error);
|
|
617
|
+
}
|
|
618
|
+
server.ws.send({
|
|
619
|
+
type: "error",
|
|
620
|
+
err: viteErrorPayload(error),
|
|
621
|
+
});
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
function viteErrorPayload(error: unknown): { message: string; stack: string } {
|
|
625
|
+
if (error instanceof Error) {
|
|
626
|
+
return {
|
|
627
|
+
message: error.message,
|
|
628
|
+
stack: error.stack ?? error.message,
|
|
629
|
+
};
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
const message = String(error);
|
|
633
|
+
return { message, stack: message };
|
|
634
|
+
}
|
|
635
|
+
|
|
597
636
|
/**
|
|
598
637
|
* Renders a development client asset generated by the app-router Vite integration.
|
|
599
638
|
*/
|
|
@@ -907,9 +946,7 @@ async function devNavigationScripts(
|
|
|
907
946
|
console.warn(formatClientRouteInferenceDiagnostic(navigationRuntimeDiagnostic));
|
|
908
947
|
}
|
|
909
948
|
|
|
910
|
-
return navigation
|
|
911
|
-
? ([route.path, navigationRuntimeScriptForDev()] as const)
|
|
912
|
-
: undefined;
|
|
949
|
+
return navigation ? ([route.path, navigationRuntimeScriptForDev()] as const) : undefined;
|
|
913
950
|
}),
|
|
914
951
|
);
|
|
915
952
|
|