본문으로 건너뛰기
cccskills
무료GitHub에 공개

migrate-v8-to-v9

Migrate TanStack Table from v8 to v9 by auditing API usage, state ownership, features, and TypeScript types. Follow a shared checklist and relevant mappings to preserve existing behavior and verify the updated table.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Audit and migrate Table v8 to v9. Inventory affected APIs, follow the shared checklist, and read only the required architecture, state, feature, and TypeScript mappings.

설치 방법 보기

이럴 때 유용합니다

  • Planning a TanStack Table v8 to v9 migration
  • Updating feature registration and state management
  • Resolving TypeScript changes during migration
  • Verifying table interactions after migration

포함된 파일(5)

  • SKILL.md7.2 KB
  • references/architecture.md7.9 KB
  • references/feature-apis.md6.8 KB
  • references/state.md2.9 KB
  • references/typescript.md2.9 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Migrate Table v8 to v9

Read core first. Audit every item below before choosing detailed mappings. This shared checklist owns the complete core migration; the installed adapter's migration skill owns construction, rendering, framework requirements, and reactive wiring.

Procedure

  1. Establish passing tests for the existing table and inventory its enabled interactions, imports, options, and state owners.
  2. Follow the whole audit checklist. Read a mapping reference when the audit finds affected code; preserve behavior while migrating features and construction.
  3. Load the installed adapter with intent load <package>#migrate-v8-to-v9 and its table-state skill. Substitute the actual adapter package. React, Preact, Solid, Svelte, Vue, Angular, and Lit have migration skills; Alpine, Ember, and Octane have no v8 adapter migration journey.
  4. Type-check, exercise every enabled interaction and client/server stage, and complete the explicit v9 setup.

Treat useLegacyTable as a deprecated React-only bridge for an existing incremental migration. It bundles every feature, can exceed the v8 bundle, and is not the target architecture. Its only entrypoint is @tanstack/react-table/legacy.

Read mappings for affected code

Audit findsRead
Feature registration, row-model factories, function slots, bound methods, or consumed internalsArchitecture mappings
getState, onStateChange, controlled ownership, observation, or reset changesState mappings
Aggregation, logical pinning, sizing/resizing, sorting names, or selection predicatesFeature API mappings
Explicit generics, column helpers, scoped meta, registry augmentation, or RowDataTypeScript mappings

Complete audit checklist

  • Load the installed framework adapter's migration and table-state skills.
  • Replace the v8 adapter constructor/hook/controller with its v9 entrypoint.
  • Add a stable features object to every table.
  • Inventory every feature API used by table, row, column, cell, and header code; register each stock feature the table actually uses.
  • Use stockFeatures only as a temporary parity aid and record an explicit-feature follow-up.
  • Remove getCoreRowModel() unless supplying a deliberate custom coreRowModel slot.
  • Move all remaining get*RowModel() options (or a removed rowModels: {...} object, if present) to create*RowModel() feature slots.
  • Register each dependent feature before its row-model slot.
  • Move filterFns, sortingFns/sortFns, and aggregationFns into feature slots, registering individually imported built-ins; pass no registries to factories.
  • Register rowAggregationFeature independently and migrate custom aggregation callables to context-based AggregationFnDef definitions.
  • Register columnFilteringFeature before global filtering and filter/facet dependencies.
  • Register columnSizingFeature before columnResizingFeature.
  • Replace table.getState() and top-level onStateChange according to the adapter state guide.
  • Verify every controlled slice has an update path; verify externally owned atoms are reset by their owner.
  • Audit destructured, spread, serialized, or bare-callback instance methods.
  • Replace every column-pinning left/right key, argument, comparison, method family, and sticky CSS declaration with logical start/end equivalents.
  • Split table-level enablePinning; preserve column-def enablePinning where intended.
  • Split sizing/resizing features and rename the resizing state, setter, and callback.
  • Replace every sortingFn/SortingFn/sortingFns spelling with its v9 sort* spelling.
  • Remove every consumed underscore-prefixed internal API.
  • Recheck indeterminate selection logic against the new "at least one" semantics.
  • Add TFeatures to unavoidable explicit core types, helpers, and retained meta augmentation; otherwise restore inference.
  • Replace function-registry and filter-meta declaration merging with per-table slots where appropriate.
  • Ensure every row is a record or array under the stricter RowData constraint.
  • Migrate adapter-specific rendering, reactive data inputs, and subscription primitives.
  • Type-check without any/casts added merely to suppress migration failures.
  • Test sorting, filtering, faceting, grouping, expansion, pagination, selection, ordering, pinning, sizing, and resizing where enabled.
  • Test client/server ownership for every row-model pipeline stage and ensure manual modes receive already-processed data.
  • Test LTR and RTL layouts when column pinning or resizing is enabled.
  • Remove useLegacyTable after the incremental migration step that required it.

