Skip to content

Commit 8adfeb5

Browse files
committed
fix: addWatchFile all dependencies
1 parent 10987e0 commit 8adfeb5

File tree

1 file changed

+3
-39
lines changed

1 file changed

+3
-39
lines changed

packages/plugin-rsc/src/plugin.ts

Lines changed: 3 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -2100,9 +2100,11 @@ function vitePluginRscCss(
21002100
if (parsed?.type === 'rsc') {
21012101
assert(this.environment.name === 'rsc')
21022102
const importer = parsed.id
2103-
this.addWatchFile(importer)
21042103
if (this.environment.mode === 'dev') {
21052104
const result = collectCss(server.environments.rsc!, importer)
2105+
for (const file of [importer, ...result.visitedFiles]) {
2106+
this.addWatchFile(file)
2107+
}
21062108
const cssHrefs = result.hrefs.map((href) => href.slice(1))
21072109
const deps = assetsURLOfDeps({ css: cssHrefs, js: [] }, manager)
21082110
return generateResourcesCode(
@@ -2124,21 +2126,6 @@ function vitePluginRscCss(
21242126
}
21252127
}
21262128
},
2127-
hotUpdate(ctx) {
2128-
if (1) return
2129-
if (this.environment.name === 'rsc') {
2130-
const { server } = manager
2131-
const mods = collectModuleDependents(ctx.modules)
2132-
for (const mod of mods) {
2133-
if (mod.id) {
2134-
invalidteModuleById(
2135-
server.environments.rsc!,
2136-
`\0` + toCssVirtual({ id: mod.id, type: 'rsc' }),
2137-
)
2138-
}
2139-
}
2140-
}
2141-
},
21422129
},
21432130
createVirtualPlugin(
21442131
'vite-rsc/remove-duplicate-server-css',
@@ -2173,29 +2160,6 @@ export default function RemoveDuplicateServerCss() {
21732160
]
21742161
}
21752162

2176-
function invalidteModuleById(environment: DevEnvironment, id: string) {
2177-
const mod = environment.moduleGraph.getModuleById(id)
2178-
if (mod) {
2179-
environment.moduleGraph.invalidateModule(mod)
2180-
}
2181-
return mod
2182-
}
2183-
2184-
function collectModuleDependents(mods: EnvironmentModuleNode[]) {
2185-
const visited = new Set<EnvironmentModuleNode>()
2186-
function recurse(mod: EnvironmentModuleNode) {
2187-
if (visited.has(mod)) return
2188-
visited.add(mod)
2189-
for (const importer of mod.importers) {
2190-
recurse(importer)
2191-
}
2192-
}
2193-
for (const mod of mods) {
2194-
recurse(mod)
2195-
}
2196-
return [...visited]
2197-
}
2198-
21992163
function generateResourcesCode(depsCode: string, manager: RscPluginManager) {
22002164
const ResourcesFn = (
22012165
React: typeof import('react'),

0 commit comments

Comments
 (0)