@snabcentr/eslint-config
Библиотека стилей оформления JS/TS/Vue/HTML кода.
5,237
| Install | |
|---|---|
npm install @snabcentr/eslint-config |
|
| Latest Version: | 5.0.3 |
| Vue: | 3 |
| License: | ISC |
| Last Updated: | Oct 14, 2026 |
| Links: | npm |
Maintainer: sergeyssmirnov
ESLint Style
Библиотека стилей оформления JS/TS/Vue/HTML кода.
Установка
Для установки библиотеки и зависимостей в терминале необходимо выполнить:
npm install --save-dev @snabcentr/eslint-config
Требования
- ESLint
^9.39(flat config), Node.js 20+. - Для Angular-проектов —
@angular-eslint@^21(Angular CLI 21). Для проектов на ESLint 8 /.eslintrcи Angular 20 и ниже используйте ветку4.x(@snabcentr/eslint-config@4).
Подключение
Конфигурация экспортирует массив flat-конфигов. В файле eslint.config.cjs в корне проекта его необходимо распаковать в массив конфигурации:
module.exports = [
// Для Angular приложения
...require('@snabcentr/eslint-config/angular-defaults.cjs'),
// Для Vue3 приложения
...require('@snabcentr/eslint-config/vue-defaults.cjs'),
];
Пример Vue3 конфигурации
Для Vue3 приложения конфигурация может выглядеть следующим образом (файл eslint.config.cjs):
const globals = require('globals');
module.exports = [
...require('@snabcentr/eslint-config/vue-defaults.cjs'),
{
languageOptions: {
globals: {
...globals.browser
}
}
}
];
По аналогии формируются и другие конфигурации.
Миграция с версии 4.x (ESLint 8, .eslintrc)
- Обновите
eslintдо 9,@snabcentr/eslint-configдо 5.x и плагины до peer-версий (npm installпредупредит о несоответствиях). - Замените
.eslintrc.*наeslint.config.cjs(см. пример выше).envзаменяется наlanguageOptions.globals(пакетglobals),ignorePatterns— на{ ignores: [...] },overrides— на отдельные объекты сfiles. - Уберите из скриптов
--ignore-pathи--ext: исключения задаются черезignores, расширения определяются поfiles. - Обновите настройки IDE (
eslint.useFlatConfig),lint-stagedи CI. tsconfig.eslint.jsonбольше не нужен, если проект используетprojectService(включён в конфигурации).
Что изменилось в самой конфигурации:
- Пакет
eslint-config-airbnb-base(не поддерживает flat config) заменён правиламиsrc/rules/airbnb.cjs, перенесёнными из версии 15.0.0 без изменений. eslint-plugin-file-progressудалён (версия для ESLint 9 отсутствует).eslint-plugin-rxjsзаменён форком@smarttools/eslint-plugin-rxjs(префикс правил —@smarttools/rxjs/);eslint-plugin-rxjs-angularиeslint-plugin-htmlудалены.- Обновлены
eslint-plugin-jsdoc(65),eslint-plugin-sonarjs(4),eslint-plugin-unicorn(65),eslint-plugin-lodash(8),@html-eslint/*(0.67),eslint-plugin-jest(29): часть правил в них переименована, добавлена или удалена. - Отчёт о неиспользуемых директивах
eslint-disableотключён (linterOptions.reportUnusedDisableDirectives: 'off'), как в ESLint 8; при необходимости включите в своёмeslint.config.cjs. - Шаблоны Angular проверяются без обработки inline-шаблонов в
*.component.ts.
Prettier
Отвечает за форматирование кода.
Пример конфигурации
Для объявления конфигурации создайте файл .prettierrc.json в корне проекта со следующим содержимым:
"@snabcentr/eslint-config/prettier-defaults.json"
Отключение правила автоматического форматирования Prettier
В раздел rules конфигурации ESLint проекта (файл eslint.config.cjs) необходимо добавить правило:
{
rules: {
'prettier/prettier': 'off'
}
}
Related Packages
Version History
| Version | Released | License |
|---|---|---|
| 5.0.3 | ISC | |
| 4.3.0 | ISC | |
| 4.2.0 | ISC | |
| 4.1.0 | ISC | |
| 4.0.0 | ISC | |
| 3.2.1 | ISC | |
| 3.2.0 | ISC | |
| 3.1.0 | ISC | |
| 3.0.0 | ISC | |
| 2.2.0 | ISC | |
| 2.1.2 | ISC | |
| 2.1.1 | ISC | |
| 2.1.0 | ISC | |
| 2.0.1 | ISC | |
| 2.0.0 | ISC |
Pre-releases (3)
| Version | Released | License |
|---|---|---|
| 5.0.0-rc3 | ISC | |
| 5.0.0-rc2 | ISC | |
| 5.0.0-rc1 | ISC |