Shared basic TypeScript config for ES2020
This is not an official base. It should support Node.js 14 and above, but should provide ES2020 support for ES modules.
It includes:
strict
is activated (true) and enables a wide range of type checking behavior that results in stronger guarantees of program correctness.esModuleInterop
is activated (true) which should result in better support for import of dependencies regardless whether they areES
orcommonjs
.skipLibCheck
is activated (true) and skip type checking of declaration files.forceConsistentCasingInFileNames
is activated (true) and TypeScript will issue an error if a program tries to include a file by a casing different from the casing on disk.declaration
is activated (true) and generate .d.ts files for every TypeScript or JavaScript file inside your project.newLine
is set toLF
(unix).noImplicitReturns
is activated (true) and TypeScript will check all code paths in a function to ensure they return a value.noImplicitOverride
is activated (true) and you can ensure that the sub-classes never go out of sync, by ensuring that functions which override include the keywordoverride
.noUnusedLocals
is activated (true) and you get report errors on unused local variables.noUnusedParameters
is activated (true) and you get report errors on unused parameters in functions.noFallthroughCasesInSwitch
is activated (true) and you get report errors for fallthrough cases in switch statements.noUncheckedIndexedAccess
is activated (true) and this will add undefined to any un-declared field in the type.noPropertyAccessFromIndexSignature
is activated (true) and will raise an error when the unknown field uses dot syntax instead of indexed syntax.noEmitOnError
is activated (true) and this will not emit compiler output files like JavaScript source code, source-maps or declarations if any errors were reported.useDefineForClassFields
is activated (true) and switches to the upcoming standard version of class fields runtime behavior.
$ npm install --save-dev baldrick-tsconfig-es2020
tsconfig.json
{
"extends": "baldrick-tsconfig-es2020"
}
This project was strongly inspired by Sindre Sorhus tsconfig