import js from '@eslint/js'; import tseslint from '@typescript-eslint/eslint-plugin'; import tsparser from '@typescript-eslint/parser'; export default [ { ignores: [ 'dist/**', 'node_modules/**', 'coverage/**', '*.config.js', '*.config.ts', '**/dist/**', '__LOCAL_LLMs/**', ], }, js.configs.recommended, { files: ['**/*.ts', '**/*.tsx'], languageOptions: { parser: tsparser, parserOptions: { ecmaVersion: 2022, sourceType: 'module', // project: true, // Disabled for now }, globals: { process: 'readonly', Buffer: 'readonly', __dirname: 'readonly', __filename: 'readonly', Headers: 'readonly', TextEncoder: 'readonly', TextDecoder: 'readonly', RequestInit: 'readonly', HeadersInit: 'readonly', Response: 'readonly', Request: 'readonly', fetch: 'readonly', console: 'readonly', performance: 'readonly', AbortSignal: 'readonly', expect: 'readonly', describe: 'readonly', it: 'readonly', test: 'readonly', beforeEach: 'readonly', afterEach: 'readonly', beforeAll: 'readonly', afterAll: 'readonly', crypto: 'readonly', localStorage: 'readonly', sessionStorage: 'readonly', ReactNode: 'readonly', React: 'readonly', JSX: 'readonly', }, }, plugins: { '@typescript-eslint': tseslint, }, rules: { // TypeScript specific rules '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }], '@typescript-eslint/explicit-function-return-type': 'off', '@typescript-eslint/explicit-module-boundary-types': 'off', '@typescript-eslint/no-explicit-any': 'warn', // General rules 'no-console': 'warn', 'no-debugger': 'error', 'prefer-const': 'error', 'no-var': 'error', 'no-unused-vars': 'off', // Use TypeScript version // Import rules - disabled for now // 'sort-imports': ['error', { ignoreDeclarationSort: true }], }, }, ];