[Meta] Releasing this Plugin as "Fast Refresh" capable #1
Open
Description
Ref: facebook/react#16604
This issues tracks what is missing before this plugin attains "feature-parity" with the RN implementation and is representative of the "fast-refresh" branding.
Tasks
- Error Recovery
- Module Import Errors
- Static Imports
- Dynamic Imports (Lazy)
- Add/Remove Imports
- Concurrent Mode
- Syntax Errors
- File Level
- Component Level
- Life-cycle Method Level
- Function Return Level
- Runtime Errors
- Rendering Errors
- React-related Errors
- Root Mounting Errors (Full Refresh)
- Error on Initial Mount
- Accidental Root Unmount
- Module Import Errors
- Component Auto-Registration
- Function Components (via Babel plugin)
- Loader would also pickup false-negatives from the plugin
- Class Components (via packaged loader)
- Mutating Exports (add/remove/change)
- Function Components (via Babel plugin)
- Error Box Integration (
iframe
) feat: error integration #3- Compilation Errors (via Socket)
- Renders Error Message
- Dismissal after Error Recovery (via tracking of Hot status)
- Runtime Errors (via
console
injection)- Renders Error Message (optional source trace? source-map support?)
- Dismissal after Error Recovery (via hook in
window
)
- Compilation Errors (via Socket)
- Webpack Advanced Integration
- Supports
__resourceQuery
(wait for WDS v4) Add custom sockHost/sockPort/sockPath #52 - Allow custom socket integrations (through
transportMode
or a plugin option with a similar footprint) feat: allow socket runtime to be configurable #64 -
Express-like middleware to cater advanced WDM users
- Supports
- Webpack@5 Support feat: add webpack 5 support #123
- Correctly detects
context.hot
- Update hook footprints to match new object types
-
Detects and support multi-compilers and child-compilers (Obsolete for now, this plugin won't break in those scenarios) - Better integration with the new modular HMR system feat: add support for HMR Invalidation API #89
- Release after Webpack@5 hits
beta
stage (0.4.0-beta.6+
)
- Correctly detects
- Tests
- Fast refresh conformance tests test: set up conformance testing architecture for React Refresh #93 test: add more tests from metro #96
- Fast refresh error recovery regression tests
- Plugin unit tests test: overhaul of testing infra and add more tests #127