@bcgov-elmsd/eslint-config
Version:
A modern ESLint configuration for JavaScript, TypeScript and React which includes the Airbnb style guide, jsx-a11y and Prettier.
66 lines (63 loc) • 2.46 kB
JavaScript
module.exports = {
extends: ["plugin:import/typescript", "plugin:@typescript-eslint/recommended", require.resolve("./final")],
plugins: ["@typescript-eslint"],
parser: "@typescript-eslint/parser",
settings: {
"import/resolver": {
// Need this line for the eslint-import-resolver-typescript to kick in
typescript: {}
}
},
rules: {
// https://eslint.org/docs/rules
// TypeScript's `noFallthroughCasesInSwitch` option is more robust (https://github.com/facebook/create-react-app/issues/6906)
"default-case": "off",
// 'tsc' already handles this (https://github.com/typescript-eslint/typescript-eslint/issues/291)
"no-dupe-class-members": "off",
// 'tsc' already handles this (https://github.com/typescript-eslint/typescript-eslint/issues/477)
"no-undef": "off",
// https://typescript-eslint.io/rules
"@typescript-eslint/no-empty-interface": "off",
"@typescript-eslint/no-explicit-any": "warn",
"@typescript-eslint/no-require-imports": "error",
// Add TypeScript specific rules and turn off ESLint equivalents
// https://eslint.org/docs/rules
// https://typescript-eslint.io/rules
"no-array-constructor": "off",
"@typescript-eslint/no-array-constructor": "error",
"no-redeclare": "off",
"@typescript-eslint/no-redeclare": "error",
"@typescript-eslint/consistent-type-assertions": "error",
"no-shadow": "off",
"@typescript-eslint/no-shadow": "error",
"no-use-before-define": "off",
"@typescript-eslint/no-use-before-define": [
"error",
{
functions: false,
classes: false,
variables: false,
typedefs: false
}
],
"no-unused-expressions": "off",
"@typescript-eslint/no-unused-expressions": [
"error",
{
allowShortCircuit: true,
allowTernary: true,
allowTaggedTemplates: true
}
],
"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": [
"error",
{
args: "none",
ignoreRestSiblings: true
}
],
"no-useless-constructor": "off",
"@typescript-eslint/no-useless-constructor": "error"
}
}