-
-
Notifications
You must be signed in to change notification settings - Fork 17
fix: disable refresh for non-jsx without react import #318
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: disable refresh for non-jsx without react import #318
Conversation
commit: |
This reverts commit 718c5ea.
Hmm, this code feels too specific to the plugin to include in the core and feels hard to keep the condition in sync between the core and the plugin. Do you have any alternative ideas? Or maybe this trade-off is just inevitable... |
Is the coupling between core and plugin so much of concern? For example, I was assuming rolldown-vite's |
OK, I think technically applying refresh transform to non-jsx is not an issue by itself. Probably The original issue is about |
I wouldn't say this is a major problem. It's just something that would be nice to avoid. The issues I see with this approach are:
I don’t have a better alternative at the moment, so I’ll go ahead and merge this unless you have any other suggestions. |
I'm interested in trying out no-op |
## [1.0.0-beta.28] - 2025-07-17 ### 🚀 Features - rolldown: oxc v0.77.2 (#5328) by @Boshen - hmr: add `module` and `exports` parameters to CJS initializer functions (#5322) by @hyf0 - rolldown_plugin_transform: align with `vitejs/rolldown-vite#318` (#5318) by @shulaoda - rolldown_plugin_transform: align with `vitejs/rolldown-vite#315` (#5315) by @shulaoda - hmr: automatically disable treeshaking in hmr (#5311) by @hyf0 - hmr: use `trait HmrAstBuilder` to unify ast construction (#5310) by @hyf0 - rolldown_plugin_chunk_import_map: basic implementation (#5307) by @shulaoda - add `watch.onInvalidate` (#5239) by @situ2001 - rolldown_plugin_chunk_import_map: implement initial `render_chunk` logic (#5306) by @shulaoda - rolldown: oxc v0.77.1 (#5304) by @Boshen - js: expose `experimental.incrementalBuild` option (#5300) by @IWANABETHATGUY - js: support `experimental.onDemandWrapping` option (#5299) by @IWANABETHATGUY - support on demand wrapping for entry chunk (#5291) by @IWANABETHATGUY - rolldown_plugin_chunk_import_map: initialize (#5289) by @shulaoda - show owner module id for "canonical name not found for" errors (#5288) by @sapphi-red ### 🐛 Bug Fixes - only transform VarDeclaration when enable `keepNames` (#5323) by @IWANABETHATGUY - keepNames with special Ifstmt (#5320) by @IWANABETHATGUY - incremental watch panic when adding dynamic import (#5309) by @IWANABETHATGUY - make leaf module wrapping optimization opt-in (#5305) by @IWANABETHATGUY - `keepNames` should consider exportNamed function declaration (#5298) by @IWANABETHATGUY - undefined `process.versions` for browser build (#5295) by @sxzz - sanitizeFileName: entry name should be sanitized (#5283) by @shulaoda - minify-internal-exports: ensure minifying internal exports stably (#5281) by @hyf0 - keep legal and annotation comments for `minify: 'dce-only'` (#5280) by @sapphi-red - unstable chunk generation when `preserveEntrySignatures: false` is used (#5274) by @IWANABETHATGUY ### 🚜 Refactor - pass the while CodegenOptions to `EcmaCompiler::minify` (#5279) by @sapphi-red - avoid iterate `canonical_exports` twice (#5276) by @IWANABETHATGUY ### 📚 Documentation - pluginutils: add README file (#5262) by @TheAlexLichter ### ⚡ Performance - inline function expression when rewriting `name` property with `keepNames` enabled (#5321) by @IWANABETHATGUY - rolldown_sourcemap: cache source id -> source text mapping (#5285) by @Boshen - rolldown_sourcemap: disable rayon (#5284) by @Boshen ### 🧪 Testing - rust: prevent meaningless snapshot change from bumping oxc runtime versions (#5312) by @hyf0 ### ⚙️ Miscellaneous Tasks - upgrade to NAPI-RS 3.0 stable (#5324) by @Brooooooklyn - infra: add onlyBuiltDependencies (#5287) by @situ2001 - improve the order of import keys in the exports field (#5314) by @btea - deps: update dependency rolldown-plugin-dts to v0.13.14 (#5293) by @renovate[bot] - deps: lock file maintenance rust crates (#5267) by @renovate[bot] - deps: lock file maintenance npm packages (#5266) by @renovate[bot] - deps: update github-actions (#5265) by @renovate[bot] ### ❤️ New Contributors * @situ2001 made their first contribution in [#5287](#5287) Co-authored-by: IWANABETHATGUY <17974631+IWANABETHATGUY@users.noreply.github.com>
Description
@vitejs/plugin-react
has this checkisJSX || code.includes(jsxImportRuntime) || code.includes(jsxImportDevRuntime)
for fast refresh. Since the defaultfilter
allows non-jsx file, this additional check is necessary on oxc refresh transform side.I added a test case in vitejs/vite-plugin-react#547 and confirmed it's fixed by pkg.pr.new