UNPKG

@shayanthenerd/eslint-config

Version:

A modern, flexible ESLint configuration for enforcing best practices and maintaining a consistent coding style

28 lines (27 loc) 1.15 kB
import { globs } from "../helpers/globs.mjs"; import { isEnabled } from "../utils/isEnabled.mjs"; import { defaultOptions } from "../helpers/options/defaultOptions.mjs"; import { getReactRules } from "../rules/react.mjs"; import { mergeConfigs } from "eslint-flat-config-utils"; import eslintPluginUnicorn from "eslint-plugin-unicorn"; import eslintPluginJsxA11y from "eslint-plugin-jsx-a11y"; import eslintPluginReact from "@eslint-react/eslint-plugin"; import eslintPluginHtmlReact from "@html-eslint/eslint-plugin-react"; //#region src/configs/react.ts function getReactConfig(options) { const { react, unicorn } = options.configs; const { overrides, accessibility } = isEnabled(react) ? react : defaultOptions.configs.react; return mergeConfigs({ name: "shayanthenerd/react", files: [globs.src, globs.jsxTsx], plugins: { "@eslint-react": eslintPluginReact, "@html-eslint/react": eslintPluginHtmlReact, ...isEnabled(unicorn) && { unicorn: eslintPluginUnicorn }, ...isEnabled(accessibility) && { "jsx-a11y": eslintPluginJsxA11y } }, rules: getReactRules(options) }, overrides); } //#endregion export { getReactConfig };