import js from '@eslint/js' import tsPlugin from '@typescript-eslint/eslint-plugin' import tsParser from '@typescript-eslint/parser' import vuePlugin from 'eslint-plugin-vue' import vueParser from 'vue-eslint-parser' export default [ js.configs.recommended, { files: ['**/*.ts'], languageOptions: { parser: tsParser, parserOptions: { ecmaVersion: 'latest', sourceType: 'module' }, }, plugins: { '@typescript-eslint': tsPlugin }, rules: { 'no-unused-vars': 'off', '@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_' }], 'no-undef': 'off', }, }, { files: ['**/*.vue'], languageOptions: { parser: vueParser, parserOptions: { parser: tsParser, ecmaVersion: 'latest', sourceType: 'module', }, }, plugins: { vue: vuePlugin, '@typescript-eslint': tsPlugin }, rules: { ...vuePlugin.configs['vue3-recommended'].rules, 'vue/multi-word-component-names': 'off', 'vue/singleline-html-element-content-newline': 'off', 'vue/max-attributes-per-line': 'off', 'vue/html-self-closing': 'off', 'no-unused-vars': 'off', '@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_' }], 'no-undef': 'off', }, }, { ignores: ['dist/', 'node_modules/', '*.config.js'], }, ]