Unladen Swallows and the Deprecation of webpack-cli (Update: I Guess Not)

Let’s improve the airspeed velocity, shall we?


Sorry folks — The lead of webpack objected to our month-old plan to deprecate webpack-cli in the eleventh hour. As such webpack-command will not replace webpack-cli, and I will not endorse command being merged or copied into webpack-cli. webpack-command will remain though!

Ignore the rest. It was a great idea. But alas…

If there was ever a more apt image to depict the recently changing landscape of the CLI experience for Webpack, that would be it. (If you don’t get the reference, head to YouTube and kill some time on clips of Monty Python and the Holy Grail.)

Let’s kick this hornets’ nest properly: webpack-cli will be deprecated in favor of webpack-command. If you’re not familiar with the advantages and features that webpack-command brings to the table, please read about the new hotness in our previous post about it.

It’s Just a Flesh Wound

webpack-command was conceived and released to address perceived issues and shortcomings of webpack-cli and to create an experience that was lightweight, modern, helpful, an to provide a top-notch user experience. When comparing to webpack-cli on a project level, it can be argued that webpack-command has distinct advantages. While webpack-cli has been working to improve the extended functionality that it provides, webpack-command has the overall experience leg-up.

We now have two projects that do two very important sets of things arguably better than the other. The only solution there is to find a way to combine them to prevent segmentation and duplication of effort — we all volunteer our free time to tend to these projects and it just makes sense.

Fear not. We have a plan in place to make this transition relatively painless.

One, Two, Five!

By the end of June 2018 webpack-cli will be deprecated, its install will let users know as much, and redirect the install to webpack-command. With the release of webpack v5 in the coming months webpack-cli will be marked obsolete. Lets have some details…

webpack-cli ships with some incredibly useful and comprehensive additional tooling in it’s init and migrate commands. These aren’t going anywhere. Instead, they’ll be ported to the far simpler and much cleaner sub-command format of webpack-command and will be available as stand-alone modules, keeping webpack-command lightweight and spartan by default.

The init command will be renamed to bootstrap (that’s our working-name for the moment — have suggestions?) and a new init bare-bones, basic command will debut in its place, included with the default installation of webpack-command. This new, tiny init command will provide only the most basic setup path for new webpack configuration files — similar to npm init.

The last stable release of webpack-cli will enshrined in a branch. We’ll then work with the team that maintains the documentation website and make sure they’re ready for this wild ride.

Wait Until Nightfall, then Leap Out of The Rabbit

Once webpack v5 drops we’ll be further consolidating the codebase; the bootstrap and migrate commands will be moved to a new repository and the webpack-cli repository will be archived.

This is a huge leap forward for users and webpack as a project on the whole. It’s also a massive gain for user in terms of experience and will help bring webpack’s CLI in line with world-class tools that rock that interface.

Have faith. This will be a good thing.

webpack is not backed by a big company, unlike many other big Open Source products. The development is funded by donations and personal investment in us. Please consider donating if you depend on webpack… (Ask your boss!)

Special thanks to these sponsors: (Top 5)

  • Trivago (Hotel metasearch) donated a total of $100,000
  • ag-Grid (DataGrid) donated a total of $35,000
  • Segment (Data Infrastructure) donated a total of $24,000
  • Adobe (Software) donated a total of $12,000
  • Capital One (Bank) donated a total of $12,000
  • Full list