import js from '@eslint/js' import tseslint from 'typescript-eslint' import pluginVue from 'eslint-plugin-vue' import vueParser from 'vue-eslint-parser' import globals from 'globals' export default tseslint.config( js.configs.recommended, ...tseslint.configs.recommended, ...pluginVue.configs['flat/recommended'], { files: ['src/**/*.vue'], languageOptions: { parser: vueParser, parserOptions: { parser: tseslint.parser, extraFileExtensions: ['.vue'], sourceType: 'module', }, }, }, { files: ['src/**/*.{ts,vue}'], languageOptions: { globals: { ...globals.browser, }, }, rules: { // TypeScript '@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_', varsIgnorePattern: '^_' }], '@typescript-eslint/no-explicit-any': 'warn', // Vue 'vue/multi-word-component-names': 'off', 'vue/require-default-prop': 'off', 'vue/no-v-html': 'warn', // General 'no-console': ['warn', { allow: ['warn', 'error'] }], }, }, { ignores: ['dist/', 'node_modules/', 'e2e/', 'server/'], }, )