gamecult-bifrost/tools/tsconfig.base.json
2026-06-09 01:58:22 +01:00

57 lines
1.5 KiB
JSON

{
"$schema": "https://json.schemastore.org/tsconfig.json",
"compilerOptions": {
// Enable incremental builds.
"composite": true,
// Enable type-stripping.
"allowImportingTsExtensions": true,
// Only allow type-strippable syntax.
"erasableSyntaxOnly": true,
// Maximize type checking.
"allowUnreachableCode": false,
"allowUnusedLabels": false,
"forceConsistentCasingInFileNames": true,
"noImplicitOverride": true,
"noUncheckedIndexedAccess": true,
"noUncheckedSideEffectImports": true,
"noUnusedLocals": true,
"resolveJsonModule": true,
"strict": true,
// Projects add types needed.
"lib": ["ES2023"],
"types": [],
"isolatedDeclarations": true, // Require explicit types.
// Improve compatibility with compilers that aren't type system aware.
"isolatedModules": true,
"esModuleInterop": true, // Use ESM.
// Allow JSON type-checking and imports.
"module": "ESNext",
"moduleResolution": "Bundler",
"rewriteRelativeImportExtensions": true, // Rewrite .ts imports to .js.
// All subprojects output to dist/ relative the project root.
"outDir": "../dist",
"rootDir": "..",
// Assume library types are checked and compatible.
"skipLibCheck": true,
"skipDefaultLibCheck": true,
"sourceMap": true,
"declarationMap": true, // Map back to original sources, not .d.ts.
"target": "ES2023",
// Don't transform type-only imports.
"verbatimModuleSyntax": true
}
}