Stylelint. Устанавливаем, подключаем, используем

Stylelint — линтер CSS кода. Он проверяет CSS на соответствие стилю форматирования (code guide). Проще говоря, это «проверка правописания» для кода. Stylelint проверяет не только CSS, но и его популярные диалекты (SCSS, Less). Примечателен тем, что поддерживает множество правил (более 150) и на момент написания статьи является самым мощным CSS инспектором. Но его установка может вызвать трудности у новичка. Эта небольшая инструкция должна помочь установить Stylelint c нуля.

Устанавливаем stylelint

Шаг 1. Установить node.js Если у вас ещё не установлен node.js, его нужно установить. Подробно расписывать установку нет смысла, принцип «Далее, далее, готово» здесь отлично работает.

Убедимся, что всё корректно установилось. Для этого открываем терминал и вводим команду node -v. В ответ придёт строка с указанием установленной версии node.js, что автоматически означает что, оно установилось и работает.

Шаг 2. Создать npm проект

Запустим из корневой директории нашего проекта команду:

npm init

Она инициализирует создание нового npm проекта. Для корректного завершения потребуется ввести некоторые данные: имя проекта, описание, номер версии, и т.д. Если вы не хотите заполнять какое-то из полей, просто нажмите Enter и npm по-возможности сам установит значение по-умолчанию. После заполнения всех пунктов, npm наконец создаст нужный нам проект.

Шаг 3. Установить Stylelint

В командной строке вводим следующую команду:

npm install -g stylelint

Эта команда установит stylelint на ваш компьютер. Теперь убедимся, что и установка Stylelint прошла успешно c помощью команды stylelint -v. Если всё установилось корректно, в ответ придёт строка с указанием установленной версии Stylelint.

На этом установку stylelint можно считать завершённой и можно приступать к непосредственному созданию правил форматирования CSS кода.

Конфигурационные файлы Stylelint

Чтобы Stylelint знал, что именно считать ошибкой, нужно написать конфигурационный файл с правилами. На официальном сайте существует список Stylelint правил с подробными пояснениями и примерами работы каждого. Потратив полдня на разработку единого стиля, можно сэкономить больше времени и нервов в дальнейшем.

В качестве тестового примера возьмём небольшой список правил. Повторюсь, это всего лишь тестовый пример, использовать его в качестве основного нецелесообразно, он лишь демонстрирует основные принципы работы линтера. Лучше внимательно изучите список правил и составьте собственный.

{
  "rules": {
    "color-hex-case": "lower",
    "color-hex-length": "long",
    "color-no-invalid-hex": true,
    "number-leading-zero": "always",
    "declaration-no-important": true,
    "string-quotes": "double",
    "function-name-case": "lower",
    "length-zero-no-unit": true,
    "selector-no-id": true,
  }
}

Список правил в формате JSON (можно использовать YAML) нужно сохранить как файл с именем .stylelintrc и положить в корневую директорию нашего проекта.

Теперь мы окончательно готовы к тому, чтобы начать работать со Stylelint.

Работаем со Stylelint из командной строки

В моем небольшом проекте стили хранятся по пути css/. Чтобы проверить их проверить, я ввожу следующую консольную команду.

stylelint "css/style.css"

Она запросит Stylelint провести инспекцию css файла style.css в директории css нашего проекта. Stylelint найдёт css файл и выведет список ошибок.

Можно поступить иначе и указать маску, если вы не знаете имя файла или их точное количество.

stylelint "css/*.css"

Эта команда заставит Stylelint найти всевозможные CSS файлы в указанной директории и вывести список ошибок по каждому из них.

Результаты проверки stylelint в консоли
Проверяем стили в консоли

Работаем со Stylelint в Sublime Text

Понимаю, что проверять всё из консоли может быть удобно не для всех. Есть и другие варианты: например, использовать плагины для кодовых редакторов. Например, для Sublime Text. Чтобы работало, нужно установить несколько плагинов: SublimeLinter и SublimeLinter-contrib-stylelint. После установки нужно перезапустить Sublime Text для корректной работы линтера.

После установки, по нажатию правой кнопки мыши можно настроить параметры SublimeLinter, который непосредственно отвечает за подсветку ошибок.

Результаты проверки stylelint в Sublime Text
Проверяем стили в Sublime Text

Ответы на вопросы

— Stylelint может сам исправлять ошибки?

Нет. Для этих целей нужно использовать другие инструменты. Например, можно пустить в ход CSSComb: написать для него правила, которые будут соотвествовать вашему кодгайду. Но исправлять ошибки может и другой полезный инструмент — stylefmt. Его главное преимущество в том, что он напрямую работает с правилами Stylelint.

— А что если во мне живет дух старой школы и я пишу код в одиночку?

Линтер будет полезен даже разработчику-одиночке. Особенно если разработчик перфекционист и не чужд прекрасного. Когда ты пишешь код много часов подряд, ошибки не заставят себя ждать. Где-то не там поставил скобку, где-то забыл поставить пробел. Линтер помогает поддерживать код в чистоте и порядке.

— Ты не про всё рассказал! А как же {моё любимое правило Stylelint}? Почему не через Gulp?

Эта инструкция написана для новичков и не претендует на самое полное описание технологии и правильной настройки. Она помогает без ошибок запустить линтер на своём проекте впервые. Это нужно для того, чтобы у новичка не опустились руки ещё в начале. Дальнейшее углубленное изучение целиком и полностью ложиться на плечи любопытного читателя.