{ "parser": "babel-eslint", "parserOptions": { "ecmaVersion": 6, "sourceType": "module", "ecmaFeatures": { "jsx": true, "modules": true } }, "plugins": ["react-hooks", "jsx-a11y", "i18next"], "extends": [ "airbnb", "prettier", "prettier/react", "plugin:jsx-a11y/strict", "plugin:i18next/recommended" ], "settings": { "react": { "version": "16.5.2" } }, "env": { "browser": true, "node": true, "jest": true }, "globals": { "window": true }, "rules": { "i18next/no-literal-string": [ 2, { "markupOnly": true, "ignoreAttribute": [ "to", "streamType", "path", "component", "variant", "key", "position", "promptName", "color", "promptId", "headingLevel", "size", "target", "autoComplete", "trigger", "from", "name", "fieldId", "css", "gutter", "dataCy", "tooltipMaxWidth", "mode", "aria-labelledby", "aria-hidden", "sortKey", "ouiaId", "credentialTypeNamespace", "link", "value", "credentialTypeKind", "linkTo", "scrollToAlignment", "displayKey", "sortedColumnKey", "maxHeight", "role", "aria-haspopup", "dropDirection", "resizeOrientation", "src", "theme", "gridColumns" ], "ignore": ["Ansible", "Tower", "JSON", "YAML", "lg", "START"], "ignoreComponent": [ "code", "Omit", "PotentialLink", "TypeRedirect", "Radio", "RunOnRadio", "NodeTypeLetter", "SelectableItem", "Dash" ], "ignoreCallee": ["describe"] } ], "camelcase": "off", "arrow-parens": "off", "comma-dangle": "off", // https://github.com/benmosher/eslint-plugin-import/issues/479#issuecomment-252500896 "import/no-extraneous-dependencies": "off", "max-len": [ "error", { "code": 100, "ignoreStrings": true, "ignoreTemplateLiterals": true } ], "no-continue": "off", "no-debugger": "off", "no-mixed-operators": "off", "no-param-reassign": "off", "no-plusplus": "off", "no-underscore-dangle": "off", "no-use-before-define": "off", "no-multiple-empty-lines": ["error", { "max": 1 }], "object-curly-newline": "off", "no-trailing-spaces": ["error"], "no-unused-expressions": ["error", { "allowShortCircuit": true }], "react/prefer-stateless-function": "off", "react/prop-types": "off", "react/sort-comp": ["error", {}], "jsx-a11y/label-has-for": "off", "jsx-a11y/label-has-associated-control": "off", "react-hooks/rules-of-hooks": "error", "react-hooks/exhaustive-deps": "warn" } }