@semivan/eslint-config-vue

Vue ESLint config
2,012 1
Install
npm install @semivan/eslint-config-vue
Latest Version:4.0.0
Vue:3
License:MIT
Last Updated:Sep 29, 2026
Links: GitHub  ·  npm
Maintainer: semivan

@semivan/eslint-config-vue

Flat-конфиг ESLint для Vue + TypeScript.

Включает @semivan/eslint-config-ts и @semivan/eslint-config.

Установка

yarn add -D @semivan/eslint-config-vue eslint typescript

Требуется Node.js >= 20.19 и ESLint >= 9.22.

Использование

// eslint.config.js
import createConfig from '@semivan/eslint-config-vue';

export default createConfig({ typeChecked: true, tsconfigRootDir: import.meta.dirname });

Вместе с собственными настройками:

import { defineConfig } from 'eslint/config';
import createConfig from '@semivan/eslint-config-vue';

export default defineConfig(
    createConfig(),
    {
        files: ['scripts/**'],
        rules: { 'no-console': 'off' },
    },
);

Опции

Опция Тип По умолчанию Описание
files string[] [] Дополнительные glob-шаблоны, к которым применяются правила
ignores string[] [] Дополнительные игнорируемые glob-шаблоны (к dist, coverage, .yarn, …)
globals ('browser' | 'node' | 'worker' | 'serviceworker' | 'vitest')[] ['browser', 'node'] Предопределённые глобальные переменные
overrides Linter.RulesRecord — Правила поверх конфига
typeChecked boolean false Включить правила с информацией о типах
tsconfigRootDir string process.cwd() Корень для TypeScript project service
allowDefaultProject string[] — Файлы вне tsconfig, которые нужно проверять с типами, например ['eslint.config.ts']

Устаревшие алиасы (будут удалены в следующей мажорной версии): extraFileExtensions → files, useTypeChecked → typeChecked.

typeChecked для Vue обрабатывает @vue/eslint-config-typescript, который намеренно отключает несколько правил @typescript-eslint/no-unsafe-* для файлов .ts и .vue.

Правила

Наборы правил экспортируются для переиспользования, например чтобы расширить опции родительского правила:

import { rules, ruleSeverity, ruleOptions } from '@semivan/eslint-config-vue';

const maxLen = rules.js['@stylistic/max-len'];

export default [{
    rules: {
        '@stylistic/max-len': [ruleSeverity(maxLen), { ...ruleOptions(maxLen), code: 140 }],
    },
}];

Также доступны как @semivan/eslint-config-vue/rules.

Лицензия

MIT

Version History

Version Released Vue License
4.0.0 MIT
3.0.2 ^3.5.32 MIT
3.0.1 ^3.5.32 MIT
3.0.0 ^3.5.32 MIT
2.2.5 ^3.5.13 MIT