Skip to content

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

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

feat(react-transform-rolldown): add native rolldown plugin#904
JoviDeCroock wants to merge 6 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

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Mar 15, 2026

🦋 Changeset detected

Latest commit: 7a60b87

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

Name Link
🔨 Latest commit 7a60b87
🔍 Latest deploy log https://app.netlify.com/projects/preact-signals-demo/deploys/69cc09c646672300087e83de

@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
@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

Port the React Signals transform to Rolldown so users can enable automatic signal subscriptions in Rolldown and Vite Rolldown builds without configuring Babel.
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 force-pushed the feat/react-transform-rolldown branch from 67a06e1 to 7a60b87 Compare March 31, 2026 17:52
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