import tseslint from '@typescript-eslint/eslint-plugin'; import tsparser from '@typescript-eslint/parser'; export default [ { files: ['**/*.{ts,tsx}'], ignores: ['dist/**', 'node_modules/**', 'coverage/**'], languageOptions: { parser: tsparser, ecmaVersion: 'latest', sourceType: 'module', parserOptions: { ecmaFeatures: { jsx: true, }, }, }, plugins: { '@typescript-eslint': tseslint, }, rules: { ...tseslint.configs.recommended.rules, // TypeScript specific rules '@typescript-eslint/no-unused-vars': 'error', '@typescript-eslint/no-explicit-any': 'warn', '@typescript-eslint/explicit-function-return-type': 'off', '@typescript-eslint/explicit-module-boundary-types': 'off', // General rules 'no-console': 'warn', 'prefer-const': 'error', 'no-var': 'error', }, }, ];