-
-
Notifications
You must be signed in to change notification settings - Fork 17
feat: stable v2 native plugins #483
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
base: rolldown-vite
Are you sure you want to change the base?
Conversation
ecc5731 to
165a101
Compare
097a16d to
747c24e
Compare
ce51c11 to
9ee6920
Compare
dba3281 to
d6b9c56
Compare
d6b9c56 to
6eddf7b
Compare
6eddf7b to
689f9ba
Compare
| renderBuiltUrl: undefined, | ||
| hmrPartialAccept: false, | ||
| enableNativePlugin: process.env._VITE_TEST_JS_PLUGIN ? false : 'v1', | ||
| enableNativePlugin: process.env._VITE_TEST_JS_PLUGIN ? false : true, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It needs to be reverted before merging.
689f9ba to
122013a
Compare
| case 'v1': | ||
| case true: | ||
| return 1 | ||
| case true: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| case true: | |
| case 'v2': | |
| case true: |
We should also update the jsdoc of enableNativePlugin option.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm considering adding a v2 option since the v2 implementation is still experimental and not fully stabilized. My current idea is to treat enableNativePlugin: true as enabling v2, while the default behavior continues to use v1. 🤔
f627dd0 to
4c5f53a
Compare
51dfefc to
0b387c5
Compare
0b387c5 to
97a4abe
Compare
|
@sapphi-red Could you help me trigger the ecosystem CI? It seems I don’t have permission to do it. |
Description
If you want to enable these new native plugins, you need to set
enableNativePlugin: true, the default value is'v1'. The v2 native plugins includeassetPlugin,assetImportMetaUrlPlugin,cssPlugin,htmlPlugin, andhtmlInlineProxyPlugin.In addition, the v2 update also improves
nativeBuildImportAnalysisPluginandnativeManifestPlugin. These changes fix the execution order mismatch betweentransformandtransform_asthooks, which previously prevented user plugins from running after built-in plugins even withpostenforcement, making it impossible to access the fully processed code (#373).Note
There may be a slight performance overhead since v2 plugins parse modules individually instead of reusing the AST from
transform_ast. However, the impact should be minimal due to filtering logic that skips unnecessary parsing.