Pull to refresh

Самые нужные плагины для Gulp

Reading time 6 min
Views 161K


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

Доброго времени суток, всем! Кто-то умный, не помню в какой статье именно на Хабре, буквально недавно размышлял о процессе разработки с явным призывом автоматизировать все, что только можно автоматизировать. И лучше один раз потратить время на автоматизацию, чтобы потом экономить его на протяжении всего проекта.

У веб-разработчиков есть прекрасный инструмент для автоматизации массы задач, который называется Gulp. И моя страсть к таксономии заставила себя собрать огромную коллекцию почти из 100 ценных плагинов для этого сборщика. Думаю многие кто уже использует Gulp найдут для себя что-то нужное, а кто нет, глядя на возможности, получит хорошую мотивацию установить его и понять как эта штука работает.

А еще я выложил подборку на GitHub, чтобы каждый мог пополнить коллекцию.

HTML&CSS



autoprefixer — один из самых полезных плагинов, который автоматически расставляет префиксы к CSS свойствам, исходя из статистики caniuse. Важно сказать, что Автопрефиксер это лишь один из множества дополнений в рамках проекта PostCSS от Злых Марсиан.

gulp-browser-sync — вероятно, самый нужный инструмент, с точки зрения повышения продуктивности веб-разработчиков. BrowserSync создает подключение, после чего производит автообновление страницы во всех браузерах на всех устройствах при изменениями не только клиентских или даже серверных файлов. А плюс ко всему синхронизирует позицию скроллинга и заполненные данные в формах.

gulp-useref — парсит специфичные блоки и конкатенирует описанные в них стили и скрипты.

gulp-email-design — бесценный инструмент при верстки писем, который переводит все CSS стили в инлайновые, автоматически изменяя все пути к файлам, опционально умеет загружать изображения на CDN и даже отсылать письма на почту.

gulp-uncss — лучшее решение для оптимизации CSS файлов. Плагин анализирует HTML код и находит все неиспользуемые и продублированные стили.

gulp-csso — отличный CSS минификатор. На сегодняшний день существует целый ряд CSS компрессоров и сравнительная таблица (GitHub) по ним. Но недавно я увидел лучшую Shorthand утилиту без Gulp, которая делает приблизительно следующее:

a {
    font-family: Arial;
    font-style: italic;
    font-size: 14px;
    line-height: 18px; 
    font-weight: bold;
    background-image: url('example.png');
    background-color: red;
    background-size: cover;
    background-repeat: no-repeat;
}

=>

a {
  font: italic bold 14px/18px Arial;
  background: red url('example.png') no-repeat / cover;
}



gulp-htmlmin — простой HTML минификатор.

gulp-csscomb — облагораживает структуру ваших CSS.

gulp-csslint — CSS линтер.

gulp-htmlhint — HTML валидатор.

JavaScript



gulp-autopolyfiller — мега крутой плагин, который похож на Autoprefixer и подбирает все необходимые полифилы для JavaScript, чтобы вы могли использовать последние стандарты ECMAScript уже сегодня. Еще рекомендую gulp-babel, который конвертирует ES6/ES7 в ES5.

gulp-jsfmt — полезнейший плагин для работы с JavaScript от команды Rdio, который позволяет искать конкретные фрагменты, форматировать и производить массовые изменения в коде. Также существует gulp-jsbeautifier.

gulp-jscs — JavaScript Code Style. Замечательный инструмент со множеством конфигураций для проверки вашего кода в соответствии с существующими стайлгайдами от jQuery, Яндекса, Google, Airbnb и других.

gulp-modernizr — помогает составить правильную архитектуру проекта на основе Modernizr.js в зависимости от возможностей браузера.

gulp-express — запускает Express.js веб-сервер.

gulp-requirejs и gulp-browserify — оптимизируют работу RequireJS и Browserify соответственно.

gulp-plato — предоставляет аналитику по вашему коду с разными метриками в виде красивых графиков.

gulp-complexity — проверка на качество кода основанная на алгоритмах Halstead и Cyclomatic.

fixmyjs — автоматически исправляет простые ошибки в коде после линта выполненного на основе JSHint (gulp-jshint).

gulp-jscpd — для поиска дубликатов в коде.

gulp-jsonlint — валидатор JSON файлов.

gulp-uglify — JavaScript компрессор.

gulp-concat — конкатенация файлов.

Unit тесты





Графика



gulpicon — ценный плагин, который позволяет генерировать спрайты из SVG, переводить их в PNG, записывать все Data URI и подключать нужный формат в зависимости от возможностей браузера.

