// ESLint 9 Flat Config // Phase Bonus: Migration von .eslintrc.cjs zu eslint.config.js (flat config) // Entfernt die Deprecation-Warnung, die bei v9 mit .eslintrc kam. import tseslint from '@typescript-eslint/eslint-plugin'; import tsParser from '@typescript-eslint/parser'; export default [ { ignores: [ 'dist/**', 'node_modules/**', 'webapp/dist/**', 'webapp/node_modules/**', 'eslint.config.js.bak', ], }, { files: ['src/**/*.ts', 'tests/**/*.ts'], languageOptions: { parser: tsParser, parserOptions: { ecmaVersion: 2022, sourceType: 'module', }, globals: { console: 'readonly', process: 'readonly', Buffer: 'readonly', setTimeout: 'readonly', clearTimeout: 'readonly', fetch: 'readonly', Response: 'readonly', localStorage: 'readonly', globalThis: 'readonly', navigator: 'readonly', window: 'readonly', document: 'readonly', URL: 'readonly', NodeJS: 'readonly', }, }, plugins: { '@typescript-eslint': tseslint, }, rules: { 'no-unused-vars': 'off', '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }], '@typescript-eslint/no-explicit-any': 'warn', 'no-console': 'off', }, }, { // Tests duerfen globalThis-Mocking und andere Tricks nutzen files: ['tests/**/*.ts', 'src/cli/ingest.ts'], rules: { '@typescript-eslint/no-explicit-any': 'off', }, }, ];