Skip to content

Upgrade solid-js to 2.0.0-rc.0 and rename vite-plugin-solid to @solidjs/vite-plugin - #8058

Merged
birkskyum merged 4 commits into
solid-router-v2-prefrom
upgrade-solidjs-rc-0
Aug 13, 2026
Merged

Upgrade solid-js to 2.0.0-rc.0 and rename vite-plugin-solid to @solidjs/vite-plugin#8058
birkskyum merged 4 commits into
solid-router-v2-prefrom
upgrade-solidjs-rc-0

Conversation

@brenelz

@brenelz brenelz commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

vite-plugin-solid has been renamed to @solidjs/vite-plugin. Its final release under the old name, 3.0.0-next.27, is a pure re-export shim over the new package (export * from '@solidjs/vite-plugin'), and next.28+ ships only under the new name. It is not npm-deprecated, so nothing warns you about the move.

The rename and the rc bump are forced together: @solidjs/vite-plugin@3.0.0-next.28 peer-requires solid-js/@solidjs/web ^2.0.0-rc.0, which 2.0.0-beta.32 does not satisfy.

Changes

  • solid-js, @solidjs/web, babel-preset-solid: 2.0.0-beta.32^2.0.0-rc.0
  • vite-plugin-solid@^3.0.0-next.23@solidjs/vite-plugin@^3.0.0-next.28 (~100 deps + ~140 config imports)
  • @tanstack/solid-query + @tanstack/solid-query-devtools^6.0.0-rc.0 (solid-query rc.0 peer-requires solid-js >=2.0.0-rc.0; devtools peer-requires solid-query ^6.0.0-rc.0, so the pair moves in lockstep)
  • @tanstack/query-core converged on 5.101.4

Why query-core had to move

@tanstack/solid-query depends on @tanstack/query-core@5.101.0, but the workspace catalog: override rewrites that to the catalog range, and pnpm had been reusing an already-present 5.99.0. Re-resolving solid-query produced a fresh 5.101.4, leaving two copies of query-core and two structurally incompatible QueryClient types — which failed @tanstack/solid-router-ssr-query's build with:

TS2322: Type 'QueryClient' (query-core@5.99.0) is not assignable to type 'QueryClient' (solid-query@6.0.0-rc.0)

Note that pnpm update on these also rewrote the catalog ranges themselves, so query-core/react-query/vue-query moved ^5.99.0^5.101.4 (all within the same 5.x line; the declared ranges now match what resolves).

Packages intentionally NOT changed

  • @tanstack/router-plugin is untouched. It detects the Solid JSX plugin by its Vite plugin name (solid), which the renamed package still registers, and its vite-plugin-solid peer is already optional — so it keeps working for both Solid 1 and Solid 2 consumers with no change and no release.
  • packages/router-devtools-core builds against Solid 1.9.12, and @solidjs/vite-plugin has no 2.x line — so its vite-plugin-solid@^2.11.10 devDependency and import stay put.

Note on @rsbuild/plugin-solid

@rsbuild/plugin-solid@2.0.0-beta.0 declares babel-preset-solid: >=2.0.0-beta.0 <2.0.0-experimental.0. That upper bound excludes rc versions, since semver sorts beta < experimental < rc — so it tops out at babel-preset-solid@2.0.0-beta.34. This is harmless today because beta.34 and rc.0 both pin @dom-expressions/babel-plugin-jsx@0.50.0-next.42, i.e. identical codegen, but it's worth re-checking on the next rc. (This is the same trap that led Solid to switch @solidjs/vite-plugin to a ^2.0.0-rc.0 peer.)

Verification

  • build, test:types (ts56–ts70), test:unit (1611 passed), test:eslint (0 errors) across the six @tanstack/solid-* packages
  • e2e/solid-start/basic: 80 passed, 4 skipped
  • e2e/solid-start/deferred-hydration: 15 passed (covers the rsbuild/babel path)
  • e2e/solid-start/basic-solid-query: 6 passed
  • pnpm install --frozen-lockfile verified on a clean checkout
  • prettier --check clean across all changed files

🤖 Generated with Claude Code

