CSS / SCSS · Prettier
Как настроить сортировку CSS и SCSS в Prettier
Автор: Grundy · Проверено: 6 октября 2026
Единый порядок свойств помогает сравнивать стили и проверять изменения. В этом руководстве подключим prettier-grundy-scss-order к проекту, отформатируем небольшой файл и разберем, что проверить перед массовым запуском.
1. Установите форматтер
Выполните команду в каталоге проекта. Если Prettier уже установлен, сохраните совместимую с проектом версию. Примеры ниже проверены с Prettier 3.9.6 и плагином 0.2.2.
npm install --save-dev prettier prettier-grundy-scss-order2. Подключите плагин
Создайте .prettierrc.json в корне проекта или добавьте эти параметры в существующую конфигурацию Prettier. Используйте один файл конфигурации. Явный порядок групп помещает обычные свойства в группу decl, где они сортируются по алфавиту, и показывает порядок конструкций SCSS.
{
"plugins": [
"prettier-grundy-scss-order"
],
"grundyScssSorterGroupsOrder": [
"@use",
"@extend",
"--variable",
"$variable",
"@if",
"decl",
"@include",
"@mixin",
"rule"
]
}3. Начните с одного файла
Сохраните исходный пример ниже в styles/card.scss. Один файл проще проверить по diff. Первая команда записывает отформатированный результат, вторая проверяет его без изменений. Для CSS укажите путь к файлу с расширением .css и сохраните --parser scss: плагин выполняет сортировку через парсер SCSS.
npx prettier styles/card.scss --parser scss --write
npx prettier styles/card.scss --parser scss --check4. Сравните результат
Форматтер переставляет display, gap и padding по алфавиту. Селектор и значения в этом примере остаются прежними. Для форматирования файла .scss компиляция Sass не требуется.
До: styles/card.scss
.card {
color: #222;
padding: 16px;
display: grid;
gap: 12px;
}После форматирования
.card {
color: #222;
display: grid;
gap: 12px;
padding: 16px;
}5. Проверьте страницу перед массовым запуском
Перестановка объявлений может повлиять на каскад: внимательно проверяйте сокращенные и отдельные свойства, повторяющиеся объявления и подключения SCSS-миксинов. Например, margin и margin-top могут переопределять друг друга в зависимости от порядка. Просмотрите diff, запустите сборку стилей и сравните затронутые страницы, прежде чем форматировать весь проект.
npx prettier "src/**/*.{css,scss}" --parser scss --checkЕсли сортировка не работает
Проверьте, что запускается локальный Prettier проекта, в plugins указано имя пакета, а файл не исключен через .prettierignore. Если команда работает, а редактор — нет, проверьте выбранный в редакторе форматтер и конфигурацию. Если CLI сообщает о недопустимом значении grundyScssSorterGroupsOrder, оставьте явный массив порядка групп из примера.