@@ -2102,6 +2102,9 @@ function vitePluginRscCss(
2102
2102
const importer = parsed . id
2103
2103
if ( this . environment . mode === 'dev' ) {
2104
2104
const result = collectCss ( server . environments . rsc ! , importer )
2105
+ for ( const file of [ importer , ...result . visitedFiles ] ) {
2106
+ this . addWatchFile ( file )
2107
+ }
2105
2108
const cssHrefs = result . hrefs . map ( ( href ) => href . slice ( 1 ) )
2106
2109
const deps = assetsURLOfDeps ( { css : cssHrefs , js : [ ] } , manager )
2107
2110
return generateResourcesCode (
@@ -2123,20 +2126,6 @@ function vitePluginRscCss(
2123
2126
}
2124
2127
}
2125
2128
} ,
2126
- hotUpdate ( ctx ) {
2127
- if ( this . environment . name === 'rsc' ) {
2128
- const { server } = manager
2129
- const mods = collectModuleDependents ( ctx . modules )
2130
- for ( const mod of mods ) {
2131
- if ( mod . id ) {
2132
- invalidteModuleById (
2133
- server . environments . rsc ! ,
2134
- `\0` + toCssVirtual ( { id : mod . id , type : 'rsc' } ) ,
2135
- )
2136
- }
2137
- }
2138
- }
2139
- } ,
2140
2129
} ,
2141
2130
createVirtualPlugin (
2142
2131
'vite-rsc/remove-duplicate-server-css' ,
@@ -2171,29 +2160,6 @@ export default function RemoveDuplicateServerCss() {
2171
2160
]
2172
2161
}
2173
2162
2174
- function invalidteModuleById ( environment : DevEnvironment , id : string ) {
2175
- const mod = environment . moduleGraph . getModuleById ( id )
2176
- if ( mod ) {
2177
- environment . moduleGraph . invalidateModule ( mod )
2178
- }
2179
- return mod
2180
- }
2181
-
2182
- function collectModuleDependents ( mods : EnvironmentModuleNode [ ] ) {
2183
- const visited = new Set < EnvironmentModuleNode > ( )
2184
- function recurse ( mod : EnvironmentModuleNode ) {
2185
- if ( visited . has ( mod ) ) return
2186
- visited . add ( mod )
2187
- for ( const importer of mod . importers ) {
2188
- recurse ( importer )
2189
- }
2190
- }
2191
- for ( const mod of mods ) {
2192
- recurse ( mod )
2193
- }
2194
- return [ ...visited ]
2195
- }
2196
-
2197
2163
function generateResourcesCode ( depsCode : string , manager : RscPluginManager ) {
2198
2164
const ResourcesFn = (
2199
2165
React : typeof import ( 'react' ) ,
0 commit comments