⚠️ This PR includes the Version Packages step — merging publishes 2.0.0-rc.0

Two additional commits beyond the dependency migration:

  1. changeset pre exit + changeset pre enter rc — switches the pre-release tag. All pending changesets touch only @tanstack/solid-* packages, so React/Vue/core cannot be pulled onto rc versions.
  2. Manual Version Packages run, normalized to rc.0 — changesets continues each package's prerelease counter across a tag switch (beta.30rc.31), so a literal 2.0.0-rc.0 is only reachable by hand-editing the generated output. All six solid packages move to 2.0.0-rc.0, changelogs and example ranges updated, pending changesets recorded as consumed in pre.json — CI's next version run has nothing further to apply, and merging this PR publishes 2.0.0-rc.0 directly.

pnpm install --frozen-lockfile re-verified on a clean checkout after the version step.

@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: bf725f53-95ed-4eb3-8eb0-f582dbcaf933

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@nx-cloud

nx-cloud Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

View your CI Pipeline Execution ↗ for commit 9b77320

Command Status Duration Result
nx affected --targets=test:eslint,test:unit,tes... ✅ Succeeded 12m 41s View ↗
nx run-many --target=build --exclude=examples/*... ✅ Succeeded 1m 33s View ↗

☁️ Nx Cloud last updated this comment at 2026-08-13 01:52:20 UTC

@socket-security

socket-security Bot commented Aug 12, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Added@​tanstack/​solid-query-devtools@​6.0.0-rc.0981007098100
Updated@​tanstack/​query-core@​5.101.0 ⏵ 5.101.497 +110075 +196100
Added@​tanstack/​react-query@​5.101.4991008796100
Added@​tanstack/​vue-query@​5.101.49810010098100

View full report

@socket-security

socket-security Bot commented Aug 12, 2026

Copy link
Copy Markdown

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
Obfuscated code: npm yargs is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: pnpm-lock.yamlnpm/vitest@4.1.4npm/msw@2.7.0npm/yargs@17.7.3

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/yargs@17.7.3. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

@brenelz
brenelz force-pushed the upgrade-solidjs-rc-0 branch from 7fb276d to c407efe Compare August 12, 2026 23:54
@github-actions

github-actions Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

🚀 Changeset Version Preview

No changeset entries found. Merging this PR will not cause a version bump for any packages.

@github-actions

github-actions Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Bundle Size Benchmarks

  • Commit: 59cf4375e2f2
  • Measured at: 2026-08-13T01:38:52.623Z
  • Baseline source: history:38485038c52f
  • Dashboard: bundle-size history

The following scenarios have bundle-size changes compared with the baseline:

Scenario Current (gzip) Delta vs baseline Initial gzip Raw Brotli Trend
react-router.minimal 87.11 KiB +3.26 KiB (+3.89%) 86.97 KiB 269.28 KiB 75.85 KiB ▁▁▁▁▁▁▁▁▁▁▁█
react-router.full 90.92 KiB +3.56 KiB (+4.08%) 90.78 KiB 281.29 KiB 79.07 KiB ▁▁▁▁▁▁▁▁▁▁▁█
solid-router.minimal 41.21 KiB +8.04 KiB (+24.23%) 41.08 KiB 116.64 KiB 37.22 KiB ▁▁▁▁▁▁▁▁▁▁▁█
solid-router.full 46.37 KiB +8.38 KiB (+22.06%) 46.25 KiB 132.46 KiB 41.81 KiB ▁▁▁▁▁▁▁▁▁▁▁█
vue-router.minimal 52.14 KiB +2.56 KiB (+5.17%) 52.02 KiB 143.30 KiB 46.86 KiB ▁▁▁▁▁▁▁▁▁▁▁█
vue-router.full 58.10 KiB +2.91 KiB (+5.27%) 57.97 KiB 162.07 KiB 52.15 KiB ▁▁▁▁▁▁▁▁▁▁▁█
react-start.minimal 102.00 KiB +5.34 KiB (+5.53%) 101.87 KiB 318.27 KiB 88.50 KiB ▁▁▁▁▁▁▁▁▁▁▁█
react-start.deferred-hydration 102.74 KiB +5.36 KiB (+5.50%) 101.89 KiB 319.64 KiB 89.25 KiB ▁▁▁▁▁▁▁▁▁▁▁█
react-start.full 105.41 KiB +5.57 KiB (+5.58%) 105.27 KiB 328.27 KiB 91.38 KiB ▁▁▁▁▁▁▁▁▁▁▁█
react-start.rsbuild.minimal 99.79 KiB -182 B (-0.18%) 99.62 KiB 312.70 KiB 86.01 KiB ▇██████▅▅▅▅▁
react-start.rsbuild.minimal-iife 100.19 KiB -185 B (-0.18%) 100.02 KiB 313.64 KiB 86.37 KiB ▇██████▅▅▅▅▁
react-start.rsbuild.full 103.12 KiB -171 B (-0.16%) 102.95 KiB 322.85 KiB 88.78 KiB ▇██████▅▅▅▅▁
solid-start.minimal 62.73 KiB +16.78 KiB (+36.51%) 62.60 KiB 182.77 KiB 56.13 KiB ▁▁▁▁▁▁▁▁▁▁▁█
solid-start.deferred-hydration 66.60 KiB +17.58 KiB (+35.85%) 63.12 KiB 191.50 KiB 59.71 KiB ▁▁▁▁▁▁▁▁▁▁▁█
solid-start.full 66.71 KiB +15.68 KiB (+30.73%) 66.58 KiB 194.40 KiB 59.60 KiB ▁▁▁▁▁▁▁▁▁▁▁█
vue-start.minimal 70.46 KiB +4.83 KiB (+7.35%) 70.33 KiB 201.06 KiB 62.61 KiB ▁▁▁▁▁▁▁▁▁▁▁█
vue-start.full 74.42 KiB +4.99 KiB (+7.18%) 74.29 KiB 213.66 KiB 65.95 KiB ▁▁▁▁▁▁▁▁▁▁▁█

Current gzip tracks all emitted client JS chunks. Initial gzip tracks only the entry/import graph. Trend sparkline is historical current gzip ending with this PR measurement; lower is better.

@pkg-pr-new

pkg-pr-new Bot commented Aug 12, 2026

Copy link
Copy Markdown
More templates

@tanstack/arktype-adapter

npm i https://pkg.pr.new/@tanstack/arktype-adapter@8058

@tanstack/eslint-plugin-router

npm i https://pkg.pr.new/@tanstack/eslint-plugin-router@8058

@tanstack/eslint-plugin-start

npm i https://pkg.pr.new/@tanstack/eslint-plugin-start@8058

@tanstack/history

npm i https://pkg.pr.new/@tanstack/history@8058

@tanstack/nitro-v2-vite-plugin

npm i https://pkg.pr.new/@tanstack/nitro-v2-vite-plugin@8058

@tanstack/react-router

npm i https://pkg.pr.new/@tanstack/react-router@8058

@tanstack/react-router-devtools

npm i https://pkg.pr.new/@tanstack/react-router-devtools@8058

@tanstack/react-router-ssr-query

npm i https://pkg.pr.new/@tanstack/react-router-ssr-query@8058

@tanstack/react-start

npm i https://pkg.pr.new/@tanstack/react-start@8058

@tanstack/react-start-client

npm i https://pkg.pr.new/@tanstack/react-start-client@8058

@tanstack/react-start-rsc

npm i https://pkg.pr.new/@tanstack/react-start-rsc@8058

@tanstack/react-start-server

npm i https://pkg.pr.new/@tanstack/react-start-server@8058

@tanstack/router-cli

npm i https://pkg.pr.new/@tanstack/router-cli@8058

@tanstack/router-core

npm i https://pkg.pr.new/@tanstack/router-core@8058

@tanstack/router-devtools

npm i https://pkg.pr.new/@tanstack/router-devtools@8058

@tanstack/router-devtools-core

npm i https://pkg.pr.new/@tanstack/router-devtools-core@8058

@tanstack/router-generator

npm i https://pkg.pr.new/@tanstack/router-generator@8058

@tanstack/router-plugin

npm i https://pkg.pr.new/@tanstack/router-plugin@8058

@tanstack/router-ssr-query-core

npm i https://pkg.pr.new/@tanstack/router-ssr-query-core@8058

@tanstack/router-utils

npm i https://pkg.pr.new/@tanstack/router-utils@8058

@tanstack/router-vite-plugin

npm i https://pkg.pr.new/@tanstack/router-vite-plugin@8058

@tanstack/solid-router

npm i https://pkg.pr.new/@tanstack/solid-router@8058

@tanstack/solid-router-devtools

npm i https://pkg.pr.new/@tanstack/solid-router-devtools@8058

@tanstack/solid-router-ssr-query

npm i https://pkg.pr.new/@tanstack/solid-router-ssr-query@8058

@tanstack/solid-start

npm i https://pkg.pr.new/@tanstack/solid-start@8058

@tanstack/solid-start-client

npm i https://pkg.pr.new/@tanstack/solid-start-client@8058

@tanstack/solid-start-server

npm i https://pkg.pr.new/@tanstack/solid-start-server@8058

@tanstack/start-client-core

npm i https://pkg.pr.new/@tanstack/start-client-core@8058

@tanstack/start-fn-stubs

npm i https://pkg.pr.new/@tanstack/start-fn-stubs@8058

@tanstack/start-plugin-core

npm i https://pkg.pr.new/@tanstack/start-plugin-core@8058

@tanstack/start-server-core

npm i https://pkg.pr.new/@tanstack/start-server-core@8058

@tanstack/start-static-server-functions

npm i https://pkg.pr.new/@tanstack/start-static-server-functions@8058

@tanstack/start-storage-context

npm i https://pkg.pr.new/@tanstack/start-storage-context@8058

@tanstack/valibot-adapter

npm i https://pkg.pr.new/@tanstack/valibot-adapter@8058

@tanstack/virtual-file-routes

npm i https://pkg.pr.new/@tanstack/virtual-file-routes@8058

@tanstack/vue-router

npm i https://pkg.pr.new/@tanstack/vue-router@8058

@tanstack/vue-router-devtools

npm i https://pkg.pr.new/@tanstack/vue-router-devtools@8058

@tanstack/vue-router-ssr-query

npm i https://pkg.pr.new/@tanstack/vue-router-ssr-query@8058

@tanstack/vue-start

npm i https://pkg.pr.new/@tanstack/vue-start@8058

@tanstack/vue-start-client

npm i https://pkg.pr.new/@tanstack/vue-start-client@8058

@tanstack/vue-start-server

npm i https://pkg.pr.new/@tanstack/vue-start-server@8058

@tanstack/zod-adapter

npm i https://pkg.pr.new/@tanstack/zod-adapter@8058

commit: 9b77320

@codspeed-hq

codspeed-hq Bot commented Aug 13, 2026

Copy link
Copy Markdown

Merging this PR will improve performance by 59.65%

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

⚡ 6 improved benchmarks
🆕 173 new benchmarks

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation ssr request loop (react) 330.5 ms 79.5 ms ×4.2
Simulation client-side navigation loop (solid) 72.6 ms 43 ms +68.96%
Simulation ssr request loop (vue) 420.3 ms 269.7 ms +55.86%
Simulation client-side navigation loop (react) 56.3 ms 47.7 ms +17.9%
Simulation client-side navigation loop (vue) 83 ms 72.9 ms +13.8%
Simulation ssr request loop (solid) 174.6 ms 154.8 ms +12.79%
🆕 Simulation ssr not-found (vue) N/A 145.5 ms N/A
🆕 Simulation ssr redirect (vue) N/A 49.8 ms N/A
🆕 Simulation ssr head (vue) N/A 292.6 ms N/A
🆕 Simulation ssr loaders (vue) N/A 116.9 ms N/A
🆕 Simulation ssr selective (vue) N/A 126.4 ms N/A
🆕 Simulation ssr server-fn GET (vue) N/A 77.7 ms N/A
🆕 Simulation ssr server-fn POST (vue) N/A 75.4 ms N/A
🆕 Simulation ssr server-route middleware (vue) N/A 56.2 ms N/A
🆕 Simulation ssr server-route (vue) N/A 55.9 ms N/A
🆕 Simulation ssr streaming deferred (vue) N/A 94.7 ms N/A
🆕 Simulation ssr assets inline-css cdn (vue) N/A 161.4 ms N/A
🆕 Simulation ssr assets linked-css control (vue) N/A 192.4 ms N/A
🆕 Simulation ssr before-load chain (vue) N/A 153.4 ms N/A
🆕 Simulation ssr control-flow error 500 (vue) N/A 174 ms N/A
... ... ... ... ... ...

ℹ️ Only the first 20 benchmarks are displayed. Go to the app to view all benchmarks.

Tip

Curious why this is faster? Comment @codspeedbot explain why this is faster on this PR, or directly use the CodSpeed MCP with your agent.


Comparing upgrade-solidjs-rc-0 (9b77320) with solid-router-v2-pre (67a9040)1

Open in CodSpeed

Footnotes

  1. No successful run was found on solid-router-v2-pre (03fd736) during the generation of this report, so 67a9040 was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

…ugin

`vite-plugin-solid` has been renamed to `@solidjs/vite-plugin`. Its final
release under the old name (`3.0.0-next.27`) is a re-export shim over the new
package, and `next.28`+ ships only under the new name.

The rename and the `rc` bump are forced together: `@solidjs/vite-plugin@3.0.0-next.28`
peer-requires `solid-js`/`@solidjs/web` `^2.0.0-rc.0`.

- solid-js, @solidjs/web, babel-preset-solid: 2.0.0-beta.32 -> ^2.0.0-rc.0
- vite-plugin-solid ^3.0.0-next.23 -> @solidjs/vite-plugin ^3.0.0-next.28
- @tanstack/solid-query + solid-query-devtools -> ^6.0.0-rc.0
  (solid-query rc.0 peer-requires solid-js >=2.0.0-rc.0)
- @tanstack/query-core converged on 5.101.4: solid-query depends on query-core
  5.101.0, which previously resolved to a stale 5.99.0 and produced two
  structurally incompatible `QueryClient` types, failing
  @tanstack/solid-router-ssr-query's build

`packages/router-devtools-core` intentionally stays on `vite-plugin-solid@^2.11.10`
— it builds against Solid 1.9.12 and `@solidjs/vite-plugin` has no 2.x line.

`@tanstack/router-plugin` is intentionally untouched: it detects the Solid JSX
plugin by its Vite plugin name (`solid`), which the renamed package still
registers, and its `vite-plugin-solid` peer is optional — so it keeps working
for both Solid 1 and Solid 2 consumers without a change.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@brenelz
brenelz force-pushed the upgrade-solidjs-rc-0 branch from c407efe to 56cc90e Compare August 13, 2026 01:21
autofix-ci Bot and others added 3 commits August 13, 2026 01:23
`changeset pre exit` + `changeset pre enter rc`. The next Version Packages
run will publish the Solid packages as 2.0.0-rc.0 instead of the next beta.

All pending changesets touch only the @tanstack/solid-* packages, so the
reset consumed-changesets ledger cannot pull React/Vue/core packages onto
rc versions — they have no pending entries. The rc.0 changelog section will
re-list changes already published under the betas (standard changesets
behavior when switching pre tags).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Manually applied `changeset version` and normalized the prerelease counters
to 0. Changesets continues each package's counter across a pre-tag switch
(beta.30 would have become rc.31), and the counter is derived from the
current versions, so a literal rc.0 is only reachable by hand.

All six @tanstack/solid-* packages move to 2.0.0-rc.0; the pending solid
changesets are recorded as consumed in .changeset/pre.json, so CI's next
version run has nothing further to apply.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@brenelz
brenelz requested a review from birkskyum August 13, 2026 01:54
@birkskyum
birkskyum merged commit df8839d into solid-router-v2-pre Aug 13, 2026
28 checks passed
@birkskyum
birkskyum deleted the upgrade-solidjs-rc-0 branch August 13, 2026 10:07
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.

2 participants