-
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathtsconfig.json
More file actions
59 lines (55 loc) · 1.93 KB
/
tsconfig.json
File metadata and controls
59 lines (55 loc) · 1.93 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": {
"target": "ES2022",
"module": "ESNext",
"lib": ["ES2022", "DOM"],
"types": ["node"],
"outDir": "./dist",
"rootDir": "./src",
// Strict mode - progressively enabled
"strict": true,
"noImplicitAny": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"strictBindCallApply": true,
"strictPropertyInitialization": true,
"noImplicitThis": true,
"useUnknownInCatchVariables": true,
"alwaysStrict": true,
// Additional safety checks
// Note: noUnusedLocals/noUnusedParameters handled by ESLint for better control
"noUnusedLocals": false,
"noUnusedParameters": false,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
// Stricter checks - enabled but require gradual migration
// These provide better type safety but need codebase updates
"noUncheckedIndexedAccess": false, // TODO: Enable after adding null checks (~200 locations)
"exactOptionalPropertyTypes": false, // TODO: Enable after fixing optional property types
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"declaration": true,
"sourceMap": true,
"resolveJsonModule": true,
"jsx": "react",
"moduleResolution": "Bundler",
"allowSyntheticDefaultImports": true,
// Path aliases for cleaner imports (use @agent/foo instead of ../../agent/foo)
"baseUrl": ".",
"paths": {
"@agent/*": ["src/agent/*"],
"@tools/*": ["src/tools/*"],
"@utils/*": ["src/utils/*"],
"@config/*": ["src/config/*"],
"@channels/*": ["src/channels/*"],
"@server/*": ["src/server/*"],
"@persistence/*": ["src/persistence/*"],
"@security/*": ["src/security/*"],
"@daemon/*": ["src/daemon/*"],
"@analytics/*": ["src/analytics/*"]
}
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist", "tests", "src/agent/_archived", "src/action"]
}