Отличная статья, давно жду этого поста.
Определение: используйте правильный инструмент для работы и убедитесь, что вы проводите исследования.
В последнее время JS подвергается «критике» во многих статьях. Указывая на его универсальность. Даже до Gulp / Grunt против Webpack. На данный момент это не против, каждый инструмент делает что-то свое для альтернативного результата.
Для меня Gulp / Grunt ect = Task runner, который полезен для автоматизации задач; имеет смысл, так как это бегун, которому поставлена задача. Webpack = сборщик модулей, инструмент, позволяющий брать модули приложения и связывать их по мере необходимости, в основном, для объектов, читаемых JS. Наконец, у Rollup есть огромное преимущество в том, что он эффективно связывает выходные данные с одной зависимостью.
Одна вещь, которую я хотел бы увидеть, - это инструмент, который обнаружит построение графиков зависимостей, чтобы библиотеки можно было выводить в нескольких пакетах, но при необходимости импортировать в код приложения. Честно говоря, это волшебство, но однажды я Invision что-то вроде этого. Почему? По мере роста приложения я буду использовать все больше функций из фреймворка / библиотеки, но мне и разработчикам будет сложно объединить код на основе функций.