{ "parserOptions": { "ecmaVersion": 2022, "ecmaFeatures": { "jsx": true }, "sourceType": "module" }, "plugins": [ "react" ], "settings": { "react": { "version": "17" }, "linkComponents": [ "Link" ] }, "rules": { "jsx-quotes": ["error", "prefer-single"], "react/jsx-boolean-value": "error", "react/jsx-closing-bracket-location": ["error", "tag-aligned"], "react/jsx-closing-tag-location": "error", "react/jsx-curly-brace-presence": ["error", { "props": "never", "children": "never" }], "react/jsx-curly-newline": ["error", { "multiline": "consistent", "singleline": "consistent" }], "react/jsx-curly-spacing": ["error", { "attributes": { "when": "never", "allowMultiline": true }, "children": { "when": "never", "allowMultiline": true } }], "react/jsx-equals-spacing": ["error", "never"], "react/jsx-first-prop-new-line": ["error", "multiline-multiprop"], "react/jsx-fragments": ["error", "syntax"], "react/jsx-handler-names": "error", "react/jsx-indent": ["error", 2, { "checkAttributes": false, "indentLogicalExpressions": true }], "react/jsx-indent-props": ["error", 2], "react/jsx-key": ["error", { "checkFragmentShorthand": true }], "react/jsx-no-comment-textnodes": "error", "react/jsx-no-duplicate-props": "error", "react/jsx-no-target-blank": ["error", { "enforceDynamicLinks": "always" }], "react/jsx-no-undef": ["error", { "allowGlobals": true }], "react/jsx-pascal-case": ["error", { "allowAllCaps": false }], "react/jsx-props-no-multi-spaces": "error", "react/jsx-tag-spacing": ["error", { "closingSlash": "never", "beforeSelfClosing": "always", "afterOpening": "never", "beforeClosing": "never" }], "react/jsx-uses-react": "error", "react/jsx-uses-vars": "error", "react/jsx-wrap-multilines": ["error", { "declaration": "parens-new-line", "assignment": "parens-new-line", "return": "parens-new-line", "arrow": "ignore", "condition": "ignore", "logical": "ignore", "prop": "ignore" }], "react/no-children-prop": "error", "react/no-danger-with-children": "error", "react/no-deprecated": "error", "react/no-direct-mutation-state": "error", "react/no-find-dom-node": "error", "react/no-is-mounted": "error", "react/no-string-refs": ["error", { "noTemplateLiterals": true }], "react/no-unescaped-entities": ["error", { "forbid": [">", "}"] }], "react/no-render-return-value": "error", "react/require-render-return": "error", "react/self-closing-comp": "error" } }