-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathtsconfig.json
More file actions
59 lines (54 loc) · 2.24 KB
/
tsconfig.json
File metadata and controls
59 lines (54 loc) · 2.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
{
"compilerOptions": {
// Basic configuration
"target": "ES2020",
"module": "Node16",
"moduleResolution": "Node16",
"lib": ["ES2020"],
"types": ["node"],
"baseUrl": ".", // Use project root as reference
"paths": {
"src/*": ["src/*"]
},
// Output configuration
"outDir": "./dist",
"rootDir": "./src",
"sourceMap": true,
"declaration": true,
"declarationMap": true,
// Strict type checking (this is important!)
"strict": true, // Enable all strict checks
"noImplicitAny": true, // Prohibit implicit any
"strictNullChecks": true, // Strict null/undefined checks
"strictFunctionTypes": true, // Strict function type checks
"strictBindCallApply": true, // Strict bind/call/apply checks
"strictPropertyInitialization": true, // Strict property initialization checks
"noImplicitThis": true, // Prohibit implicit this
"alwaysStrict": true, // Always enable strict mode
// Additional safety checks (currently disabled in this PR)
"noUncheckedIndexedAccess": true, // Safety checks for index access
"exactOptionalPropertyTypes": true, // Strict type checking for optional properties
"noPropertyAccessFromIndexSignature": true, // Prohibit property access from index signature
// Error detection
"noFallthroughCasesInSwitch": false, // Allow intentional fallthrough in switch statements
"noImplicitReturns": true, // Prohibit implicit returns
"noImplicitOverride": true, // Require override keyword
"noUnusedLocals": true, // Detect unused local variables
"noUnusedParameters": true, // Detect unused parameters
// Module resolution
"esModuleInterop": true,
"skipLibCheck": true, // Skip type checking of declaration files (build optimization)
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true
},
"include": ["src/**/*"],
"exclude": [
"node_modules",
"dist",
"**/*.spec.ts",
"**/*.test.ts",
"src/__tests__/**/*",
"src/tests/**/*",
"src/**/__tests__/**/*"
]
}