Langages & RuntimesSûr100100/100

Typescript (TanStack)

Preserve TanStack Table v9 inference with createColumnHelper, columns(), tableOptions, tableFeatures, and metaHelper. Load for ColumnDef errors, reusable tables, typed meta, named registries, or unnecessary manual feature generics.

ou envoie-le directement à ton agent.

Installer dans ton projet

$ curl -fsSL https://arboristhree.xyz/cli/install-skill.mjs -o /tmp/arboris-install-skill.mjs && node /tmp/arboris-install-skill.mjs typescript__tanstack-table__packages-table-core-skills-b99b58ad47e2
TanStack
TanStack/table
Contenu à copier
---
name: typescript
description: >
  Preserve TanStack Table v9 inference with createColumnHelper, columns(), tableOptions, tableFeatures, and metaHelper. Load for ColumnDef errors, reusable tables, typed meta, named registries, or unnecessary manual feature generics.
metadata:
  origin: TanStack
  type: sub-skill
  library: '@tanstack/table-core'
  library_version: '9.2.4'
requires: ['core', 'table-features']
sources:
  - 'TanStack/table:docs/guide/helpers.md'
  - 'TanStack/table:docs/guide/column-defs.md'
  - 'TanStack/table:docs/guide/table-and-column-meta.md'
  - 'TanStack/table:packages/table-core/src/helpers'
---

This skill builds on `core` and `table-features`. Let the feature object and helpers carry types through userland.

## Setup

```ts
import {
  createColumnHelper,
  metaHelper,
  tableFeatures,
} from '@tanstack/table-core'

type Person = { id: string; age: number }
type ColumnMeta = { align?: 'start' | 'end' }
const features = tableFeatures({ columnMeta: metaHelper<ColumnMeta>() })
const helper = createColumnHelper<typeof features, Person>()
export const columns = helper.columns([
  helper.accessor('age', { meta: { align: 'end' } }),
])
```

## Core Patterns

### Preserve heterogeneous accessor values

```ts
const columns = helper.columns([
  helper.accessor('id', { header: 'ID' }),
  helper.accessor('age', { header: 'Age' }),
])
```

`columns()` preserves each accessor's `TValue` instead of widening the array.

### Compose options through the helper

```ts
const defaults = tableOptions<typeof features, Person>({
  defaultColumn: { meta: { align: 'start' } },
})
```

Use `tableOptions` for reusable fragments; direct adapter options are enough for one-offs.

## Common Mistakes

### [HIGH] Erasing accessor value inference

Wrong:

```ts
const columns: ColumnDef<typeof features, Person, unknown>[] = [
  helper.accessor('age', {}),
]
```

Correct:

```ts
const columns = helper.columns([helper.accessor('age', {})])
```

The broad annotation discards the accessor-specific `number` value type.

Source: `docs/guide/helpers.md#createcolumnhelper`

### [MEDIUM] Threading internal feature generics manually

Wrong:

```ts
type Features = TableFeatures
```

Correct:

```ts
type Features = typeof features
```

The concrete registry is the source of feature-gated APIs and registry keys.

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

### [MEDIUM] Globally merging per-table meta

Wrong:

```ts
declare module '@tanstack/table-core' {
  interface ColumnMeta<TData, TValue> {
    align?: string
  }
}
```

Correct:

```ts
const features = tableFeatures({
  columnMeta: metaHelper<{ align?: 'start' | 'end' }>(),
})
```

V9 type-only feature slots keep meta types scoped to the table factory.

Source: `docs/guide/table-and-column-meta.md`

## API Discovery

Inspect `node_modules/@tanstack/table-core/dist/helpers/` and the signatures re-exported by `dist/index.d.ts`; avoid copying deep internal generic signatures into application code.
Colle ce Markdown dans ton agent ou utilise les boutons ci-dessus pour l’écrire dans ton projet.

Ce que fait Typescript (TanStack)

Applique les pratiques du skill typescript__tanstack-table__packages-table-core-skills-b99b58ad47e2.

Comment utiliser Typescript (TanStack)

1
Copie le prompt
Un clic copie le prompt packagé (ou l'envoie à ton agent).
2
L'agent installe le skill
Il ajoute le SKILL.md et ses ressources à ton projet.
3
Activation automatique
Le skill s'active dès que le contexte correspond.

Déclencheurs pour Typescript (TanStack)

Dis simplement à ton agent quelque chose comme :

Applique le skill typescript__tanstack-table__packages-table-core-skills-b99b58ad47e2 à cette tâche
Utilise typescript__tanstack-table__packages-table-core-skills-b99b58ad47e2 pour améliorer cette implémentation
Passe en revue ce sujet avec typescript__tanstack-table__packages-table-core-skills-b99b58ad47e2

Skills liés à Typescript (TanStack)