UNPKG

@ticketmaster/eslint-config-allure

Version:

Allure shareable ESLint configuration that follow Allure design system recommendations

77 lines (76 loc) 2.43 kB
module.exports = { settings: { react: { version: "detect", // Automatically detect the version of React to use pragma: "React", // Pragma to use, default to "React" }, }, parser: "@typescript-eslint/parser", parserOptions: { requireConfigFile: false, }, extends: [ "eslint:recommended", "plugin:@next/next/recommended", "plugin:@typescript-eslint/recommended", "plugin:react/recommended", "plugin:react-hooks/recommended", "prettier", ], rules: { "react/prop-types": "off", // Reactivate when the proptypes generator is ready "no-underscore-dangle": "error", camelcase: ["error", { ignoreDestructuring: true, ignoreImports: true }], "one-var": [ "error", { separateRequires: true, const: "never", let: "never", var: "never", }, ], "no-new-wrappers": "error", "prefer-template": "error", "prefer-exponentiation-operator": "error", "no-plusplus": "error", "no-new-object": "error", "object-shorthand": "error", "prefer-spread": "error", "prefer-object-spread": "error", "dot-notation": "error", "prefer-destructuring": "error", "arrow-body-style": ["error", "as-needed"], "consistent-return": "error", eqeqeq: "error", "no-unneeded-ternary": "error", "no-nested-ternary": "off", "no-sequences": "error", "padding-line-between-statements": [ "error", { blankLine: "always", prev: "*", next: "return" }, { blankLine: "always", prev: "*", next: "function" }, { blankLine: "always", prev: "function", next: "*" }, { blankLine: "always", prev: "import", next: "*" }, { blankLine: "any", prev: "import", next: "import" }, { blankLine: "always", prev: ["const", "let", "var"], next: "*" }, { blankLine: "always", prev: "*", next: ["const", "let", "var"] }, { blankLine: "any", prev: ["const", "let", "var"], next: ["const", "let", "var"], }, ], "spaced-comment": ["error", "always", { block: { balanced: true } }], }, overrides: [ { files: ["*.js"], env: { node: true }, rules: { "@typescript-eslint/no-var-requires": "off", // Some JS files still need to use require "@typescript-eslint/explicit-module-boundary-types": "off", // Strangely, this rule is applied on JS files }, }, ], };