import eslint from "@eslint/js"; import globals from "globals"; import reactHooks from "eslint-plugin-react-hooks"; import tseslint from "typescript-eslint"; export default tseslint.config( { ignores: ["dist", "coverage", "src/api/generated", "eslint.config.js"] }, eslint.configs.recommended, ...tseslint.configs.recommendedTypeChecked, reactHooks.configs.flat.recommended, { files: ["**/*.{ts,tsx}"], languageOptions: { ecmaVersion: 2023, globals: globals.browser, parserOptions: { projectService: true, tsconfigRootDir: import.meta.dirname } }, rules: { "max-lines": ["error", { "max": 350, "skipBlankLines": true, "skipComments": true }], "max-lines-per-function": ["error", { "max": 100, "skipBlankLines": true, "skipComments": true }], "@typescript-eslint/consistent-type-imports": "error", "@typescript-eslint/no-floating-promises": "error" } }, { files: ["**/*.test.{ts,tsx}"], languageOptions: { globals: globals.node } } );