Плагин prettier для сортировки CSS или SCSS свойств. Для разбора исходников использует postcss-scss.
Для установки можно использовать команду:
npm install prettier-grundy-scss-order --save-dev
Для подключения плагина можно воспользоваться Prettier API, CLI или конфигурационного файла. Например:
{
"plugins": ["prettier-grundy-scss-order"]
}
Данный плагин добавляет следующие ключи для настройки:
Название | Описание | Значение по умолчанию |
---|---|---|
grundyScssSorterGroupsOrder | массив групп в нужном порядке |
|
grundyScssSorterWithRoot | нужно ли сортировать на корневом уровне |
false |
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 |
|
выбирает свойства, названия которых совпадают с одним из элементов списка |
|