import skipFormatting from '@vue/eslint-config-prettier/skip-formatting' import { defineConfigWithVueTs, vueTsConfigs } from '@vue/eslint-config-typescript' import { globalIgnores } from 'eslint/config' import simpleImportSort from 'eslint-plugin-simple-import-sort'; import unusedImports from 'eslint-plugin-unused-imports'; import pluginVue from 'eslint-plugin-vue' // To allow more languages other than `ts` in `.vue` files, uncomment the following lines: // import { configureVueProject } from '@vue/eslint-config-typescript' // configureVueProject({ scriptLangs: ['ts', 'tsx'] }) // More info at https://github.com/vuejs/eslint-config-typescript/#advanced-setup export default defineConfigWithVueTs( { name: 'app/files-to-lint', files: ['**/*.{ts,mts,tsx,vue}'], }, globalIgnores(['**/dist/**', '**/dist-ssr/**', '**/coverage/**']), pluginVue.configs['flat/essential'], vueTsConfigs.recommended, skipFormatting, { plugins: { 'simple-import-sort': simpleImportSort, }, rules: { // Основные правила сортировки 'simple-import-sort/imports': 'error', 'simple-import-sort/exports': 'error', }, }, { plugins: { 'unused-imports': unusedImports, }, rules: { // Отключаем стандартное правило 'no-unused-vars': 'off', '@typescript-eslint/no-unused-vars': 'off', // Включаем правила плагина 'unused-imports/no-unused-imports': 'error', // 🔧 автофикс 'unused-imports/no-unused-vars': [ 'warn', { vars: 'all', varsIgnorePattern: '^_', args: 'after-used', argsIgnorePattern: '^_', }, ], }, } )