UNPKG

eslint-config-proste

Version:
59 lines (58 loc) 1.55 kB
import rules from "../rules/react.js"; async function getReactConfig({ overrides, version, compiler }) { const [ { default: react }, { default: reactHooks }, { default: reactRefresh }, { default: reactCompiler }, { default: reactEslint } ] = await Promise.all([ import("eslint-plugin-react"), import("eslint-plugin-react-hooks"), import("eslint-plugin-react-refresh"), import("eslint-plugin-react-compiler"), import("@eslint-react/eslint-plugin") ]); return { name: "proste_react_config", files: ["**/*.?([cm])?([tj])s?(x)"], settings: { react: { version } }, plugins: { react, "react-hooks": reactHooks, "react-refresh": reactRefresh, "react-compiler": reactCompiler, "react-eslint": reactEslint.configs.all.plugins["@eslint-react"], "react-eslint-name": reactEslint.configs.all.plugins["@eslint-react/naming-convention"], "react-eslint-hooks": reactEslint.configs.all.plugins["@eslint-react/hooks-extra"], "react-eslint-dom": reactEslint.configs.all.plugins["@eslint-react/dom"] }, languageOptions: { parserOptions: { ecmaVersion: "latest", sourceType: "module", ecmaFeatures: { jsx: !0 } } }, rules: { ...react.configs.flat?.recommended.rules, ...react.configs.flat?.["jsx-runtime"].rules, ...rules, ...overrides, "react-compiler/react-compiler": compiler ? 2 : 0 } }; } export { getReactConfig };