import js from '@eslint/js'; import globals from 'globals'; import {defineConfig} from 'eslint/config'; import eslintConfigPrettier from 'eslint-config-prettier/flat'; import type {Linter} from 'eslint'; const rules: Linter.RulesRecord = { eqeqeq: ['error', 'smart'], 'no-unused-vars': 'error', 'default-case': 'error', 'no-dupe-keys': 'error', 'no-sparse-arrays': 'error', 'no-empty': 'error', 'block-scoped-var': 'error', 'no-self-compare': 'error', 'no-const-assign': 'error', 'no-redeclare': 'error', 'no-func-assign': 'error', 'no-shadow': 'error', }; const files = ['**/*.{js,mjs,cjs,ts,tsx,vue}']; export default defineConfig([ { ignores: ['dist/**', 'build/**', 'node_modules/**'], }, js.configs.recommended, eslintConfigPrettier, { files, languageOptions: { globals: { ...globals.browser, ...globals.node, }, }, rules, }, ]);