Что это такое?
Grunt — это таск-раннер для JavaScript: вы один раз описываете повторяющиеся задачи своего проекта, а Grunt выполняет их за вас, так что вам не нужно запускать каждый шаг вручную.
Так это утилита командной строки или библиотека, которую я подключаю в коде?
И то и другое в каком-то смысле: это npm-пакет, который вы добавляете в проект, а его спутник grunt-cli даёт команду 'grunt' для запуска из терминала. Работает на Node.js версии 16 или новее.
Как добавить его в проект и начать пользоваться?
Установите его из npm в свой проект (сам пакет плюс grunt-cli в придачу), а за документацией обращайтесь на сайт gruntjs.com — README отправляет вас туда 'для всего на свете'.
Что должно быть на моём компьютере, чтобы он запустился?
Заявленное требование — Node.js 16 или новее. Список зависимостей полностью на JavaScript (glob, minimatch, js-yaml и другие), так что никакой нативной сборки или дополнительных сервисов не нужно.
Старых версий Grunt полно — какие из них реально поддерживаются?
Исправления безопасности и багов получает только последняя версия (1.6). Версия 1.5 и всё, что старше, — конец жизни; HeroDevs продаёт коммерческие готовые замены для них.
Репозиторию с 2011 года — Grunt ещё жив?
Да: репозиторий не в архиве, CI прогоняет тесты при изменениях, ветка 1.6 поддерживается, и проект участвует в программе устойчивого развития экосистемы OpenJS с коммерческим партнёром.
Заработает ли это у меня — на Windows, macOS, Linux?
Везде, где работает Node: это обычный Node-пакет с кроссплатформенным CLI, так что Windows, macOS и Linux — все подходят.
А если мой проект застрял на старой версии Grunt?
HeroDevs, партнёр проекта в OpenJS Ecosystem Sustainability Program, предоставляет готовые замены для старых релизов Grunt (вплоть до 0.4), которые своевременно обновляются с учётом безопасности и требований соответствия.
Какие задачи я мог бы с ним автоматизировать?
Рутинные дела JS-проекта — линтинг, тестирование, сборку — вместо команд, которые приходится вводить заново, превращаются в автоматические шаги. Сам этот репозиторий держится того же курса: его CI линтит код с помощью ESLint и запускает юнит-тесты на QUnit.
Which topics is it in?
build-automation, pipelines, linting, task, devtools, build-tool, cli-tool, hacktoberfest, npm, automation, tool, nodejs