Skip to content

TypeScript Type Generation

Generates .d.ts files from resolved token data so you get autocomplete and type checking when importing tokens in your application.

Resolve tokens first, then pass them to generateTypes:

const tokens = await dispersa.resolveTokens('./tokens.resolver.json', { theme: 'light' })
await dispersa.generateTypes(tokens, './dist/tokens.d.ts', {
moduleName: 'design-tokens',
})

The generated declaration file enables autocomplete in editors when importing tokens. It declares the module and exports token paths as typed properties.

OptionDescription
moduleNameThe module name for the declaration (for declare module "...")
  1. Resolve tokens for the permutation(s) you need
  2. Generate types from the resolved result
  3. Build outputs (css, json, etc.) as usual
// Resolve first
const tokens = await dispersa.resolveTokens('./tokens.resolver.json', { theme: 'light' })
// Generate types
await dispersa.generateTypes(tokens, './dist/tokens.d.ts', { moduleName: 'design-tokens' })
// Build outputs
await dispersa.build({ outputs: [/* ... */] })