Move the site to Solid 2 and the current component library - #8
Closed
pathscale wants to merge 2 commits into
Closed
Conversation
added 2 commits
August 16, 2026 20:30
Upgrades @pathscale/ui from 1.2.11 to 2.6.1, which requires solid-js 2. Reaching it means moving the whole stack, since the library is unusable on Solid 1: solid-layouts imports helpers that only the newer major exports. Runtime and toolchain: - solid-js 2.0.0-rc.0, @solidjs/router 2.0.0-next.16, solid-layouts 0.2.0. - JSX now comes from @solidjs/web, so jsxImportSource and the render import move with it. - Drops @rsbuild/plugin-solid, which pins the Solid 1 compiler and emits helpers the new runtime removed, and drives babel-preset-solid 2 directly. - Adds rsbuild-plugin-solid-layouts, the library's own integration, and resolves solid-layouts to the Solid 2 backend it ships behind a subpath. - Removes the @refresh pragma, which pulled in Solid 1 refresh codegen. Call sites, for the 2.x prop vocabulary: - variant="primary" becomes variant="solid" plus flavor="primary". - isIconOnly becomes width="square"; Icon takes src rather than name. - The router no longer ships Route, Router or A components, so routes are declared through createRouter and links are plain anchors. - createEffect takes a compute function and an effect function; onMount is gone, so both call sites move to the new shape. Verified: typecheck, lint, production and dev builds, plus a browser pass over /spec, /syntax and /vignette, client-side navigation and the theme toggle. The home page still needs a Tabs fix in the component library.
Owner
Author
|
Landing directly on master instead. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
@pathscale/ui1.2.11 is far behind. Reaching the current release means moving the whole stack, because the library is unusable on Solid 1:solid-layoutsimports helpers only the newer major exports, and rspack hard-errors on them at link time even though the library guards the call at runtime. 2.5.x is not a middle ground for the same reason.What changed
Runtime and toolchain
solid-js2.0.0-rc.0,@solidjs/router2.0.0-next.16,solid-layouts0.2.0,@pathscale/ui2.6.2.@solidjs/web, sojsxImportSourceand therenderimport move with it.@rsbuild/plugin-solid: it pinsbabel-preset-solid@^1.9.12, the Solid 1 compiler, which emits ausehelper and asolid-js/webspecifier that Solid 2 removed. Babel drives the Solid 2 preset directly instead.rsbuild-plugin-solid-layouts, the library's own integration, and resolvessolid-layoutsto the Solid 2 backend it ships behind a/solid-2subpath while its default entry stays on Solid 1.@refresh reloadpragma, which pulled Solid 1 refresh codegen into the dev build.Call sites
variant="primary"becomesvariant="solid"withflavor="primary";isIconOnlybecomeswidth="square";Icontakessrcrather thanname.Router,RouteorA, so routes are declared throughcreateRouterand links are plain anchors.createEffecttakes a compute function and an effect function, andonMountis gone, so both call sites move to the new shape.Verification
bun run typecheck,bun run lint(exit 0) andbun run buildall pass. The dev build reports zero resolution errors.bun run dev, on@pathscale/ui@2.6.2installed from npm rather than a local build:/,/spec,/syntaxand/vignetteall render with zero console errors, the home page tabs switch panels, the theme toggle flips light and dark and persists, and client-side navigation works without a full page load.The home page depended on a Solid 2 fix in the component library (pathscale/ui#247, released as 2.6.2); before it,
Tabshalted the reactive system and the page rendered blank.