import tseslint from "@typescript-eslint/eslint-plugin"; import tsParser from "@typescript-eslint/parser"; /** @type {import('eslint').Linter.FlatConfig[]} */ export default [ { ignores: [ "**/dist/**", "**/node_modules/**", "**/.next/**", "**/*.js", "**/*.cjs", "**/*.mjs", "**/tsup.config.ts", "**/vitest.config.ts" ] }, { files: ["**/*.ts", "**/*.tsx"], languageOptions: { parser: tsParser, parserOptions: { project: true, tsconfigRootDir: import.meta.dirname } }, plugins: { "@typescript-eslint": tseslint }, rules: { ...tseslint.configs.recommended.rules, "@typescript-eslint/consistent-type-definitions": ["error", "interface"], "@typescript-eslint/consistent-type-imports": [ "error", { "prefer": "type-imports" } ], "@typescript-eslint/no-explicit-any": "warn", "@typescript-eslint/no-floating-promises": "error", "@typescript-eslint/no-misused-promises": "error", "@typescript-eslint/no-unused-vars": [ "error", { "argsIgnorePattern": "^_", "varsIgnorePattern": "^_", "caughtErrorsIgnorePattern": "^_" } ] } } ];