Что ж, это не совсем так, но мы скоро там! Чтобы вы могли лучше понять, повлияет ли это на вас или нет, мы написали сообщение о том, что мы собираемся изменить.

Обзор

Большая часть webpack-cli с прошлого года до этого была сосредоточена на создании строительных лесов и снижении требований для входа при начале работы с webpack. Мы пытаемся создать хорошую экосистему, чтобы пользователи могли составлять свои конфигурации с помощью строительных лесов и автоматизации настройки конфигурации.

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

Изменение структуры репозитория

Мы уверены, что при использовании webpack-cli в будущем у вас будет больше возможностей за счет сокращения времени установки и необходимых нам зависимостей. Это связано с тем, что мы начали использовать монорепозитории. Мы уже давно увидели, что многие пользователи недовольны тем фактом, что им нужно установить webpack и webpack-cli в дополнение к сокращению времени и производительности (с точки зрения интерфейса командной строки).

Версия 3 webpack-cli не повлияет на пользователей, использующих webpack как автономный инструмент, а только утилит, связанных с ним. В частности, если вы используете функции формирования шаблонов или миграции, мы требуем, чтобы вы установили каждую функцию как отдельный пакет. Он будет выглядеть точно так же, как и раньше, но вам придется установить эту функцию при ее использовании:

$ npm install --save-dev @webpack-cli/migrate

$ webpack migrate webpack.config.js

Изменения, внесенные в надстройки веб-пакетов

Webpack-addons (служебная библиотека для создания каркаса) будет переименован в webpack-scaffold и перемещен в моно репозиторий. Мы выяснили, что название недостаточно информативное. В дополнение к этому, мы работаем над тем, чтобы вы могли искать существующие скаффолды на нашей странице документации, как написать свой собственный скаффолд (подробно) и как извлечь из этого максимальную пользу.

Экосистема

Как автор библиотеки (не связанный с созданием скаффолдов), вы теперь будете иметь прямой доступ к каждому генератору, который у нас есть, к тому, как мы преобразуем и запрашиваем конфигурации.

В рамках нашей цели по созданию жизнеспособной экосистемы и потребностей пользователей у нас есть абстрактные генераторы и преобразования AST, которые вы можете использовать программно. В целом, мы надеемся, что это окажет положительное влияние и что у людей будет лучше время, когда они начнут работать с webpack.

Как это повлияет на меня?

Это не влияет на пользователей. Для webpack миграция не требуется. В этой версии есть критические изменения, но в способ компиляции сборки веб-пакета изменений не вносится. Несмотря на то, что это не влияет на какие-либо сборки, это влияет на экосистему вокруг webpack. Переименуйте webpack-addons-myname в webpack-scaffold-myname, и все готово. Чтобы использовать строительные леса или дополнительные функции, сначала установите их как зависимости, и все будет хорошо.

Результатом всего этого является более быстрое время установки, меньшее количество зависимостей в ваших node_modules и возможность для авторов библиотек использовать наш исходный код для создания инструментов на основе веб-пакетов.

Чтобы опробовать новейшую версию (помните, что работа еще не завершена), вы можете:

$ npm install --save-dev webpack-cli@next

старый размер пакета: 66,3 КБ

новый размер пакета: 18,1 КБ

Нам бы хотелось увидеть несколько тестов!

Дальнейшая работа

Мы постоянно работаем над улучшением webpack, частью которого является интерфейс командной строки. Интерфейс командной строки скоро войдет в то, что я хотел бы назвать режимом «обслуживания», в котором мы сместим акцент на исправление ошибок, минимизацию функций, улучшение пользовательского интерфейса и написание более подробной документации. Я хотел бы поблагодарить всех участников за участие в выпуске этой версии, вы молодцы!

Мы всегда ищем новых участников. Если вы хотите помочь, у вас возникнут проблемы или что-то еще, свяжитесь с нами!