@alienfast/tsconfig
Version:
> Shared [TypeScript configs](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html) for AlienFast projects
46 lines (38 loc) • 1.55 kB
JSON
{
"$schema": "https://json.schemastore.org/tsconfig",
"display": "React shared base",
"extends": "@tsconfig/create-react-app/tsconfig.json",
"compilerOptions": {
// All packages should be ESM, only the final webpack should be different.
"target": "esnext",
"module": "esnext",
// Final webpack should target modern browsers instead of es5 with es2015
// "target": "es2015",
// Do not allow js
"allowJs": false,
// No js, ts, maps when errors are reported
"noEmitOnError": true,
// Do not allow inference to fall back to any type
"noImplicitAny": true,
// Ensure a return path
"noImplicitReturns": true,
// Report errors on unused local variables.
"noUnusedLocals": false,
"resolveJsonModule": true,
// obj[foo] suppression
// "suppressImplicitAnyIndexErrors": true, -- deprecated in 5.0
// Ensure that .d.ts files are created by tsc, but not .js files (babel will do this for us)
"declaration": true,
"emitDeclarationOnly": true,
// Generates a source map for .d.ts files which map back to the original .ts source file.
"declarationMap": true,
// Ensure that Babel can safely transpile files in the TypeScript project
"isolatedModules": true,
// material-ui uses emotion https://emotion.sh/docs/typescript
// "jsxImportSource": "@emotion/react", NEED for mui 5.x
// https://github.com/jquense/yup#typescript-configuration
"strictFunctionTypes": false,
// vite suggestions
"useDefineForClassFields": true
}
}