← ClaudeAtlas

solidjs-v2-migrationlisted

Migrate a Solid 1.x codebase, file, or component to SolidJS 2.0 (solid-js 2.x / next / beta). Use when converting code that imports solid-js/web, solid-js/store, createResource, Suspense, onMount, batch, or other 1.x APIs to the 2.0 equivalents. Not for writing new v2 code from scratch (see solidjs-v2).
khmm12/solidjs-v2-skills · ★ 1 · Web & Frontend · score 64
Install: claude install-skill khmm12/solidjs-v2-skills
# Migrate Solid 1.x → 2.0 Convert 1.x code to 2.0 in passes: mechanical first, then semantic, then diagnostics-driven cleanup. The full rename/removal table with before/after recipes is in `references/migration-map.md` — read it before starting; this file is the workflow. ## Step 0 — establish the direction - Source must be Solid 1.x (imports like `solid-js/web`, `solid-js/store`, `createResource`, `Suspense`). Target version: whatever `solid-js@2.x` / `@solidjs/web` beta the project declares (or the latest, if you're also bumping `package.json`). - Betas drift. The installed typings (`node_modules/solid-js/types`, `@solidjs/web`) outrank docs and this skill's references when they disagree. - Upgrade `solid-js`, `@solidjs/web`, and `babel-preset-solid` together. ## Pass 1 — mechanical (grep-and-replace, low judgement) 1. Dependencies: `solid-js@2.x`, add `@solidjs/web`, matching `babel-preset-solid`. 2. `tsconfig.json`: `"jsxImportSource": "@solidjs/web"`. 3. Import paths and pure renames — tables at the top of `references/migration-map.md`. Greppable: `solid-js/web`, `solid-js/store`, `Suspense`, `SuspenseList`, `ErrorBoundary`, `mergeProps`, `splitProps`, `unwrap`, `onMount`, `createSelector`, `Context.Provider`, `classList`, `equalFn`, `getListener`. Mind the non-1:1 renames: `Errored`'s fallback gets an error **accessor** (`err()`), `splitProps` → `omit` inverts the result (rest-only), `merge` treats `undefined` as an override, `onSettled` is