49 lines
1.6 KiB
JSON
49 lines
1.6 KiB
JSON
{
|
|
"env": {
|
|
"browser": true,
|
|
"es2021": true
|
|
},
|
|
"extends": [
|
|
"plugin:react/recommended"
|
|
],
|
|
"parserOptions": {
|
|
"ecmaFeatures": {
|
|
"jsx": true
|
|
},
|
|
"ecmaVersion": 12,
|
|
"sourceType": "module"
|
|
},
|
|
"plugins": [
|
|
"react",
|
|
"react-hooks",
|
|
"tailwindcss"
|
|
],
|
|
"rules": {
|
|
"react-hooks/rules-of-hooks": "error",
|
|
"react/react-in-jsx-scope": "off",
|
|
"react/button-has-type": "error",
|
|
"react/prop-types": "error",
|
|
"react/require-default-props": "off",
|
|
"react/no-array-index-key": "error",
|
|
"react/jsx-uses-react": "error",
|
|
"react/display-name": "error",
|
|
"react/no-danger-with-children": "error",
|
|
// "react-hooks/exhaustive-deps": "warn",
|
|
// "react/jsx-no-bind": "error",
|
|
"react/jsx-uses-vars": "error",
|
|
"no-restricted-syntax": ["warn", {
|
|
"selector": "CallExpression[callee.object.name='console'][callee.property.name!=/^(warn|info)$/]",
|
|
"message": "Unexpected property on console object was called"
|
|
}],
|
|
"semi": [2, "never"],
|
|
"tailwindcss/classnames-order": "warn",
|
|
"tailwindcss/enforces-negative-arbitrary-values": "warn",
|
|
"tailwindcss/enforces-shorthand": "warn",
|
|
"tailwindcss/migration-from-tailwind-2": "warn",
|
|
"tailwindcss/no-arbitrary-value": "off",
|
|
"tailwindcss/no-contradicting-classname": "error"
|
|
}
|
|
}
|
|
|
|
// https://dev.to/logrocket/12-essential-eslint-rules-for-react-5doc
|