docs: adding why-plugin-hook-filter in depth#6446
Conversation
How to use the Graphite Merge QueueAdd the label graphite: merge to this PR to add it to the merge queue. You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
why-plugin-hook-filter in deepth
why-plugin-hook-filter in deepthwhy-plugin-hook-filter in deepth
✅ Deploy Preview for rolldown-rs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
Pull Request Overview
This PR adds comprehensive documentation explaining the performance benefits of plugin hook filters in Rolldown. The document demonstrates how JavaScript plugins can significantly slow down builds without proper filtering and shows the dramatic performance improvements achievable with filters.
- Explains the bottleneck created by JavaScript plugins in Rolldown's parallel processing
- Provides real-world benchmarks showing 3.74x performance improvement with filters
- Includes detailed technical explanation of how filters work under the hood
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
dbe4ed3 to
5ee5a62
Compare
why-plugin-hook-filter in deepthwhy-plugin-hook-filter in depth
5ee5a62 to
516e019
Compare
|
We already have a dedicated hook filters subsection. Could we maybe locate it there too (e.g. a dedicated |
I think we already explained |
|
I will adding a friend link at the bottom of the page. |
|
Now I add a bidirectional link for each of them. |
516e019 to
3e377a7
Compare
|
Alright, that's fine 👍 |
TheAlexLichter
left a comment
There was a problem hiding this comment.
Small remarks! Overall a great topic page 👍
67fa3be to
1855773
Compare
1855773 to
77a8265
Compare
Merge activity
|
77a8265 to
35d9c4f
Compare
## [1.0.0-beta.43] - 2025-10-13 ### 🚀 Features - add filterVitePlugins utility that uses to skip vite plugins using apply: "serve" (#6502) by @IWANABETHATGUY - rolldown_plugin_vite_html: align partial can inline entry logic (#6500) by @shulaoda - rolldown_plugin_vite_html: align get_imported_chunks logic (#6499) by @shulaoda - rolldown_plugin_vite_html: align HtmlTagDescriptor (#6498) by @shulaoda - rolldown_plugin_vite_html: align partial utility functions logic (#6497) by @shulaoda - rolldown_html_vite_html: align partial inject chunk asset links logic (#6496) by @shulaoda - rolldown_plugin_vite_html: align `processedHtml` logic (#6494) by @shulaoda - add `nativeMagicString` options (#6469) by @IWANABETHATGUY - rust: eagerly cleanup resources when calling `close` (#6483) by @hyf0 - rust: varify if bundler is closed for public API (#6481) by @hyf0 - replace [format] placeholder in chunk filename templates (#6476) by @elecmonkey - implement synchronous JS callback invocation for paths function (#6474) by @IWANABETHATGUY - rolldown_plugin_vite_html: align partial transform hook logic (#6471) by @shulaoda - Support `output.paths` (#6470) by @IWANABETHATGUY - rolldown_plugin_vite_html: align script urls handle logic (#6466) by @shulaoda - add validation for `preserveEntrySignatures` with `includeDependenciesRecursively` option (#6468) by @hyf0 - rolldown_plugin_vite_html: align partial logic (#6465) by @shulaoda - background sourcemap generation for Javascript transform hooks (#6293) by @IWANABETHATGUY - rolldown_plugin_vite_html: handle style tag (#6464) by @shulaoda - rolldown_plugin_vite_html: handle inline style attribute (#6463) by @shulaoda - rolldown_plugin_vite_html: patially handle vite-ignore attribute (#6462) by @shulaoda - dev/node: expose errors of `on_hmr_updatrs` to node (#6454) by @hyf0 - dev/node: expose errors of `on_output` to node (#6453) by @hyf0 - dev: expose hmr errors on `on_hmr_updatrs` callback (#6443) by @hyf0 ### 🐛 Bug Fixes - fallback sourcemap generation for `experimental.nativeMagicString: false` (#6488) by @IWANABETHATGUY - take `resolve.modules` into account (#6484) by @Pickachu - rolldown: increase tokio blocking threads size for watch mode (#6467) by @Brooooooklyn - use len_utf16 in magic_string CharToByteMapper (#6461) by @IWANABETHATGUY - pass `advancedChunks#includeDependenciesRecursively` to rust (#6448) by @hyf0 - dev: should compute hmr update correctly for multiple clients (#6442) by @hyf0 - allow specifying packageJsonPath in PluginContext.load (#6439) by @sapphi-red - use transform.target as default for minify target when `minify: { compress: true }` (#6433) by @sapphi-red ### 🚜 Refactor - extract background sourcemap handling into separate methods (#6501) by @IWANABETHATGUY - rust: only expose methods of `Bundler` for public usage (#6480) by @hyf0 - dev/node: use napi object instead clss for `BindingClientHmrUpdate` (#6456) by @hyf0 - dev/node: improve `DevOnHmrUpdates` API (#6455) by @hyf0 ### 📚 Documentation - update team page and add acknowledgements page (#6495) by @hyf0 - restructure website and files (#6492) by @hyf0 - correct incorrect documentation about the config file (#6472) by @jsparkdev - options: `experimental.strictExecutionOrder` (#6450) by @hyf0 - adding `why-plugin-hook-filter` in depth (#6446) by @IWANABETHATGUY ### ⚡ Performance - rolldown: replace serde JSON string escape with simd impl (#6475) by @Brooooooklyn ### ⚙️ Miscellaneous Tasks - docs: redirect removed path to new locations for compatibility (#6493) by @hyf0 - deps: lock file maintenance npm packages (#6490) by @renovate[bot] - deps: update github-actions (major) (#6415) by @renovate[bot] - deps: update github-actions (#6489) by @renovate[bot] - rust: add comment for `DiagnosticOptions#stabilize_path` (#6447) by @hyf0 - rust: remove unused `BindingHmrOutput` (#6457) by @hyf0 - rolldown_plugin_vite_html: tweak `utils.rs` (#6460) by @shulaoda - change node version to lts (#6435) by @iiio2 - rust/test: split hmr related structs into their own files (#6445) by @hyf0 - deps: update crate-ci/typos action to v1.38.1 (#6452) by @renovate[bot] - rust/test: render hmr errors (#6444) by @hyf0 - examples: add `"type": "module"` in `package.json` (#6441) by @iiio2 ### ❤️ New Contributors * @Pickachu made their first contribution in [#6484](#6484) * @elecmonkey made their first contribution in [#6476](#6476) * @jsparkdev made their first contribution in [#6472](#6472)


port from rolldown/benchmarks#3