Significa's shared TypeScript configurations. Four variants, all strict, all noEmit (Biome handles syntax; tsc handles type-checking only).
pnpm add -D -E @significa/tsconfig typescriptStrict mode, target: ES2023, module: preserve, noEmit, verbatimModuleSyntax, erasableSyntaxOnly. No DOM lib, no JSX, no allowImportingTsExtensions. Pick this only if your code is truly runtime-agnostic (rare). Most projects extend react, astro, or node directly.
{
"extends": "@significa/tsconfig/base",
"include": ["src"]
}Extends base. Adds DOM lib, jsx: react-jsx, allowImportingTsExtensions.
{
"extends": "@significa/tsconfig/react",
"include": ["src", "vite.config.ts"]
}Extends base. Adds DOM lib, jsx: preserve, allowImportingTsExtensions. Pre-includes ${configDir}/.astro/types.d.ts and ${configDir}/**/*, excludes dist.
{
"extends": "@significa/tsconfig/astro",
"compilerOptions": {
"paths": { "@/*": ["./src/*"] }
}
}Extends base. Swaps to module: NodeNext + moduleResolution: NodeNext, adds types: ["node"]. No DOM lib (the base default is fine for Node).
{
"extends": "@significa/tsconfig/node",
"include": ["src", "scripts"]
}