import js from '@eslint/js'; import tsPlugin from '@typescript-eslint/eslint-plugin'; import tsParser from '@typescript-eslint/parser'; export default [ { ignores: ['dist/', 'node_modules/', '**/*.js'], }, js.configs.recommended, { files: ['src/**/*.ts'], languageOptions: { parser: tsParser, ecmaVersion: 'latest', sourceType: 'module', globals: { chrome: 'readonly', browser: 'readonly', console: 'readonly', document: 'readonly', window: 'readonly', localStorage: 'readonly', sessionStorage: 'readonly', HTMLElement: 'readonly', HTMLDivElement: 'readonly', HTMLButtonElement: 'readonly', HTMLInputElement: 'readonly', setTimeout: 'readonly', clearTimeout: 'readonly', crypto: 'readonly', Error: 'readonly', JSON: 'readonly', Date: 'readonly', String: 'readonly', }, }, plugins: { '@typescript-eslint': tsPlugin, }, rules: { ...tsPlugin.configs.recommended.rules, '@typescript-eslint/no-unused-vars': [ 'error', { argsIgnorePattern: '^_', varsIgnorePattern: '^_', }, ], '@typescript-eslint/no-explicit-any': 'error', 'prefer-const': 'error', 'no-var': 'error', 'no-console': 'off', }, }, ];