diff --git a/e2e/cases/plugin-solid/basic/src/index.js b/e2e/cases/plugin-solid/basic/src/index.js
index 6f0c9a7976..0dc57b3f95 100644
--- a/e2e/cases/plugin-solid/basic/src/index.js
+++ b/e2e/cases/plugin-solid/basic/src/index.js
@@ -1,4 +1,4 @@
-import { render } from 'solid-js/web';
+import { render } from '@solidjs/web';
import App from './App';
render(App, document.getElementById('root'));
diff --git a/e2e/cases/plugin-solid/hmr/src/index.jsx b/e2e/cases/plugin-solid/hmr/src/index.jsx
index de28052ebd..eae2441715 100644
--- a/e2e/cases/plugin-solid/hmr/src/index.jsx
+++ b/e2e/cases/plugin-solid/hmr/src/index.jsx
@@ -1,4 +1,4 @@
-import { render } from 'solid-js/web';
+import { render } from '@solidjs/web';
import App from './A';
render(() => , document.getElementById('root'));
diff --git a/e2e/cases/plugin-solid/less/src/index.js b/e2e/cases/plugin-solid/less/src/index.js
index 6f0c9a7976..0dc57b3f95 100644
--- a/e2e/cases/plugin-solid/less/src/index.js
+++ b/e2e/cases/plugin-solid/less/src/index.js
@@ -1,4 +1,4 @@
-import { render } from 'solid-js/web';
+import { render } from '@solidjs/web';
import App from './App';
render(App, document.getElementById('root'));
diff --git a/e2e/cases/plugin-solid/ref/src/index.jsx b/e2e/cases/plugin-solid/ref/src/index.jsx
index c6c556ad31..1521853364 100644
--- a/e2e/cases/plugin-solid/ref/src/index.jsx
+++ b/e2e/cases/plugin-solid/ref/src/index.jsx
@@ -1,4 +1,4 @@
-import { render } from 'solid-js/web';
+import { render } from '@solidjs/web';
import App from './App';
render(() => , document.getElementById('root'));
diff --git a/e2e/cases/plugin-solid/scss/src/index.js b/e2e/cases/plugin-solid/scss/src/index.js
index 6f0c9a7976..0dc57b3f95 100644
--- a/e2e/cases/plugin-solid/scss/src/index.js
+++ b/e2e/cases/plugin-solid/scss/src/index.js
@@ -1,4 +1,4 @@
-import { render } from 'solid-js/web';
+import { render } from '@solidjs/web';
import App from './App';
render(App, document.getElementById('root'));
diff --git a/e2e/cases/plugin-solid/stylus/src/index.js b/e2e/cases/plugin-solid/stylus/src/index.js
index 6f0c9a7976..0dc57b3f95 100644
--- a/e2e/cases/plugin-solid/stylus/src/index.js
+++ b/e2e/cases/plugin-solid/stylus/src/index.js
@@ -1,4 +1,4 @@
-import { render } from 'solid-js/web';
+import { render } from '@solidjs/web';
import App from './App';
render(App, document.getElementById('root'));
diff --git a/e2e/cases/plugin-solid/ts/src/index.ts b/e2e/cases/plugin-solid/ts/src/index.ts
index d3fc66d3e3..691370b7b9 100644
--- a/e2e/cases/plugin-solid/ts/src/index.ts
+++ b/e2e/cases/plugin-solid/ts/src/index.ts
@@ -1,4 +1,4 @@
-import { render } from 'solid-js/web';
+import { render } from '@solidjs/web';
import App from './App';
render(App, document.getElementById('root')!);
diff --git a/e2e/package.json b/e2e/package.json
index 66b86069b5..11818a995a 100644
--- a/e2e/package.json
+++ b/e2e/package.json
@@ -9,11 +9,12 @@
},
"dependencies": {
"@module-federation/runtime-tools": "2.4.0",
+ "@solidjs/web": ">=2.0.0-beta.0 <2.0.0-experimental.0",
"core-js": "^3.49.0",
"preact": "^10.29.1",
"react": "^19.2.5",
"react-dom": "^19.2.5",
- "solid-js": "^1.9.12",
+ "solid-js": ">=2.0.0-beta.0 <2.0.0-experimental.0",
"vue": "^3.5.33"
},
"devDependencies": {
diff --git a/examples/solid/package.json b/examples/solid/package.json
index dc7c8835ce..a369a73d6f 100644
--- a/examples/solid/package.json
+++ b/examples/solid/package.json
@@ -8,7 +8,8 @@
"preview": "rsbuild preview"
},
"dependencies": {
- "solid-js": "^1.9.12"
+ "@solidjs/web": ">=2.0.0-beta.0 <2.0.0-experimental.0",
+ "solid-js": ">=2.0.0-beta.0 <2.0.0-experimental.0"
},
"devDependencies": {
"@rsbuild/core": "workspace:*",
diff --git a/examples/solid/src/index.jsx b/examples/solid/src/index.jsx
index c6c556ad31..1521853364 100644
--- a/examples/solid/src/index.jsx
+++ b/examples/solid/src/index.jsx
@@ -1,4 +1,4 @@
-import { render } from 'solid-js/web';
+import { render } from '@solidjs/web';
import App from './App';
render(() => , document.getElementById('root'));
diff --git a/packages/create-rsbuild/template-solid-js/package.json b/packages/create-rsbuild/template-solid-js/package.json
index 670ad6fe8c..fbd1a47ea0 100644
--- a/packages/create-rsbuild/template-solid-js/package.json
+++ b/packages/create-rsbuild/template-solid-js/package.json
@@ -9,7 +9,8 @@
"preview": "rsbuild preview"
},
"dependencies": {
- "solid-js": "^1.9.12"
+ "@solidjs/web": ">=2.0.0-beta.0 <2.0.0-experimental.0",
+ "solid-js": ">=2.0.0-beta.0 <2.0.0-experimental.0"
},
"devDependencies": {
"@rsbuild/core": "^2.0.3",
diff --git a/packages/create-rsbuild/template-solid-js/src/index.jsx b/packages/create-rsbuild/template-solid-js/src/index.jsx
index c6c556ad31..1521853364 100644
--- a/packages/create-rsbuild/template-solid-js/src/index.jsx
+++ b/packages/create-rsbuild/template-solid-js/src/index.jsx
@@ -1,4 +1,4 @@
-import { render } from 'solid-js/web';
+import { render } from '@solidjs/web';
import App from './App';
render(() => , document.getElementById('root'));
diff --git a/packages/create-rsbuild/template-solid-ts/package.json b/packages/create-rsbuild/template-solid-ts/package.json
index 935fd29769..bc922dbdb2 100644
--- a/packages/create-rsbuild/template-solid-ts/package.json
+++ b/packages/create-rsbuild/template-solid-ts/package.json
@@ -9,7 +9,8 @@
"preview": "rsbuild preview"
},
"dependencies": {
- "solid-js": "^1.9.12"
+ "@solidjs/web": ">=2.0.0-beta.0 <2.0.0-experimental.0",
+ "solid-js": ">=2.0.0-beta.0 <2.0.0-experimental.0"
},
"devDependencies": {
"@rsbuild/core": "^2.0.3",
diff --git a/packages/create-rsbuild/template-solid-ts/src/index.tsx b/packages/create-rsbuild/template-solid-ts/src/index.tsx
index 56ad215729..e844b6fc5e 100644
--- a/packages/create-rsbuild/template-solid-ts/src/index.tsx
+++ b/packages/create-rsbuild/template-solid-ts/src/index.tsx
@@ -1,4 +1,4 @@
-import { render } from 'solid-js/web';
+import { render } from '@solidjs/web';
import App from './App';
const root = document.getElementById('root');
diff --git a/packages/plugin-solid/package.json b/packages/plugin-solid/package.json
index 0f22f8782d..702f8c8cd5 100644
--- a/packages/plugin-solid/package.json
+++ b/packages/plugin-solid/package.json
@@ -1,6 +1,6 @@
{
"name": "@rsbuild/plugin-solid",
- "version": "1.2.0",
+ "version": "2.0.0-beta.0",
"description": "Solid plugin for Rsbuild",
"homepage": "https://rsbuild.rs",
"repository": {
@@ -27,8 +27,8 @@
},
"dependencies": {
"@rsbuild/plugin-babel": "workspace:*",
- "babel-preset-solid": "^1.9.12",
- "solid-refresh": "^0.7.8"
+ "babel-preset-solid": ">=2.0.0-beta.0 <2.0.0-experimental.0",
+ "solid-refresh": ">=0.8.0-next.7 < 0.8.0"
},
"devDependencies": {
"@rsbuild/core": "workspace:*",
@@ -38,7 +38,9 @@
"typescript": "^6.0.3"
},
"peerDependencies": {
- "@rsbuild/core": "^1.0.0 || ^2.0.0-0"
+ "@rsbuild/core": "^1.0.0 || ^2.0.0-0",
+ "@solidjs/web": ">=2.0.0-beta.0 <2.0.0-experimental.0",
+ "solid-js": ">=2.0.0-beta.0 <2.0.0-experimental.0"
},
"peerDependenciesMeta": {
"@rsbuild/core": {
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 208c2d7796..7ad7903fe2 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -6,12 +6,8 @@ settings:
excludeLinksFromLockfile: false
patchedDependencies:
- css-loader@7.1.4:
- hash: b504d70330b6625a20bc0cb1428c9787350fe6413c2947f42bd88ff22123a019
- path: patches/css-loader@7.1.4.patch
- postcss-loader@8.2.1:
- hash: 4829849d58d8366cd82cbdab1947d15f9e6d33e70f1e3d5310daffff152dff14
- path: patches/postcss-loader@8.2.1.patch
+ css-loader@7.1.4: b504d70330b6625a20bc0cb1428c9787350fe6413c2947f42bd88ff22123a019
+ postcss-loader@8.2.1: 4829849d58d8366cd82cbdab1947d15f9e6d33e70f1e3d5310daffff152dff14
importers:
@@ -25,7 +21,7 @@ importers:
version: 0.2.2(@rslib/core@0.21.3)(@rstest/core@0.9.10)(typescript@6.0.3)
'@rstest/core':
specifier: ^0.9.10
- version: 0.9.10(@module-federation/runtime-tools@2.4.0)(core-js@3.49.0)
+ version: 0.9.10(core-js@3.49.0)
'@scripts/config':
specifier: workspace:*
version: link:scripts/config
@@ -65,6 +61,9 @@ importers:
'@module-federation/runtime-tools':
specifier: 2.4.0
version: 2.4.0(node-fetch@2.7.0)
+ '@solidjs/web':
+ specifier: '>=2.0.0-beta.0 <2.0.0-experimental.0'
+ version: 2.0.0-beta.10(solid-js@2.0.0-beta.10)
core-js:
specifier: ^3.49.0
version: 3.49.0
@@ -78,8 +77,8 @@ importers:
specifier: ^19.2.5
version: 19.2.5(react@19.2.5)
solid-js:
- specifier: ^1.9.12
- version: 1.9.12
+ specifier: '>=2.0.0-beta.0 <2.0.0-experimental.0'
+ version: 2.0.0-beta.10
vue:
specifier: ^3.5.33
version: 3.5.33(typescript@6.0.3)
@@ -439,9 +438,12 @@ importers:
examples/solid:
dependencies:
+ '@solidjs/web':
+ specifier: '>=2.0.0-beta.0 <2.0.0-experimental.0'
+ version: 2.0.0-beta.10(solid-js@2.0.0-beta.10)
solid-js:
- specifier: ^1.9.12
- version: 1.9.12
+ specifier: '>=2.0.0-beta.0 <2.0.0-experimental.0'
+ version: 2.0.0-beta.10
devDependencies:
'@rsbuild/core':
specifier: workspace:*
@@ -857,12 +859,18 @@ importers:
'@rsbuild/plugin-babel':
specifier: workspace:*
version: link:../plugin-babel
+ '@solidjs/web':
+ specifier: '>=2.0.0-beta.0 <2.0.0-experimental.0'
+ version: 2.0.0-beta.10(solid-js@2.0.0-beta.10)
babel-preset-solid:
- specifier: ^1.9.12
- version: 1.9.12(@babel/core@7.29.0)(solid-js@1.9.12)
+ specifier: '>=2.0.0-beta.0 <2.0.0-experimental.0'
+ version: 2.0.0-beta.10(@babel/core@7.29.0)(solid-js@2.0.0-beta.10)
+ solid-js:
+ specifier: '>=2.0.0-beta.0 <2.0.0-experimental.0'
+ version: 2.0.0-beta.10
solid-refresh:
- specifier: ^0.7.8
- version: 0.7.8(solid-js@1.9.12)
+ specifier: '>=0.8.0-next.7 < 0.8.0'
+ version: 0.8.0-next.7(solid-js@2.0.0-beta.10)
devDependencies:
'@rsbuild/core':
specifier: workspace:*
@@ -2564,6 +2572,14 @@ packages:
'@socket.io/component-emitter@3.1.2':
resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==}
+ '@solidjs/signals@2.0.0-beta.10':
+ resolution: {integrity: sha512-McdmbLNiSlz616zcykS8Rb1t9QTOTKdNAoaWd4/OjXEbcAUrPqRX1CWgR+caiWUk4qn0a+LesTTV4jZhFFPaSg==}
+
+ '@solidjs/web@2.0.0-beta.10':
+ resolution: {integrity: sha512-Ox7MBv19kuxHoHhWoLCCcc6aykSgaqzWvWT7RB66VqlFnQ8Lid2ncd30g5L4XC0GB+MN/WZVb68tiYrAFUDIAg==}
+ peerDependencies:
+ solid-js: ^2.0.0-beta.10
+
'@sveltejs/acorn-typescript@1.0.9':
resolution: {integrity: sha512-lVJX6qEgs/4DOcRTpo56tmKzVPtoWAaVbL4hfO7t7NVwl9AAXzQR6cihesW1BmNMPl+bK6dreu2sOKBP2Q9CIA==}
peerDependencies:
@@ -3162,8 +3178,8 @@ packages:
webpack:
optional: true
- babel-plugin-jsx-dom-expressions@0.40.6:
- resolution: {integrity: sha512-v3P1MW46Lm7VMpAkq0QfyzLWWkC8fh+0aE5Km4msIgDx5kjenHU0pF2s+4/NH8CQn/kla6+Hvws+2AF7bfV5qQ==}
+ babel-plugin-jsx-dom-expressions@0.50.0-next.6:
+ resolution: {integrity: sha512-D7SSrMu1EupiCFT3hBhWJj0EWzaI27HV1ysbLSKFcH1ROZe61DmnNVchrnr5QeAw5O8bqSdlMDLdEqMYzi4tTA==}
peerDependencies:
'@babel/core': ^7.20.12
@@ -3173,11 +3189,11 @@ packages:
babel-plugin-vue-jsx-hmr@1.0.0:
resolution: {integrity: sha512-XRq+XTD4bub6HkavELMhihvLX2++JkSBAxRXlqQK32b+Tb0S9PEqxrDSMpOEZ1iGyOaJZj9Y0uU/FzICdyL9MA==}
- babel-preset-solid@1.9.12:
- resolution: {integrity: sha512-LLqnuKVDlKpyBlMPcH6qEvs/wmS9a+NczppxJ3ryS/c0O5IiSFOIBQi9GzyiGDSbcJpx4Gr87jyFTos1MyEuWg==}
+ babel-preset-solid@2.0.0-beta.10:
+ resolution: {integrity: sha512-lzGgPsh1fVtBJDl+UWLTCgimzPMda7X2Xzq7asCCOq/zHRwiF5vF3Eb3xj65dGyi7YpgVROTwJEpj+XiroKaww==}
peerDependencies:
'@babel/core': ^7.0.0
- solid-js: ^1.9.12
+ solid-js: ^2.0.0-beta.10
peerDependenciesMeta:
solid-js:
optional: true
@@ -5211,13 +5227,13 @@ packages:
resolution: {integrity: sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==}
engines: {node: '>=10.2.0'}
- solid-js@1.9.12:
- resolution: {integrity: sha512-QzKaSJq2/iDrWR1As6MHZQ8fQkdOBf8GReYb7L5iKwMGceg7HxDcaOHk0at66tNgn9U2U7dXo8ZZpLIAmGMzgw==}
+ solid-js@2.0.0-beta.10:
+ resolution: {integrity: sha512-EAfV6b1SC4c3wEBAoX4dMy063uTb4nfL5uXnN8yse4InH7RTw1LoB0I9HAy+pj3/GHqQE2tYZurlZtqU4pGyog==}
- solid-refresh@0.7.8:
- resolution: {integrity: sha512-iG442T3HXJp5jEebCy8okETrWnmX7CnxNOKrJQVeufh6WXSn+xtLXaptUXXMHTWcRqTJOJwQ8UwzxrRtVFSIzA==}
+ solid-refresh@0.8.0-next.7:
+ resolution: {integrity: sha512-fqkPRAeiE0tqfo2ZljeQBIXwfYssU2w1FmaWFrXmnV33B/CfGfez7BjtOF0Y1/orUNRXI/DZcJlJThHllcCMsA==}
peerDependencies:
- solid-js: ^1.3
+ solid-js: '>=2.0.0-beta.7 <2.0.0-experimental.0'
sorted-array-functions@1.3.0:
resolution: {integrity: sha512-2sqgzeFlid6N4Z2fUQ1cvFmTOLRi/sEDzSQ0OKYchqgoPmQBVyM3959qYx3fpS6Esef80KjmpgPeEr028dP3OA==}
@@ -5539,6 +5555,9 @@ packages:
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+ validate-html-nesting@1.2.4:
+ resolution: {integrity: sha512-doQi7e8EJ2OWneSG1aZpJluS6A49aZM0+EICXWKm1i6WvqTLmq0tpUcImc4KTWG50mORO0C4YDBtOCSYvElftw==}
+
varint@6.0.0:
resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==}
@@ -7347,11 +7366,11 @@ snapshots:
'@rstest/adapter-rslib@0.2.2(@rslib/core@0.21.3)(@rstest/core@0.9.10)(typescript@6.0.3)':
dependencies:
'@rslib/core': 0.21.3(@module-federation/runtime-tools@2.4.0)(@typescript/native-preview@7.0.0-dev.20260503.1)(core-js@3.49.0)(typescript@6.0.3)
- '@rstest/core': 0.9.10(@module-federation/runtime-tools@2.4.0)(core-js@3.49.0)
+ '@rstest/core': 0.9.10(core-js@3.49.0)
optionalDependencies:
typescript: 6.0.3
- '@rstest/core@0.9.10(@module-federation/runtime-tools@2.4.0)(core-js@3.49.0)':
+ '@rstest/core@0.9.10(core-js@3.49.0)':
dependencies:
'@rsbuild/core': 2.0.3(@module-federation/runtime-tools@2.4.0)(core-js@3.49.0)
'@types/chai': 5.2.3
@@ -7416,6 +7435,14 @@ snapshots:
'@socket.io/component-emitter@3.1.2': {}
+ '@solidjs/signals@2.0.0-beta.10': {}
+
+ '@solidjs/web@2.0.0-beta.10(solid-js@2.0.0-beta.10)':
+ dependencies:
+ seroval: 1.5.2
+ seroval-plugins: 1.5.2(seroval@1.5.2)
+ solid-js: 2.0.0-beta.10
+
'@sveltejs/acorn-typescript@1.0.9(acorn@8.16.0)':
dependencies:
acorn: 8.16.0
@@ -8076,7 +8103,7 @@ snapshots:
'@rspack/core': 2.0.1(@module-federation/runtime-tools@2.4.0)(@swc/helpers@0.5.21)
webpack: 5.106.2
- babel-plugin-jsx-dom-expressions@0.40.6(@babel/core@7.29.0):
+ babel-plugin-jsx-dom-expressions@0.50.0-next.6(@babel/core@7.29.0):
dependencies:
'@babel/core': 7.29.0
'@babel/helper-module-imports': 7.18.6
@@ -8084,6 +8111,7 @@ snapshots:
'@babel/types': 7.29.0
html-entities: 2.3.3
parse5: 7.3.0
+ validate-html-nesting: 1.2.4
babel-plugin-react-compiler@1.0.0:
dependencies:
@@ -8096,12 +8124,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
- babel-preset-solid@1.9.12(@babel/core@7.29.0)(solid-js@1.9.12):
+ babel-preset-solid@2.0.0-beta.10(@babel/core@7.29.0)(solid-js@2.0.0-beta.10):
dependencies:
'@babel/core': 7.29.0
- babel-plugin-jsx-dom-expressions: 0.40.6(@babel/core@7.29.0)
+ babel-plugin-jsx-dom-expressions: 0.50.0-next.6(@babel/core@7.29.0)
optionalDependencies:
- solid-js: 1.9.12
+ solid-js: 2.0.0-beta.10
bail@2.0.2: {}
@@ -10352,17 +10380,18 @@ snapshots:
- supports-color
- utf-8-validate
- solid-js@1.9.12:
+ solid-js@2.0.0-beta.10:
dependencies:
+ '@solidjs/signals': 2.0.0-beta.10
csstype: 3.2.3
seroval: 1.5.2
seroval-plugins: 1.5.2(seroval@1.5.2)
- solid-refresh@0.7.8(solid-js@1.9.12):
+ solid-refresh@0.8.0-next.7(solid-js@2.0.0-beta.10):
dependencies:
'@babel/generator': 7.29.1
'@babel/types': 7.29.0
- solid-js: 1.9.12
+ solid-js: 2.0.0-beta.10
sorted-array-functions@1.3.0: {}
@@ -10657,6 +10686,8 @@ snapshots:
util-deprecate@1.0.2: {}
+ validate-html-nesting@1.2.4: {}
+
varint@6.0.0: {}
vary@1.1.2: {}
diff --git a/scripts/dictionary.txt b/scripts/dictionary.txt
index 3e77aa46b0..07f5dc749e 100644
--- a/scripts/dictionary.txt
+++ b/scripts/dictionary.txt
@@ -13,13 +13,13 @@ browserslistrc
bundleless
cachable
caniuse
+chenjiahan
chunkhash
Chunktmp
classname
codegen
codesandbox
codeva
-chenjiahan
compat
consolas
contentful
@@ -126,6 +126,7 @@ shiki
shikijs
sirv
sokra
+solidjs
speedscope
srcset
stacktracey
@@ -151,8 +152,8 @@ tsgo
twoslash
TYPELESS
uncompiled
-unminified
unjs
+unminified
unocss
unpatch
unplugin