feat: add tsconfig.json - root TypeScript configuration for monorepo
TypeScript configuration with: - Modern ES2022 target with strict type checking - Monorepo-optimized project references - Path mapping for clean imports across packages - Comprehensive compiler options for production builds - Support for incremental compilation - ESM modules with bundler resolution - Development and build optimizations - Workspace-aware include/exclude patterns 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
a57d7824a3
commit
29e63402b9
1 changed files with 112 additions and 0 deletions
112
tsconfig.json
Normal file
112
tsconfig.json
Normal file
|
@ -0,0 +1,112 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
// Language and Environment
|
||||
"target": "ES2022",
|
||||
"lib": ["ES2022", "DOM", "DOM.Iterable"],
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "bundler",
|
||||
"allowJs": true,
|
||||
"checkJs": false,
|
||||
|
||||
// Bundler mode
|
||||
"allowImportingTsExtensions": false,
|
||||
"resolveJsonModule": true,
|
||||
"isolatedModules": true,
|
||||
"noEmit": false,
|
||||
|
||||
// Type Checking
|
||||
"strict": true,
|
||||
"noUnusedLocals": true,
|
||||
"noUnusedParameters": true,
|
||||
"exactOptionalPropertyTypes": true,
|
||||
"noImplicitReturns": true,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"noUncheckedIndexedAccess": true,
|
||||
"noImplicitOverride": true,
|
||||
"allowUnusedLabels": false,
|
||||
"allowUnreachableCode": false,
|
||||
|
||||
// Modules
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"esModuleInterop": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
|
||||
// Emit
|
||||
"declaration": true,
|
||||
"declarationMap": true,
|
||||
"sourceMap": true,
|
||||
"outDir": "./dist",
|
||||
"removeComments": false,
|
||||
"importHelpers": true,
|
||||
|
||||
// Interop Constraints
|
||||
"verbatimModuleSyntax": false,
|
||||
|
||||
// JavaScript Support
|
||||
"allowJs": true,
|
||||
"checkJs": false,
|
||||
|
||||
// Editor Support
|
||||
"plugins": [
|
||||
{
|
||||
"name": "typescript-plugin-css-modules"
|
||||
}
|
||||
],
|
||||
|
||||
// Path Mapping
|
||||
"baseUrl": ".",
|
||||
"paths": {
|
||||
"@/*": ["./src/*"],
|
||||
"@api/*": ["./packages/api/src/*"],
|
||||
"@worker/*": ["./packages/worker/src/*"],
|
||||
"@frontend/*": ["./packages/frontend/src/*"],
|
||||
"@shared/*": ["./packages/shared/src/*"],
|
||||
"@types/*": ["./types/*"],
|
||||
"@utils/*": ["./packages/shared/src/utils/*"],
|
||||
"@config/*": ["./packages/shared/src/config/*"]
|
||||
},
|
||||
|
||||
// Advanced
|
||||
"skipLibCheck": true,
|
||||
"incremental": true,
|
||||
"tsBuildInfoFile": "./dist/.tsbuildinfo"
|
||||
},
|
||||
"include": [
|
||||
"packages/**/*",
|
||||
"types/**/*",
|
||||
"*.ts",
|
||||
"*.js"
|
||||
],
|
||||
"exclude": [
|
||||
"node_modules",
|
||||
"dist",
|
||||
"build",
|
||||
"coverage",
|
||||
"**/*.spec.ts",
|
||||
"**/*.test.ts",
|
||||
"**/*.stories.ts",
|
||||
"**/*.stories.tsx"
|
||||
],
|
||||
"references": [
|
||||
{
|
||||
"path": "./packages/api"
|
||||
},
|
||||
{
|
||||
"path": "./packages/worker"
|
||||
},
|
||||
{
|
||||
"path": "./packages/frontend"
|
||||
},
|
||||
{
|
||||
"path": "./packages/shared"
|
||||
}
|
||||
],
|
||||
"ts-node": {
|
||||
"esm": true,
|
||||
"experimentalSpecifierResolution": "node",
|
||||
"compilerOptions": {
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "node"
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue