Skip to content

Instantly share code, notes, and snippets.

@Retrockit
Created March 12, 2025 00:03
Show Gist options
  • Save Retrockit/77c9c3ae8a1ea283dff7768fc443bc06 to your computer and use it in GitHub Desktop.
Save Retrockit/77c9c3ae8a1ea283dff7768fc443bc06 to your computer and use it in GitHub Desktop.
Modern TSConfig.Json
{
"compilerOptions": {
/* Type Checking */
"strict": true,
"noImplicitAny": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"strictBindCallApply": true,
"strictPropertyInitialization": true,
"noImplicitThis": true,
"useUnknownInCatchVariables": true,
"alwaysStrict": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"noUncheckedIndexedAccess": true,
"noImplicitOverride": true,
"noPropertyAccessFromIndexSignature": true,
"exactOptionalPropertyTypes": true,
"allowUnreachableCode": false,
"allowUnusedLabels": false,
"noEmitOnError": true,
"checkJs": true,
"allowJs": true,
"noErrorTruncation": true,
/* Modules */
"module": "NodeNext",
"moduleResolution": "NodeNext",
"moduleDetection": "force",
"resolveJsonModule": true,
"isolatedModules": true,
"allowImportingTsExtensions": true,
"emitDeclarationOnly": true,
/* Emit */
"declaration": true,
"declarationMap": true,
"removeComments": false,
"preserveConstEnums": true,
/* Interop Constraints */
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"forceConsistentCasingInFileNames": true,
"verbatimModuleSyntax": true,
/* Language and Environment */
"target": "ESNext",
"lib": [
"ESNext",
"DOM",
"DOM.Iterable"
],
/* Completeness */
"skipLibCheck": false,
/* Projects */
"incremental": true,
"composite": true,
"tsBuildInfoFile": "./node_modules/.cache/.tsbuildinfo"
},
"include": [
"src/**/*.ts",
"src/**/*.tsx",
"test/**/*.ts",
"test/**/*.tsx",
"src/**/*.js",
"src/**/*.jsx",
"test/**/*.js",
"test/**/*.jsx"
],
"exclude": [
"node_modules",
"dist",
"build",
"coverage"
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment