@nexim/typescript-config
Version:
Base TypeScript configuration for Nexim projects.
84 lines (76 loc) • 2.27 kB
JSON
{
// https://www.typescriptlang.org/tsconfig
"compilerOptions": {
/* Basic Options */
"incremental": true,
"target": "ES2020",
"module": "ESNext",
"moduleResolution": "Bundler",
"lib": ["ESNext", "DOM"],
"verbatimModuleSyntax": true,
"moduleDetection": "force",
// "allowJs": true,
"checkJs": true,
// "jsx": "preserve",
"declaration": true,
// "outFile": "./",
// "outDir": "./",
// "rootDir": "./src",
// "tsBuildInfoFile": ".tsbuildinfo",
// "removeComments": true,
// "noEmit": true,
// "emitDeclarationOnly": true,
// "importHelpers": true,
// "noEmitHelpers": true,
// "downlevelIteration": true,
"isolatedModules": true, // need for esbuild
"pretty": true,
"newLine": "lf",
// "stripInternal": true,
/* Strict Type-Checking Options */
"strict": true,
"noImplicitAny": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"strictBindCallApply": true,
"strictPropertyInitialization": true,
"noImplicitThis": true,
"alwaysStrict": true,
/* Additional Checks */
"noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"noImplicitOverride": true,
"noPropertyAccessFromIndexSignature": false,
"noEmitOnError": true,
"allowUnusedLabels": true,
// "noUncheckedIndexedAccess": true,
/* Module Resolution Options */
// "paths": {},
// "rootDirs": [],
// "typeRoots": [],
// "types": [],
"allowSyntheticDefaultImports": true,
// "esModuleInterop": true,
// "preserveSymlinks": true,
// "allowUmdGlobalAccess": true,
/* Source Map Options */
"sourceMap": true,
"declarationMap": true,
"inlineSources": true,
// "inlineSourceMap": true,
// "sourceRoot": "",
// "mapRoot": "",
/* Experimental Options */
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
/* Advanced Options */
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"useDefineForClassFields": false,
// "resolveJsonModule": true, // temporary for fix import json issue
"listEmittedFiles": true
// "diagnostics": true,
}
}