UNPKG

@kandyr/eslint-config

Version:

Kandyr's shared ESLint configuration for consistent linting across projects.

80 lines 2.46 kB
module.exports = { parser: "@typescript-eslint/parser", plugins: ["@typescript-eslint", "prettier"], extends: [ "eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:prettier/recommended", ], parserOptions: { ecmaVersion: 2020, sourceType: "module", ecmaFeatures: { jsx: true, }, }, env: { node: true, es6: true, browser: true, jest: true, }, rules: { "prettier/prettier": "error", // Enable unused variables and imports checking for TypeScript "@typescript-eslint/no-unused-vars": [ "error", { argsIgnorePattern: "^_", // Allow unused parameters starting with _ varsIgnorePattern: "^_", // Allow unused variables starting with _ caughtErrorsIgnorePattern: "^_", // Allow unused caught errors starting with _ destructuredArrayIgnorePattern: "^_", // Allow unused destructured array elements starting with _ ignoreRestSiblings: true, // Ignore unused rest siblings in object destructuring } ], // Disable the base ESLint rule to avoid conflicts with TypeScript version "no-unused-vars": "off", "@typescript-eslint/no-var-requires": "off", "@typescript-eslint/explicit-function-return-type": "off", "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/ban-types": "off", "no-control-regex": "off", "no-case-declarations": "off", "no-else-return": "error", }, overrides: [ { files: ["*.ts", "*.tsx"], rules: { // TypeScript-specific rules for unused variables "@typescript-eslint/no-unused-vars": [ "error", { argsIgnorePattern: "^_", varsIgnorePattern: "^_", caughtErrorsIgnorePattern: "^_", destructuredArrayIgnorePattern: "^_", ignoreRestSiblings: true, } ], }, }, { files: ["*.js"], rules: { // For JavaScript files, use the base ESLint rule "no-unused-vars": [ "error", { argsIgnorePattern: "^_", varsIgnorePattern: "^_", caughtErrorsIgnorePattern: "^_", destructuredArrayIgnorePattern: "^_", ignoreRestSiblings: true, } ], "@typescript-eslint/no-unused-vars": "off", }, }, ], };