Плагин prettier для сортировки CSS или SCSS свойств. Для разбора исходников использует postcss-scss.
Для установки можно использовать команду:
npm install prettier-grundy-scss-order --save-dev
Для подключения плагина можно воспользоваться Prettier API, CLI или конфигурационного файла. Например:
{
"plugins": ["prettier-grundy-scss-order"]
}Данный плагин добавляет следующие ключи для настройки:
| Название | Описание | Значение по умолчанию |
|---|---|---|
grundyScssSorterGroupsOrder | массив групп в нужном порядке |
|
grundyScssSorterWithRoot | нужно ли сортировать на корневом уровне |
true |
grundyScssSorterSplitGroup | нужно ли отделять группы пустой строкой |
false |
grundyScssSorterGroups | определяет дополнительный группы для сортировки, расширяет группы по умолчанию | |
grundyScssSorterPreset |
предопределенные свойства, например: csscomb |
Список пресетов для миграции с других плагинов
| Пресет | Описание |
|---|---|
пресет для миграции с csscomb использующий default пресет | |
| csscomb-yandex |
пересет для миграции с csscomb использующий yandex пресет |
| csscomb-zen |
пересет для миграции с csscomb использующий zen пресет |
@use - scss use statements@mixin - scss @mixin statements--variable - css custom properties:$variable - scss variablesdecl - любые css свойства: color: ..., backgroud: ..., и т.д.@include - scss @include statementsrule - css селекторы: .class {...}, tag{...}, #id{...}, etc.@if - scss @if with optionally @else/@else if statements@media - css @media statements@supports - css @supports statementsНастройка grundyScssSorterGroups позволяет добавить пользовательские группы по дополнительным критериям.
Например, добавление группы @font - в эту группу помещаются все свойства начинающиеся с font: font, font-size, и т.д.
"{\"@font\": { \"startsWith\": \"font\" }}";Затем можно использовать данную группу в grundyScssSorterGroupsOrder:
["--variable", "$variable", "@font", "decl"];Для определения пользовательских групп доступны следующие критерии
startsWith - название начинается с указанного параметра
oneOf - название является одним из перечисленных в списке
type - тип узла соответствует одному из перечисленных
| Критерий | Пример | Описание | Подходящие свойства |
|---|---|---|---|
| type |
|
выбирает "@use" statements |
|
| startsWith |
|
выбирает свойства начинающиеся с "font" |
|
| oneOf |
|
выбирает свойства, названия которых совпадают с одним из элементов списка |
|