import js from '@eslint/js'; import globals from 'globals'; import tseslint from 'typescript-eslint'; import prettier from 'eslint-config-prettier'; export default tseslint.config( { ignores: [ 'dist/**', '**/dist/**', 'coverage/**', 'node_modules/**', 'package-lock.json', 'eslint.config.mjs', 'apps/frontend/.angular/**', 'apps/backend/public/**', 'packages/api-client/dist/**', 'apps/**/eslint.config.mjs', '**/vitest.config.ts', 'scripts/**', ], }, js.configs.recommended, ...tseslint.configs.recommendedTypeChecked, prettier, { files: ['**/*.ts'], languageOptions: { parserOptions: { projectService: true, tsconfigRootDir: import.meta.dirname, }, globals: { ...globals.node, ...globals.browser, }, }, rules: { '@typescript-eslint/no-explicit-any': 'error', '@typescript-eslint/no-non-null-assertion': 'error', '@typescript-eslint/consistent-type-imports': 'error', '@typescript-eslint/no-floating-promises': 'error', '@typescript-eslint/no-misused-promises': 'error', }, }, { files: ['**/*.spec.ts', '**/*.test.ts'], rules: { '@typescript-eslint/unbound-method': 'off', }, }, );