Skip to content

Conversation

@Brooooooklyn
Copy link
Member

No description provided.

Copy link
Member Author


How to use the Graphite Merge Queue

Add 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.

@netlify
Copy link

netlify bot commented Oct 24, 2025

Deploy Preview for rolldown-rs ready!

Name Link
🔨 Latest commit 938dcbe
🔍 Latest deploy log https://app.netlify.com/projects/rolldown-rs/deploys/6900e0f2ad9327000844ac03
😎 Deploy Preview https://deploy-preview-6688--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.

@Brooooooklyn Brooooooklyn force-pushed the 10-24-chore_rolldown_change_the_napi-rs_binding_file_to_the_cjs branch 4 times, most recently from 9e6ae26 to 1049a4b Compare October 28, 2025 14:02
@Brooooooklyn Brooooooklyn requested a review from Copilot October 28, 2025 14:02
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR updates the NAPI-RS binding file from ESM (.js) to CommonJS (.cjs) format and upgrades the @napi-rs/cli dependency. The changes involve updating all import paths throughout the codebase to reference binding.cjs instead of binding.js, modifying the binding file generation process, and refactoring the build system to use the programmatic NAPI-RS CLI API.

Key changes:

  • Updated @napi-rs/cli from version ^3.4.0 to ^3.4.1
  • Changed binding file format from ESM to CommonJS (.js.cjs, .d.ts.d.cts)
  • Refactored build process to use NAPI-RS programmatic API instead of spawning CLI commands
  • Created new CopyAddonPlugin to handle copying of addon files during build

Reviewed Changes

Copilot reviewed 58 out of 60 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
pnpm-workspace.yaml Updated @napi-rs/cli version
packages/rolldown/src/binding.cjs Converted from ESM exports to CommonJS module.exports
packages/rolldown/src/**/*.ts Updated all imports to reference binding.cjs
packages/rolldown/build-binding.ts Refactored to use NAPI-RS programmatic API
packages/rolldown/build.ts Removed copy() function, added CopyAddonPlugin
packages/rolldown/copy-addon-plugin.ts New plugin for handling addon file copying
knip.jsonc, dprint.json Updated config paths to binding.cjs
examples/chunk-import-map/index.html Added importmap content
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Brooooooklyn Brooooooklyn force-pushed the 10-24-chore_rolldown_change_the_napi-rs_binding_file_to_the_cjs branch from 1049a4b to 882d5bb Compare October 28, 2025 14:06
@Brooooooklyn Brooooooklyn requested a review from hyf0 October 28, 2025 14:50
@hyf0 hyf0 requested a review from Copilot October 28, 2025 14:59
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 57 out of 59 changed files in this pull request and generated 1 comment.

Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@pkg-pr-new
Copy link

pkg-pr-new bot commented Oct 28, 2025

Open in StackBlitz

@rolldown/browser

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

@rolldown/debug

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

@rolldown/pluginutils

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

rolldown

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

@rolldown/binding-android-arm64

npm i https://pkg.pr.new/@rolldown/binding-android-arm64@6688

@rolldown/binding-darwin-arm64

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

@rolldown/binding-darwin-x64

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

@rolldown/binding-freebsd-x64

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

@rolldown/binding-linux-arm-gnueabihf

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

@rolldown/binding-linux-arm64-gnu

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

@rolldown/binding-linux-arm64-musl

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

@rolldown/binding-linux-x64-gnu

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

@rolldown/binding-linux-x64-musl

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

@rolldown/binding-openharmony-arm64

npm i https://pkg.pr.new/@rolldown/binding-openharmony-arm64@6688

@rolldown/binding-wasm32-wasi

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

@rolldown/binding-win32-arm64-msvc

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

@rolldown/binding-win32-ia32-msvc

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

@rolldown/binding-win32-x64-msvc

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

commit: 882d5bb

Copy link
Member

hyf0 commented Oct 28, 2025

Merge activity

@graphite-app graphite-app bot force-pushed the 10-24-chore_rolldown_change_the_napi-rs_binding_file_to_the_cjs branch from 882d5bb to 938dcbe Compare October 28, 2025 15:27
@graphite-app graphite-app bot merged commit 938dcbe into main Oct 28, 2025
25 checks passed
@graphite-app graphite-app bot deleted the 10-24-chore_rolldown_change_the_napi-rs_binding_file_to_the_cjs branch October 28, 2025 15:42
@github-actions github-actions bot mentioned this pull request Nov 3, 2025
shulaoda added a commit that referenced this pull request Nov 3, 2025
## [1.0.0-beta.46] - 2025-11-03

### 💥 BREAKING CHANGES

