// For more info, see https://github.com/storybookjs/eslint-plugin-storybook#configuration-flat-config-format import storybook from "eslint-plugin-storybook"; 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 { defineConfig, globalIgnores } from "eslint/config"; export default defineConfig([ globalIgnores(["dist", "storybook-static", "coverage"]), { files: ["**/*.{ts,tsx}"], extends: [ js.configs.recommended, tseslint.configs.recommended, reactHooks.configs.flat.recommended, reactRefresh.configs.vite, ], languageOptions: { ecmaVersion: 2020, globals: globals.browser, }, }, { // Test setup files re-export utilities and mix components with helpers — the // react-refresh rule does not apply. files: ["src/test/**/*.{ts,tsx}", "src/**/*.test.{ts,tsx}"], rules: { "react-refresh/only-export-components": "off", }, }, ...storybook.configs["flat/recommended"], ]);