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/**', 'coverage/**', 'node_modules/**', 'uploads/**'] }, js.configs.recommended, { files: ['src/**/*.ts', 'tests/**/*.ts'], extends: [...tseslint.configs.recommendedTypeChecked], languageOptions: { globals: { ...globals.node }, parserOptions: { projectService: true, tsconfigRootDir: import.meta.dirname, }, }, rules: { '@typescript-eslint/no-explicit-any': 'error', '@typescript-eslint/explicit-function-return-type': ['error', { allowExpressions: true }], '@typescript-eslint/no-unused-vars': [ 'error', { argsIgnorePattern: '^_', varsIgnorePattern: '^_' }, ], }, }, { files: ['**/*.mjs', '*.config.ts'], extends: [tseslint.configs.disableTypeChecked], languageOptions: { globals: { ...globals.node }, }, }, prettier, );