svelte/migrate-v8-to-v9

Migrate TanStack Svelte Table v8 apps to the v9 Svelte 5 rune-based API.

28.3k|3.6k|Updated Oct 20, 2016
One-click install
npx skills add https://github.com/TanStack/table --skill svelte-migrate-v8-to-v9
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: svelte/migrate-v8-to-v9
Source: https://github.com/TanStack/table/tree/main/packages/svelte-table/skills/svelte/migrate-v8-to-v9
Command: npx skills add https://github.com/TanStack/table --skill svelte-migrate-v8-to-v9

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It resolves the breaking changes between @tanstack/svelte-table v8 and v9 by guiding a mechanical but thorough migration, especially the required move to Svelte 5 runes and the new table creation/state/row-model architecture.

Core Features & Use Cases

  • Svelte 5 prerequisite validation: Ensures you recognize that v9 is a full rewrite and will not work on Svelte 3/4, preventing compile-time failures.
  • API migration mapping: Converts v8 constructs like createSvelteTable, get*RowModel factories, monolithic onStateChange, and flexRender usage into v9 equivalents such as createTable, _rowModels registration, per-slice on[State]Change/atoms, and FlexRender.
  • State ownership rewrite: Helps you choose and implement the correct v9 state model per slice (internal initialState, external state callbacks, or external atoms with precedence rules).
  • Rendering and cell integration updates: Updates custom component and snippet rendering patterns to v9’s renderComponent/renderSnippet workflow.

Quick Start

Ask an AI coding agent to migrate a Svelte 5 component that uses @tanstack/svelte-table@8 by applying the v8-to-v9 changes listed here, including table creation, feature registration, row-model wiring, state ownership, and FlexRender-based rendering.

Frequently Asked Questions about svelte/migrate-v8-to-v9

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I migrate my Svelte table from v8 to v9?

To migrate, replace createSvelteTable and get*RowModel factories with the v9 createTable API, register _features and _rowModels, update monolithic onStateChange to per-slice on[State]Change callbacks or external atoms, and switch flexRender to FlexRender.

Does TanStack Svelte Table v9 require Svelte 5 runes?

TanStack Svelte Table v9 requires Svelte 5 runes because it is a full rewrite that will not work on Svelte 3 or 4. Validating your Svelte 5 prerequisite prevents compile-time failures during the migration process.

How do I handle state ownership when upgrading TanStack Table to v9?

Handling state ownership when upgrading to v9 requires choosing and implementing the correct state model per slice using internal initialState, external state callbacks via on[State]Change, or external atoms with specific precedence rules.

What is the best way to update flexRender usage for Svelte Table v9?

The best way to update flexRender usage for Svelte Table v9 is to transition to the v9 FlexRender API and update custom component and snippet rendering patterns to the new renderComponent and renderSnippet workflow.

How do I register row models in TanStack Svelte Table v9?

Registering row models in TanStack Svelte Table v9 involves using the new createTable API and explicitly wiring your _features and _rowModels during table creation instead of using the old v8 get*RowModel factory pattern.

Why is my TanStack Svelte Table v8 migration failing after updating to v9?

Your TanStack Svelte Table v8 migration is failing after updating to v9 due to breaking changes from the full rewrite. You must replace v8 constructs like createSvelteTable and monolithic onStateChange with v9 rune-based equivalents to resolve compile errors.