NpmInstallWebpackPlugin
Speed up development by automatically installing & saving dependencies with Webpack.
It is inefficient to Ctrl-C your build script & server just to install a dependency you didn't know you needed until now.
Instead, use require
or import
how you normally would and npm install
will happen automatically to install & save missing dependencies while you work!
Install
$ npm install --save-dev npm-install-webpack-plugin
Usage
In your webpack.config.js
:
plugins: [ new NpmInstallPlugin() ],
This is equivalent to:
plugins: [ new NpmInstallPlugin({ // Use --save or --save-dev dev: false, // Install missing peerDependencies peerDependencies: true, // Reduce amount of console logging quiet: false, // npm command used inside company, yarn is not supported yet npm: 'tnpm' }); ],
You can provide a Function
to the dev
to make it dynamic:
plugins: [ new NpmInstallPlugin({ dev: function(module, path) { return [ "babel-preset-react-hmre", "webpack-dev-middleware", "webpack-hot-middleware", ].indexOf(module) !== -1; }, }), ],
Demo
Features
-
Works with both Webpack
^v1.12.0
and^2.1.0-beta.0
. -
Auto-installs
.babelrc
plugins & presets. -
Supports both ES5 & ES6 Modules. (e.g.
require
,import
) -
Supports Namespaced packages. (e.g.
@cycle/dom
) -
Supports Dot-delimited packages. (e.g.
lodash.capitalize
) -
Supports CSS imports. (e.g.
@import "~bootstrap"
) -
Supports Webpack loaders. (e.g.
babel-loader
,file-loader
, etc.) -
Supports inline Webpack loaders. (e.g.
require("bundle?lazy!./App"
) -
Auto-installs missing
peerDependencies
. (e.g.@cycle/core
will automatically installrx@*
) -
Supports Webpack's
resolve.alias
&resolve.root
configuration. (e.g.require("react")
can alias toreact-lite
)
© JS Foundation and other contributors
Licensed under the Creative Commons Attribution License 4.0.
https://v4.webpack.js.org/plugins/npm-install-webpack-plugin