Skills

Devtools

Register Angular Table v9 instances with injectTanStackTableDevtools inside injection...

Install

npx skills add TanStack/table --skill devtools -g -a claude-code -y
Repository
TanStack/table28.5k
Category
Engineering
Updated
14d ago
License
MIT
Context cost
Lightabout 546 tokens
Runs scripts
No, instructions only

What it does

Register Angular Table v9 instances with injectTanStackTableDevtools inside injection context. Load for reactive table registration, required options.key, enabled or undefined tables, cleanup, Angular isDevMode gating, or explicit production exports.

This skill builds on @tanstack/table-core#core and @tanstack/table-devtools#devtools.

Setup

import { Component } from '@angular/core'
import { injectTable, tableFeatures } from '@tanstack/angular-table'
import { injectTanStackTableDevtools } from '@tanstack/angular-table-devtools'

const features = tableFeatures({})
const columns = [{ accessorKey: 'id' }]
const data: Array<{ id: string }> = []

@Component({ selector: 'users-table', template: 'Users table registered' })
export class UsersTable {
  readonly table = injectTable(() => ({
    key: 'users-table',
    features,
    columns,
    data,
  }))

  constructor() {
    injectTanStackTableDevtools(() => ({ table: this.table }))
  }
}

Provide the Angular TanStack Devtools host once at application configuration level as documented in docs/devtools.md.

Hooks and Components

The injector options function may return table: undefined or an enabled function to remove/disable registration reactively.

Common Mistakes

CRITICAL Injector called outside context

Wrong: call injectTanStackTableDevtools from an arbitrary callback after bootstrap.

Correct: call it in a component/service field initializer or constructor injection context.

The adapter uses Angular injection and effects for lifecycle cleanup.

Source: TanStack/table:packages/angular-table-devtools/src/injectTanStackTableDevtools.ts

HIGH Missing table key

Wrong: register an otherwise valid table without options.key.

Correct: assign a stable unique key before injection registration.

Core registration logs an error and skips keyless targets.

Source: TanStack/table:packages/table-devtools/src/tableTarget.ts

MEDIUM isDevMode no-op misunderstood

Wrong: expect default Angular exports to render production Devtools.

Correct: keep standard setup development-only; use /production only when explicitly requested.

The package index switches exports using Angular isDevMode().

Read the whole SKILL.md on GitHub

More in Engineering