{ "extends": [ "@verdaccio", "plugin:react/recommended", "plugin:jest/recommended", "plugin:prettier/recommended", "plugin:verdaccio/recommended", "plugin:jsx-a11y/recommended", "plugin:import/typescript" ], "plugins": [ "react", "jest", "prettier", "verdaccio", "jsx-a11y", "codeceptjs", "react-hooks", "import" ], "settings": { "react": { "version": "detect" } }, "parser": "@typescript-eslint/parser", "parserOptions": { "ecmaFeatures": { "jsx": true } }, "rules": { "import/order": ["error", {"newlines-between": "always"}], "babel/no-invalid-this": 0, "no-invalid-this": 0, "no-console": ["error", { "allow": ["warn", "error"] }], "prettier/prettier": "error", "@typescript-eslint/no-var-requires": 0, "@typescript-eslint/indent": 0, "@typescript-eslint/explicit-member-accessibility": ["warn", { "accessibility": "explicit", "overrides": { "constructors": "off" } } ], "@typescript-eslint/explicit-function-return-type": 0, "react/display-name": 0, "react/no-deprecated": 1, "react/jsx-no-target-blank": 1, "react/destructuring-assignment": ["error", "always"], "react/forbid-component-props": ["warn", { "forbid": ["style"] }], "react/no-this-in-sfc": ["warn"], "react/no-unsafe": ["warn"], "react/sort-comp": ["warn", { "order": [ "static-methods", "lifecycle", "render", "everything-else", "/^on.+$/", "/^render.+$/" ] }], "react/void-dom-elements-no-children": ["warn"], "react/no-did-mount-set-state": ["error", "disallow-in-func"], "react/jsx-wrap-multilines": ["error",{ "declaration": "parens", "assignment": "parens", "return": "parens", "arrow": "parens", "condition": "parens", "logical": "parens", "prop": "ignore" }], "react/jsx-boolean-value": ["error", "always"], "react/jsx-closing-tag-location": ["error"], "react/jsx-curly-spacing": ["error", "never"], "react/jsx-equals-spacing": ["error", "never"], "react/jsx-first-prop-new-line": ["error", "multiline-multiprop"], "react/jsx-handler-names": ["warn"], "react/jsx-indent": ["error", 2], "react/jsx-indent-props": ["error", 2], "react/jsx-key": ["error"], "react/jsx-max-depth":["error", { "max": 5}], "react/jsx-max-props-per-line": ["error", {"maximum": 3, "when": "multiline" }], "react/jsx-no-bind": ["error"], "react/jsx-no-comment-textnodes": ["error"], "react/jsx-no-duplicate-props": ["error"], "react/jsx-no-literals": ["error"], "react/jsx-no-undef": ["error"], "react/prop-types": 0, "react/jsx-one-expression-per-line": ["error", {"allow": "single-child"}], "react/jsx-curly-brace-presence": ["warn", { "props": "ignore", "children": "ignore" }], "react/jsx-pascal-case": ["error"], "react/jsx-props-no-multi-spaces": ["error"], "react/jsx-sort-default-props": ["error"], "react/jsx-sort-props": ["error"], "react/no-string-refs": ["error"], "react/no-danger-with-children": ["error"], "react/jsx-tag-spacing": ["error", { "closingSlash": "never", "beforeSelfClosing": "always", "afterOpening": "allow-multiline", "beforeClosing": "allow" }], "react/prefer-es6-class": [ 2, "always" ], "react-hooks/rules-of-hooks": "error", "react-hooks/exhaustive-deps": "warn", "verdaccio/jsx-no-style": ["warn"], "verdaccio/jsx-spread": ["warn"], "jest/expect-expect": 0, "quote-props":["error", "as-needed"], "max-len": ["error", 160], "prefer-spread": 1, "linebreak-style": 0 }, "globals": { "__DEBUG__": true }, "env": { "browser": true, "jest/globals": true, "codeceptjs/codeceptjs": true, } }