From fab6860fedff6be6eac60496504819d43f17738a Mon Sep 17 00:00:00 2001 From: Elecmonkey Date: Tue, 30 Jun 2026 13:02:30 +0800 Subject: [PATCH 1/5] feat: add rslib solid examples --- pnpm-lock.yaml | 236 ++++++++++++++++++++++-- rslib/solid-basic/.gitignore | 14 ++ rslib/solid-basic/README.md | 23 +++ rslib/solid-basic/package.json | 30 +++ rslib/solid-basic/rslib.config.ts | 57 ++++++ rslib/solid-basic/src/Button.tsx | 36 ++++ rslib/solid-basic/src/button.css | 57 ++++++ rslib/solid-basic/src/index.tsx | 2 + rslib/solid-basic/tsconfig.json | 15 ++ rslib/solid-rstest/.gitignore | 14 ++ rslib/solid-rstest/README.md | 29 +++ rslib/solid-rstest/package.json | 35 ++++ rslib/solid-rstest/rslib.config.ts | 57 ++++++ rslib/solid-rstest/rstest.config.ts | 9 + rslib/solid-rstest/src/Button.tsx | 36 ++++ rslib/solid-rstest/src/button.css | 57 ++++++ rslib/solid-rstest/src/index.tsx | 2 + rslib/solid-rstest/tests/index.test.tsx | 14 ++ rslib/solid-rstest/tsconfig.json | 15 ++ rslib/solid-v2-basic/.gitignore | 14 ++ rslib/solid-v2-basic/README.md | 23 +++ rslib/solid-v2-basic/package.json | 32 ++++ rslib/solid-v2-basic/rslib.config.ts | 57 ++++++ rslib/solid-v2-basic/src/Button.tsx | 36 ++++ rslib/solid-v2-basic/src/button.css | 57 ++++++ rslib/solid-v2-basic/src/index.tsx | 2 + rslib/solid-v2-basic/tsconfig.json | 15 ++ 27 files changed, 963 insertions(+), 11 deletions(-) create mode 100644 rslib/solid-basic/.gitignore create mode 100644 rslib/solid-basic/README.md create mode 100644 rslib/solid-basic/package.json create mode 100644 rslib/solid-basic/rslib.config.ts create mode 100644 rslib/solid-basic/src/Button.tsx create mode 100644 rslib/solid-basic/src/button.css create mode 100644 rslib/solid-basic/src/index.tsx create mode 100644 rslib/solid-basic/tsconfig.json create mode 100644 rslib/solid-rstest/.gitignore create mode 100644 rslib/solid-rstest/README.md create mode 100644 rslib/solid-rstest/package.json create mode 100644 rslib/solid-rstest/rslib.config.ts create mode 100644 rslib/solid-rstest/rstest.config.ts create mode 100644 rslib/solid-rstest/src/Button.tsx create mode 100644 rslib/solid-rstest/src/button.css create mode 100644 rslib/solid-rstest/src/index.tsx create mode 100644 rslib/solid-rstest/tests/index.test.tsx create mode 100644 rslib/solid-rstest/tsconfig.json create mode 100644 rslib/solid-v2-basic/.gitignore create mode 100644 rslib/solid-v2-basic/README.md create mode 100644 rslib/solid-v2-basic/package.json create mode 100644 rslib/solid-v2-basic/rslib.config.ts create mode 100644 rslib/solid-v2-basic/src/Button.tsx create mode 100644 rslib/solid-v2-basic/src/button.css create mode 100644 rslib/solid-v2-basic/src/index.tsx create mode 100644 rslib/solid-v2-basic/tsconfig.json diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4b4744cfa..a5406b22b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -711,7 +711,7 @@ importers: dependencies: '@tanstack/react-devtools': specifier: ^0.10.5 - version: 0.10.5(@types/react-dom@19.2.3)(@types/react@19.2.15)(csstype@3.2.3)(react-dom@19.2.7)(react@19.2.7)(solid-js@1.9.13) + version: 0.10.5(@types/react-dom@19.2.3)(@types/react@19.2.15)(csstype@3.2.3)(react-dom@19.2.7)(react@19.2.7)(solid-js@2.0.0-beta.15) '@tanstack/react-router': specifier: ^1.170.11 version: 1.170.11(react-dom@19.2.7)(react@19.2.7) @@ -1574,6 +1574,75 @@ importers: specifier: ^5.9.3 version: 5.9.3 + rslib/solid-basic: + devDependencies: + '@rsbuild/plugin-babel': + specifier: ^1.2.1 + version: 1.2.1(@rsbuild/core@2.0.11) + '@rsbuild/plugin-solid': + specifier: ^1.2.1 + version: 1.2.1(@babel/core@7.29.7)(@rsbuild/core@2.0.11)(solid-js@1.9.13) + '@rslib/core': + specifier: ^0.22.0 + version: 0.22.0(@module-federation/runtime-tools@2.5.0)(core-js@3.49.0)(typescript@5.9.3) + solid-js: + specifier: ^1.9.13 + version: 1.9.13 + typescript: + specifier: ^5.9.3 + version: 5.9.3 + + rslib/solid-rstest: + devDependencies: + '@rsbuild/plugin-babel': + specifier: ^1.2.1 + version: 1.2.1(@rsbuild/core@2.0.11) + '@rsbuild/plugin-solid': + specifier: ^1.2.1 + version: 1.2.1(@babel/core@7.29.7)(@rsbuild/core@2.0.11)(solid-js@1.9.13) + '@rslib/core': + specifier: ^0.22.0 + version: 0.22.0(@module-federation/runtime-tools@2.5.0)(core-js@3.49.0)(typescript@5.9.3) + '@rstest/adapter-rslib': + specifier: ^0.10.3 + version: 0.10.3(@rslib/core@0.22.0)(@rstest/core@0.10.3)(typescript@5.9.3) + '@rstest/core': + specifier: ^0.10.3 + version: 0.10.3(@module-federation/runtime-tools@2.5.0)(core-js@3.49.0)(happy-dom@20.9.0)(jsdom@27.4.0) + '@solidjs/testing-library': + specifier: ^0.8.10 + version: 0.8.10(solid-js@1.9.13) + happy-dom: + specifier: ^20.9.0 + version: 20.9.0 + solid-js: + specifier: ^1.9.13 + version: 1.9.13 + typescript: + specifier: ^5.9.3 + version: 5.9.3 + + rslib/solid-v2-basic: + devDependencies: + '@rsbuild/plugin-babel': + specifier: ^1.2.1 + version: 1.2.1(@rsbuild/core@2.0.11) + '@rsbuild/plugin-solid': + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0(@babel/core@7.29.7)(@rsbuild/core@2.0.11)(@solidjs/web@2.0.0-beta.15)(solid-js@2.0.0-beta.15) + '@rslib/core': + specifier: ^0.22.0 + version: 0.22.0(@module-federation/runtime-tools@2.5.0)(core-js@3.49.0)(typescript@5.9.3) + '@solidjs/web': + specifier: '>=2.0.0-beta.0 <2.0.0-experimental.0' + version: 2.0.0-beta.15(solid-js@2.0.0-beta.15) + solid-js: + specifier: '>=2.0.0-beta.0 <2.0.0-experimental.0' + version: 2.0.0-beta.15 + typescript: + specifier: ^5.9.3 + version: 5.9.3 + rslib/svelte: devDependencies: '@rsbuild/plugin-svelte': @@ -7622,6 +7691,16 @@ packages: '@rsbuild/core': optional: true + '@rsbuild/plugin-solid@2.0.0-beta.0': + resolution: {integrity: sha512-J3GiIVNJQc/sjeIs9N0ZAEjXJJ1QgOeACRlDjDTSVMBseyIJH4LjNQRgYZAoah61o6/kiRtAh5sHfdRcOAVb9g==} + peerDependencies: + '@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': + optional: true + '@rsbuild/plugin-styled-components@1.6.2': resolution: {integrity: sha512-JCpv+bUJ+g0MgIu1zOlYsMcPqqQgJFhaLjGq3aX+8ih7UVksD+0OUTUyZIqSI6XiNYJI71UVuC2UiMacV1RdQQ==} peerDependencies: @@ -8348,6 +8427,24 @@ packages: peerDependencies: solid-js: '>=1.8.4' + '@solidjs/signals@2.0.0-beta.15': + resolution: {integrity: sha512-lw4a4frNajnmVjILbyfrgJ4ksqU+YKhkepZ8glKK9Q68O3zq7W8qDLOtsz5v1mt0o3TB11/rozJFpgMTmnYegg==} + + '@solidjs/testing-library@0.8.10': + resolution: {integrity: sha512-qdeuIerwyq7oQTIrrKvV0aL9aFeuwTd86VYD3afdq5HYEwoox1OBTJy4y8A3TFZr8oAR0nujYgCzY/8wgHGfeQ==} + engines: {node: '>= 14'} + peerDependencies: + '@solidjs/router': '>=0.9.0' + solid-js: '>=1.0.0' + peerDependenciesMeta: + '@solidjs/router': + optional: true + + '@solidjs/web@2.0.0-beta.15': + resolution: {integrity: sha512-+LvmzzN5CHxQ+TeCGgA8DKuB8S4t0EHVlmDUlAp4hkLnh7My3ZGuKYHKWsFMd8w08nPgF6LdBZkH+c5iNcmcSA==} + peerDependencies: + solid-js: ^2.0.0-beta.15 + '@storybook/addon-docs@10.4.1': resolution: {integrity: sha512-IYqUdjoZe4VO2LFZlKL/gwy7DsQSWCq6hX+zc1MBmZo04yycDASk1tte57n9pdlW3ajw9yYMF/+lVBi+xQjyvw==} peerDependencies: @@ -9868,6 +9965,11 @@ packages: peerDependencies: '@babel/core': ^7.20.12 + babel-plugin-jsx-dom-expressions@0.50.0-next.14: + resolution: {integrity: sha512-eMUq8UuVs5ROCiYmtMBp/TWuRxL7GZ32JUs47CmTzZo8hX9AIayTnNtbsBmQlfEnJla3TaxgBYDvGxNlHCqVcA==} + peerDependencies: + '@babel/core': ^7.20.12 + babel-plugin-macros@3.1.0: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} @@ -9899,6 +10001,15 @@ packages: solid-js: optional: true + babel-preset-solid@2.0.0-beta.15: + resolution: {integrity: sha512-nXbT3ZlgHmVcH1VvEFwyrxcMQmpRJ55JoOLy+4wAxpaYtADw5YJh4t5UlT5WyuWfv6VC7URDCkFGEdAOjmTwjw==} + peerDependencies: + '@babel/core': ^7.0.0 + solid-js: ^2.0.0-beta.15 + peerDependenciesMeta: + solid-js: + optional: true + babel-walk@3.0.0-canary-5: resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==} engines: {node: '>= 10.0.0'} @@ -14797,11 +14908,19 @@ packages: solid-js@1.9.13: resolution: {integrity: sha512-6hJeJMOcEX8ktqjpDoJZEmld3ijvcvWBDtiXBm7f4332SiFN66QeAQI1REQshvyUoISsSeJ4PHDauKYbwao9JQ==} + solid-js@2.0.0-beta.15: + resolution: {integrity: sha512-3hvcmEFUgDlahc++/ulrPhnc5IM7aJbW1P4TUaKsMZpDY5qGcOagtL4nbXGdUPnVP0JsJhMuE9bXEcLdLE+2SA==} + solid-refresh@0.7.8: resolution: {integrity: sha512-iG442T3HXJp5jEebCy8okETrWnmX7CnxNOKrJQVeufh6WXSn+xtLXaptUXXMHTWcRqTJOJwQ8UwzxrRtVFSIzA==} peerDependencies: solid-js: ^1.3 + solid-refresh@0.8.0-next.7: + resolution: {integrity: sha512-fqkPRAeiE0tqfo2ZljeQBIXwfYssU2w1FmaWFrXmnV33B/CfGfez7BjtOF0Y1/orUNRXI/DZcJlJThHllcCMsA==} + peerDependencies: + solid-js: '>=2.0.0-beta.7 <2.0.0-experimental.0' + sonic-boom@4.2.0: resolution: {integrity: sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==} @@ -15910,6 +16029,9 @@ packages: engines: {node: '>=8'} hasBin: true + validate-html-nesting@1.2.4: + resolution: {integrity: sha512-doQi7e8EJ2OWneSG1aZpJluS6A49aZM0+EICXWKm1i6WvqTLmq0tpUcImc4KTWG50mORO0C4YDBtOCSYvElftw==} + validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} @@ -20429,6 +20551,19 @@ snapshots: - solid-js - supports-color + '@rsbuild/plugin-solid@2.0.0-beta.0(@babel/core@7.29.7)(@rsbuild/core@2.0.11)(@solidjs/web@2.0.0-beta.15)(solid-js@2.0.0-beta.15)': + dependencies: + '@rsbuild/plugin-babel': 1.1.2(@rsbuild/core@2.0.11) + '@solidjs/web': 2.0.0-beta.15(solid-js@2.0.0-beta.15) + babel-preset-solid: 2.0.0-beta.15(@babel/core@7.29.7)(solid-js@2.0.0-beta.15) + solid-js: 2.0.0-beta.15 + solid-refresh: 0.8.0-next.7(solid-js@2.0.0-beta.15) + optionalDependencies: + '@rsbuild/core': 2.0.11(@module-federation/runtime-tools@2.5.0)(core-js@3.49.0) + transitivePeerDependencies: + - '@babel/core' + - supports-color + '@rsbuild/plugin-styled-components@1.6.2(@rsbuild/core@2.0.9)': dependencies: '@swc/plugin-styled-components': 12.12.1 @@ -21425,6 +21560,11 @@ snapshots: '@solid-primitives/utils': 6.4.0(solid-js@1.9.13) solid-js: 1.9.13 + '@solid-primitives/event-listener@2.4.5(solid-js@2.0.0-beta.15)': + dependencies: + '@solid-primitives/utils': 6.4.0(solid-js@2.0.0-beta.15) + solid-js: 2.0.0-beta.15 + '@solid-primitives/keyboard@1.3.5(solid-js@1.9.13)': dependencies: '@solid-primitives/event-listener': 2.4.5(solid-js@1.9.13) @@ -21432,6 +21572,13 @@ snapshots: '@solid-primitives/utils': 6.4.0(solid-js@1.9.13) solid-js: 1.9.13 + '@solid-primitives/keyboard@1.3.5(solid-js@2.0.0-beta.15)': + dependencies: + '@solid-primitives/event-listener': 2.4.5(solid-js@2.0.0-beta.15) + '@solid-primitives/rootless': 1.5.3(solid-js@2.0.0-beta.15) + '@solid-primitives/utils': 6.4.0(solid-js@2.0.0-beta.15) + solid-js: 2.0.0-beta.15 + '@solid-primitives/media@2.3.5(solid-js@1.9.13)': dependencies: '@solid-primitives/event-listener': 2.4.5(solid-js@1.9.13) @@ -21453,11 +21600,24 @@ snapshots: '@solid-primitives/utils': 6.4.0(solid-js@1.9.13) solid-js: 1.9.13 + '@solid-primitives/resize-observer@2.1.5(solid-js@2.0.0-beta.15)': + dependencies: + '@solid-primitives/event-listener': 2.4.5(solid-js@2.0.0-beta.15) + '@solid-primitives/rootless': 1.5.3(solid-js@2.0.0-beta.15) + '@solid-primitives/static-store': 0.1.3(solid-js@2.0.0-beta.15) + '@solid-primitives/utils': 6.4.0(solid-js@2.0.0-beta.15) + solid-js: 2.0.0-beta.15 + '@solid-primitives/rootless@1.5.3(solid-js@1.9.13)': dependencies: '@solid-primitives/utils': 6.4.0(solid-js@1.9.13) solid-js: 1.9.13 + '@solid-primitives/rootless@1.5.3(solid-js@2.0.0-beta.15)': + dependencies: + '@solid-primitives/utils': 6.4.0(solid-js@2.0.0-beta.15) + solid-js: 2.0.0-beta.15 + '@solid-primitives/scheduled@1.5.3(solid-js@1.9.13)': dependencies: solid-js: 1.9.13 @@ -21467,6 +21627,11 @@ snapshots: '@solid-primitives/utils': 6.4.0(solid-js@1.9.13) solid-js: 1.9.13 + '@solid-primitives/static-store@0.1.3(solid-js@2.0.0-beta.15)': + dependencies: + '@solid-primitives/utils': 6.4.0(solid-js@2.0.0-beta.15) + solid-js: 2.0.0-beta.15 + '@solid-primitives/styles@0.1.3(solid-js@1.9.13)': dependencies: '@solid-primitives/rootless': 1.5.3(solid-js@1.9.13) @@ -21477,10 +21642,27 @@ snapshots: dependencies: solid-js: 1.9.13 + '@solid-primitives/utils@6.4.0(solid-js@2.0.0-beta.15)': + dependencies: + solid-js: 2.0.0-beta.15 + '@solidjs/meta@0.29.4(solid-js@1.9.13)': dependencies: solid-js: 1.9.13 + '@solidjs/signals@2.0.0-beta.15': {} + + '@solidjs/testing-library@0.8.10(solid-js@1.9.13)': + dependencies: + '@testing-library/dom': 10.4.1 + solid-js: 1.9.13 + + '@solidjs/web@2.0.0-beta.15(solid-js@2.0.0-beta.15)': + dependencies: + seroval: 1.5.4 + seroval-plugins: 1.5.4(seroval@1.5.4) + solid-js: 2.0.0-beta.15 + '@storybook/addon-docs@10.4.1(@types/react-dom@19.2.3)(@types/react@19.2.15)(esbuild@0.28.0)(rollup@4.60.3)(storybook@10.4.1)(vite@7.1.1)(webpack@5.102.1)': dependencies: '@mdx-js/react': 3.1.1(@types/react@19.2.15)(react@19.2.7) @@ -21926,26 +22108,26 @@ snapshots: '@tanstack/devtools-event-client@0.4.3': {} - '@tanstack/devtools-ui@0.5.2(csstype@3.2.3)(solid-js@1.9.13)': + '@tanstack/devtools-ui@0.5.2(csstype@3.2.3)(solid-js@2.0.0-beta.15)': dependencies: clsx: 2.1.1 dayjs: 1.11.20 goober: 2.1.19(csstype@3.2.3) - solid-js: 1.9.13 + solid-js: 2.0.0-beta.15 transitivePeerDependencies: - csstype - '@tanstack/devtools@0.12.2(csstype@3.2.3)(solid-js@1.9.13)': + '@tanstack/devtools@0.12.2(csstype@3.2.3)(solid-js@2.0.0-beta.15)': dependencies: - '@solid-primitives/event-listener': 2.4.5(solid-js@1.9.13) - '@solid-primitives/keyboard': 1.3.5(solid-js@1.9.13) - '@solid-primitives/resize-observer': 2.1.5(solid-js@1.9.13) + '@solid-primitives/event-listener': 2.4.5(solid-js@2.0.0-beta.15) + '@solid-primitives/keyboard': 1.3.5(solid-js@2.0.0-beta.15) + '@solid-primitives/resize-observer': 2.1.5(solid-js@2.0.0-beta.15) '@tanstack/devtools-client': 0.0.6 '@tanstack/devtools-event-bus': 0.4.1 - '@tanstack/devtools-ui': 0.5.2(csstype@3.2.3)(solid-js@1.9.13) + '@tanstack/devtools-ui': 0.5.2(csstype@3.2.3)(solid-js@2.0.0-beta.15) clsx: 2.1.1 goober: 2.1.19(csstype@3.2.3) - solid-js: 1.9.13 + solid-js: 2.0.0-beta.15 transitivePeerDependencies: - bufferutil - csstype @@ -21955,9 +22137,9 @@ snapshots: '@tanstack/query-core@5.101.0': {} - '@tanstack/react-devtools@0.10.5(@types/react-dom@19.2.3)(@types/react@19.2.15)(csstype@3.2.3)(react-dom@19.2.7)(react@19.2.7)(solid-js@1.9.13)': + '@tanstack/react-devtools@0.10.5(@types/react-dom@19.2.3)(@types/react@19.2.15)(csstype@3.2.3)(react-dom@19.2.7)(react@19.2.7)(solid-js@2.0.0-beta.15)': dependencies: - '@tanstack/devtools': 0.12.2(csstype@3.2.3)(solid-js@1.9.13) + '@tanstack/devtools': 0.12.2(csstype@3.2.3)(solid-js@2.0.0-beta.15) '@types/react': 19.2.15 '@types/react-dom': 19.2.3(@types/react@19.2.15) react: 19.2.7 @@ -23347,6 +23529,16 @@ snapshots: html-entities: 2.3.3 parse5: 7.3.0 + babel-plugin-jsx-dom-expressions@0.50.0-next.14(@babel/core@7.29.7): + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-imports': 7.18.6 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/types': 7.29.7 + html-entities: 2.3.3 + parse5: 7.3.0 + validate-html-nesting: 1.2.4 + babel-plugin-macros@3.1.0: dependencies: '@babel/runtime': 7.27.1 @@ -23412,6 +23604,13 @@ snapshots: optionalDependencies: solid-js: 1.9.13 + babel-preset-solid@2.0.0-beta.15(@babel/core@7.29.7)(solid-js@2.0.0-beta.15): + dependencies: + '@babel/core': 7.29.7 + babel-plugin-jsx-dom-expressions: 0.50.0-next.14(@babel/core@7.29.7) + optionalDependencies: + solid-js: 2.0.0-beta.15 + babel-walk@3.0.0-canary-5: dependencies: '@babel/types': 7.29.7 @@ -29605,12 +29804,25 @@ snapshots: seroval: 1.5.2 seroval-plugins: 1.5.2(seroval@1.5.2) + solid-js@2.0.0-beta.15: + dependencies: + '@solidjs/signals': 2.0.0-beta.15 + csstype: 3.2.3 + seroval: 1.5.4 + seroval-plugins: 1.5.4(seroval@1.5.4) + solid-refresh@0.7.8(solid-js@1.9.13): dependencies: '@babel/generator': 7.29.1 '@babel/types': 7.29.0 solid-js: 1.9.13 + solid-refresh@0.8.0-next.7(solid-js@2.0.0-beta.15): + dependencies: + '@babel/generator': 7.29.7 + '@babel/types': 7.29.7 + solid-js: 2.0.0-beta.15 + sonic-boom@4.2.0: dependencies: atomic-sleep: 1.0.0 @@ -30995,6 +31207,8 @@ snapshots: kleur: 4.1.5 sade: 1.8.1 + validate-html-nesting@1.2.4: {} + validate-npm-package-license@3.0.4: dependencies: spdx-correct: 3.2.0 diff --git a/rslib/solid-basic/.gitignore b/rslib/solid-basic/.gitignore new file mode 100644 index 000000000..b538abcd1 --- /dev/null +++ b/rslib/solid-basic/.gitignore @@ -0,0 +1,14 @@ +# Local +.DS_Store +*.local +*.log* + +# Dist +node_modules +dist/ +storybook-static + +# IDE +.vscode/* +!.vscode/extensions.json +.idea diff --git a/rslib/solid-basic/README.md b/rslib/solid-basic/README.md new file mode 100644 index 000000000..ace8557f5 --- /dev/null +++ b/rslib/solid-basic/README.md @@ -0,0 +1,23 @@ +# Rslib Solid basic + +## Setup + +Install the dependencies: + +```bash +pnpm install +``` + +## Get started + +Build the library: + +```bash +pnpm build +``` + +Build the library in watch mode: + +```bash +pnpm dev +``` diff --git a/rslib/solid-basic/package.json b/rslib/solid-basic/package.json new file mode 100644 index 000000000..12038fc4d --- /dev/null +++ b/rslib/solid-basic/package.json @@ -0,0 +1,30 @@ +{ + "name": "@rslib-example/solid-basic", + "version": "0.0.0", + "type": "module", + "exports": { + ".": { + "solid": "./dist/source/index.jsx", + "types": "./dist/index.d.ts", + "import": "./dist/index.js" + } + }, + "types": "./dist/index.d.ts", + "files": [ + "dist" + ], + "scripts": { + "build": "rslib", + "dev": "rslib -w" + }, + "devDependencies": { + "@rsbuild/plugin-babel": "^1.2.1", + "@rsbuild/plugin-solid": "^1.2.1", + "@rslib/core": "^0.22.0", + "solid-js": "^1.9.13", + "typescript": "^5.9.3" + }, + "peerDependencies": { + "solid-js": "^1.8.0" + } +} diff --git a/rslib/solid-basic/rslib.config.ts b/rslib/solid-basic/rslib.config.ts new file mode 100644 index 000000000..a321b384a --- /dev/null +++ b/rslib/solid-basic/rslib.config.ts @@ -0,0 +1,57 @@ +import { pluginBabel } from '@rsbuild/plugin-babel'; +import { pluginSolid } from '@rsbuild/plugin-solid'; +import { defineConfig } from '@rslib/core'; + +export default defineConfig({ + lib: [ + { + id: 'compiled', + bundle: false, + format: 'esm', + dts: true, + plugins: [ + pluginBabel({ + include: /\.(?:jsx|tsx)$/, + }), + pluginSolid(), + ], + }, + { + id: 'source', + bundle: false, + format: 'esm', + output: { + distPath: { + root: './dist/source', + }, + filename: { + js: '[name].jsx', + }, + }, + tools: { + swc: { + detectSyntax: 'auto', + jsc: { + transform: { + react: { + runtime: 'preserve', + }, + }, + }, + }, + rspack: { + module: { + parser: { + javascript: { + jsx: true, + }, + }, + }, + }, + }, + }, + ], + output: { + target: 'web', + }, +}); diff --git a/rslib/solid-basic/src/Button.tsx b/rslib/solid-basic/src/Button.tsx new file mode 100644 index 000000000..39e3c5955 --- /dev/null +++ b/rslib/solid-basic/src/Button.tsx @@ -0,0 +1,36 @@ +import { createSignal, type Component } from 'solid-js'; +import './button.css'; + +export interface CounterButtonProps { + primary?: boolean; + size?: 'small' | 'medium' | 'large'; + initialValue?: number; + step?: number; +} + +export const CounterButton: Component = ({ + primary = false, + size = 'medium', + initialValue = 0, + step = 1, +}) => { + const mode = primary ? 'demo-button--primary' : 'demo-button--secondary'; + const [count, setCount] = createSignal(initialValue); + + return ( +
+ Solid counter + + {count()} + + +
+ ); +}; diff --git a/rslib/solid-basic/src/button.css b/rslib/solid-basic/src/button.css new file mode 100644 index 000000000..cade96145 --- /dev/null +++ b/rslib/solid-basic/src/button.css @@ -0,0 +1,57 @@ +.counter-card { + display: inline-grid; + min-width: 220px; + gap: 12px; + padding: 20px; + border: 1px solid #d7e2f0; + border-radius: 12px; + background: #fff; + box-shadow: rgba(20, 35, 61, 0.08) 0 12px 32px; +} + +.counter-card__label { + color: #536173; + font-size: 13px; + font-weight: 600; +} + +.counter-card__value { + color: #152238; + font-size: 40px; + line-height: 1; +} + +.demo-button { + font-weight: 700; + border: 0; + border-radius: 8px; + cursor: pointer; + display: inline-block; + line-height: 1; +} + +.demo-button--primary { + color: white; + background-color: #1463ff; +} + +.demo-button--secondary { + color: #333; + background-color: transparent; + box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 0px 1px inset; +} + +.demo-button--small { + font-size: 12px; + padding: 10px 16px; +} + +.demo-button--medium { + font-size: 14px; + padding: 11px 20px; +} + +.demo-button--large { + font-size: 16px; + padding: 12px 24px; +} diff --git a/rslib/solid-basic/src/index.tsx b/rslib/solid-basic/src/index.tsx new file mode 100644 index 000000000..0879d66ae --- /dev/null +++ b/rslib/solid-basic/src/index.tsx @@ -0,0 +1,2 @@ +export { CounterButton } from './Button'; +export type { CounterButtonProps } from './Button'; diff --git a/rslib/solid-basic/tsconfig.json b/rslib/solid-basic/tsconfig.json new file mode 100644 index 000000000..4e38397a1 --- /dev/null +++ b/rslib/solid-basic/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "lib": ["DOM", "ES2022"], + "module": "ESNext", + "jsx": "preserve", + "jsxImportSource": "solid-js", + "strict": true, + "skipLibCheck": true, + "isolatedModules": true, + "resolveJsonModule": true, + "moduleResolution": "bundler", + "useDefineForClassFields": true + }, + "include": ["src"] +} diff --git a/rslib/solid-rstest/.gitignore b/rslib/solid-rstest/.gitignore new file mode 100644 index 000000000..b538abcd1 --- /dev/null +++ b/rslib/solid-rstest/.gitignore @@ -0,0 +1,14 @@ +# Local +.DS_Store +*.local +*.log* + +# Dist +node_modules +dist/ +storybook-static + +# IDE +.vscode/* +!.vscode/extensions.json +.idea diff --git a/rslib/solid-rstest/README.md b/rslib/solid-rstest/README.md new file mode 100644 index 000000000..beacabf1d --- /dev/null +++ b/rslib/solid-rstest/README.md @@ -0,0 +1,29 @@ +# Rslib Solid Rstest + +## Setup + +Install the dependencies: + +```bash +pnpm install +``` + +## Get started + +Build the library: + +```bash +pnpm build +``` + +Build the library in watch mode: + +```bash +pnpm dev +``` + +Run tests: + +```bash +pnpm test +``` diff --git a/rslib/solid-rstest/package.json b/rslib/solid-rstest/package.json new file mode 100644 index 000000000..ecd76366c --- /dev/null +++ b/rslib/solid-rstest/package.json @@ -0,0 +1,35 @@ +{ + "name": "@rslib-example/solid-rstest", + "version": "0.0.0", + "type": "module", + "exports": { + ".": { + "solid": "./dist/source/index.jsx", + "types": "./dist/index.d.ts", + "import": "./dist/index.js" + } + }, + "types": "./dist/index.d.ts", + "files": [ + "dist" + ], + "scripts": { + "build": "rslib", + "dev": "rslib -w", + "test": "rstest" + }, + "devDependencies": { + "@rsbuild/plugin-babel": "^1.2.1", + "@rsbuild/plugin-solid": "^1.2.1", + "@rslib/core": "^0.22.0", + "@rstest/adapter-rslib": "^0.10.3", + "@rstest/core": "^0.10.3", + "@solidjs/testing-library": "^0.8.10", + "happy-dom": "^20.9.0", + "solid-js": "^1.9.13", + "typescript": "^5.9.3" + }, + "peerDependencies": { + "solid-js": "^1.8.0" + } +} diff --git a/rslib/solid-rstest/rslib.config.ts b/rslib/solid-rstest/rslib.config.ts new file mode 100644 index 000000000..a321b384a --- /dev/null +++ b/rslib/solid-rstest/rslib.config.ts @@ -0,0 +1,57 @@ +import { pluginBabel } from '@rsbuild/plugin-babel'; +import { pluginSolid } from '@rsbuild/plugin-solid'; +import { defineConfig } from '@rslib/core'; + +export default defineConfig({ + lib: [ + { + id: 'compiled', + bundle: false, + format: 'esm', + dts: true, + plugins: [ + pluginBabel({ + include: /\.(?:jsx|tsx)$/, + }), + pluginSolid(), + ], + }, + { + id: 'source', + bundle: false, + format: 'esm', + output: { + distPath: { + root: './dist/source', + }, + filename: { + js: '[name].jsx', + }, + }, + tools: { + swc: { + detectSyntax: 'auto', + jsc: { + transform: { + react: { + runtime: 'preserve', + }, + }, + }, + }, + rspack: { + module: { + parser: { + javascript: { + jsx: true, + }, + }, + }, + }, + }, + }, + ], + output: { + target: 'web', + }, +}); diff --git a/rslib/solid-rstest/rstest.config.ts b/rslib/solid-rstest/rstest.config.ts new file mode 100644 index 000000000..a737f6123 --- /dev/null +++ b/rslib/solid-rstest/rstest.config.ts @@ -0,0 +1,9 @@ +import { withRslibConfig } from '@rstest/adapter-rslib'; +import { defineConfig } from '@rstest/core'; + +export default defineConfig({ + extends: withRslibConfig({ + libId: 'compiled', + }), + testEnvironment: 'happy-dom', +}); diff --git a/rslib/solid-rstest/src/Button.tsx b/rslib/solid-rstest/src/Button.tsx new file mode 100644 index 000000000..39e3c5955 --- /dev/null +++ b/rslib/solid-rstest/src/Button.tsx @@ -0,0 +1,36 @@ +import { createSignal, type Component } from 'solid-js'; +import './button.css'; + +export interface CounterButtonProps { + primary?: boolean; + size?: 'small' | 'medium' | 'large'; + initialValue?: number; + step?: number; +} + +export const CounterButton: Component = ({ + primary = false, + size = 'medium', + initialValue = 0, + step = 1, +}) => { + const mode = primary ? 'demo-button--primary' : 'demo-button--secondary'; + const [count, setCount] = createSignal(initialValue); + + return ( +
+ Solid counter + + {count()} + + +
+ ); +}; diff --git a/rslib/solid-rstest/src/button.css b/rslib/solid-rstest/src/button.css new file mode 100644 index 000000000..cade96145 --- /dev/null +++ b/rslib/solid-rstest/src/button.css @@ -0,0 +1,57 @@ +.counter-card { + display: inline-grid; + min-width: 220px; + gap: 12px; + padding: 20px; + border: 1px solid #d7e2f0; + border-radius: 12px; + background: #fff; + box-shadow: rgba(20, 35, 61, 0.08) 0 12px 32px; +} + +.counter-card__label { + color: #536173; + font-size: 13px; + font-weight: 600; +} + +.counter-card__value { + color: #152238; + font-size: 40px; + line-height: 1; +} + +.demo-button { + font-weight: 700; + border: 0; + border-radius: 8px; + cursor: pointer; + display: inline-block; + line-height: 1; +} + +.demo-button--primary { + color: white; + background-color: #1463ff; +} + +.demo-button--secondary { + color: #333; + background-color: transparent; + box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 0px 1px inset; +} + +.demo-button--small { + font-size: 12px; + padding: 10px 16px; +} + +.demo-button--medium { + font-size: 14px; + padding: 11px 20px; +} + +.demo-button--large { + font-size: 16px; + padding: 12px 24px; +} diff --git a/rslib/solid-rstest/src/index.tsx b/rslib/solid-rstest/src/index.tsx new file mode 100644 index 000000000..0879d66ae --- /dev/null +++ b/rslib/solid-rstest/src/index.tsx @@ -0,0 +1,2 @@ +export { CounterButton } from './Button'; +export type { CounterButtonProps } from './Button'; diff --git a/rslib/solid-rstest/tests/index.test.tsx b/rslib/solid-rstest/tests/index.test.tsx new file mode 100644 index 000000000..0036c61eb --- /dev/null +++ b/rslib/solid-rstest/tests/index.test.tsx @@ -0,0 +1,14 @@ +import { render, screen } from '@solidjs/testing-library'; +import { expect, test } from '@rstest/core'; +import { CounterButton } from '../src'; + +test('CounterButton should render and update count', () => { + render(() => ); + + const value = screen.getByTestId('counter-value'); + const button = screen.getByTestId('increment-button') as HTMLButtonElement; + + expect(value.textContent).toBe('2'); + button.click(); + expect(value.textContent).toBe('5'); +}); diff --git a/rslib/solid-rstest/tsconfig.json b/rslib/solid-rstest/tsconfig.json new file mode 100644 index 000000000..4e38397a1 --- /dev/null +++ b/rslib/solid-rstest/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "lib": ["DOM", "ES2022"], + "module": "ESNext", + "jsx": "preserve", + "jsxImportSource": "solid-js", + "strict": true, + "skipLibCheck": true, + "isolatedModules": true, + "resolveJsonModule": true, + "moduleResolution": "bundler", + "useDefineForClassFields": true + }, + "include": ["src"] +} diff --git a/rslib/solid-v2-basic/.gitignore b/rslib/solid-v2-basic/.gitignore new file mode 100644 index 000000000..b538abcd1 --- /dev/null +++ b/rslib/solid-v2-basic/.gitignore @@ -0,0 +1,14 @@ +# Local +.DS_Store +*.local +*.log* + +# Dist +node_modules +dist/ +storybook-static + +# IDE +.vscode/* +!.vscode/extensions.json +.idea diff --git a/rslib/solid-v2-basic/README.md b/rslib/solid-v2-basic/README.md new file mode 100644 index 000000000..baa4e77af --- /dev/null +++ b/rslib/solid-v2-basic/README.md @@ -0,0 +1,23 @@ +# Rslib Solid v2 basic + +## Setup + +Install the dependencies: + +```bash +pnpm install +``` + +## Get started + +Build the library: + +```bash +pnpm build +``` + +Build the library in watch mode: + +```bash +pnpm dev +``` diff --git a/rslib/solid-v2-basic/package.json b/rslib/solid-v2-basic/package.json new file mode 100644 index 000000000..d06e93706 --- /dev/null +++ b/rslib/solid-v2-basic/package.json @@ -0,0 +1,32 @@ +{ + "name": "@rslib-example/solid-v2-basic", + "version": "0.0.0", + "type": "module", + "exports": { + ".": { + "solid": "./dist/source/index.jsx", + "types": "./dist/index.d.ts", + "import": "./dist/index.js" + } + }, + "types": "./dist/index.d.ts", + "files": [ + "dist" + ], + "scripts": { + "build": "rslib", + "dev": "rslib -w" + }, + "devDependencies": { + "@rsbuild/plugin-babel": "^1.2.1", + "@rsbuild/plugin-solid": "2.0.0-beta.0", + "@rslib/core": "^0.22.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", + "typescript": "^5.9.3" + }, + "peerDependencies": { + "@solidjs/web": ">=2.0.0-beta.0 <2.0.0-experimental.0", + "solid-js": ">=2.0.0-beta.0 <2.0.0-experimental.0" + } +} diff --git a/rslib/solid-v2-basic/rslib.config.ts b/rslib/solid-v2-basic/rslib.config.ts new file mode 100644 index 000000000..a321b384a --- /dev/null +++ b/rslib/solid-v2-basic/rslib.config.ts @@ -0,0 +1,57 @@ +import { pluginBabel } from '@rsbuild/plugin-babel'; +import { pluginSolid } from '@rsbuild/plugin-solid'; +import { defineConfig } from '@rslib/core'; + +export default defineConfig({ + lib: [ + { + id: 'compiled', + bundle: false, + format: 'esm', + dts: true, + plugins: [ + pluginBabel({ + include: /\.(?:jsx|tsx)$/, + }), + pluginSolid(), + ], + }, + { + id: 'source', + bundle: false, + format: 'esm', + output: { + distPath: { + root: './dist/source', + }, + filename: { + js: '[name].jsx', + }, + }, + tools: { + swc: { + detectSyntax: 'auto', + jsc: { + transform: { + react: { + runtime: 'preserve', + }, + }, + }, + }, + rspack: { + module: { + parser: { + javascript: { + jsx: true, + }, + }, + }, + }, + }, + }, + ], + output: { + target: 'web', + }, +}); diff --git a/rslib/solid-v2-basic/src/Button.tsx b/rslib/solid-v2-basic/src/Button.tsx new file mode 100644 index 000000000..39e3c5955 --- /dev/null +++ b/rslib/solid-v2-basic/src/Button.tsx @@ -0,0 +1,36 @@ +import { createSignal, type Component } from 'solid-js'; +import './button.css'; + +export interface CounterButtonProps { + primary?: boolean; + size?: 'small' | 'medium' | 'large'; + initialValue?: number; + step?: number; +} + +export const CounterButton: Component = ({ + primary = false, + size = 'medium', + initialValue = 0, + step = 1, +}) => { + const mode = primary ? 'demo-button--primary' : 'demo-button--secondary'; + const [count, setCount] = createSignal(initialValue); + + return ( +
+ Solid counter + + {count()} + + +
+ ); +}; diff --git a/rslib/solid-v2-basic/src/button.css b/rslib/solid-v2-basic/src/button.css new file mode 100644 index 000000000..cade96145 --- /dev/null +++ b/rslib/solid-v2-basic/src/button.css @@ -0,0 +1,57 @@ +.counter-card { + display: inline-grid; + min-width: 220px; + gap: 12px; + padding: 20px; + border: 1px solid #d7e2f0; + border-radius: 12px; + background: #fff; + box-shadow: rgba(20, 35, 61, 0.08) 0 12px 32px; +} + +.counter-card__label { + color: #536173; + font-size: 13px; + font-weight: 600; +} + +.counter-card__value { + color: #152238; + font-size: 40px; + line-height: 1; +} + +.demo-button { + font-weight: 700; + border: 0; + border-radius: 8px; + cursor: pointer; + display: inline-block; + line-height: 1; +} + +.demo-button--primary { + color: white; + background-color: #1463ff; +} + +.demo-button--secondary { + color: #333; + background-color: transparent; + box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 0px 1px inset; +} + +.demo-button--small { + font-size: 12px; + padding: 10px 16px; +} + +.demo-button--medium { + font-size: 14px; + padding: 11px 20px; +} + +.demo-button--large { + font-size: 16px; + padding: 12px 24px; +} diff --git a/rslib/solid-v2-basic/src/index.tsx b/rslib/solid-v2-basic/src/index.tsx new file mode 100644 index 000000000..0879d66ae --- /dev/null +++ b/rslib/solid-v2-basic/src/index.tsx @@ -0,0 +1,2 @@ +export { CounterButton } from './Button'; +export type { CounterButtonProps } from './Button'; diff --git a/rslib/solid-v2-basic/tsconfig.json b/rslib/solid-v2-basic/tsconfig.json new file mode 100644 index 000000000..a1f78536a --- /dev/null +++ b/rslib/solid-v2-basic/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "lib": ["DOM", "ES2022"], + "module": "ESNext", + "jsx": "preserve", + "jsxImportSource": "@solidjs/web", + "strict": true, + "skipLibCheck": true, + "isolatedModules": true, + "resolveJsonModule": true, + "moduleResolution": "bundler", + "useDefineForClassFields": true + }, + "include": ["src"] +} From fd34eef23526b0304b48aa8fa223a10eb679f629 Mon Sep 17 00:00:00 2001 From: Elecmonkey Date: Tue, 30 Jun 2026 13:58:38 +0800 Subject: [PATCH 2/5] chore: remove solid v2 example --- pnpm-lock.yaml | 173 ++------------------------- rslib/solid-v2-basic/.gitignore | 14 --- rslib/solid-v2-basic/README.md | 23 ---- rslib/solid-v2-basic/package.json | 32 ----- rslib/solid-v2-basic/rslib.config.ts | 57 --------- rslib/solid-v2-basic/src/Button.tsx | 36 ------ rslib/solid-v2-basic/src/button.css | 57 --------- rslib/solid-v2-basic/src/index.tsx | 2 - rslib/solid-v2-basic/tsconfig.json | 15 --- 9 files changed, 11 insertions(+), 398 deletions(-) delete mode 100644 rslib/solid-v2-basic/.gitignore delete mode 100644 rslib/solid-v2-basic/README.md delete mode 100644 rslib/solid-v2-basic/package.json delete mode 100644 rslib/solid-v2-basic/rslib.config.ts delete mode 100644 rslib/solid-v2-basic/src/Button.tsx delete mode 100644 rslib/solid-v2-basic/src/button.css delete mode 100644 rslib/solid-v2-basic/src/index.tsx delete mode 100644 rslib/solid-v2-basic/tsconfig.json diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a5406b22b..2828fd801 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -711,7 +711,7 @@ importers: dependencies: '@tanstack/react-devtools': specifier: ^0.10.5 - version: 0.10.5(@types/react-dom@19.2.3)(@types/react@19.2.15)(csstype@3.2.3)(react-dom@19.2.7)(react@19.2.7)(solid-js@2.0.0-beta.15) + version: 0.10.5(@types/react-dom@19.2.3)(@types/react@19.2.15)(csstype@3.2.3)(react-dom@19.2.7)(react@19.2.7)(solid-js@1.9.13) '@tanstack/react-router': specifier: ^1.170.11 version: 1.170.11(react-dom@19.2.7)(react@19.2.7) @@ -1622,27 +1622,6 @@ importers: specifier: ^5.9.3 version: 5.9.3 - rslib/solid-v2-basic: - devDependencies: - '@rsbuild/plugin-babel': - specifier: ^1.2.1 - version: 1.2.1(@rsbuild/core@2.0.11) - '@rsbuild/plugin-solid': - specifier: 2.0.0-beta.0 - version: 2.0.0-beta.0(@babel/core@7.29.7)(@rsbuild/core@2.0.11)(@solidjs/web@2.0.0-beta.15)(solid-js@2.0.0-beta.15) - '@rslib/core': - specifier: ^0.22.0 - version: 0.22.0(@module-federation/runtime-tools@2.5.0)(core-js@3.49.0)(typescript@5.9.3) - '@solidjs/web': - specifier: '>=2.0.0-beta.0 <2.0.0-experimental.0' - version: 2.0.0-beta.15(solid-js@2.0.0-beta.15) - solid-js: - specifier: '>=2.0.0-beta.0 <2.0.0-experimental.0' - version: 2.0.0-beta.15 - typescript: - specifier: ^5.9.3 - version: 5.9.3 - rslib/svelte: devDependencies: '@rsbuild/plugin-svelte': @@ -7691,16 +7670,6 @@ packages: '@rsbuild/core': optional: true - '@rsbuild/plugin-solid@2.0.0-beta.0': - resolution: {integrity: sha512-J3GiIVNJQc/sjeIs9N0ZAEjXJJ1QgOeACRlDjDTSVMBseyIJH4LjNQRgYZAoah61o6/kiRtAh5sHfdRcOAVb9g==} - peerDependencies: - '@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': - optional: true - '@rsbuild/plugin-styled-components@1.6.2': resolution: {integrity: sha512-JCpv+bUJ+g0MgIu1zOlYsMcPqqQgJFhaLjGq3aX+8ih7UVksD+0OUTUyZIqSI6XiNYJI71UVuC2UiMacV1RdQQ==} peerDependencies: @@ -8427,9 +8396,6 @@ packages: peerDependencies: solid-js: '>=1.8.4' - '@solidjs/signals@2.0.0-beta.15': - resolution: {integrity: sha512-lw4a4frNajnmVjILbyfrgJ4ksqU+YKhkepZ8glKK9Q68O3zq7W8qDLOtsz5v1mt0o3TB11/rozJFpgMTmnYegg==} - '@solidjs/testing-library@0.8.10': resolution: {integrity: sha512-qdeuIerwyq7oQTIrrKvV0aL9aFeuwTd86VYD3afdq5HYEwoox1OBTJy4y8A3TFZr8oAR0nujYgCzY/8wgHGfeQ==} engines: {node: '>= 14'} @@ -8440,11 +8406,6 @@ packages: '@solidjs/router': optional: true - '@solidjs/web@2.0.0-beta.15': - resolution: {integrity: sha512-+LvmzzN5CHxQ+TeCGgA8DKuB8S4t0EHVlmDUlAp4hkLnh7My3ZGuKYHKWsFMd8w08nPgF6LdBZkH+c5iNcmcSA==} - peerDependencies: - solid-js: ^2.0.0-beta.15 - '@storybook/addon-docs@10.4.1': resolution: {integrity: sha512-IYqUdjoZe4VO2LFZlKL/gwy7DsQSWCq6hX+zc1MBmZo04yycDASk1tte57n9pdlW3ajw9yYMF/+lVBi+xQjyvw==} peerDependencies: @@ -9965,11 +9926,6 @@ packages: peerDependencies: '@babel/core': ^7.20.12 - babel-plugin-jsx-dom-expressions@0.50.0-next.14: - resolution: {integrity: sha512-eMUq8UuVs5ROCiYmtMBp/TWuRxL7GZ32JUs47CmTzZo8hX9AIayTnNtbsBmQlfEnJla3TaxgBYDvGxNlHCqVcA==} - peerDependencies: - '@babel/core': ^7.20.12 - babel-plugin-macros@3.1.0: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} @@ -10001,15 +9957,6 @@ packages: solid-js: optional: true - babel-preset-solid@2.0.0-beta.15: - resolution: {integrity: sha512-nXbT3ZlgHmVcH1VvEFwyrxcMQmpRJ55JoOLy+4wAxpaYtADw5YJh4t5UlT5WyuWfv6VC7URDCkFGEdAOjmTwjw==} - peerDependencies: - '@babel/core': ^7.0.0 - solid-js: ^2.0.0-beta.15 - peerDependenciesMeta: - solid-js: - optional: true - babel-walk@3.0.0-canary-5: resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==} engines: {node: '>= 10.0.0'} @@ -14908,19 +14855,11 @@ packages: solid-js@1.9.13: resolution: {integrity: sha512-6hJeJMOcEX8ktqjpDoJZEmld3ijvcvWBDtiXBm7f4332SiFN66QeAQI1REQshvyUoISsSeJ4PHDauKYbwao9JQ==} - solid-js@2.0.0-beta.15: - resolution: {integrity: sha512-3hvcmEFUgDlahc++/ulrPhnc5IM7aJbW1P4TUaKsMZpDY5qGcOagtL4nbXGdUPnVP0JsJhMuE9bXEcLdLE+2SA==} - solid-refresh@0.7.8: resolution: {integrity: sha512-iG442T3HXJp5jEebCy8okETrWnmX7CnxNOKrJQVeufh6WXSn+xtLXaptUXXMHTWcRqTJOJwQ8UwzxrRtVFSIzA==} peerDependencies: solid-js: ^1.3 - solid-refresh@0.8.0-next.7: - resolution: {integrity: sha512-fqkPRAeiE0tqfo2ZljeQBIXwfYssU2w1FmaWFrXmnV33B/CfGfez7BjtOF0Y1/orUNRXI/DZcJlJThHllcCMsA==} - peerDependencies: - solid-js: '>=2.0.0-beta.7 <2.0.0-experimental.0' - sonic-boom@4.2.0: resolution: {integrity: sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==} @@ -16029,9 +15968,6 @@ packages: engines: {node: '>=8'} hasBin: true - validate-html-nesting@1.2.4: - resolution: {integrity: sha512-doQi7e8EJ2OWneSG1aZpJluS6A49aZM0+EICXWKm1i6WvqTLmq0tpUcImc4KTWG50mORO0C4YDBtOCSYvElftw==} - validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} @@ -20551,19 +20487,6 @@ snapshots: - solid-js - supports-color - '@rsbuild/plugin-solid@2.0.0-beta.0(@babel/core@7.29.7)(@rsbuild/core@2.0.11)(@solidjs/web@2.0.0-beta.15)(solid-js@2.0.0-beta.15)': - dependencies: - '@rsbuild/plugin-babel': 1.1.2(@rsbuild/core@2.0.11) - '@solidjs/web': 2.0.0-beta.15(solid-js@2.0.0-beta.15) - babel-preset-solid: 2.0.0-beta.15(@babel/core@7.29.7)(solid-js@2.0.0-beta.15) - solid-js: 2.0.0-beta.15 - solid-refresh: 0.8.0-next.7(solid-js@2.0.0-beta.15) - optionalDependencies: - '@rsbuild/core': 2.0.11(@module-federation/runtime-tools@2.5.0)(core-js@3.49.0) - transitivePeerDependencies: - - '@babel/core' - - supports-color - '@rsbuild/plugin-styled-components@1.6.2(@rsbuild/core@2.0.9)': dependencies: '@swc/plugin-styled-components': 12.12.1 @@ -21560,11 +21483,6 @@ snapshots: '@solid-primitives/utils': 6.4.0(solid-js@1.9.13) solid-js: 1.9.13 - '@solid-primitives/event-listener@2.4.5(solid-js@2.0.0-beta.15)': - dependencies: - '@solid-primitives/utils': 6.4.0(solid-js@2.0.0-beta.15) - solid-js: 2.0.0-beta.15 - '@solid-primitives/keyboard@1.3.5(solid-js@1.9.13)': dependencies: '@solid-primitives/event-listener': 2.4.5(solid-js@1.9.13) @@ -21572,13 +21490,6 @@ snapshots: '@solid-primitives/utils': 6.4.0(solid-js@1.9.13) solid-js: 1.9.13 - '@solid-primitives/keyboard@1.3.5(solid-js@2.0.0-beta.15)': - dependencies: - '@solid-primitives/event-listener': 2.4.5(solid-js@2.0.0-beta.15) - '@solid-primitives/rootless': 1.5.3(solid-js@2.0.0-beta.15) - '@solid-primitives/utils': 6.4.0(solid-js@2.0.0-beta.15) - solid-js: 2.0.0-beta.15 - '@solid-primitives/media@2.3.5(solid-js@1.9.13)': dependencies: '@solid-primitives/event-listener': 2.4.5(solid-js@1.9.13) @@ -21600,24 +21511,11 @@ snapshots: '@solid-primitives/utils': 6.4.0(solid-js@1.9.13) solid-js: 1.9.13 - '@solid-primitives/resize-observer@2.1.5(solid-js@2.0.0-beta.15)': - dependencies: - '@solid-primitives/event-listener': 2.4.5(solid-js@2.0.0-beta.15) - '@solid-primitives/rootless': 1.5.3(solid-js@2.0.0-beta.15) - '@solid-primitives/static-store': 0.1.3(solid-js@2.0.0-beta.15) - '@solid-primitives/utils': 6.4.0(solid-js@2.0.0-beta.15) - solid-js: 2.0.0-beta.15 - '@solid-primitives/rootless@1.5.3(solid-js@1.9.13)': dependencies: '@solid-primitives/utils': 6.4.0(solid-js@1.9.13) solid-js: 1.9.13 - '@solid-primitives/rootless@1.5.3(solid-js@2.0.0-beta.15)': - dependencies: - '@solid-primitives/utils': 6.4.0(solid-js@2.0.0-beta.15) - solid-js: 2.0.0-beta.15 - '@solid-primitives/scheduled@1.5.3(solid-js@1.9.13)': dependencies: solid-js: 1.9.13 @@ -21627,11 +21525,6 @@ snapshots: '@solid-primitives/utils': 6.4.0(solid-js@1.9.13) solid-js: 1.9.13 - '@solid-primitives/static-store@0.1.3(solid-js@2.0.0-beta.15)': - dependencies: - '@solid-primitives/utils': 6.4.0(solid-js@2.0.0-beta.15) - solid-js: 2.0.0-beta.15 - '@solid-primitives/styles@0.1.3(solid-js@1.9.13)': dependencies: '@solid-primitives/rootless': 1.5.3(solid-js@1.9.13) @@ -21642,27 +21535,15 @@ snapshots: dependencies: solid-js: 1.9.13 - '@solid-primitives/utils@6.4.0(solid-js@2.0.0-beta.15)': - dependencies: - solid-js: 2.0.0-beta.15 - '@solidjs/meta@0.29.4(solid-js@1.9.13)': dependencies: solid-js: 1.9.13 - '@solidjs/signals@2.0.0-beta.15': {} - '@solidjs/testing-library@0.8.10(solid-js@1.9.13)': dependencies: '@testing-library/dom': 10.4.1 solid-js: 1.9.13 - '@solidjs/web@2.0.0-beta.15(solid-js@2.0.0-beta.15)': - dependencies: - seroval: 1.5.4 - seroval-plugins: 1.5.4(seroval@1.5.4) - solid-js: 2.0.0-beta.15 - '@storybook/addon-docs@10.4.1(@types/react-dom@19.2.3)(@types/react@19.2.15)(esbuild@0.28.0)(rollup@4.60.3)(storybook@10.4.1)(vite@7.1.1)(webpack@5.102.1)': dependencies: '@mdx-js/react': 3.1.1(@types/react@19.2.15)(react@19.2.7) @@ -22108,26 +21989,26 @@ snapshots: '@tanstack/devtools-event-client@0.4.3': {} - '@tanstack/devtools-ui@0.5.2(csstype@3.2.3)(solid-js@2.0.0-beta.15)': + '@tanstack/devtools-ui@0.5.2(csstype@3.2.3)(solid-js@1.9.13)': dependencies: clsx: 2.1.1 dayjs: 1.11.20 goober: 2.1.19(csstype@3.2.3) - solid-js: 2.0.0-beta.15 + solid-js: 1.9.13 transitivePeerDependencies: - csstype - '@tanstack/devtools@0.12.2(csstype@3.2.3)(solid-js@2.0.0-beta.15)': + '@tanstack/devtools@0.12.2(csstype@3.2.3)(solid-js@1.9.13)': dependencies: - '@solid-primitives/event-listener': 2.4.5(solid-js@2.0.0-beta.15) - '@solid-primitives/keyboard': 1.3.5(solid-js@2.0.0-beta.15) - '@solid-primitives/resize-observer': 2.1.5(solid-js@2.0.0-beta.15) + '@solid-primitives/event-listener': 2.4.5(solid-js@1.9.13) + '@solid-primitives/keyboard': 1.3.5(solid-js@1.9.13) + '@solid-primitives/resize-observer': 2.1.5(solid-js@1.9.13) '@tanstack/devtools-client': 0.0.6 '@tanstack/devtools-event-bus': 0.4.1 - '@tanstack/devtools-ui': 0.5.2(csstype@3.2.3)(solid-js@2.0.0-beta.15) + '@tanstack/devtools-ui': 0.5.2(csstype@3.2.3)(solid-js@1.9.13) clsx: 2.1.1 goober: 2.1.19(csstype@3.2.3) - solid-js: 2.0.0-beta.15 + solid-js: 1.9.13 transitivePeerDependencies: - bufferutil - csstype @@ -22137,9 +22018,9 @@ snapshots: '@tanstack/query-core@5.101.0': {} - '@tanstack/react-devtools@0.10.5(@types/react-dom@19.2.3)(@types/react@19.2.15)(csstype@3.2.3)(react-dom@19.2.7)(react@19.2.7)(solid-js@2.0.0-beta.15)': + '@tanstack/react-devtools@0.10.5(@types/react-dom@19.2.3)(@types/react@19.2.15)(csstype@3.2.3)(react-dom@19.2.7)(react@19.2.7)(solid-js@1.9.13)': dependencies: - '@tanstack/devtools': 0.12.2(csstype@3.2.3)(solid-js@2.0.0-beta.15) + '@tanstack/devtools': 0.12.2(csstype@3.2.3)(solid-js@1.9.13) '@types/react': 19.2.15 '@types/react-dom': 19.2.3(@types/react@19.2.15) react: 19.2.7 @@ -23529,16 +23410,6 @@ snapshots: html-entities: 2.3.3 parse5: 7.3.0 - babel-plugin-jsx-dom-expressions@0.50.0-next.14(@babel/core@7.29.7): - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-module-imports': 7.18.6 - '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) - '@babel/types': 7.29.7 - html-entities: 2.3.3 - parse5: 7.3.0 - validate-html-nesting: 1.2.4 - babel-plugin-macros@3.1.0: dependencies: '@babel/runtime': 7.27.1 @@ -23604,13 +23475,6 @@ snapshots: optionalDependencies: solid-js: 1.9.13 - babel-preset-solid@2.0.0-beta.15(@babel/core@7.29.7)(solid-js@2.0.0-beta.15): - dependencies: - '@babel/core': 7.29.7 - babel-plugin-jsx-dom-expressions: 0.50.0-next.14(@babel/core@7.29.7) - optionalDependencies: - solid-js: 2.0.0-beta.15 - babel-walk@3.0.0-canary-5: dependencies: '@babel/types': 7.29.7 @@ -29804,25 +29668,12 @@ snapshots: seroval: 1.5.2 seroval-plugins: 1.5.2(seroval@1.5.2) - solid-js@2.0.0-beta.15: - dependencies: - '@solidjs/signals': 2.0.0-beta.15 - csstype: 3.2.3 - seroval: 1.5.4 - seroval-plugins: 1.5.4(seroval@1.5.4) - solid-refresh@0.7.8(solid-js@1.9.13): dependencies: '@babel/generator': 7.29.1 '@babel/types': 7.29.0 solid-js: 1.9.13 - solid-refresh@0.8.0-next.7(solid-js@2.0.0-beta.15): - dependencies: - '@babel/generator': 7.29.7 - '@babel/types': 7.29.7 - solid-js: 2.0.0-beta.15 - sonic-boom@4.2.0: dependencies: atomic-sleep: 1.0.0 @@ -31207,8 +31058,6 @@ snapshots: kleur: 4.1.5 sade: 1.8.1 - validate-html-nesting@1.2.4: {} - validate-npm-package-license@3.0.4: dependencies: spdx-correct: 3.2.0 diff --git a/rslib/solid-v2-basic/.gitignore b/rslib/solid-v2-basic/.gitignore deleted file mode 100644 index b538abcd1..000000000 --- a/rslib/solid-v2-basic/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -# Local -.DS_Store -*.local -*.log* - -# Dist -node_modules -dist/ -storybook-static - -# IDE -.vscode/* -!.vscode/extensions.json -.idea diff --git a/rslib/solid-v2-basic/README.md b/rslib/solid-v2-basic/README.md deleted file mode 100644 index baa4e77af..000000000 --- a/rslib/solid-v2-basic/README.md +++ /dev/null @@ -1,23 +0,0 @@ -# Rslib Solid v2 basic - -## Setup - -Install the dependencies: - -```bash -pnpm install -``` - -## Get started - -Build the library: - -```bash -pnpm build -``` - -Build the library in watch mode: - -```bash -pnpm dev -``` diff --git a/rslib/solid-v2-basic/package.json b/rslib/solid-v2-basic/package.json deleted file mode 100644 index d06e93706..000000000 --- a/rslib/solid-v2-basic/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "@rslib-example/solid-v2-basic", - "version": "0.0.0", - "type": "module", - "exports": { - ".": { - "solid": "./dist/source/index.jsx", - "types": "./dist/index.d.ts", - "import": "./dist/index.js" - } - }, - "types": "./dist/index.d.ts", - "files": [ - "dist" - ], - "scripts": { - "build": "rslib", - "dev": "rslib -w" - }, - "devDependencies": { - "@rsbuild/plugin-babel": "^1.2.1", - "@rsbuild/plugin-solid": "2.0.0-beta.0", - "@rslib/core": "^0.22.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", - "typescript": "^5.9.3" - }, - "peerDependencies": { - "@solidjs/web": ">=2.0.0-beta.0 <2.0.0-experimental.0", - "solid-js": ">=2.0.0-beta.0 <2.0.0-experimental.0" - } -} diff --git a/rslib/solid-v2-basic/rslib.config.ts b/rslib/solid-v2-basic/rslib.config.ts deleted file mode 100644 index a321b384a..000000000 --- a/rslib/solid-v2-basic/rslib.config.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { pluginBabel } from '@rsbuild/plugin-babel'; -import { pluginSolid } from '@rsbuild/plugin-solid'; -import { defineConfig } from '@rslib/core'; - -export default defineConfig({ - lib: [ - { - id: 'compiled', - bundle: false, - format: 'esm', - dts: true, - plugins: [ - pluginBabel({ - include: /\.(?:jsx|tsx)$/, - }), - pluginSolid(), - ], - }, - { - id: 'source', - bundle: false, - format: 'esm', - output: { - distPath: { - root: './dist/source', - }, - filename: { - js: '[name].jsx', - }, - }, - tools: { - swc: { - detectSyntax: 'auto', - jsc: { - transform: { - react: { - runtime: 'preserve', - }, - }, - }, - }, - rspack: { - module: { - parser: { - javascript: { - jsx: true, - }, - }, - }, - }, - }, - }, - ], - output: { - target: 'web', - }, -}); diff --git a/rslib/solid-v2-basic/src/Button.tsx b/rslib/solid-v2-basic/src/Button.tsx deleted file mode 100644 index 39e3c5955..000000000 --- a/rslib/solid-v2-basic/src/Button.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import { createSignal, type Component } from 'solid-js'; -import './button.css'; - -export interface CounterButtonProps { - primary?: boolean; - size?: 'small' | 'medium' | 'large'; - initialValue?: number; - step?: number; -} - -export const CounterButton: Component = ({ - primary = false, - size = 'medium', - initialValue = 0, - step = 1, -}) => { - const mode = primary ? 'demo-button--primary' : 'demo-button--secondary'; - const [count, setCount] = createSignal(initialValue); - - return ( -
- Solid counter - - {count()} - - -
- ); -}; diff --git a/rslib/solid-v2-basic/src/button.css b/rslib/solid-v2-basic/src/button.css deleted file mode 100644 index cade96145..000000000 --- a/rslib/solid-v2-basic/src/button.css +++ /dev/null @@ -1,57 +0,0 @@ -.counter-card { - display: inline-grid; - min-width: 220px; - gap: 12px; - padding: 20px; - border: 1px solid #d7e2f0; - border-radius: 12px; - background: #fff; - box-shadow: rgba(20, 35, 61, 0.08) 0 12px 32px; -} - -.counter-card__label { - color: #536173; - font-size: 13px; - font-weight: 600; -} - -.counter-card__value { - color: #152238; - font-size: 40px; - line-height: 1; -} - -.demo-button { - font-weight: 700; - border: 0; - border-radius: 8px; - cursor: pointer; - display: inline-block; - line-height: 1; -} - -.demo-button--primary { - color: white; - background-color: #1463ff; -} - -.demo-button--secondary { - color: #333; - background-color: transparent; - box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 0px 1px inset; -} - -.demo-button--small { - font-size: 12px; - padding: 10px 16px; -} - -.demo-button--medium { - font-size: 14px; - padding: 11px 20px; -} - -.demo-button--large { - font-size: 16px; - padding: 12px 24px; -} diff --git a/rslib/solid-v2-basic/src/index.tsx b/rslib/solid-v2-basic/src/index.tsx deleted file mode 100644 index 0879d66ae..000000000 --- a/rslib/solid-v2-basic/src/index.tsx +++ /dev/null @@ -1,2 +0,0 @@ -export { CounterButton } from './Button'; -export type { CounterButtonProps } from './Button'; diff --git a/rslib/solid-v2-basic/tsconfig.json b/rslib/solid-v2-basic/tsconfig.json deleted file mode 100644 index a1f78536a..000000000 --- a/rslib/solid-v2-basic/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "lib": ["DOM", "ES2022"], - "module": "ESNext", - "jsx": "preserve", - "jsxImportSource": "@solidjs/web", - "strict": true, - "skipLibCheck": true, - "isolatedModules": true, - "resolveJsonModule": true, - "moduleResolution": "bundler", - "useDefineForClassFields": true - }, - "include": ["src"] -} From 1f02df7faa28f512d0d946ad1d86dcba287968b0 Mon Sep 17 00:00:00 2001 From: Elecmonkey Date: Tue, 30 Jun 2026 14:10:54 +0800 Subject: [PATCH 3/5] chore: align solid button examples --- rslib/solid-basic/src/Button.tsx | 39 +++++++++++-------------- rslib/solid-basic/src/button.css | 27 ++--------------- rslib/solid-basic/src/index.tsx | 4 +-- rslib/solid-rstest/src/Button.tsx | 39 +++++++++++-------------- rslib/solid-rstest/src/button.css | 27 ++--------------- rslib/solid-rstest/src/index.tsx | 4 +-- rslib/solid-rstest/tests/index.test.tsx | 22 +++++++++----- 7 files changed, 57 insertions(+), 105 deletions(-) diff --git a/rslib/solid-basic/src/Button.tsx b/rslib/solid-basic/src/Button.tsx index 39e3c5955..d3ed5737a 100644 --- a/rslib/solid-basic/src/Button.tsx +++ b/rslib/solid-basic/src/Button.tsx @@ -1,36 +1,31 @@ -import { createSignal, type Component } from 'solid-js'; +import type { Component } from 'solid-js'; import './button.css'; -export interface CounterButtonProps { +export interface ButtonProps { primary?: boolean; + backgroundColor?: string; size?: 'small' | 'medium' | 'large'; - initialValue?: number; - step?: number; + label: string; + onClick?: () => void; } -export const CounterButton: Component = ({ +export const Button: Component = ({ primary = false, size = 'medium', - initialValue = 0, - step = 1, + backgroundColor, + label, + onClick, }) => { const mode = primary ? 'demo-button--primary' : 'demo-button--secondary'; - const [count, setCount] = createSignal(initialValue); return ( -
- Solid counter - - {count()} - - -
+ ); }; diff --git a/rslib/solid-basic/src/button.css b/rslib/solid-basic/src/button.css index cade96145..b7a36cbde 100644 --- a/rslib/solid-basic/src/button.css +++ b/rslib/solid-basic/src/button.css @@ -1,30 +1,7 @@ -.counter-card { - display: inline-grid; - min-width: 220px; - gap: 12px; - padding: 20px; - border: 1px solid #d7e2f0; - border-radius: 12px; - background: #fff; - box-shadow: rgba(20, 35, 61, 0.08) 0 12px 32px; -} - -.counter-card__label { - color: #536173; - font-size: 13px; - font-weight: 600; -} - -.counter-card__value { - color: #152238; - font-size: 40px; - line-height: 1; -} - .demo-button { font-weight: 700; border: 0; - border-radius: 8px; + border-radius: 3em; cursor: pointer; display: inline-block; line-height: 1; @@ -32,7 +9,7 @@ .demo-button--primary { color: white; - background-color: #1463ff; + background-color: #1ea7fd; } .demo-button--secondary { diff --git a/rslib/solid-basic/src/index.tsx b/rslib/solid-basic/src/index.tsx index 0879d66ae..fa3c8a518 100644 --- a/rslib/solid-basic/src/index.tsx +++ b/rslib/solid-basic/src/index.tsx @@ -1,2 +1,2 @@ -export { CounterButton } from './Button'; -export type { CounterButtonProps } from './Button'; +export { Button } from './Button'; +export type { ButtonProps } from './Button'; diff --git a/rslib/solid-rstest/src/Button.tsx b/rslib/solid-rstest/src/Button.tsx index 39e3c5955..d3ed5737a 100644 --- a/rslib/solid-rstest/src/Button.tsx +++ b/rslib/solid-rstest/src/Button.tsx @@ -1,36 +1,31 @@ -import { createSignal, type Component } from 'solid-js'; +import type { Component } from 'solid-js'; import './button.css'; -export interface CounterButtonProps { +export interface ButtonProps { primary?: boolean; + backgroundColor?: string; size?: 'small' | 'medium' | 'large'; - initialValue?: number; - step?: number; + label: string; + onClick?: () => void; } -export const CounterButton: Component = ({ +export const Button: Component = ({ primary = false, size = 'medium', - initialValue = 0, - step = 1, + backgroundColor, + label, + onClick, }) => { const mode = primary ? 'demo-button--primary' : 'demo-button--secondary'; - const [count, setCount] = createSignal(initialValue); return ( -
- Solid counter - - {count()} - - -
+ ); }; diff --git a/rslib/solid-rstest/src/button.css b/rslib/solid-rstest/src/button.css index cade96145..b7a36cbde 100644 --- a/rslib/solid-rstest/src/button.css +++ b/rslib/solid-rstest/src/button.css @@ -1,30 +1,7 @@ -.counter-card { - display: inline-grid; - min-width: 220px; - gap: 12px; - padding: 20px; - border: 1px solid #d7e2f0; - border-radius: 12px; - background: #fff; - box-shadow: rgba(20, 35, 61, 0.08) 0 12px 32px; -} - -.counter-card__label { - color: #536173; - font-size: 13px; - font-weight: 600; -} - -.counter-card__value { - color: #152238; - font-size: 40px; - line-height: 1; -} - .demo-button { font-weight: 700; border: 0; - border-radius: 8px; + border-radius: 3em; cursor: pointer; display: inline-block; line-height: 1; @@ -32,7 +9,7 @@ .demo-button--primary { color: white; - background-color: #1463ff; + background-color: #1ea7fd; } .demo-button--secondary { diff --git a/rslib/solid-rstest/src/index.tsx b/rslib/solid-rstest/src/index.tsx index 0879d66ae..fa3c8a518 100644 --- a/rslib/solid-rstest/src/index.tsx +++ b/rslib/solid-rstest/src/index.tsx @@ -1,2 +1,2 @@ -export { CounterButton } from './Button'; -export type { CounterButtonProps } from './Button'; +export { Button } from './Button'; +export type { ButtonProps } from './Button'; diff --git a/rslib/solid-rstest/tests/index.test.tsx b/rslib/solid-rstest/tests/index.test.tsx index 0036c61eb..bb142a9b0 100644 --- a/rslib/solid-rstest/tests/index.test.tsx +++ b/rslib/solid-rstest/tests/index.test.tsx @@ -1,14 +1,22 @@ import { render, screen } from '@solidjs/testing-library'; import { expect, test } from '@rstest/core'; -import { CounterButton } from '../src'; +import { Button } from '../src'; -test('CounterButton should render and update count', () => { - render(() => ); +test('The button should handle click events', () => { + let count = 0; + render(() => ( + - ); -}; diff --git a/rslib/solid/src/button.css b/rslib/solid/src/button.css deleted file mode 100644 index b7a36cbde..000000000 --- a/rslib/solid/src/button.css +++ /dev/null @@ -1,34 +0,0 @@ -.demo-button { - font-weight: 700; - border: 0; - border-radius: 3em; - cursor: pointer; - display: inline-block; - line-height: 1; -} - -.demo-button--primary { - color: white; - background-color: #1ea7fd; -} - -.demo-button--secondary { - color: #333; - background-color: transparent; - box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 0px 1px inset; -} - -.demo-button--small { - font-size: 12px; - padding: 10px 16px; -} - -.demo-button--medium { - font-size: 14px; - padding: 11px 20px; -} - -.demo-button--large { - font-size: 16px; - padding: 12px 24px; -} diff --git a/rslib/solid/src/index.tsx b/rslib/solid/src/index.tsx deleted file mode 100644 index fe9c53c51..000000000 --- a/rslib/solid/src/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export { Button } from './Button'; diff --git a/rslib/solid/tsconfig.json b/rslib/solid/tsconfig.json deleted file mode 100644 index 4e38397a1..000000000 --- a/rslib/solid/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "lib": ["DOM", "ES2022"], - "module": "ESNext", - "jsx": "preserve", - "jsxImportSource": "solid-js", - "strict": true, - "skipLibCheck": true, - "isolatedModules": true, - "resolveJsonModule": true, - "moduleResolution": "bundler", - "useDefineForClassFields": true - }, - "include": ["src"] -} From d7fae91a12c78a044cd8954c5dba344bfd10410c Mon Sep 17 00:00:00 2001 From: Elecmonkey Date: Wed, 1 Jul 2026 17:30:11 +0800 Subject: [PATCH 5/5] chore: flatten solid example dist output --- rslib/solid-basic/package.json | 2 +- rslib/solid-basic/rslib.config.ts | 3 --- rslib/solid-rstest/package.json | 2 +- rslib/solid-rstest/rslib.config.ts | 3 --- 4 files changed, 2 insertions(+), 8 deletions(-) diff --git a/rslib/solid-basic/package.json b/rslib/solid-basic/package.json index 12038fc4d..d641bf13d 100644 --- a/rslib/solid-basic/package.json +++ b/rslib/solid-basic/package.json @@ -4,7 +4,7 @@ "type": "module", "exports": { ".": { - "solid": "./dist/source/index.jsx", + "solid": "./dist/index.jsx", "types": "./dist/index.d.ts", "import": "./dist/index.js" } diff --git a/rslib/solid-basic/rslib.config.ts b/rslib/solid-basic/rslib.config.ts index a321b384a..b40a18421 100644 --- a/rslib/solid-basic/rslib.config.ts +++ b/rslib/solid-basic/rslib.config.ts @@ -21,9 +21,6 @@ export default defineConfig({ bundle: false, format: 'esm', output: { - distPath: { - root: './dist/source', - }, filename: { js: '[name].jsx', }, diff --git a/rslib/solid-rstest/package.json b/rslib/solid-rstest/package.json index ecd76366c..c10647d26 100644 --- a/rslib/solid-rstest/package.json +++ b/rslib/solid-rstest/package.json @@ -4,7 +4,7 @@ "type": "module", "exports": { ".": { - "solid": "./dist/source/index.jsx", + "solid": "./dist/index.jsx", "types": "./dist/index.d.ts", "import": "./dist/index.js" } diff --git a/rslib/solid-rstest/rslib.config.ts b/rslib/solid-rstest/rslib.config.ts index a321b384a..b40a18421 100644 --- a/rslib/solid-rstest/rslib.config.ts +++ b/rslib/solid-rstest/rslib.config.ts @@ -21,9 +21,6 @@ export default defineConfig({ bundle: false, format: 'esm', output: { - distPath: { - root: './dist/source', - }, filename: { js: '[name].jsx', },