solid-v2: repin to solid-js 2.0.0-rc.8, @solidjs/vite-plugin 3.0.0-next.43, router 2.0.0-next.24 - #304
solid-v2: repin to solid-js 2.0.0-rc.8, @solidjs/vite-plugin 3.0.0-next.43, router 2.0.0-next.24#304ryansolid wants to merge 3 commits into
Conversation
…xt.41, router 2.0.0-next.23 All 11 solid-v2 templates: - solid-js, @solidjs/web, @solidjs/diagnostics ^2.0.0-rc.6 -> ^2.0.0-rc.7 - @solidjs/vite-plugin ^3.0.0-next.38 -> ^3.0.0-next.41 - @solidjs/router ^2.0.0-next.21 -> ^2.0.0-next.23 (7 templates) - filesystem-routing 0.2.1 -> 0.3.0 (9 templates; with-tsrx already there) Lockfiles regenerated from scratch (rm node_modules + pnpm-lock.yaml, pnpm install). vitest 5 / jest-dom 7 (#302) and @tanstack/solid-router 2.0.0-rc.7 (#303) untouched. Co-authored-by: Cursor <cursoragent@cursor.com>
…workaround @solidjs/vite-plugin 3.0.0-next.40 (#351) pre-bundles the diagnostics client it injects, so the optimizeDeps.include entry for @solidjs/diagnostics/browser + /protocol is no longer needed to keep the first cold-cache test run from restarting mid-run. Verified: two consecutive runs with node_modules/.vite removed both pass in one shot. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
…next.43, router 2.0.0-next.24 solid-js / @solidjs/web / @solidjs/diagnostics ^2.0.0-rc.7 -> ^2.0.0-rc.8 (all 11), @solidjs/vite-plugin ^3.0.0-next.41 -> ^3.0.0-next.43 (all 11), @solidjs/router ^2.0.0-next.23 -> ^2.0.0-next.24 (the 8 router templates; next.24 is the release that declares navigations to the rc.8 observe tier and raises its peer floor to ^2.0.0-rc.8). Every lockfile regenerated from scratch. No template source changes were needed for rc.7 -> rc.8.
|
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.
|
Repin pass for the 11
solid-v2/*templates. Three commits: the rc.7 / next.41 / next.23 repin + lockfiles, the one piece of rc.7 fallout cleanup, and a refresh to the rc.8 / next.43 / next.24 lockstep that shipped 2026-09-11.Pins (branch tip vs
main)mainsolid-js,@solidjs/web,@solidjs/diagnostics^2.0.0-rc.6^2.0.0-rc.8@solidjs/vite-plugin^3.0.0-next.38^3.0.0-next.43@solidjs/router^2.0.0-next.21^2.0.0-next.24filesystem-routing0.2.10.3.0Left as-is:
@solidjs/testing-library ^1.0.0-beta.3(nextis still beta.3; peers>=2.0.0-0),@solidjs/meta ^1.0.0-next.2(peers^2.0.0-rc.0), vitest 5 / jest-dom 7 (#302),@tanstack/solid-router ^2.0.0-rc.7(#303),@tanstack/solid-query ^6.0.0-rc.3.filesystem-routing 0.3.1(2026-09-10) exists but was out of scope for this pass. Carets preserved everywhere (checkedgit diffafter every install). Nopnpm-workspace.yamlchanges — nothing trippedERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION(solid-js/@solidjs/*are already excluded).Every lockfile was regenerated from scratch (
rm -rf node_modules pnpm-lock.yaml && pnpm install). All 11 resolvesolid-js@2.0.0-rc.8,@solidjs/web@2.0.0-rc.8,@solidjs/diagnostics@2.0.0-rc.8,@solidjs/signals@2.0.0-rc.8,@solidjs/compiler@2.0.0-rc.8,@solidjs/babel-plugin@2.0.0-rc.8,@solidjs/vite-plugin@3.0.0-next.43,seroval@1.6.7; the 8 router templates resolve@solidjs/router@2.0.0-next.24; the 9 filesystem-routing templates resolvefilesystem-routing@0.3.0. Exactly onesolid-jscopy per lockfile (no rc.7 leftovers beyond@tanstack/solid-router@2.0.0-rc.7, which is TanStack's own version string).rc.7 → rc.8 audit (solidjs/solid
269fc653..f8b40b7e, 48 commits)Consumer-visible changes, with the template impact:
engines.node >= 22.12(a39415c): every.cjsartifact,requirebranch andtypes-cjs/mirror is gone. Templates are"type": "module"+ Vite/Vitest and never referenced a.cjspath — no impact.fullstack-tanstack's deep aliases (@solidjs/web/dist/server.js,@solidjs/web/storage/dist/storage.js) are still present in rc.8 (verified against the installed package; rc.8 only addsweb.observe.js).1807f7f,0961d97,2fa7539):DEV.diagnostics→OBSERVE.diagnostics, attribution engine moved tosolid-js/attribution, newobserveexport condition and<entry>.observe.jsartifacts. No template touchesDEV.*,attributionor the export map — no impact.@solidjs/vite-pluginnext.43 gained the matchingobserveoption; not enabled in any template.componentNames(01ac18c): the plugin enables it under the dev posture; needs@solidjs/compiler/@solidjs/babel-plugin≥ rc.8 — both resolve to rc.8 in every lockfile. No impact on prod output (byte-identical when off; SSR never emits it).7d985b6): strings yielded by flow-control memos are now escaped; compilers stop wrapping fragment children in_$escape. Verified by the dev/prod SSR smoke and all template tests — no impact.ded39d2):secretshould be ≥ 32 bytes. The templates never setsecret; the plugin's generated deployment secret (randomBytes(32).toString('hex')) satisfies it. In-flight flashes across the upgrade read as "no flash" — expected. Tested via the single-flight smoke (the form POST path).c0299bf), nested / method /thisserver-function compile errors (8366e09,a181e4d,6bf2bf8,bb905db): template server functions are top-levelquery()/action()wrappers insrc/lib/users.ts— all builds pass, no impact.globalThis(839c05e): fixesquery()reads answering 405 after the first HMR update invite dev. Pure fix; no template change.a71e42e, Nitro/srvx), rc.7 spread-childrenhydration regression fix (3b4db21),lazy()hydration observability (fe3ab92,711b557),spread()/readShallow()tracked style/class (4e730a9,ab4c40c), seroval~1.6.7(8cfa272), signals perf/lane-authority fixes (b5bd6fb,1354a53,1c9e9e7,ae0ec3f,51c201f,27aee36,645ec0d,12c3be9,3a5fe8c,dd1d4ed,4935c7d,0f14430): runtime-internal, no template change.Router:
@solidjs/routerpublished2.0.0-next.24(2026-09-11 16:56Z) alongside rc.8 — a single change (65f41f3: navigations declared to the observe tier viaOBSERVE.attribution.withOrigin) plus the peer floor bump to^2.0.0-rc.8(3753889). So the rc.8 floor bump already happened; no further router release is needed, and the templates move to next.24 to match. Everything the router imports from@solidjs/web(decodeFlashCookie,clearFlashCookie/hasFlashCookie,parseServerFunctionUrl,isResponseEnvelope,REVALIDATE_HEADER,registerElementClaim,delegateEvents,provideRequestEvent) is signature-unchanged in rc.8 —flash.tschanged only its key derivation;parseServerFunctionUrlis untouched and the new dotted ids keep-and.out of the name so the hash split is unaffected.Plugin: next.43 peers are
solid-js/@solidjs/web^2.0.0-rc.7, which admits rc.8 — no ERESOLVE. (^2.0.0-rc.8would be the tighter floor sincecomponentNamesneeds the rc.8 compiler; cosmetic, not required for this PR.)Peer ranges that could exclude rc.8 for npm users: none.
@solidjs/testing-library@1.0.0-beta.3>=2.0.0-0;@tanstack/solid-router@2.0.0-rc.7>=2.0.0-0 <3.0.0;@tanstack/solid-query@6.0.0-rc.3>=2.0.0-rc.6 <3.0.0;@solidjs/meta@1.0.0-next.2^2.0.0-rc.0. Pre-existingpnpm peers checkwarnings infullstack-tanstack/with-tanstack-router(@solid-devtools/*and@solid-primitives/*wanting solid 1.x, via@tanstack/solid-router) andwith-tsrx(@tsrx/solid@0.1.69wanting exactly2.0.0-rc.3) are unchanged frommainand are warnings only.rc.7 fallout (from the first pass, still applies)
dist/dev.*rename (bd22ac8): no template references. Only deep-path aliases are infullstack-tanstackand both still exist.with-vitest-browser-mode: dropped theoptimizeDeps.includeworkaround for@solidjs/diagnostics/browser+/protocol(plugin next.40 fixed the cold-cache restart).Verification (at the branch tip, rc.8 / next.43 / next.24)
pnpm build: 11/11 pass.pnpm lint(oxlint src): 11/11, 0 errors.pnpm test(vitest --run): basic 1/1, fullstack 10/10 (2 files), fullstack-tanstack 10/10 (2 files), with-bootstrap 1/1, with-sass 1/1, with-tailwindcss 1/1, with-tanstack-router 1/1, with-tsrx 3/3 (2 files), with-unocss 1/1, with-vitest-browser-mode 1/1 (Chromium headless shell).with-tsrxpnpm typecheckpasses.pnpm dev) forfullstackandfullstack-tanstack:/and/users/1→ 200 with rendered HTML (<h1>Hello Solid!</h1>,<h1>Users</h1><h2>Ada Lovelace</h2>, hydration module script);/api/users→ 200. Server output clean — noNoOwnerError, dual-runtime, or lazy-manifest errors.pnpm build && pnpm start): both fullstacks/and/users/1→ 200 with<link rel="stylesheet" href="/assets/virtual_solid-ssr-entry-client-*.css">./users/1→ rename):fullstack1 POST / 0 GET to/_server,fullstack-tanstack1 POST / 0 GET,<h2>updated in place, zero console errors — in dev and against the production build.Notes
solid-v2/fullstack/server.jsandfullstack-tanstack/server.jsare unchanged (byte-identical to theSERVER_JSconstant insolid-cli'sssr-flip.ts), so no CLI fixture update is needed.with-sassreportsERR_PNPM_IGNORED_BUILDSfor@parcel/watcher@2.6.0(transitive viasass) and pnpm writes anallowBuildsplaceholder intopnpm-workspace.yaml. Reproduced identically onmain; the placeholder was reverted andwith-sasswas verified withpnpm --config.verify-deps-before-run=false …. AddingallowBuilds: { '@parcel/watcher': false }towith-sass/pnpm-workspace.yamlwould resolve it, as a separate change.