// eslint.config.js import tseslint from 'typescript-eslint'; import prettierPlugin from 'eslint-plugin-prettier'; export default tseslint.config({ ignores: ['dist/', 'node_modules/', '*.js', '*.d.ts'], extends: [ tseslint.configs.recommended, tseslint.configs.recommendedTypeChecked, { files: ['**/*.ts', '**/*.tsx'], languageOptions: { parser: tseslint.parser, parserOptions: { ecmaVersion: 2022, sourceType: 'module', project: './tsconfig.json', }, }, plugins: { prettier: prettierPlugin, }, rules: { '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }], '@typescript-eslint/no-explicit-any': 'warn', '@typescript-eslint/explicit-function-return-type': 'off', '@typescript-eslint/explicit-module-boundary-types': 'off', '@typescript-eslint/no-non-null-assertion': 'warn', '@typescript-eslint/prefer-nullish-coalescing': 'error', '@typescript-eslint/prefer-optional-chain': 'error', '@typescript-eslint/no-floating-promises': 'error', 'no-console': 'warn', 'prefer-const': 'error', 'prettier/prettier': 'error', }, }, ], languageOptions: { ecmaVersion: 2022, sourceType: 'module', }, linterOptions: { reportUnusedDisableDirectives: true, }, });