import eslint from "@eslint/js"; import tseslint from "typescript-eslint"; import globals from "globals"; export default tseslint.config( { ignores: ["**/dist", "**/node_modules", "**/coverage", "**/.cache"] }, eslint.configs.recommended, { files: ["packages/**/src/**/*.ts", "apps/**/src/**/*.ts"], extends: [...tseslint.configs.strictTypeChecked], languageOptions: { globals: { ...globals.browser }, parserOptions: { project: "./tsconfig.eslint.json", tsconfigRootDir: import.meta.dirname } } }, { files: ["packages/**/test/**/*.ts"], extends: [...tseslint.configs.recommendedTypeChecked], languageOptions: { globals: { ...globals.browser }, parserOptions: { project: "./tsconfig.eslint.json", tsconfigRootDir: import.meta.dirname } }, rules: { "@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/no-unsafe-return": "off", "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/require-await": "off", "@typescript-eslint/no-extraneous-class": "off", "@typescript-eslint/unbound-method": "off" } }, { files: ["apps/**/*.js", "*.config.{js,ts}", "packages/**/*.config.*"], languageOptions: { globals: { ...globals.browser, ...globals.node } } } );