Repository navigation
Expand file tree
/
Copy pathtsconfig.json
More file actions
71 lines (59 loc) · 1.68 KB
/
Copy pathtsconfig.json
File metadata and controls
71 lines (59 loc) · 1.68 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
60
61
62
63
64
65
66
67
68
69
70
71
{
"compilerOptions": {
// Target modern JavaScript
"target": "ES2022",
// Use modern Node.js module system
"module": "NodeNext",
"moduleResolution": "NodeNext",
// Enable all strict type checking
"strict": true,
"noUncheckedIndexedAccess": true,
"exactOptionalPropertyTypes": true,
"verbatimModuleSyntax": true,
"moduleDetection": "force",
// Module interop for CommonJS compatibility
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
// Output configuration
"outDir": "./dist",
"declaration": true,
"declarationMap": true,
"sourceMap": true,
// Import helpers to reduce bundle size
"importHelpers": true,
// Skip type checking of declaration files
"skipLibCheck": true,
// Ensure consistent file naming
"forceConsistentCasingInFileNames": true,
// Enable experimental decorators if needed
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
// Node.js specific
"lib": ["ES2022"],
"types": [
"bun-types",
"node",
"reflect-metadata",
"@cloudflare/workers-types"
],
// Error on unused locals and parameters
"noUnusedLocals": true,
"noUnusedParameters": true,
// Ensure void returns are handled
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
// Modern resolution features
"resolveJsonModule": true,
"allowJs": false,
"paths": {
"@/*": ["./src/*"],
"tests/*": ["./tests/*"]
}
},
"include": ["src/**/*", "tests/**/*"],
"exclude": ["node_modules", "dist", "**/*.spec.ts"],
"ts-node": {
"esm": true,
"experimentalSpecifierResolution": "node"
}
}