From 1946ec7c414fbea42e8e3c5ac8a61b1cb6dae030 Mon Sep 17 00:00:00 2001 From: Ilia Mashkov Date: Wed, 19 Nov 2025 10:14:39 +0300 Subject: [PATCH] =?UTF-8?q?feat:=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3?= =?UTF-8?q?=D1=83=D1=80=D0=B0=D1=86=D0=B8=D1=8F=20Stylelint=20=D1=81=20?= =?UTF-8?q?=D1=81=D0=B5=D0=BC=D0=B0=D0=BD=D1=82=D0=B8=D1=87=D0=B5=D1=81?= =?UTF-8?q?=D0=BA=D0=B8=D0=BC=20=D1=83=D0=BF=D0=BE=D1=80=D1=8F=D0=B4=D0=BE?= =?UTF-8?q?=D1=87=D0=B8=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=D0=BC=20=D1=81=D0=B2?= =?UTF-8?q?=D0=BE=D0=B9=D1=81=D1=82=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Настроен stylelint.config.js для CSS/SCSS - Добавлена документация на русском языке - Автоматическое упорядочивание CSS свойств по группам - Плагины: standard-scss, order, semantic-groups --- stylelint.config.js | 56 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 stylelint.config.js diff --git a/stylelint.config.js b/stylelint.config.js new file mode 100644 index 0000000..c022a6f --- /dev/null +++ b/stylelint.config.js @@ -0,0 +1,56 @@ +/** + * Конфигурация Stylelint для проверки CSS/SCSS кода + * + * Stylelint - это линтер для стилей, который помогает избежать ошибок + * и поддерживать единообразный стиль написания CSS/SCSS. + * + * Используемые плагины: + * - stylelint-config-standard-scss: базовые правила для SCSS + * - stylelint-order: контроль порядка свойств и селекторов + * - stylelint-semantic-groups: семантическая группировка CSS свойств + * + * Основные правила: + * - selector-class-pattern: отключен (разрешены любые имена классов) + * - order/order: упорядочивание селекторов по семантике + * - order/properties-order: упорядочивание CSS свойств по группам + * - declaration-empty-line-before: отключен (не требуются пустые строки) + * + * @example + * // Запуск проверки: + * pnpm lint:styles + * + * // Правильный порядок свойств: + * .button { + * // Позиционирование + * position: relative; + * top: 0; + * + * // Блочная модель + * display: flex; + * width: 100px; + * padding: 10px; + * + * // Типографика + * font-size: 14px; + * + * // Визуальное оформление + * color: blue; + * background: white; + * } + */ + +const { + propertyOrdering, + selectorOrdering, +} = require('stylelint-semantic-groups') + +module.exports = { + extends: 'stylelint-config-standard-scss', + plugins: ['stylelint-order'], + rules: { + 'selector-class-pattern': null, + 'order/order': selectorOrdering, + 'order/properties-order': propertyOrdering, + 'declaration-empty-line-before': null, + }, +}