eslint-config-xaxa
Version:
The ultimate ESLint config - successor to Airbnb Config. Built on Anthony Fu's ESLint config, Airbnb, ESLint Stylistic, Perfectionist, React, TypeScript, Astro, JSDocs, Prettier, Node.js, Unicorns, Promises, and more.
77 lines (71 loc) • 3 kB
JSON
{
"$schema": "https://json.schemastore.org/tsconfig",
"exclude": ["node_modules", "dist"],
"include": ["**/*.ts", "**/*.tsx", "**/*.js"],
// "include": [".eslintrc.cjs", "prettier.config.mjs"],
"compilerOptions": {
"lib": ["esnext", "dom", "dom.iterable"],
"module": "esnext",
"target": "esnext",
"moduleResolution": "bundler",
"moduleDetection": "force",
"allowImportingTsExtensions": true,
"resolveJsonModule": true,
"verbatimModuleSyntax": true,
"composite": false,
"downlevelIteration": true,
"jsx": "react-jsx",
"jsxImportSource": "react",
// "jsx": "react",
// "jsxFactory": "Html.createElement",
// "jsxFragmentFactory": "Html.Fragment",
"allowJs": false,
"checkJs": false,
// "typeRoots": ["node_modules/@types", "**/node_modules/@types"],
/* EMIT RULES */
"outDir": "./dist",
"noEmit": true, // TSUP takes care of emitting js for us, in a MUCH faster way
"sourceMap": true,
"declaration": false,
// "declarationMap": true,
// "removeComments": true,
"isolatedModules": true,
/* TYPE CHECKING RULES */
"strict": true,
"noImplicitAny": false, // Included in "Strict"
// "noImplicitThis": true, // Included in "Strict"
// "strictBindCallApply": true, // Included in "Strict"
// "strictFunctionTypes": true, // Included in "Strict"
// "strictNullChecks": true, // Included in "Strict"
// "strictPropertyInitialization": true, // Included in "Strict"
// ---- ASTRO STRICTEST ------
// Report errors for fallthrough cases in switch statements
"noFallthroughCasesInSwitch": true,
// Force functions designed to override their parent class to be specified as `override`.
"noImplicitOverride": true,
// Force functions to specify that they can return `undefined` if a possible code path does not return a value.
"noImplicitReturns": true,
// Report an error when a variable is declared but never used.
"noUnusedLocals": true,
// Report an error when a parameter is declared but never used.
"noUnusedParameters": true,
// Force the usage of the indexed syntax to access fields declared using an index signature.
"noUncheckedIndexedAccess": true,
// Report an error when the value `undefined` is given to an optional property that doesn't specify `undefined` as a valid value.
"exactOptionalPropertyTypes": true,
// Report an error for unreachable code instead of just a warning.
"allowUnreachableCode": false,
// Report an error for unused labels instead of just a warning.
"allowUnusedLabels": false,
// Disallow JavaScript files from being imported
// "allowJs": false
// /* OTHER OPTIONS */
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
// // "emitDecoratorMetadata": true,
// // "experimentalDecorators": true,
"forceConsistentCasingInFileNames": true,
"skipLibCheck": true
// "useDefineForClassFields": true
}
}