import js from "@eslint/js"; import prettierConfig from "eslint-config-prettier/flat"; import reactHooks from "eslint-plugin-react-hooks"; import reactRefresh from "eslint-plugin-react-refresh"; import globals from "globals"; import tseslint from "typescript-eslint"; export default tseslint.config( { ignores: ["build", "dist", "node_modules", "*.tsbuildinfo"], }, js.configs.recommended, ...tseslint.configs.recommended, { files: ["**/*.{ts,tsx}"], languageOptions: { ecmaVersion: 2022, globals: globals.browser, }, plugins: { "react-hooks": reactHooks, "react-refresh": reactRefresh, }, rules: { ...reactHooks.configs.recommended.rules, "@typescript-eslint/consistent-type-definitions": ["error", "type"], "@typescript-eslint/no-unused-vars": [ "error", { argsIgnorePattern: "^_", caughtErrorsIgnorePattern: "^_", varsIgnorePattern: "^_", }, ], "brace-style": ["error", "1tbs", { allowSingleLine: false }], curly: ["error", "all"], "no-undef": "off", quotes: ["error", "double", { avoidEscape: true }], "react-hooks/set-state-in-effect": "off", "react-refresh/only-export-components": ["warn", { allowConstantExport: true }], }, }, prettierConfig, );