@zanminkian/tsconfig
Version:
Strict shared tsconfig out-of-box.
48 lines (46 loc) • 2.04 kB
JSON
{
"compilerOptions": {
// copied from https://github.com/tsconfig/bases/blob/main/bases/strictest.json
"strict": true,
"allowUnusedLabels": false,
"allowUnreachableCode": false,
"exactOptionalPropertyTypes": true,
"noFallthroughCasesInSwitch": true,
"noImplicitOverride": true,
"noImplicitReturns": true,
"noPropertyAccessFromIndexSignature": true,
"noUncheckedIndexedAccess": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"checkJs": false, // Don't check js for better experience. User can add `// @ts-check` on the top of js file to check it manually.
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"module": "Node16",
"target": "ES2022",
"moduleResolution": "node16",
"allowJs": true,
"outDir": "dist", // Enable it to prevent to override js file. And solve the error warning in vscode. Ref: https://github.com/Microsoft/TypeScript/issues/29172
// "verbatimModuleSyntax": true,
"allowSyntheticDefaultImports": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"resolveJsonModule": true,
"stripInternal": true,
"declaration": true,
"declarationMap": true,
"inlineSourceMap": true,
"isolatedModules": true,
"jsx": "preserve"
/**
* 1. Typescript will include APIs for newer JS features matching the `target`. See https://www.typescriptlang.org/tsconfig#lib. Therefore, there is no need to add "ESNext" to lib.
* 2. In ts 4.5, lib files can be overrode by npm modules. See https://devblogs.microsoft.com/typescript/announcing-typescript-4-5-beta/#supporting-lib-from-node_modules. Therefore, libs like "DOM" can be included by installing `@types/web`. No need to add "DOM" to lib.
*/
// "lib": ["ESNext", "DOM"],
/**
* Ts will load all the `node_modules/@types/*` declaration files when `types` is removed.
* Remove it will improve the extensibility.
*/
// "types": ["node", "jest"],
}
}