Overview
TanStack Config provides an opinionated, minimal-configuration toolkit for JavaScript/TypeScript package development. It includes Vite-powered build configuration, ESLint presets, publish automation with semantic versioning, and integrations with TypeScript, Prettier, Changesets, and GitHub Actions. Designed for monorepo workflows with pnpm and Nx.
Package: @tanstack/config
Status: Stable
Installation
Vite Build Configuration
Basic Setup
Multiple Entry Points
Build Options
ESLint Configuration
Basic Setup
Extending the Config
Publishing
Publish Configuration
Package.json Setup
TypeScript Configuration
tsconfig.json
Changesets Integration
Setup
Creating a Changeset
Changeset Config
GitHub Actions Workflow
CI/CD Pipeline
Publish Workflow
Monorepo Setup (pnpm + Nx)
Workspace Configuration
Nx Configuration
Prettier Configuration
EditorConfig
Best Practices
- Use the Vite config for builds - handles ESM/CJS dual output and declarations
- Use publint-compliant exports in package.json for compatibility
- Use Changesets for version management in monorepos
- Set
"type": "module"in package.json for ESM-first packages - Include both
srcanddistinfilesfor source map debugging - Use Nx caching for faster builds in monorepos
- Always generate declaration files (
.d.ts) for TypeScript consumers - Use the ESLint config as a consistent baseline across packages
- Automate publishing with GitHub Actions and Changesets
Common Pitfalls
- Missing
exportsfield in package.json (breaks modern bundlers) - Not setting
"type": "module"(causes ESM import issues) - Forgetting declaration files in build output
- Not excluding test files from the build
- Publishing without running publint validation first
- Not configuring
moduleResolution: "bundler"in tsconfig - Inconsistent versioning across monorepo packages (use Changesets
linked)


