Skip to content

feat(strictExecutionOrder): no need to generate plain chunk imports for addressing side effects #4890

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

Conversation

hyf0
Copy link
Member

@hyf0 hyf0 commented Jun 10, 2025

Part of #4812. strictExecutionOrder: true make it easy to assume doing plain import on chunk doesn't have side effect. @sapphi-red cc

Copy link
Member Author

hyf0 commented Jun 10, 2025

Copy link

netlify bot commented Jun 10, 2025

Deploy Preview for rolldown-rs canceled.

Name Link
🔨 Latest commit bde18cf
🔍 Latest deploy log https://app.netlify.com/projects/rolldown-rs/deploys/6847c44ba8802f000878a7a9

@hyf0 hyf0 marked this pull request as ready for review June 10, 2025 05:37
Copy link
Contributor

Benchmarks Rust

  • target: main(7e2b0be)
  • pr: 06-10-feat_strictexecutionorder_no_need_to_generate_plain_chunk_imports_for_addressing_side_effects(bde18cf)
group                                                        pr                                     target
-----                                                        --                                     ------
bundle/bundle@multi-duplicated-top-level-symbol              1.03     78.2±3.66ms        ? ?/sec    1.00     75.7±2.97ms        ? ?/sec
bundle/bundle@multi-duplicated-top-level-symbol-sourcemap    1.04     90.8±2.60ms        ? ?/sec    1.00     87.2±3.09ms        ? ?/sec
bundle/bundle@rome_ts                                        1.01    114.6±3.37ms        ? ?/sec    1.00    113.9±2.02ms        ? ?/sec
bundle/bundle@rome_ts-sourcemap                              1.00    128.9±2.36ms        ? ?/sec    1.00    128.8±2.52ms        ? ?/sec
bundle/bundle@threejs                                        1.05     42.1±2.18ms        ? ?/sec    1.00     40.1±2.14ms        ? ?/sec
bundle/bundle@threejs-sourcemap                              1.02     47.8±0.81ms        ? ?/sec    1.00     46.9±0.75ms        ? ?/sec
bundle/bundle@threejs10x                                     1.02    439.5±7.32ms        ? ?/sec    1.00    431.8±4.90ms        ? ?/sec
bundle/bundle@threejs10x-sourcemap                           1.02    518.4±6.96ms        ? ?/sec    1.00    507.4±6.72ms        ? ?/sec
scan/scan@rome_ts                                            1.00     89.0±1.64ms        ? ?/sec    1.01     89.9±2.17ms        ? ?/sec
scan/scan@threejs                                            1.01     32.2±1.63ms        ? ?/sec    1.00     31.9±2.11ms        ? ?/sec
scan/scan@threejs10x                                         1.00    322.9±5.90ms        ? ?/sec    1.02    328.2±5.86ms        ? ?/sec

Copy link

pkg-pr-new bot commented Jun 10, 2025

Open in StackBlitz

@rolldown/browser

npm i https://pkg.pr.new/@rolldown/browser@4890

@rolldown/debug

npm i https://pkg.pr.new/@rolldown/debug@4890

@rolldown/pluginutils

npm i https://pkg.pr.new/@rolldown/pluginutils@4890

rolldown

npm i https://pkg.pr.new/rolldown@4890

@rolldown/binding-darwin-arm64

npm i https://pkg.pr.new/@rolldown/binding-darwin-arm64@4890

@rolldown/binding-darwin-x64

npm i https://pkg.pr.new/@rolldown/binding-darwin-x64@4890

@rolldown/binding-freebsd-x64

npm i https://pkg.pr.new/@rolldown/binding-freebsd-x64@4890

@rolldown/binding-linux-arm-gnueabihf

npm i https://pkg.pr.new/@rolldown/binding-linux-arm-gnueabihf@4890

@rolldown/binding-linux-arm64-gnu

npm i https://pkg.pr.new/@rolldown/binding-linux-arm64-gnu@4890

@rolldown/binding-linux-arm64-musl

npm i https://pkg.pr.new/@rolldown/binding-linux-arm64-musl@4890

