11import type {
22 EnvironmentModuleNode ,
33 FSWatcher ,
4- ModuleGraph ,
5- ModuleNode ,
64 PluginOption ,
75 ViteDevServer ,
86} from "vite" ;
7+ import { VITE_ENVIRONMENTS } from "../constants.ts" ;
98import { moduleId } from "./index.ts" ;
109import type { BaseFileSystemRouter } from "./router.ts" ;
1110
@@ -32,30 +31,24 @@ function createRoutesReloader(
3231 return ( ) => routes . removeEventListener ( "reload" , handleRoutesReload ) ;
3332
3433 function handleRoutesReload ( ) : void {
35- if ( environment === "ssr" ) {
36- // Handle server environment HMR reload
37- const serverEnv = server . environments . server ;
38- if ( serverEnv && serverEnv . moduleGraph ) {
39- const mod : EnvironmentModuleNode | undefined =
40- serverEnv . moduleGraph . getModuleById ( moduleId ) ;
41- if ( mod ) {
42- const seen = new Set < EnvironmentModuleNode > ( ) ;
43- serverEnv . moduleGraph . invalidateModule ( mod , seen ) ;
44- }
45- }
46- } else {
47- // Handle client environment HMR reload
48- const { moduleGraph } : { moduleGraph : ModuleGraph } = server ;
49- const mod : ModuleNode | undefined = moduleGraph . getModuleById ( moduleId ) ;
50- if ( mod ) {
51- const seen = new Set < ModuleNode > ( ) ;
52- moduleGraph . invalidateModule ( mod , seen ) ;
53- server . reloadModule ( mod ) ;
54- }
34+ const envName =
35+ environment === "ssr" ? VITE_ENVIRONMENTS . server : VITE_ENVIRONMENTS . client ;
36+ const devEnv = server . environments [ envName ] ;
37+ if ( ! devEnv ?. moduleGraph ) return ;
38+
39+ const mod : EnvironmentModuleNode | undefined =
40+ devEnv . moduleGraph . getModuleById ( moduleId ) ;
41+ if ( mod ) {
42+ const seen = new Set < EnvironmentModuleNode > ( ) ;
43+ devEnv . moduleGraph . invalidateModule ( mod , seen ) ;
5544 }
5645
57- if ( ! server . hot ) {
58- server . ws . send ( { type : "full-reload" } ) ;
46+ if ( environment !== "ssr" ) {
47+ if ( mod ) {
48+ devEnv . reloadModule ( mod ) ;
49+ } else if ( devEnv . hot ) {
50+ devEnv . hot . send ( { type : "full-reload" } ) ;
51+ }
5952 }
6053 }
6154}
0 commit comments