Webpack 4.0 has been released with improvements including a rewritten plugin system and WebAssembly support. The new release of the JavaScript module bundler is also reported to be up to 98 percent faster.

The improvements in performance have been reported by beta testers saw build times decrease by between 60 and 98 percent, with some builds going from nine hours to twelve minutes to build. The developers say that the performance improvements:

"also gave us the opportunity to identify some key blocking bugs in loaders and plugins that have since now been fixed."

Some of the improvements to the performance are due to the new version of the plugin system, which means that event hooks and handlers are monomorphic. Webpack has also dropped Node v4. This has, according to the developers, allowed them to add a considerable amount of newer ES6 syntax and data structures, also optimized by V8.

Extra module types have been added in the new version, alongside .mjs support. Until now, JavaScript has been the only first-class module type in Webpack, which has meant it wasn't possibly to effectively have other bundles such as CSS/HTML. The developers have in this release removed the specific JavaScript limitation, and the current API has five module types. In addition to JavaScript./auto, the new release supports EcmaScript modules; CommonJS and AMD; JSON; and WebAssembly. The developers plan future support for CSS and HTML module types.

Another useful improvement is the addition of a new config property called mode that can be set to either development or production to provide sensible defaults. In the case of production, the defaults aim to provide:

AI has a habit of doing things you never expected, but this isn't creativity - it's generally lack of imagination or analysis on our part. It isn't that AI s creative, it is that that we are not as cl [ ... ]