-
-
Notifications
You must be signed in to change notification settings - Fork 7.2k
Closed
Labels
Description
Describe the bug
If a module loaded with ssrLoadModule
is invalidated, it is evicted from the module graph but isn't cleaned up. If it's subsequently loaded again, any resources created in the old module (websocket servers, timeouts, etc) will stick around, causing issues like sveltejs/kit#2903.
Ideally, I think the HMR API would apply to ssrLoadModule
as well as modules loaded in the browser.
Reproduction
https://github.com/Rich-Harris/vite-ssr-hmr-repro
System Info
System:
OS: macOS 12.0.1
CPU: (10) arm64 Apple M1 Max
Memory: 278.28 MB / 32.00 GB
Shell: 5.8 - /bin/zsh
Binaries:
Node: 16.13.1 - ~/.nvm/versions/node/v16.13.1/bin/node
Yarn: 1.22.17 - ~/.nvm/versions/node/v16.13.1/bin/yarn
npm: 8.1.2 - ~/.nvm/versions/node/v16.13.1/bin/npm
Browsers:
Chrome: 100.0.4896.127
Firefox: 99.0.1
Safari: 15.1
npmPackages:
vite: ^2.9.5 => 2.9.5
Used Package Manager
pnpm
Logs
No response
Validations
- Follow our Code of Conduct
- Read the Contributing Guidelines.
- Read the docs.
- Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
- Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/core instead.
- Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
- The provided reproduction is a minimal reproducible example of the bug.
dslatkin, vqt123, max-got, gu-stav, a-fazal and 2 moreni-max, haikyuu and vqt123