-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy path141.70140618bb38267ac2c0.chunk.js
1 lines (1 loc) · 15.1 KB
/
141.70140618bb38267ac2c0.chunk.js
1
(window.webpackJsonp=window.webpackJsonp||[]).push([[141],{402:function(n,s,a){"use strict";a.r(s),s.default='<p>Speed up development by <b>automatically installing & saving dependencies</b> with Webpack.</p>\n<p>It is inefficient to <kbd>Ctrl-C</kbd> your\nbuild script & server just to install\na dependency you didn\'t know you needed until now.</p>\n<p>Instead, use <code>require</code> or <code>import</code> how you normally would and installation\nwill happen <strong>automatically to install & save missing dependencies</strong> while you work!</p>\n<pre><code class="hljs language-bash">$ <span class="token function">npm</span> <span class="token function">install</span> --save-dev install-webpack-plugin</code></pre>\n<h1 id="usage">Usage<a href="#usage" aria-hidden="true"><span class="icon icon-link"></span></a></h1>\n<p>In your <code>webpack.config.js</code>:</p>\n<pre><code class="hljs language-js">plugins<span class="token punctuation">:</span> <span class="token punctuation">[</span>\n <span class="token keyword">new</span> <span class="token class-name">InstallPlugin</span><span class="token punctuation">(</span><span class="token punctuation">)</span>\n<span class="token punctuation">]</span><span class="token punctuation">,</span></code></pre>\n<p><strong>This is equivalent to</strong>:</p>\n<pre><code class="hljs language-js">plugins<span class="token punctuation">:</span> <span class="token punctuation">[</span>\n <span class="token keyword">new</span> <span class="token class-name">InstallPlugin</span><span class="token punctuation">(</span><span class="token punctuation">{</span>\n dependencies<span class="token punctuation">:</span> <span class="token punctuation">{</span>\n peer<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>\n <span class="token punctuation">}</span><span class="token punctuation">,</span>\n packageManager<span class="token punctuation">:</span> <span class="token punctuation">{</span>\n type<span class="token punctuation">:</span> <span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">getDefaultPackageManager</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span>\n options<span class="token punctuation">:</span> <span class="token punctuation">{</span>\n dev<span class="token punctuation">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>\n quiet<span class="token punctuation">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>\n <span class="token punctuation">}</span><span class="token punctuation">,</span>\n <span class="token punctuation">}</span><span class="token punctuation">,</span>\n prompt<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>\n <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n<span class="token punctuation">]</span><span class="token punctuation">,</span></code></pre>\n<h1 id="options">Options<a href="#options" aria-hidden="true"><span class="icon icon-link"></span></a></h1>\n<h2 id="dependencies">dependencies<a href="#dependencies" aria-hidden="true"><span class="icon icon-link"></span></a></h2>\n<p><strong>Type:</strong> <code>Object</code></p>\n<p>Dependencies related options.</p>\n<h3 id="peer">peer<a href="#peer" aria-hidden="true"><span class="icon icon-link"></span></a></h3>\n<p><strong>Type:</strong> <code>Boolean</code></p>\n<p><strong>Default:</strong> <code>true</code></p>\n<p>Install missing peer dependencies.</p>\n<pre><code class="hljs language-js">plugins<span class="token punctuation">:</span> <span class="token punctuation">[</span>\n <span class="token keyword">new</span> <span class="token class-name">InstallPlugin</span><span class="token punctuation">(</span><span class="token punctuation">{</span>\n dependencies<span class="token punctuation">:</span> <span class="token punctuation">{</span>\n peer<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>\n <span class="token punctuation">}</span>\n <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">,</span>\n<span class="token punctuation">]</span><span class="token punctuation">,</span></code></pre>\n<h2 id="packagemanager">packageManager<a href="#packagemanager" aria-hidden="true"><span class="icon icon-link"></span></a></h2>\n<p><strong>Type:</strong> <code>\'npm\' | \'yarn\' | \'pnpm\' | Object | Function</code></p>\n<p>Package manager to use for installing dependencies.</p>\n<pre><code class="hljs language-js">plugins<span class="token punctuation">:</span> <span class="token punctuation">[</span>\n <span class="token keyword">new</span> <span class="token class-name">InstallPlugin</span><span class="token punctuation">(</span><span class="token punctuation">{</span>\n packageManager<span class="token punctuation">:</span> <span class="token string">\'yarn\'</span>\n <span class="token punctuation">}</span><span class="token punctuation">,</span>\n <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">,</span>\n<span class="token punctuation">]</span><span class="token punctuation">,</span></code></pre>\n<p>You can provide a <code>Function</code> to the <code>packageManager</code> to make it dynamic:</p>\n<pre><code class="hljs language-js">plugins<span class="token punctuation">:</span> <span class="token punctuation">[</span>\n <span class="token keyword">new</span> <span class="token class-name">InstallPlugin</span><span class="token punctuation">(</span><span class="token punctuation">{</span>\n packageManager<span class="token punctuation">:</span> <span class="token keyword">function</span><span class="token punctuation">(</span>module<span class="token punctuation">,</span> path<span class="token punctuation">)</span> <span class="token punctuation">{</span>\n <span class="token keyword">return</span> <span class="token punctuation">[</span>\n <span class="token string">"babel-preset-react-hmre"</span><span class="token punctuation">,</span>\n <span class="token string">"webpack-dev-middleware"</span><span class="token punctuation">,</span>\n <span class="token string">"webpack-hot-middleware"</span><span class="token punctuation">,</span>\n <span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token function">indexOf</span><span class="token punctuation">(</span>module<span class="token punctuation">)</span> <span class="token operator">!==</span> <span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">;</span>\n <span class="token punctuation">}</span><span class="token punctuation">,</span>\n <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">,</span>\n<span class="token punctuation">]</span><span class="token punctuation">,</span></code></pre>\n<h3 id="type">type<a href="#type" aria-hidden="true"><span class="icon icon-link"></span></a></h3>\n<p><strong>Type:</strong> <code>\'npm\' | \'yarn\' | \'pnpm\'</code></p>\n<p>Name of package manager to use for installing dependencies.</p>\n<h3 id="options-1">options<a href="#options-1" aria-hidden="true"><span class="icon icon-link"></span></a></h3>\n<p><strong>Type:</strong> <code>Object</code></p>\n<p>Package manager related options.</p>\n<h3 id="arguments">arguments<a href="#arguments" aria-hidden="true"><span class="icon icon-link"></span></a></h3>\n<p><strong>Type:</strong> <code>Array</code></p>\n<p>Provide custom arguments to use with package manager.</p>\n<pre><code class="hljs language-js">plugins<span class="token punctuation">:</span> <span class="token punctuation">[</span>\n <span class="token keyword">new</span> <span class="token class-name">InstallPlugin</span><span class="token punctuation">(</span><span class="token punctuation">{</span>\n packageManager<span class="token punctuation">:</span> <span class="token punctuation">{</span>\n type<span class="token punctuation">:</span> <span class="token string">\'npm\'</span><span class="token punctuation">,</span>\n options<span class="token punctuation">:</span> <span class="token punctuation">{</span>\n arguments<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token string">\'--ignore-scripts\'</span><span class="token punctuation">]</span>\n <span class="token punctuation">}</span>\n <span class="token punctuation">}</span>\n <span class="token punctuation">}</span><span class="token punctuation">,</span>\n <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">,</span>\n<span class="token punctuation">]</span><span class="token punctuation">,</span></code></pre>\n<h3 id="dev">dev<a href="#dev" aria-hidden="true"><span class="icon icon-link"></span></a></h3>\n<p><strong>Type:</strong> <code>Boolean</code></p>\n<p><strong>Default:</strong> <code>false</code></p>\n<p>Install as development dependencies.</p>\n<pre><code class="hljs language-js">plugins<span class="token punctuation">:</span> <span class="token punctuation">[</span>\n <span class="token keyword">new</span> <span class="token class-name">InstallPlugin</span><span class="token punctuation">(</span><span class="token punctuation">{</span>\n packageManager<span class="token punctuation">:</span> <span class="token punctuation">{</span>\n type<span class="token punctuation">:</span> <span class="token string">\'npm\'</span><span class="token punctuation">,</span>\n options<span class="token punctuation">:</span> <span class="token punctuation">{</span>\n dev<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>\n <span class="token punctuation">}</span>\n <span class="token punctuation">}</span>\n <span class="token punctuation">}</span><span class="token punctuation">,</span>\n <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">,</span>\n<span class="token punctuation">]</span><span class="token punctuation">,</span></code></pre>\n<h3 id="quiet">quiet<a href="#quiet" aria-hidden="true"><span class="icon icon-link"></span></a></h3>\n<p><strong>Type:</strong> <code>Boolean</code></p>\n<p><strong>Default:</strong> <code>false</code></p>\n<p>Reduce the amount of console logging.</p>\n<pre><code class="hljs language-js">plugins<span class="token punctuation">:</span> <span class="token punctuation">[</span>\n <span class="token keyword">new</span> <span class="token class-name">InstallPlugin</span><span class="token punctuation">(</span><span class="token punctuation">{</span>\n packageManager<span class="token punctuation">:</span> <span class="token punctuation">{</span>\n type<span class="token punctuation">:</span> <span class="token string">\'npm\'</span><span class="token punctuation">,</span>\n options<span class="token punctuation">:</span> <span class="token punctuation">{</span>\n quiet<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>\n <span class="token punctuation">}</span>\n <span class="token punctuation">}</span>\n <span class="token punctuation">}</span><span class="token punctuation">,</span>\n <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">,</span>\n<span class="token punctuation">]</span><span class="token punctuation">,</span></code></pre>\n<h2 id="prompt">prompt<a href="#prompt" aria-hidden="true"><span class="icon icon-link"></span></a></h2>\n<p><strong>Type:</strong> <code>Boolean</code></p>\n<p><strong>Default:</strong> <code>true</code></p>\n<p>Show a prompt to confirm installation.</p>\n<pre><code class="hljs language-js">plugins<span class="token punctuation">:</span> <span class="token punctuation">[</span>\n <span class="token keyword">new</span> <span class="token class-name">InstallPlugin</span><span class="token punctuation">(</span><span class="token punctuation">{</span>\n prompt<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>\n <span class="token punctuation">}</span><span class="token punctuation">,</span>\n <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">,</span>\n<span class="token punctuation">]</span><span class="token punctuation">,</span></code></pre>\n<h1 id="demo">Demo<a href="#demo" aria-hidden="true"><span class="icon icon-link"></span></a></h1>\n<p><img src="https://cloud.githubusercontent.com/assets/15182/12540538/6a4e8f1a-c2d0-11e5-97ee-4ddaf6892645.gif" alt="install-webpack-plugin demo"></p>\n<h1 id="features">Features<a href="#features" aria-hidden="true"><span class="icon icon-link"></span></a></h1>\n<ul>\n<li class="task-list-item"><input type="checkbox" checked disabled> Works with webpack <code>^v5.0.0</code>.</li>\n<li class="task-list-item"><input type="checkbox" checked disabled> Auto-installs <code>.babelrc</code> plugins & presets.</li>\n<li class="task-list-item"><input type="checkbox" checked disabled> Supports both ES5 & ES6 Modules.\n(e.g. <code>require</code>, <code>import</code>)</li>\n<li class="task-list-item"><input type="checkbox" checked disabled> Supports Namespaced packages.\n(e.g. <code>@cycle/dom</code>)</li>\n<li class="task-list-item"><input type="checkbox" checked disabled> Supports Dot-delimited packages.\n(e.g. <code>lodash.capitalize</code>)</li>\n<li class="task-list-item"><input type="checkbox" checked disabled> Supports CSS imports.\n(e.g. <code>@import "~bootstrap"</code>)</li>\n<li class="task-list-item"><input type="checkbox" checked disabled> Supports webpack loaders.\n(e.g. <code>babel-loader</code>, <code>file-loader</code>, etc.)</li>\n<li class="task-list-item"><input type="checkbox" checked disabled> Supports inline webpack loaders.\n(e.g. <code>require("bundle?lazy!./App"</code>)</li>\n<li class="task-list-item"><input type="checkbox" checked disabled> Auto-installs missing <code>peerDependencies</code>.\n(e.g. <code>@cycle/core</code> will automatically install <code>rx@*</code>)</li>\n<li class="task-list-item"><input type="checkbox" checked disabled> Supports webpack\'s <code>resolve.alias</code> & <code>resolve.root</code> configuration.\n(e.g. <code>require("react")</code> can alias to <code>react-lite</code>)</li>\n</ul>\n<h2 id="contributing">Contributing<a href="#contributing" aria-hidden="true"><span class="icon icon-link"></span></a></h2>\n<p>Please take a moment to read our contributing guidelines if you haven\'t yet done so.</p>\n<p><a href="https://github.com/webpack-contrib/npm-install-webpack-plugin/blob/master/.github/CONTRIBUTING.md">CONTRIBUTING</a></p>\n'}}]);