import eslint from "@eslint/js"; import tseslint from "typescript-eslint"; export default tseslint.config( { ignores: [ "**/lib/**", "**/dist/**", "node_modules", "pnpm-lock.yaml", "**/setup-vitest.ts", "**/tests/**", ], }, { linterOptions: { reportUnusedDisableDirectives: "error" } }, eslint.configs.recommended, { extends: [ tseslint.configs.strictTypeChecked, tseslint.configs.stylisticTypeChecked, ], files: ["**/*.{js,ts}"], languageOptions: { parserOptions: { projectService: { allowDefaultProject: ["*.config.*s"] }, }, }, rules: { "@typescript-eslint/consistent-type-definitions": "off", "@typescript-eslint/no-unsafe-assignment": "off", "@typescript-eslint/no-unsafe-argument": "off", "@typescript-eslint/no-unsafe-member-access": "off", "@typescript-eslint/no-unsafe-call": "off", "@typescript-eslint/restrict-plus-operands": "off", }, }, { files: ["**/*.{test,bench}.ts"], rules: { "@typescript-eslint/no-floating-promises": "off", "@typescript-eslint/no-unused-vars": "off", }, }, );