Skip to content

feat(plugin-solid): support for Solid v2 - #7608

Merged
chenjiahan merged 14 commits into
mainfrom
solid-next
Aug 18, 2026
Merged

chenjiahan merged 14 commits into
mainfrom
solid-next

Conversation

@chenjiahan

@chenjiahan chenjiahan commented May 6, 2026 •

Copy link
Copy Markdown
Member

Summary

This draft PR tracks the development of @rsbuild/plugin-solid v2 for Solid v2. The stable v1 plugin remains on main, while solid-next is used for v2 prereleases.

Current status

  • Released @rsbuild/plugin-solid@2.0.0-beta.1 with initial Solid v2 RC support.
  • Updated the Solid dependencies and replaced solid-refresh with a refresh loader based on @dom-expressions/compiler.
  • Updated the Solid templates, example, and e2e fixtures to use @solidjs/web.

Next steps

Continue adapting to Solid v2 RC and implementing the remaining features and tests. Once v2 is ready for stable use, create solid-1.x for v1 maintenance, merge solid-next into main, and publish v2 under the latest tag.

Copilot AI review requested due to automatic review settings May 6, 2026 11:10

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 08bfdeb945

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/create-rsbuild/template-solid-js/package.json Outdated

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request migrates the Solid.js plugin and templates to support Solid v2 beta, which involves updating imports to @solidjs/web and adjusting dependency versions. Additionally, the project is upgraded to pnpm v11 and workspace build settings are modified in pnpm-workspace.yaml. Reviewer feedback recommends using less restrictive version ranges (using the caret ^) for Solid-related dependencies and peer dependencies to ensure compatibility with the final v2 release.

Comment thread packages/plugin-solid/package.json Outdated
Comment thread packages/plugin-solid/package.json Outdated
Comment thread packages/create-rsbuild/template-solid-js/package.json Outdated
Comment thread packages/create-rsbuild/template-solid-ts/package.json Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 Solid-related ecosystem in the repo to target Solid v2 (beta) by switching runtime imports to @solidjs/web and aligning dependencies across templates, examples, and e2e coverage. It also updates the workspace/tooling baseline by bumping pnpm and refreshing the lockfile/config.

Changes:

  • Update Solid runtime imports from solid-js/web to @solidjs/web in templates, examples, and e2e cases.
  • Bump Solid-related dependencies (e.g. solid-js, @solidjs/web, babel-preset-solid, solid-refresh) to Solid v2 beta-compatible ranges.
  • Update pnpm tooling/config (packageManager/engines, workspace settings, lockfile format).

Reviewed changes

Copilot reviewed 15 out of 16 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
pnpm-workspace.yaml Adds pnpm workspace settings related to builds and release-age exclusions.
pnpm-lock.yaml Updates lockfile for pnpm 11 and Solid v2 dependency graph changes.
packages/plugin-solid/package.json Updates plugin version and Solid v2-related dependency/peerDependency declarations.
packages/create-rsbuild/template-solid-ts/src/index.tsx Switches Solid render import to @solidjs/web.
packages/create-rsbuild/template-solid-ts/package.json Updates Solid dependencies to v2 beta ranges and adds @solidjs/web.
packages/create-rsbuild/template-solid-js/src/index.jsx Switches Solid render import to @solidjs/web.
packages/create-rsbuild/template-solid-js/package.json Updates Solid dependencies to v2 beta ranges and adds @solidjs/web.
package.json Bumps pnpm version/engine requirement.
examples/solid/src/index.jsx Switches Solid render import to @solidjs/web.
examples/solid/package.json Updates Solid dependencies to v2 beta ranges and adds @solidjs/web.
e2e/package.json Updates Solid dependencies for e2e to v2 beta ranges and adds @solidjs/web.
e2e/cases/plugin-solid/ts/src/index.ts Switches Solid render import to @solidjs/web.
e2e/cases/plugin-solid/stylus/src/index.js Switches Solid render import to @solidjs/web.
e2e/cases/plugin-solid/scss/src/index.js Switches Solid render import to @solidjs/web.
e2e/cases/plugin-solid/ref/src/index.jsx Switches Solid render import to @solidjs/web.
e2e/cases/plugin-solid/less/src/index.js Switches Solid render import to @solidjs/web.
e2e/cases/plugin-solid/hmr/src/index.jsx Switches Solid render import to @solidjs/web.
e2e/cases/plugin-solid/basic/src/index.js Switches Solid render import to @solidjs/web.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

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

Comment thread packages/plugin-solid/package.json
Comment thread packages/plugin-solid/package.json Outdated
Comment thread packages/create-rsbuild/template-solid-ts/package.json Outdated
Comment thread packages/create-rsbuild/template-solid-js/package.json Outdated
Comment thread examples/solid/package.json Outdated
Comment thread e2e/package.json Outdated
Copilot AI review requested due to automatic review settings May 6, 2026 13:22

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 16 out of 17 changed files in this pull request and generated 2 comments.

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

Comment thread packages/plugin-solid/package.json
Comment thread packages/plugin-solid/package.json Outdated
@chenjiahan
chenjiahan marked this pull request as draft May 6, 2026 13:46
@birkskyum

Copy link
Copy Markdown

cc @brenelz

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 17, 2026 •

Copy link
Copy Markdown

Deploying rsbuild with  Cloudflare Pages  Cloudflare Pages

Latest commit: b0d3962
Status: ✅  Deploy successful!
Preview URL: https://2cd2d356.rsbuild-v2.pages.dev
Branch Preview URL: https://solid-next.rsbuild-v2.pages.dev

View logs

# Conflicts:
#	packages/create-rsbuild/template-solid-js/package.json
#	packages/create-rsbuild/template-solid-ts/package.json
@chenjiahan
chenjiahan marked this pull request as ready for review August 18, 2026 09:07
@chenjiahan
chenjiahan merged commit 54ef75a into main Aug 18, 2026
7 checks passed
@chenjiahan
chenjiahan deleted the solid-next branch August 18, 2026 09:17
@SoonIter

Copy link
Copy Markdown
Member

<agent: daily-job rstack ecosystem-ci>

Ecosystem CI regression: rsbuild/rslib

Attribution: Confirmed source

Impact: Rslib's solid-component-bundle example can no longer resolve @solidjs/web after ecosystem CI injects the selected Rsbuild workspace packages.

Why this PR

This PR changes @rsbuild/plugin-solid to the Solid 2 toolchain and adds peer requirements for @solidjs/web@^2.0.0-rc.0 and solid-js@^2.0.0-rc.0. Ecosystem CI replaces the downstream fixture's Rsbuild packages with this workspace build, while the Rslib fixture still declares Solid 1 and does not install @solidjs/web; the generated code therefore imports a package absent from its graph. The immediately preceding Rsbuild run passed the same Rslib suite, and the exact missing-module signature starts at this merge.

Suggested next step

The Rslib/example owner should migrate the fixture atomically to Solid 2 and add @solidjs/web, or the ecosystem override should avoid injecting an incompatible major plugin into Solid 1 consumers. Verify the focused solid-component-bundle build and pnpm test --stack rsbuild rslib.

Evidence and attribution checks

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.

4 participants