Skip to content

feat(js): expose experimental.incrementalBuild option#5300

Merged
IWANABETHATGUY merged 1 commit intomainfrom
07-16-feat_js_expose_experimental.incrementalbuild_option
Jul 16, 2025
Merged

feat(js): expose experimental.incrementalBuild option#5300
IWANABETHATGUY merged 1 commit intomainfrom
07-16-feat_js_expose_experimental.incrementalbuild_option

Conversation

@IWANABETHATGUY
Copy link
Member

@IWANABETHATGUY IWANABETHATGUY commented Jul 16, 2025

Closed #5252

@IWANABETHATGUY IWANABETHATGUY marked this pull request as ready for review July 16, 2025 07:55
Copy link
Member Author

IWANABETHATGUY commented Jul 16, 2025

@graphite-app graphite-app bot changed the base branch from 07-16-feat_js_support_experimental.ondemandwrapping_option to graphite-base/5300 July 16, 2025 07:55
@IWANABETHATGUY IWANABETHATGUY force-pushed the 07-16-feat_js_expose_experimental.incrementalbuild_option branch from af64254 to 1e60f7e Compare July 16, 2025 07:56
@IWANABETHATGUY IWANABETHATGUY changed the base branch from graphite-base/5300 to 07-16-feat_js_support_experimental.ondemandwrapping_option July 16, 2025 07:56
@IWANABETHATGUY IWANABETHATGUY requested review from hyf0 and shulaoda July 16, 2025 07:58
@IWANABETHATGUY
Copy link
Member Author

Just reusing the JS side watch test is enough, unlike HMR (which needs to inspect the intermediate output), incremental watch build only care the finaly output correctness.

Base automatically changed from 07-16-feat_js_support_experimental.ondemandwrapping_option to main July 16, 2025 08:15
@IWANABETHATGUY IWANABETHATGUY force-pushed the 07-16-feat_js_expose_experimental.incrementalbuild_option branch from 1e60f7e to 89dcc99 Compare July 16, 2025 08:48
@graphite-app
Copy link
Contributor

graphite-app bot commented Jul 16, 2025

Merge activity

  • Jul 16, 8:48 AM UTC: Graphite rebased this pull request, because this pull request is set to merge when ready.

@netlify
Copy link

netlify bot commented Jul 16, 2025

Deploy Preview for rolldown-rs ready!

Name Link
🔨 Latest commit 89dcc99
🔍 Latest deploy log https://app.netlify.com/projects/rolldown-rs/deploys/68776758a0dbb90008c282ce
😎 Deploy Preview https://deploy-preview-5300--rolldown-rs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@IWANABETHATGUY IWANABETHATGUY added this pull request to the merge queue Jul 16, 2025
@github-actions
Copy link
Contributor

Benchmarks Rust

  • target: main(57a4bea)
  • pr: 07-16-feat_js_expose_experimental.incrementalbuild_option(89dcc99)
group                                                        pr                                     target
-----                                                        --                                     ------
bundle/bundle@multi-duplicated-top-level-symbol              1.01     75.5±1.87ms        ? ?/sec    1.00     74.5±1.68ms        ? ?/sec
bundle/bundle@multi-duplicated-top-level-symbol-sourcemap    1.02     86.6±1.91ms        ? ?/sec    1.00     84.7±1.11ms        ? ?/sec
bundle/bundle@rome_ts                                        1.01    115.5±4.18ms        ? ?/sec    1.00    114.2±2.13ms        ? ?/sec
bundle/bundle@rome_ts-sourcemap                              1.01    137.1±2.01ms        ? ?/sec    1.00    135.6±1.58ms        ? ?/sec
bundle/bundle@threejs                                        1.02     42.0±2.64ms        ? ?/sec    1.00     41.3±1.48ms        ? ?/sec
bundle/bundle@threejs-sourcemap                              1.00     51.4±1.40ms        ? ?/sec    1.00     51.7±0.72ms        ? ?/sec
bundle/bundle@threejs10x                                     1.00    437.9±4.81ms        ? ?/sec    1.00    436.1±4.99ms        ? ?/sec
bundle/bundle@threejs10x-sourcemap                           1.01    528.7±5.55ms        ? ?/sec    1.00    525.1±5.15ms        ? ?/sec
scan/scan@rome_ts                                            1.00     87.9±1.34ms        ? ?/sec    1.01     88.9±1.59ms        ? ?/sec
scan/scan@threejs                                            1.00     30.9±1.98ms        ? ?/sec    1.00     30.8±0.84ms        ? ?/sec
scan/scan@threejs10x                                         1.00    322.1±3.46ms        ? ?/sec    1.00    323.0±3.56ms        ? ?/sec

Merged via the queue into main with commit 1eb7786 Jul 16, 2025
22 checks passed
@IWANABETHATGUY IWANABETHATGUY deleted the 07-16-feat_js_expose_experimental.incrementalbuild_option branch July 16, 2025 09:02
This was referenced Jul 17, 2025
shulaoda pushed a commit that referenced this pull request Jul 17, 2025
## [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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

incremental watch test infra

2 participants