alloc / alloc/saus

Faster reloading of isolated modules

Open
#65 2 comments 0 reactions 0 assignees View on GitHub
proposal runtime
Dominant language
TypeScript
Stars
38
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Currently, all isolated modules are reloaded between page requests. Additionally, this reloading does not take place until the next request comes in.

- We should reload eagerly (after each request, instead of before)
- We should reload only the modules that are stateful
- We need to build a module graph (really just the importers of each module) so we can reload selectively

The first solution that comes to mind is `import.meta.hot` (Vite's HMR API). This is a flexible solution, as the user (and even plugins) can control *how* a module is reloaded, instead of only switching reload on/off. But it's also more verbose than, say, adding `/* @hot */` at the top of the module, or managing a list of stateful modules from your Saus config (which I'd like to avoid, since the list can get out of sync).

I don't think we'll need to implement the entirety of Vite's HMR API. Just the basics for now.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.