55 lines
1.3 KiB
JSON
55 lines
1.3 KiB
JSON
{
|
|
// This is based on https://bun.sh/docs/typescript#suggested-compileroptions
|
|
"$schema": "https://json.schemastore.org/tsconfig",
|
|
"display": "Bun",
|
|
"docs": "https://bun.sh/docs/typescript",
|
|
"compilerOptions": {
|
|
// Enable latest features
|
|
"lib": [
|
|
"ESNext"
|
|
],
|
|
"target": "ESNext",
|
|
"module": "NodeNext",
|
|
"moduleDetection": "force",
|
|
"jsx": "react-jsx",
|
|
"allowJs": true,
|
|
// Bundler mode
|
|
"moduleResolution": "NodeNext",
|
|
"allowImportingTsExtensions": true,
|
|
// "verbatimModuleSyntax": true, // It breaks importing CommonJS modules
|
|
"noEmit": true,
|
|
// Best practices
|
|
"strict": true,
|
|
"skipLibCheck": true,
|
|
"noFallthroughCasesInSwitch": true,
|
|
// Some stricter flags
|
|
"noUnusedLocals": true,
|
|
"noUnusedParameters": true,
|
|
// "noPropertyAccessFromIndexSignature": true // Ugly method of accessing properties `obj['prop']`
|
|
// My rules
|
|
"experimentalDecorators": true, // remult required
|
|
"paths": {
|
|
"@shared/*": [
|
|
"./shared/*"
|
|
],
|
|
"@server/*": [
|
|
"./server/*"
|
|
],
|
|
"@client/*": [
|
|
"./client/*"
|
|
]
|
|
},
|
|
"rootDir": "."
|
|
},
|
|
"include": [
|
|
"shared/**/*",
|
|
"server/**/*"
|
|
],
|
|
"exclude": [
|
|
"node_modules",
|
|
"dist",
|
|
"build",
|
|
"coverage",
|
|
"client"
|
|
]
|
|
} |