import js from "@eslint/js" import globals from "globals" import react from "eslint-plugin-react" import reactHooks from "eslint-plugin-react-hooks" import reactRefresh from "eslint-plugin-react-refresh" import prettier from "eslint-plugin-prettier" import reactThree from "@react-three/eslint-plugin" export default [ { ignores: ["dist"] }, { files: ["**/*.{js,jsx}"], languageOptions: { ecmaVersion: "latest", globals: globals.browser, parserOptions: { ecmaFeatures: { jsx: true }, sourceType: "module" } }, settings: { react: { version: "18.3" } }, plugins: { react, "react-hooks": reactHooks, "react-refresh": reactRefresh, prettier, "@react-three": reactThree }, rules: { ...js.configs.recommended.rules, ...react.configs.recommended.rules, ...react.configs["jsx-runtime"].rules, ...reactHooks.configs.recommended.rules, ...reactThree.configs.recommended.rules, "react/jsx-no-target-blank": "off", "react/prop-types": "off", "react/no-unknown-property": ["off", { ignore: ["JSX"] }], "react-refresh/only-export-components": [ "warn", { allowConstantExport: true } ], "prettier/prettier": "error", // Treat prettier issues as ESLint errors "no-unused-vars": "warn" } } ]