Completion checks

Missing feature APIs must be resolved through registration, not casts. Keep v8 get*RowModel configuration and physical pinning names out of the final v9 setup. Remove temporary stockFeatures or useLegacyTable use when the incremental step no longer needs them.

After behavior parity, consider tableOptions() for reusable configuration, createTableHook() for app conventions, narrower subscriptions, and scoped meta. These are optional improvements, not extra required breakages. Use the adapter's getting-started skill to reach its app-hook reference when adopting that pattern.

Installed API discovery

Start at node_modules/@tanstack/table-core/dist/index.d.ts and the relevant feature declarations. Resolve the installed package root if the package manager uses another layout. The adapter migration skill names its published declaration route; follow that route for framework APIs instead of applying another adapter's names.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

core

무료

Build table data processing with TanStack Table v9 while keeping data and column definitions stable. The skill guides type inference, which determines types automatically, row identity, optional features, and checks for missing APIs.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Set up the foundation for table data processing
  • Troubleshoot column type inference
  • Investigate missing APIs or optional features
TanStack/table2.9만2026년 10월 13일 업데이트

Build a Table v9 plugin when built-in settings and typed metadata are insufficient. Guides custom state, options, and methods, with initialization hooks and runtime checks to ensure declared APIs actually exist and reset correctly.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Add reusable custom table behavior
  • Design plugin state and reset behavior
  • Keep declared APIs consistent with runtime behavior
TanStack/table2.9만2026년 10월 13일 업데이트

devtools

무료

Connect React Table v9 to Devtools, a development inspection interface. Configure table registration, unique keys, and enabled settings, and diagnose missing panels while understanding registration cleanup and the separate entrypoint for explicit production use.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Adding Devtools to React tables
  • Diagnosing missing Table panels
  • Controlling registration with enabled
TanStack/table2.9만2026년 10월 13일 업데이트

devtools

무료

Connect TanStack Table instances to developer tools for inspecting options, state, features, columns, rows, and row models. Diagnose missing connections, assign unique table keys, and manage registration replacement and cleanup.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Inspect table options, state, columns, and rows
  • Diagnose tables missing from developer tools
  • Assign distinct keys to multiple tables
TanStack/table2.9만2026년 10월 13일 업데이트

devtools

무료

Connect Solid Table v9 tables to Devtools and troubleshoot missing inspection targets. This skill guides table registration, unique keys, conditional activation, automatic cleanup, and the distinction between development exports and explicit production imports.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Connect a Solid Table instance to Devtools
  • Investigate tables missing from Devtools
  • Check registration keys and lifecycle cleanup
TanStack/table2.9만2026년 10월 13일 업데이트

devtools

무료

Connect Preact Table v9 to Devtools, a development inspection interface. This skill guides package selection, unique table keys, registration settings, and development-only behavior to help diagnose tables that do not appear.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Connecting Preact tables to Devtools
  • Diagnosing missing table targets
  • Checking duplicate keys across tables
TanStack/table2.9만2026년 10월 13일 업데이트

TanStack의 스킬 모두 보기

이 스킬의 문제 신고