@rolldown/binding-linux-x64-gnu

npm i https://pkg.pr.new/@rolldown/binding-linux-x64-gnu@4890

@rolldown/binding-linux-x64-musl

npm i https://pkg.pr.new/@rolldown/binding-linux-x64-musl@4890

@rolldown/binding-wasm32-wasi

npm i https://pkg.pr.new/@rolldown/binding-wasm32-wasi@4890

@rolldown/binding-win32-arm64-msvc

npm i https://pkg.pr.new/@rolldown/binding-win32-arm64-msvc@4890

@rolldown/binding-win32-ia32-msvc

npm i https://pkg.pr.new/@rolldown/binding-win32-ia32-msvc@4890

@rolldown/binding-win32-x64-msvc

npm i https://pkg.pr.new/@rolldown/binding-win32-x64-msvc@4890

commit: bde18cf

@hyf0 hyf0 added this pull request to the merge queue Jun 10, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jun 10, 2025
@hyf0 hyf0 added this pull request to the merge queue Jun 10, 2025
Merged via the queue into main with commit 9417429 Jun 10, 2025
48 checks passed
@hyf0 hyf0 deleted the 06-10-feat_strictexecutionorder_no_need_to_generate_plain_chunk_imports_for_addressing_side_effects branch June 10, 2025 07:29
Boshen pushed a commit that referenced this pull request Jun 10, 2025
## [1.0.0-beta.14] - 2025-06-10

### 💥 BREAKING CHANGES

- refactor!: move preserveEntrySignatures from output to input options
by @IWANABETHATGUY in
[#4871](#4871)

### 🚀 Features

- feat(strictExecutionOrder): no need to generate plain chunk imports
for addressing side effects by @hyf0 in
[#4890](#4890)
- feat: make wasm fallback plugin callable in node by @shulaoda in
[#4885](#4885)
- feat(rolldown_plugin_module_preload_polyfill): align with
`rolldown-vite` by @shulaoda in
[#4884](#4884)
- feat(attachDebugInfo): improve format and distinguish dynamic entries
by @hyf0 in [#4861](#4861)

### 🐛 Bug Fixes

- fix(binding): preserveModules infinity loop by @Brooooooklyn in
[#4879](#4879)
- fix: dynamic import does not return exports when
preserveEntrySignatures: false is set and the importee is an entry by
@IWANABETHATGUY in
[#4891](#4891)
- fix: preserveEntrySignatures panics with an edge case by
@IWANABETHATGUY in
[#4877](#4877)
- fix: directives are missing with `preserveModules` by @IWANABETHATGUY
in [#4876](#4876)
- fix: exports from dynamically imported chunks are removed by
@IWANABETHATGUY in
[#4875](#4875)

### 🚜 Refactor

- refactor: clearify Chunk entry kind by @IWANABETHATGUY in
[#4892](#4892)
- refactor(rolldown_plugin_build_import_analysis): align the logic with
`rolldown-vite` by @shulaoda in
[#4856](#4856)

### 📚 Documentation

- docs(contrib-guide): add HMR testing section by @sapphi-red in
[#4888](#4888)
- docs(guide): update release channels - remove nightly, add pkg.pr.new
by @Boshen in [#4881](#4881)

### 🧪 Testing

- test: rename `rolldown/topics/hmr/mutiply-entires` to snake case by
@sapphi-red in [#4889](#4889)
- test: add test for #4849 by @sapphi-red in
[#4887](#4887)
- test: setup infra for hmr tests by @sapphi-red in
[#4886](#4886)

### ⚙️ Miscellaneous Tasks

- ci: disable publish to nightly by @Boshen in
[#4874](#4874)
- ci: extend Vite tests timeout by @sapphi-red in
[#4870](#4870)
- fix publish-to-npm.yml by @Boshen

### ◀️ Revert

- revert: "refactor(rolldown_plugin_load_fallback): align with
rolldown-vite" by @shulaoda in
[#4868](#4868)

Co-authored-by: shulaoda <165626830+shulaoda@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants