// Flat ESLint config for BFF (ESLint v9) const js = require('@eslint/js'); const tsParser = require('@typescript-eslint/parser'); const tsPlugin = require('@typescript-eslint/eslint-plugin'); const prettierPlugin = require('eslint-plugin-prettier'); module.exports = [ { ignores: ['dist/**', 'node_modules/**'] }, { files: ['**/*.ts', '**/*.tsx'], languageOptions: { parser: tsParser, parserOptions: { project: './tsconfig.json', tsconfigRootDir: __dirname, sourceType: 'module', }, }, plugins: { '@typescript-eslint': tsPlugin, prettier: prettierPlugin, }, rules: { ...js.configs.recommended.rules, 'prettier/prettier': 'warn', '@typescript-eslint/consistent-type-imports': 'error', '@typescript-eslint/no-misused-promises': ['error', { checksVoidReturn: false }], '@typescript-eslint/no-explicit-any': 'off', 'no-console': ['warn', { allow: ['warn', 'error'] }], // Prefer TS variants of core rules 'no-unused-vars': 'off', '@typescript-eslint/no-unused-vars': [ 'warn', { argsIgnorePattern: '^_', varsIgnorePattern: '^_' }, ], 'no-redeclare': 'off', '@typescript-eslint/no-redeclare': [ 'error', { ignoreDeclarationMerge: true }, ], }, }, ];