UNPKG

3.16 kBMarkdownView Raw
1[tests]: https://img.shields.io/circleci/project/github/shellscape/webpack-nano.svg
2[tests-url]: https://circleci.com/gh/shellscape/webpack-nano
3
4[cover]: https://codecov.io/gh/shellscape/webpack-nano/branch/master/graph/badge.svg
5[cover-url]: https://codecov.io/gh/shellscape/webpack-nano
6
7[size]: https://packagephobia.now.sh/badge?p=webpack-nano
8[size-url]: https://packagephobia.now.sh/result?p=webpack-nano
9
10<div align="center">
11 <img width="256" src="https://raw.githubusercontent.com/shellscape/webpack-nano/master/assets/nano.svg?sanitize=true" alt="webpack-nano"><br/><br/>
12</div>
13
14# webpack-nano [![tests][tests]][tests-url] [![cover][cover]][cover-url] [![size][size]][size-url]
15
16A teensy, squeaky 🐤 clean Webpack CLI
17
18`webpack-nano` operates on the premise that all options for configuring a webpack build are set via a [config file](https://webpack.js.org/configuration/).
19
20## Install
21
22Using npm:
23
24```console
25npm install webpack-nano --save-dev
26```
27
28<a href="https://www.patreon.com/shellscape">
29 <img src="https://c5.patreon.com/external/logo/become_a_patron_button@2x.png" width="160">
30</a>
31
32## Requirements
33
34`webpack-nano` is an evergreen module. 🌲 This module requires Node v10.11.0+.
35
36## Benefits
37
38- Holy bananas 🍌 it's itsy bitsy
39- Doesn't hit you over the head with an avalanche of flags and options
40- Allows any number of user-defined flags
41- It does one thing: tells webpack to start a build
42- ~90% smaller than webpack-cli and webpack-command
43
44## Usage
45
46```console
47$ npx wp --help
48
49 Usage
50 $ wp [...options]
51
52 Options
53 --config A path to a webpack config file
54 --config.{name} A path to a webpack config file, and the config name to run
55 --help Displays this message
56 --silent Instruct the CLI to produce no console output
57 --version Displays webpack-nano and webpack versions
58
59 Examples
60 $ wp
61 $ wp --help
62 $ wp --config webpack.config.js
63 $ wp --config.serve webpack.config.js
64```
65
66## Custom Flags
67
68With `webpack-cli` users are limited as to the flags they can use on with the `$ webpack` binary, and are instructed to use the `--env` flag for custom data. Well that's just 🍌🍌. With `webpack-nano` users can specify an unlimited number of custom flags, _without restriction_.
69
70Say you have a bundle which can be built to use different asset locations from cloud data sources, like Amazon S3 or Google Cloud Storage. And in this scenario you prefer to specify that location using a command-line flag. If you were using `webpack-cli`, you'd have to use the `--env.source` flag (or you'd get a big 'ol error) and use a function for your `webpack.config.js` export. Using `webpack-nano`:
71
72```console
73$ wp --config webpack.config.js --source s3
74```
75
76```js
77// webpack.config.js
78const argv = require('webpack-nano/argv');
79
80const { source } = argv;
81
82module.exports = {
83 ...
84}
85```
86
87✨ Magic. The `webpack-nano/argv` export provides quick and easy access to parsed command-line arguments, allowing the user to define the CLI experience as they want to.
88
89## Meta
90
91[CONTRIBUTING](./.github/CONTRIBUTING.md)
92
93[LICENSE (Mozilla Public License)](./LICENSE)