docusaurus/tsconfig.base.json

72 lines
2.1 KiB
JSON

{
"compilerOptions": {
"rootDir": "${configDir}/src",
"outDir": "${configDir}/lib",
"composite": true,
"incremental": true,
"tsBuildInfoFile": "${configDir}/lib/.tsbuildinfo",
/* Emit */
"target": "ES2020",
"lib": ["ESNext"],
"declaration": true,
// These two options will be selectively overridden in each project.
// Utility libraries will have source maps on, but plugins will not.
"declarationMap": false,
"sourceMap": false,
"jsx": "react-native",
"importHelpers": true,
"noEmitHelpers": true,
// Will be overridden in client projects
"module": "NodeNext",
// Avoid accidentally using this config to build
"noEmit": true,
/* Strict Type-Checking Options */
"allowUnreachableCode": false,
// Too hard to turn on
"exactOptionalPropertyTypes": false,
"noFallthroughCasesInSwitch": true,
"noImplicitOverride": true,
"noImplicitReturns": true,
// `process.env` is usually accessed as property
"noPropertyAccessFromIndexSignature": false,
"noUncheckedIndexedAccess": true,
/* strict family */
"strict": true,
"alwaysStrict": true,
"noImplicitAny": true,
"noImplicitThis": true,
"strictBindCallApply": true,
"strictFunctionTypes": true,
"strictNullChecks": true,
"strictPropertyInitialization": true,
"useUnknownInCatchVariables": true,
/* Handled by ESLint */
"noUnusedLocals": false,
"noUnusedParameters": false,
"importsNotUsedAsValues": "remove",
/* Module Resolution */
"moduleResolution": "NodeNext",
"resolveJsonModule": true,
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"isolatedModules": true,
"allowJs": true,
"skipLibCheck": true // @types/webpack and webpack/types.d.ts are not the same thing
},
"include": ["./**/*", "./**/.eslintrc.js"],
"exclude": [
"node_modules",
"coverage/**",
"**/lib/**/*",
"website/**",
"**/__mocks__/**/*",
"**/__fixtures__/**/*",
"examples/**",
"packages/create-docusaurus/templates/**"
]
}