SuperAPI AI Directory

tanstack-table-core-api-not-found

Coding & development

View repository

Updated 10-16 00:02

About this skill

This skill builds on core and table-features. Treat the installed package—not remembered docs—as exact API truth.

Setup

import { readFile } from 'node:fs/promises'

const packageJson = JSON.parse(
  await readFile('node_modules/@tanstack/table-core/package.json', 'utf8'),
)
const entrypoint = await readFile(
  'node_modules/@tanstack/table-core/dist/index.d.ts',
  'utf8',
)
console.log(packageJson.version, entrypoint.includes('rowSortingFeature'))

Core Patterns

Trace an export to source

rg "export .*rowSortingFeature|rowSortingFeature" node_modules/@tanstack/table-core/dist/

For an adapter API, start at node_modules/@tanstack/<framework>-table/dist/index.d.ts.

Check feature gating before replacement

const features = tableFeatures({ rowSortingFeature })

If the export exists but the instance API does not, inspect TableFeatures.ts and the table's registry.

Common Mistakes

[CRITICAL] Substituting a remembered v8 API

Wrong:

const options = { getSortedRowModel: getSortedRowModel() }

Correct:

const features = tableFeatures({
  rowSortingFeature,
  sortedRowModel: createSortedRowModel(),
})

V9 moved row-model factories to named feature slots and renamed get* factories to create*.

Source: docs/framework/react/guide/migrating.md#row-model-factories

[HIGH] Mistaking omitted feature for removal

Wrong:

const features = tableFeatures({})

Correct:

const features = tableFeatures({ columnVisibilityFeature })

Optional APIs and state are typed and installed from the concrete feature registry.

Source: packages/table-core/src/types/TableFeatures.ts

[HIGH] Discovering methods through own keys

Wrong:

const methods = Object.keys(row).filter((key) => key.startsWith('get'))

Correct:

const value = row.getValue('name')
const prototype = Object.getPrototypeOf(row)

V9 shares many instance methods through prototypes, so spread, serialization, and Object.keys omit them.

Source: docs/framework/react/guide/migrating.md#instance-methods-must-be-called-on-their-instance

API Discovery

Use this order: installed package.json version, installed adapter dist/index.d.ts, installed core dist/index.d.ts, then the exported implementation or feature directory. Prefer dist/**/*.d.ts (Ember: declarations/**/*.d.ts; Angular: dist/types/*.d.ts).