Repository navigation
Conversation
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.
This adds Solid 2.0 (solid-js 2.0.0-rc.19) as its own framework entry next to SolidStart. CONTRIBUTING asks for an issue before adding a framework, so please treat this draft as the proposal: happy to move the discussion to an issue or close this if you'd rather not track an RC.
Why a separate entry
The tracked SolidStart (2.0.6) runs on solid-js 1.9, which is what
latestinstalls today. Solid 2.0 does not use SolidStart. Its full-stack setup is@solidjs/vite-pluginplusfilesystem-routing, which is whatcreate-solidgenerates for its "Solid 2.0" project type. Replacing SolidStart would end its history, so this keeps both. The entry hasfocusedFramework: falsewhile Solid 2.0 is a release candidate.What changed
packages/starter-solid:create-solid0.12.0 with project type "Solid 2.0", the defaultbasictemplate, TypeScript, SSR enabled, and no devtools. Enabling SSR addsssr: trueto the plugin options, writesserver.js, and pointsstartat it. The Solid packages are pinned to exact versions afterwards, andfirst-party-dependencies.jsonlists thesolidjs-owned packages (eslint-plugin-solidis from solidjs-community, so it is left out). The prompts were read fromcreate-solid0.12.0's source and applied tosolidjs/templatesat0045e64, because the CLI couldn't run interactively here. Re-runningpnpm create solidwith those answers should give the same files; please flag it if not.packages/app-solid: a port ofapp-solid-startwith the same routes and data. It builds with the plugin'sstart.nodeserver (dist/server/node.js) and setsserverFunctions: trueso the'use server'loaders stay on the server, as SolidStart does by default.serve/solid.tsscript and an in-processhandleRequesthandler, plus entries in the four runtime benchmark lists andssr-load.test.ts.solidentry inframeworks.ts, a framework page, logo mappings, methodology sections, README links, and a dependabot group.prepare-chart.ts:compareVersionLabelsnow sorts a prerelease before its release, as semver does. PlainlocaleCompareput2.0.0before2.0.0-rc.19, which would mis-order Solid 2.0's history once 2.0.0 ships. This is the first prerelease version the tracker records.results/solid/is not included. It should come from the CI run, so the framework page and README links have no data until then.Verification
pnpm format:check,pnpm lint,pnpm type-check, andpnpm build:docspass, and/framework/solid/renders.node --test src/*.test.tsin stats-generator passes (76 of 76), andvalidate-first-party-dependencies.tspasses.pnpm knipreports one duplicate export inpackages/results/src/schemas.ts, which is already onmain.verify-ssr-load.ts.Known differences worth a look
On a local laptop run, Solid 2.0's dev time is much faster than SolidStart's, but it ships more client JavaScript (the Solid 2 runtime chunk is about 26 KB gzipped against 9.6 KB), and its HTTP SSR load test trails SolidStart on the link-heavy
/server-side-renderedpage. Most of that gap is per-link work in the router's server link state, which solidjs/solid-router#701 reduces. These are not Depot numbers, so CI's run is the one to compare.Checklist
starter-*package, ensure that the deps, and file content matches the output of the metaframeworks recommended starter/default project (not applicable)🤖 Generated with Claude Code