import js from "@eslint/js"; import tseslint from "typescript-eslint"; export default tseslint.config( js.configs.recommended, ...tseslint.configs.strictTypeChecked, ...tseslint.configs.stylisticTypeChecked, { languageOptions: { parserOptions: { projectService: true, tsconfigRootDir: import.meta.dirname, }, }, rules: { complexity: ["error", 8], "max-lines": [ "error", { max: 800, skipBlankLines: true, skipComments: true }, ], "max-lines-per-function": [ "error", { max: 80, skipBlankLines: true, skipComments: true }, ], "@typescript-eslint/consistent-type-definitions": ["error", "type"], "@typescript-eslint/no-explicit-any": "error", "@typescript-eslint/no-floating-promises": "error", "@typescript-eslint/no-misused-promises": "error", "@typescript-eslint/no-unsafe-assignment": "error", "@typescript-eslint/no-unsafe-call": "error", "@typescript-eslint/no-unsafe-member-access": "error", "@typescript-eslint/no-unsafe-return": "error", "@typescript-eslint/switch-exhaustiveness-check": "error", }, }, );