eslint-config-standardize
Version:
My personal configuration based on StandardJS, ready for JavaScript and TypeScript
55 lines (54 loc) • 2.23 kB
JSON
{
"plugins": ["react", "react-hooks"],
"settings": { "linkComponents": [{ "name": "Link", "linkAttribute": "to" }] },
"rules": {
"react-hooks/exhaustive-deps": "warn",
"react-hooks/rules-of-hooks": "error",
"react/button-has-type": "error",
"react/forbid-foreign-prop-types": "error",
"react/no-access-state-in-setstate": "error",
"react/no-children-prop": "error",
"react/no-danger-with-children": "error",
"react/no-deprecated": "error",
"react/no-did-mount-set-state": "warn",
"react/no-did-update-set-state": "error",
"react/no-direct-mutation-state": "error",
"react/no-find-dom-node": "error",
"react/no-is-mounted": "error",
"react/no-multi-comp": ["warn", { "ignoreStateless": true }],
"react/no-redundant-should-component-update": "error",
"react/no-render-return-value": "error",
"react/no-string-refs": ["error", { "noTemplateLiterals": true }],
"react/no-this-in-sfc": "error",
"react/no-typos": "error",
"react/no-unescaped-entities": [
"error",
{
"forbid": [
{ "char": "\"", "alternatives": ["""] },
{ "char": ">", "alternatives": [">"] },
{ "char": "}", "alternatives": ["}"] }
]
}
],
"react/no-unknown-property": "error",
"react/no-will-update-set-state": "error",
"react/require-render-return": "error",
"react/self-closing-comp": "error",
"react/style-prop-object": "error",
"react/void-dom-elements-no-children": "error",
"react/jsx-boolean-value": "error",
"react/jsx-key": ["error", { "checkFragmentShorthand": true }],
"react/jsx-max-depth": ["error", { "max": 6 }],
"react/jsx-no-bind": "error",
"react/jsx-no-comment-textnodes": "error",
"react/jsx-no-duplicate-props": "error",
"react/jsx-no-script-url": ["error", [{ "name": "Link", "props": ["to"] }]],
"react/jsx-no-target-blank": ["error", { "enforceDynamicLinks": "always" }],
"react/jsx-no-undef": ["error", { "allowGlobals": true }],
"react/jsx-no-useless-fragment": "error",
"react/jsx-pascal-case": ["error", { "allowAllCaps": false }],
"react/jsx-uses-react": "error",
"react/jsx-uses-vars": "error"
}
}