migrate-v8-to-v9

Migrate TanStack Table v8 code to the v9 core shape.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you convert TanStack Table v8 configuration and API usage to the required TanStack Table v9 shape without breaking compilation or runtime behavior.

Core Features & Use Cases

  • Hook/entry renames: migrate React and other adapter entry points to the v9 equivalents at the @tanstack/table-core level.
  • Required _features + _rowModels: restructure your table options so features are tree-shaken and row models are created via the new factories.
  • Breaking API and naming updates: update sorting option names (sortingFnsortFn, etc.), state reads (table.getState()table.store.state / atoms / selectors), and underscore-prefixed APIs that became public.
  • Type and generics changes: fix createColumnHelper arity, lead with TFeatures generics, and tighten RowData shapes for v9 type safety.
  • React transitional escape hatch: use useLegacyTable only for incremental migration when you cannot migrate everything at once.

Quick Start

Update your table code from the v8 option and API names to the v9 required _features and _rowModels structure described in this skill, then re-run TypeScript to fix any remaining rename errors.

Frequently Asked Questions about migrate-v8-to-v9

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

FAQPage Schema
How do I migrate TanStack Table v8 to v9 without breaking sorting and filtering?

Migrate TanStack Table v8 to v9 by restructuring table options to include required `_features` and `_rowModels`, updating sorting option names like `sortingFn` to `sortFn`, and changing state reads to use `table.store.state` to maintain runtime behavior.

What are the required `_features` and `_rowModels` in TanStack Table v9?

The required `_features` and `_rowModels` in TanStack Table v9 are core option properties that enable tree-shaking and use new factory creation with `*Fns` arguments to define row models, replacing the older v8 configuration structure.

How do I fix `createColumnHelper` generic type errors after updating to TanStack Table v9?

Fix `createColumnHelper` generic type errors in TanStack Table v9 by correcting the generic arity order, leading with `TFeatures` generics, and tightening `RowData` shapes to satisfy v9 type safety requirements.

Can I incrementally migrate my React table to v9 if I cannot update everything at once?

You can incrementally migrate React tables to v9 using the `useLegacyTable` transitional escape hatch, which allows you to update your table code gradually when a full migration is not immediately feasible.

Why does `table.getState()` not work in TanStack Table v9?

`table.getState()` does not work in TanStack Table v9 because the API updated state access to use `table.store.state`, atoms, or selectors instead of the v8 `getState` method.