eslint-config-neon
Version:
The ultimate ESLint shareable config
1 lines • 6.12 kB
Source Map (JSON)
{"version":3,"sources":["../../src/react.ts"],"names":[],"mappings":"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","file":"react.mjs","sourcesContent":["import { fixupPluginRules } from \"@eslint/compat\";\nimport type { TSESLint } from \"@typescript-eslint/utils\";\nimport eslintPluginReact from \"eslint-plugin-react\";\n// @ts-expect-error eslint-plugin-react-hooks is not typed\nimport eslintPluginReactHooks from \"eslint-plugin-react-hooks\";\nimport reactRefresh from \"eslint-plugin-react-refresh\";\nimport jsx from \"./jsx\";\n\nconst rules: TSESLint.FlatConfig.Rules = {\n\t// React\n\t\"react/boolean-prop-naming\": 2,\n\t\"react/button-has-type\": 2,\n\t\"react/default-props-match-prop-types\": 2,\n\t\"react/destructuring-assignment\": 0,\n\t\"react/display-name\": 0,\n\t\"react/forbid-component-props\": 0,\n\t\"react/forbid-dom-props\": 0,\n\t\"react/forbid-elements\": 0,\n\t\"react/forbid-foreign-prop-types\": 0,\n\t\"react/forbid-prop-types\": 0,\n\t\"react/function-component-definition\": 0,\n\t\"react/hook-use-state\": 2,\n\t\"react/iframe-missing-sandbox\": 2,\n\t\"react/jsx-filename-extension\": [1, { extensions: [\".jsx\", \".tsx\"] }],\n\t\"react/no-access-state-in-setstate\": 2,\n\t\"react/no-adjacent-inline-elements\": 0,\n\t\"react/no-array-index-key\": 0,\n\t\"react/no-arrow-function-lifecycle\": 2,\n\t\"react/no-children-prop\": 2,\n\t\"react/no-danger\": 2,\n\t\"react/no-danger-with-children\": 2,\n\t\"react/no-deprecated\": 2,\n\t\"react/no-did-mount-set-state\": 2,\n\t\"react/no-did-update-set-state\": 2,\n\t\"react/no-direct-mutation-state\": 2,\n\t\"react/no-find-dom-node\": 2,\n\t\"react/no-invalid-html-attribute\": 2,\n\t\"react/no-is-mounted\": 2,\n\t\"react/no-multi-comp\": 0,\n\t\"react/no-namespace\": 2,\n\t\"react/no-redundant-should-component-update\": 2,\n\t\"react/no-render-return-value\": 2,\n\t\"react/no-set-state\": 2,\n\t\"react/no-string-refs\": 2,\n\t\"react/no-this-in-sfc\": 2,\n\t\"react/no-typos\": 2,\n\t\"react/no-unescaped-entities\": 0,\n\t\"react/no-unknown-property\": 2,\n\t\"react/no-unsafe\": 2,\n\t\"react/no-unstable-nested-components\": 2,\n\t\"react/no-unused-class-component-methods\": 2,\n\t\"react/no-unused-prop-types\": 2,\n\t\"react/no-unused-state\": 2,\n\t\"react/no-will-update-set-state\": 2,\n\t\"react/prefer-es6-class\": 2,\n\t\"react/prefer-exact-props\": 0,\n\t\"react/prefer-read-only-props\": 2,\n\t\"react/prefer-stateless-function\": [\n\t\t2,\n\t\t{\n\t\t\tignorePureComponents: true,\n\t\t},\n\t],\n\t\"react/prop-types\": 2,\n\t\"react/react-in-jsx-scope\": 0,\n\t\"react/require-default-props\": 0,\n\t\"react/require-optimization\": 0,\n\t\"react/require-render-return\": 2,\n\t\"react/self-closing-comp\": 2,\n\t\"react/sort-default-props\": 2,\n\t\"react/sort-comp\": 2,\n\t\"react/sort-prop-types\": 2,\n\t\"react/state-in-constructor\": [2, \"always\"],\n\t\"react/static-property-placement\": 2,\n\t\"react/style-prop-object\": 2,\n\t\"react/void-dom-elements-no-children\": 2,\n\n\t// React Hooks\n\t\"react-hooks/exhaustive-deps\": 2,\n\t\"react-hooks/rules-of-hooks\": 2,\n\n\t// React Refresh\n\t\"react-refresh/only-export-components\": 1,\n\n\t// Unicorn\n\t\"unicorn/consistent-function-scoping\": 0, // We disable this because in React it's a common thing to have functions in functions\n};\n\nconst settings: TSESLint.FlatConfig.Settings = {\n\treact: {\n\t\tversion: \"detect\",\n\t},\n};\n\nconst config: TSESLint.FlatConfig.ConfigArray = [\n\t// @ts-expect-error eslint-plugin-react is poorly typed\n\t...jsx,\n\t{\n\t\t// @ts-expect-error eslint-plugin-react is poorly typed\n\t\tplugins: {\n\t\t\treact: eslintPluginReact,\n\t\t\t\"react-refresh\": reactRefresh,\n\t\t\t\"react-hooks\": fixupPluginRules(eslintPluginReactHooks),\n\t\t},\n\t\trules,\n\t\tsettings,\n\t},\n];\n\nexport default config;\n"]}