Commit activity
Last 12 weeks · 108 commits
Community health
3 of 6 standards met
Recent PRs & issues
SolidJS is a really good framework to quickly build and publish standard web components as custom elements that can be reused from any other framework, but there are currently no templates to help doing so. All current templates are only about creating websites To get started creating a new custom element with SolidJS to be published it takes a bit of research and work that can be a bit tedious: Figuring out how to define a custom element in solid from https://github.com/solidjs/solid/blob/main/packages/solid-element (there aren't much docs about building and publishing custom elements in the official docs) Adding all the required metadata for proper publication Configuring typescript to generate type declaration files Configuring eslint and prettier This simple template shows a complete web component `esnextes2015` would not be better to recommend for compatibility? @amoutonbrady @ryansolid @birkskyum
Summary solidjs/solid#3094 gives scripted server-function calls their own data address, , leaving the bare to plain HTTP (form actions, direct callers). The audit found no code impact in the v2 templates: and configure the mount only, their servers route by prefix/fallthrough, and the TanStack integration keys on query keys and flight sources, not URL shapes. The two READMEs' network-tab walkthroughs said ; they now name , which is what readers will actually see. Draft until the @solidjs/web release carrying the split ships and the templates' deps resolve to it. Test plan [ ] After the next @solidjs/web release: run the fullstack template, rename a user, confirm the network tab shows one Made with Cursor
Recent fixes
Before: the templates pin , and builds its forms with the router's . As of next.41 the router deprecates (it now logs a dev warning) in favor of . After: all 8 templates are on . uses for its three form-bound mutations (, , ), and its README and comments say the router revalidates after any server function call. and move to because router next.41 requires them, and rc.14 fails the build. How: I updated the package.json pins and regenerated each lockfile with (pnpm 10.33.0, which keeps the fields). The templates are unchanged because they still use router 1.x. AGENTS.md files are unchanged since they only mention core , and passes. Validation: in each of the 8 templates I ran , (or for with-tsrx), , and . All pass, except with-vitest-browser-mode's tests, which need a browser and weren't run. On , a no-JS form POST to the rendered action URL returns 303 with the flash cookie. Router change: solidjs/solid-router#688. _Generated by Claude Code_
Before: every solid-v2 template ships the same hand-written that says "Solid is not React" and points at two skills, but none of the 2.0 corrections an agent actually needs are in it. The Counter test checks behaviour only. After: (the body of the skill that ships since solidjs/solid#4098, under 8 KB) is written by into a managed block in every template's ; template-specific text (the TSRX notes) stays after the block, and fails on drift. One file only: Codex, Cursor, Copilot and Gemini CLI read a root directly, and Claude Code falls back to it when there is no , which is also what ships. Every Counter test also captures the diagnostics artifact for the click and asserts and , so the first test an agent copies already asserts on granularity. How: regenerates the file (documented in README.md and PORTING.md); the test uses from , which the templates already depend on. Tested: (jsdom) 2/2, 4/4 (its lowers to one extra memo, so its budget is 2 with a comment saying why), 2/2 in headless Chromium. The other seven jsdom templates carry a byte-identical test and config. passes across the 11 templates. Lockfiles untouched. 🤖 Generated with Claude Code https://claude.ai/code/session_01Ka6h98478umeFadcRV1KLY
Lockstep bump across all 11 Solid 2 templates. , , : → : → (peers on rc.14) : → (peers on rc.14) Middleware is event-first. functions are now , the request at , and takes no arguments (assign before calling it). Both fullstack templates adapt , which still speaks and calls with no arguments. README updated. Link preloading is opt-in. no longer defaults to hover. passes so hover, focus, and touch still warm route code and run . Client templates leave it off. The plugin also collapses runs of dots in emitted chunk names, so builds to instead of a name containing . Verification:** tsc / , oxlint, vitest, and clean across all 11 (browser-mode test included, once Playwright's Chromium was installed). and dev servers: 200 with the user list, and 200, 404. production under a spoofed matches, and the chunk is served 200. Made with Cursor
Repository: solidjs/templates. Description: Vite + solid templates Stars: 543, Forks: 129. Primary language: TypeScript. Languages: TypeScript (91.8%), CSS (4.7%), JavaScript (1.1%), HTML (1%), SCSS (1%). Open PRs: 17, open issues: 9. Last activity: 3h ago. Community health: 62%. Top contributors: amoutonbrady, ryansolid, birkskyum, brenelz, dependabot[bot], LadyBluenotes, alexandre-mb-airweb, davedbase, thetarnav, DardanIsufi95 and others.