- default `preserveEntrySignatures` to `'exports-only'` to align with
Rollup (#6723) by @Copilot

### 🚀 Features

- link to docs for commonjs prefer_builtin_feature diagnostic (#6793) by
@sapphi-red
- rolldown_plugin_build_import_analysis: align partial logic (#6789) by
@shulaoda
- improve `EVAL` warning message (#6776) by @sapphi-red
- rolldown: oxc v0.96.0 (#6774) by @Boshen
- rolldown_plugin_build_import_analysis: align partial logic (#6773) by
@shulaoda
- skip `__toESM` when not needed to reduce output size (#6751) by
@Copilot
- improve `EMPTY_IMPORT_META` warning message (#6761) by @sapphi-red
- rolldown_plugin_build_import_analysis: align no preload logic (#6762)
by @shulaoda
- rolldown_plugin_vite_css_post: align `RemovedPureCSSFilesCache` logic
(#6745) by @shulaoda
- rolldown_plugin_build_import_analysis: initialize `generateBundle`
logic (#6744) by @shulaoda
- experimental: introduce `freeExternalMemory` to free external memory
immediately (#6721) by @hyf0

### 🐛 Bug Fixes

- plugins: wrap replacePlugin with makeBuiltinPluginCallable (#6782) by
@huang-julien
- debug: make sure `this.resolve` is also tracked under corresponding
session (#6798) by @hyf0
- legal comments above directives are not preserved (#6787) by @shulaoda
- panic when rendering exports to other chunks (#6765) by @Copilot
- transform/inject: escape special characters in import source (#6778)
by @Copilot
- handle default exports from CJS modules correctly (#6767) by
@IWANABETHATGUY
- rolldown_plugin_build_import_analysis: correct aligned logic (#6768)
by @shulaoda
- duplicate default export when using both import and require (#6764) by
@Copilot
- handle arbitrary module namespace identifiers in
`preserveEntrySignatures: 'allow-extension'` (#6753) by @Copilot
- TypeError when loading CJS files after bundling mixed CJS+TS project
(#6743) by @IWANABETHATGUY
- add warnings for import.meta.dirname/filename/url in UMD and IIFE
formats (#6747) by @Copilot
- rolldown_plugin_manifest: should keep `names` field (#6742) by
@shulaoda
- legal comments above import statements are not preserved (#6717) by
@shulaoda
- remove redundant node check in dynamic entry graph construction
(#6730) by @IWANABETHATGUY

### 🚜 Refactor

- remove unnecessary `#[napi(gettter)]`, use function call directly
(#6694) by @hyf0
- explain the reason if memory doesn't get dropped by
`freeExternalMemory` (#6781) by @hyf0
- pre compute exports (#6755) by @IWANABETHATGUY
- dev: receive an interface for DevRuntime rather than WebSocket
directly (#6734) by @sapphi-red
- dev: fix types for the runtime file and expose it properly (#6731) by
@sapphi-red

### 📚 Documentation

- fix magicstring credit (#6812) by @TheAlexLichter
- in-depth/bundling-cjs: wrap some sections with caveats section (#6796)
by @sapphi-red
- in-depth/bundling-cjs: add "Ambiguous `default` import from CJS
modules" section (#6795) by @sapphi-red
- in-depth/bundling-cjs: make `esmExternalRequirePlugin` link more
prominent (#6792) by @sapphi-red
- add explanation about direct eval (#6775) by @sapphi-red
- add "Non-ESM Output Formats" page (#6760) by @sapphi-red
- use oxc for benchmark comparison in native magic string doc (#6740) by
@sapphi-red
- polish `cleanDir` option (#6741) by @hyf0
- fix image in native magic string doc (#6739) by @sapphi-red
- update description about `attachDebugInfo: 'none'` (#6738) by
@IWANABETHATGUY
- add warning about cleanDir behavior with multiple configs (#6735) by
@Copilot

### 🧪 Testing

- skip paths function test (#6771) by @IWANABETHATGUY
- rust/dev: add test about recover from initial build error (#6567) by
@hyf0

### ⚙️ Miscellaneous Tasks

- correct prepare release binding file (#6817) by @shulaoda
- deps: update github-actions (#6806) by @renovate[bot]
- deps: lock file maintenance npm packages (#6814) by @renovate[bot]
- use correct node version (#6809) by @shulaoda
- deps: lock file maintenance rust crates (#6815) by @renovate[bot]
- deps: update npm packages (major) (#6813) by @renovate[bot]
- deps: update dependency dprint-typescript to v0.95.12 (#6805) by
@renovate[bot]
- fix typo (#6801) by @iiio2
- fix typo in is_import_expr_ignored_by_comment method name (#6797) by
@sapphi-red
- deps: update crate-ci/typos action to v1.39.0 (#6794) by
@renovate[bot]
- deps: upgrade Rust to v1.91.0 and fix new clippy lints (#6785) by
@Copilot
- allow dprint to format `packages/rolldown/tests` except diagnostics
directory (#6772) by @Copilot
- deps: update dependency tsdown to v0.15.12 (#6759) by @renovate[bot]
- deps: update dependency rolldown-plugin-dts to v0.17.3 (#6758) by
@renovate[bot]
- test/dev: collect multiple build outputs for each step (#6736) by
@hyf0
- rolldown: change the NAPI-RS binding file to the cjs (#6688) by
@Brooooooklyn
- test: automatically run extra test with `preserve_entry_signatures:
'allow-extension'` (#6727) by @Copilot
- deps: update dependency rolldown-plugin-dts to v0.17.2 (#6732) by
@renovate[bot]
- fix node validation (#6728) by @shulaoda
- deps: lock file maintenance rust crates (#6636) by @renovate[bot]
- deps: update dependency tsdown to v0.15.11 (#6725) by @renovate[bot]

### ❤️ New Contributors

* @huang-julien made their first contribution in
[#6782](#6782)

Co-authored-by: shulaoda <[email protected]>
sxzz added a commit that referenced this pull request Nov 3, 2025
IWANABETHATGUY pushed a commit that referenced this pull request Nov 4, 2025
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.

3 participants