webpack-plugin-install-deps

Webpack loader to automatically npm install & save dependencies.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
webpack-plugin-install-deps
1,441424.0.55 years ago5 years agoMinified + gzip package size for webpack-plugin-install-deps in KB

Readme

This is a pr for webpack 4 support that I'm cloning sot that I can use it in my project, since it hasn't been pulled after 2 months. Also, changed the name from npm-install-webpack-plugin, because it supports yarn too
!npmnpmnpm-url !depsdepsdeps-url !testtesttest-url !coveragecovercover-url !chatchatchat-url
<img width="200" height="200" vspace="" hspace="25"
  src="https://cdn.rawgit.com/webpack/media/e7485eb2/logo/icon.svg">
webpack-plugin-install-deps

Speed up development by automatically installing & saving dependencies with Webpack.


It sucks 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


npm-install-webpack-plugin demo

Features


  • x Works with both Webpack ^v1.12.0 and ^2.1.0-beta.0.
  • x Auto-installs .babelrc plugins & presets.
  • x Supports both ES5 & ES6 Modules.
(e.g. require, import)
  • x Supports Namespaced packages.
(e.g. @cycle/dom)
  • x Supports Dot-delimited packages.
(e.g. lodash.capitalize)
  • x Supports CSS imports.
(e.g. @import "~bootstrap")
  • x Supports Webpack loaders.
(e.g. babel-loader, file-loader, etc.)
  • x Supports inline Webpack loaders.
(e.g. require("bundle?lazy!./App")
  • x Auto-installs missing peerDependencies.
(e.g. @cycle/core will automatically install rx@*)
  • x Supports Webpack's resolve.alias & resolve.root configuration.
(e.g. require("react") can alias to react-lite)

Maintainers


<tr>
  <td align="center">
    <img width="150" height="150"
    src="https://avatars2.githubusercontent.com/u/15182?v=3&s=150">
    </br>
    <a href="https://github.com/ericclemmons">Eric Clemmons</a>
  </td>
  <td align="center">
    <img width="150" height="150"
    src="https://avatars3.githubusercontent.com/u/226692?v=3&s=150">
    </br>
    <a href="https://github.com/insin">Jonny Buchanan</a>
  </td>
</tr>