@ocavue/tsconfig
Version:
A collection of reusable TypeScript configurations
64 lines (56 loc) • 2.27 kB
JSON
{
"$schema": "https://json.schemastore.org/tsconfig",
"compilerOptions": {
"target": "ES2020",
// Enable all strict type-checking options.
"strict": true,
// Disable unused local variables.
"noUnusedLocals": true,
// Force you to use "override" keyword when overriding a method.
"noImplicitOverride": true,
// Disable fallthrough cases in switch statements.
"noFallthroughCasesInSwitch": true,
// Emit additional JavaScript to ease support for importing CommonJS
// modules. This is necessary for some libraries with CommonJS/AMD/UMD
// modules.
"esModuleInterop": true,
// Skip type checking all .d.ts files. This improves performance and
// reduces the number of errors that you cannot fix directly.
"skipLibCheck": true,
// Allow JavaScript files to be included in the project.
"allowJs": true,
// Allow JSON files to be imported as modules.
"resolveJsonModule": true,
// Force TypeScript to consider all files as modules. This helps to avoid
// ['cannot redeclare block-scoped variable'](https://www.totaltypescript.com/cannot-redeclare-block-scoped-variable)
// errors.
"moduleDetection": "force",
// Prevents a few TS features which are unsafe when treating modules as
// isolated files.
"isolatedModules": true,
// Force you to use import type and export type
"verbatimModuleSyntax": true,
// Ensure that casing is correct in imports.
"forceConsistentCasingInFileNames": true,
// Allow TypeScript to cache build information and skip compilation
// when no changes are detected.
"composite": true,
"lib": [
"ESNext",
"ESNext.AsyncIterable",
"DOM",
"DOM.Iterable",
"DOM.AsyncIterable"
],
"module": "NodeNext",
"moduleResolution": "NodeNext",
// Set the root directory to src/ so that the output file structure
// in dist/ matches the file structure in src/.
"rootDir": "${configDir}/src",
// Set the output directory to dist/.
"outDir": "${configDir}/dist",
// By default, ._* paths are ignored by npm publish.
"tsBuildInfoFile": "${configDir}/dist/._cache/tsconfig_dom_node_src/tsconfig.tsbuildinfo"
},
"include": ["${configDir}/src/**/*"]
}