@concourse/typescript-config contains the strict TypeScript defaults for Node.js packages, React libraries, and Next.js apps.
Complete the repository quick start. Select the configuration that matches the new workspace runtime.
| Configuration | Use it for |
|---|---|
base.json | Shared compiler defaults and non-rendering TypeScript code |
node.json | Node.js packages, scripts, and development tools |
react-library.json | Shared React component packages |
nextjs.json | Next.js applications |
Use the package path in the consumer tsconfig.json:
{
"extends": "@concourse/typescript-config/node.json",
"compilerOptions": {
"rootDir": "."
},
"include": ["**/*.ts"]
}React libraries use:
{
"extends": "@concourse/typescript-config/react-library.json",
"include": ["**/*.ts", "**/*.tsx"]
}Next.js apps use nextjs.json and keep their generated .next/types include entries.
The base configuration enables strict type checking, declaration output, isolated modules, bundler resolution, and unchecked-index protection.
It targets ES2022 and includes browser libraries. node.json adds Node.js types. react-library.json adds the React JSX transform.
nextjs.json adds the Next.js TypeScript plugin, preserves JSX, allows JavaScript inputs, and disables emit.
Do not weaken a shared strictness rule to correct one consumer. Add the narrow consumer option only when its runtime requires it.
Each workspace owns its check-types script. Run the focused package first, then run the repository gate:
pnpm --filter <workspace-name> check-types
pnpm verify@concourse/typescript-config contains the strict TypeScript defaults for Node.js packages, React libraries, and Next.js apps.
Complete the repository quick start. Select the configuration that matches the new workspace runtime.
| Configuration | Use it for |
|---|---|
base.json | Shared compiler defaults and non-rendering TypeScript code |
node.json | Node.js packages, scripts, and development tools |
react-library.json | Shared React component packages |
nextjs.json | Next.js applications |
Use the package path in the consumer tsconfig.json:
{
"extends": "@concourse/typescript-config/node.json",
"compilerOptions": {
"rootDir": "."
},
"include": ["**/*.ts"]
}React libraries use:
{
"extends": "@concourse/typescript-config/react-library.json",
"include": ["**/*.ts", "**/*.tsx"]
}Next.js apps use nextjs.json and keep their generated .next/types include entries.
The base configuration enables strict type checking, declaration output, isolated modules, bundler resolution, and unchecked-index protection.
It targets ES2022 and includes browser libraries. node.json adds Node.js types. react-library.json adds the React JSX transform.
nextjs.json adds the Next.js TypeScript plugin, preserves JSX, allows JavaScript inputs, and disables emit.
Do not weaken a shared strictness rule to correct one consumer. Add the narrow consumer option only when its runtime requires it.
Each workspace owns its check-types script. Run the focused package first, then run the repository gate:
pnpm --filter <workspace-name> check-types
pnpm verify