import js from "@eslint/js"; import globals from "globals"; import reactHooks from "eslint-plugin-react-hooks"; import reactRefresh from "eslint-plugin-react-refresh"; import tseslint from "typescript-eslint"; import prettierPlugin from "eslint-plugin-prettier"; import prettierConfig from "eslint-config-prettier"; import reactPlugin from "eslint-plugin-react"; export default tseslint.config( { ignores: ["dist", ".astro", "node_modules"] }, { extends: [js.configs.recommended, ...tseslint.configs.recommended], files: ["src/**/*.{ts,tsx}"], languageOptions: { ecmaVersion: 2020, globals: globals.browser, parserOptions: { ecmaFeatures: { jsx: true, }, }, }, plugins: { "react-hooks": reactHooks, "react-refresh": reactRefresh, react: reactPlugin, prettier: prettierPlugin, }, rules: { ...reactHooks.configs.recommended.rules, "react-refresh/only-export-components": [ "warn", { allowConstantExport: true }, ], "react/react-in-jsx-scope": "off", "@typescript-eslint/explicit-module-boundary-types": "off", "@typescript-eslint/no-unused-vars": [ "warn", { argsIgnorePattern: "^_" }, ], "prettier/prettier": "error", }, settings: { react: { version: "detect", }, }, }, prettierConfig, );