chore: migrate @rolldown/pluginutils to rolldown/plugins#9317
Merged
shulaoda merged 6 commits intoMay 12, 2026
Conversation
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
✅ Deploy Preview for rolldown-rs canceled.
|
ca21f76 to
a755333
Compare
shulaoda
commented
May 12, 2026
71abf5e to
5d7da6d
Compare
sapphi-red
approved these changes
May 12, 2026
Member
|
cc @rolldown/rolldown so that you are aware |
Merged
shulaoda
added a commit
that referenced
this pull request
May 13, 2026
## [1.0.1] - 2026-05-13 ### 🚀 Features - experimental/lazy-barrel: advice on oversized barrel modules (#9236) by @shulaoda - rolldown: inline optional-chain enum access (#9379) by @Dunqing - chunk-optimization: dedupe already-loaded dynamic deps (#9305) by @IWANABETHATGUY - binding: call moduleParsed hook in ParallelJsPlugin (#9318) by @jaehafe ### 🐛 Bug Fixes - transform: enable `enum_eval` for `transformSync` and vite TS transform (#9325) by @Dunqing - error: remove severity prefix from diagnostic messages (#9262) by @Kyujenius - deps: pin pnpm to 10.23.0 to work around catalog mismatch on Netlify (#9364) by @shulaoda - ci: pin mimalloc-safe to 0.1.58 (#9361) by @shulaoda - dev/lazy: fix exports of lazy requests in lazy chunks (#9249) by @h-a-n-a - rolldown_plugin_vite_resolve: handle errors in `resolveSubpathImports` callback (#9355) by @sapphi-red - rolldown_plugin_lazy_compilation: use loadExports for fetched proxy to preserve original export names (#9132) by @h-a-n-a - common: include offending index in HybridIndexVec panic message (#9296) by @SAY-5 ### 🚜 Refactor - ecmascript: extract semantic_builder_for_transform helper (#9326) by @Dunqing - test: extract reusable static-import-cycle helper (#9332) by @IWANABETHATGUY ### 📚 Documentation - clarify scope of `topLevelVar` (#9380) by @IWANABETHATGUY - meta/design: add ast-mutation design doc (#9338) by @hyf0 - feat: add ai policy in contribution guide (#9315) by @mdong1909 ### ⚡ Performance - binding: enable mimalloc v3 to reduce idle memory (#9349) by @shulaoda ### 🧪 Testing - mcs: cover require() in `$initial` group (#9376) by @hyf0 - add regression for CJS facade chunk merge into entry (#9351) by @IWANABETHATGUY ### ⚙️ Miscellaneous Tasks - switch prepare-release to manual dispatch with version input (#9383) by @shulaoda - migrate `@rolldown/pluginutils` to `rolldown/plugins` (#9317) by @shulaoda - deps: pin libmimalloc-sys2 to 0.1.54 (#9372) by @shulaoda - replace `igorskyflyer/action-readfile` with `cat` (#9369) by @sapphi-red - deps: update test262 submodule for tests (#9371) by @rolldown-guard[bot] - use app token for test dep update PRs (#9368) by @sapphi-red - replace some actions with gh commands (#9367) by @sapphi-red - replace action-semantic-pull-request with inline regex (#9366) by @sapphi-red - remove pull_request_target workflows (#9188) by @Boshen - deps: upgrade oxc to 0.130.0 (#9360) by @shulaoda - deps: update github actions (major) (#9348) by @renovate[bot] - deps: update github actions (#9341) by @renovate[bot] - deps: update rust crates (#9344) by @renovate[bot] - deps: update crate-ci/typos action to v1.46.1 (#9357) by @renovate[bot] - deps: update npm packages (#9343) by @renovate[bot] - deps: update pnpm to v10.33.4 (#9347) by @renovate[bot] - deps: update dependency rolldown-plugin-dts to ^0.25.0 (#9346) by @renovate[bot] - .claude: add rolldown-repl encoder, rename decode skill (#9352) by @IWANABETHATGUY - deps: update crate-ci/typos action to v1.46.0 (#9345) by @renovate[bot] - deps: update napi to v3.8.6 (#9342) by @renovate[bot] - deps: update dependency vite-plus to v0.1.20 (#9340) by @renovate[bot] - enable rollup chunking-form test (#9335) by @IWANABETHATGUY - typo: fix typo in watcher options comment (#9324) by @thescripted ### ❤️ New Contributors * @Kyujenius made their first contribution in [#9262](#9262) * @SAY-5 made their first contribution in [#9296](#9296) * @thescripted made their first contribution in [#9324](#9324) Co-authored-by: shulaoda <[email protected]>
Boshen
added a commit
that referenced
this pull request
May 16, 2026
Closes #8579. Restores the WASI build and test pipeline that was removed in #8580 because the prior version was effectively a no-op: the Node Test and Rollup Test steps had `if: false` (added in #6154 but never enabled), and the Windows matrix entry only ran a step that was itself skipped on Windows. This version: - Drops the OS matrix to ubuntu-latest only. - Enables Node Test and Rollup Test, run with `NAPI_RS_FORCE_WASI=error` so a missing WASI binding hard-fails instead of falling back to native. - Modernizes the workflows to use `taiki-e/checkout-action`, `setup-vp`, and `vp run --filter` to match `reusable-node-test.yml`. - Drops `packages/pluginutils/dist` from the artifact upload, since `@rolldown/pluginutils` was migrated out in #9317. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
IWANABETHATGUY
pushed a commit
that referenced
this pull request
May 18, 2026
## PR description Closes #8653. `@rolldown/pluginutils` has been moved to https://github.com/rolldown/plugins so it can be released independently from `rolldown`. Companion PR: rolldown/plugins#61. ### Why Previously `@rolldown/pluginutils` shared rolldown's release cadence — every rolldown publish (`1.0.0-beta.53` … `1.0.0-rc.18` … `1.0.0`) produced a new pluginutils version. Because pnpm rewrites `workspace:*` to an **exact** version on publish and prerelease semver does not match across pre-releases (`^1.0.0-rc.16` does **not** match `1.0.0-rc.17`), every plugin pinned to an older rc forced an extra copy into `node_modules`. Users typically saw 3–4 copies of `@rolldown/pluginutils` resolved side by side. Decoupling the release cadence and depending on `^1.0.0` lets pnpm/npm dedupe across rolldown and any plugin that depends on pluginutils. ### Changes - `packages/rolldown/package.json`: dependency on `@rolldown/pluginutils` switched from `workspace:*` to `^1.0.0`. - `packages/pluginutils/`: removed (source now lives in `rolldown/plugins`). - `Justfile`: dropped the `build-pluginutils` target and removed it as a prereq from `build`, `build-rolldown`, `build-rolldown-wasi`, `build-rolldown-release`, `build-browser`, `build-browser-release`. - `.github/workflows/`: - `ci.yml`: removed the `pluginutils-changes` paths-filter and the `pluginutils-test` job; removed `Build @rolldown/pluginutils` steps in `node-validation` and `docs-validation`. - `publish-to-npm.yml`: removed the pluginutils artifact download. - `reusable-release-build.yml`: removed the `build-rolldown-pluginutils` job and the dependent download steps in `build-node-packages` / `build-rolldown-browser`. - `reusable-native-build.yml`: dropped `packages/pluginutils/dist` from the artifact upload path. - `publish-to-pkg.pr.new.yml`: removed the pluginutils artifact download and dropped `./packages/pluginutils` from the `pkg-pr-new` publish list. - `scripts/misc/published-package-check.mjs`: removed `packages/pluginutils` from `packagesNeedToPublish`.
IWANABETHATGUY
pushed a commit
that referenced
this pull request
May 18, 2026
## [1.0.1] - 2026-05-13 ### 🚀 Features - experimental/lazy-barrel: advice on oversized barrel modules (#9236) by @shulaoda - rolldown: inline optional-chain enum access (#9379) by @Dunqing - chunk-optimization: dedupe already-loaded dynamic deps (#9305) by @IWANABETHATGUY - binding: call moduleParsed hook in ParallelJsPlugin (#9318) by @jaehafe ### 🐛 Bug Fixes - transform: enable `enum_eval` for `transformSync` and vite TS transform (#9325) by @Dunqing - error: remove severity prefix from diagnostic messages (#9262) by @Kyujenius - deps: pin pnpm to 10.23.0 to work around catalog mismatch on Netlify (#9364) by @shulaoda - ci: pin mimalloc-safe to 0.1.58 (#9361) by @shulaoda - dev/lazy: fix exports of lazy requests in lazy chunks (#9249) by @h-a-n-a - rolldown_plugin_vite_resolve: handle errors in `resolveSubpathImports` callback (#9355) by @sapphi-red - rolldown_plugin_lazy_compilation: use loadExports for fetched proxy to preserve original export names (#9132) by @h-a-n-a - common: include offending index in HybridIndexVec panic message (#9296) by @SAY-5 ### 🚜 Refactor - ecmascript: extract semantic_builder_for_transform helper (#9326) by @Dunqing - test: extract reusable static-import-cycle helper (#9332) by @IWANABETHATGUY ### 📚 Documentation - clarify scope of `topLevelVar` (#9380) by @IWANABETHATGUY - meta/design: add ast-mutation design doc (#9338) by @hyf0 - feat: add ai policy in contribution guide (#9315) by @mdong1909 ### ⚡ Performance - binding: enable mimalloc v3 to reduce idle memory (#9349) by @shulaoda ### 🧪 Testing - mcs: cover require() in `$initial` group (#9376) by @hyf0 - add regression for CJS facade chunk merge into entry (#9351) by @IWANABETHATGUY ### ⚙️ Miscellaneous Tasks - switch prepare-release to manual dispatch with version input (#9383) by @shulaoda - migrate `@rolldown/pluginutils` to `rolldown/plugins` (#9317) by @shulaoda - deps: pin libmimalloc-sys2 to 0.1.54 (#9372) by @shulaoda - replace `igorskyflyer/action-readfile` with `cat` (#9369) by @sapphi-red - deps: update test262 submodule for tests (#9371) by @rolldown-guard[bot] - use app token for test dep update PRs (#9368) by @sapphi-red - replace some actions with gh commands (#9367) by @sapphi-red - replace action-semantic-pull-request with inline regex (#9366) by @sapphi-red - remove pull_request_target workflows (#9188) by @Boshen - deps: upgrade oxc to 0.130.0 (#9360) by @shulaoda - deps: update github actions (major) (#9348) by @renovate[bot] - deps: update github actions (#9341) by @renovate[bot] - deps: update rust crates (#9344) by @renovate[bot] - deps: update crate-ci/typos action to v1.46.1 (#9357) by @renovate[bot] - deps: update npm packages (#9343) by @renovate[bot] - deps: update pnpm to v10.33.4 (#9347) by @renovate[bot] - deps: update dependency rolldown-plugin-dts to ^0.25.0 (#9346) by @renovate[bot] - .claude: add rolldown-repl encoder, rename decode skill (#9352) by @IWANABETHATGUY - deps: update crate-ci/typos action to v1.46.0 (#9345) by @renovate[bot] - deps: update napi to v3.8.6 (#9342) by @renovate[bot] - deps: update dependency vite-plus to v0.1.20 (#9340) by @renovate[bot] - enable rollup chunking-form test (#9335) by @IWANABETHATGUY - typo: fix typo in watcher options comment (#9324) by @thescripted ### ❤️ New Contributors * @Kyujenius made their first contribution in [#9262](#9262) * @SAY-5 made their first contribution in [#9296](#9296) * @thescripted made their first contribution in [#9324](#9324) Co-authored-by: shulaoda <[email protected]>
fengmk2
pushed a commit
to voidzero-dev/vite-plus
that referenced
this pull request
May 22, 2026
## Summary - `@rolldown/pluginutils` has been extracted from the rolldown repo into a standalone package (rolldown/rolldown#9317), so it is no longer a workspace member. - Remove the `vp run @rolldown/pluginutils#build` step from the `build:src` task in `vite.config.ts` to keep it aligned with the root `pnpm build` script.
fengmk2
added a commit
to voidzero-dev/vite-plus
that referenced
this pull request
May 22, 2026
## Summary - `@rolldown/pluginutils` was extracted out of the rolldown repo in rolldown/rolldown#9317 and is now consumed as a standalone npm dependency, so `packages/core/BUNDLING.md` no longer matches reality. - Update the `Overview` and `Source Directories` tables, plus the `Step 1` input path, to point to `rolldown/packages/rolldown/node_modules/@rolldown/pluginutils` — the actual path resolved by `packages/core/build.ts:33-43`. - Change the `Relation` column for `@rolldown/pluginutils` from `Git submodule` to `npm dependency` to reflect the new setup. Co-authored-by: MK (fengmk2) <[email protected]>
Boshen
added a commit
that referenced
this pull request
May 24, 2026
Closes #8579. Restores the WASI build and test pipeline that was removed in #8580 because the prior version was effectively a no-op: the Node Test and Rollup Test steps had `if: false` (added in #6154 but never enabled), and the Windows matrix entry only ran a step that was itself skipped on Windows. This version: - Drops the OS matrix to ubuntu-latest only. - Enables Node Test and Rollup Test, run with `NAPI_RS_FORCE_WASI=error` so a missing WASI binding hard-fails instead of falling back to native. - Modernizes the workflows to use `taiki-e/checkout-action`, `setup-vp`, and `vp run --filter` to match `reusable-node-test.yml`. - Drops `packages/pluginutils/dist` from the artifact upload, since `@rolldown/pluginutils` was migrated out in #9317. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Boshen
added a commit
that referenced
this pull request
May 27, 2026
Closes #8579. Restores the WASI build and test pipeline that was removed in #8580 because the prior version was effectively a no-op: the Node Test and Rollup Test steps had `if: false` (added in #6154 but never enabled), and the Windows matrix entry only ran a step that was itself skipped on Windows. This version: - Drops the OS matrix to ubuntu-latest only. - Enables Node Test and Rollup Test, run with `NAPI_RS_FORCE_WASI=error` so a missing WASI binding hard-fails instead of falling back to native. - Modernizes the workflows to use `taiki-e/checkout-action`, `setup-vp`, and `vp run --filter` to match `reusable-node-test.yml`. - Drops `packages/pluginutils/dist` from the artifact upload, since `@rolldown/pluginutils` was migrated out in #9317. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Boshen
added a commit
that referenced
this pull request
May 27, 2026
## Summary Closes #8579. Restores the WASI build and test pipeline that was removed in #8580 because the prior version was effectively a no-op: the `Node Test` and `Rollup Test` steps had `if: false` (added in #6154 but never enabled), and the Windows matrix entry only ran a step that was itself skipped on Windows. This PR: - **Drops the OS matrix to `ubuntu-latest` only.** Per maintainer comment on a related issue ("linux only is ok"); also removes the Windows no-op. - **Enables `Node Test`, `Rollup Test`, and `Build Examples`,** run with `NAPI_RS_FORCE_WASI=error` so a missing WASI binding hard-fails (`packages/rolldown/src/binding.cjs:554`) instead of silently falling back to native. - **Drops `packages/pluginutils/dist` from the artifact upload,** since `@rolldown/pluginutils` was migrated out in #9317. ### Why `pnpm` rather than `vp` in the test steps `vp` is itself a napi-rs binary, and its loader also respects `NAPI_RS_FORCE_WASI`. Setting that env at the step level breaks `vp` at startup before it can spawn the test runner, so the three env-bearing steps use `pnpm` directly. `corepack enable` (with `sudo` for `/usr/local/bin` shim writes) puts `pnpm` on PATH. ### Known limitation — `continue-on-error: true` on the test steps `NAPI_RS_FORCE_WASI=error` applies process-wide. The transitive `[email protected]` (pulled in by vitest/vite-plus) inherits the env and tries to load **its** WASI binding — `@rolldown/[email protected]`, a published optional dep that pnpm filters out on linux-x64 hosts. Attempts to force-install it via `--config.supported-architectures` (both as CLI flags and via `.npmrc`) didn't take effect because setup-vp's cached install state is restored before resolution re-runs, and `Lockfile is up to date, resolution step is skipped`. Marking these three steps `continue-on-error: true` for now so the rest of the infra lands. The build/artifact + binding loader smoke tests still gate the job. Fixing the transitive-binding issue is left as a **follow-up**. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR description
Closes #8653.
@rolldown/pluginutilshas been moved to https://github.com/rolldown/plugins so it can be released independently fromrolldown. Companion PR: rolldown/plugins#61.Why
Previously
@rolldown/pluginutilsshared rolldown's release cadence — every rolldown publish (1.0.0-beta.53…1.0.0-rc.18…1.0.0) produced a new pluginutils version. Because pnpm rewritesworkspace:*to an exact version on publish and prerelease semver does not match across pre-releases (^1.0.0-rc.16does not match1.0.0-rc.17), every plugin pinned to an older rc forced an extra copy intonode_modules. Users typically saw 3–4 copies of@rolldown/pluginutilsresolved side by side.Decoupling the release cadence and depending on
^1.0.0lets pnpm/npm dedupe across rolldown and any plugin that depends on pluginutils.Changes
packages/rolldown/package.json: dependency on@rolldown/pluginutilsswitched fromworkspace:*to^1.0.0.packages/pluginutils/: removed (source now lives inrolldown/plugins).Justfile: dropped thebuild-pluginutilstarget and removed it as a prereq frombuild,build-rolldown,build-rolldown-wasi,build-rolldown-release,build-browser,build-browser-release..github/workflows/:ci.yml: removed thepluginutils-changespaths-filter and thepluginutils-testjob; removedBuild @rolldown/pluginutilssteps innode-validationanddocs-validation.publish-to-npm.yml: removed the pluginutils artifact download.reusable-release-build.yml: removed thebuild-rolldown-pluginutilsjob and the dependent download steps inbuild-node-packages/build-rolldown-browser.reusable-native-build.yml: droppedpackages/pluginutils/distfrom the artifact upload path.publish-to-pkg.pr.new.yml: removed the pluginutils artifact download and dropped./packages/pluginutilsfrom thepkg-pr-newpublish list.scripts/misc/published-package-check.mjs: removedpackages/pluginutilsfrompackagesNeedToPublish.