Представлена бета-версия Webpack 4

webpack-4-cover

Разработчики представили бету четвертой версии компоновщика JS-модулей Webpack. В ней реализована поддержка более длинного релизного цикла между основными версиями продукта, а также улучшены стабильность и производительность.

Примечательные нововведения

  • Распараллеливание и кэширование процессов сжатия UglifyJS2 в режиме production;
  • Поддержка Node 8 с синтаксическими конструкциями и структурами данных из ES6 и полный отказ от Node 4;
  • Автоматическая установка свойств entry и output в ./src/ и ./dist соответственно, что позволяет начать пользоваться Webpack без предварительной конфигурации (#0CJS); Окно редактора кода: webpack без предварительной конфигурации
  • Введение двух основных режимов: production (с встроенными функциями для оптимизации) и development (с возможностями для увеличения скорости разработки и улучшения читабельности кода);
  • Поддержка sideEffects: false в package.json для уменьшения размеров сборки. Новое свойство сигнализирует Webpack о том, что в используемой библиотеке отсутствуют sideEffects (ранее pure-module), и среда может безопасно удалять повторные экспорты пользователей из кода;
  • Поддержка JSON и tree shaking: Webpack автоматически удаляет неиспользуемые экспорты из JSON Module;
  • Внедрение системы типов модулей и поддержка .mjs для эффективной сборки HTML/CSS. Всего представлено 5 типов:
    • javascript/auto: модуль JavaScript со всеми системами модулей (CommonJS, AMD, ESM);
    • javascript/esm: модули EcmaScript, все остальные недоступны (по умолчанию для файлов .mjs);
    • javascript/dynamic: только CommonJS и AMD, модули EcmaScript недоступны;
    • json: данные JSON, доступные по запросу или через импорт (по умолчанию для файлов .json)
    • webassembly/experimental: модули WebAssembly (экспериментальный тип, по умолчанию для файлов .wasm);
  • Поддержка WebAssembly;
  • Отказ от плагина CommonsChunkPlugin и перенос части его возможностей в функционал Webpack по умолчанию. Внедрение optimization.splitChunks и optimization.runtimeChunk для гибкого контроля над кэшированием.

Полный список изменений и внутренних обновлений доступен в журнале изменений на GitHub. Стабильная версия Webpack 4 будет доступна 25 февраля.

Источник: Medium