Skip to content

A CLI for webpack-plugin-serve, providing a premier webpack development server

License

Notifications You must be signed in to change notification settings

shellscape/webpack-serve

Repository files navigation

webpack-serve

tests cover size

webpack-serve

A CLI for webpack-plugin-serve - A Webpack development server in a plugin.

(While using a CLI such as webpack-serve is convenient, we recommend using webpack-plugin-serve directly in your webpack config, with webpack-nano, instead.)

Please consider donating if you find this project useful.

Requirements

webpack-serve is an evergreen 🌲 module.

This module requires an Active LTS Node version (v8.0.0+ or v10.0.0+). The client scripts in this module require browsers which support async/await. Users may also choose to compile the client script via an appropriately configured Babel webpack loader for use in older browsers.

Feature Parity

Since this CLI leverages webpack-plugin-serve, the same feature parity information applies. Please see the webpack-plugin-serve Feature Comparison for more information.

Install

Using npm:

npm install webpack-serve --save-dev

Usage

A CLI for webpack-plugin-serve, providing a premier webpack development server

Usage
  $ webpack-serve [...options]

Options
  --all               Apply webpack-plugin-serve to all compilers in the config
  --client.address    Overrides the WebSocket address in the client
  --client.retry      Instructs the client to attempt to reconnect all WebSockets when interrupted
  --client.silent     Instructs the client not to log anything to the console.
  --compress          Enables compression middleware which serves files with GZip compression.
  --config            A path to a webpack config file
  --config.{name}     A path to a webpack config file, and the config name to run
  --help              Displays this message
  --history-fallback  Enables History API Fallback
  --hmr               Enables Hot Module Replacement. On by default
  --host              Sets the host the server should listen from
  --http2             Instructs the server to enable HTTP2
  --live-reload       Instructs the client to perform a full page reload after each build
  --no-watch          Does not apply \`watch: true\` to the config, allowing for greater customization
  --open              Opens the default browser to the set host and port
  --port              Sets the port on which the server should listen
  --progress          Shows build progress in the client
  --silent            Instruct the CLI to produce no console output
  --static            Sets the directory from which static files will be served
  --status            Shows build status (errors, warnings) in the client
  --version           Displays webpack-nano and webpack versions
  --wait-for-build    Instructs the server to halt middleware processing until the current build is done.

Examples
  $ webpack-serve
  $ webpack-serve --help
  $ webpack-serve --config webpack.config.js
  $ webpack-serve --config.serve webpack.config.js

Flags

Please reference the webpack-plugin-serve Options for information and use. Most options are analogous to the flags listed above.

--no-watch

By default, the CLI will apply watch: true to the first config in the targeted webpack config file. To customize watching or watchOptions, please use this flag and customize the config(s) accordingly.

package.json Options

For convenience, webpack-plugin-serve options can also be defined in a package.json file. This CLI will look for a serve key in the nearest package.json beginning in the directory containing the specified webpack.config.js, up to the current working directory. Please reference the webpack-plugin-serve Options for information and use.

For Example:

{
	"name": "some-package",
	"version": "1.0.0",
	"serve": {
    "host": "10.10.10.1"
  }
}

Advanced Options

For options which require providing functions or complex objects like Promises which cannot be represented by JSON, nor on the command line, please use webpack-plugin-serve directly in your webpack config, along with webpack-nano.

Meta

CONTRIBUTING

LICENSE (Mozilla Public License)