Skip to content

feat(react-transform-rolldown): add native rolldown plugin#904

Open
JoviDeCroock wants to merge 5 commits intomainfrom
feat/react-transform-rolldown
Open

feat(react-transform-rolldown): add native rolldown plugin#904
JoviDeCroock wants to merge 5 commits intomainfrom
feat/react-transform-rolldown

Conversation

@JoviDeCroock
Copy link
Copy Markdown
Member

@JoviDeCroock JoviDeCroock commented Mar 15, 2026

migrated from rolldown/plugins#21

Summary

  • add a new @preact/signals-react-transform-rolldown package with version 0.0.0
  • port the native Rolldown React Signals transform and its transform/runtime coverage into the Signals monorepo
  • add workspace wiring and a minor changeset so the package can be built, tested, and released from this repo

Testing

  • pnpm --filter @preact/signals-react-transform-rolldown test
  • pnpm build:react-transform-rolldown

Port the React Signals transform to Rolldown so users can enable automatic signal subscriptions in Rolldown and Vite Rolldown builds without configuring Babel.
@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Mar 15, 2026

🦋 Changeset detected

Latest commit: f2c8f23

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@preact/signals-react-transform-rolldown Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@netlify
Copy link
Copy Markdown

netlify bot commented Mar 15, 2026

Deploy Preview for preact-signals-demo ready!

Name Link
🔨 Latest commit f2c8f23
🔍 Latest deploy log https://app.netlify.com/projects/preact-signals-demo/deploys/69b78d8924ffb600083a9941
😎 Deploy Preview https://deploy-preview-904--preact-signals-demo.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.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 15, 2026

Size Change: +18.7 kB (+11.73%) ⚠️

Total Size: 178 kB

Filename Size Change
packages/react-transform-rolldown/dist/index.js 6.18 kB +6.18 kB (new file) 🆕
packages/react-transform-rolldown/dist/index.mjs 6.18 kB +6.18 kB (new file) 🆕
packages/react-transform-rolldown/dist/index.umd.js 6.31 kB +6.31 kB (new file) 🆕
ℹ️ View Unchanged
Filename Size
docs/dist/assets/bench-********.js 1.6 kB
docs/dist/assets/client-********.js 46.6 kB
docs/dist/assets/devtools-********.js 907 B
docs/dist/assets/EmbeddedDevtools-********.js 16.6 kB
docs/dist/assets/index-********.js 834 B
docs/dist/assets/jsxRuntime.module-********.js 300 B
docs/dist/assets/preact.module-********.js 4.74 kB
docs/dist/assets/signals-core.module-********.js 1.85 kB
docs/dist/assets/signals.module-********.js 2.64 kB
docs/dist/assets/style-********.css 5.14 kB
docs/dist/assets/Unmount-********.js 649 B
docs/dist/assets/utils.module-********.js 431 B
docs/dist/basic-********.js 244 B
docs/dist/nesting-********.js 1.14 kB
docs/dist/react-********.js 242 B
packages/core/dist/signals-core.js 1.88 kB
packages/core/dist/signals-core.mjs 1.87 kB
packages/debug/dist/debug.js 4.58 kB
packages/debug/dist/debug.mjs 4.09 kB
packages/devtools-adapter/dist/devtools-adapter.js 2.17 kB
packages/devtools-adapter/dist/devtools-adapter.mjs 1.88 kB
packages/devtools-ui/dist/devtools-ui.js 15.2 kB
packages/devtools-ui/dist/devtools-ui.mjs 14.6 kB
packages/preact-transform/dist/signals-transform.js 1.3 kB
packages/preact-transform/dist/signals-transform.mjs 1.29 kB
packages/preact-transform/dist/signals-transform.umd.js 1.42 kB
packages/preact/dist/signals.js 1.81 kB
packages/preact/dist/signals.mjs 1.75 kB
packages/react-transform/dist/signals-transform.js 7.28 kB
packages/react-transform/dist/signals-transform.mjs 6.47 kB
packages/react-transform/dist/signals-transform.umd.js 7.39 kB
packages/react/dist/signals.js 214 B
packages/react/dist/signals.mjs 165 B

compressed-size-action

@JoviDeCroock JoviDeCroock marked this pull request as draft March 15, 2026 20:09
Pin the Rolldown package to the repo's existing React type versions so TypeScript resolves a single JSX type set and CI linting stays green.
Include prettier with the Rolldown transform package so the ported transform tests can run in CI without relying on unrelated workspace hoisting.
Use an exact React package path in the React 16 CI step so sibling packages with the same prefix are not picked up by Vitest.
Rely on the workspace Vitest setup instead of listing jsdom directly in the Rolldown transform package, while keeping its tests and repo checks passing.
@JoviDeCroock JoviDeCroock marked this pull request as ready for review March 16, 2026 04:59
Copy link
Copy Markdown
Member

@marvinhagemeister marvinhagemeister left a comment

Choose a reason for hiding this comment

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

LGTM

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.

2 participants