gulp-iconfont — великолепный плагин для работы с веб-шрифтами. Умеет создавать WOFF, WOFF2, EOT, TTF файлы из SVG.

gulp-responsive — простой способ сгенерировать адаптивные изображения под требуемые разрешения устройств с указанием соответствующих префиксов в наименовании.

gulp-sharp — самый быстрый модуль для работы с JPEG, PNG, WebP и TIFF изображениями. Плагин умеет изменять размер, ориентацию, фон, альфа-канал и многое другое.

gulp-svgstore — объединяет все подключаемые SVG файлы и записывает их в HTML как <symbol> для дальнейшего использования.

gulp-imacss — очень удобная утилита, которая автоматически преобразовывает подключенные в CSS изображения PNG, JPG, SVG в Data URI.

gulp-imagemin и gulp-tinypng для сжатия изображений.

gulp-spritesmith — автоматическая генерация спрайтов.

Разное



gulp-grunt — позволяет запускать Grunt плагины для Gulp.

Некоторые из отсутствующих:

grunt-html-build — универсальный помощник в верстке. Плагин умеет объединять исходные файлы и создавать полноценные шаблоны/блоки для вашего HTML. Еще для похожих задач очень хорош grunt-include-replace.

grunt-penthouse и grunt-criticalcss — автоматически находят Critical Path в вашем проекте. Важный момент с точки зрения производительность, о чем подробнее написано тут.

grunt-shipit — автоматизирует deploy с помощью Shipit.

grunt-githooks — привязывает Git Hooks к Grunt таскам.

grunt-gitbook — создавайте документацию с помощью потрясающей утилиты GitBook.

grunt-conventional-changelog — генерирует список изменений на основе коммитов в Git.

grunt-proxy and grunt-connect-proxy — connect support for proxying API calls during development.

grunt-phantomas — превосходный инструмент для измерения производительности проекта.

grunt-usebanner — добавляет баннеры (копирайт или ASCII заголовки) в исходных файлах и grunt-figlet для помощи работы с этим.


gulp-watch — краеугольный камень в плагинной системе Gulp. Следит за всеми указанными файлами или целыми директориями и в случае каких-либо изменений выполняет описанные в конфигурациях таски.

gulp-notify — выводит ошибки при сборке Gulp в виде системных сообщений, а главное то, что работает для разных операционных систем.

gulp-git — позволяет использовать Git команды.

gulp-jsdoc — генератор документации, работает на основе JSDoc3.

gulp-rev — полезный плагин для работы с ревизиями.

gulp-release — позволяет управлять версиями в вашем проекте.

gulp-bump — следит за репозиторием и обновляет package.json и gulp-update, который обновляет сами пакеты.

gulp-bower-files — подключает все необходимые Bower компоненты.

gulp-removelogs — автоматически удаляет логи.

gulp-preprocess — препроцессор, ссылающийся на установленные конфигурации.

gulp-duration — отображает время выполнения тасков.

gulp-changed и gulp-newer — запускают таски только для изменившихся файлов.

gulp-connect — простой веб-сервер для статических сайтов.

gulp-shell — позволяет запускать Shell команды.

gulp-ssh — обеспечивает возможность подключения по SSH и SFTP.

gulp-zip — архивирует папки и файлы.

gulp-clean и gulp-copy — соответственно очищают и копируют указанные исходники.

gulp-filesize — отображает размеры файлов в удобном для чтения формате.

gulp-util — различные утилиты для разработки Gulp плагинов.

Компиляторы



gulp-less — LESS в CSS.
gulp-sass — SASS/SCSS в СSS.
gulp-compass — SASS с Compass в CSS.
gulp-stylus — Stylus в CSS.
gulp-coffee — CoffeeScript в JavaScript.
gulp-jade — Jade в HTML.
gulp-handlebars — Handlebars шаблоны в JST.
gulp-jst — Underscore шаблоны в JST.
gulp-react — Facebook React’s JSX шаблоны в JST.
gulp-nunjucks — Nunjucks шаблоны в JST.
gulp-dustjs — Dust шаблоны в JST.
gulp-angular-templatecache — AngularJS шаблоны в JST.

Напоследок



psi — PageSpeed Insights with reporting.
tmi — TMI (Too Many Images) — discover your image weight on the web.
ngrok — Introspected tunnels to localhost.
pageres — удобная утилита для создания скриншотов сайтов в разных разрешениях.
Возможно, некоторые методы автоматизации вам будет удобнее использовать прямо в редакторе — Лучшие плагины для SublimeText.
matchdep — помогает правильно описать зависимости.
Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
+38
Comments 30
Comments Comments 30

Articles