import js from '@eslint/js';
import tseslint from '@typescript-eslint/eslint-plugin';
import tsparser from '@typescript-eslint/parser';
import eslintConfigPrettier from 'eslint-config-prettier';
export default [
{
ignores: [
'dist/**',
'node_modules/**',
'coverage/**',
'templates/**',
'.generated/**',
'.generated-*/**',
'mcp-streamable-starter/**',
'mcp-sse-starter/**'
]
},
js.configs.recommended,
{
files: ['**/*.{ts,tsx}'],
languageOptions: {
parser: tsparser,
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
project: './tsconfig.json'
}
},
plugins: { '@typescript-eslint': tseslint },
rules: {
'no-undef': 'off',
'no-unused-vars': 'off',
'@typescript-eslint/consistent-type-imports': ['error', { prefer: 'type-imports' }],
'@typescript-eslint/no-floating-promises': 'error',
'@typescript-eslint/no-misused-promises': ['error', { checksVoidReturn: false }],
'@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_', varsIgnorePattern: '^_' }],
'no-console': 'off'
}
},
{
files: ['**/*.{js,mjs,cjs}'],
rules: {
'no-undef': 'off'
}
},
eslintConfigPrettier
];