import js from '@eslint/js' import pluginVue from 'eslint-plugin-vue' import globals from 'globals' // Vitest globals for test files const vitestGlobals = { describe: 'readonly', it: 'readonly', expect: 'readonly', vi: 'readonly', beforeEach: 'readonly', afterEach: 'readonly', beforeAll: 'readonly', afterAll: 'readonly', test: 'readonly' } export default [ { ignores: ['dist/**', 'node_modules/**', 'docs/**', 'coverage/**'] }, js.configs.recommended, ...pluginVue.configs['flat/recommended'], { languageOptions: { ecmaVersion: 'latest', sourceType: 'module', globals: { ...globals.browser, ...globals.node } }, rules: { // Vue rules 'vue/multi-word-component-names': 'off', 'vue/no-v-html': 'off', 'vue/require-default-prop': 'off', 'vue/require-prop-types': 'off', 'vue/no-unused-vars': 'warn', // JS rules 'no-unused-vars': ['warn', { argsIgnorePattern: '^_' }], 'no-console': 'off', 'no-undef': 'error' } }, // Test files configuration { files: ['**/*.spec.js', '**/*.test.js', 'src/__tests__/**/*.js'], languageOptions: { globals: { ...vitestGlobals } } } ]