/webpack-cli

Webpack's Command Line Interface

Primary LanguageTypeScriptMIT LicenseMIT

webpack CLI

The official CLI of webpack


This is the documentation of the beta version (being maintained on branch next).

We are working on reducing the number of arguments passed to the CLI, please leave your feedback here

npm Build Status Dependencies Install Size Chat on gitter

Table of Contents

About

webpack CLI provides a flexible set of commands for developers to increase speed when setting up a custom webpack project. As of webpack v4, webpack is not expecting a configuration file, but often developers want to create a more custom webpack configuration based on their use-cases and needs. webpack CLI addresses these needs by providing a set of tools to improve the setup of custom webpack configuration.

How to install

When you have followed the Getting Started guide of webpack then webpack CLI is already installed!

Otherwise npm install --save-dev webpack-cli or yarn add webpack-cli --dev will install it.

Supported arguments and commands

Get to know what are the available commands and arguments here.

Packages

We organize webpack CLI as a multi-package repository using lerna. Every command has a dedicated subfolder in the packages Folder. Here's a summary of commands provided by the CLI.

Commands

Supporting developers is an important task for webpack CLI. Thus, webpack CLI provides different commands for many common tasks.

Removed commands since v3.3.3

  • webpack-cli add - Add new properties to a webpack configuration file.
  • webpack-cli remove - Remove properties from a webpack configuration file.
  • webpack-cli update - Update properties in a webpack configuration file.

Utilities

The project also has several utility packages which are used by other commands

  • utils - Several utilities used across webpack-cli.
  • generators - Contains all webpack-cli related yeoman generators.
  • webpack-scaffold - Utilities to create a webpack scaffold.

Getting started

When you have followed the Getting Started guide of webpack then webpack CLI is already installed! Otherwise, you would need to install webpack CLI and the packages you want to use. If you want to use the init command to create a new webpack.config.js configuration file:

npm i webpack-cli @webpack-cli/init
npx webpack-cli init

You will be prompted for some questions about what how you want to generate your config file when running the init command so webpack CLI can provide the best fitting configuration.

webpack CLI Scaffolds

With v3 of webpack CLI, we introduced scaffolding as an integral part of the CLI. Our goal is to simplify the creation of webpack configurations for different purposes. Additionally, sharing such solutions with the community is beneficial and with webpack, we want to allow this. We provide webpack-scaffold as a utility suite for creating these scaffolds. It contains functions that could be of use for creating a scaffold yourself.

You can read more about Scaffolding, learn How to compose a webpack-scaffold? or generate one with webpack-scaffold-starter.

Contributing and Internal Documentation

The webpack family welcomes any contributor, small or big. We are happy to elaborate, guide you through the source code and find issues you might want to work on! To get started have a look at our documentation on contributing.

Open Collective

If you like webpack, please consider donating to our Open Collective to help us maintain it.