{ "extends": "airbnb", "env": { "amd": true, "browser": true, "mocha": true }, "parser": "babel-eslint", "parserOptions": { "ecmaVersion": 6, "ecmaFeatures": { "jsx": true } }, "plugins": [ "react-hooks", "no-only-tests" ], "settings": { "import/resolver": "webpack" }, "rules": { // Hooks "react-hooks/rules-of-hooks": "error", "react-hooks/exhaustive-deps": "warn", // Exceptions "arrow-parens": ["error", "always"], "comma-dangle": ["error", "always-multiline"], "no-only-tests/no-only-tests": 2, "no-script-url": 0, "import/extensions": 0, // we wouldn't be able to import jQuery without this line "import/prefer-default-export": 0, // we want to stop using default exports and start using named exports "react/destructuring-assignment": 0, // that would be too many changes to fix this one "prefer-destructuring": 0, // that would be too many changes to fix this one "jsx-a11y/label-has-for": [2, { "required": {"some": ["nesting", "id"]} // some of our labels are hidden and we cannot nest those }], "jsx-a11y/anchor-is-valid": 0, // cannot fix this one, it would break wprdpress themes "jsx-a11y/label-has-associated-control": [ 2, { "either": "either" // control has to be either nested or associated via htmlFor }], "indent": ["error", 2, {// bug in babel eslint https://github.com/babel/babel-eslint/issues/681#issuecomment-451336031 we can remove this whole exception in the future when the bug is fixed "ignoredNodes": ["TemplateLiteral"], "SwitchCase": 1 }], "template-curly-spacing": "off"// bug in babel eslint https://github.com/babel/babel-eslint/issues/681#issuecomment-623101005 we can remove this whole exception in the future when the bug is fixed }, "overrides": [ { "files": ["*.spec.js"], "rules": { "no-unused-expressions": "off" } } ] }