From 75eef8876bb54e80f9493a544759493ed385d7e0 Mon Sep 17 00:00:00 2001 From: Felix Rabe Date: Sun, 15 Apr 2018 20:16:46 +0200 Subject: [PATCH 001/290] Fix confusing indentation --- index.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/index.js b/index.js index 55a357dc..5d6d28d0 100644 --- a/index.js +++ b/index.js @@ -162,12 +162,14 @@ class HtmlWebpackPlugin { }) // Allow plugins to make changes to the assets before invoking the template // This only makes sense to use if `inject` is `false` - .then(compilationResult => applyPluginsAsyncWaterfall('html-webpack-plugin-before-html-generation', false, { - assets: assets, - outputName: self.childCompilationOutputName, - plugin: self - }) - .then(() => compilationResult)) + .then(compilationResult => + applyPluginsAsyncWaterfall('html-webpack-plugin-before-html-generation', false, { + assets: assets, + outputName: self.childCompilationOutputName, + plugin: self + }) + .then(() => compilationResult) + ) // Execute the template .then(compilationResult => typeof compilationResult !== 'function' ? compilationResult From 5ef3e3a8608d9006e076560a57145f3a96d85cb9 Mon Sep 17 00:00:00 2001 From: Fangzhou Li Date: Fri, 27 Apr 2018 05:18:46 +0800 Subject: [PATCH 002/290] correct readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 42607545..1f3de824 100644 --- a/README.md +++ b/README.md @@ -109,14 +109,14 @@ Allowed values are as follows |Name|Type|Default|Description| |:--:|:--:|:-----:|:----------| -|**[`title`](#)**|`{String}`|``|The title to use for the generated HTML document| +|**[`title`](#)**|`{String}`|`Webpack App`|The title to use for the generated HTML document| |**[`filename`](#)**|`{String}`|`'index.html'`|The file to write the HTML to. Defaults to `index.html`. You can specify a subdirectory here too (eg: `assets/admin.html`)| |**[`template`](#)**|`{String}`|``|`webpack` require path to the template. Please see the [docs](https://github.com/jantimon/html-webpack-plugin/blob/master/docs/template-option.md) for details| |**[`templateParameters`](#)**|`{Boolean\|Object\|Function}`|``| Allows to overwrite the parameters used in the template | |**[`inject`](#)**|`{Boolean\|String}`|`true`|`true \|\| 'head' \|\| 'body' \|\| false` Inject all assets into the given `template` or `templateContent`. When passing `true` or `'body'` all javascript resources will be placed at the bottom of the body element. `'head'` will place the scripts in the head element| |**[`favicon`](#)**|`{String}`|``|Adds the given favicon path to the output HTML| |**[`meta`](#)**|`{Object}`|`{}`|Allows to inject `meta`-tags. E.g. `meta: {viewport: 'width=device-width, initial-scale=1, shrink-to-fit=no'}`| -|**[`minify`](#)**|`{Boolean\|Object}`|`true`|Pass [html-minifier](https://github.com/kangax/html-minifier#options-quick-reference)'s options as object to minify the output| +|**[`minify`](#)**|`{Boolean\|Object}`|`false`|Pass [html-minifier](https://github.com/kangax/html-minifier#options-quick-reference)'s options as object to minify the output| |**[`hash`](#)**|`{Boolean}`|`false`|If `true` then append a unique `webpack` compilation hash to all included scripts and CSS files. This is useful for cache busting| |**[`cache`](#)**|`{Boolean}`|`true`|Emit the file only if it was changed| |**[`showErrors`](#)**|`{Boolean}`|`true`|Errors details will be written into the HTML page| From 3ddd64e636c1174d81c5040ec7c9560ad728c90a Mon Sep 17 00:00:00 2001 From: Patrick Metcalfe Date: Thu, 26 Apr 2018 12:53:15 -0700 Subject: [PATCH 003/290] Fix Typo --- lib/loader.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/loader.js b/lib/loader.js index c1062d1f..e3836123 100644 --- a/lib/loader.js +++ b/lib/loader.js @@ -21,7 +21,7 @@ module.exports = function (source) { return source; } - // The following part renders the tempalte with lodash as aminimalistic loader + // The following part renders the template with lodash as aminimalistic loader // // Get templating options const options = this.query !== '' ? loaderUtils.parseQuery(this.query) : {}; From a3ef51493d10c6b5f48b82504c9868d182944da3 Mon Sep 17 00:00:00 2001 From: Josh Unger Date: Tue, 1 May 2018 07:01:07 -0400 Subject: [PATCH 004/290] Add -loader suffix to handlerbars It's no longer allowed to omit the '-loader' suffix when using loaders. You need to specify 'handlebars-loader' instead of 'handlebars', see https://webpack.js.org/guides/migrating/#automatic-loader-module-name-extension-removed --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1f3de824..ddde40f6 100644 --- a/README.md +++ b/README.md @@ -204,7 +204,7 @@ Please note that this will also happen if you specifiy the html-loader and use ` ```js module: { loaders: [ - { test: /\.hbs$/, loader: "handlebars" } + { test: /\.hbs$/, loader: "handlebars-loader" } ] }, plugins: [ From b4312f97fb0764131721ea3cc76c5b2afbae0352 Mon Sep 17 00:00:00 2001 From: Thomas Kelly Date: Thu, 3 May 2018 05:22:30 -0400 Subject: [PATCH 005/290] Update README with Tapable.hooks example (#941) Webpack v4 deprecates the use of `Tapable.plugin()`. This plugin was updated to use `Tapable.hooks`, but the example in the README was not. --- README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index ddde40f6..d7d3b2dd 100644 --- a/README.md +++ b/README.md @@ -289,17 +289,17 @@ plugins: [ To allow other [plugins](https://github.com/webpack/docs/wiki/plugins) to alter the HTML this plugin executes the following events: -#### `Sync` +#### `SyncWaterfallHook` -* `html-webpack-plugin-alter-chunks` +* `htmlWebpackPluginAlterChunks` -#### `Async` +#### `AsyncSeriesWaterfallHook` -* `html-webpack-plugin-before-html-generation` -* `html-webpack-plugin-before-html-processing` -* `html-webpack-plugin-alter-asset-tags` -* `html-webpack-plugin-after-html-processing` -* `html-webpack-plugin-after-emit` +* `htmlWebpackPluginBeforeHtmlGeneration` +* `htmlWebpackPluginBeforeHtmlProcessing` +* `htmlWebpackPluginAlterAssetTags` +* `htmlWebpackPluginAfterHtmlProcessing` +* `htmlWebpackPluginAfterEmit` Example implementation: [html-webpack-harddisk-plugin](https://github.com/jantimon/html-webpack-harddisk-plugin) @@ -310,11 +310,11 @@ function MyPlugin(options) { } MyPlugin.prototype.apply = function (compiler) { - compiler.plugin('compilation', (compilation) => { + compiler.hooks.compilation.tap('MyPlugin', (compilation) => { console.log('The compiler is starting a new compilation...'); - compilation.plugin( - 'html-webpack-plugin-before-html-processing', + compilation.hooks.htmlWebpackPluginAfterHtmlProcessing.tapAsync( + 'MyPlugin', (data, cb) => { data.html += 'The Magic Footer' From 3b9cd763f578505796e63e1e41c6465eb720b532 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Wed, 30 May 2018 12:55:04 +0200 Subject: [PATCH 006/290] chore(Add lock-bot): --- .github/lock.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .github/lock.yml diff --git a/.github/lock.yml b/.github/lock.yml new file mode 100644 index 00000000..e269b306 --- /dev/null +++ b/.github/lock.yml @@ -0,0 +1,24 @@ +# Configuration for lock-threads - https://github.com/dessant/lock-threads + +# Issues and pull requests with these labels will not be locked. Set to `[]` to disable +exemptLabels: [] + +# Label to add before locking, such as `outdated`. Set to `false` to disable +lockLabel: false + +issues: + # Comment to post before locking. Set to `false` to disable + lockComment: > + This issue has been automatically locked since there has not been + any recent activity after it was closed. Please [open a new issue](https://github.com/jantimon/html-webpack-plugin/issues/new) for + related bugs. + # Number of days of inactivity before a closed issue or pull request is locked + daysUntilLock: 180 + +pulls: + daysUntilLock: 30 + # Comment to post before locking. Set to `false` to disable + lockComment: > + This pull request has been automatically locked since there has not been + any recent activity after it was closed. Please [open a new issue](https://github.com/jantimon/html-webpack-plugin/issues/new) for + related bugs. \ No newline at end of file From 77eb30330ce31bf25863a691d6df234c6788c462 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Wed, 30 May 2018 13:13:50 +0200 Subject: [PATCH 007/290] Update issue templates --- .github/ISSUE_TEMPLATE/bug_report.md | 70 +++++++++++++++++++++++ .github/ISSUE_TEMPLATE/feature_request.md | 17 ++++++ 2 files changed, 87 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 00000000..cf6aaa0b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,70 @@ +--- +name: Bug report +about: Create a report to help us improve + +--- + +## Expected behaviour + +Tell us what you would expect the html-webpack-plugin should. + +## Current behaviour + +Tell us what the html-webpack-plugin does instead. + +## Environment + +Tell us which operating system you are using, as well as which versions of Node.js, npm, webpack, and html-webpack-plugin. Run the following to get it quickly: + +``` +node -e "var os=require('os');console.log('Node.js ' + process.version + '\n' + os.platform() + ' ' + os.release())" +npm --version +npm ls webpack +npm ls html-webpack-plugin +``` + +### Config + +Copy the minimal `webpack.config.js` to produce this issue: + + +```js +module.exports = { + entry: 'app.js', + output: { + path: 'dist', + filename: 'index_bundle.js' + }, + module: { + rules: [ + ... + ] + } + plugins: [ + new HtmlWebpackPlugin(), + ... + ] +} +``` + +Copy your template file if it is part of this issue: + +```html + + + + My App + + + + +``` + +## Relevant Links + +- If your project is public, link to the repo so we can investigate directly. +- **BONUS POINTS:** Create a [minimal reproduction](http://stackoverflow.com/help/mcve) and upload it to GitHub. This will get you the fastest support. + +## Additional contex + +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 00000000..066b2d92 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,17 @@ +--- +name: Feature request +about: Suggest an idea for this project + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. From ae52f5e51f6b4de886c23049bc4c3cc2245e11f9 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Wed, 30 May 2018 13:56:51 +0200 Subject: [PATCH 008/290] chore: Add stale config --- .github/stale.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 .github/stale.yml diff --git a/.github/stale.yml b/.github/stale.yml new file mode 100644 index 00000000..8d61aee8 --- /dev/null +++ b/.github/stale.yml @@ -0,0 +1,16 @@ +# Number of days of inactivity before an issue becomes stale +daysUntilStale: 180 +# Number of days of inactivity before a stale issue is closed +daysUntilClose: 15 +# Issues with these labels will never be considered stale +exemptLabels: + - pinned + - security +# Label to use when marking an issue as stale +staleLabel: wontfix +# Comment to post when marking an issue as stale. Set to `false` to disable +markComment: > + **This issue had no activity for at least half a year.** + It's subject to automatic issue closing if there is no activity in the next 15 days. +# Comment to post when closing a stale issue. Set to `false` to disable +closeComment: false \ No newline at end of file From 3c51d2c88a5d3b1a083170ea471cd00eeca0d212 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Thu, 31 May 2018 09:07:09 +0200 Subject: [PATCH 009/290] Update lock bot --- .github/lock.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/lock.yml b/.github/lock.yml index e269b306..fd3262dc 100644 --- a/.github/lock.yml +++ b/.github/lock.yml @@ -6,14 +6,14 @@ exemptLabels: [] # Label to add before locking, such as `outdated`. Set to `false` to disable lockLabel: false -issues: - # Comment to post before locking. Set to `false` to disable - lockComment: > - This issue has been automatically locked since there has not been - any recent activity after it was closed. Please [open a new issue](https://github.com/jantimon/html-webpack-plugin/issues/new) for - related bugs. - # Number of days of inactivity before a closed issue or pull request is locked - daysUntilLock: 180 +# Comment to post before locking. Set to `false` to disable +lockComment: > + This issue has been automatically locked since there has not been + any recent activity after it was closed. Please [open a new issue](https://github.com/jantimon/html-webpack-plugin/issues/new) for + related bugs. + +# Number of days of inactivity before a closed issue or pull request is locked +daysUntilLock: 180 pulls: daysUntilLock: 30 @@ -21,4 +21,4 @@ pulls: lockComment: > This pull request has been automatically locked since there has not been any recent activity after it was closed. Please [open a new issue](https://github.com/jantimon/html-webpack-plugin/issues/new) for - related bugs. \ No newline at end of file + related bugs. From 1b55838758ff64333fbef1472b849e20877de0c4 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Thu, 31 May 2018 09:21:30 +0200 Subject: [PATCH 010/290] Update lock.yml --- .github/lock.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/lock.yml b/.github/lock.yml index fd3262dc..57756030 100644 --- a/.github/lock.yml +++ b/.github/lock.yml @@ -13,11 +13,9 @@ lockComment: > related bugs. # Number of days of inactivity before a closed issue or pull request is locked -daysUntilLock: 180 +daysUntilLock: 30 pulls: - daysUntilLock: 30 - # Comment to post before locking. Set to `false` to disable lockComment: > This pull request has been automatically locked since there has not been any recent activity after it was closed. Please [open a new issue](https://github.com/jantimon/html-webpack-plugin/issues/new) for From a0a0f0dc755fbc3249aa2e1d1c6a4dd307ab8e8a Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Tue, 20 Mar 2018 11:32:21 +0100 Subject: [PATCH 011/290] fix(loader): switch to loaderUtils.getOptions BREAKING CHANGE: switch to loaderUtils getOptions --- lib/loader.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/loader.js b/lib/loader.js index e3836123..910dabf6 100644 --- a/lib/loader.js +++ b/lib/loader.js @@ -24,7 +24,7 @@ module.exports = function (source) { // The following part renders the template with lodash as aminimalistic loader // // Get templating options - const options = this.query !== '' ? loaderUtils.parseQuery(this.query) : {}; + const options = this.query !== '' ? loaderUtils.getOptions(this) : {}; const template = _.template(source, _.defaults(options, { variable: 'data' })); // Require !!lodash - using !! will disable all loaders (e.g. babel) return 'var _ = require(' + loaderUtils.stringifyRequest(this, '!!' + require.resolve('lodash')) + ');' + From 22fb03fb17fdb37d5ce6de00af154b5575a02d3a Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Tue, 20 Mar 2018 11:33:26 +0100 Subject: [PATCH 012/290] fix(chunksorter): Don't sort chunks by default BREAKING CHANGE: Chunks aren't sorted anymore by default --- lib/chunksorter.js | 105 +-------------------------------------------- spec/BasicSpec.js | 61 -------------------------- 2 files changed, 1 insertion(+), 165 deletions(-) diff --git a/lib/chunksorter.js b/lib/chunksorter.js index 36b5c9a9..d9b87cd4 100644 --- a/lib/chunksorter.js +++ b/lib/chunksorter.js @@ -1,101 +1,5 @@ 'use strict'; -const toposort = require('toposort'); -const _ = require('lodash'); - -/** - Sorts dependencies between chunks by their "parents" attribute. - - This function sorts chunks based on their dependencies with each other. - The parent relation between chunks as generated by Webpack for each chunk - is used to define a directed (and hopefully acyclic) graph, which is then - topologically sorted in order to retrieve the correct order in which - chunks need to be embedded into HTML. A directed edge in this graph is - describing a "is parent of" relationship from a chunk to another (distinct) - chunk. Thus topological sorting orders chunks from bottom-layer chunks to - highest level chunks that use the lower-level chunks. - - @param {Array} chunks an array of chunks as generated by the html-webpack-plugin. - - For webpack < 4, It is assumed that each entry contains at least the properties - "id" (containing the chunk id) and "parents" (array containing the ids of the - parent chunks). - - For webpack 4+ the see the chunkGroups param for parent-child relationships - - @param {Array} chunks an array of ChunkGroups that has a getParents method. - Each ChunkGroup contains a list of chunks in order. - - @return {Array} A topologically sorted version of the input chunks -*/ -module.exports.dependency = (chunks, options, compilation) => { - const chunkGroups = compilation.chunkGroups; - if (!chunks) { - return chunks; - } - - // We build a map (chunk-id -> chunk) for faster access during graph building. - const nodeMap = {}; - - chunks.forEach(chunk => { - nodeMap[chunk.id] = chunk; - }); - - // Next, we add an edge for each parent relationship into the graph - let edges = []; - - if (chunkGroups) { - // Add an edge for each parent (parent -> child) - edges = chunkGroups.reduce((result, chunkGroup) => result.concat( - Array.from(chunkGroup.parentsIterable, parentGroup => [parentGroup, chunkGroup]) - ), []); - const sortedGroups = toposort.array(chunkGroups, edges); - // flatten chunkGroup into chunks - const sortedChunks = sortedGroups - .reduce((result, chunkGroup) => result.concat(chunkGroup.chunks), []) - .map(chunk => // use the chunk from the list passed in, since it may be a filtered list - nodeMap[chunk.id]) - .filter((chunk, index, self) => { - // make sure exists (ie excluded chunks not in nodeMap) - const exists = !!chunk; - // make sure we have a unique list - const unique = self.indexOf(chunk) === index; - return exists && unique; - }); - return sortedChunks; - } else { - // before webpack 4 there was no chunkGroups - chunks.forEach(chunk => { - if (chunk.parents) { - // Add an edge for each parent (parent -> child) - chunk.parents.forEach(parentId => { - // webpack2 chunk.parents are chunks instead of string id(s) - const parentChunk = _.isObject(parentId) ? parentId : nodeMap[parentId]; - // If the parent chunk does not exist (e.g. because of an excluded chunk) - // we ignore that parent - if (parentChunk) { - edges.push([parentChunk, chunk]); - } - }); - } - }); - // We now perform a topological sorting on the input chunks and built edges - return toposort.array(chunks, edges); - } -}; - -/** - * Sorts the chunks based on the chunk id. - * - * @param {Array} chunks the list of chunks to sort - * @return {Array} The sorted list of chunks - */ -module.exports.id = chunks => chunks.sort(function orderEntryLast (a, b) { - if (a.entry !== b.entry) { - return b.entry ? 1 : -1; - } else { - return b.id - a.id; - } -}); - /** * Performs identity mapping (no-sort). * @param {Array} chunks the chunks to sort @@ -129,11 +33,4 @@ module.exports.manual = (chunks, options) => { /** * Defines the default sorter. */ -module.exports.auto = module.exports.id; - -// In webpack 2 the ids have been flipped. -// Therefore the id sort doesn't work the same way as it did for webpack 1 -// Luckily the dependency sort is working as expected -if (Number(require('webpack/package.json').version.split('.')[0]) > 1) { - module.exports.auto = module.exports.dependency; -} +module.exports.auto = module.exports.none; diff --git a/spec/BasicSpec.js b/spec/BasicSpec.js index a5b5861a..20949fb5 100644 --- a/spec/BasicSpec.js +++ b/spec/BasicSpec.js @@ -1546,67 +1546,6 @@ describe('HtmlWebpackPlugin', function () { }, [/ \ No newline at end of file diff --git a/examples/appcache/dist/webpack-1/manifest.appcache b/examples/appcache/dist/webpack-1/manifest.appcache deleted file mode 100644 index 95445d58..00000000 --- a/examples/appcache/dist/webpack-1/manifest.appcache +++ /dev/null @@ -1,9 +0,0 @@ -CACHE MANIFEST -# f688cbdde5a6e721015e - -0714810ae3fb211173e2964249507195.png -bundle.js -styles.css - -NETWORK: -* diff --git a/examples/appcache/dist/webpack-1/styles.css b/examples/appcache/dist/webpack-1/styles.css deleted file mode 100644 index 232a2cdb..00000000 --- a/examples/appcache/dist/webpack-1/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} \ No newline at end of file diff --git a/examples/appcache/dist/webpack-2/0714810ae3fb211173e2964249507195.png b/examples/appcache/dist/webpack-2/0714810ae3fb211173e2964249507195.png deleted file mode 100644 index d71b3d789f45d8f124a1fde57a36e55855a6dcb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54055 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 Duf!qe diff --git a/examples/appcache/dist/webpack-2/bundle.js b/examples/appcache/dist/webpack-2/bundle.js deleted file mode 100644 index 0d7adbe8..00000000 --- a/examples/appcache/dist/webpack-2/bundle.js +++ /dev/null @@ -1,86 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // identity function for calling harmony imports with the correct context -/******/ __webpack_require__.i = function(value) { return value; }; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 1); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports) { - -// removed by extract-text-webpack-plugin - -/***/ }), -/* 1 */ -/***/ (function(module, exports, __webpack_require__) { - -__webpack_require__(0); -var h1 = document.createElement('h1'); -h1.innerHTML = 'Hello world!'; -document.body.appendChild(h1); - - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/appcache/dist/webpack-2/index.html b/examples/appcache/dist/webpack-2/index.html deleted file mode 100644 index 536e8a47..00000000 --- a/examples/appcache/dist/webpack-2/index.html +++ /dev/null @@ -1 +0,0 @@ -Example template \ No newline at end of file diff --git a/examples/appcache/dist/webpack-2/manifest.appcache b/examples/appcache/dist/webpack-2/manifest.appcache deleted file mode 100644 index 29e22b40..00000000 --- a/examples/appcache/dist/webpack-2/manifest.appcache +++ /dev/null @@ -1,9 +0,0 @@ -CACHE MANIFEST -# 737de2033617f9f6144d - -0714810ae3fb211173e2964249507195.png -bundle.js -styles.css - -NETWORK: -* diff --git a/examples/appcache/dist/webpack-2/styles.css b/examples/appcache/dist/webpack-2/styles.css deleted file mode 100644 index 232a2cdb..00000000 --- a/examples/appcache/dist/webpack-2/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} \ No newline at end of file diff --git a/examples/appcache/dist/webpack-3/0714810ae3fb211173e2964249507195.png b/examples/appcache/dist/webpack-3/0714810ae3fb211173e2964249507195.png deleted file mode 100644 index d71b3d789f45d8f124a1fde57a36e55855a6dcb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54055 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 Duf!qe diff --git a/examples/appcache/dist/webpack-3/bundle.js b/examples/appcache/dist/webpack-3/bundle.js deleted file mode 100644 index 2d1b6065..00000000 --- a/examples/appcache/dist/webpack-3/bundle.js +++ /dev/null @@ -1,83 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { - -__webpack_require__(1); -var h1 = document.createElement('h1'); -h1.innerHTML = 'Hello world!'; -document.body.appendChild(h1); - - -/***/ }), -/* 1 */ -/***/ (function(module, exports) { - -// removed by extract-text-webpack-plugin - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/appcache/dist/webpack-3/index.html b/examples/appcache/dist/webpack-3/index.html deleted file mode 100644 index 536e8a47..00000000 --- a/examples/appcache/dist/webpack-3/index.html +++ /dev/null @@ -1 +0,0 @@ -Example template \ No newline at end of file diff --git a/examples/appcache/dist/webpack-3/manifest.appcache b/examples/appcache/dist/webpack-3/manifest.appcache deleted file mode 100644 index 04bdd6db..00000000 --- a/examples/appcache/dist/webpack-3/manifest.appcache +++ /dev/null @@ -1,9 +0,0 @@ -CACHE MANIFEST -# eda37a6c6de5fd0ecfbe - -0714810ae3fb211173e2964249507195.png -bundle.js -styles.css - -NETWORK: -* diff --git a/examples/appcache/dist/webpack-3/styles.css b/examples/appcache/dist/webpack-3/styles.css deleted file mode 100644 index 232a2cdb..00000000 --- a/examples/appcache/dist/webpack-3/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} \ No newline at end of file diff --git a/examples/custom-template/dist/webpack-1/0714810ae3fb211173e2964249507195.png b/examples/custom-template/dist/webpack-1/0714810ae3fb211173e2964249507195.png deleted file mode 100644 index d71b3d789f45d8f124a1fde57a36e55855a6dcb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54055 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 Duf!qe diff --git a/examples/custom-template/dist/webpack-1/bundle.js b/examples/custom-template/dist/webpack-1/bundle.js deleted file mode 100644 index 6158f610..00000000 --- a/examples/custom-template/dist/webpack-1/bundle.js +++ /dev/null @@ -1,60 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; - -/******/ // The require function -/******/ function __webpack_require__(moduleId) { - -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) -/******/ return installedModules[moduleId].exports; - -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ exports: {}, -/******/ id: moduleId, -/******/ loaded: false -/******/ }; - -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); - -/******/ // Flag the module as loaded -/******/ module.loaded = true; - -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } - - -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; - -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; - -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; - -/******/ // Load entry module and return exports -/******/ return __webpack_require__(0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { - - __webpack_require__(1); - var h1 = document.createElement('h1'); - h1.innerHTML = 'Hello world!'; - document.body.appendChild(h1); - - -/***/ }), -/* 1 */ -/***/ (function(module, exports) { - - // removed by extract-text-webpack-plugin - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/custom-template/dist/webpack-1/index.html b/examples/custom-template/dist/webpack-1/index.html deleted file mode 100644 index d68bf441..00000000 --- a/examples/custom-template/dist/webpack-1/index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - Webpack App - - - -

Partial

- - - diff --git a/examples/custom-template/dist/webpack-1/styles.css b/examples/custom-template/dist/webpack-1/styles.css deleted file mode 100644 index 232a2cdb..00000000 --- a/examples/custom-template/dist/webpack-1/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} \ No newline at end of file diff --git a/examples/custom-template/dist/webpack-2/0714810ae3fb211173e2964249507195.png b/examples/custom-template/dist/webpack-2/0714810ae3fb211173e2964249507195.png deleted file mode 100644 index d71b3d789f45d8f124a1fde57a36e55855a6dcb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54055 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 Duf!qe diff --git a/examples/custom-template/dist/webpack-2/bundle.js b/examples/custom-template/dist/webpack-2/bundle.js deleted file mode 100644 index 0d7adbe8..00000000 --- a/examples/custom-template/dist/webpack-2/bundle.js +++ /dev/null @@ -1,86 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // identity function for calling harmony imports with the correct context -/******/ __webpack_require__.i = function(value) { return value; }; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 1); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports) { - -// removed by extract-text-webpack-plugin - -/***/ }), -/* 1 */ -/***/ (function(module, exports, __webpack_require__) { - -__webpack_require__(0); -var h1 = document.createElement('h1'); -h1.innerHTML = 'Hello world!'; -document.body.appendChild(h1); - - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/custom-template/dist/webpack-2/index.html b/examples/custom-template/dist/webpack-2/index.html deleted file mode 100644 index d68bf441..00000000 --- a/examples/custom-template/dist/webpack-2/index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - Webpack App - - - -

Partial

- - - diff --git a/examples/custom-template/dist/webpack-2/styles.css b/examples/custom-template/dist/webpack-2/styles.css deleted file mode 100644 index 232a2cdb..00000000 --- a/examples/custom-template/dist/webpack-2/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} \ No newline at end of file diff --git a/examples/custom-template/dist/webpack-3/0714810ae3fb211173e2964249507195.png b/examples/custom-template/dist/webpack-3/0714810ae3fb211173e2964249507195.png deleted file mode 100644 index d71b3d789f45d8f124a1fde57a36e55855a6dcb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54055 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 Duf!qe diff --git a/examples/custom-template/dist/webpack-3/bundle.js b/examples/custom-template/dist/webpack-3/bundle.js deleted file mode 100644 index 2d1b6065..00000000 --- a/examples/custom-template/dist/webpack-3/bundle.js +++ /dev/null @@ -1,83 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { - -__webpack_require__(1); -var h1 = document.createElement('h1'); -h1.innerHTML = 'Hello world!'; -document.body.appendChild(h1); - - -/***/ }), -/* 1 */ -/***/ (function(module, exports) { - -// removed by extract-text-webpack-plugin - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/custom-template/dist/webpack-3/index.html b/examples/custom-template/dist/webpack-3/index.html deleted file mode 100644 index d68bf441..00000000 --- a/examples/custom-template/dist/webpack-3/index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - Webpack App - - - -

Partial

- - - diff --git a/examples/custom-template/dist/webpack-3/styles.css b/examples/custom-template/dist/webpack-3/styles.css deleted file mode 100644 index 232a2cdb..00000000 --- a/examples/custom-template/dist/webpack-3/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} \ No newline at end of file diff --git a/examples/default/dist/webpack-1/bundle.js b/examples/default/dist/webpack-1/bundle.js deleted file mode 100644 index bf939069..00000000 --- a/examples/default/dist/webpack-1/bundle.js +++ /dev/null @@ -1,402 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; - -/******/ // The require function -/******/ function __webpack_require__(moduleId) { - -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) -/******/ return installedModules[moduleId].exports; - -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ exports: {}, -/******/ id: moduleId, -/******/ loaded: false -/******/ }; - -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); - -/******/ // Flag the module as loaded -/******/ module.loaded = true; - -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } - - -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; - -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; - -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; - -/******/ // Load entry module and return exports -/******/ return __webpack_require__(0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { - - __webpack_require__(1); - var h1 = document.createElement('h1'); - h1.innerHTML = 'Hello world!'; - document.body.appendChild(h1); - - -/***/ }), -/* 1 */ -/***/ (function(module, exports, __webpack_require__) { - - // style-loader: Adds some css to the DOM by adding a \ No newline at end of file diff --git a/examples/inline/dist/webpack-1/styles.css b/examples/inline/dist/webpack-1/styles.css deleted file mode 100644 index 232a2cdb..00000000 --- a/examples/inline/dist/webpack-1/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} \ No newline at end of file diff --git a/examples/inline/dist/webpack-2/bundle.js b/examples/inline/dist/webpack-2/bundle.js deleted file mode 100644 index 4cd14355..00000000 --- a/examples/inline/dist/webpack-2/bundle.js +++ /dev/null @@ -1,87 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // identity function for calling harmony imports with the correct context -/******/ __webpack_require__.i = function(value) { return value; }; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 1); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports) { - -// removed by extract-text-webpack-plugin - -/***/ }), -/* 1 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -__webpack_require__(0); - -console.log('Hello World'); - - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/inline/dist/webpack-2/favicon.ico b/examples/inline/dist/webpack-2/favicon.ico deleted file mode 100644 index be74abd69ad6a32de7375df13cab9354798e328f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 766 zcmc(dze~eV5XUd2fg&jH87YDYDQKxq1{4b-_ydP-wqS9vgGh17QXQQAwOE{VaBvi* zmu^z9t({y-&1ey8Y_x;?x+`BviV9;aRjMgZ8M*!jgkRrFqSI9;F zHyfX@Az|AvVmn~YWWZP`0&JWEY~BFm?*Vq}VD7&_%x%MP$p`D`4JMC!K|B7pt?Mmp zUJAB7rxMXS6=!P+AtLU9V)J#61WPxwipRXCHO{BJ`l{m53#=t97a!znv~vfmr|AaP zRGIT7#0FyJy3Z*hL{GQp-0TRhX8UzZ)+>%?mK0^goaX4Q;xJade demo \ No newline at end of file diff --git a/examples/inline/dist/webpack-2/styles.css b/examples/inline/dist/webpack-2/styles.css deleted file mode 100644 index 232a2cdb..00000000 --- a/examples/inline/dist/webpack-2/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} \ No newline at end of file diff --git a/examples/inline/dist/webpack-3/bundle.js b/examples/inline/dist/webpack-3/bundle.js deleted file mode 100644 index f719ff9a..00000000 --- a/examples/inline/dist/webpack-3/bundle.js +++ /dev/null @@ -1,84 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -__webpack_require__(1); - -console.log('Hello World'); - - -/***/ }), -/* 1 */ -/***/ (function(module, exports) { - -// removed by extract-text-webpack-plugin - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/inline/dist/webpack-3/favicon.ico b/examples/inline/dist/webpack-3/favicon.ico deleted file mode 100644 index be74abd69ad6a32de7375df13cab9354798e328f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 766 zcmc(dze~eV5XUd2fg&jH87YDYDQKxq1{4b-_ydP-wqS9vgGh17QXQQAwOE{VaBvi* zmu^z9t({y-&1ey8Y_x;?x+`BviV9;aRjMgZ8M*!jgkRrFqSI9;F zHyfX@Az|AvVmn~YWWZP`0&JWEY~BFm?*Vq}VD7&_%x%MP$p`D`4JMC!K|B7pt?Mmp zUJAB7rxMXS6=!P+AtLU9V)J#61WPxwipRXCHO{BJ`l{m53#=t97a!znv~vfmr|AaP zRGIT7#0FyJy3Z*hL{GQp-0TRhX8UzZ)+>%?mK0^goaX4Q;xJade demo \ No newline at end of file diff --git a/examples/inline/dist/webpack-3/styles.css b/examples/inline/dist/webpack-3/styles.css deleted file mode 100644 index 232a2cdb..00000000 --- a/examples/inline/dist/webpack-3/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} \ No newline at end of file diff --git a/examples/jade-loader/dist/webpack-1/0714810ae3fb211173e2964249507195.png b/examples/jade-loader/dist/webpack-1/0714810ae3fb211173e2964249507195.png deleted file mode 100644 index d71b3d789f45d8f124a1fde57a36e55855a6dcb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54055 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 Duf!qe diff --git a/examples/jade-loader/dist/webpack-1/bundle.js b/examples/jade-loader/dist/webpack-1/bundle.js deleted file mode 100644 index 555e7866..00000000 --- a/examples/jade-loader/dist/webpack-1/bundle.js +++ /dev/null @@ -1,347 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; - -/******/ // The require function -/******/ function __webpack_require__(moduleId) { - -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) -/******/ return installedModules[moduleId].exports; - -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ exports: {}, -/******/ id: moduleId, -/******/ loaded: false -/******/ }; - -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); - -/******/ // Flag the module as loaded -/******/ module.loaded = true; - -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } - - -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; - -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; - -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; - -/******/ // Load entry module and return exports -/******/ return __webpack_require__(0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { - - 'use strict'; - __webpack_require__(1); - // Use the same template for the frontend code - var template = __webpack_require__(5); - - setInterval(function () { - var div = document.getElementById('main'); - div.innerHTML = template({ time: new Date() }); - div.style.color = 'navy'; - }, 1000); - - -/***/ }), -/* 1 */ -/***/ (function(module, exports) { - - // removed by extract-text-webpack-plugin - -/***/ }), -/* 2 */, -/* 3 */, -/* 4 */, -/* 5 */ -/***/ (function(module, exports, __webpack_require__) { - - var jade = __webpack_require__(6); - - module.exports = function template(locals) { - var buf = []; - var jade_mixins = {}; - var jade_interp; - ;var locals_for_with = (locals || {});(function (time) { - buf.push("
Current time

" + (jade.escape((jade_interp = time.toISOString()) == null ? '' : jade_interp)) + "

");}.call(this,"time" in locals_for_with?locals_for_with.time:typeof time!=="undefined"?time:undefined));;return buf.join(""); - } - -/***/ }), -/* 6 */ -/***/ (function(module, exports, __webpack_require__) { - - 'use strict'; - - /** - * Merge two attribute objects giving precedence - * to values in object `b`. Classes are special-cased - * allowing for arrays and merging/joining appropriately - * resulting in a string. - * - * @param {Object} a - * @param {Object} b - * @return {Object} a - * @api private - */ - - exports.merge = function merge(a, b) { - if (arguments.length === 1) { - var attrs = a[0]; - for (var i = 1; i < a.length; i++) { - attrs = merge(attrs, a[i]); - } - return attrs; - } - var ac = a['class']; - var bc = b['class']; - - if (ac || bc) { - ac = ac || []; - bc = bc || []; - if (!Array.isArray(ac)) ac = [ac]; - if (!Array.isArray(bc)) bc = [bc]; - a['class'] = ac.concat(bc).filter(nulls); - } - - for (var key in b) { - if (key != 'class') { - a[key] = b[key]; - } - } - - return a; - }; - - /** - * Filter null `val`s. - * - * @param {*} val - * @return {Boolean} - * @api private - */ - - function nulls(val) { - return val != null && val !== ''; - } - - /** - * join array as classes. - * - * @param {*} val - * @return {String} - */ - exports.joinClasses = joinClasses; - function joinClasses(val) { - return (Array.isArray(val) ? val.map(joinClasses) : - (val && typeof val === 'object') ? Object.keys(val).filter(function (key) { return val[key]; }) : - [val]).filter(nulls).join(' '); - } - - /** - * Render the given classes. - * - * @param {Array} classes - * @param {Array.} escaped - * @return {String} - */ - exports.cls = function cls(classes, escaped) { - var buf = []; - for (var i = 0; i < classes.length; i++) { - if (escaped && escaped[i]) { - buf.push(exports.escape(joinClasses([classes[i]]))); - } else { - buf.push(joinClasses(classes[i])); - } - } - var text = joinClasses(buf); - if (text.length) { - return ' class="' + text + '"'; - } else { - return ''; - } - }; - - - exports.style = function (val) { - if (val && typeof val === 'object') { - return Object.keys(val).map(function (style) { - return style + ':' + val[style]; - }).join(';'); - } else { - return val; - } - }; - /** - * Render the given attribute. - * - * @param {String} key - * @param {String} val - * @param {Boolean} escaped - * @param {Boolean} terse - * @return {String} - */ - exports.attr = function attr(key, val, escaped, terse) { - if (key === 'style') { - val = exports.style(val); - } - if ('boolean' == typeof val || null == val) { - if (val) { - return ' ' + (terse ? key : key + '="' + key + '"'); - } else { - return ''; - } - } else if (0 == key.indexOf('data') && 'string' != typeof val) { - if (JSON.stringify(val).indexOf('&') !== -1) { - console.warn('Since Jade 2.0.0, ampersands (`&`) in data attributes ' + - 'will be escaped to `&`'); - }; - if (val && typeof val.toISOString === 'function') { - console.warn('Jade will eliminate the double quotes around dates in ' + - 'ISO form after 2.0.0'); - } - return ' ' + key + "='" + JSON.stringify(val).replace(/'/g, ''') + "'"; - } else if (escaped) { - if (val && typeof val.toISOString === 'function') { - console.warn('Jade will stringify dates in ISO form after 2.0.0'); - } - return ' ' + key + '="' + exports.escape(val) + '"'; - } else { - if (val && typeof val.toISOString === 'function') { - console.warn('Jade will stringify dates in ISO form after 2.0.0'); - } - return ' ' + key + '="' + val + '"'; - } - }; - - /** - * Render the given attributes object. - * - * @param {Object} obj - * @param {Object} escaped - * @return {String} - */ - exports.attrs = function attrs(obj, terse){ - var buf = []; - - var keys = Object.keys(obj); - - if (keys.length) { - for (var i = 0; i < keys.length; ++i) { - var key = keys[i] - , val = obj[key]; - - if ('class' == key) { - if (val = joinClasses(val)) { - buf.push(' ' + key + '="' + val + '"'); - } - } else { - buf.push(exports.attr(key, val, false, terse)); - } - } - } - - return buf.join(''); - }; - - /** - * Escape the given string of `html`. - * - * @param {String} html - * @return {String} - * @api private - */ - - var jade_encode_html_rules = { - '&': '&', - '<': '<', - '>': '>', - '"': '"' - }; - var jade_match_html = /[&<>"]/g; - - function jade_encode_char(c) { - return jade_encode_html_rules[c] || c; - } - - exports.escape = jade_escape; - function jade_escape(html){ - var result = String(html).replace(jade_match_html, jade_encode_char); - if (result === '' + html) return html; - else return result; - }; - - /** - * Re-throw the given `err` in context to the - * the jade in `filename` at the given `lineno`. - * - * @param {Error} err - * @param {String} filename - * @param {String} lineno - * @api private - */ - - exports.rethrow = function rethrow(err, filename, lineno, str){ - if (!(err instanceof Error)) throw err; - if ((typeof window != 'undefined' || !filename) && !str) { - err.message += ' on line ' + lineno; - throw err; - } - try { - str = str || __webpack_require__(7).readFileSync(filename, 'utf8') - } catch (ex) { - rethrow(err, null, lineno) - } - var context = 3 - , lines = str.split('\n') - , start = Math.max(lineno - context, 0) - , end = Math.min(lines.length, lineno + context); - - // Error context - var context = lines.slice(start, end).map(function(line, i){ - var curr = i + start + 1; - return (curr == lineno ? ' > ' : ' ') - + curr - + '| ' - + line; - }).join('\n'); - - // Alter exception message - err.path = filename; - err.message = (filename || 'Jade') + ':' + lineno - + '\n' + context + '\n\n' + err.message; - throw err; - }; - - exports.DebugItem = function DebugItem(lineno, filename) { - this.lineno = lineno; - this.filename = filename; - } - - -/***/ }), -/* 7 */ -/***/ (function(module, exports) { - - /* (ignored) */ - -/***/ }), -/* 8 */ -/***/ (function(module, exports, __webpack_require__) { - - module.exports = __webpack_require__.p + "0714810ae3fb211173e2964249507195.png"; - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/jade-loader/dist/webpack-1/favicon.ico b/examples/jade-loader/dist/webpack-1/favicon.ico deleted file mode 100644 index be74abd69ad6a32de7375df13cab9354798e328f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 766 zcmc(dze~eV5XUd2fg&jH87YDYDQKxq1{4b-_ydP-wqS9vgGh17QXQQAwOE{VaBvi* zmu^z9t({y-&1ey8Y_x;?x+`BviV9;aRjMgZ8M*!jgkRrFqSI9;F zHyfX@Az|AvVmn~YWWZP`0&JWEY~BFm?*Vq}VD7&_%x%MP$p`D`4JMC!K|B7pt?Mmp zUJAB7rxMXS6=!P+AtLU9V)J#61WPxwipRXCHO{BJ`l{m53#=t97a!znv~vfmr|AaP zRGIT7#0FyJy3Z*hL{GQp-0TRhX8UzZ)+>%?mK0^goaX4Q;xJade demo
Current time

1998-12-31T23:00:00.000Z

\ No newline at end of file diff --git a/examples/jade-loader/dist/webpack-1/styles.css b/examples/jade-loader/dist/webpack-1/styles.css deleted file mode 100644 index 232a2cdb..00000000 --- a/examples/jade-loader/dist/webpack-1/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} \ No newline at end of file diff --git a/examples/jade-loader/dist/webpack-2/0714810ae3fb211173e2964249507195.png b/examples/jade-loader/dist/webpack-2/0714810ae3fb211173e2964249507195.png deleted file mode 100644 index d71b3d789f45d8f124a1fde57a36e55855a6dcb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54055 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 Duf!qe diff --git a/examples/jade-loader/dist/webpack-2/bundle.js b/examples/jade-loader/dist/webpack-2/bundle.js deleted file mode 100644 index aef75c6a..00000000 --- a/examples/jade-loader/dist/webpack-2/bundle.js +++ /dev/null @@ -1,372 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // identity function for calling harmony imports with the correct context -/******/ __webpack_require__.i = function(value) { return value; }; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 2); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports) { - -// removed by extract-text-webpack-plugin - -/***/ }), -/* 1 */ -/***/ (function(module, exports, __webpack_require__) { - -var jade = __webpack_require__(4); - -module.exports = function template(locals) { -var buf = []; -var jade_mixins = {}; -var jade_interp; -;var locals_for_with = (locals || {});(function (time) { -buf.push("
Current time

" + (jade.escape((jade_interp = time.toISOString()) == null ? '' : jade_interp)) + "

");}.call(this,"time" in locals_for_with?locals_for_with.time:typeof time!=="undefined"?time:undefined));;return buf.join(""); -} - -/***/ }), -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -__webpack_require__(0); -// Use the same template for the frontend code -var template = __webpack_require__(1); - -setInterval(function () { - var div = document.getElementById('main'); - div.innerHTML = template({ time: new Date() }); - div.style.color = 'navy'; -}, 1000); - - -/***/ }), -/* 3 */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = __webpack_require__.p + "0714810ae3fb211173e2964249507195.png"; - -/***/ }), -/* 4 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/** - * Merge two attribute objects giving precedence - * to values in object `b`. Classes are special-cased - * allowing for arrays and merging/joining appropriately - * resulting in a string. - * - * @param {Object} a - * @param {Object} b - * @return {Object} a - * @api private - */ - -exports.merge = function merge(a, b) { - if (arguments.length === 1) { - var attrs = a[0]; - for (var i = 1; i < a.length; i++) { - attrs = merge(attrs, a[i]); - } - return attrs; - } - var ac = a['class']; - var bc = b['class']; - - if (ac || bc) { - ac = ac || []; - bc = bc || []; - if (!Array.isArray(ac)) ac = [ac]; - if (!Array.isArray(bc)) bc = [bc]; - a['class'] = ac.concat(bc).filter(nulls); - } - - for (var key in b) { - if (key != 'class') { - a[key] = b[key]; - } - } - - return a; -}; - -/** - * Filter null `val`s. - * - * @param {*} val - * @return {Boolean} - * @api private - */ - -function nulls(val) { - return val != null && val !== ''; -} - -/** - * join array as classes. - * - * @param {*} val - * @return {String} - */ -exports.joinClasses = joinClasses; -function joinClasses(val) { - return (Array.isArray(val) ? val.map(joinClasses) : - (val && typeof val === 'object') ? Object.keys(val).filter(function (key) { return val[key]; }) : - [val]).filter(nulls).join(' '); -} - -/** - * Render the given classes. - * - * @param {Array} classes - * @param {Array.} escaped - * @return {String} - */ -exports.cls = function cls(classes, escaped) { - var buf = []; - for (var i = 0; i < classes.length; i++) { - if (escaped && escaped[i]) { - buf.push(exports.escape(joinClasses([classes[i]]))); - } else { - buf.push(joinClasses(classes[i])); - } - } - var text = joinClasses(buf); - if (text.length) { - return ' class="' + text + '"'; - } else { - return ''; - } -}; - - -exports.style = function (val) { - if (val && typeof val === 'object') { - return Object.keys(val).map(function (style) { - return style + ':' + val[style]; - }).join(';'); - } else { - return val; - } -}; -/** - * Render the given attribute. - * - * @param {String} key - * @param {String} val - * @param {Boolean} escaped - * @param {Boolean} terse - * @return {String} - */ -exports.attr = function attr(key, val, escaped, terse) { - if (key === 'style') { - val = exports.style(val); - } - if ('boolean' == typeof val || null == val) { - if (val) { - return ' ' + (terse ? key : key + '="' + key + '"'); - } else { - return ''; - } - } else if (0 == key.indexOf('data') && 'string' != typeof val) { - if (JSON.stringify(val).indexOf('&') !== -1) { - console.warn('Since Jade 2.0.0, ampersands (`&`) in data attributes ' + - 'will be escaped to `&`'); - }; - if (val && typeof val.toISOString === 'function') { - console.warn('Jade will eliminate the double quotes around dates in ' + - 'ISO form after 2.0.0'); - } - return ' ' + key + "='" + JSON.stringify(val).replace(/'/g, ''') + "'"; - } else if (escaped) { - if (val && typeof val.toISOString === 'function') { - console.warn('Jade will stringify dates in ISO form after 2.0.0'); - } - return ' ' + key + '="' + exports.escape(val) + '"'; - } else { - if (val && typeof val.toISOString === 'function') { - console.warn('Jade will stringify dates in ISO form after 2.0.0'); - } - return ' ' + key + '="' + val + '"'; - } -}; - -/** - * Render the given attributes object. - * - * @param {Object} obj - * @param {Object} escaped - * @return {String} - */ -exports.attrs = function attrs(obj, terse){ - var buf = []; - - var keys = Object.keys(obj); - - if (keys.length) { - for (var i = 0; i < keys.length; ++i) { - var key = keys[i] - , val = obj[key]; - - if ('class' == key) { - if (val = joinClasses(val)) { - buf.push(' ' + key + '="' + val + '"'); - } - } else { - buf.push(exports.attr(key, val, false, terse)); - } - } - } - - return buf.join(''); -}; - -/** - * Escape the given string of `html`. - * - * @param {String} html - * @return {String} - * @api private - */ - -var jade_encode_html_rules = { - '&': '&', - '<': '<', - '>': '>', - '"': '"' -}; -var jade_match_html = /[&<>"]/g; - -function jade_encode_char(c) { - return jade_encode_html_rules[c] || c; -} - -exports.escape = jade_escape; -function jade_escape(html){ - var result = String(html).replace(jade_match_html, jade_encode_char); - if (result === '' + html) return html; - else return result; -}; - -/** - * Re-throw the given `err` in context to the - * the jade in `filename` at the given `lineno`. - * - * @param {Error} err - * @param {String} filename - * @param {String} lineno - * @api private - */ - -exports.rethrow = function rethrow(err, filename, lineno, str){ - if (!(err instanceof Error)) throw err; - if ((typeof window != 'undefined' || !filename) && !str) { - err.message += ' on line ' + lineno; - throw err; - } - try { - str = str || __webpack_require__(5).readFileSync(filename, 'utf8') - } catch (ex) { - rethrow(err, null, lineno) - } - var context = 3 - , lines = str.split('\n') - , start = Math.max(lineno - context, 0) - , end = Math.min(lines.length, lineno + context); - - // Error context - var context = lines.slice(start, end).map(function(line, i){ - var curr = i + start + 1; - return (curr == lineno ? ' > ' : ' ') - + curr - + '| ' - + line; - }).join('\n'); - - // Alter exception message - err.path = filename; - err.message = (filename || 'Jade') + ':' + lineno - + '\n' + context + '\n\n' + err.message; - throw err; -}; - -exports.DebugItem = function DebugItem(lineno, filename) { - this.lineno = lineno; - this.filename = filename; -} - - -/***/ }), -/* 5 */ -/***/ (function(module, exports) { - -/* (ignored) */ - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/jade-loader/dist/webpack-2/favicon.ico b/examples/jade-loader/dist/webpack-2/favicon.ico deleted file mode 100644 index be74abd69ad6a32de7375df13cab9354798e328f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 766 zcmc(dze~eV5XUd2fg&jH87YDYDQKxq1{4b-_ydP-wqS9vgGh17QXQQAwOE{VaBvi* zmu^z9t({y-&1ey8Y_x;?x+`BviV9;aRjMgZ8M*!jgkRrFqSI9;F zHyfX@Az|AvVmn~YWWZP`0&JWEY~BFm?*Vq}VD7&_%x%MP$p`D`4JMC!K|B7pt?Mmp zUJAB7rxMXS6=!P+AtLU9V)J#61WPxwipRXCHO{BJ`l{m53#=t97a!znv~vfmr|AaP zRGIT7#0FyJy3Z*hL{GQp-0TRhX8UzZ)+>%?mK0^goaX4Q;xJade demo
Current time

1998-12-31T23:00:00.000Z

\ No newline at end of file diff --git a/examples/jade-loader/dist/webpack-2/styles.css b/examples/jade-loader/dist/webpack-2/styles.css deleted file mode 100644 index 232a2cdb..00000000 --- a/examples/jade-loader/dist/webpack-2/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} \ No newline at end of file diff --git a/examples/jade-loader/dist/webpack-3/0714810ae3fb211173e2964249507195.png b/examples/jade-loader/dist/webpack-3/0714810ae3fb211173e2964249507195.png deleted file mode 100644 index d71b3d789f45d8f124a1fde57a36e55855a6dcb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54055 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 Duf!qe diff --git a/examples/jade-loader/dist/webpack-3/bundle.js b/examples/jade-loader/dist/webpack-3/bundle.js deleted file mode 100644 index 8bee19da..00000000 --- a/examples/jade-loader/dist/webpack-3/bundle.js +++ /dev/null @@ -1,369 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -__webpack_require__(1); -// Use the same template for the frontend code -var template = __webpack_require__(2); - -setInterval(function () { - var div = document.getElementById('main'); - div.innerHTML = template({ time: new Date() }); - div.style.color = 'navy'; -}, 1000); - - -/***/ }), -/* 1 */ -/***/ (function(module, exports) { - -// removed by extract-text-webpack-plugin - -/***/ }), -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { - -var jade = __webpack_require__(3); - -module.exports = function template(locals) { -var buf = []; -var jade_mixins = {}; -var jade_interp; -;var locals_for_with = (locals || {});(function (time) { -buf.push("
Current time

" + (jade.escape((jade_interp = time.toISOString()) == null ? '' : jade_interp)) + "

");}.call(this,"time" in locals_for_with?locals_for_with.time:typeof time!=="undefined"?time:undefined));;return buf.join(""); -} - -/***/ }), -/* 3 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/** - * Merge two attribute objects giving precedence - * to values in object `b`. Classes are special-cased - * allowing for arrays and merging/joining appropriately - * resulting in a string. - * - * @param {Object} a - * @param {Object} b - * @return {Object} a - * @api private - */ - -exports.merge = function merge(a, b) { - if (arguments.length === 1) { - var attrs = a[0]; - for (var i = 1; i < a.length; i++) { - attrs = merge(attrs, a[i]); - } - return attrs; - } - var ac = a['class']; - var bc = b['class']; - - if (ac || bc) { - ac = ac || []; - bc = bc || []; - if (!Array.isArray(ac)) ac = [ac]; - if (!Array.isArray(bc)) bc = [bc]; - a['class'] = ac.concat(bc).filter(nulls); - } - - for (var key in b) { - if (key != 'class') { - a[key] = b[key]; - } - } - - return a; -}; - -/** - * Filter null `val`s. - * - * @param {*} val - * @return {Boolean} - * @api private - */ - -function nulls(val) { - return val != null && val !== ''; -} - -/** - * join array as classes. - * - * @param {*} val - * @return {String} - */ -exports.joinClasses = joinClasses; -function joinClasses(val) { - return (Array.isArray(val) ? val.map(joinClasses) : - (val && typeof val === 'object') ? Object.keys(val).filter(function (key) { return val[key]; }) : - [val]).filter(nulls).join(' '); -} - -/** - * Render the given classes. - * - * @param {Array} classes - * @param {Array.} escaped - * @return {String} - */ -exports.cls = function cls(classes, escaped) { - var buf = []; - for (var i = 0; i < classes.length; i++) { - if (escaped && escaped[i]) { - buf.push(exports.escape(joinClasses([classes[i]]))); - } else { - buf.push(joinClasses(classes[i])); - } - } - var text = joinClasses(buf); - if (text.length) { - return ' class="' + text + '"'; - } else { - return ''; - } -}; - - -exports.style = function (val) { - if (val && typeof val === 'object') { - return Object.keys(val).map(function (style) { - return style + ':' + val[style]; - }).join(';'); - } else { - return val; - } -}; -/** - * Render the given attribute. - * - * @param {String} key - * @param {String} val - * @param {Boolean} escaped - * @param {Boolean} terse - * @return {String} - */ -exports.attr = function attr(key, val, escaped, terse) { - if (key === 'style') { - val = exports.style(val); - } - if ('boolean' == typeof val || null == val) { - if (val) { - return ' ' + (terse ? key : key + '="' + key + '"'); - } else { - return ''; - } - } else if (0 == key.indexOf('data') && 'string' != typeof val) { - if (JSON.stringify(val).indexOf('&') !== -1) { - console.warn('Since Jade 2.0.0, ampersands (`&`) in data attributes ' + - 'will be escaped to `&`'); - }; - if (val && typeof val.toISOString === 'function') { - console.warn('Jade will eliminate the double quotes around dates in ' + - 'ISO form after 2.0.0'); - } - return ' ' + key + "='" + JSON.stringify(val).replace(/'/g, ''') + "'"; - } else if (escaped) { - if (val && typeof val.toISOString === 'function') { - console.warn('Jade will stringify dates in ISO form after 2.0.0'); - } - return ' ' + key + '="' + exports.escape(val) + '"'; - } else { - if (val && typeof val.toISOString === 'function') { - console.warn('Jade will stringify dates in ISO form after 2.0.0'); - } - return ' ' + key + '="' + val + '"'; - } -}; - -/** - * Render the given attributes object. - * - * @param {Object} obj - * @param {Object} escaped - * @return {String} - */ -exports.attrs = function attrs(obj, terse){ - var buf = []; - - var keys = Object.keys(obj); - - if (keys.length) { - for (var i = 0; i < keys.length; ++i) { - var key = keys[i] - , val = obj[key]; - - if ('class' == key) { - if (val = joinClasses(val)) { - buf.push(' ' + key + '="' + val + '"'); - } - } else { - buf.push(exports.attr(key, val, false, terse)); - } - } - } - - return buf.join(''); -}; - -/** - * Escape the given string of `html`. - * - * @param {String} html - * @return {String} - * @api private - */ - -var jade_encode_html_rules = { - '&': '&', - '<': '<', - '>': '>', - '"': '"' -}; -var jade_match_html = /[&<>"]/g; - -function jade_encode_char(c) { - return jade_encode_html_rules[c] || c; -} - -exports.escape = jade_escape; -function jade_escape(html){ - var result = String(html).replace(jade_match_html, jade_encode_char); - if (result === '' + html) return html; - else return result; -}; - -/** - * Re-throw the given `err` in context to the - * the jade in `filename` at the given `lineno`. - * - * @param {Error} err - * @param {String} filename - * @param {String} lineno - * @api private - */ - -exports.rethrow = function rethrow(err, filename, lineno, str){ - if (!(err instanceof Error)) throw err; - if ((typeof window != 'undefined' || !filename) && !str) { - err.message += ' on line ' + lineno; - throw err; - } - try { - str = str || __webpack_require__(4).readFileSync(filename, 'utf8') - } catch (ex) { - rethrow(err, null, lineno) - } - var context = 3 - , lines = str.split('\n') - , start = Math.max(lineno - context, 0) - , end = Math.min(lines.length, lineno + context); - - // Error context - var context = lines.slice(start, end).map(function(line, i){ - var curr = i + start + 1; - return (curr == lineno ? ' > ' : ' ') - + curr - + '| ' - + line; - }).join('\n'); - - // Alter exception message - err.path = filename; - err.message = (filename || 'Jade') + ':' + lineno - + '\n' + context + '\n\n' + err.message; - throw err; -}; - -exports.DebugItem = function DebugItem(lineno, filename) { - this.lineno = lineno; - this.filename = filename; -} - - -/***/ }), -/* 4 */ -/***/ (function(module, exports) { - -/* (ignored) */ - -/***/ }), -/* 5 */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = __webpack_require__.p + "0714810ae3fb211173e2964249507195.png"; - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/jade-loader/dist/webpack-3/favicon.ico b/examples/jade-loader/dist/webpack-3/favicon.ico deleted file mode 100644 index be74abd69ad6a32de7375df13cab9354798e328f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 766 zcmc(dze~eV5XUd2fg&jH87YDYDQKxq1{4b-_ydP-wqS9vgGh17QXQQAwOE{VaBvi* zmu^z9t({y-&1ey8Y_x;?x+`BviV9;aRjMgZ8M*!jgkRrFqSI9;F zHyfX@Az|AvVmn~YWWZP`0&JWEY~BFm?*Vq}VD7&_%x%MP$p`D`4JMC!K|B7pt?Mmp zUJAB7rxMXS6=!P+AtLU9V)J#61WPxwipRXCHO{BJ`l{m53#=t97a!znv~vfmr|AaP zRGIT7#0FyJy3Z*hL{GQp-0TRhX8UzZ)+>%?mK0^goaX4Q;xJade demo
Current time

1999-01-01T00:00:00.000Z

\ No newline at end of file diff --git a/examples/jade-loader/dist/webpack-3/styles.css b/examples/jade-loader/dist/webpack-3/styles.css deleted file mode 100644 index 232a2cdb..00000000 --- a/examples/jade-loader/dist/webpack-3/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} \ No newline at end of file diff --git a/examples/javascript-advanced/dist/webpack-1/0714810ae3fb211173e2964249507195.png b/examples/javascript-advanced/dist/webpack-1/0714810ae3fb211173e2964249507195.png deleted file mode 100644 index d71b3d789f45d8f124a1fde57a36e55855a6dcb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54055 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 Duf!qe diff --git a/examples/javascript-advanced/dist/webpack-1/bundle.js b/examples/javascript-advanced/dist/webpack-1/bundle.js deleted file mode 100644 index 6680bd13..00000000 --- a/examples/javascript-advanced/dist/webpack-1/bundle.js +++ /dev/null @@ -1,65 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; - -/******/ // The require function -/******/ function __webpack_require__(moduleId) { - -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) -/******/ return installedModules[moduleId].exports; - -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ exports: {}, -/******/ id: moduleId, -/******/ loaded: false -/******/ }; - -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); - -/******/ // Flag the module as loaded -/******/ module.loaded = true; - -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } - - -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; - -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; - -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; - -/******/ // Load entry module and return exports -/******/ return __webpack_require__(0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { - - eval("__webpack_require__(1);\n\nvar universal = __webpack_require__(5);\nvar h1 = document.createElement('h1');\nh1.innerHTML = universal();\n\ndocument.body.appendChild(h1);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./example.js\n// module id = 0\n// module chunks = 0\n//# sourceURL=webpack:///./example.js?"); - -/***/ }), -/* 1 */ -/***/ (function(module, exports) { - - eval("// removed by extract-text-webpack-plugin\n\n//////////////////\n// WEBPACK FOOTER\n// ./main.css\n// module id = 1\n// module chunks = 0\n//# sourceURL=webpack:///./main.css?"); - -/***/ }), -/* 2 */, -/* 3 */, -/* 4 */, -/* 5 */ -/***/ (function(module, exports) { - - eval("// This file is used for frontend and backend\n'use strict';\n\n// If compiled by the html-webpack-plugin\n// HTML_WEBPACK_PLUGIN is set to true:\nvar backend = typeof HTML_WEBPACK_PLUGIN !== 'undefined';\n\nmodule.exports = function () {\n return 'Hello World from ' + (backend ? 'backend' : 'frontend');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./universial.js\n// module id = 5\n// module chunks = 0\n//# sourceURL=webpack:///./universial.js?"); - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/javascript-advanced/dist/webpack-1/index.html b/examples/javascript-advanced/dist/webpack-1/index.html deleted file mode 100644 index 61d6408d..00000000 --- a/examples/javascript-advanced/dist/webpack-1/index.html +++ /dev/null @@ -1,2 +0,0 @@ -Webpack AppHello World from backend -

Partial

- \ No newline at end of file diff --git a/examples/javascript-advanced/dist/webpack-1/styles.css b/examples/javascript-advanced/dist/webpack-1/styles.css deleted file mode 100644 index 232a2cdb..00000000 --- a/examples/javascript-advanced/dist/webpack-1/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} \ No newline at end of file diff --git a/examples/javascript-advanced/dist/webpack-2/0714810ae3fb211173e2964249507195.png b/examples/javascript-advanced/dist/webpack-2/0714810ae3fb211173e2964249507195.png deleted file mode 100644 index d71b3d789f45d8f124a1fde57a36e55855a6dcb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54055 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 Duf!qe diff --git a/examples/javascript-advanced/dist/webpack-2/bundle.js b/examples/javascript-advanced/dist/webpack-2/bundle.js deleted file mode 100644 index e0b6b46c..00000000 --- a/examples/javascript-advanced/dist/webpack-2/bundle.js +++ /dev/null @@ -1,89 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // identity function for calling harmony imports with the correct context -/******/ __webpack_require__.i = function(value) { return value; }; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 2); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("// This file is used for frontend and backend\n\n\n// If compiled by the html-webpack-plugin\n// HTML_WEBPACK_PLUGIN is set to true:\nvar backend = typeof HTML_WEBPACK_PLUGIN !== 'undefined';\n\nmodule.exports = function () {\n return 'Hello World from ' + (backend ? 'backend' : 'frontend');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./universial.js\n// module id = 0\n// module chunks = 0\n\n//# sourceURL=webpack:///./universial.js?"); - -/***/ }), -/* 1 */ -/***/ (function(module, exports) { - -eval("// removed by extract-text-webpack-plugin\n\n//////////////////\n// WEBPACK FOOTER\n// ./main.css\n// module id = 1\n// module chunks = 0\n\n//# sourceURL=webpack:///./main.css?"); - -/***/ }), -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { - -eval("__webpack_require__(1);\n\nvar universal = __webpack_require__(0);\nvar h1 = document.createElement('h1');\nh1.innerHTML = universal();\n\ndocument.body.appendChild(h1);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./example.js\n// module id = 2\n// module chunks = 0\n\n//# sourceURL=webpack:///./example.js?"); - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/javascript-advanced/dist/webpack-2/index.html b/examples/javascript-advanced/dist/webpack-2/index.html deleted file mode 100644 index 61d6408d..00000000 --- a/examples/javascript-advanced/dist/webpack-2/index.html +++ /dev/null @@ -1,2 +0,0 @@ -Webpack AppHello World from backend -

Partial

- \ No newline at end of file diff --git a/examples/javascript-advanced/dist/webpack-2/styles.css b/examples/javascript-advanced/dist/webpack-2/styles.css deleted file mode 100644 index 232a2cdb..00000000 --- a/examples/javascript-advanced/dist/webpack-2/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} \ No newline at end of file diff --git a/examples/javascript-advanced/dist/webpack-3/0714810ae3fb211173e2964249507195.png b/examples/javascript-advanced/dist/webpack-3/0714810ae3fb211173e2964249507195.png deleted file mode 100644 index d71b3d789f45d8f124a1fde57a36e55855a6dcb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54055 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 Duf!qe diff --git a/examples/javascript-advanced/dist/webpack-3/bundle.js b/examples/javascript-advanced/dist/webpack-3/bundle.js deleted file mode 100644 index 2d9e545d..00000000 --- a/examples/javascript-advanced/dist/webpack-3/bundle.js +++ /dev/null @@ -1,86 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { - -eval("__webpack_require__(1);\n\nvar universal = __webpack_require__(2);\nvar h1 = document.createElement('h1');\nh1.innerHTML = universal();\n\ndocument.body.appendChild(h1);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./example.js\n// module id = 0\n// module chunks = 0\n\n//# sourceURL=webpack:///./example.js?"); - -/***/ }), -/* 1 */ -/***/ (function(module, exports) { - -eval("// removed by extract-text-webpack-plugin\n\n//////////////////\n// WEBPACK FOOTER\n// ./main.css\n// module id = 1\n// module chunks = 0\n\n//# sourceURL=webpack:///./main.css?"); - -/***/ }), -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("// This file is used for frontend and backend\n\n\n// If compiled by the html-webpack-plugin\n// HTML_WEBPACK_PLUGIN is set to true:\nvar backend = typeof HTML_WEBPACK_PLUGIN !== 'undefined';\n\nmodule.exports = function () {\n return 'Hello World from ' + (backend ? 'backend' : 'frontend');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./universial.js\n// module id = 2\n// module chunks = 0\n\n//# sourceURL=webpack:///./universial.js?"); - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/javascript-advanced/dist/webpack-3/index.html b/examples/javascript-advanced/dist/webpack-3/index.html deleted file mode 100644 index 61d6408d..00000000 --- a/examples/javascript-advanced/dist/webpack-3/index.html +++ /dev/null @@ -1,2 +0,0 @@ -Webpack AppHello World from backend -

Partial

- \ No newline at end of file diff --git a/examples/javascript-advanced/dist/webpack-3/styles.css b/examples/javascript-advanced/dist/webpack-3/styles.css deleted file mode 100644 index 232a2cdb..00000000 --- a/examples/javascript-advanced/dist/webpack-3/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} \ No newline at end of file diff --git a/examples/javascript/dist/webpack-1/0714810ae3fb211173e2964249507195.png b/examples/javascript/dist/webpack-1/0714810ae3fb211173e2964249507195.png deleted file mode 100644 index d71b3d789f45d8f124a1fde57a36e55855a6dcb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54055 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 Duf!qe diff --git a/examples/javascript/dist/webpack-1/bundle.js b/examples/javascript/dist/webpack-1/bundle.js deleted file mode 100644 index 6680bd13..00000000 --- a/examples/javascript/dist/webpack-1/bundle.js +++ /dev/null @@ -1,65 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; - -/******/ // The require function -/******/ function __webpack_require__(moduleId) { - -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) -/******/ return installedModules[moduleId].exports; - -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ exports: {}, -/******/ id: moduleId, -/******/ loaded: false -/******/ }; - -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); - -/******/ // Flag the module as loaded -/******/ module.loaded = true; - -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } - - -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; - -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; - -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; - -/******/ // Load entry module and return exports -/******/ return __webpack_require__(0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { - - eval("__webpack_require__(1);\n\nvar universal = __webpack_require__(5);\nvar h1 = document.createElement('h1');\nh1.innerHTML = universal();\n\ndocument.body.appendChild(h1);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./example.js\n// module id = 0\n// module chunks = 0\n//# sourceURL=webpack:///./example.js?"); - -/***/ }), -/* 1 */ -/***/ (function(module, exports) { - - eval("// removed by extract-text-webpack-plugin\n\n//////////////////\n// WEBPACK FOOTER\n// ./main.css\n// module id = 1\n// module chunks = 0\n//# sourceURL=webpack:///./main.css?"); - -/***/ }), -/* 2 */, -/* 3 */, -/* 4 */, -/* 5 */ -/***/ (function(module, exports) { - - eval("// This file is used for frontend and backend\n'use strict';\n\n// If compiled by the html-webpack-plugin\n// HTML_WEBPACK_PLUGIN is set to true:\nvar backend = typeof HTML_WEBPACK_PLUGIN !== 'undefined';\n\nmodule.exports = function () {\n return 'Hello World from ' + (backend ? 'backend' : 'frontend');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./universial.js\n// module id = 5\n// module chunks = 0\n//# sourceURL=webpack:///./universial.js?"); - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/javascript/dist/webpack-1/index.html b/examples/javascript/dist/webpack-1/index.html deleted file mode 100644 index 88e071b9..00000000 --- a/examples/javascript/dist/webpack-1/index.html +++ /dev/null @@ -1,2 +0,0 @@ -Hello World from backend2017-04-17T17:13:11.491Z

Partial

- \ No newline at end of file diff --git a/examples/javascript/dist/webpack-1/styles.css b/examples/javascript/dist/webpack-1/styles.css deleted file mode 100644 index 232a2cdb..00000000 --- a/examples/javascript/dist/webpack-1/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} \ No newline at end of file diff --git a/examples/javascript/dist/webpack-2/0714810ae3fb211173e2964249507195.png b/examples/javascript/dist/webpack-2/0714810ae3fb211173e2964249507195.png deleted file mode 100644 index d71b3d789f45d8f124a1fde57a36e55855a6dcb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54055 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 Duf!qe diff --git a/examples/javascript/dist/webpack-2/bundle.js b/examples/javascript/dist/webpack-2/bundle.js deleted file mode 100644 index e0b6b46c..00000000 --- a/examples/javascript/dist/webpack-2/bundle.js +++ /dev/null @@ -1,89 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // identity function for calling harmony imports with the correct context -/******/ __webpack_require__.i = function(value) { return value; }; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 2); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("// This file is used for frontend and backend\n\n\n// If compiled by the html-webpack-plugin\n// HTML_WEBPACK_PLUGIN is set to true:\nvar backend = typeof HTML_WEBPACK_PLUGIN !== 'undefined';\n\nmodule.exports = function () {\n return 'Hello World from ' + (backend ? 'backend' : 'frontend');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./universial.js\n// module id = 0\n// module chunks = 0\n\n//# sourceURL=webpack:///./universial.js?"); - -/***/ }), -/* 1 */ -/***/ (function(module, exports) { - -eval("// removed by extract-text-webpack-plugin\n\n//////////////////\n// WEBPACK FOOTER\n// ./main.css\n// module id = 1\n// module chunks = 0\n\n//# sourceURL=webpack:///./main.css?"); - -/***/ }), -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { - -eval("__webpack_require__(1);\n\nvar universal = __webpack_require__(0);\nvar h1 = document.createElement('h1');\nh1.innerHTML = universal();\n\ndocument.body.appendChild(h1);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./example.js\n// module id = 2\n// module chunks = 0\n\n//# sourceURL=webpack:///./example.js?"); - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/javascript/dist/webpack-2/index.html b/examples/javascript/dist/webpack-2/index.html deleted file mode 100644 index 71f92f66..00000000 --- a/examples/javascript/dist/webpack-2/index.html +++ /dev/null @@ -1,2 +0,0 @@ -Hello World from backend2017-04-17T17:12:14.752Z

Partial

- \ No newline at end of file diff --git a/examples/javascript/dist/webpack-2/styles.css b/examples/javascript/dist/webpack-2/styles.css deleted file mode 100644 index 232a2cdb..00000000 --- a/examples/javascript/dist/webpack-2/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} \ No newline at end of file diff --git a/examples/javascript/dist/webpack-3/0714810ae3fb211173e2964249507195.png b/examples/javascript/dist/webpack-3/0714810ae3fb211173e2964249507195.png deleted file mode 100644 index d71b3d789f45d8f124a1fde57a36e55855a6dcb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54055 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 Duf!qe diff --git a/examples/javascript/dist/webpack-3/bundle.js b/examples/javascript/dist/webpack-3/bundle.js deleted file mode 100644 index 2d9e545d..00000000 --- a/examples/javascript/dist/webpack-3/bundle.js +++ /dev/null @@ -1,86 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { - -eval("__webpack_require__(1);\n\nvar universal = __webpack_require__(2);\nvar h1 = document.createElement('h1');\nh1.innerHTML = universal();\n\ndocument.body.appendChild(h1);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./example.js\n// module id = 0\n// module chunks = 0\n\n//# sourceURL=webpack:///./example.js?"); - -/***/ }), -/* 1 */ -/***/ (function(module, exports) { - -eval("// removed by extract-text-webpack-plugin\n\n//////////////////\n// WEBPACK FOOTER\n// ./main.css\n// module id = 1\n// module chunks = 0\n\n//# sourceURL=webpack:///./main.css?"); - -/***/ }), -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("// This file is used for frontend and backend\n\n\n// If compiled by the html-webpack-plugin\n// HTML_WEBPACK_PLUGIN is set to true:\nvar backend = typeof HTML_WEBPACK_PLUGIN !== 'undefined';\n\nmodule.exports = function () {\n return 'Hello World from ' + (backend ? 'backend' : 'frontend');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./universial.js\n// module id = 2\n// module chunks = 0\n\n//# sourceURL=webpack:///./universial.js?"); - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/javascript/dist/webpack-3/index.html b/examples/javascript/dist/webpack-3/index.html deleted file mode 100644 index 99d6252c..00000000 --- a/examples/javascript/dist/webpack-3/index.html +++ /dev/null @@ -1,2 +0,0 @@ -Hello World from backend2017-06-24T21:03:19.943Z

Partial

- \ No newline at end of file diff --git a/examples/javascript/dist/webpack-3/styles.css b/examples/javascript/dist/webpack-3/styles.css deleted file mode 100644 index 232a2cdb..00000000 --- a/examples/javascript/dist/webpack-3/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-1/0714810ae3fb211173e2964249507195.png b/examples/sort-manually/dist/webpack-1/0714810ae3fb211173e2964249507195.png deleted file mode 100644 index d71b3d789f45d8f124a1fde57a36e55855a6dcb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54055 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 Duf!qe diff --git a/examples/sort-manually/dist/webpack-1/a.js b/examples/sort-manually/dist/webpack-1/a.js deleted file mode 100644 index 7878b97e..00000000 --- a/examples/sort-manually/dist/webpack-1/a.js +++ /dev/null @@ -1,60 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; - -/******/ // The require function -/******/ function __webpack_require__(moduleId) { - -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) -/******/ return installedModules[moduleId].exports; - -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ exports: {}, -/******/ id: moduleId, -/******/ loaded: false -/******/ }; - -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); - -/******/ // Flag the module as loaded -/******/ module.loaded = true; - -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } - - -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; - -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; - -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; - -/******/ // Load entry module and return exports -/******/ return __webpack_require__(0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { - - __webpack_require__(1); - var h1 = document.createElement('h1'); - h1.innerHTML = 'a!'; - document.body.appendChild(h1); - - -/***/ }), -/* 1 */ -/***/ (function(module, exports) { - - // removed by extract-text-webpack-plugin - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-1/b.js b/examples/sort-manually/dist/webpack-1/b.js deleted file mode 100644 index 1c65900a..00000000 --- a/examples/sort-manually/dist/webpack-1/b.js +++ /dev/null @@ -1,53 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; - -/******/ // The require function -/******/ function __webpack_require__(moduleId) { - -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) -/******/ return installedModules[moduleId].exports; - -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ exports: {}, -/******/ id: moduleId, -/******/ loaded: false -/******/ }; - -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); - -/******/ // Flag the module as loaded -/******/ module.loaded = true; - -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } - - -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; - -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; - -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; - -/******/ // Load entry module and return exports -/******/ return __webpack_require__(0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports) { - - var h1 = document.createElement('h1'); - h1.innerHTML = 'b!'; - document.body.appendChild(h1); - - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-1/c.js b/examples/sort-manually/dist/webpack-1/c.js deleted file mode 100644 index 4b82961a..00000000 --- a/examples/sort-manually/dist/webpack-1/c.js +++ /dev/null @@ -1,53 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; - -/******/ // The require function -/******/ function __webpack_require__(moduleId) { - -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) -/******/ return installedModules[moduleId].exports; - -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ exports: {}, -/******/ id: moduleId, -/******/ loaded: false -/******/ }; - -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); - -/******/ // Flag the module as loaded -/******/ module.loaded = true; - -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } - - -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; - -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; - -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; - -/******/ // Load entry module and return exports -/******/ return __webpack_require__(0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports) { - - var h1 = document.createElement('h1'); - h1.innerHTML = 'c!'; - document.body.appendChild(h1); - - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-1/d.js b/examples/sort-manually/dist/webpack-1/d.js deleted file mode 100644 index 8bfebf2c..00000000 --- a/examples/sort-manually/dist/webpack-1/d.js +++ /dev/null @@ -1,53 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; - -/******/ // The require function -/******/ function __webpack_require__(moduleId) { - -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) -/******/ return installedModules[moduleId].exports; - -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ exports: {}, -/******/ id: moduleId, -/******/ loaded: false -/******/ }; - -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); - -/******/ // Flag the module as loaded -/******/ module.loaded = true; - -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } - - -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; - -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; - -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; - -/******/ // Load entry module and return exports -/******/ return __webpack_require__(0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports) { - - var h1 = document.createElement('h1'); - h1.innerHTML = 'd!'; - document.body.appendChild(h1); - - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-1/e.js b/examples/sort-manually/dist/webpack-1/e.js deleted file mode 100644 index 5acab069..00000000 --- a/examples/sort-manually/dist/webpack-1/e.js +++ /dev/null @@ -1,53 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; - -/******/ // The require function -/******/ function __webpack_require__(moduleId) { - -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) -/******/ return installedModules[moduleId].exports; - -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ exports: {}, -/******/ id: moduleId, -/******/ loaded: false -/******/ }; - -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); - -/******/ // Flag the module as loaded -/******/ module.loaded = true; - -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } - - -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; - -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; - -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; - -/******/ // Load entry module and return exports -/******/ return __webpack_require__(0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports) { - - var h1 = document.createElement('h1'); - h1.innerHTML = 'e!'; - document.body.appendChild(h1); - - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-1/first-file.html b/examples/sort-manually/dist/webpack-1/first-file.html deleted file mode 100644 index afacda4b..00000000 --- a/examples/sort-manually/dist/webpack-1/first-file.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - - Example template - - - - - - \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-1/second-file.html b/examples/sort-manually/dist/webpack-1/second-file.html deleted file mode 100644 index d6d80d35..00000000 --- a/examples/sort-manually/dist/webpack-1/second-file.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - - Example template - - - - - - \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-1/styles.css b/examples/sort-manually/dist/webpack-1/styles.css deleted file mode 100644 index 232a2cdb..00000000 --- a/examples/sort-manually/dist/webpack-1/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-2/0714810ae3fb211173e2964249507195.png b/examples/sort-manually/dist/webpack-2/0714810ae3fb211173e2964249507195.png deleted file mode 100644 index d71b3d789f45d8f124a1fde57a36e55855a6dcb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54055 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 Duf!qe diff --git a/examples/sort-manually/dist/webpack-2/a.js b/examples/sort-manually/dist/webpack-2/a.js deleted file mode 100644 index 2251fb1b..00000000 --- a/examples/sort-manually/dist/webpack-2/a.js +++ /dev/null @@ -1,86 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // identity function for calling harmony imports with the correct context -/******/ __webpack_require__.i = function(value) { return value; }; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 1); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports) { - -// removed by extract-text-webpack-plugin - -/***/ }), -/* 1 */ -/***/ (function(module, exports, __webpack_require__) { - -__webpack_require__(0); -var h1 = document.createElement('h1'); -h1.innerHTML = 'a!'; -document.body.appendChild(h1); - - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-2/b.js b/examples/sort-manually/dist/webpack-2/b.js deleted file mode 100644 index e4a6181f..00000000 --- a/examples/sort-manually/dist/webpack-2/b.js +++ /dev/null @@ -1,81 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // identity function for calling harmony imports with the correct context -/******/ __webpack_require__.i = function(value) { return value; }; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 2); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ 2: -/***/ (function(module, exports) { - -var h1 = document.createElement('h1'); -h1.innerHTML = 'b!'; -document.body.appendChild(h1); - - -/***/ }) - -/******/ }); \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-2/c.js b/examples/sort-manually/dist/webpack-2/c.js deleted file mode 100644 index d52f7947..00000000 --- a/examples/sort-manually/dist/webpack-2/c.js +++ /dev/null @@ -1,81 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // identity function for calling harmony imports with the correct context -/******/ __webpack_require__.i = function(value) { return value; }; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 3); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ 3: -/***/ (function(module, exports) { - -var h1 = document.createElement('h1'); -h1.innerHTML = 'c!'; -document.body.appendChild(h1); - - -/***/ }) - -/******/ }); \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-2/d.js b/examples/sort-manually/dist/webpack-2/d.js deleted file mode 100644 index 6377a799..00000000 --- a/examples/sort-manually/dist/webpack-2/d.js +++ /dev/null @@ -1,81 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // identity function for calling harmony imports with the correct context -/******/ __webpack_require__.i = function(value) { return value; }; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 4); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ 4: -/***/ (function(module, exports) { - -var h1 = document.createElement('h1'); -h1.innerHTML = 'd!'; -document.body.appendChild(h1); - - -/***/ }) - -/******/ }); \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-2/e.js b/examples/sort-manually/dist/webpack-2/e.js deleted file mode 100644 index e7ebc092..00000000 --- a/examples/sort-manually/dist/webpack-2/e.js +++ /dev/null @@ -1,81 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // identity function for calling harmony imports with the correct context -/******/ __webpack_require__.i = function(value) { return value; }; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 5); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ 5: -/***/ (function(module, exports) { - -var h1 = document.createElement('h1'); -h1.innerHTML = 'e!'; -document.body.appendChild(h1); - - -/***/ }) - -/******/ }); \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-2/first-file.html b/examples/sort-manually/dist/webpack-2/first-file.html deleted file mode 100644 index afacda4b..00000000 --- a/examples/sort-manually/dist/webpack-2/first-file.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - - Example template - - - - - - \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-2/second-file.html b/examples/sort-manually/dist/webpack-2/second-file.html deleted file mode 100644 index d6d80d35..00000000 --- a/examples/sort-manually/dist/webpack-2/second-file.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - - Example template - - - - - - \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-2/styles.css b/examples/sort-manually/dist/webpack-2/styles.css deleted file mode 100644 index 232a2cdb..00000000 --- a/examples/sort-manually/dist/webpack-2/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-3/0714810ae3fb211173e2964249507195.png b/examples/sort-manually/dist/webpack-3/0714810ae3fb211173e2964249507195.png deleted file mode 100644 index d71b3d789f45d8f124a1fde57a36e55855a6dcb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54055 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 Duf!qe diff --git a/examples/sort-manually/dist/webpack-3/a.js b/examples/sort-manually/dist/webpack-3/a.js deleted file mode 100644 index 029c6f27..00000000 --- a/examples/sort-manually/dist/webpack-3/a.js +++ /dev/null @@ -1,85 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 2); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */, -/* 1 */, -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { - -__webpack_require__(3); -var h1 = document.createElement('h1'); -h1.innerHTML = 'a!'; -document.body.appendChild(h1); - - -/***/ }), -/* 3 */ -/***/ (function(module, exports) { - -// removed by extract-text-webpack-plugin - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-3/b.js b/examples/sort-manually/dist/webpack-3/b.js deleted file mode 100644 index 16fe54b7..00000000 --- a/examples/sort-manually/dist/webpack-3/b.js +++ /dev/null @@ -1,76 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports) { - -var h1 = document.createElement('h1'); -h1.innerHTML = 'b!'; -document.body.appendChild(h1); - - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-3/c.js b/examples/sort-manually/dist/webpack-3/c.js deleted file mode 100644 index 47ca6f8f..00000000 --- a/examples/sort-manually/dist/webpack-3/c.js +++ /dev/null @@ -1,78 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 4); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ 4: -/***/ (function(module, exports) { - -var h1 = document.createElement('h1'); -h1.innerHTML = 'c!'; -document.body.appendChild(h1); - - -/***/ }) - -/******/ }); \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-3/d.js b/examples/sort-manually/dist/webpack-3/d.js deleted file mode 100644 index 8f747a0a..00000000 --- a/examples/sort-manually/dist/webpack-3/d.js +++ /dev/null @@ -1,77 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 1); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */, -/* 1 */ -/***/ (function(module, exports) { - -var h1 = document.createElement('h1'); -h1.innerHTML = 'd!'; -document.body.appendChild(h1); - - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-3/e.js b/examples/sort-manually/dist/webpack-3/e.js deleted file mode 100644 index 04a23b9a..00000000 --- a/examples/sort-manually/dist/webpack-3/e.js +++ /dev/null @@ -1,78 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 5); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ 5: -/***/ (function(module, exports) { - -var h1 = document.createElement('h1'); -h1.innerHTML = 'e!'; -document.body.appendChild(h1); - - -/***/ }) - -/******/ }); \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-3/first-file.html b/examples/sort-manually/dist/webpack-3/first-file.html deleted file mode 100644 index afacda4b..00000000 --- a/examples/sort-manually/dist/webpack-3/first-file.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - - Example template - - - - - - \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-3/second-file.html b/examples/sort-manually/dist/webpack-3/second-file.html deleted file mode 100644 index d6d80d35..00000000 --- a/examples/sort-manually/dist/webpack-3/second-file.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - - Example template - - - - - - \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-3/styles.css b/examples/sort-manually/dist/webpack-3/styles.css deleted file mode 100644 index 232a2cdb..00000000 --- a/examples/sort-manually/dist/webpack-3/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} \ No newline at end of file diff --git a/examples/template-parameters/dist/webpack-1/bundle.js b/examples/template-parameters/dist/webpack-1/bundle.js deleted file mode 100644 index 566285ab..00000000 --- a/examples/template-parameters/dist/webpack-1/bundle.js +++ /dev/null @@ -1,53 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; - -/******/ // The require function -/******/ function __webpack_require__(moduleId) { - -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) -/******/ return installedModules[moduleId].exports; - -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ exports: {}, -/******/ id: moduleId, -/******/ loaded: false -/******/ }; - -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); - -/******/ // Flag the module as loaded -/******/ module.loaded = true; - -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } - - -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; - -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; - -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; - -/******/ // Load entry module and return exports -/******/ return __webpack_require__(0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports) { - - var h1 = document.createElement('h1'); - h1.innerHTML = 'Hello world!'; - document.body.appendChild(h1); - - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/template-parameters/dist/webpack-1/index.html b/examples/template-parameters/dist/webpack-1/index.html deleted file mode 100644 index 397760f0..00000000 --- a/examples/template-parameters/dist/webpack-1/index.html +++ /dev/null @@ -1,9 +0,0 @@ - - - - - bar - - - - diff --git a/examples/template-parameters/dist/webpack-2/bundle.js b/examples/template-parameters/dist/webpack-2/bundle.js deleted file mode 100644 index 6b4b71fe..00000000 --- a/examples/template-parameters/dist/webpack-2/bundle.js +++ /dev/null @@ -1,79 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // identity function for calling harmony imports with the correct context -/******/ __webpack_require__.i = function(value) { return value; }; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports) { - -var h1 = document.createElement('h1'); -h1.innerHTML = 'Hello world!'; -document.body.appendChild(h1); - - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/template-parameters/dist/webpack-2/index.html b/examples/template-parameters/dist/webpack-2/index.html deleted file mode 100644 index 397760f0..00000000 --- a/examples/template-parameters/dist/webpack-2/index.html +++ /dev/null @@ -1,9 +0,0 @@ - - - - - bar - - - - diff --git a/examples/template-parameters/dist/webpack-3/bundle.js b/examples/template-parameters/dist/webpack-3/bundle.js deleted file mode 100644 index 6044453b..00000000 --- a/examples/template-parameters/dist/webpack-3/bundle.js +++ /dev/null @@ -1,76 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports) { - -var h1 = document.createElement('h1'); -h1.innerHTML = 'Hello world!'; -document.body.appendChild(h1); - - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/template-parameters/dist/webpack-3/index.html b/examples/template-parameters/dist/webpack-3/index.html deleted file mode 100644 index 397760f0..00000000 --- a/examples/template-parameters/dist/webpack-3/index.html +++ /dev/null @@ -1,9 +0,0 @@ - - - - - bar - - - - diff --git a/index.js b/index.js index 31d086ab..1d23d881 100644 --- a/index.js +++ b/index.js @@ -7,6 +7,9 @@ const vm = require('vm'); const fs = require('fs'); const _ = require('lodash'); const path = require('path'); +const SyncWaterfallHook = require('tapable').SyncWaterfallHook; +const AsyncSeriesWaterfallHook = require('tapable').AsyncSeriesWaterfallHook; + const childCompiler = require('./lib/compiler.js'); const prettyError = require('./lib/errors.js'); const chunkSorter = require('./lib/chunksorter.js'); @@ -52,21 +55,16 @@ class HtmlWebpackPlugin { } // setup hooks for webpack 4 - if (compiler.hooks) { - compiler.hooks.compilation.tap('HtmlWebpackPluginHooks', compilation => { - const SyncWaterfallHook = require('tapable').SyncWaterfallHook; - const AsyncSeriesWaterfallHook = require('tapable').AsyncSeriesWaterfallHook; - compilation.hooks.htmlWebpackPluginAlterChunks = new SyncWaterfallHook(['chunks', 'objectWithPluginRef']); - compilation.hooks.htmlWebpackPluginBeforeHtmlGeneration = new AsyncSeriesWaterfallHook(['pluginArgs']); - compilation.hooks.htmlWebpackPluginBeforeHtmlProcessing = new AsyncSeriesWaterfallHook(['pluginArgs']); - compilation.hooks.htmlWebpackPluginAlterAssetTags = new AsyncSeriesWaterfallHook(['pluginArgs']); - compilation.hooks.htmlWebpackPluginAfterHtmlProcessing = new AsyncSeriesWaterfallHook(['pluginArgs']); - compilation.hooks.htmlWebpackPluginAfterEmit = new AsyncSeriesWaterfallHook(['pluginArgs']); - }); - } + compiler.hooks.compilation.tap('HtmlWebpackPluginHooks', compilation => { + compilation.hooks.htmlWebpackPluginAlterChunks = new SyncWaterfallHook(['chunks', 'objectWithPluginRef']); + compilation.hooks.htmlWebpackPluginBeforeHtmlGeneration = new AsyncSeriesWaterfallHook(['pluginArgs']); + compilation.hooks.htmlWebpackPluginBeforeHtmlProcessing = new AsyncSeriesWaterfallHook(['pluginArgs']); + compilation.hooks.htmlWebpackPluginAlterAssetTags = new AsyncSeriesWaterfallHook(['pluginArgs']); + compilation.hooks.htmlWebpackPluginAfterHtmlProcessing = new AsyncSeriesWaterfallHook(['pluginArgs']); + compilation.hooks.htmlWebpackPluginAfterEmit = new AsyncSeriesWaterfallHook(['pluginArgs']); + }); - // Backwards compatible version of: compiler.hooks.make.tapAsync() - (compiler.hooks ? compiler.hooks.make.tapAsync.bind(compiler.hooks.make, 'HtmlWebpackPlugin') : compiler.plugin.bind(compiler, 'make'))((compilation, callback) => { + compiler.hooks.make.tapAsync('HtmlWebpackPlugin', (compilation, callback) => { // Compile the template (queued) compilationPromise = childCompiler.compileTemplate(self.options.template, compiler.context, self.options.filename, compilation) .catch(err => { @@ -86,8 +84,7 @@ class HtmlWebpackPlugin { }); }); - // Backwards compatible version of: compiler.plugin.emit.tapAsync() - (compiler.hooks ? compiler.hooks.emit.tapAsync.bind(compiler.hooks.emit, 'HtmlWebpackPlugin') : compiler.plugin.bind(compiler, 'emit'))((compilation, callback) => { + compiler.hooks.emit.tapAsync('HtmlWebpackPlugin', (compilation, callback) => { const applyPluginsAsyncWaterfall = self.applyPluginsAsyncWaterfall(compilation); // Get chunks info as json // Note: we're excluding stuff that we don't need to improve toJson serialization speed. @@ -112,12 +109,7 @@ class HtmlWebpackPlugin { // Sort chunks chunks = self.sortChunks(chunks, self.options.chunksSortMode, compilation); // Let plugins alter the chunks and the chunk sorting - if (compilation.hooks) { - chunks = compilation.hooks.htmlWebpackPluginAlterChunks.call(chunks, { plugin: self }); - } else { - // Before Webpack 4 - chunks = compilation.applyPluginsWaterfall('html-webpack-plugin-alter-chunks', chunks, { plugin: self }); - } + chunks = compilation.hooks.htmlWebpackPluginAlterChunks.call(chunks, { plugin: self }); // Get assets const assets = self.htmlWebpackPluginAssets(compilation, chunks); // If this is a hot update compilation, move on! @@ -162,14 +154,12 @@ class HtmlWebpackPlugin { }) // Allow plugins to make changes to the assets before invoking the template // This only makes sense to use if `inject` is `false` - .then(compilationResult => - applyPluginsAsyncWaterfall('html-webpack-plugin-before-html-generation', false, { - assets: assets, - outputName: self.childCompilationOutputName, - plugin: self - }) - .then(() => compilationResult) - ) + .then(compilationResult => applyPluginsAsyncWaterfall('htmlWebpackPluginBeforeHtmlGeneration', false, { + assets: assets, + outputName: self.childCompilationOutputName, + plugin: self + }) + .then(() => compilationResult)) // Execute the template .then(compilationResult => typeof compilationResult !== 'function' ? compilationResult @@ -177,7 +167,7 @@ class HtmlWebpackPlugin { // Allow plugins to change the html before assets are injected .then(html => { const pluginArgs = {html: html, assets: assets, plugin: self, outputName: self.childCompilationOutputName}; - return applyPluginsAsyncWaterfall('html-webpack-plugin-before-html-processing', true, pluginArgs); + return applyPluginsAsyncWaterfall('htmlWebpackPluginBeforeHtmlProcessing', true, pluginArgs); }) .then(result => { const html = result.html; @@ -186,7 +176,7 @@ class HtmlWebpackPlugin { const assetTags = self.generateHtmlTags(assets); const pluginArgs = {head: assetTags.head, body: assetTags.body, plugin: self, chunks: chunks, outputName: self.childCompilationOutputName}; // Allow plugins to change the assetTag definitions - return applyPluginsAsyncWaterfall('html-webpack-plugin-alter-asset-tags', true, pluginArgs) + return applyPluginsAsyncWaterfall('htmlWebpackPluginAlterAssetTags', true, pluginArgs) .then(result => self.postProcessHtml(html, assets, { body: result.body, head: result.head }) .then(html => _.extend(result, {html: html, assets: assets}))); }) @@ -195,7 +185,7 @@ class HtmlWebpackPlugin { const html = result.html; const assets = result.assets; const pluginArgs = {html: html, assets: assets, plugin: self, outputName: self.childCompilationOutputName}; - return applyPluginsAsyncWaterfall('html-webpack-plugin-after-html-processing', true, pluginArgs) + return applyPluginsAsyncWaterfall('htmlWebpackPluginAfterHtmlProcessing', true, pluginArgs) .then(result => result.html); }) .catch(err => { @@ -213,7 +203,7 @@ class HtmlWebpackPlugin { size: () => html.length }; }) - .then(() => applyPluginsAsyncWaterfall('html-webpack-plugin-after-emit', false, { + .then(() => applyPluginsAsyncWaterfall('htmlWebpackPluginAfterEmit', false, { html: compilation.assets[self.childCompilationOutputName], outputName: self.childCompilationOutputName, plugin: self @@ -339,12 +329,7 @@ class HtmlWebpackPlugin { .catch(() => Promise.reject(new Error('HtmlWebpackPlugin: could not load file ' + filename))) .then(results => { const basename = path.basename(filename); - if (compilation.fileDependencies.add) { - compilation.fileDependencies.add(filename); - } else { - // Before Webpack 4 - fileDepenencies was an array - compilation.fileDependencies.push(filename); - } + compilation.fileDependencies.add(filename); compilation.assets[basename] = { source: () => results.source, size: () => results.size.size @@ -663,55 +648,23 @@ class HtmlWebpackPlugin { * a function that helps to merge given plugin arguments with processed ones */ applyPluginsAsyncWaterfall (compilation) { - if (compilation.hooks) { - return (eventName, requiresResult, pluginArgs) => { - const ccEventName = trainCaseToCamelCase(eventName); - if (!compilation.hooks[ccEventName]) { - compilation.errors.push( - new Error('No hook found for ' + eventName) - ); - } - - return compilation.hooks[ccEventName].promise(pluginArgs); - }; - } - - // Before Webpack 4 - const promisedApplyPluginsAsyncWaterfall = function (name, init) { - return new Promise((resolve, reject) => { - const callback = function (err, result) { - if (err) { - return reject(err); - } - resolve(result); - }; - compilation.applyPluginsAsyncWaterfall(name, init, callback); - }); - }; - - return (eventName, requiresResult, pluginArgs) => promisedApplyPluginsAsyncWaterfall(eventName, pluginArgs) + return (eventName, requiresResult, pluginArgs) => { + if (!compilation.hooks[eventName]) { + compilation.errors.push( + new Error('No hook found for ' + eventName) + ); + } + return compilation.hooks[eventName].promise(pluginArgs) .then(result => { if (requiresResult && !result) { - compilation.warnings.push( - new Error('Using ' + eventName + ' without returning a result is deprecated.') - ); + throw new Error('Using ' + eventName + ' did not return a result.'); } - return _.extend(pluginArgs, result); + return result; }); + }; } } -/** - * Takes a string in train case and transforms it to camel case - * - * Example: 'hello-my-world' to 'helloMyWorld' - * - * @param {string} word - */ -function trainCaseToCamelCase (word) { - return word.replace(/-([\w])/g, (match, p1) => p1.toUpperCase()); -} - /** * The default for options.templateParameter * Generate the template parameters @@ -726,5 +679,4 @@ function templateParametersGenerator (compilation, assets, options) { } }; } - module.exports = HtmlWebpackPlugin; diff --git a/lib/compiler.js b/lib/compiler.js index d5c91b6c..b4507456 100644 --- a/lib/compiler.js +++ b/lib/compiler.js @@ -59,9 +59,7 @@ module.exports.compileTemplate = function compileTemplate (template, context, ou // Fix for "Uncaught TypeError: __webpack_require__(...) is not a function" // Hot module replacement requires that every child compiler has its own // cache. @see https://github.com/ampedandwired/html-webpack-plugin/pull/179 - - // Backwards compatible version of: childCompiler.hooks.compilation - (childCompiler.hooks ? childCompiler.hooks.compilation.tap.bind(childCompiler.hooks.compilation, 'HtmlWebpackPlugin') : childCompiler.plugin.bind(childCompiler, 'compilation'))(compilation => { + childCompiler.hooks.compilation.tap('HtmlWebpackPlugin', compilation => { if (compilation.cache) { if (!compilation.cache[compilerName]) { compilation.cache[compilerName] = {}; @@ -81,19 +79,10 @@ module.exports.compileTemplate = function compileTemplate (template, context, ou reject(err); } else { // Replace [hash] placeholders in filename - // In webpack 4 the plugin interface changed, so check for available fns - const outputName = compilation.mainTemplate.getAssetPath - ? compilation.mainTemplate.hooks.assetPath.call(outputOptions.filename, { - hash: childCompilation.hash, - chunk: entries[0] - }) - : compilation.mainTemplate.applyPluginsWaterfall( - 'asset-path', - outputOptions.filename, - { - hash: childCompilation.hash, - chunk: entries[0] - }); + const outputName = compilation.mainTemplate.hooks.assetPath.call(outputOptions.filename, { + hash: childCompilation.hash, + chunk: entries[0] + }); // Restore the parent compilation to the state like it // was before the child compilation diff --git a/package.json b/package.json index 16f02356..bb8f232e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "html-webpack-plugin", - "version": "3.2.0", + "version": "4.0.0", "license": "MIT", "description": "Simplifies creation of HTML files to serve your webpack bundles", "author": "Charles Blaxland (https://github.com/ampedandwired)", @@ -28,8 +28,7 @@ "css-loader": "^0.26.1", "cz-conventional-changelog": "2.1.0", "dir-compare": "1.3.0", - "es6-promise": "^4.0.5", - "extract-text-webpack-plugin": "^1.0.1", + "extract-text-webpack-plugin": "^4.0.0-beta.0", "file-loader": "^0.9.0", "html-loader": "^0.4.4", "jade": "^1.11.0", @@ -42,20 +41,20 @@ "style-loader": "^0.13.1", "underscore-template-loader": "^0.7.3", "url-loader": "^0.5.7", - "webpack": "^1.14.0", + "webpack": "^4.0.0", + "webpack-cli": "2.0.12", "webpack-recompilation-simulator": "^1.3.0" }, "dependencies": { "html-minifier": "^3.2.3", - "loader-utils": "^0.2.16", + "loader-utils": "^1.1.0", "lodash": "^4.17.3", "pretty-error": "^2.0.2", "tapable": "^1.0.0", - "toposort": "^1.0.0", "util.promisify": "1.0.0" }, "peerDependencies": { - "webpack": "^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0" + "webpack": "^4.0.0" }, "keywords": [ "webpack", diff --git a/spec/BasicSpec.js b/spec/BasicSpec.js index 27335deb..708e4577 100644 --- a/spec/BasicSpec.js +++ b/spec/BasicSpec.js @@ -5,12 +5,6 @@ /* eslint-env jasmine */ 'use strict'; -// Workaround for css-loader issue -// https://github.com/webpack/css-loader/issues/144 -if (!global.Promise) { - require('es6-promise').polyfill(); -} - var path = require('path'); var fs = require('fs'); var webpack = require('webpack'); diff --git a/spec/CachingSpec.js b/spec/CachingSpec.js index 4377f94f..de548075 100644 --- a/spec/CachingSpec.js +++ b/spec/CachingSpec.js @@ -5,11 +5,6 @@ /* eslint-env jasmine */ 'use strict'; -// Polyfill promisses for node 0.10.x -if (!global.Promise) { - require('es6-promise').polyfill(); -} - var path = require('path'); var webpack = require('webpack'); var rimraf = require('rimraf'); diff --git a/spec/ExampleSpec.js b/spec/ExampleSpec.js index 0d928dc2..a3780648 100644 --- a/spec/ExampleSpec.js +++ b/spec/ExampleSpec.js @@ -6,12 +6,6 @@ /* eslint-env jasmine */ 'use strict'; -// Workaround for css-loader issue -// https://github.com/webpack/css-loader/issues/144 -if (!global.Promise) { - require('es6-promise').polyfill(); -} - var path = require('path'); var webpack = require('webpack'); var rimraf = require('rimraf'); From b94e0434f5dbb06ee2179e91ebaa2ce7801937e0 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Tue, 15 May 2018 20:02:33 +0200 Subject: [PATCH 015/290] fix: Improve perfomance for appcache files --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index 1d23d881..2d79ae3a 100644 --- a/index.js +++ b/index.js @@ -414,7 +414,7 @@ class HtmlWebpackPlugin { // Will contain all css files css: [], // Will contain the html5 appcache manifest files if it exists - manifest: Object.keys(compilation.assets).filter(assetFile => path.extname(assetFile) === '.appcache')[0] + manifest: Object.keys(compilation.assets).find(assetFile => path.extname(assetFile) === '.appcache') }; // Append a hash for cache busting From d6b65dd1531038deac1be87c2087da5955903d24 Mon Sep 17 00:00:00 2001 From: Tommy Troy Lin Date: Thu, 17 May 2018 10:22:00 +0800 Subject: [PATCH 016/290] feat: support ES6 template string in default loader Only transpile EJS style `<%= name %>`, Close #950 BREAKING CHANGE: Template strings inside templates are now disabled by default --- lib/loader.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/loader.js b/lib/loader.js index 910dabf6..9340e157 100644 --- a/lib/loader.js +++ b/lib/loader.js @@ -25,7 +25,7 @@ module.exports = function (source) { // // Get templating options const options = this.query !== '' ? loaderUtils.getOptions(this) : {}; - const template = _.template(source, _.defaults(options, { variable: 'data' })); + const template = _.template(source, _.defaults(options, { interpolate: /<%=([\s\S]+?)%>/g, variable: 'data' })); // Require !!lodash - using !! will disable all loaders (e.g. babel) return 'var _ = require(' + loaderUtils.stringifyRequest(this, '!!' + require.resolve('lodash')) + ');' + 'module.exports = function (templateParams) { with(templateParams) {' + From ee6a165425a6b47dff341fb651848ec5727d7f7e Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Tue, 15 May 2018 21:46:22 +0200 Subject: [PATCH 017/290] feat(html-tags): Add a helper to create html-tags --- index.js | 26 +++-------------- lib/html-tags.js | 73 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 77 insertions(+), 22 deletions(-) create mode 100644 lib/html-tags.js diff --git a/index.js b/index.js index 2d79ae3a..4349d30f 100644 --- a/index.js +++ b/index.js @@ -10,6 +10,8 @@ const path = require('path'); const SyncWaterfallHook = require('tapable').SyncWaterfallHook; const AsyncSeriesWaterfallHook = require('tapable').AsyncSeriesWaterfallHook; +const htmlTagObjectToString = require('./lib/html-tags').htmlTagObjectToString; + const childCompiler = require('./lib/compiler.js'); const prettyError = require('./lib/errors.js'); const chunkSorter = require('./lib/chunksorter.js'); @@ -549,8 +551,8 @@ class HtmlWebpackPlugin { const htmlRegExp = /(]*>)/i; const headRegExp = /(<\/head\s*>)/i; const bodyRegExp = /(<\/body\s*>)/i; - const body = assetTags.body.map(this.createHtmlTag.bind(this)); - const head = assetTags.head.map(this.createHtmlTag.bind(this)); + const body = assetTags.body.map((assetTagObject) => htmlTagObjectToString(assetTagObject, this.options.xhtml)); + const head = assetTags.head.map((assetTagObject) => htmlTagObjectToString(assetTagObject, this.options.xhtml)); if (body.length) { if (bodyRegExp.test(html)) { @@ -599,26 +601,6 @@ class HtmlWebpackPlugin { return url + (url.indexOf('?') === -1 ? '?' : '&') + hash; } - /** - * Turn a tag definition into a html string - */ - createHtmlTag (tagDefinition) { - const attributes = Object.keys(tagDefinition.attributes || {}) - .filter(attributeName => tagDefinition.attributes[attributeName] !== false) - .map(attributeName => { - if (tagDefinition.attributes[attributeName] === true) { - return attributeName; - } - return attributeName + '="' + tagDefinition.attributes[attributeName] + '"'; - }); - // Backport of 3.x void tag definition - const voidTag = tagDefinition.voidTag !== undefined ? tagDefinition.voidTag : !tagDefinition.closeTag; - const selfClosingTag = tagDefinition.voidTag !== undefined ? tagDefinition.voidTag && this.options.xhtml : tagDefinition.selfClosingTag; - return '<' + [tagDefinition.tagName].concat(attributes).join(' ') + (selfClosingTag ? '/' : '') + '>' + - (tagDefinition.innerHTML || '') + - (voidTag ? '' : ''); - } - /** * Helper to return the absolute template path with a fallback loader */ diff --git a/lib/html-tags.js b/lib/html-tags.js new file mode 100644 index 00000000..cdad0d4a --- /dev/null +++ b/lib/html-tags.js @@ -0,0 +1,73 @@ +// @ts-check +/* eslint-disable */ +/// +/* eslint-enable */ +/** + * @file + * This file provides to helper to create html as a object repesentation as + * thoses objects are easier to modify than pure string representations + * + * Usage: + * ``` + * const element = createHtmlTagObject('h1', {class: 'demo'}, 'Hello World'); + * const html = htmlTagObjectToString(element); + * console.log(html) // ->

Hello World

+ * ``` + */ + +/** + * All html tag elements which must not contain innerHTML + * @see https://www.w3.org/TR/html5/syntax.html#void-elements + */ +const voidTags = ['area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'keygen', 'link', 'meta', 'param', 'source', 'track', 'wbr']; + +/** + * Turn a tag definition into a html string + * @param {HtmlTagObject} tagDefinition + * A tag element according to the htmlWebpackPlugin object notation + * + * @param xhtml {boolean} + * Wether the generated html should add closing slashes to be xhtml compliant + */ +function htmlTagObjectToString (tagDefinition, xhtml) { + const attributes = Object.keys(tagDefinition.attributes || {}) + .filter(function (attributeName) { + return tagDefinition.attributes[attributeName] !== false; + }) + .map(function (attributeName) { + if (tagDefinition.attributes[attributeName] === true) { + return xhtml ? attributeName + '="' + attributeName + '"' : attributeName; + } + return attributeName + '="' + tagDefinition.attributes[attributeName] + '"'; + }); + return '<' + [tagDefinition.tagName].concat(attributes).join(' ') + (tagDefinition.voidTag && xhtml ? '/' : '') + '>' + + (tagDefinition.innerHTML || '') + + (tagDefinition.voidTag ? '' : ''); +} + +/** + * Static helper to create a tag object to be get injected into the dom + * + * @param {string} tagName + * the name of the tage e.g. 'div' + * + * @param {{[attributeName: string]: string|boolean}} [attributes] + * tag attributes e.g. `{ 'class': 'example', disabled: true }` + * + * @param {string} [innerHTML] + * + * @returns {HtmlTagObject} + */ +function createHtmlTagObject (tagName, attributes, innerHTML) { + return { + tagName: tagName, + voidTag: voidTags.indexOf(tagName) !== -1, + attributes: attributes || {}, + innerHTML: innerHTML + }; +} + +module.exports = { + createHtmlTagObject: createHtmlTagObject, + htmlTagObjectToString: htmlTagObjectToString +}; From a6b8d2dcf3b1183d50589b869162b972ad32de4d Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Fri, 18 May 2018 18:54:08 +0200 Subject: [PATCH 018/290] feat: Use jsdoc for static typing --- index.d.ts | 105 +++++++++++++++++++++++++++++++++++ index.js | 134 +++++++++++++++++++++++++++++++++++---------- lib/chunksorter.js | 6 ++ lib/errors.js | 3 +- lib/loader.js | 2 +- package.json | 5 +- tsconfig.json | 36 ++++++++++++ 7 files changed, 258 insertions(+), 33 deletions(-) create mode 100644 index.d.ts create mode 100644 tsconfig.json diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 00000000..39bc3626 --- /dev/null +++ b/index.d.ts @@ -0,0 +1,105 @@ + +/** + * The plugin options + */ +type HtmlWebpackPluginOptions = { + /** + * The title to use for the generated HTML document + */ + title: string, + /** + * `webpack` require path to the template. + * @see https://github.com/jantimon/html-webpack-plugin/blob/master/docs/template-option.md + */ + template: string, + /** + * + */ + templateContent: string | (() => string), + /** + * Allows to overwrite the parameters used in the template + */ + templateParameters: + false // Pass an empty object to the template function + | ((compilation: any, assets, options: HtmlWebpackPluginOptions) => {}) + | Object + /** + * The file to write the HTML to. + * Defaults to `index.html`. + * Supports subdirectories eg: `assets/admin.html` + */ + filename: string, + /** + * If `true` then append a unique `webpack` compilation hash to all included scripts and CSS files. + * This is useful for cache busting + */ + hash: boolean, + /** + * Inject all assets into the given `template` or `templateContent`. + */ + inject: false // Don't inject scripts + | true // Inject scripts into body + | 'body' // Inject scripts into body + | 'head' // Inject scripts into head + /** + * Path to the favicon icon + */ + favicon: false | string, + /** + * HTML Minification options + * @https://github.com/kangax/html-minifier#options-quick-reference + */ + minify: boolean | {}, + cache: boolean, + /** + * Render errors into the HTML page + */ + showErrors: boolean, + /** + * List all entries which should be injected + */ + chunks: 'all' | string[], + /** + * List all entries which should not be injeccted + */ + excludeChunks: string[], + chunksSortMode: 'auto' | 'manual' | (((entryNameA: string, entryNameB: string) => number)), + /** + * Inject meta tags + */ + meta: false // Disable injection + | { + [name: string]: string // name content pair e.g. {viewport: 'width=device-width, initial-scale=1, shrink-to-fit=no'}` + | {[attributeName: string]: string|boolean} // custom properties e.g. { name:"viewport" content:"width=500, initial-scale=1" } + }, + /** + * Enforce self closing tags e.g. + */ + xhtml: boolean +} + +/** + * A tag element according to the htmlWebpackPlugin object notation + */ +interface HtmlTagObject { + /** + * Attributes of the html tag + * E.g. `{'disabled': true, 'value': 'demo'}` + */ + attributes: { + [attributeName: string]: string|boolean + }, + /** + * Wether this html must not contain innerHTML + * @see https://www.w3.org/TR/html5/syntax.html#void-elements + */ + voidTag: boolean, + /** + * The tag name e.g. `'div'` + */ + tagName: string, + /** + * Inner HTML The + */ + innerHTML?: string +} diff --git a/index.js b/index.js index 4349d30f..8ebcd545 100644 --- a/index.js +++ b/index.js @@ -1,8 +1,16 @@ +// @ts-check 'use strict'; // use Polyfill for util.promisify in node versions < v8 const promisify = require('util.promisify'); +// Import types +/* eslint-disable */ +/// +/* eslint-enable */ +/** @typedef {import("webpack/lib/Compiler.js")} WebpackCompiler */ +/** @typedef {import("webpack/lib/Compilation.js")} WebpackCompilation */ + const vm = require('vm'); const fs = require('fs'); const _ = require('lodash'); @@ -20,10 +28,17 @@ const fsStatAsync = promisify(fs.stat); const fsReadFileAsync = promisify(fs.readFile); class HtmlWebpackPlugin { + /** + * @param {Partial} options + */ constructor (options) { // Default options + /** + * @type {HtmlWebpackPluginOptions} + */ this.options = _.extend({ template: path.join(__dirname, 'default_index.ejs'), + templateContent: undefined, templateParameters: templateParametersGenerator, filename: 'index.html', hash: false, @@ -40,8 +55,18 @@ class HtmlWebpackPlugin { title: 'Webpack App', xhtml: false }, options); + // Instance variables to keep caching information + // for multiple builds + this.childCompilerHash = undefined; + this.childCompilationOutputName = undefined; + this.assetJson = undefined; + this.hash = undefined; } + /** + * apply is called by the webpack main compiler during the start phase + * @param {WebpackCompiler} compiler + */ apply (compiler) { const self = this; let isCompilationCached = false; @@ -56,8 +81,12 @@ class HtmlWebpackPlugin { this.options.filename = path.relative(compiler.options.output.path, filename); } - // setup hooks for webpack 4 + // setup hooks for third party plugins compiler.hooks.compilation.tap('HtmlWebpackPluginHooks', compilation => { + // Setup the hooks only once + if (compilation.hooks.htmlWebpackPluginAlterChunks) { + return; + } compilation.hooks.htmlWebpackPluginAlterChunks = new SyncWaterfallHook(['chunks', 'objectWithPluginRef']); compilation.hooks.htmlWebpackPluginBeforeHtmlGeneration = new AsyncSeriesWaterfallHook(['pluginArgs']); compilation.hooks.htmlWebpackPluginBeforeHtmlProcessing = new AsyncSeriesWaterfallHook(['pluginArgs']); @@ -86,7 +115,13 @@ class HtmlWebpackPlugin { }); }); - compiler.hooks.emit.tapAsync('HtmlWebpackPlugin', (compilation, callback) => { + compiler.hooks.emit.tapAsync('HtmlWebpackPlugin', + /** + * Hook into the webpack emit phase + * @param {WebpackCompilation} compilation + * @param {() => void} callback + */ + (compilation, callback) => { const applyPluginsAsyncWaterfall = self.applyPluginsAsyncWaterfall(compilation); // Get chunks info as json // Note: we're excluding stuff that we don't need to improve toJson serialization speed. @@ -175,7 +210,7 @@ class HtmlWebpackPlugin { const html = result.html; const assets = result.assets; // Prepare script and link tags - const assetTags = self.generateHtmlTags(assets); + const assetTags = self.generateHtmlTagObjects(assets); const pluginArgs = {head: assetTags.head, body: assetTags.body, plugin: self, chunks: chunks, outputName: self.childCompilationOutputName}; // Allow plugins to change the assetTag definitions return applyPluginsAsyncWaterfall('htmlWebpackPluginAlterAssetTags', true, pluginArgs) @@ -252,6 +287,8 @@ class HtmlWebpackPlugin { /** * Generate the template parameters for the template function + * @param {WebpackCompilation} compilation + * */ getTemplateParameters (compilation, assets) { if (typeof this.options.templateParameters === 'function') { @@ -266,22 +303,21 @@ class HtmlWebpackPlugin { /** * Html post processing * - * Returns a promise + * @returns Promise */ executeTemplate (templateFunction, chunks, assets, compilation) { - return Promise.resolve() - // Template processing - .then(() => { - const templateParams = this.getTemplateParameters(compilation, assets); - let html = ''; - try { - html = templateFunction(templateParams); - } catch (e) { - compilation.errors.push(new Error('Template execution failed: ' + e)); - return Promise.reject(e); - } - return html; - }); + // Template processing + const templateParams = this.getTemplateParameters(compilation, assets); + let html = ''; + try { + html = templateFunction(templateParams); + } catch (e) { + compilation.errors.push(new Error('Template execution failed: ' + e)); + return Promise.reject(e); + } + // If html is a promise return the promise + // If html is a string turn it into a promise + return Promise.resolve().then(() => html); } /** @@ -290,24 +326,23 @@ class HtmlWebpackPlugin { * Returns a promise */ postProcessHtml (html, assets, assetTags) { - const self = this; if (typeof html !== 'string') { return Promise.reject('Expected html to be a string but got ' + JSON.stringify(html)); } return Promise.resolve() // Inject .then(() => { - if (self.options.inject) { - return self.injectAssetsIntoHtml(html, assets, assetTags); + if (this.options.inject) { + return this.injectAssetsIntoHtml(html, assets, assetTags); } else { return html; } }) // Minify .then(html => { - if (self.options.minify) { + if (this.options.minify) { const minify = require('html-minifier').minify; - return minify(html, self.options.minify); + return minify(html, this.options.minify === true ? {} : this.options.minify); } return html; }); @@ -315,6 +350,8 @@ class HtmlWebpackPlugin { /* * Pushes the content of the given filename to the compilation assets + * @param {string} filename + * @param {WebpackCompilation} compilation */ addFileToAssets (filename, compilation) { filename = path.resolve(compilation.compiler.context, filename); @@ -357,6 +394,9 @@ class HtmlWebpackPlugin { /** * Return all chunks from the compilation result which match the exclude and include filters + * @param {any} chunks + * @param {string[]|'all'} includedChunks + * @param {string[]} excludedChunks */ filterChunks (chunks, includedChunks, excludedChunks) { return chunks.filter(chunk => { @@ -391,7 +431,6 @@ class HtmlWebpackPlugin { } htmlWebpackPluginAssets (compilation, chunks) { - const self = this; const compilationHash = compilation.hash; // Use the configured public path or build a relative path @@ -399,7 +438,7 @@ class HtmlWebpackPlugin { // If a hard coded public path exists use it ? compilation.mainTemplate.getPublicPath({hash: compilationHash}) // If no public path was set get a relative url path - : path.relative(path.resolve(compilation.options.output.path, path.dirname(self.childCompilationOutputName)), compilation.options.output.path) + : path.relative(path.resolve(compilation.options.output.path, path.dirname(this.childCompilationOutputName)), compilation.options.output.path) .split(path.sep).join('/'); if (publicPath.length && publicPath.substr(-1, 1) !== '/') { @@ -421,8 +460,8 @@ class HtmlWebpackPlugin { // Append a hash for cache busting if (this.options.hash) { - assets.manifest = self.appendHash(assets.manifest, compilationHash); - assets.favicon = self.appendHash(assets.favicon, compilationHash); + assets.manifest = this.appendHash(assets.manifest, compilationHash); + assets.favicon = this.appendHash(assets.favicon, compilationHash); } for (let i = 0; i < chunks.length; i++) { @@ -436,7 +475,7 @@ class HtmlWebpackPlugin { // Append a hash for cache busting if (this.options.hash) { - chunkFiles = chunkFiles.map(chunkFile => self.appendHash(chunkFile, compilationHash)); + chunkFiles = chunkFiles.map(chunkFile => this.appendHash(chunkFile, compilationHash)); } // Webpack outputs an array for each chunk when using sourcemaps @@ -464,9 +503,11 @@ class HtmlWebpackPlugin { /** * Generate meta tags + * @returns {HtmlTagObject[]} */ getMetaTags () { - if (this.options.meta === false) { + const metaOptions = this.options.meta; + if (metaOptions === false) { return []; } // Make tags self-closing in case of xhtml @@ -493,7 +534,19 @@ class HtmlWebpackPlugin { } /** - * Injects the assets into the given html string + * Turns the given asset information into tag object representations + * which is seperated into head and body + * + * @param {{ + js: {entryName: string, path: string}[], + css: {entryName: string, path: string}[], + favicon?: string + }} assets + * + * @returns {{ + head: HtmlTagObject[], + body: HtmlTagObject[] + }} */ generateHtmlTags (assets) { // Turn script files into script tags @@ -546,6 +599,17 @@ class HtmlWebpackPlugin { /** * Injects the assets into the given html string + * + * @param {string} html + * @param {any} assets + * The input html + * @param {{ + head: HtmlTagObject[], + body: HtmlTagObject[] + }} assetTags + * The asset tags to inject + * + * @returns {string} */ injectAssetsIntoHtml (html, assets, assetTags) { const htmlRegExp = /(]*>)/i; @@ -592,7 +656,10 @@ class HtmlWebpackPlugin { } /** - * Appends a cache busting hash + * Appends a cache busting hash to the query string of the url + * E.g. http://localhost:8080/ -> http://localhost:8080/?50c9096ba6183fd728eeb065a26ec175 + * @param {string} url + * @param {string} hash */ appendHash (url, hash) { if (!url) { @@ -603,6 +670,10 @@ class HtmlWebpackPlugin { /** * Helper to return the absolute template path with a fallback loader + * @param {string} template + * The path to the tempalate e.g. './index.html' + * @param {string} context + * The webpack base resolution path for relative paths e.g. process.cwd() */ getFullTemplatePath (template, context) { // If the template doesn't use a loader use the lodash template loader @@ -628,6 +699,9 @@ class HtmlWebpackPlugin { /** * Helper to promisify compilation.applyPluginsAsyncWaterfall that returns * a function that helps to merge given plugin arguments with processed ones + * + * @param {WebpackCompilation} compilation + * */ applyPluginsAsyncWaterfall (compilation) { return (eventName, requiresResult, pluginArgs) => { diff --git a/lib/chunksorter.js b/lib/chunksorter.js index d9b87cd4..8bcbead3 100644 --- a/lib/chunksorter.js +++ b/lib/chunksorter.js @@ -1,5 +1,11 @@ +// @ts-check 'use strict'; +// Import webpack types using commonjs +// As we use only the type we have to prevent warnings about unused varaibles +/* eslint-disable */ +const WebpackCompilation = require('webpack/lib/Compilation'); +/* eslint-enable */ /** * Performs identity mapping (no-sort). * @param {Array} chunks the chunks to sort diff --git a/lib/errors.js b/lib/errors.js index 2b946dad..c6cae4c8 100644 --- a/lib/errors.js +++ b/lib/errors.js @@ -1,8 +1,9 @@ +// @ts-nocheck 'use strict'; const PrettyError = require('pretty-error'); const prettyError = new PrettyError(); prettyError.withoutColors(); -prettyError.skipPackage(['html-plugin-evaluation']); +prettyError.skipPackage('html-plugin-evaluation'); prettyError.skipNodeFiles(); prettyError.skip(function (traceLine) { return traceLine.path === 'html-plugin-evaluation'; diff --git a/lib/loader.js b/lib/loader.js index 9340e157..3fecc64b 100644 --- a/lib/loader.js +++ b/lib/loader.js @@ -1,6 +1,6 @@ /* This loader renders the template with underscore if no other loader was found */ +// @ts-nocheck 'use strict'; - const _ = require('lodash'); const loaderUtils = require('loader-utils'); diff --git a/package.json b/package.json index bb8f232e..9ffae619 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ ], "scripts": { "pretest": "semistandard", + "posttest": "tsc --pretty", "commit": "git-cz", "build-examples": "node examples/build-examples.js", "test": "jasmine", @@ -23,6 +24,7 @@ ] }, "devDependencies": { + "@types/node": "10.1.1", "appcache-webpack-plugin": "^1.3.0", "commitizen": "2.9.6", "css-loader": "^0.26.1", @@ -39,9 +41,10 @@ "semistandard": "8.0.0", "standard-version": "^4.3.0", "style-loader": "^0.13.1", + "typescript": "2.9.0-dev.20180518", "underscore-template-loader": "^0.7.3", "url-loader": "^0.5.7", - "webpack": "^4.0.0", + "webpack": "4.8.3", "webpack-cli": "2.0.12", "webpack-recompilation-simulator": "^1.3.0" }, diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..2ac4ae0e --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,36 @@ +{ + "compilerOptions": { + /* Basic Options */ + "allowJs": true, /* Allow javascript files to be compiled. */ + "checkJs": true, /* Report errors in .js files. */ + "noEmit": true, /* Do not emit outputs. */ + "lib": ["es2017"], + + /* Strict Type-Checking Options */ + "strict": false, /* Enable all strict type-checking options. */ + // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* Enable strict null checks. */ + // "strictFunctionTypes": true, /* Enable strict checking of function types. */ + // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ + // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ + // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ + + /* Additional Checks */ + // "noUnusedLocals": true, /* Report errors on unused locals. */ + // "noUnusedParameters": true, /* Report errors on unused parameters. */ + // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ + // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ + + /* Module Resolution Options */ + "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ + "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ + "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ + }, + "types": ["node"], + "exclude": [ + "node_modules", + "spec", + "examples", + "dist" + ] +} From 6ae6f48ecf92b080809d68092ee8c6825edfe5a4 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Tue, 22 May 2018 13:52:39 +0200 Subject: [PATCH 019/290] feat: Export major version of this plugin --- index.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/index.js b/index.js index 8ebcd545..d1b2673b 100644 --- a/index.js +++ b/index.js @@ -61,6 +61,10 @@ class HtmlWebpackPlugin { this.childCompilationOutputName = undefined; this.assetJson = undefined; this.hash = undefined; + /** + * The major version number of this plugin + */ + this.version = 4; } /** From 5d3d8e4b73b7b97dba8bdf5fe1ecf50598040b54 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Fri, 18 May 2018 18:55:48 +0200 Subject: [PATCH 020/290] feat: Remove selfClosingTag BREAKING CHANGE: Remove selfClosingTag attribute --- index.js | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/index.js b/index.js index d1b2673b..f22134b5 100644 --- a/index.js +++ b/index.js @@ -517,13 +517,12 @@ class HtmlWebpackPlugin { // Make tags self-closing in case of xhtml // Turn { "viewport" : "width=500, initial-scale=1" } into // [{ name:"viewport" content:"width=500, initial-scale=1" }] - const selfClosingTag = !!this.options.xhtml; - const metaTagAttributeObjects = Object.keys(this.options.meta).map((metaName) => { - const metaTagContent = this.options.meta[metaName]; - return (typeof metaTagContent === 'object') ? metaTagContent : { + const metaTagAttributeObjects = Object.keys(metaOptions).map((metaName) => { + const metaTagContent = metaOptions[metaName]; + return (typeof metaTagContent === 'string') ? { name: metaName, content: metaTagContent - }; + } : metaTagContent; }); // Turn [{ name:"viewport" content:"width=500, initial-scale=1" }] into // the html-webpack-plugin tag structure @@ -531,7 +530,6 @@ class HtmlWebpackPlugin { return { tagName: 'meta', voidTag: true, - selfClosingTag: selfClosingTag, attributes: metaTagAttributes }; }); @@ -552,22 +550,19 @@ class HtmlWebpackPlugin { body: HtmlTagObject[] }} */ - generateHtmlTags (assets) { + generateHtmlTagObjects (assets) { // Turn script files into script tags const scripts = assets.js.map(scriptPath => ({ tagName: 'script', - closeTag: true, + voidTag: false, attributes: { type: 'text/javascript', src: scriptPath } })); - // Make tags self-closing in case of xhtml - const selfClosingTag = !!this.options.xhtml; // Turn css files into link tags const styles = assets.css.map(stylePath => ({ tagName: 'link', - selfClosingTag: selfClosingTag, voidTag: true, attributes: { href: stylePath, @@ -582,7 +577,6 @@ class HtmlWebpackPlugin { if (assets.favicon) { head.push({ tagName: 'link', - selfClosingTag: selfClosingTag, voidTag: true, attributes: { rel: 'shortcut icon', From cc3bf4909605879993c22e3048ee520dbdc8fa49 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Sat, 19 May 2018 18:48:37 +0200 Subject: [PATCH 021/290] fix: Update lodash to 4.17.10 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9ffae619..e089a534 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "dependencies": { "html-minifier": "^3.2.3", "loader-utils": "^1.1.0", - "lodash": "^4.17.3", + "lodash": "^4.17.10", "pretty-error": "^2.0.2", "tapable": "^1.0.0", "util.promisify": "1.0.0" From b46bf67ae4492a12b60c42c7d26831e480522b49 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Sat, 19 May 2018 19:12:16 +0200 Subject: [PATCH 022/290] feat: Remove type="text/javascript" from injected script tags MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://www.w3.org/TR/html5/scripting-1.html#attr-script-type “The default, which is used if the attribute is absent, is "text/javascript"” BREAKING CHANGE: The mimetype information "text/javascript" is removed from all generated script tags --- examples/appcache/dist/webpack-4/index.html | 2 +- .../custom-template/dist/webpack-4/index.html | 2 +- examples/default/dist/webpack-4/index.html | 2 +- examples/favicon/dist/webpack-4/favicon.html | 2 +- .../html-loader/dist/webpack-4/about.html | 2 +- .../html-loader/dist/webpack-4/index.html | 2 +- examples/inline/dist/webpack-4/index.html | 2 +- examples/inline/template.jade | 2 +- .../jade-loader/dist/webpack-4/index.html | 2 +- .../dist/webpack-4/index.html | 2 +- examples/javascript/dist/webpack-4/index.html | 2 +- .../dist/webpack-4/first-file.html | 2 +- .../dist/webpack-4/second-file.html | 2 +- .../dist/webpack-4/index.html | 2 +- index.js | 1 - spec/BasicSpec.js | 84 +++++++++---------- spec/fixtures/invalid.html | 2 +- spec/fixtures/legacy.html | 2 +- spec/fixtures/template.jade | 2 +- spec/fixtures/test.html | 2 +- spec/fixtures/webpackconfig.html | 2 +- 21 files changed, 61 insertions(+), 62 deletions(-) diff --git a/examples/appcache/dist/webpack-4/index.html b/examples/appcache/dist/webpack-4/index.html index 536e8a47..3a2aa9e5 100644 --- a/examples/appcache/dist/webpack-4/index.html +++ b/examples/appcache/dist/webpack-4/index.html @@ -1 +1 @@ -Example template \ No newline at end of file +Example template \ No newline at end of file diff --git a/examples/custom-template/dist/webpack-4/index.html b/examples/custom-template/dist/webpack-4/index.html index d68bf441..9a4b4918 100644 --- a/examples/custom-template/dist/webpack-4/index.html +++ b/examples/custom-template/dist/webpack-4/index.html @@ -8,5 +8,5 @@

Partial

- + diff --git a/examples/default/dist/webpack-4/index.html b/examples/default/dist/webpack-4/index.html index 866dfa44..8a7f3ef8 100644 --- a/examples/default/dist/webpack-4/index.html +++ b/examples/default/dist/webpack-4/index.html @@ -5,5 +5,5 @@ Webpack App - + \ No newline at end of file diff --git a/examples/favicon/dist/webpack-4/favicon.html b/examples/favicon/dist/webpack-4/favicon.html index dd7daeb2..7276322a 100644 --- a/examples/favicon/dist/webpack-4/favicon.html +++ b/examples/favicon/dist/webpack-4/favicon.html @@ -5,5 +5,5 @@ HtmlWebpackPlugin example - + \ No newline at end of file diff --git a/examples/html-loader/dist/webpack-4/about.html b/examples/html-loader/dist/webpack-4/about.html index 68c0cab2..5689f881 100644 --- a/examples/html-loader/dist/webpack-4/about.html +++ b/examples/html-loader/dist/webpack-4/about.html @@ -7,5 +7,5 @@ - + \ No newline at end of file diff --git a/examples/html-loader/dist/webpack-4/index.html b/examples/html-loader/dist/webpack-4/index.html index 68c0cab2..5689f881 100644 --- a/examples/html-loader/dist/webpack-4/index.html +++ b/examples/html-loader/dist/webpack-4/index.html @@ -7,5 +7,5 @@ - + \ No newline at end of file diff --git a/examples/inline/dist/webpack-4/index.html b/examples/inline/dist/webpack-4/index.html index b49fc66a..9d15ee9c 100644 --- a/examples/inline/dist/webpack-4/index.html +++ b/examples/inline/dist/webpack-4/index.html @@ -1,6 +1,6 @@ Jade demo \ No newline at end of file +Jade demo
Current time

1999-01-01T05:00:00.000Z

\ No newline at end of file diff --git a/examples/javascript-advanced/dist/webpack-4/index.html b/examples/javascript-advanced/dist/webpack-4/index.html index 61d6408d..194f6fba 100644 --- a/examples/javascript-advanced/dist/webpack-4/index.html +++ b/examples/javascript-advanced/dist/webpack-4/index.html @@ -1,2 +1,2 @@ Webpack AppHello World from backend -

Partial

- \ No newline at end of file + \ No newline at end of file diff --git a/examples/javascript/dist/webpack-4/index.html b/examples/javascript/dist/webpack-4/index.html index b0bcd096..2d600e19 100644 --- a/examples/javascript/dist/webpack-4/index.html +++ b/examples/javascript/dist/webpack-4/index.html @@ -1,2 +1,2 @@ Hello World from backend2018-02-14T04:00:28.077Z

Partial

- \ No newline at end of file + \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-4/first-file.html b/examples/sort-manually/dist/webpack-4/first-file.html index afacda4b..b2d63a4f 100644 --- a/examples/sort-manually/dist/webpack-4/first-file.html +++ b/examples/sort-manually/dist/webpack-4/first-file.html @@ -7,5 +7,5 @@ - + \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-4/second-file.html b/examples/sort-manually/dist/webpack-4/second-file.html index d6d80d35..1ef7520f 100644 --- a/examples/sort-manually/dist/webpack-4/second-file.html +++ b/examples/sort-manually/dist/webpack-4/second-file.html @@ -7,5 +7,5 @@ - + \ No newline at end of file diff --git a/examples/template-parameters/dist/webpack-4/index.html b/examples/template-parameters/dist/webpack-4/index.html index 397760f0..5d06507e 100644 --- a/examples/template-parameters/dist/webpack-4/index.html +++ b/examples/template-parameters/dist/webpack-4/index.html @@ -5,5 +5,5 @@ bar - + diff --git a/index.js b/index.js index f22134b5..465190ad 100644 --- a/index.js +++ b/index.js @@ -556,7 +556,6 @@ class HtmlWebpackPlugin { tagName: 'script', voidTag: false, attributes: { - type: 'text/javascript', src: scriptPath } })); diff --git a/spec/BasicSpec.js b/spec/BasicSpec.js index 708e4577..d8b6d964 100644 --- a/spec/BasicSpec.js +++ b/spec/BasicSpec.js @@ -166,7 +166,7 @@ describe('HtmlWebpackPlugin', function () { filename: 'index_bundle.js' }, plugins: [new HtmlWebpackPlugin()] - }, [/[\s]* + diff --git a/spec/fixtures/legacy.html b/spec/fixtures/legacy.html index 91cb1579..f7473d16 100644 --- a/spec/fixtures/legacy.html +++ b/spec/fixtures/legacy.html @@ -6,6 +6,6 @@

Some unique text

- + diff --git a/spec/fixtures/template.jade b/spec/fixtures/template.jade index 39aa1a97..5f56e942 100644 --- a/spec/fixtures/template.jade +++ b/spec/fixtures/template.jade @@ -6,4 +6,4 @@ html body p Some unique text each jsFile in htmlWebpackPlugin.files.js - script(type="text/javascript" src!=jsFile) + script(src!=jsFile) diff --git a/spec/fixtures/test.html b/spec/fixtures/test.html index fa8a9ec5..78d04850 100644 --- a/spec/fixtures/test.html +++ b/spec/fixtures/test.html @@ -6,6 +6,6 @@

Some unique text

- + diff --git a/spec/fixtures/webpackconfig.html b/spec/fixtures/webpackconfig.html index 3359eb7d..31d8cb67 100644 --- a/spec/fixtures/webpackconfig.html +++ b/spec/fixtures/webpackconfig.html @@ -6,6 +6,6 @@

Public path is <%= webpackConfig.output.publicPath %>

- + From 55313bee9b82ea79157085e48bba4fa2ebfef6a4 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Sat, 19 May 2018 19:23:38 +0200 Subject: [PATCH 023/290] feat: Simplify element and charset attribute See https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Obsolete_things_to_avoid BREAKING CHANGE: The default meta utf-8 declaration was changed to --- README.md | 4 ++-- default_index.ejs | 2 +- examples/default/dist/webpack-4/index.html | 2 +- examples/favicon/dist/webpack-4/favicon.html | 2 +- examples/inline/dist/webpack-4/index.html | 2 +- examples/inline/template.jade | 2 +- examples/template-parameters/dist/webpack-4/index.html | 2 +- examples/template-parameters/index.ejs | 2 +- spec/fixtures/invalid.html | 2 +- spec/fixtures/legacy.html | 2 +- spec/fixtures/template.jade | 2 +- spec/fixtures/test.html | 2 +- spec/fixtures/webpackconfig.html | 2 +- 13 files changed, 14 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index d7d3b2dd..0fe1099e 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,7 @@ This will generate a file `dist/index.html` containing the following - + Webpack App @@ -189,7 +189,7 @@ plugins: [ - + <%= htmlWebpackPlugin.options.title %> diff --git a/default_index.ejs b/default_index.ejs index f9466a46..4664dafb 100644 --- a/default_index.ejs +++ b/default_index.ejs @@ -1,7 +1,7 @@ - + <%= htmlWebpackPlugin.options.title %> diff --git a/examples/default/dist/webpack-4/index.html b/examples/default/dist/webpack-4/index.html index 8a7f3ef8..56ddec91 100644 --- a/examples/default/dist/webpack-4/index.html +++ b/examples/default/dist/webpack-4/index.html @@ -1,7 +1,7 @@ - + Webpack App diff --git a/examples/favicon/dist/webpack-4/favicon.html b/examples/favicon/dist/webpack-4/favicon.html index 7276322a..a2d8db3b 100644 --- a/examples/favicon/dist/webpack-4/favicon.html +++ b/examples/favicon/dist/webpack-4/favicon.html @@ -1,7 +1,7 @@ - + HtmlWebpackPlugin example diff --git a/examples/inline/dist/webpack-4/index.html b/examples/inline/dist/webpack-4/index.html index 9d15ee9c..8521e834 100644 --- a/examples/inline/dist/webpack-4/index.html +++ b/examples/inline/dist/webpack-4/index.html @@ -1,4 +1,4 @@ -Jade demo + diff --git a/spec/fixtures/webpackconfig.html b/spec/fixtures/webpackconfig.html index f4616a14..a7f47f3f 100644 --- a/spec/fixtures/webpackconfig.html +++ b/spec/fixtures/webpackconfig.html @@ -6,6 +6,6 @@

Public path is <%= webpackConfig.output.publicPath %>

- + \ No newline at end of file +Jade demo
Current time

1998-12-31T23:00:00.000Z

\ No newline at end of file diff --git a/examples/jade-loader/webpack.config.js b/examples/jade-loader/webpack.config.js index 26c0f66a..cf9d284e 100755 --- a/examples/jade-loader/webpack.config.js +++ b/examples/jade-loader/webpack.config.js @@ -11,8 +11,8 @@ module.exports = { filename: 'bundle.js' }, module: { - loaders: [ - { test: /\.css$/, loader: ExtractTextPlugin.extract('style-loader', 'css-loader') }, + rules: [ + { test: /\.css$/, loader: ExtractTextPlugin.extract({ fallback: 'style-loader', use: 'css-loader' }) }, { test: /\.png$/, loader: 'file-loader' }, { test: /\.jade$/, loader: 'jade-loader' } ] diff --git a/examples/javascript-advanced/webpack.config.js b/examples/javascript-advanced/webpack.config.js index d1d3d636..be24ecc2 100644 --- a/examples/javascript-advanced/webpack.config.js +++ b/examples/javascript-advanced/webpack.config.js @@ -11,8 +11,8 @@ module.exports = { filename: 'bundle.js' }, module: { - loaders: [ - { test: /\.css$/, loader: ExtractTextPlugin.extract('style-loader', 'css-loader') }, + rules: [ + { test: /\.css$/, loader: ExtractTextPlugin.extract({ fallback: 'style-loader', use: 'css-loader' }) }, { test: /\.png$/, loader: 'file-loader' }, { test: /\.html$/, loader: 'html-loader' } ] diff --git a/examples/javascript/dist/webpack-4/index.html b/examples/javascript/dist/webpack-4/index.html index 2d600e19..c273d21c 100644 --- a/examples/javascript/dist/webpack-4/index.html +++ b/examples/javascript/dist/webpack-4/index.html @@ -1,2 +1,2 @@ -Hello World from backend2018-02-14T04:00:28.077Z

Partial

+Hello World from backend2018-07-09T17:14:39.242Z

Partial

\ No newline at end of file diff --git a/examples/javascript/webpack.config.js b/examples/javascript/webpack.config.js index d1d3d636..be24ecc2 100644 --- a/examples/javascript/webpack.config.js +++ b/examples/javascript/webpack.config.js @@ -11,8 +11,8 @@ module.exports = { filename: 'bundle.js' }, module: { - loaders: [ - { test: /\.css$/, loader: ExtractTextPlugin.extract('style-loader', 'css-loader') }, + rules: [ + { test: /\.css$/, loader: ExtractTextPlugin.extract({ fallback: 'style-loader', use: 'css-loader' }) }, { test: /\.png$/, loader: 'file-loader' }, { test: /\.html$/, loader: 'html-loader' } ] diff --git a/examples/sort-manually/webpack.config.js b/examples/sort-manually/webpack.config.js index 98b0b186..6b01825d 100644 --- a/examples/sort-manually/webpack.config.js +++ b/examples/sort-manually/webpack.config.js @@ -17,8 +17,8 @@ module.exports = { filename: '[name].js' }, module: { - loaders: [ - { test: /\.css$/, loader: ExtractTextPlugin.extract('style-loader', 'css-loader') }, + rules: [ + { test: /\.css$/, loader: ExtractTextPlugin.extract({ fallback: 'style-loader', use: 'css-loader' }) }, { test: /\.png$/, loader: 'file-loader' }, { test: /\.html$/, loader: 'html-loader' } ] diff --git a/index.js b/index.js index 4a3e7fa8..e85f2d05 100644 --- a/index.js +++ b/index.js @@ -111,11 +111,11 @@ class HtmlWebpackPlugin { }); compiler.hooks.emit.tapAsync('HtmlWebpackPlugin', - /** - * Hook into the webpack emit phase - * @param {WebpackCompilation} compilation - * @param {() => void} callback - */ + /** + * Hook into the webpack emit phase + * @param {WebpackCompilation} compilation + * @param {() => void} callback + */ (compilation, callback) => { // Clear the childCompilerCache childCompiler.clearCache(compiler); @@ -156,7 +156,7 @@ class HtmlWebpackPlugin { }); } }) - // Wait for the compilation to finish + // Wait for the compilation to finish .then(() => compilationPromise) .then(compiledTemplate => { // Allow to use a custom function / string instead @@ -167,22 +167,22 @@ class HtmlWebpackPlugin { // and replace it with its content return self.evaluateCompilationResult(compilation, compiledTemplate); }) - // Allow plugins to make changes to the assets before invoking the template - // This only makes sense to use if `inject` is `false` - .then(compilationResult => getHtmlWebpackPluginHooks(compilation).htmlWebpackPluginBeforeHtmlGeneration.promise({ + // Allow plugins to make changes to the assets before invoking the template + // This only makes sense to use if `inject` is `false` + .then(compilationResult => getHtmlWebpackPluginHooks(compilation).beforeHtmlGeneration.promise({ assets: assets, outputName: self.childCompilationOutputName, plugin: self }) .then(() => compilationResult)) - // Execute the template + // Execute the template .then(compilationResult => typeof compilationResult !== 'function' ? compilationResult : self.executeTemplate(compilationResult, assets, compilation)) - // Allow plugins to change the html before assets are injected + // Allow plugins to change the html before assets are injected .then(html => { const pluginArgs = {html: html, assets: assets, plugin: self, outputName: self.childCompilationOutputName}; - return getHtmlWebpackPluginHooks(compilation).htmlWebpackPluginBeforeHtmlProcessing.promise(pluginArgs); + return getHtmlWebpackPluginHooks(compilation).beforeHtmlProcessing.promise(pluginArgs); }) .then(result => { const html = result.html; @@ -191,34 +191,34 @@ class HtmlWebpackPlugin { const assetTags = self.generateHtmlTagObjects(assets); const pluginArgs = {head: assetTags.head, body: assetTags.body, plugin: self, outputName: self.childCompilationOutputName}; // Allow plugins to change the assetTag definitions - return getHtmlWebpackPluginHooks(compilation).htmlWebpackPluginAlterAssetTags.promise(pluginArgs) + return getHtmlWebpackPluginHooks(compilation).alterAssetTags.promise(pluginArgs) .then(result => self.postProcessHtml(html, assets, { body: result.body, head: result.head }) .then(html => _.extend(result, {html: html, assets: assets}))); }) - // Allow plugins to change the html after assets are injected + // Allow plugins to change the html after assets are injected .then(result => { const html = result.html; const assets = result.assets; const pluginArgs = {html: html, assets: assets, plugin: self, outputName: self.childCompilationOutputName}; - return getHtmlWebpackPluginHooks(compilation).htmlWebpackPluginAfterHtmlProcessing.promise(pluginArgs) + return getHtmlWebpackPluginHooks(compilation).afterHtmlProcessing.promise(pluginArgs) .then(result => result.html); }) .catch(err => { - // In case anything went wrong the promise is resolved - // with the error message and an error is logged + // In case anything went wrong the promise is resolved + // with the error message and an error is logged compilation.errors.push(prettyError(err, compiler.context).toString()); // Prevent caching self.hash = null; return self.options.showErrors ? prettyError(err, compiler.context).toHtml() : 'ERROR'; }) .then(html => { - // Replace the compilation result with the evaluated html code + // Replace the compilation result with the evaluated html code compilation.assets[self.childCompilationOutputName] = { source: () => html, size: () => html.length }; }) - .then(() => getHtmlWebpackPluginHooks(compilation).htmlWebpackPluginAfterEmit.promise({ + .then(() => getHtmlWebpackPluginHooks(compilation).afterEmit.promise({ html: compilation.assets[self.childCompilationOutputName], outputName: self.childCompilationOutputName, plugin: self @@ -226,7 +226,7 @@ class HtmlWebpackPlugin { console.error(err); return null; }).then(() => null)) - // Let webpack continue with it + // Let webpack continue with it .then(() => { callback(); }); diff --git a/lib/chunksorter.js b/lib/chunksorter.js index d555fbac..40d9909d 100644 --- a/lib/chunksorter.js +++ b/lib/chunksorter.js @@ -6,15 +6,14 @@ * @type {{[sortmode: string] : (entryPointNames: Array, compilation, htmlWebpackPluginOptions) => Array }} * This file contains different sort methods for the entry chunks names */ -const sortFunctions = {}; -module.exports = sortFunctions; +module.exports = {}; /** * Performs identity mapping (no-sort). * @param {Array} chunks the chunks to sort * @return {Array} The sorted chunks */ -sortFunctions.none = chunks => chunks; +module.exports.none = chunks => chunks; /** * Sort manually by the chunks @@ -23,7 +22,7 @@ sortFunctions.none = chunks => chunks; * @param htmlWebpackPluginOptions the plugin options * @return {string[]} The sorted chunks */ -sortFunctions.manual = (entryPointNames, compilation, htmlWebpackPluginOptions) => { +module.exports.manual = (entryPointNames, compilation, htmlWebpackPluginOptions) => { const chunks = htmlWebpackPluginOptions.chunks; if (!Array.isArray(chunks)) { return entryPointNames; @@ -38,4 +37,4 @@ sortFunctions.manual = (entryPointNames, compilation, htmlWebpackPluginOptions) /** * Defines the default sorter. */ -sortFunctions.auto = module.exports.none; +module.exports.auto = module.exports.none; diff --git a/lib/hooks.js b/lib/hooks.js index 49d6595b..77480e79 100644 --- a/lib/hooks.js +++ b/lib/hooks.js @@ -15,7 +15,8 @@ const AsyncSeriesWaterfallHook = require('tapable').AsyncSeriesWaterfallHook; // The following typedef holds the API definition for all available hooks // to allow easier access when using ts-check or typescript inside plugins /** @typedef {{ - htmlWebpackPluginBeforeHtmlGeneration: + + beforeHtmlGeneration: AsyncSeriesWaterfallHook<{ assets: { publicPath: string, @@ -25,7 +26,8 @@ const AsyncSeriesWaterfallHook = require('tapable').AsyncSeriesWaterfallHook; outputName: string, plugin: HtmlWebpackPlugin }>, - htmlWebpackPluginBeforeHtmlProcessing: + + beforeHtmlProcessing: AsyncSeriesWaterfallHook<{ html: string, assets: { @@ -36,7 +38,8 @@ const AsyncSeriesWaterfallHook = require('tapable').AsyncSeriesWaterfallHook; outputName: string, plugin: HtmlWebpackPlugin, }>, - htmlWebpackPluginAfterHtmlProcessing: + + afterHtmlProcessing: AsyncSeriesWaterfallHook<{ html: string, assets: { @@ -47,19 +50,22 @@ const AsyncSeriesWaterfallHook = require('tapable').AsyncSeriesWaterfallHook; outputName: string, plugin: HtmlWebpackPlugin, }>, - htmlWebpackPluginAlterAssetTags: + + alterAssetTags: AsyncSeriesWaterfallHook<{ head: Array, body: Array, outputName: string, plugin: HtmlWebpackPlugin }>, - htmlWebpackPluginAfterEmit: + + afterEmit: AsyncSeriesWaterfallHook<{ html: string, outputName: string, plugin: HtmlWebpackPlugin }>, + }} HtmlWebpackPluginHooks */ @@ -81,13 +87,7 @@ function getHtmlWebpackPluginHooks (compilation) { hooks = createHtmlWebpackPluginHooks(); htmlWebpackPluginHooksMap.set(compilation, hooks); } - return { - htmlWebpackPluginBeforeHtmlGeneration: hooks.htmlWebpackPluginBeforeHtmlGeneration, - htmlWebpackPluginBeforeHtmlProcessing: hooks.htmlWebpackPluginBeforeHtmlProcessing, - htmlWebpackPluginAlterAssetTags: hooks.htmlWebpackPluginAlterAssetTags, - htmlWebpackPluginAfterHtmlProcessing: hooks.htmlWebpackPluginAfterHtmlProcessing, - htmlWebpackPluginAfterEmit: hooks.htmlWebpackPluginAfterEmit - }; + return hooks; } /** @@ -98,11 +98,11 @@ function getHtmlWebpackPluginHooks (compilation) { */ function createHtmlWebpackPluginHooks () { return { - htmlWebpackPluginBeforeHtmlGeneration: new AsyncSeriesWaterfallHook(['pluginArgs']), - htmlWebpackPluginBeforeHtmlProcessing: new AsyncSeriesWaterfallHook(['pluginArgs']), - htmlWebpackPluginAlterAssetTags: new AsyncSeriesWaterfallHook(['pluginArgs']), - htmlWebpackPluginAfterHtmlProcessing: new AsyncSeriesWaterfallHook(['pluginArgs']), - htmlWebpackPluginAfterEmit: new AsyncSeriesWaterfallHook(['pluginArgs']) + beforeHtmlGeneration: new AsyncSeriesWaterfallHook(['pluginArgs']), + beforeHtmlProcessing: new AsyncSeriesWaterfallHook(['pluginArgs']), + alterAssetTags: new AsyncSeriesWaterfallHook(['pluginArgs']), + afterHtmlProcessing: new AsyncSeriesWaterfallHook(['pluginArgs']), + afterEmit: new AsyncSeriesWaterfallHook(['pluginArgs']) }; } diff --git a/package.json b/package.json index 911b124f..364e0696 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,8 @@ "posttest": "tsc", "commit": "git-cz", "build-examples": "node examples/build-examples.js", - "test": "jasmine", + "test": "jest --runInBand", + "test-watch": "jest --runInBand --watch", "release": "standard-version" }, "semistandard": { @@ -35,8 +36,7 @@ "html-loader": "^0.4.4", "jade": "^1.11.0", "jade-loader": "^0.8.0", - "jasmine": "^2.5.2", - "jasmine-diff-matchers": "^2.0.0", + "jest": "23.3.0", "rimraf": "^2.5.4", "semistandard": "8.0.0", "standard-version": "^4.3.0", @@ -76,5 +76,9 @@ "commitizen": { "path": "./node_modules/cz-conventional-changelog" } + }, + "jest": { + "watchPathIgnorePatterns": ["/dist"], + "testEnvironment": "node" } } diff --git a/spec/BasicSpec.js b/spec/basic.spec.js similarity index 90% rename from spec/BasicSpec.js rename to spec/basic.spec.js index 345f9243..faa047cd 100644 --- a/spec/BasicSpec.js +++ b/spec/basic.spec.js @@ -2,7 +2,7 @@ * Integration and unit tests for all features but caching */ -/* eslint-env jasmine */ +/* eslint-env jest */ 'use strict'; var path = require('path'); @@ -16,9 +16,7 @@ var webpackMajorVersion = Number(require('webpack/package.json').version.split(' if (isNaN(webpackMajorVersion)) { throw new Error('Cannot parse webpack major version'); } -if (webpackMajorVersion < 4) { - var CommonsChunkPlugin = require('webpack/lib/optimize/CommonsChunkPlugin'); -} + var HtmlWebpackPlugin = require('../index.js'); if (Number(extractTextPluginMajorVersion) > 1) { @@ -31,45 +29,12 @@ if (Number(extractTextPluginMajorVersion) > 1) { }; } -var OUTPUT_DIR = path.join(__dirname, '../dist'); +var OUTPUT_DIR = path.resolve(__dirname, '../dist/basic-spec'); -jasmine.getEnv().defaultTimeoutInterval = 30000; - -function transformCommonChunkConfigToOptimization (config) { - if (config.name === 'common') { - return { - splitChunks: { - cacheGroups: { - commons: { - chunks: 'initial', - name: config.name, - enforce: true - } - } - } - }; - } else { - throw new Error('Unrecognized common chunk config'); - } -} +jest.setTimeout(30000); +process.on('unhandledRejection', r => console.log(r)); function testHtmlPlugin (webpackConfig, expectedResults, outputFile, done, expectErrors, expectWarnings) { - if (webpackMajorVersion >= 4) { - webpackConfig.mode = 'development'; - if (webpackConfig.module && webpackConfig.module.loaders) { - webpackConfig.module.rules = webpackConfig.module.loaders; - delete webpackConfig.module.loaders; - } - } - if (webpackConfig.__commonsChunk) { - if (webpackMajorVersion < 4) { - webpackConfig.plugins = webpackConfig.plugins || []; - webpackConfig.plugins.unshift(new CommonsChunkPlugin(webpackConfig.__commonsChunk)); - } else { - webpackConfig.optimization = transformCommonChunkConfigToOptimization(webpackConfig.__commonsChunk); - } - delete webpackConfig.__commonsChunk; - } outputFile = outputFile || 'index.html'; webpack(webpackConfig, function (err, stats) { expect(err).toBeFalsy(); @@ -133,26 +98,6 @@ function getChunksInfoFromStats (stats) { return chunksInfo; } -function tapCompilationEvent (compilation, eventName, handler) { - // Webpack 4 has a new interface - if (compilation.hooks) { - return HtmlWebpackPlugin.getHooks(compilation)[trainCaseToCamelCase(eventName)].tapAsync( - 'AsyncPlugin' + tapCompilationEvent.counter++, - handler - ); - } else { - return compilation.plugin(eventName, handler); - } -} -// There's probably a better way to do this -tapCompilationEvent.counter = 0; - -function trainCaseToCamelCase (word) { - return word.replace(/-([\w])/g, function (match, p1) { - return p1.toUpperCase(); - }); -} - describe('HtmlWebpackPlugin', function () { beforeEach(function (done) { rimraf(OUTPUT_DIR, done); @@ -160,6 +105,7 @@ describe('HtmlWebpackPlugin', function () { it('generates a default index.html file for a single entry point', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -171,6 +117,7 @@ describe('HtmlWebpackPlugin', function () { it('generates a default index.html file with multiple entry points', function (done) { testHtmlPlugin({ + mode: 'production', entry: { util: path.join(__dirname, 'fixtures/util.js'), app: path.join(__dirname, 'fixtures/index.js') @@ -185,6 +132,7 @@ describe('HtmlWebpackPlugin', function () { it('allows you to specify a custom loader without injection', function (done) { testHtmlPlugin({ + mode: 'production', entry: { app: path.join(__dirname, 'fixtures/index.js') }, @@ -202,6 +150,7 @@ describe('HtmlWebpackPlugin', function () { it('should pass through loader errors', function (done) { testHtmlPlugin({ + mode: 'production', entry: { app: path.join(__dirname, 'fixtures/index.js') }, @@ -219,11 +168,12 @@ describe('HtmlWebpackPlugin', function () { it('uses a custom loader from webpacks config', function (done) { testHtmlPlugin({ + mode: 'production', entry: { app: path.join(__dirname, 'fixtures/index.js') }, module: { - loaders: [ + rules: [ {test: /\.jade$/, loader: 'jade-loader'} ] }, @@ -241,6 +191,7 @@ describe('HtmlWebpackPlugin', function () { it('works when using html-loader', function (done) { testHtmlPlugin({ + mode: 'production', entry: { app: path.join(__dirname, 'fixtures/index.js') }, @@ -258,6 +209,7 @@ describe('HtmlWebpackPlugin', function () { it('allows you to specify your own HTML template file', function (done) { testHtmlPlugin({ + mode: 'production', entry: { app: path.join(__dirname, 'fixtures/index.js') }, @@ -275,6 +227,7 @@ describe('HtmlWebpackPlugin', function () { it('allows you to inject the assets into a given html file', function (done) { testHtmlPlugin({ + mode: 'production', entry: { util: path.join(__dirname, 'fixtures/util.js'), app: path.join(__dirname, 'fixtures/index.js') @@ -292,6 +245,7 @@ describe('HtmlWebpackPlugin', function () { it('allows you to inject the assets into the body of the given template', function (done) { testHtmlPlugin({ + mode: 'production', entry: { util: path.join(__dirname, 'fixtures/util.js'), app: path.join(__dirname, 'fixtures/index.js') @@ -309,6 +263,7 @@ describe('HtmlWebpackPlugin', function () { it('allows you to inject the assets into the head of the given template', function (done) { testHtmlPlugin({ + mode: 'production', entry: { util: path.join(__dirname, 'fixtures/util.js'), app: path.join(__dirname, 'fixtures/index.js') @@ -326,6 +281,7 @@ describe('HtmlWebpackPlugin', function () { it('allows you to inject a specified asset into a given html file', function (done) { testHtmlPlugin({ + mode: 'production', entry: { util: path.join(__dirname, 'fixtures/util.js'), app: path.join(__dirname, 'fixtures/index.js') @@ -344,6 +300,7 @@ describe('HtmlWebpackPlugin', function () { it('allows you to inject a specified asset into a given html file', function (done) { testHtmlPlugin({ + mode: 'production', entry: { util: path.join(__dirname, 'fixtures/util.js'), app: path.join(__dirname, 'fixtures/index.js') @@ -362,6 +319,7 @@ describe('HtmlWebpackPlugin', function () { it('allows you to use chunkhash with asset into a given html file', function (done) { testHtmlPlugin({ + mode: 'production', entry: { app: path.join(__dirname, 'fixtures/index.js') }, @@ -382,6 +340,7 @@ describe('HtmlWebpackPlugin', function () { it('allows you to disable injection', function (done) { testHtmlPlugin({ + mode: 'production', entry: { util: path.join(__dirname, 'fixtures/util.js'), app: path.join(__dirname, 'fixtures/index.js') @@ -399,6 +358,7 @@ describe('HtmlWebpackPlugin', function () { it('allows you to specify your own HTML template function', function (done) { testHtmlPlugin({ + mode: 'production', entry: {app: path.join(__dirname, 'fixtures/index.js')}, output: { path: OUTPUT_DIR, @@ -415,6 +375,7 @@ describe('HtmlWebpackPlugin', function () { it('works with source maps', function (done) { testHtmlPlugin({ + mode: 'development', devtool: 'sourcemap', entry: path.join(__dirname, 'fixtures/index.js'), output: { @@ -427,6 +388,7 @@ describe('HtmlWebpackPlugin', function () { it('handles hashes in bundle filenames', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -438,9 +400,10 @@ describe('HtmlWebpackPlugin', function () { it('handles hashes in the directory which has the bundle file', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { - path: path.join(__dirname, '../dist'), + path: OUTPUT_DIR, publicPath: '/dist/[hash]/', filename: 'index_bundle_[hash].js' }, @@ -450,6 +413,7 @@ describe('HtmlWebpackPlugin', function () { it('allows to append hashes to the assets', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -461,6 +425,7 @@ describe('HtmlWebpackPlugin', function () { it('allows to append hashes to the assets', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -472,13 +437,14 @@ describe('HtmlWebpackPlugin', function () { it('should work with the css extract plugin', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/theme.js'), output: { path: OUTPUT_DIR, filename: 'index_bundle.js' }, module: { - loaders: [ + rules: [ { test: /\.css$/, loader: ExtractTextPlugin.extract('style-loader', 'css-loader') } ] }, @@ -491,6 +457,7 @@ describe('HtmlWebpackPlugin', function () { it('should work with the css extract plugin on windows and protocol relative urls support (#205)', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/theme.js'), output: { path: OUTPUT_DIR, @@ -498,7 +465,7 @@ describe('HtmlWebpackPlugin', function () { publicPath: '//localhost:8080/' }, module: { - loaders: [ + rules: [ { test: /\.css$/, loader: ExtractTextPlugin.extract('style-loader', 'css-loader') } ] }, @@ -511,13 +478,14 @@ describe('HtmlWebpackPlugin', function () { it('should allow to add cache hashes to with the css assets', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/theme.js'), output: { path: OUTPUT_DIR, filename: 'index_bundle.js' }, module: { - loaders: [ + rules: [ { test: /\.css$/, loader: ExtractTextPlugin.extract('style-loader', 'css-loader') } ] }, @@ -530,13 +498,14 @@ describe('HtmlWebpackPlugin', function () { it('should inject css files when using the extract text plugin', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/theme.js'), output: { path: OUTPUT_DIR, filename: 'index_bundle.js' }, module: { - loaders: [ + rules: [ { test: /\.css$/, loader: ExtractTextPlugin.extract('style-loader', 'css-loader') } ] }, @@ -549,13 +518,14 @@ describe('HtmlWebpackPlugin', function () { it('should allow to add cache hashes to with injected css assets', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/theme.js'), output: { path: OUTPUT_DIR, filename: 'index_bundle.js' }, module: { - loaders: [ + rules: [ { test: /\.css$/, loader: ExtractTextPlugin.extract('style-loader', 'css-loader') } ] }, @@ -568,13 +538,14 @@ describe('HtmlWebpackPlugin', function () { it('should output xhtml link stylesheet tag', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/theme.js'), output: { path: OUTPUT_DIR, filename: 'index_bundle.js' }, module: { - loaders: [ + rules: [ { test: /\.css$/, loader: ExtractTextPlugin.extract('style-loader', 'css-loader') } ] }, @@ -587,6 +558,7 @@ describe('HtmlWebpackPlugin', function () { it('prepends the webpack public path to script src', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -599,6 +571,7 @@ describe('HtmlWebpackPlugin', function () { it('handles subdirectories in the webpack output bundles', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -610,6 +583,7 @@ describe('HtmlWebpackPlugin', function () { it('handles subdirectories in the webpack output bundles along with a public path', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -622,6 +596,7 @@ describe('HtmlWebpackPlugin', function () { it('allows you to configure the title of the generated HTML page', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -633,6 +608,7 @@ describe('HtmlWebpackPlugin', function () { it('allows you to configure the output filename', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -644,6 +620,7 @@ describe('HtmlWebpackPlugin', function () { it('will replace [hash] in the filename with the child compilation hash', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -657,6 +634,7 @@ describe('HtmlWebpackPlugin', function () { it('allows you to use an absolute output filename', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -670,6 +648,7 @@ describe('HtmlWebpackPlugin', function () { it('allows you to use an absolute output filename outside the output path', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: path.join(OUTPUT_DIR, 'app'), @@ -683,6 +662,7 @@ describe('HtmlWebpackPlugin', function () { it('allows you to use an relative output filename outside the output path', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: path.join(OUTPUT_DIR, 'app'), @@ -696,6 +676,7 @@ describe('HtmlWebpackPlugin', function () { it('will try to use a relative name if the filename is in a subdirectory', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -707,6 +688,7 @@ describe('HtmlWebpackPlugin', function () { it('will try to use a relative name if the filename and the script are in a subdirectory', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -718,6 +700,7 @@ describe('HtmlWebpackPlugin', function () { it('allows you write multiple HTML files', function (done) { testHtmlPlugin({ + mode: 'production', entry: { app: path.join(__dirname, 'fixtures/index.js') }, @@ -745,13 +728,14 @@ describe('HtmlWebpackPlugin', function () { it('should inject js css files even if the html file is incomplete', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/theme.js'), output: { path: OUTPUT_DIR, filename: 'index_bundle.js' }, module: { - loaders: [ + rules: [ { test: /\.css$/, loader: ExtractTextPlugin.extract('style-loader', 'css-loader') } ] }, @@ -764,6 +748,7 @@ describe('HtmlWebpackPlugin', function () { it('exposes the webpack configuration to templates', function (done) { testHtmlPlugin({ + mode: 'production', entry: { app: path.join(__dirname, 'fixtures/index.js') }, @@ -782,7 +767,7 @@ describe('HtmlWebpackPlugin', function () { var examplePlugin = { apply: function (compiler) { compiler.plugin('compilation', function (compilation) { - tapCompilationEvent(compilation, 'html-webpack-plugin-alter-asset-tags', function (object, callback) { + HtmlWebpackPlugin.getHooks(compilation).alterAssetTags.tapAsync('HtmlWebpackPluginTest', (object, callback) => { expect(typeof object.body).toBe('object'); expect(typeof object.head).toBe('object'); eventFired = true; @@ -794,6 +779,7 @@ describe('HtmlWebpackPlugin', function () { var shouldExpectWarnings = webpackMajorVersion < 4; testHtmlPlugin({ + mode: 'production', entry: { app: path.join(__dirname, 'fixtures/index.js') }, @@ -816,7 +802,7 @@ describe('HtmlWebpackPlugin', function () { var examplePlugin = { apply: function (compiler) { compiler.plugin('compilation', function (compilation) { - tapCompilationEvent(compilation, 'html-webpack-plugin-alter-asset-tags', function (pluginArgs, callback) { + HtmlWebpackPlugin.getHooks(compilation).alterAssetTags.tapAsync('HtmlWebpackPluginTest', (pluginArgs, callback) => { pluginArgs.body = pluginArgs.body.map(function (tag) { if (tag.tagName === 'script') { tag.attributes.async = true; @@ -829,6 +815,7 @@ describe('HtmlWebpackPlugin', function () { } }; testHtmlPlugin({ + mode: 'production', entry: { app: path.join(__dirname, 'fixtures/index.js') }, @@ -849,7 +836,7 @@ describe('HtmlWebpackPlugin', function () { var examplePlugin = { apply: function (compiler) { compiler.plugin('compilation', function (compilation) { - tapCompilationEvent(compilation, 'html-webpack-plugin-alter-asset-tags', function (pluginArgs, callback) { + HtmlWebpackPlugin.getHooks(compilation).alterAssetTags.tapAsync('HtmlWebpackPluginTest', (pluginArgs, callback) => { pluginArgs.body = pluginArgs.body.map(function (tag) { if (tag.tagName === 'script') { tag.attributes.async = false; @@ -862,6 +849,7 @@ describe('HtmlWebpackPlugin', function () { } }; testHtmlPlugin({ + mode: 'production', entry: { app: path.join(__dirname, 'fixtures/index.js') }, @@ -883,7 +871,7 @@ describe('HtmlWebpackPlugin', function () { var examplePlugin = { apply: function (compiler) { compiler.plugin('compilation', function (compilation) { - tapCompilationEvent(compilation, 'html-webpack-plugin-before-html-processing', function (object, callback) { + HtmlWebpackPlugin.getHooks(compilation).beforeHtmlProcessing.tapAsync('HtmlWebpackPluginTest', (object, callback) => { eventFired = true; callback(); }); @@ -893,6 +881,7 @@ describe('HtmlWebpackPlugin', function () { var shouldExpectWarnings = webpackMajorVersion < 4; testHtmlPlugin({ + mode: 'production', entry: { app: path.join(__dirname, 'fixtures/index.js') }, @@ -916,7 +905,7 @@ describe('HtmlWebpackPlugin', function () { var examplePlugin = { apply: function (compiler) { compiler.plugin('compilation', function (compilation) { - tapCompilationEvent(compilation, 'html-webpack-plugin-after-html-processing', function (object, callback) { + HtmlWebpackPlugin.getHooks(compilation).afterHtmlProcessing.tapAsync('HtmlWebpackPluginTest', (object, callback) => { eventFired = true; callback(); }); @@ -925,6 +914,7 @@ describe('HtmlWebpackPlugin', function () { }; var shouldExpectWarnings = webpackMajorVersion < 4; testHtmlPlugin({ + mode: 'production', entry: { app: path.join(__dirname, 'fixtures/index.js') }, @@ -948,7 +938,7 @@ describe('HtmlWebpackPlugin', function () { var examplePlugin = { apply: function (compiler) { compiler.plugin('compilation', function (compilation) { - tapCompilationEvent(compilation, 'html-webpack-plugin-after-emit', function (object, callback) { + HtmlWebpackPlugin.getHooks(compilation).afterEmit.tapAsync('HtmlWebpackPluginTest', (object, callback) => { eventFired = true; callback(); }); @@ -956,6 +946,7 @@ describe('HtmlWebpackPlugin', function () { } }; testHtmlPlugin({ + mode: 'production', entry: { app: path.join(__dirname, 'fixtures/index.js') }, @@ -978,7 +969,7 @@ describe('HtmlWebpackPlugin', function () { var examplePlugin = { apply: function (compiler) { compiler.plugin('compilation', function (compilation) { - tapCompilationEvent(compilation, 'html-webpack-plugin-after-html-processing', function (object, callback) { + HtmlWebpackPlugin.getHooks(compilation).afterHtmlProcessing.tapAsync('HtmlWebpackPluginTest', (object, callback) => { eventFired = true; object.html += 'Injected by plugin'; callback(); @@ -989,6 +980,7 @@ describe('HtmlWebpackPlugin', function () { var shouldExpectWarnings = webpackMajorVersion < 4; testHtmlPlugin({ + mode: 'production', entry: { app: path.join(__dirname, 'fixtures/index.js') }, @@ -1013,7 +1005,7 @@ describe('HtmlWebpackPlugin', function () { var examplePlugin = { apply: function (compiler) { compiler.plugin('compilation', function (compilation) { - tapCompilationEvent(compilation, 'html-webpack-plugin-after-html-processing', function (object, callback) { + HtmlWebpackPlugin.getHooks(compilation).afterHtmlProcessing.tapAsync('HtmlWebpackPluginTest', (object, callback) => { eventFiredForFirstPlugin = true; object.html += 'Injected by first plugin'; callback(null, object); @@ -1024,7 +1016,7 @@ describe('HtmlWebpackPlugin', function () { var secondExamplePlugin = { apply: function (compiler) { compiler.plugin('compilation', function (compilation) { - tapCompilationEvent(compilation, 'html-webpack-plugin-after-html-processing', function (object, callback) { + HtmlWebpackPlugin.getHooks(compilation).afterHtmlProcessing.tapAsync('HtmlWebpackPluginTest', (object, callback) => { eventFiredForSecondPlugin = true; object.html += ' Injected by second plugin'; callback(null); @@ -1035,6 +1027,7 @@ describe('HtmlWebpackPlugin', function () { var shouldExpectWarnings = webpackMajorVersion < 4; testHtmlPlugin({ + mode: 'production', entry: { app: path.join(__dirname, 'fixtures/index.js') }, @@ -1061,7 +1054,7 @@ describe('HtmlWebpackPlugin', function () { var examplePlugin = { apply: function (compiler) { compiler.plugin('compilation', function (compilation) { - tapCompilationEvent(compilation, 'html-webpack-plugin-after-html-processing', function (object, callback) { + HtmlWebpackPlugin.getHooks(compilation).afterHtmlProcessing.tapAsync('HtmlWebpackPluginTest', (object, callback) => { eventFiredForFirstPlugin = true; var result = _.extend(object, { html: object.html + 'Injected by first plugin' @@ -1074,7 +1067,7 @@ describe('HtmlWebpackPlugin', function () { var secondExamplePlugin = { apply: function (compiler) { compiler.plugin('compilation', function (compilation) { - tapCompilationEvent(compilation, 'html-webpack-plugin-after-html-processing', function (object, callback) { + HtmlWebpackPlugin.getHooks(compilation).afterHtmlProcessing.tapAsync('HtmlWebpackPluginTest', (object, callback) => { eventFiredForSecondPlugin = true; object.html += ' Injected by second plugin'; callback(null); @@ -1085,6 +1078,7 @@ describe('HtmlWebpackPlugin', function () { var shouldExpectWarnings = webpackMajorVersion < 4; testHtmlPlugin({ + mode: 'production', entry: { app: path.join(__dirname, 'fixtures/index.js') }, @@ -1111,7 +1105,7 @@ describe('HtmlWebpackPlugin', function () { var examplePlugin = { apply: function (compiler) { compiler.plugin('compilation', function (compilation) { - tapCompilationEvent(compilation, 'html-webpack-plugin-after-html-processing', function (object, callback) { + HtmlWebpackPlugin.getHooks(compilation).afterHtmlProcessing.tapAsync('HtmlWebpackPluginTest', (object, callback) => { eventFiredForFirstPlugin = true; var result = _.extend(object, { html: object.html + 'Injected by first plugin' @@ -1124,7 +1118,7 @@ describe('HtmlWebpackPlugin', function () { var secondExamplePlugin = { apply: function (compiler) { compiler.plugin('compilation', function (compilation) { - tapCompilationEvent(compilation, 'html-webpack-plugin-after-html-processing', function (object, callback) { + HtmlWebpackPlugin.getHooks(compilation).afterHtmlProcessing.tapAsync('HtmlWebpackPluginTest', (object, callback) => { eventFiredForSecondPlugin = true; var result = _.extend(object, { html: object.html + ' Injected by second plugin' @@ -1136,6 +1130,7 @@ describe('HtmlWebpackPlugin', function () { }; testHtmlPlugin({ + mode: 'production', entry: { app: path.join(__dirname, 'fixtures/index.js') }, @@ -1160,7 +1155,7 @@ describe('HtmlWebpackPlugin', function () { var examplePlugin = { apply: function (compiler) { compiler.plugin('compilation', function (compilation) { - tapCompilationEvent(compilation, 'html-webpack-plugin-before-html-processing', function (object, callback) { + HtmlWebpackPlugin.getHooks(compilation).beforeHtmlProcessing.tapAsync('HtmlWebpackPluginTest', (object, callback) => { eventFired = true; object.assets.js.push({path: 'funky-script.js'}); object.html += 'Injected by plugin'; @@ -1172,6 +1167,7 @@ describe('HtmlWebpackPlugin', function () { var shouldExpectWarnings = webpackMajorVersion < 4; testHtmlPlugin({ + mode: 'production', entry: { app: path.join(__dirname, 'fixtures/index.js') }, @@ -1195,7 +1191,7 @@ describe('HtmlWebpackPlugin', function () { var examplePlugin = { apply: function (compiler) { compiler.plugin('compilation', function (compilation) { - tapCompilationEvent(compilation, 'html-webpack-plugin-before-html-generation', function (object, callback) { + HtmlWebpackPlugin.getHooks(compilation).beforeHtmlGeneration.tapAsync('HtmlWebpackPluginTest', (object, callback) => { eventFired = true; object.assets.js.push({path: 'funky-script.js'}); callback(); @@ -1204,6 +1200,7 @@ describe('HtmlWebpackPlugin', function () { } }; testHtmlPlugin({ + mode: 'production', entry: { app: path.join(__dirname, 'fixtures/index.js') }, @@ -1226,6 +1223,7 @@ describe('HtmlWebpackPlugin', function () { it('works with commons chunk plugin', function (done) { testHtmlPlugin({ + mode: 'production', entry: { util: path.join(__dirname, 'fixtures/util.js'), index: path.join(__dirname, 'fixtures/index.js') @@ -1234,9 +1232,16 @@ describe('HtmlWebpackPlugin', function () { path: OUTPUT_DIR, filename: '[name]_bundle.js' }, - __commonsChunk: { - name: 'common', - filename: 'common_bundle.js' + optimization: { + splitChunks: { + cacheGroups: { + commons: { + chunks: 'initial', + name: 'common', + enforce: true + } + } + } }, plugins: [ new HtmlWebpackPlugin() @@ -1248,6 +1253,7 @@ describe('HtmlWebpackPlugin', function () { it('adds a favicon', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -1263,6 +1269,7 @@ describe('HtmlWebpackPlugin', function () { it('adds a meta tag', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -1283,6 +1290,7 @@ describe('HtmlWebpackPlugin', function () { it('adds a meta tag with short notation', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -1300,6 +1308,7 @@ describe('HtmlWebpackPlugin', function () { it('adds a favicon with publicPath set to /some/', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -1316,6 +1325,7 @@ describe('HtmlWebpackPlugin', function () { it('adds a favicon with publicPath set to /some', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -1332,6 +1342,7 @@ describe('HtmlWebpackPlugin', function () { it('adds a favicon with a publichPath set to [hash]/ and replaces the hash', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -1348,6 +1359,7 @@ describe('HtmlWebpackPlugin', function () { it('adds a favicon with inject enabled', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -1364,6 +1376,7 @@ describe('HtmlWebpackPlugin', function () { it('adds a favicon with xhtml enabled', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -1381,6 +1394,7 @@ describe('HtmlWebpackPlugin', function () { it('shows an error if the favicon could not be load', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -1398,6 +1412,7 @@ describe('HtmlWebpackPlugin', function () { it('adds a manifest', function (done) { var AppCachePlugin = require('appcache-webpack-plugin'); testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -1413,6 +1428,7 @@ describe('HtmlWebpackPlugin', function () { it('does not add a manifest if already present', function (done) { var AppCachePlugin = require('appcache-webpack-plugin'); testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -1429,6 +1445,7 @@ describe('HtmlWebpackPlugin', function () { it('works with webpack bannerplugin', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -1443,6 +1460,7 @@ describe('HtmlWebpackPlugin', function () { it('shows an error when a template fails to load', function (done) { testHtmlPlugin({ + mode: 'development', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -1458,6 +1476,7 @@ describe('HtmlWebpackPlugin', function () { it('should sort the chunks in auto mode', function (done) { testHtmlPlugin({ + mode: 'production', entry: { util: path.join(__dirname, 'fixtures/util.js'), index: path.join(__dirname, 'fixtures/index.js') @@ -1466,9 +1485,16 @@ describe('HtmlWebpackPlugin', function () { path: OUTPUT_DIR, filename: '[name]_bundle.js' }, - __commonsChunk: { - name: 'common', - filename: 'common_bundle.js' + optimization: { + splitChunks: { + cacheGroups: { + commons: { + chunks: 'initial', + name: 'common', + enforce: true + } + } + } }, plugins: [ new HtmlWebpackPlugin({ @@ -1482,6 +1508,7 @@ describe('HtmlWebpackPlugin', function () { it('should sort the chunks in custom (reverse alphabetical) order', function (done) { testHtmlPlugin({ + mode: 'production', entry: { b: path.join(__dirname, 'fixtures/index.js'), c: path.join(__dirname, 'fixtures/util.js'), @@ -1509,6 +1536,7 @@ describe('HtmlWebpackPlugin', function () { it('should sort manually by the chunks', function (done) { testHtmlPlugin({ + mode: 'production', entry: { b: path.join(__dirname, 'fixtures/util.js'), a: path.join(__dirname, 'fixtures/theme.js'), @@ -1520,13 +1548,20 @@ describe('HtmlWebpackPlugin', function () { filename: '[name]_bundle.js' }, module: { - loaders: [ + rules: [ { test: /\.css$/, loader: 'css-loader' } ] }, - __commonsChunk: { - name: 'common', - filename: 'common_bundle.js' + optimization: { + splitChunks: { + cacheGroups: { + commons: { + chunks: 'initial', + name: 'common', + enforce: true + } + } + } }, plugins: [ new HtmlWebpackPlugin({ @@ -1540,6 +1575,7 @@ describe('HtmlWebpackPlugin', function () { it('should add the webpack compilation object as a property of the templateParam object', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -1556,6 +1592,7 @@ describe('HtmlWebpackPlugin', function () { it('should allow to disable template parameters', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -1573,6 +1610,7 @@ describe('HtmlWebpackPlugin', function () { it('should allow to set specific template parameters', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -1590,6 +1628,7 @@ describe('HtmlWebpackPlugin', function () { it('should allow to set specific template parameters using a function', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -1609,6 +1648,7 @@ describe('HtmlWebpackPlugin', function () { it('should not treat templateContent set to an empty string as missing', function (done) { testHtmlPlugin({ + mode: 'production', entry: {app: path.join(__dirname, 'fixtures/index.js')}, output: { path: OUTPUT_DIR, @@ -1623,6 +1663,7 @@ describe('HtmlWebpackPlugin', function () { it('allows you to inject the assets into the body of the given spaced closing tag template', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -1637,6 +1678,7 @@ describe('HtmlWebpackPlugin', function () { it('allows you to inject the assets into the head of the given spaced closing tag template', function (done) { testHtmlPlugin({ + mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, diff --git a/spec/CachingSpec.js b/spec/caching.spec.js similarity index 90% rename from spec/CachingSpec.js rename to spec/caching.spec.js index de548075..94c4e04d 100644 --- a/spec/CachingSpec.js +++ b/spec/caching.spec.js @@ -2,7 +2,7 @@ * Integration tests for caching */ -/* eslint-env jasmine */ +/* eslint-env jest */ 'use strict'; var path = require('path'); @@ -12,12 +12,13 @@ var WebpackRecompilationSimulator = require('webpack-recompilation-simulator'); var HtmlWebpackPlugin = require('../index.js'); var webpackMajorVersion = require('webpack/package.json').version.split('.')[0]; -var OUTPUT_DIR = path.join(__dirname, '../dist'); +var OUTPUT_DIR = path.join(__dirname, '../dist/caching-spec'); -jasmine.getEnv().defaultTimeoutInterval = 30000; +jest.setTimeout(30000); +process.on('unhandledRejection', r => console.log(r)); function setUpCompiler (htmlWebpackPlugin) { - spyOn(htmlWebpackPlugin, 'evaluateCompilationResult').and.callThrough(); + jest.spyOn(htmlWebpackPlugin, 'evaluateCompilationResult'); var webpackConfig = { entry: path.join(__dirname, 'fixtures/index.js'), output: { @@ -64,7 +65,7 @@ describe('HtmlWebpackPluginCaching', function () { expect(getCompiledModuleCount(stats.toJson())) .toBe(0); // Verify that the html was processed only during the inital build - expect(htmlWebpackPlugin.evaluateCompilationResult.calls.count()) + expect(htmlWebpackPlugin.evaluateCompilationResult.mock.calls.length) .toBe(1); // Verify that the child compilation was executed twice expect(htmlWebpackPlugin.childCompilerHash) @@ -89,7 +90,7 @@ describe('HtmlWebpackPluginCaching', function () { expect(getCompiledModuleCount(stats.toJson())) .toBe(1); // Verify that the html was processed only during the inital build - expect(htmlWebpackPlugin.evaluateCompilationResult.calls.count()) + expect(htmlWebpackPlugin.evaluateCompilationResult.mock.calls.length) .toBe(1); // Verify that the child compilation was executed only once expect(htmlWebpackPlugin.childCompilerHash) @@ -116,7 +117,7 @@ describe('HtmlWebpackPluginCaching', function () { expect(getCompiledModuleCount(stats.toJson())) .toBe(1); // Verify that the html was processed on every run - expect(htmlWebpackPlugin.evaluateCompilationResult.calls.count()) + expect(htmlWebpackPlugin.evaluateCompilationResult.mock.calls.length) .toBe(2); // Verify that the child compilation was executed only once expect(htmlWebpackPlugin.childCompilerHash) @@ -144,7 +145,7 @@ describe('HtmlWebpackPluginCaching', function () { expect(getCompiledModuleCount(stats.toJson())) .toBe(1); // Verify that the html was processed twice - expect(htmlWebpackPlugin.evaluateCompilationResult.calls.count()) + expect(htmlWebpackPlugin.evaluateCompilationResult.mock.calls.length) .toBe(2); // Verify that the child compilation was executed twice expect(htmlWebpackPlugin.childCompilerHash) diff --git a/spec/ExampleSpec.js b/spec/example.spec.js similarity index 84% rename from spec/ExampleSpec.js rename to spec/example.spec.js index 378c7fa5..8b51a201 100644 --- a/spec/ExampleSpec.js +++ b/spec/example.spec.js @@ -3,7 +3,7 @@ * and matches them against their dist folder */ -/* eslint-env jasmine */ +/* eslint-env jest */ 'use strict'; var path = require('path'); @@ -12,19 +12,19 @@ var rimraf = require('rimraf'); var fs = require('fs'); var webpackMajorVersion = require('webpack/package.json').version.split('.')[0]; -var OUTPUT_DIR = path.join(__dirname, '../dist'); +var OUTPUT_DIR = path.resolve(__dirname, '../dist'); -jasmine.getEnv().defaultTimeoutInterval = 30000; +jest.setTimeout(30000); function runExample (exampleName, done) { var examplePath = path.resolve(__dirname, '..', 'examples', exampleName); var exampleOutput = path.join(OUTPUT_DIR, exampleName); - var fixturePath = path.join(examplePath, 'dist', 'webpack-' + webpackMajorVersion); + var fixturePath = path.resolve(examplePath, 'dist', 'webpack-' + webpackMajorVersion); // Clear old results rimraf(exampleOutput, function () { var options = require(path.join(examplePath, 'webpack.config.js')); options.context = examplePath; - options.output.path = exampleOutput; + options.output.path = exampleOutput + path.sep; if (Number(webpackMajorVersion) >= 4) { options.plugins.unshift(new webpack.LoaderOptionsPlugin({ options: { @@ -39,7 +39,10 @@ function runExample (exampleName, done) { options.optimization = { minimizer: [] }; } - webpack(options, function (err) { + webpack(options, function (err, stats) { + expect(err).toBeFalsy(); + expect(stats.compilation.errors).toEqual([]); + var dircompare = require('dir-compare'); var res = dircompare.compareSync(fixturePath, exampleOutput, {compareSize: true}); @@ -48,22 +51,16 @@ function runExample (exampleName, done) { }).forEach(function (diff) { var file1Contents = fs.readFileSync(path.join(diff.path1, diff.name1)).toString(); var file2Contents = fs.readFileSync(path.join(diff.path2, diff.name2)).toString(); - expect(file1Contents).diffPatch(file2Contents); - expect(file1Contents).toBe(file2Contents); + expect(file1Contents).toEqual(file2Contents); }); - expect(err).toBeFalsy(); expect(res.same).toBe(true); - done(); + rimraf(exampleOutput, done); }); }); } describe('HtmlWebpackPlugin Examples', function () { - beforeEach(function () { - jasmine.addMatchers(require('jasmine-diff-matchers').diffPatch); - }); - it('appcache example', function (done) { runExample('appcache', done); }); From d7ec4078c85b3ed9c2ff84e10fe75392f26a6130 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Tue, 10 Jul 2018 08:37:05 +0200 Subject: [PATCH 036/290] feat: Replace jade with pug in examples --- README.md | 2 +- docs/template-option.md | 2 +- examples/inline/dist/webpack-4/index.html | 2 +- examples/inline/readme.md | 6 +- .../inline/{template.jade => template.pug} | 0 examples/inline/webpack.config.js | 6 +- .../0714810ae3fb211173e2964249507195.png | Bin 54055 -> 0 bytes examples/jade-loader/dist/webpack-4/bundle.js | 378 - .../jade-loader/dist/webpack-4/index.html | 1 - examples/jade-loader/readme.md | 4 - examples/javascript/dist/webpack-4/index.html | 2 +- examples/pug-loader/dist/webpack-4/bundle.js | 374 + .../dist/webpack-4/favicon.ico | Bin examples/pug-loader/dist/webpack-4/index.html | 1 + .../dist/webpack-4/styles.css | 0 .../{jade-loader => pug-loader}/example.js | 2 +- .../{jade-loader => pug-loader}/favicon.ico | Bin examples/{jade-loader => pug-loader}/logo.png | Bin examples/{jade-loader => pug-loader}/main.css | 0 examples/pug-loader/readme.md | 4 + .../template.jade => pug-loader/template.pug} | 2 +- .../time.jade => pug-loader/time.pug} | 0 .../webpack.config.js | 6 +- migration.md | 18 +- package-lock.json | 7318 ----------------- package.json | 4 +- spec/basic.spec.js | 8 +- spec/example.spec.js | 4 +- spec/fixtures/{template.jade => template.pug} | 0 29 files changed, 411 insertions(+), 7733 deletions(-) rename examples/inline/{template.jade => template.pug} (100%) delete mode 100644 examples/jade-loader/dist/webpack-4/0714810ae3fb211173e2964249507195.png delete mode 100644 examples/jade-loader/dist/webpack-4/bundle.js delete mode 100644 examples/jade-loader/dist/webpack-4/index.html delete mode 100644 examples/jade-loader/readme.md create mode 100644 examples/pug-loader/dist/webpack-4/bundle.js rename examples/{jade-loader => pug-loader}/dist/webpack-4/favicon.ico (100%) create mode 100644 examples/pug-loader/dist/webpack-4/index.html rename examples/{jade-loader => pug-loader}/dist/webpack-4/styles.css (100%) rename examples/{jade-loader => pug-loader}/example.js (86%) rename examples/{jade-loader => pug-loader}/favicon.ico (100%) rename examples/{jade-loader => pug-loader}/logo.png (100%) rename examples/{jade-loader => pug-loader}/main.css (100%) create mode 100644 examples/pug-loader/readme.md rename examples/{jade-loader/template.jade => pug-loader/template.pug} (84%) rename examples/{jade-loader/time.jade => pug-loader/time.pug} (100%) rename examples/{jade-loader => pug-loader}/webpack.config.js (87%) delete mode 100644 package-lock.json rename spec/fixtures/{template.jade => template.pug} (100%) diff --git a/README.md b/README.md index a2d88c86..50c82281 100644 --- a/README.md +++ b/README.md @@ -258,7 +258,7 @@ The following variables are available in the template: - `compilation`: the webpack [compilation](https://webpack.js.org/api/compilation/) object. This can be used, for example, to get the contents of processed assets and inline them directly in the page, through `compilation.assets[...].source()` - (see [the inline template example](examples/inline/template.jade)). + (see [the inline template example](examples/inline/template.pug)). ### `Filtering Chunks` diff --git a/docs/template-option.md b/docs/template-option.md index eedd3624..1c6048c3 100644 --- a/docs/template-option.md +++ b/docs/template-option.md @@ -5,7 +5,7 @@ The version 2.x which was introduced last year (Sep, 2015) changed the way the template is processed. Instead of forcing all users to use the [blueimp](https://github.com/blueimp/JavaScript-Templates) template engine it allowed to use any webpack loader: -* [jade/pug](https://github.com/pugjs/pug-loader) +* [pug](https://github.com/pugjs/pug-loader) * [ejs](https://github.com/okonet/ejs-loader) * [underscore](https://github.com/emaphp/underscore-template-loader) * [handlebars](https://github.com/pcardune/handlebars-loader) diff --git a/examples/inline/dist/webpack-4/index.html b/examples/inline/dist/webpack-4/index.html index 8521e834..99d2004e 100644 --- a/examples/inline/dist/webpack-4/index.html +++ b/examples/inline/dist/webpack-4/index.html @@ -1,4 +1,4 @@ -Jade demo \ No newline at end of file diff --git a/examples/jade-loader/readme.md b/examples/jade-loader/readme.md deleted file mode 100644 index 1d58a191..00000000 --- a/examples/jade-loader/readme.md +++ /dev/null @@ -1,4 +0,0 @@ -# isomorphic jade example - -This example shows how to use a different template engine (in this case jade) -to load the `time.jade` template on the backend and frontend. diff --git a/examples/javascript/dist/webpack-4/index.html b/examples/javascript/dist/webpack-4/index.html index c273d21c..fc2dba55 100644 --- a/examples/javascript/dist/webpack-4/index.html +++ b/examples/javascript/dist/webpack-4/index.html @@ -1,2 +1,2 @@ -Hello World from backend2018-07-09T17:14:39.242Z

Partial

+Hello World from backend2018-07-10T06:35:32.858Z

Partial

\ No newline at end of file diff --git a/examples/pug-loader/dist/webpack-4/bundle.js b/examples/pug-loader/dist/webpack-4/bundle.js new file mode 100644 index 00000000..95ed4747 --- /dev/null +++ b/examples/pug-loader/dist/webpack-4/bundle.js @@ -0,0 +1,374 @@ +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 3); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports) { + +/* (ignored) */ + +/***/ }), +/* 1 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var pug_has_own_property = Object.prototype.hasOwnProperty; + +/** + * Merge two attribute objects giving precedence + * to values in object `b`. Classes are special-cased + * allowing for arrays and merging/joining appropriately + * resulting in a string. + * + * @param {Object} a + * @param {Object} b + * @return {Object} a + * @api private + */ + +exports.merge = pug_merge; +function pug_merge(a, b) { + if (arguments.length === 1) { + var attrs = a[0]; + for (var i = 1; i < a.length; i++) { + attrs = pug_merge(attrs, a[i]); + } + return attrs; + } + + for (var key in b) { + if (key === 'class') { + var valA = a[key] || []; + a[key] = (Array.isArray(valA) ? valA : [valA]).concat(b[key] || []); + } else if (key === 'style') { + var valA = pug_style(a[key]); + valA = valA && valA[valA.length - 1] !== ';' ? valA + ';' : valA; + var valB = pug_style(b[key]); + valB = valB && valB[valB.length - 1] !== ';' ? valB + ';' : valB; + a[key] = valA + valB; + } else { + a[key] = b[key]; + } + } + + return a; +}; + +/** + * Process array, object, or string as a string of classes delimited by a space. + * + * If `val` is an array, all members of it and its subarrays are counted as + * classes. If `escaping` is an array, then whether or not the item in `val` is + * escaped depends on the corresponding item in `escaping`. If `escaping` is + * not an array, no escaping is done. + * + * If `val` is an object, all the keys whose value is truthy are counted as + * classes. No escaping is done. + * + * If `val` is a string, it is counted as a class. No escaping is done. + * + * @param {(Array.|Object.|string)} val + * @param {?Array.} escaping + * @return {String} + */ +exports.classes = pug_classes; +function pug_classes_array(val, escaping) { + var classString = '', className, padding = '', escapeEnabled = Array.isArray(escaping); + for (var i = 0; i < val.length; i++) { + className = pug_classes(val[i]); + if (!className) continue; + escapeEnabled && escaping[i] && (className = pug_escape(className)); + classString = classString + padding + className; + padding = ' '; + } + return classString; +} +function pug_classes_object(val) { + var classString = '', padding = ''; + for (var key in val) { + if (key && val[key] && pug_has_own_property.call(val, key)) { + classString = classString + padding + key; + padding = ' '; + } + } + return classString; +} +function pug_classes(val, escaping) { + if (Array.isArray(val)) { + return pug_classes_array(val, escaping); + } else if (val && typeof val === 'object') { + return pug_classes_object(val); + } else { + return val || ''; + } +} + +/** + * Convert object or string to a string of CSS styles delimited by a semicolon. + * + * @param {(Object.|string)} val + * @return {String} + */ + +exports.style = pug_style; +function pug_style(val) { + if (!val) return ''; + if (typeof val === 'object') { + var out = ''; + for (var style in val) { + /* istanbul ignore else */ + if (pug_has_own_property.call(val, style)) { + out = out + style + ':' + val[style] + ';'; + } + } + return out; + } else { + return val + ''; + } +}; + +/** + * Render the given attribute. + * + * @param {String} key + * @param {String} val + * @param {Boolean} escaped + * @param {Boolean} terse + * @return {String} + */ +exports.attr = pug_attr; +function pug_attr(key, val, escaped, terse) { + if (val === false || val == null || !val && (key === 'class' || key === 'style')) { + return ''; + } + if (val === true) { + return ' ' + (terse ? key : key + '="' + key + '"'); + } + if (typeof val.toJSON === 'function') { + val = val.toJSON(); + } + if (typeof val !== 'string') { + val = JSON.stringify(val); + if (!escaped && val.indexOf('"') !== -1) { + return ' ' + key + '=\'' + val.replace(/'/g, ''') + '\''; + } + } + if (escaped) val = pug_escape(val); + return ' ' + key + '="' + val + '"'; +}; + +/** + * Render the given attributes object. + * + * @param {Object} obj + * @param {Object} terse whether to use HTML5 terse boolean attributes + * @return {String} + */ +exports.attrs = pug_attrs; +function pug_attrs(obj, terse){ + var attrs = ''; + + for (var key in obj) { + if (pug_has_own_property.call(obj, key)) { + var val = obj[key]; + + if ('class' === key) { + val = pug_classes(val); + attrs = pug_attr(key, val, false, terse) + attrs; + continue; + } + if ('style' === key) { + val = pug_style(val); + } + attrs += pug_attr(key, val, false, terse); + } + } + + return attrs; +}; + +/** + * Escape the given string of `html`. + * + * @param {String} html + * @return {String} + * @api private + */ + +var pug_match_html = /["&<>]/; +exports.escape = pug_escape; +function pug_escape(_html){ + var html = '' + _html; + var regexResult = pug_match_html.exec(html); + if (!regexResult) return _html; + + var result = ''; + var i, lastIndex, escape; + for (i = regexResult.index, lastIndex = 0; i < html.length; i++) { + switch (html.charCodeAt(i)) { + case 34: escape = '"'; break; + case 38: escape = '&'; break; + case 60: escape = '<'; break; + case 62: escape = '>'; break; + default: continue; + } + if (lastIndex !== i) result += html.substring(lastIndex, i); + lastIndex = i + 1; + result += escape; + } + if (lastIndex !== i) return result + html.substring(lastIndex, i); + else return result; +}; + +/** + * Re-throw the given `err` in context to the + * the pug in `filename` at the given `lineno`. + * + * @param {Error} err + * @param {String} filename + * @param {String} lineno + * @param {String} str original source + * @api private + */ + +exports.rethrow = pug_rethrow; +function pug_rethrow(err, filename, lineno, str){ + if (!(err instanceof Error)) throw err; + if ((typeof window != 'undefined' || !filename) && !str) { + err.message += ' on line ' + lineno; + throw err; + } + try { + str = str || __webpack_require__(0).readFileSync(filename, 'utf8') + } catch (ex) { + pug_rethrow(err, null, lineno) + } + var context = 3 + , lines = str.split('\n') + , start = Math.max(lineno - context, 0) + , end = Math.min(lines.length, lineno + context); + + // Error context + var context = lines.slice(start, end).map(function(line, i){ + var curr = i + start + 1; + return (curr == lineno ? ' > ' : ' ') + + curr + + '| ' + + line; + }).join('\n'); + + // Alter exception message + err.path = filename; + err.message = (filename || 'Pug') + ':' + lineno + + '\n' + context + '\n\n' + err.message; + throw err; +}; + + +/***/ }), +/* 2 */ +/***/ (function(module, exports, __webpack_require__) { + +var pug = __webpack_require__(1); + +function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (time) {pug_html = pug_html + "\u003C!-- this partial is used for frontend and backend--\u003E\u003Cdiv class=\"time\"\u003E \u003Cb\u003ECurrent time\u003C\u002Fb\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = time.toISOString()) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cimg src=\"#{require('.\u002Flogo.png')}\"\u003E";}.call(this,"time" in locals_for_with?locals_for_with.time:typeof time!=="undefined"?time:undefined));;return pug_html;}; +module.exports = template; + +/***/ }), +/* 3 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +__webpack_require__(7); +// Use the same template for the frontend code +var template = __webpack_require__(2); + +setInterval(function () { + var div = document.getElementById('main'); + div.innerHTML = template({ time: new Date() }); + div.style.color = 'navy'; +}, 1000); + + +/***/ }), +/* 4 */, +/* 5 */, +/* 6 */, +/* 7 */ +/***/ (function(module, exports) { + +// removed by extract-text-webpack-plugin + +/***/ }) +/******/ ]); \ No newline at end of file diff --git a/examples/jade-loader/dist/webpack-4/favicon.ico b/examples/pug-loader/dist/webpack-4/favicon.ico similarity index 100% rename from examples/jade-loader/dist/webpack-4/favicon.ico rename to examples/pug-loader/dist/webpack-4/favicon.ico diff --git a/examples/pug-loader/dist/webpack-4/index.html b/examples/pug-loader/dist/webpack-4/index.html new file mode 100644 index 00000000..7deb41f2 --- /dev/null +++ b/examples/pug-loader/dist/webpack-4/index.html @@ -0,0 +1 @@ +pug demo
Current time

1998-12-31T23:00:00.000Z

\ No newline at end of file diff --git a/examples/jade-loader/dist/webpack-4/styles.css b/examples/pug-loader/dist/webpack-4/styles.css similarity index 100% rename from examples/jade-loader/dist/webpack-4/styles.css rename to examples/pug-loader/dist/webpack-4/styles.css diff --git a/examples/jade-loader/example.js b/examples/pug-loader/example.js similarity index 86% rename from examples/jade-loader/example.js rename to examples/pug-loader/example.js index 4770536c..e165e6d8 100755 --- a/examples/jade-loader/example.js +++ b/examples/pug-loader/example.js @@ -1,7 +1,7 @@ 'use strict'; require('./main.css'); // Use the same template for the frontend code -var template = require('./time.jade'); +var template = require('./time.pug'); setInterval(function () { var div = document.getElementById('main'); diff --git a/examples/jade-loader/favicon.ico b/examples/pug-loader/favicon.ico similarity index 100% rename from examples/jade-loader/favicon.ico rename to examples/pug-loader/favicon.ico diff --git a/examples/jade-loader/logo.png b/examples/pug-loader/logo.png similarity index 100% rename from examples/jade-loader/logo.png rename to examples/pug-loader/logo.png diff --git a/examples/jade-loader/main.css b/examples/pug-loader/main.css similarity index 100% rename from examples/jade-loader/main.css rename to examples/pug-loader/main.css diff --git a/examples/pug-loader/readme.md b/examples/pug-loader/readme.md new file mode 100644 index 00000000..df551640 --- /dev/null +++ b/examples/pug-loader/readme.md @@ -0,0 +1,4 @@ +# isomorphic pug example + +This example shows how to use a different template engine (in this case pug) +to load the `time.pug` template on the backend and frontend. diff --git a/examples/jade-loader/template.jade b/examples/pug-loader/template.pug similarity index 84% rename from examples/jade-loader/template.jade rename to examples/pug-loader/template.pug index 8da70cea..cfee8d91 100644 --- a/examples/jade-loader/template.jade +++ b/examples/pug-loader/template.pug @@ -5,4 +5,4 @@ html body #main - locals.time = new Date('01 01, 1999'); - include ./time.jade \ No newline at end of file + include ./time.pug \ No newline at end of file diff --git a/examples/jade-loader/time.jade b/examples/pug-loader/time.pug similarity index 100% rename from examples/jade-loader/time.jade rename to examples/pug-loader/time.pug diff --git a/examples/jade-loader/webpack.config.js b/examples/pug-loader/webpack.config.js similarity index 87% rename from examples/jade-loader/webpack.config.js rename to examples/pug-loader/webpack.config.js index cf9d284e..b2f6a6ac 100755 --- a/examples/jade-loader/webpack.config.js +++ b/examples/pug-loader/webpack.config.js @@ -14,15 +14,15 @@ module.exports = { rules: [ { test: /\.css$/, loader: ExtractTextPlugin.extract({ fallback: 'style-loader', use: 'css-loader' }) }, { test: /\.png$/, loader: 'file-loader' }, - { test: /\.jade$/, loader: 'jade-loader' } + { test: /\.pug$/, loader: 'pug-loader' } ] }, plugins: [ new HtmlWebpackPlugin({ filename: 'index.html', favicon: 'favicon.ico', - template: 'template.jade', - title: 'Jade demo' + template: 'template.pug', + title: 'pug demo' }), new ExtractTextPlugin('styles.css') ] diff --git a/migration.md b/migration.md index 0938a292..d7b19082 100644 --- a/migration.md +++ b/migration.md @@ -98,9 +98,9 @@ This configuration allows you to require partial html from your main `index.html ## Custom template engines -Maybe you prefer jade or blueimp over underscore - or your project is using jade for the front end part. +Maybe you prefer pug or blueimp over underscore - or your project is using pug for the front end part. With 2.x you can use the webpack loaders either once only for the template as in the following example -where we use jade (requires the [jade-loader](https://github.com/webpack/jade-loader)): +where we use pug (requires the [pug-loader](https://github.com/webpack/pug-loader)): ```js var HtmlWebpackPlugin = require('html-webpack-plugin'); @@ -109,31 +109,31 @@ module.exports = { // ... plugins: [ new HtmlWebpackPlugin({ - template: 'jade!template.jade' + template: 'pug!template.pug' }) ] }; ``` -or by configuring webpack to handle all `.jade` files: +or by configuring webpack to handle all `.pug` files: ```js module.exports = { // ... module: { loaders: [ - { test: /\.jade$/, loader: 'jade' } + { test: /\.pug$/, loader: 'pug' } ] }, plugins: [ new HtmlWebpackPlugin({ - template: 'template.jade' + template: 'template.pug' }) ] }; ``` -Please note that if you specify the loader and use 'jade!template.jade' webpack will try to apply the jade loader twice and fail. +Please note that if you specify the loader and use 'pug!template.pug' webpack will try to apply the pug loader twice and fail. ## Isomorph apps @@ -164,8 +164,8 @@ Using loaders inside a template.js ```js // This function has to return a string or promised string: module.exports = function(templateParams) { - // Play around with the arguments and then use the webpack jade loader to load the jade: - return require('./template.jade')({assets: templateParams.htmlWebpackPlugin.files}); + // Play around with the arguments and then use the webpack pug loader to load the pug: + return require('./template.pug')({assets: templateParams.htmlWebpackPlugin.files}); }; ``` diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index d9fd0e75..00000000 --- a/package-lock.json +++ /dev/null @@ -1,7318 +0,0 @@ -{ - "name": "html-webpack-plugin", - "version": "4.0.0-next", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "JSONStream": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz", - "integrity": "sha1-wQI3G27Dp887hHygDCC7D85Mbeo=", - "dev": true, - "requires": { - "jsonparse": "1.3.1", - "through": "2.3.8" - } - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, - "acorn": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", - "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=", - "dev": true - }, - "acorn-globals": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz", - "integrity": "sha1-VbtemGkVB7dFedBRNBMhfDgMVM8=", - "dev": true, - "requires": { - "acorn": "2.7.0" - } - }, - "acorn-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", - "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", - "dev": true, - "requires": { - "acorn": "3.3.0" - }, - "dependencies": { - "acorn": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", - "dev": true - } - } - }, - "acorn-to-esprima": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/acorn-to-esprima/-/acorn-to-esprima-2.0.8.tgz", - "integrity": "sha1-AD8MZC65ITL0F9NwjxStqCrfLrE=", - "dev": true - }, - "ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", - "dev": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - }, - "ajv-keywords": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", - "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", - "dev": true - }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "dev": true, - "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" - } - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true - }, - "ansi-escapes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", - "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "anymatch": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", - "dev": true, - "requires": { - "micromatch": "2.3.11", - "normalize-path": "2.1.1" - } - }, - "appcache-webpack-plugin": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/appcache-webpack-plugin/-/appcache-webpack-plugin-1.3.0.tgz", - "integrity": "sha1-9it9Qt7HNe06YUKOIUgA3kouin4=", - "dev": true - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "1.0.3" - } - }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "1.1.0" - } - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, - "array-ify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", - "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", - "dev": true - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "1.0.3" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "asap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/asap/-/asap-1.0.0.tgz", - "integrity": "sha1-sqRdpf36ILBJb8N2jMJ8EvqRan0=", - "dev": true - }, - "assert": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", - "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", - "dev": true, - "requires": { - "util": "0.10.3" - } - }, - "ast-types": { - "version": "0.9.6", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz", - "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=", - "dev": true - }, - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "async-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", - "dev": true - }, - "autoprefixer": { - "version": "6.7.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", - "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", - "dev": true, - "requires": { - "browserslist": "1.7.7", - "caniuse-db": "1.0.30000810", - "normalize-range": "0.1.2", - "num2fraction": "1.2.2", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" - } - }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, - "requires": { - "core-js": "2.5.3", - "regenerator-runtime": "0.11.1" - } - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dev": true, - "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.3", - "lodash": "4.17.5" - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.5", - "to-fast-properties": "1.0.3" - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "base64-js": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.3.tgz", - "integrity": "sha512-MsAhsUW1GxCdgYSO6tAfZrNapmUKk7mWx/k5mFY/A1gBtkaCaNapTg+FExCw1r9yeaZhqx/xPg43xgTFH6KL5w==", - "dev": true - }, - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==" - }, - "binary-extensions": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", - "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", - "dev": true - }, - "bluebird": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", - "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" - } - }, - "browserify-aes": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-0.4.0.tgz", - "integrity": "sha1-BnFJtmjfMcS1hTPgLQHoBthgjiw=", - "dev": true, - "requires": { - "inherits": "2.0.3" - } - }, - "browserify-zlib": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", - "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", - "dev": true, - "requires": { - "pako": "0.2.9" - } - }, - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "1.0.30000810", - "electron-to-chromium": "1.3.34" - } - }, - "buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", - "dev": true, - "requires": { - "base64-js": "1.2.3", - "ieee754": "1.1.8", - "isarray": "1.0.0" - } - }, - "buffer-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", - "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", - "dev": true - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "caller-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", - "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", - "dev": true, - "requires": { - "callsites": "0.2.0" - } - }, - "callsites": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", - "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", - "dev": true - }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "requires": { - "no-case": "2.3.2", - "upper-case": "1.1.3" - } - }, - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true, - "requires": { - "camelcase": "2.1.1", - "map-obj": "1.0.1" - } - }, - "caniuse-api": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", - "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", - "dev": true, - "requires": { - "browserslist": "1.7.7", - "caniuse-db": "1.0.30000810", - "lodash.memoize": "4.1.2", - "lodash.uniq": "4.5.0" - } - }, - "caniuse-db": { - "version": "1.0.30000810", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000810.tgz", - "integrity": "sha1-vSWDDEHvq2Qzmi44H0lnc0PIRQk=", - "dev": true - }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "dev": true, - "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" - } - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } - }, - "character-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-1.2.1.tgz", - "integrity": "sha1-wN3kqxgnE7kZuXCVmhI+zBow/NY=", - "dev": true - }, - "chokidar": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", - "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", - "dev": true, - "requires": { - "anymatch": "1.3.2", - "async-each": "1.0.1", - "fsevents": "1.1.3", - "glob-parent": "2.0.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "2.0.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0" - } - }, - "circular-json": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", - "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", - "dev": true - }, - "clap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", - "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", - "dev": true, - "requires": { - "chalk": "1.1.3" - } - }, - "clean-css": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.9.tgz", - "integrity": "sha1-Nc7ornaHpJuYA09w3gDE7dOCYwE=", - "requires": { - "source-map": "0.5.7" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } - } - }, - "cli-cursor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", - "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", - "dev": true, - "requires": { - "restore-cursor": "1.0.1" - } - }, - "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", - "dev": true - }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "dev": true, - "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", - "wordwrap": "0.0.2" - }, - "dependencies": { - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true - } - } - }, - "clone": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz", - "integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8=", - "dev": true - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true - }, - "coa": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", - "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", - "dev": true, - "requires": { - "q": "1.5.1" - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "coffee-script": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.7.1.tgz", - "integrity": "sha1-YplqhheAx15tUGnROCJyO3NAS/w=", - "dev": true, - "requires": { - "mkdirp": "0.3.5" - }, - "dependencies": { - "mkdirp": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", - "integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc=", - "dev": true - } - } - }, - "color": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", - "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", - "dev": true, - "requires": { - "clone": "1.0.3", - "color-convert": "1.9.1", - "color-string": "0.3.0" - } - }, - "color-convert": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", - "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "color-string": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", - "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "colormin": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", - "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", - "dev": true, - "requires": { - "color": "0.11.4", - "css-color-names": "0.0.4", - "has": "1.0.1" - } - }, - "colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "dev": true - }, - "commander": { - "version": "2.14.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz", - "integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==" - }, - "compare-func": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.2.tgz", - "integrity": "sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg=", - "dev": true, - "requires": { - "array-ify": "1.0.0", - "dot-prop": "3.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "concat-stream": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", - "dev": true, - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.4", - "typedarray": "0.0.6" - } - }, - "config-chain": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz", - "integrity": "sha1-q6CXR9++TD5w52am5BWG4YWfxvI=", - "dev": true, - "requires": { - "ini": "1.3.5", - "proto-list": "1.2.4" - } - }, - "console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "dev": true, - "requires": { - "date-now": "0.1.4" - } - }, - "constantinople": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-3.0.2.tgz", - "integrity": "sha1-S5RdmTeQe82Y7ldRIsOBdRZUQUE=", - "dev": true, - "requires": { - "acorn": "2.7.0" - } - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, - "conventional-changelog": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-1.1.15.tgz", - "integrity": "sha512-nBHfdoIfm78Bh/8KAEKVjAfr6jT6+uAoayj8EpEIEpjXBwoB74FlC7hUDwbxbAA/WKZout8SuqnpPH0cX4/aqw==", - "dev": true, - "requires": { - "conventional-changelog-angular": "1.6.4", - "conventional-changelog-atom": "0.2.2", - "conventional-changelog-codemirror": "0.3.2", - "conventional-changelog-core": "2.0.3", - "conventional-changelog-ember": "0.3.4", - "conventional-changelog-eslint": "1.0.2", - "conventional-changelog-express": "0.3.2", - "conventional-changelog-jquery": "0.1.0", - "conventional-changelog-jscs": "0.1.0", - "conventional-changelog-jshint": "0.3.2", - "conventional-changelog-preset-loader": "1.1.4" - } - }, - "conventional-changelog-angular": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-1.6.4.tgz", - "integrity": "sha512-CGtgqRBYOYYwP/FGBZ+NydolVv0+9bFcQZYMqw8YPKms1n6QlKguaqO0bfBLRChWZjDXjTI3Spd/bNineVtAqA==", - "dev": true, - "requires": { - "compare-func": "1.3.2", - "q": "1.5.1" - } - }, - "conventional-changelog-atom": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-0.2.2.tgz", - "integrity": "sha512-NhQcqCMfHTIlnglX4lMskqU6NC9rSqbT7razVHZ/Fq21iEHkrWx5dhjTonRB5BAAUSowBURCczqUILZ612xFrQ==", - "dev": true, - "requires": { - "q": "1.5.1" - } - }, - "conventional-changelog-codemirror": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.3.2.tgz", - "integrity": "sha512-z/ZmaSSigCw7Te6ozncLww6DmwCYGXvSbi3S7kkVvPKPRYGkKdWJI6Nmyx3AAqzzt6W420sMVOSJGX6dyEQDKw==", - "dev": true, - "requires": { - "q": "1.5.1" - } - }, - "conventional-changelog-core": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-2.0.3.tgz", - "integrity": "sha512-yLnwThgG5M7k4ZuG87sWXQBEQPTijcB4TpUrSzJcH6Jk7vkZR4ej7GJgY5TqKKiVwALWzyAGd6GenzGbNZvYnw==", - "dev": true, - "requires": { - "conventional-changelog-writer": "3.0.2", - "conventional-commits-parser": "2.1.3", - "dateformat": "1.0.12", - "get-pkg-repo": "1.4.0", - "git-raw-commits": "1.3.2", - "git-remote-origin-url": "2.0.0", - "git-semver-tags": "1.3.2", - "lodash": "4.17.5", - "normalize-package-data": "2.4.0", - "q": "1.5.1", - "read-pkg": "1.1.0", - "read-pkg-up": "1.0.1", - "through2": "2.0.3" - }, - "dependencies": { - "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", - "dev": true - } - } - }, - "conventional-changelog-ember": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-0.3.4.tgz", - "integrity": "sha512-PfwI9tvVJFn95of/g4mMBHtXZDPVNuYzi+hDyl9ZZe6/7WyUc90gj+cEgg+8gcrZwUFaZpliWavTYp6tfbBg1A==", - "dev": true, - "requires": { - "q": "1.5.1" - } - }, - "conventional-changelog-eslint": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-1.0.2.tgz", - "integrity": "sha512-WDs2etoKFNRv3rFgbg3LqPbVWn89OL8bsRbU1NNAnpPVmWcQEGkg/Tny9BjJl++JjxmWqYY+xtPPdnvd63WIYw==", - "dev": true, - "requires": { - "q": "1.5.1" - } - }, - "conventional-changelog-express": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-0.3.2.tgz", - "integrity": "sha512-QQU7t/Ec5bgRSoJL5gHmTfsRCrJOZHfVkbX2NNWl+EU91nAT28HgOAlD6ymH5EYMP/skpVkIwQyT9myVjxcJew==", - "dev": true, - "requires": { - "q": "1.5.1" - } - }, - "conventional-changelog-jquery": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-0.1.0.tgz", - "integrity": "sha1-Agg5cWLjhGmG5xJztsecW1+A9RA=", - "dev": true, - "requires": { - "q": "1.5.1" - } - }, - "conventional-changelog-jscs": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-jscs/-/conventional-changelog-jscs-0.1.0.tgz", - "integrity": "sha1-BHnrRDzH1yxYvwvPDvHURKkvDlw=", - "dev": true, - "requires": { - "q": "1.5.1" - } - }, - "conventional-changelog-jshint": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-0.3.2.tgz", - "integrity": "sha512-b3cx1n6QyE5czpZTAEBFZxPj0aQ3vxjmdNrP+E83b+FBxh9cYZQrUXeC5rnIRvSj8rLkYAJJ07oG8PyevAxhtw==", - "dev": true, - "requires": { - "compare-func": "1.3.2", - "q": "1.5.1" - } - }, - "conventional-changelog-preset-loader": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-1.1.4.tgz", - "integrity": "sha512-KY9sGPKnKlW542FpNN4++GkijXnND69/MgMa6EDibnyYXO6gV/NPwQwDTH6MOVVIjhspMgEM69H3yFVHo5Ud5g==", - "dev": true - }, - "conventional-changelog-writer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-3.0.2.tgz", - "integrity": "sha512-eYXmYxT1IUuzzfpQuFA2/t3ex+7rFBbJchDIWyDTAs7OFkPBAfAs3EG04cDkEAG6Tn3wnwrtDKVZL9sMfA3kIw==", - "dev": true, - "requires": { - "compare-func": "1.3.2", - "conventional-commits-filter": "1.1.3", - "dateformat": "1.0.12", - "handlebars": "4.0.11", - "json-stringify-safe": "5.0.1", - "lodash": "4.17.5", - "meow": "3.7.0", - "semver": "5.5.0", - "split": "1.0.1", - "through2": "2.0.3" - }, - "dependencies": { - "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", - "dev": true - } - } - }, - "conventional-commits-filter": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-1.1.3.tgz", - "integrity": "sha512-kwGGg0xCHR51YIVjtoCTNgx9I1qEMETerTdSK4XsH2OxNLigDn6XKXnPMFZ+gfoUxaqbnpFSJqs4jYVpuJ1XAg==", - "dev": true, - "requires": { - "is-subset": "0.1.1", - "modify-values": "1.0.0" - } - }, - "conventional-commits-parser": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-2.1.3.tgz", - "integrity": "sha512-j5nXna/snJtrzFtPbDm+9R5UsjteJkXn+cG1kGEi4+4e25U57CZBB6DiUdxOCnM9LOIHeLDBF61e9MtjPsZthw==", - "dev": true, - "requires": { - "JSONStream": "1.3.2", - "is-text-path": "1.0.1", - "lodash": "4.17.5", - "meow": "3.7.0", - "split2": "2.2.0", - "through2": "2.0.3", - "trim-off-newlines": "1.0.1" - }, - "dependencies": { - "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", - "dev": true - } - } - }, - "conventional-recommended-bump": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-1.2.1.tgz", - "integrity": "sha512-oJjG6DkRgtnr/t/VrPdzmf4XZv8c4xKVJrVT4zrSHd92KEL+EYxSbYoKq8lQ7U5yLMw7130wrcQTLRjM/T+d4w==", - "dev": true, - "requires": { - "concat-stream": "1.6.0", - "conventional-commits-filter": "1.1.3", - "conventional-commits-parser": "2.1.3", - "git-raw-commits": "1.3.2", - "git-semver-tags": "1.3.2", - "meow": "3.7.0", - "object-assign": "4.1.1" - } - }, - "core-js": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", - "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "4.1.1", - "shebang-command": "1.2.0", - "which": "1.3.0" - } - }, - "crypto-browserify": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.3.0.tgz", - "integrity": "sha1-ufx1u0oO1h3PHNXa6W6zDJw+UGw=", - "dev": true, - "requires": { - "browserify-aes": "0.4.0", - "pbkdf2-compat": "2.0.1", - "ripemd160": "0.2.0", - "sha.js": "2.2.6" - } - }, - "css": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/css/-/css-1.0.8.tgz", - "integrity": "sha1-k4aBHKgrzMnuf7WnMrHioxfIo+c=", - "dev": true, - "requires": { - "css-parse": "1.0.4", - "css-stringify": "1.0.5" - } - }, - "css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "dev": true - }, - "css-loader": { - "version": "0.26.4", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.26.4.tgz", - "integrity": "sha1-th6eMNuUMD5v/IkvEOzQmtAlof0=", - "dev": true, - "requires": { - "babel-code-frame": "6.26.0", - "css-selector-tokenizer": "0.7.0", - "cssnano": "3.10.0", - "loader-utils": "1.1.0", - "lodash.camelcase": "4.3.0", - "object-assign": "4.1.1", - "postcss": "5.2.18", - "postcss-modules-extract-imports": "1.1.0", - "postcss-modules-local-by-default": "1.2.0", - "postcss-modules-scope": "1.1.0", - "postcss-modules-values": "1.3.0", - "source-list-map": "0.1.8" - }, - "dependencies": { - "loader-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "dev": true, - "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1" - } - } - } - }, - "css-parse": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-1.0.4.tgz", - "integrity": "sha1-OLBQP7+dqfVOnB29pg4UXHcRe90=", - "dev": true - }, - "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "requires": { - "boolbase": "1.0.0", - "css-what": "2.1.0", - "domutils": "1.5.1", - "nth-check": "1.0.1" - } - }, - "css-selector-tokenizer": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", - "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", - "dev": true, - "requires": { - "cssesc": "0.1.0", - "fastparse": "1.1.1", - "regexpu-core": "1.0.0" - } - }, - "css-stringify": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/css-stringify/-/css-stringify-1.0.5.tgz", - "integrity": "sha1-sNBClG2ylTu50pKQCmy19tASIDE=", - "dev": true - }, - "css-what": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz", - "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=" - }, - "cssesc": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", - "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", - "dev": true - }, - "cssnano": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", - "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", - "dev": true, - "requires": { - "autoprefixer": "6.7.7", - "decamelize": "1.2.0", - "defined": "1.0.0", - "has": "1.0.1", - "object-assign": "4.1.1", - "postcss": "5.2.18", - "postcss-calc": "5.3.1", - "postcss-colormin": "2.2.2", - "postcss-convert-values": "2.6.1", - "postcss-discard-comments": "2.0.4", - "postcss-discard-duplicates": "2.1.0", - "postcss-discard-empty": "2.1.0", - "postcss-discard-overridden": "0.1.1", - "postcss-discard-unused": "2.2.3", - "postcss-filter-plugins": "2.0.2", - "postcss-merge-idents": "2.1.7", - "postcss-merge-longhand": "2.0.2", - "postcss-merge-rules": "2.1.2", - "postcss-minify-font-values": "1.0.5", - "postcss-minify-gradients": "1.0.5", - "postcss-minify-params": "1.2.2", - "postcss-minify-selectors": "2.1.1", - "postcss-normalize-charset": "1.1.1", - "postcss-normalize-url": "3.0.8", - "postcss-ordered-values": "2.2.3", - "postcss-reduce-idents": "2.4.0", - "postcss-reduce-initial": "1.0.1", - "postcss-reduce-transforms": "1.0.4", - "postcss-svgo": "2.1.6", - "postcss-unique-selectors": "2.0.2", - "postcss-value-parser": "3.3.0", - "postcss-zindex": "2.2.0" - } - }, - "csso": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", - "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", - "dev": true, - "requires": { - "clap": "1.2.3", - "source-map": "0.5.7" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "requires": { - "array-find-index": "1.0.2" - } - }, - "d": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", - "dev": true, - "requires": { - "es5-ext": "0.10.39" - } - }, - "dargs": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz", - "integrity": "sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=", - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", - "dev": true - }, - "dateformat": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", - "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", - "dev": true, - "requires": { - "get-stdin": "4.0.1", - "meow": "3.7.0" - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "debug-log": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz", - "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=", - "dev": true - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dev": true, - "requires": { - "clone": "1.0.3" - } - }, - "defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", - "dev": true - }, - "deglob": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/deglob/-/deglob-1.1.2.tgz", - "integrity": "sha1-dtV3wl/j9zKUEqK1nq3qV6xQDj8=", - "dev": true, - "requires": { - "find-root": "1.1.0", - "glob": "7.1.2", - "ignore": "3.3.7", - "pkg-config": "1.1.1", - "run-parallel": "1.1.7", - "uniq": "1.0.1", - "xtend": "4.0.1" - } - }, - "del": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", - "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", - "dev": true, - "requires": { - "globby": "5.0.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.0", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "rimraf": "2.6.2" - } - }, - "diff": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", - "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=", - "dev": true - }, - "dir-compare": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/dir-compare/-/dir-compare-1.3.0.tgz", - "integrity": "sha1-KME8axpYAeeFCnuPqaYJa/aG8EA=", - "dev": true, - "requires": { - "bluebird": "3.4.1", - "buffer-equal": "1.0.0", - "colors": "1.0.3", - "commander": "2.9.0", - "minimatch": "3.0.2" - }, - "dependencies": { - "bluebird": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.1.tgz", - "integrity": "sha1-tzHd9I4t077awudeEhWhG8uR+gc=", - "dev": true - }, - "colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", - "dev": true - }, - "commander": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", - "dev": true, - "requires": { - "graceful-readlink": "1.0.1" - } - }, - "minimatch": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.2.tgz", - "integrity": "sha1-DzmKcwDqRB6cNIyD2Yq4ydv5xAo=", - "dev": true, - "requires": { - "brace-expansion": "1.1.11" - } - } - } - }, - "disparity": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/disparity/-/disparity-2.0.0.tgz", - "integrity": "sha1-V92stHMkrl9Y0swNqIbbTOnutxg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "diff": "1.4.0" - } - }, - "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true, - "requires": { - "esutils": "2.0.2", - "isarray": "1.0.0" - } - }, - "dom-converter": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.1.4.tgz", - "integrity": "sha1-pF71cnuJDJv/5tfIduexnLDhfzs=", - "requires": { - "utila": "0.3.3" - }, - "dependencies": { - "utila": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz", - "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=" - } - } - }, - "dom-serializer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", - "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", - "requires": { - "domelementtype": "1.1.3", - "entities": "1.1.1" - }, - "dependencies": { - "domelementtype": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", - "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=" - } - } - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, - "domelementtype": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", - "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=" - }, - "domhandler": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz", - "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=", - "requires": { - "domelementtype": "1.3.0" - } - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "requires": { - "dom-serializer": "0.1.0", - "domelementtype": "1.3.0" - } - }, - "dot-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", - "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=", - "dev": true, - "requires": { - "is-obj": "1.0.1" - } - }, - "dotgitignore": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/dotgitignore/-/dotgitignore-1.0.3.tgz", - "integrity": "sha512-eu5XjSstm0WXQsARgo6kPjkINYZlOUW+z/KtAAIBjHa5mUpMPrxJytbPIndWz6GubBuuuH5ljtVcXKnVnH5q8w==", - "dev": true, - "requires": { - "find-up": "2.1.0", - "minimatch": "3.0.4" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "2.0.0" - } - } - } - }, - "editorconfig": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.13.3.tgz", - "integrity": "sha512-WkjsUNVCu+ITKDj73QDvi0trvpdDWdkDyHybDGSXPfekLCqwmpD7CP7iPbvBgosNuLcI96XTDwNa75JyFl7tEQ==", - "dev": true, - "requires": { - "bluebird": "3.5.1", - "commander": "2.14.1", - "lru-cache": "3.2.0", - "semver": "5.5.0", - "sigmund": "1.0.1" - }, - "dependencies": { - "lru-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-3.2.0.tgz", - "integrity": "sha1-cXibO39Tmb7IVl3aOKow0qCX7+4=", - "dev": true, - "requires": { - "pseudomap": "1.0.2" - } - } - } - }, - "electron-to-chromium": { - "version": "1.3.34", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.34.tgz", - "integrity": "sha1-2TSY9AORuwwWpgPYJBuZUUBBV+0=", - "dev": true - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" - }, - "enhanced-resolve": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz", - "integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "memory-fs": "0.2.0", - "tapable": "0.1.10" - }, - "dependencies": { - "memory-fs": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz", - "integrity": "sha1-8rslNovBIeORwlIN6Slpyu4KApA=", - "dev": true - }, - "tapable": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz", - "integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=", - "dev": true - } - } - }, - "entities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", - "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=" - }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "dev": true, - "requires": { - "prr": "1.0.1" - } - }, - "error-ex": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", - "dev": true, - "requires": { - "is-arrayish": "0.2.1" - } - }, - "es5-ext": { - "version": "0.10.39", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.39.tgz", - "integrity": "sha512-AlaXZhPHl0po/uxMx1tyrlt1O86M6D5iVaDH8UgLfgek4kXTX6vzsRfJQWC2Ku+aG8pkw1XWzh9eTkwfVrsD5g==", - "dev": true, - "requires": { - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" - } - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.39", - "es6-symbol": "3.1.1" - } - }, - "es6-map": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", - "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.39", - "es6-iterator": "2.0.3", - "es6-set": "0.1.5", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" - } - }, - "es6-promise": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", - "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==", - "dev": true - }, - "es6-set": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", - "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.39", - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" - } - }, - "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.39" - } - }, - "es6-templates": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/es6-templates/-/es6-templates-0.2.3.tgz", - "integrity": "sha1-XLmsn7He1usSOTQrgdeSu7QHjuQ=", - "dev": true, - "requires": { - "recast": "0.11.23", - "through": "2.3.8" - } - }, - "es6-weak-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", - "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.39", - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "escope": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", - "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", - "dev": true, - "requires": { - "es6-map": "0.1.5", - "es6-weak-map": "2.0.2", - "esrecurse": "4.2.1", - "estraverse": "4.2.0" - } - }, - "esformatter": { - "version": "0.9.6", - "resolved": "https://registry.npmjs.org/esformatter/-/esformatter-0.9.6.tgz", - "integrity": "sha1-Ngiux4KN7uPNP0bhGSrrRyaKlX8=", - "dev": true, - "requires": { - "acorn-to-esprima": "2.0.8", - "babel-traverse": "6.26.0", - "debug": "0.7.4", - "disparity": "2.0.0", - "esformatter-parser": "1.0.0", - "glob": "5.0.15", - "minimist": "1.2.0", - "mout": "1.1.0", - "npm-run": "2.0.0", - "resolve": "1.5.0", - "rocambole": "0.7.0", - "rocambole-indent": "2.0.4", - "rocambole-linebreak": "1.0.2", - "rocambole-node": "1.0.0", - "rocambole-token": "1.2.1", - "rocambole-whitespace": "1.0.0", - "stdin": "0.0.1", - "strip-json-comments": "0.1.3", - "supports-color": "1.3.1", - "user-home": "2.0.0" - }, - "dependencies": { - "debug": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", - "integrity": "sha1-BuHqgILCyxTjmAbiLi9vdX+Srzk=", - "dev": true - }, - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true, - "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "strip-json-comments": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.3.tgz", - "integrity": "sha1-Fkxk43Coo8wAyeAbU55WmCPw7lQ=", - "dev": true - }, - "supports-color": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.3.1.tgz", - "integrity": "sha1-FXWN8J2P87SswwdTn6vicJXhBC0=", - "dev": true - } - } - }, - "esformatter-eol-last": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esformatter-eol-last/-/esformatter-eol-last-1.0.0.tgz", - "integrity": "sha1-RaeP9GIrHUnkT1a0mQV2amMpDAc=", - "dev": true, - "requires": { - "string.prototype.endswith": "0.2.0" - } - }, - "esformatter-ignore": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/esformatter-ignore/-/esformatter-ignore-0.1.3.tgz", - "integrity": "sha1-BNO4db+knd4ATMWN9va7w8BWfx4=", - "dev": true - }, - "esformatter-jsx": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/esformatter-jsx/-/esformatter-jsx-7.4.1.tgz", - "integrity": "sha1-siCa4JCPQTp0exIFcny/S6QklgI=", - "dev": true, - "requires": { - "babylon": "6.14.1", - "esformatter-ignore": "0.1.3", - "extend": "3.0.0", - "js-beautify": "1.6.4" - }, - "dependencies": { - "babylon": { - "version": "6.14.1", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.14.1.tgz", - "integrity": "sha1-lWJ1+rcnU62bNDXXr+WPi/CimBU=", - "dev": true - } - } - }, - "esformatter-literal-notation": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/esformatter-literal-notation/-/esformatter-literal-notation-1.0.1.tgz", - "integrity": "sha1-cQ57QgF1/j9+WvrVu60ykQOELi8=", - "dev": true, - "requires": { - "rocambole": "0.3.6", - "rocambole-token": "1.2.1" - }, - "dependencies": { - "esprima": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", - "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=", - "dev": true - }, - "rocambole": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/rocambole/-/rocambole-0.3.6.tgz", - "integrity": "sha1-Teu/WUMUS8e2AG2Vvo+swLdDUqc=", - "dev": true, - "requires": { - "esprima": "1.0.4" - } - } - } - }, - "esformatter-parser": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esformatter-parser/-/esformatter-parser-1.0.0.tgz", - "integrity": "sha1-CFQHLQSHU57TnK442KVDLBfsEdM=", - "dev": true, - "requires": { - "acorn-to-esprima": "2.0.8", - "babel-traverse": "6.26.0", - "babylon": "6.18.0", - "rocambole": "0.7.0" - } - }, - "esformatter-quotes": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/esformatter-quotes/-/esformatter-quotes-1.1.0.tgz", - "integrity": "sha1-4ixsRFx/MGBB2BybnlH8psv6yoI=", - "dev": true - }, - "esformatter-remove-trailing-commas": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/esformatter-remove-trailing-commas/-/esformatter-remove-trailing-commas-1.0.1.tgz", - "integrity": "sha1-k5diTB+qmA/E7Mfl6YE+tPK1gqc=", - "dev": true, - "requires": { - "rocambole-token": "1.2.1" - } - }, - "esformatter-semicolon-first": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/esformatter-semicolon-first/-/esformatter-semicolon-first-1.2.0.tgz", - "integrity": "sha1-47US0dTgcxDqvKv1cnfqfIpW4kI=", - "dev": true, - "requires": { - "esformatter-parser": "1.0.0", - "rocambole": "0.7.0", - "rocambole-linebreak": "1.0.2", - "rocambole-token": "1.2.1" - } - }, - "esformatter-spaced-lined-comment": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/esformatter-spaced-lined-comment/-/esformatter-spaced-lined-comment-2.0.1.tgz", - "integrity": "sha1-3F80B/k8KV4eVkRr00RWDaXm3Kw=", - "dev": true - }, - "eslint": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-2.13.1.tgz", - "integrity": "sha1-5MyPoPAJ+4KaquI4VaKTYL4fbBE=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "concat-stream": "1.6.0", - "debug": "2.6.9", - "doctrine": "1.5.0", - "es6-map": "0.1.5", - "escope": "3.6.0", - "espree": "3.5.3", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "file-entry-cache": "1.3.1", - "glob": "7.1.2", - "globals": "9.18.0", - "ignore": "3.3.7", - "imurmurhash": "0.1.4", - "inquirer": "0.12.0", - "is-my-json-valid": "2.17.2", - "is-resolvable": "1.1.0", - "js-yaml": "3.7.0", - "json-stable-stringify": "1.0.1", - "levn": "0.3.0", - "lodash": "4.17.5", - "mkdirp": "0.5.1", - "optionator": "0.8.2", - "path-is-absolute": "1.0.1", - "path-is-inside": "1.0.2", - "pluralize": "1.2.1", - "progress": "1.1.8", - "require-uncached": "1.0.3", - "shelljs": "0.6.1", - "strip-json-comments": "1.0.4", - "table": "3.8.3", - "text-table": "0.2.0", - "user-home": "2.0.0" - } - }, - "eslint-config-semistandard": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/eslint-config-semistandard/-/eslint-config-semistandard-6.0.2.tgz", - "integrity": "sha1-JXuWM30qjy6yDiDl8OgjUBShkNQ=", - "dev": true - }, - "eslint-config-standard": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-5.3.1.tgz", - "integrity": "sha1-WRyWkVF0QTL1YdO5FagS6kE/5JA=", - "dev": true - }, - "eslint-config-standard-jsx": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-1.2.0.tgz", - "integrity": "sha1-yp/Vk2EOavVaKtP0MACS0ejA3vU=", - "dev": true - }, - "eslint-plugin-promise": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-1.3.2.tgz", - "integrity": "sha1-/OMy1vX/UjIApTdwSGPsPCQiunw=", - "dev": true - }, - "eslint-plugin-react": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-5.2.2.tgz", - "integrity": "sha1-fbBo4fVIf2hx5N7vNqOBwwPqwWE=", - "dev": true, - "requires": { - "doctrine": "1.5.0", - "jsx-ast-utils": "1.4.1" - } - }, - "eslint-plugin-standard": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-1.3.3.tgz", - "integrity": "sha1-owhUUVI0MedvQJxwy4+U4yvw7H8=", - "dev": true - }, - "espree": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.3.tgz", - "integrity": "sha512-Zy3tAJDORxQZLl2baguiRU1syPERAIg0L+JB2MWorORgTu/CplzvxS9WWA7Xh4+Q+eOQihNs/1o1Xep8cvCxWQ==", - "dev": true, - "requires": { - "acorn": "5.4.1", - "acorn-jsx": "3.0.1" - }, - "dependencies": { - "acorn": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.4.1.tgz", - "integrity": "sha512-XLmq3H/BVvW6/GbxKryGxWORz1ebilSsUDlyC27bXhWGWAZWkGwS6FLHjOlwFXNFoWFQEO/Df4u0YYd0K3BQgQ==", - "dev": true - } - } - }, - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, - "requires": { - "estraverse": "4.2.0" - } - }, - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true - }, - "estraverse-fb": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/estraverse-fb/-/estraverse-fb-1.3.2.tgz", - "integrity": "sha1-0yOky15awzHOoDNBOpJT4WQ+B8Q=", - "dev": true - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true - }, - "event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.39" - } - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", - "dev": true - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true - }, - "exit-hook": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", - "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", - "dev": true - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "0.1.1" - } - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true, - "requires": { - "fill-range": "2.2.3" - } - }, - "extend": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz", - "integrity": "sha1-WkdDU7nzNT3dgXbf03uRyDpG8dQ=", - "dev": true - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - }, - "extract-text-webpack-plugin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-1.0.1.tgz", - "integrity": "sha1-yVvzy6rEnclvHcbgclSfu2VMzSw=", - "dev": true, - "requires": { - "async": "1.5.2", - "loader-utils": "0.2.17", - "webpack-sources": "0.1.5" - } - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fastparse": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", - "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=", - "dev": true - }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "dev": true, - "requires": { - "escape-string-regexp": "1.0.5", - "object-assign": "4.1.1" - } - }, - "file-entry-cache": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-1.3.1.tgz", - "integrity": "sha1-RMYepgeuS+nBQC9B9EJwy/4zT/g=", - "dev": true, - "requires": { - "flat-cache": "1.3.0", - "object-assign": "4.1.1" - } - }, - "file-loader": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-0.9.0.tgz", - "integrity": "sha1-HS2t3UJM5tGwfP4/eXMb7TYXq0I=", - "dev": true, - "requires": { - "loader-utils": "0.2.17" - } - }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", - "dev": true - }, - "fill-range": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", - "dev": true, - "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" - } - }, - "find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", - "dev": true - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" - } - }, - "findit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findit/-/findit-2.0.0.tgz", - "integrity": "sha1-ZQnwEmr0wXhVHPqZOU4DLhOk1W4=", - "dev": true - }, - "flat-cache": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", - "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", - "dev": true, - "requires": { - "circular-json": "0.3.3", - "del": "2.2.2", - "graceful-fs": "4.1.11", - "write": "0.2.1" - } - }, - "flatten": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", - "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", - "dev": true - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true, - "requires": { - "for-in": "1.0.2" - } - }, - "fs-access": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", - "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=", - "dev": true, - "requires": { - "null-check": "1.0.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", - "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", - "dev": true, - "optional": true, - "requires": { - "nan": "2.9.2", - "node-pre-gyp": "0.6.39" - }, - "dependencies": { - "abbrev": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "ajv": { - "version": "4.11.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "aproba": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.2.9" - } - }, - "asn1": { - "version": "0.2.3", - "bundled": true, - "dev": true, - "optional": true - }, - "assert-plus": { - "version": "0.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "asynckit": { - "version": "0.4.0", - "bundled": true, - "dev": true, - "optional": true - }, - "aws-sign2": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "aws4": { - "version": "1.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "balanced-match": { - "version": "0.4.2", - "bundled": true, - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "block-stream": { - "version": "0.0.9", - "bundled": true, - "dev": true, - "requires": { - "inherits": "2.0.3" - } - }, - "boom": { - "version": "2.10.1", - "bundled": true, - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "brace-expansion": { - "version": "1.1.7", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "0.4.2", - "concat-map": "0.0.1" - } - }, - "buffer-shims": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "caseless": { - "version": "0.12.0", - "bundled": true, - "dev": true, - "optional": true - }, - "co": { - "version": "4.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "combined-stream": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "requires": { - "delayed-stream": "1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "cryptiles": { - "version": "2.0.5", - "bundled": true, - "dev": true, - "requires": { - "boom": "2.10.1" - } - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "debug": { - "version": "2.6.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.4.2", - "bundled": true, - "dev": true, - "optional": true - }, - "delayed-stream": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "extend": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "extsprintf": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "bundled": true, - "dev": true, - "optional": true - }, - "form-data": { - "version": "2.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.15" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "fstream": { - "version": "1.0.11", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.1" - } - }, - "fstream-ignore": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" - } - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "1.1.1", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" - } - }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true, - "dev": true - }, - "har-schema": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "hawk": { - "version": "3.1.3", - "bundled": true, - "dev": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, - "hoek": { - "version": "2.16.3", - "bundled": true, - "dev": true - }, - "http-signature": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.0", - "sshpk": "1.13.0" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "ini": { - "version": "1.3.4", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "jodid25519": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "json-schema": { - "version": "0.2.3", - "bundled": true, - "dev": true, - "optional": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsonify": "0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "jsonify": { - "version": "0.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "jsprim": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.0.2", - "json-schema": "0.2.3", - "verror": "1.3.6" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "mime-db": { - "version": "1.27.0", - "bundled": true, - "dev": true - }, - "mime-types": { - "version": "2.1.15", - "bundled": true, - "dev": true, - "requires": { - "mime-db": "1.27.0" - } - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "node-pre-gyp": { - "version": "0.6.39", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "1.0.2", - "hawk": "3.1.3", - "mkdirp": "0.5.1", - "nopt": "4.0.1", - "npmlog": "4.1.0", - "rc": "1.2.1", - "request": "2.81.0", - "rimraf": "2.6.1", - "semver": "5.3.0", - "tar": "2.2.1", - "tar-pack": "3.4.0" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1.1.0", - "osenv": "0.1.4" - } - }, - "npmlog": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true, - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "performance-now": { - "version": "0.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true, - "dev": true - }, - "punycode": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "optional": true - }, - "qs": { - "version": "6.4.0", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.2.9", - "bundled": true, - "dev": true, - "requires": { - "buffer-shims": "1.0.0", - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "1.0.1", - "util-deprecate": "1.0.2" - } - }, - "request": { - "version": "2.81.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.15", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.0.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.6.0", - "uuid": "3.0.1" - } - }, - "rimraf": { - "version": "2.6.1", - "bundled": true, - "dev": true, - "requires": { - "glob": "7.1.2" - } - }, - "safe-buffer": { - "version": "5.0.1", - "bundled": true, - "dev": true - }, - "semver": { - "version": "5.3.0", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sntp": { - "version": "1.0.9", - "bundled": true, - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "sshpk": { - "version": "1.13.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jodid25519": "1.0.2", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "string_decoder": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, - "stringstream": { - "version": "0.0.5", - "bundled": true, - "dev": true, - "optional": true - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "2.2.1", - "bundled": true, - "dev": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, - "tar-pack": { - "version": "3.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "2.6.8", - "fstream": "1.0.11", - "fstream-ignore": "1.0.5", - "once": "1.4.0", - "readable-stream": "2.2.9", - "rimraf": "2.6.1", - "tar": "2.2.1", - "uid-number": "0.0.6" - } - }, - "tough-cookie": { - "version": "2.3.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "punycode": "1.4.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "bundled": true, - "dev": true, - "optional": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true, - "dev": true, - "optional": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "uuid": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "verror": { - "version": "1.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "extsprintf": "1.0.2" - } - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "1.0.2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "gaze": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz", - "integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=", - "dev": true, - "requires": { - "globule": "0.1.0" - } - }, - "generate-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", - "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", - "dev": true - }, - "generate-object-property": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", - "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", - "dev": true, - "requires": { - "is-property": "1.0.2" - } - }, - "get-caller-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", - "dev": true - }, - "get-pkg-repo": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", - "integrity": "sha1-xztInAbYDMVTbCyFP54FIyBWly0=", - "dev": true, - "requires": { - "hosted-git-info": "2.5.0", - "meow": "3.7.0", - "normalize-package-data": "2.4.0", - "parse-github-repo-url": "1.4.1", - "through2": "2.0.3" - } - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "git-raw-commits": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-1.3.2.tgz", - "integrity": "sha512-ojMbErvEIPXaqNNwomSp/DYLhhbU+BEcCOyPZ26U8VNaQjBRN9lZ7E3vfjIkTA8JLWYc5zsSxuVXut6bczKhrg==", - "dev": true, - "requires": { - "dargs": "4.1.0", - "lodash.template": "4.4.0", - "meow": "3.7.0", - "split2": "2.2.0", - "through2": "2.0.3" - } - }, - "git-remote-origin-url": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", - "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=", - "dev": true, - "requires": { - "gitconfiglocal": "1.0.0", - "pify": "2.3.0" - } - }, - "git-semver-tags": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-1.3.2.tgz", - "integrity": "sha512-CXQJ4GdxkUya1YQaEKGcYIJ9RiuX4RTWnRIhiMlTItl8czRix4akE0CpoUSLmljuxEnUM/pFpd2FFwo+nV0SPA==", - "dev": true, - "requires": { - "meow": "3.7.0", - "semver": "5.5.0" - } - }, - "gitconfiglocal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", - "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=", - "dev": true, - "requires": { - "ini": "1.3.5" - } - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true, - "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" - } - }, - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, - "requires": { - "is-glob": "2.0.1" - } - }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true - }, - "globby": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", - "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", - "dev": true, - "requires": { - "array-union": "1.0.2", - "arrify": "1.0.1", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - }, - "globule": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz", - "integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=", - "dev": true, - "requires": { - "glob": "3.1.21", - "lodash": "1.0.2", - "minimatch": "0.2.14" - }, - "dependencies": { - "glob": { - "version": "3.1.21", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", - "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=", - "dev": true, - "requires": { - "graceful-fs": "1.2.3", - "inherits": "1.0.2", - "minimatch": "0.2.14" - } - }, - "graceful-fs": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", - "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=", - "dev": true - }, - "inherits": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz", - "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=", - "dev": true - }, - "lodash": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz", - "integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=", - "dev": true - }, - "lru-cache": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", - "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", - "dev": true - }, - "minimatch": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", - "dev": true, - "requires": { - "lru-cache": "2.7.3", - "sigmund": "1.0.1" - } - } - } - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true - }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", - "dev": true - }, - "growl": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.7.0.tgz", - "integrity": "sha1-3i1mE20ALhErpw8/EMMc98NQsto=", - "dev": true - }, - "grunt-exec": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/grunt-exec/-/grunt-exec-0.4.7.tgz", - "integrity": "sha1-QAUf+k6wyWV+BTuV6I1ENSocLCU=", - "dev": true - }, - "handlebars": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", - "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", - "dev": true, - "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" - } - }, - "has": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", - "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", - "dev": true, - "requires": { - "function-bind": "1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" - }, - "hosted-git-info": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", - "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", - "dev": true - }, - "html-comment-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz", - "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=", - "dev": true - }, - "html-loader": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-0.4.5.tgz", - "integrity": "sha1-X7zYfNY6XEmn/OL+VvQl4Fcpxow=", - "dev": true, - "requires": { - "es6-templates": "0.2.3", - "fastparse": "1.1.1", - "html-minifier": "3.5.9", - "loader-utils": "1.1.0", - "object-assign": "4.1.1" - }, - "dependencies": { - "loader-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "dev": true, - "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1" - } - } - } - }, - "html-minifier": { - "version": "3.5.9", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.9.tgz", - "integrity": "sha512-EZqO91XJwkj8BeLx9C12sKB/AHoTANaZax39vEOP9f/X/9jgJ3r1O2+neabuHqpz5kJO71TapP9JrtCY39su1A==", - "requires": { - "camel-case": "3.0.0", - "clean-css": "4.1.9", - "commander": "2.14.1", - "he": "1.1.1", - "ncname": "1.0.0", - "param-case": "2.1.1", - "relateurl": "0.2.7", - "uglify-js": "3.3.12" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "uglify-js": { - "version": "3.3.12", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.12.tgz", - "integrity": "sha512-4jxrTXlV0HaXTsNILfXW0eey7Qo8qHYM6ih5ZNh45erDWU2GHmKDmekwBTskDb12h+kdd2DBvdzqVb47YzNmTA==", - "requires": { - "commander": "2.14.1", - "source-map": "0.6.1" - } - } - } - }, - "htmlparser2": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", - "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=", - "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.1.0", - "domutils": "1.1.6", - "readable-stream": "1.0.34" - }, - "dependencies": { - "domutils": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz", - "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=", - "requires": { - "domelementtype": "1.3.0" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } - } - }, - "https-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", - "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=", - "dev": true - }, - "icss-replace-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", - "dev": true - }, - "ieee754": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", - "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", - "dev": true - }, - "ignore": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", - "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==", - "dev": true - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "requires": { - "repeating": "2.0.1" - } - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true - }, - "inquirer": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", - "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", - "dev": true, - "requires": { - "ansi-escapes": "1.4.0", - "ansi-regex": "2.1.1", - "chalk": "1.1.3", - "cli-cursor": "1.0.2", - "cli-width": "2.2.0", - "figures": "1.7.0", - "lodash": "4.17.5", - "readline2": "1.0.1", - "run-async": "0.1.0", - "rx-lite": "3.1.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "through": "2.3.8" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - } - } - }, - "interpret": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-0.6.6.tgz", - "integrity": "sha1-/s16GOfOXKar+5U+H4YhOknxYls=", - "dev": true - }, - "invariant": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.3.tgz", - "integrity": "sha512-7Z5PPegwDTyjbaeCnV0efcyS6vdKAU51kpEmS7QFib3P4822l8ICYyMn7qvJnc+WzLoDsuI9gPMKbJ8pCu8XtA==", - "dev": true, - "requires": { - "loose-envify": "1.3.1" - } - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true - }, - "is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", - "dev": true - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "1.11.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "dev": true, - "requires": { - "builtin-modules": "1.1.1" - } - }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", - "dev": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "dev": true, - "requires": { - "is-primitive": "2.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - }, - "is-my-ip-valid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz", - "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==", - "dev": true - }, - "is-my-json-valid": { - "version": "2.17.2", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz", - "integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==", - "dev": true, - "requires": { - "generate-function": "2.0.0", - "generate-object-property": "1.2.0", - "is-my-ip-valid": "1.0.0", - "jsonpointer": "4.0.1", - "xtend": "4.0.1" - } - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "dev": true - }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true - }, - "is-path-in-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", - "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", - "dev": true, - "requires": { - "is-path-inside": "1.0.1" - } - }, - "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", - "dev": true, - "requires": { - "path-is-inside": "1.0.2" - } - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", - "dev": true - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", - "dev": true - }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", - "dev": true - }, - "is-property": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", - "dev": true - }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-subset": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", - "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=", - "dev": true - }, - "is-svg": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", - "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", - "dev": true, - "requires": { - "html-comment-regex": "1.1.1" - } - }, - "is-text-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", - "dev": true, - "requires": { - "text-extensions": "1.7.0" - } - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - }, - "jade": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/jade/-/jade-1.11.0.tgz", - "integrity": "sha1-nIDlOMEtP7lcjZu5VZ+gzAQEBf0=", - "dev": true, - "requires": { - "character-parser": "1.2.1", - "clean-css": "3.4.28", - "commander": "2.6.0", - "constantinople": "3.0.2", - "jstransformer": "0.0.2", - "mkdirp": "0.5.1", - "transformers": "2.1.0", - "uglify-js": "2.8.29", - "void-elements": "2.0.1", - "with": "4.0.3" - }, - "dependencies": { - "clean-css": { - "version": "3.4.28", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz", - "integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=", - "dev": true, - "requires": { - "commander": "2.8.1", - "source-map": "0.4.4" - }, - "dependencies": { - "commander": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", - "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", - "dev": true, - "requires": { - "graceful-readlink": "1.0.1" - } - } - } - }, - "commander": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz", - "integrity": "sha1-nfflL7Kgyw+4kFjugMMQQiXzfh0=", - "dev": true - } - } - }, - "jade-loader": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/jade-loader/-/jade-loader-0.8.0.tgz", - "integrity": "sha1-0bCZcam/kKKymLCvWxrQMA0QnC4=", - "dev": true, - "requires": { - "loader-utils": "0.2.17" - } - }, - "jasmine": { - "version": "2.99.0", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.99.0.tgz", - "integrity": "sha1-jKctEC5jm4Z8ZImFbg4YqceqQrc=", - "dev": true, - "requires": { - "exit": "0.1.2", - "glob": "7.1.2", - "jasmine-core": "2.99.1" - } - }, - "jasmine-core": { - "version": "2.99.1", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.99.1.tgz", - "integrity": "sha1-5kAN8ea1bhMLYcS80JPap/boyhU=", - "dev": true - }, - "jasmine-diff-matchers": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/jasmine-diff-matchers/-/jasmine-diff-matchers-2.0.0.tgz", - "integrity": "sha1-geO0pbdtPnXhxlMFdTKqsYfn7bQ=", - "dev": true, - "requires": { - "colors": "1.1.2", - "diff": "1.4.0", - "jasmine-node": "2.0.0-beta4", - "lodash.isstring": "4.0.1", - "q": "1.5.1" - } - }, - "jasmine-growl-reporter": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/jasmine-growl-reporter/-/jasmine-growl-reporter-0.2.1.tgz", - "integrity": "sha1-1fCje5L2qD/VxkgrgJSVyQqLVf4=", - "dev": true, - "requires": { - "growl": "1.7.0" - } - }, - "jasmine-node": { - "version": "2.0.0-beta4", - "resolved": "https://registry.npmjs.org/jasmine-node/-/jasmine-node-2.0.0-beta4.tgz", - "integrity": "sha1-fRYo1BUjejB6tsXfm9Y6J0czgpw=", - "dev": true, - "requires": { - "coffee-script": "1.7.1", - "gaze": "0.5.2", - "grunt-exec": "0.4.7", - "jasmine-growl-reporter": "0.2.1", - "jasmine-reporters": "git://github.com/larrymyers/jasmine-reporters.git#2c7242dc11c15c2f156169bc704798568b8cb50d", - "minimist": "0.0.10", - "mkdirp": "0.3.5", - "underscore": "1.6.0", - "walkdir": "0.0.12", - "xml2js": "0.4.19" - }, - "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - }, - "mkdirp": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", - "integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc=", - "dev": true - } - } - }, - "jasmine-reporters": { - "version": "git://github.com/larrymyers/jasmine-reporters.git#2c7242dc11c15c2f156169bc704798568b8cb50d", - "dev": true, - "requires": { - "mkdirp": "0.3.5" - }, - "dependencies": { - "mkdirp": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", - "integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc=", - "dev": true - } - } - }, - "js-base64": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.3.tgz", - "integrity": "sha512-H7ErYLM34CvDMto3GbD6xD0JLUGYXR3QTcH6B/tr4Hi/QpSThnCsIp+Sy5FRTw3B0d6py4HcNkW7nO/wdtGWEw==", - "dev": true - }, - "js-beautify": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.6.4.tgz", - "integrity": "sha1-qa95aZdCrJobb93B/bx4vE1RX8M=", - "dev": true, - "requires": { - "config-chain": "1.1.11", - "editorconfig": "0.13.3", - "mkdirp": "0.5.1", - "nopt": "3.0.6" - } - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "js-yaml": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", - "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", - "dev": true, - "requires": { - "argparse": "1.0.10", - "esprima": "2.7.3" - } - }, - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "dev": true, - "requires": { - "jsonify": "0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true - }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", - "dev": true - }, - "jsonpointer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", - "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", - "dev": true - }, - "jstransformer": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-0.0.2.tgz", - "integrity": "sha1-eq4pqQPRls+glz2IXT5HlH7Ndqs=", - "dev": true, - "requires": { - "is-promise": "2.1.0", - "promise": "6.1.0" - } - }, - "jsx-ast-utils": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz", - "integrity": "sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE=", - "dev": true - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", - "dev": true - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "requires": { - "invert-kv": "1.0.0" - } - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" - } - }, - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1", - "object-assign": "4.1.1" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" - }, - "dependencies": { - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - } - } - }, - "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==" - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", - "dev": true - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", - "dev": true - }, - "lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=", - "dev": true - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - }, - "lodash.template": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", - "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=", - "dev": true, - "requires": { - "lodash._reinterpolate": "3.0.0", - "lodash.templatesettings": "4.1.0" - } - }, - "lodash.templatesettings": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz", - "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=", - "dev": true, - "requires": { - "lodash._reinterpolate": "3.0.0" - } - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true - }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true - }, - "loose-envify": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", - "dev": true, - "requires": { - "js-tokens": "3.0.2" - } - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, - "requires": { - "currently-unhandled": "0.4.1", - "signal-exit": "3.0.2" - } - }, - "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=" - }, - "lru-cache": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", - "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", - "dev": true, - "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" - } - }, - "macaddress": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/macaddress/-/macaddress-0.2.8.tgz", - "integrity": "sha1-WQTcU3w57G2+/q6QIycTX6hRHxI=", - "dev": true - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - }, - "math-expression-evaluator": { - "version": "1.2.17", - "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", - "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=", - "dev": true - }, - "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "dev": true, - "requires": { - "mimic-fn": "1.2.0" - } - }, - "memory-fs": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.3.0.tgz", - "integrity": "sha1-e8xrYp46Q+hx1+Kaymrop/FcuyA=", - "dev": true, - "requires": { - "errno": "0.1.7", - "readable-stream": "2.3.4" - } - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "requires": { - "camelcase-keys": "2.1.0", - "decamelize": "1.2.0", - "loud-rejection": "1.6.0", - "map-obj": "1.0.1", - "minimist": "1.2.0", - "normalize-package-data": "2.4.0", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "redent": "1.0.0", - "trim-newlines": "1.0.0" - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" - } - }, - "mime": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.6.tgz", - "integrity": "sha1-WR2E02U6awtKO5343lqoEI5y5eA=", - "dev": true - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "1.1.11" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - } - } - }, - "modify-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.0.tgz", - "integrity": "sha1-4rbN65zhn5kxelNyLz2/XfXqqrI=", - "dev": true - }, - "mout": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mout/-/mout-1.1.0.tgz", - "integrity": "sha512-XsP0vf4As6BfqglxZqbqQ8SR6KQot2AgxvR0gG+WtUkf90vUXchMOZQtPf/Hml1rEffJupqL/tIrU6EYhsUQjw==", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "multiline": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/multiline/-/multiline-1.0.2.tgz", - "integrity": "sha1-abHyX/B00oKJBPJE3dBrfZbvbJM=", - "dev": true, - "requires": { - "strip-indent": "1.0.1" - } - }, - "mute-stream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", - "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", - "dev": true - }, - "nan": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.9.2.tgz", - "integrity": "sha512-ltW65co7f3PQWBDbqVvaU1WtFJUsNW7sWWm4HINhbMQIyVyzIeyZ8toX5TC5eeooE6piZoaEh4cZkueSKG3KYw==", - "dev": true, - "optional": true - }, - "ncname": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ncname/-/ncname-1.0.0.tgz", - "integrity": "sha1-W1etGLHKCShk72Kwse2BlPODtxw=", - "requires": { - "xml-char-classes": "1.0.0" - } - }, - "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "requires": { - "lower-case": "1.1.4" - } - }, - "node-libs-browser": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-0.7.0.tgz", - "integrity": "sha1-PicsCBnjCJNeJmdECNevDhSRuDs=", - "dev": true, - "requires": { - "assert": "1.4.1", - "browserify-zlib": "0.1.4", - "buffer": "4.9.1", - "console-browserify": "1.1.0", - "constants-browserify": "1.0.0", - "crypto-browserify": "3.3.0", - "domain-browser": "1.2.0", - "events": "1.1.1", - "https-browserify": "0.0.1", - "os-browserify": "0.2.1", - "path-browserify": "0.0.0", - "process": "0.11.10", - "punycode": "1.4.1", - "querystring-es3": "0.2.1", - "readable-stream": "2.3.4", - "stream-browserify": "2.0.1", - "stream-http": "2.8.0", - "string_decoder": "0.10.31", - "timers-browserify": "2.0.6", - "tty-browserify": "0.0.0", - "url": "0.11.0", - "util": "0.10.3", - "vm-browserify": "0.0.4" - }, - "dependencies": { - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, - "requires": { - "abbrev": "1.1.1" - } - }, - "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", - "dev": true, - "requires": { - "hosted-git-info": "2.5.0", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.1" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "1.1.0" - } - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true - }, - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "dev": true, - "requires": { - "object-assign": "4.1.1", - "prepend-http": "1.0.4", - "query-string": "4.3.4", - "sort-keys": "1.1.2" - } - }, - "npm-path": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/npm-path/-/npm-path-1.1.0.tgz", - "integrity": "sha1-BHSuAEGcMn1UcBt88s0F3Ii+EUA=", - "dev": true, - "requires": { - "which": "1.3.0" - } - }, - "npm-run": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/npm-run/-/npm-run-2.0.0.tgz", - "integrity": "sha1-KN/ArV4uRv4ISOK9WN3wAue3PBU=", - "dev": true, - "requires": { - "minimist": "1.2.0", - "npm-path": "1.1.0", - "npm-which": "2.0.0", - "serializerr": "1.0.3", - "spawn-sync": "1.0.15", - "sync-exec": "0.5.0" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "2.0.1" - } - }, - "npm-which": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/npm-which/-/npm-which-2.0.0.tgz", - "integrity": "sha1-DEaYIWC3gwk2YdHQG9RJbS/qu6w=", - "dev": true, - "requires": { - "commander": "2.14.1", - "npm-path": "1.1.0", - "which": "1.3.0" - } - }, - "nth-check": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", - "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", - "requires": { - "boolbase": "1.0.0" - } - }, - "null-check": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz", - "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=", - "dev": true - }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "dev": true, - "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "onetime": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", - "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", - "dev": true - }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "0.0.10", - "wordwrap": "0.0.3" - }, - "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - } - } - }, - "optionator": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", - "dev": true, - "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" - }, - "dependencies": { - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - } - } - }, - "os-browserify": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz", - "integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=", - "dev": true - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "dev": true, - "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" - } - }, - "os-shim": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", - "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-limit": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", - "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", - "dev": true, - "requires": { - "p-try": "1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "1.2.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "pako": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", - "dev": true - }, - "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "requires": { - "no-case": "2.3.2" - } - }, - "parse-github-repo-url": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz", - "integrity": "sha1-nn2LslKmy2ukJZUGC3v23z28H1A=", - "dev": true - }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "dev": true, - "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "1.3.1" - } - }, - "path-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", - "dev": true - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "2.0.1" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "path-parse": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", - "dev": true - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - }, - "pbkdf2-compat": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz", - "integrity": "sha1-tuDI+plJTZTgURV1gCpZpcFC8og=", - "dev": true - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "2.0.4" - } - }, - "pkg-config": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pkg-config/-/pkg-config-1.1.1.tgz", - "integrity": "sha1-VX7yLXPaPIg3EHdmxS6tq94pj+Q=", - "dev": true, - "requires": { - "debug-log": "1.0.1", - "find-root": "1.1.0", - "xtend": "4.0.1" - } - }, - "pluralize": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", - "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "1.0.0" - } - } - } - }, - "postcss-calc": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", - "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", - "dev": true, - "requires": { - "postcss": "5.2.18", - "postcss-message-helpers": "2.0.0", - "reduce-css-calc": "1.3.0" - } - }, - "postcss-colormin": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", - "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", - "dev": true, - "requires": { - "colormin": "1.1.2", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-convert-values": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", - "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", - "dev": true, - "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-discard-comments": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", - "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", - "dev": true, - "requires": { - "postcss": "5.2.18" - } - }, - "postcss-discard-duplicates": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", - "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", - "dev": true, - "requires": { - "postcss": "5.2.18" - } - }, - "postcss-discard-empty": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", - "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", - "dev": true, - "requires": { - "postcss": "5.2.18" - } - }, - "postcss-discard-overridden": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", - "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", - "dev": true, - "requires": { - "postcss": "5.2.18" - } - }, - "postcss-discard-unused": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", - "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", - "dev": true, - "requires": { - "postcss": "5.2.18", - "uniqs": "2.0.0" - } - }, - "postcss-filter-plugins": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz", - "integrity": "sha1-bYWGJTTXNaxCDkqFgG4fXUKG2Ew=", - "dev": true, - "requires": { - "postcss": "5.2.18", - "uniqid": "4.1.1" - } - }, - "postcss-merge-idents": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", - "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", - "dev": true, - "requires": { - "has": "1.0.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-merge-longhand": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", - "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", - "dev": true, - "requires": { - "postcss": "5.2.18" - } - }, - "postcss-merge-rules": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", - "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", - "dev": true, - "requires": { - "browserslist": "1.7.7", - "caniuse-api": "1.6.1", - "postcss": "5.2.18", - "postcss-selector-parser": "2.2.3", - "vendors": "1.0.1" - } - }, - "postcss-message-helpers": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", - "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=", - "dev": true - }, - "postcss-minify-font-values": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", - "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", - "dev": true, - "requires": { - "object-assign": "4.1.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-minify-gradients": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", - "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", - "dev": true, - "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-minify-params": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", - "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", - "dev": true, - "requires": { - "alphanum-sort": "1.0.2", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0", - "uniqs": "2.0.0" - } - }, - "postcss-minify-selectors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", - "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", - "dev": true, - "requires": { - "alphanum-sort": "1.0.2", - "has": "1.0.1", - "postcss": "5.2.18", - "postcss-selector-parser": "2.2.3" - } - }, - "postcss-modules-extract-imports": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz", - "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=", - "dev": true, - "requires": { - "postcss": "6.0.19" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", - "dev": true, - "requires": { - "color-convert": "1.9.1" - } - }, - "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", - "dev": true, - "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "6.0.19", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.19.tgz", - "integrity": "sha512-f13HRz0HtVwVaEuW6J6cOUCBLFtymhgyLPV7t4QEk2UD3twRI9IluDcQNdzQdBpiixkXj2OmzejhhTbSbDxNTg==", - "dev": true, - "requires": { - "chalk": "2.3.1", - "source-map": "0.6.1", - "supports-color": "5.2.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - } - } - } - }, - "postcss-modules-local-by-default": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", - "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", - "dev": true, - "requires": { - "css-selector-tokenizer": "0.7.0", - "postcss": "6.0.19" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", - "dev": true, - "requires": { - "color-convert": "1.9.1" - } - }, - "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", - "dev": true, - "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "6.0.19", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.19.tgz", - "integrity": "sha512-f13HRz0HtVwVaEuW6J6cOUCBLFtymhgyLPV7t4QEk2UD3twRI9IluDcQNdzQdBpiixkXj2OmzejhhTbSbDxNTg==", - "dev": true, - "requires": { - "chalk": "2.3.1", - "source-map": "0.6.1", - "supports-color": "5.2.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - } - } - } - }, - "postcss-modules-scope": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", - "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", - "dev": true, - "requires": { - "css-selector-tokenizer": "0.7.0", - "postcss": "6.0.19" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", - "dev": true, - "requires": { - "color-convert": "1.9.1" - } - }, - "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", - "dev": true, - "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "6.0.19", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.19.tgz", - "integrity": "sha512-f13HRz0HtVwVaEuW6J6cOUCBLFtymhgyLPV7t4QEk2UD3twRI9IluDcQNdzQdBpiixkXj2OmzejhhTbSbDxNTg==", - "dev": true, - "requires": { - "chalk": "2.3.1", - "source-map": "0.6.1", - "supports-color": "5.2.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - } - } - } - }, - "postcss-modules-values": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", - "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", - "dev": true, - "requires": { - "icss-replace-symbols": "1.1.0", - "postcss": "6.0.19" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", - "dev": true, - "requires": { - "color-convert": "1.9.1" - } - }, - "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", - "dev": true, - "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "6.0.19", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.19.tgz", - "integrity": "sha512-f13HRz0HtVwVaEuW6J6cOUCBLFtymhgyLPV7t4QEk2UD3twRI9IluDcQNdzQdBpiixkXj2OmzejhhTbSbDxNTg==", - "dev": true, - "requires": { - "chalk": "2.3.1", - "source-map": "0.6.1", - "supports-color": "5.2.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - } - } - } - }, - "postcss-normalize-charset": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", - "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", - "dev": true, - "requires": { - "postcss": "5.2.18" - } - }, - "postcss-normalize-url": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", - "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", - "dev": true, - "requires": { - "is-absolute-url": "2.1.0", - "normalize-url": "1.9.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-ordered-values": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", - "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", - "dev": true, - "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-reduce-idents": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", - "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", - "dev": true, - "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-reduce-initial": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", - "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", - "dev": true, - "requires": { - "postcss": "5.2.18" - } - }, - "postcss-reduce-transforms": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", - "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", - "dev": true, - "requires": { - "has": "1.0.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-selector-parser": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", - "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", - "dev": true, - "requires": { - "flatten": "1.0.2", - "indexes-of": "1.0.1", - "uniq": "1.0.1" - } - }, - "postcss-svgo": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", - "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", - "dev": true, - "requires": { - "is-svg": "2.1.0", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0", - "svgo": "0.7.2" - } - }, - "postcss-unique-selectors": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", - "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", - "dev": true, - "requires": { - "alphanum-sort": "1.0.2", - "postcss": "5.2.18", - "uniqs": "2.0.0" - } - }, - "postcss-value-parser": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", - "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", - "dev": true - }, - "postcss-zindex": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", - "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", - "dev": true, - "requires": { - "has": "1.0.1", - "postcss": "5.2.18", - "uniqs": "2.0.0" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true - }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", - "dev": true - }, - "pretty-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", - "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", - "requires": { - "renderkid": "2.0.1", - "utila": "0.4.0" - } - }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", - "dev": true - }, - "progress": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", - "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", - "dev": true - }, - "promise": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-6.1.0.tgz", - "integrity": "sha1-LOcp9rlLRcJoka0GAsXJDgTG7vY=", - "dev": true, - "requires": { - "asap": "1.0.0" - } - }, - "proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", - "dev": true - }, - "protochain": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/protochain/-/protochain-1.0.5.tgz", - "integrity": "sha1-mRxAfpneJkqt+PgVBLXn+ve/omA=", - "dev": true - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true - }, - "query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", - "dev": true, - "requires": { - "object-assign": "4.1.1", - "strict-uri-encode": "1.1.0" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true - }, - "randomatic": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", - "dev": true, - "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" - } - }, - "readable-stream": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz", - "integrity": "sha512-vuYxeWYM+fde14+rajzqgeohAI7YoJcHE7kXDAc4Nk0EbuKnJfqtY9YtRkLo/tqkuF7MsBQRhPnPeyjYITp3ZQ==", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "readdirp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", - "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "readable-stream": "2.3.4", - "set-immediate-shim": "1.0.1" - } - }, - "readline2": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", - "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "mute-stream": "0.0.5" - } - }, - "recast": { - "version": "0.11.23", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", - "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", - "dev": true, - "requires": { - "ast-types": "0.9.6", - "esprima": "3.1.3", - "private": "0.1.8", - "source-map": "0.5.7" - }, - "dependencies": { - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, - "requires": { - "indent-string": "2.1.0", - "strip-indent": "1.0.1" - } - }, - "reduce-css-calc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", - "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", - "dev": true, - "requires": { - "balanced-match": "0.4.2", - "math-expression-evaluator": "1.2.17", - "reduce-function-call": "1.0.2" - }, - "dependencies": { - "balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", - "dev": true - } - } - }, - "reduce-function-call": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz", - "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=", - "dev": true, - "requires": { - "balanced-match": "0.4.2" - }, - "dependencies": { - "balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", - "dev": true - } - } - }, - "regenerate": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", - "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==", - "dev": true - }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true - }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", - "dev": true, - "requires": { - "is-equal-shallow": "0.1.3" - } - }, - "regexpu-core": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", - "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", - "dev": true, - "requires": { - "regenerate": "1.3.3", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" - } - }, - "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", - "dev": true - }, - "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", - "dev": true, - "requires": { - "jsesc": "0.5.0" - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "renderkid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.1.tgz", - "integrity": "sha1-iYyr/Ivt5Le5ETWj/9Mj5YwNsxk=", - "requires": { - "css-select": "1.2.0", - "dom-converter": "0.1.4", - "htmlparser2": "3.3.0", - "strip-ansi": "3.0.1", - "utila": "0.3.3" - }, - "dependencies": { - "utila": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz", - "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=" - } - } - }, - "repeat-element": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "1.0.2" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "require-uncached": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", - "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", - "dev": true, - "requires": { - "caller-path": "0.1.0", - "resolve-from": "1.0.1" - } - }, - "resolve": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", - "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", - "dev": true, - "requires": { - "path-parse": "1.0.5" - } - }, - "resolve-from": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", - "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", - "dev": true - }, - "restore-cursor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", - "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", - "dev": true, - "requires": { - "exit-hook": "1.1.1", - "onetime": "1.1.0" - } - }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "dev": true, - "requires": { - "align-text": "0.1.4" - } - }, - "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "dev": true, - "requires": { - "glob": "7.1.2" - } - }, - "ripemd160": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-0.2.0.tgz", - "integrity": "sha1-K/GYveFnys+lHAqSjoS2i74XH84=", - "dev": true - }, - "rocambole": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/rocambole/-/rocambole-0.7.0.tgz", - "integrity": "sha1-9seVBVF9xCtvuECEK4uVOw+WhYU=", - "dev": true, - "requires": { - "esprima": "2.7.3" - } - }, - "rocambole-indent": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/rocambole-indent/-/rocambole-indent-2.0.4.tgz", - "integrity": "sha1-oYokl3ygQAuGHapGMehh3LUtCFw=", - "dev": true, - "requires": { - "debug": "2.6.9", - "mout": "0.11.1", - "rocambole-token": "1.2.1" - }, - "dependencies": { - "mout": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/mout/-/mout-0.11.1.tgz", - "integrity": "sha1-ujYR318OWx/7/QEWa48C0fX6K5k=", - "dev": true - } - } - }, - "rocambole-linebreak": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/rocambole-linebreak/-/rocambole-linebreak-1.0.2.tgz", - "integrity": "sha1-A2IVFbQ7RyHJflocG8paA2Y2jy8=", - "dev": true, - "requires": { - "debug": "2.6.9", - "rocambole-token": "1.2.1", - "semver": "4.3.6" - }, - "dependencies": { - "semver": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", - "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", - "dev": true - } - } - }, - "rocambole-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rocambole-node/-/rocambole-node-1.0.0.tgz", - "integrity": "sha1-21tJ3nQHsAgN1RSHLyjjk9D3/z8=", - "dev": true - }, - "rocambole-token": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/rocambole-token/-/rocambole-token-1.2.1.tgz", - "integrity": "sha1-x4XfdCjcPLJ614lwR71SOMwHDTU=", - "dev": true - }, - "rocambole-whitespace": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rocambole-whitespace/-/rocambole-whitespace-1.0.0.tgz", - "integrity": "sha1-YzMJSSVrKZQfWbGQRZ+ZnGsdO/k=", - "dev": true, - "requires": { - "debug": "2.6.9", - "repeat-string": "1.6.1", - "rocambole-token": "1.2.1" - } - }, - "run-async": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", - "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", - "dev": true, - "requires": { - "once": "1.4.0" - } - }, - "run-parallel": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.7.tgz", - "integrity": "sha512-nB641a6enJOh0fdsFHR9SiVCiOlAyjMplImDdjV3kWCzJZw9rwzvGwmpGuPmfX//Yxblh0pkzPcFcxA81iwmxA==", - "dev": true - }, - "rx": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/rx/-/rx-2.5.3.tgz", - "integrity": "sha1-Ia3H2A8CACr1Da6X/Z2/JIdV9WY=", - "dev": true - }, - "rx-lite": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", - "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", - "dev": true - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", - "dev": true - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "semi": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/semi/-/semi-4.0.5.tgz", - "integrity": "sha1-S5lcDBZjkjj2rimMhAWCqL8FEe4=", - "dev": true, - "requires": { - "eslint": "0.24.1", - "findit": "2.0.0", - "minimist": "1.2.0", - "mkdirp": "0.5.1" - }, - "dependencies": { - "ansi-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz", - "integrity": "sha1-QchHGUZGN15qGl0Qw8oFTvn8mA0=", - "dev": true - }, - "cli-width": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-1.1.1.tgz", - "integrity": "sha1-pNKT72frt7iNSk1CwMzwDE0eNm0=", - "dev": true - }, - "doctrine": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.6.4.tgz", - "integrity": "sha1-gUKEkalC7xiwSSBW7aOADu5X1h0=", - "dev": true, - "requires": { - "esutils": "1.1.6", - "isarray": "0.0.1" - } - }, - "eslint": { - "version": "0.24.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-0.24.1.tgz", - "integrity": "sha1-VKUICYVbllVyHG8u5Xs1HtzigQE=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "concat-stream": "1.6.0", - "debug": "2.6.9", - "doctrine": "0.6.4", - "escape-string-regexp": "1.0.5", - "escope": "3.6.0", - "espree": "2.2.5", - "estraverse": "4.2.0", - "estraverse-fb": "1.3.2", - "globals": "8.18.0", - "inquirer": "0.8.5", - "is-my-json-valid": "2.17.2", - "js-yaml": "3.7.0", - "minimatch": "2.0.10", - "mkdirp": "0.5.1", - "object-assign": "2.1.1", - "optionator": "0.5.0", - "path-is-absolute": "1.0.1", - "strip-json-comments": "1.0.4", - "text-table": "0.2.0", - "user-home": "1.1.1", - "xml-escape": "1.0.0" - } - }, - "espree": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/espree/-/espree-2.2.5.tgz", - "integrity": "sha1-32kbkxCIlAKuspzAZnCMVmkLhUs=", - "dev": true - }, - "esutils": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.1.6.tgz", - "integrity": "sha1-wBzKqa5LiXxtDD4hCuUvPHqEQ3U=", - "dev": true - }, - "fast-levenshtein": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.0.7.tgz", - "integrity": "sha1-AXjc3uAjuSkFGTrwlZ6KdjnP3Lk=", - "dev": true - }, - "globals": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-8.18.0.tgz", - "integrity": "sha1-k9SmK9ysOM+vr8R9awNHaMsP/LQ=", - "dev": true - }, - "inquirer": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.8.5.tgz", - "integrity": "sha1-29dAz2yjtzEpamPOb22WGFHzNt8=", - "dev": true, - "requires": { - "ansi-regex": "1.1.1", - "chalk": "1.1.3", - "cli-width": "1.1.1", - "figures": "1.7.0", - "lodash": "3.10.1", - "readline2": "0.1.1", - "rx": "2.5.3", - "through": "2.3.8" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "levn": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.2.5.tgz", - "integrity": "sha1-uo0znQykphDjo/FFucr0iAcVUFQ=", - "dev": true, - "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" - } - }, - "lodash": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", - "dev": true - }, - "minimatch": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", - "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", - "dev": true, - "requires": { - "brace-expansion": "1.1.11" - } - }, - "mute-stream": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz", - "integrity": "sha1-qSGZYKbV1dBGWXruUSUsZlX3F34=", - "dev": true - }, - "object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", - "dev": true - }, - "optionator": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.5.0.tgz", - "integrity": "sha1-t1qJlaLUF98ltuTjhi9QqohlE2g=", - "dev": true, - "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "1.0.7", - "levn": "0.2.5", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "0.0.3" - } - }, - "readline2": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/readline2/-/readline2-0.1.1.tgz", - "integrity": "sha1-mUQ7pug7gw7zBRv9fcJBqCco1Wg=", - "dev": true, - "requires": { - "mute-stream": "0.0.4", - "strip-ansi": "2.0.1" - } - }, - "strip-ansi": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-2.0.1.tgz", - "integrity": "sha1-32LBqpTtLxFOHQ8h/R1QSCt5pg4=", - "dev": true, - "requires": { - "ansi-regex": "1.1.1" - } - }, - "user-home": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", - "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", - "dev": true - } - } - }, - "semistandard": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/semistandard/-/semistandard-8.0.0.tgz", - "integrity": "sha1-/YaeLk19Lr/GWwRmJcGJt4tn3R4=", - "dev": true, - "requires": { - "eslint": "2.13.1", - "eslint-config-semistandard": "6.0.2", - "eslint-config-standard": "5.3.1", - "eslint-config-standard-jsx": "1.2.0", - "eslint-plugin-promise": "1.3.2", - "eslint-plugin-react": "5.2.2", - "eslint-plugin-standard": "1.3.3", - "semistandard-format": "3.0.0", - "standard-engine": "4.1.3" - } - }, - "semistandard-format": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/semistandard-format/-/semistandard-format-3.0.0.tgz", - "integrity": "sha1-eF8VANyEBd1WHdC4r8GXFEj1I+s=", - "dev": true, - "requires": { - "minimist": "1.2.0", - "semi": "4.0.5", - "standard-format": "2.2.4", - "stdin": "0.0.1" - } - }, - "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", - "dev": true - }, - "serializerr": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/serializerr/-/serializerr-1.0.3.tgz", - "integrity": "sha1-EtTFqhw/+49tHcXzlaqUVVacP5E=", - "dev": true, - "requires": { - "protochain": "1.0.5" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "dev": true - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, - "sha.js": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.2.6.tgz", - "integrity": "sha1-F93t3F9yL7ZlAWWIlUYZd4ZzFbo=", - "dev": true - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "shelljs": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.6.1.tgz", - "integrity": "sha1-7GIRvtGSBEIIj+D3Cyg3Iy7SyKg=", - "dev": true - }, - "sigmund": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true - }, - "slice-ansi": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", - "dev": true - }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "dev": true, - "requires": { - "is-plain-obj": "1.1.0" - } - }, - "source-list-map": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz", - "integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=", - "dev": true - }, - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "requires": { - "amdefine": "1.0.1" - } - }, - "spawn-sync": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", - "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=", - "dev": true, - "requires": { - "concat-stream": "1.6.0", - "os-shim": "0.1.3" - } - }, - "spdx-correct": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", - "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", - "dev": true, - "requires": { - "spdx-license-ids": "1.2.2" - } - }, - "spdx-expression-parse": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", - "dev": true - }, - "spdx-license-ids": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", - "dev": true - }, - "split": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", - "dev": true, - "requires": { - "through": "2.3.8" - } - }, - "split2": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", - "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", - "dev": true, - "requires": { - "through2": "2.0.3" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "standard-engine": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-4.1.3.tgz", - "integrity": "sha1-ejGq1U8D2fOTVfQzic4GlPQJQVU=", - "dev": true, - "requires": { - "defaults": "1.0.3", - "deglob": "1.1.2", - "find-root": "1.1.0", - "get-stdin": "5.0.1", - "minimist": "1.2.0", - "multiline": "1.0.2", - "pkg-config": "1.1.1", - "xtend": "4.0.1" - }, - "dependencies": { - "get-stdin": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", - "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=", - "dev": true - } - } - }, - "standard-format": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/standard-format/-/standard-format-2.2.4.tgz", - "integrity": "sha1-uQ+zmmNfdJzU/RF/5HMNMRearu8=", - "dev": true, - "requires": { - "deglob": "1.1.2", - "esformatter": "0.9.6", - "esformatter-eol-last": "1.0.0", - "esformatter-jsx": "7.4.1", - "esformatter-literal-notation": "1.0.1", - "esformatter-quotes": "1.1.0", - "esformatter-remove-trailing-commas": "1.0.1", - "esformatter-semicolon-first": "1.2.0", - "esformatter-spaced-lined-comment": "2.0.1", - "minimist": "1.2.0", - "stdin": "0.0.1" - } - }, - "standard-version": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-4.3.0.tgz", - "integrity": "sha512-2UJ2BIUNa7+41PH4FvYicSQED2LCt2RXjmNFis+JZlxZtwzNnGn4uuL8WBUqHoC9b+bJ0AHIAX/bilzm+pGPeA==", - "dev": true, - "requires": { - "chalk": "1.1.3", - "conventional-changelog": "1.1.15", - "conventional-recommended-bump": "1.2.1", - "dotgitignore": "1.0.3", - "figures": "1.7.0", - "fs-access": "1.0.1", - "semver": "5.5.0", - "yargs": "8.0.2" - } - }, - "stdin": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/stdin/-/stdin-0.0.1.tgz", - "integrity": "sha1-0wQZgarsPf28d6GzjWNy449ftx4=", - "dev": true - }, - "stream-browserify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", - "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", - "dev": true, - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.4" - } - }, - "stream-http": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz", - "integrity": "sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==", - "dev": true, - "requires": { - "builtin-status-codes": "3.0.0", - "inherits": "2.0.3", - "readable-stream": "2.3.4", - "to-arraybuffer": "1.0.1", - "xtend": "4.0.1" - } - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "string.prototype.endswith": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/string.prototype.endswith/-/string.prototype.endswith-0.2.0.tgz", - "integrity": "sha1-oZwg3uUamHd+mkfhDwm+OTubunU=", - "dev": true - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "0.2.1" - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, - "requires": { - "get-stdin": "4.0.1" - } - }, - "strip-json-comments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", - "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", - "dev": true - }, - "style-loader": { - "version": "0.13.2", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.13.2.tgz", - "integrity": "sha1-dFMzhM9pjHEEx5URULSXF63C87s=", - "dev": true, - "requires": { - "loader-utils": "1.1.0" - }, - "dependencies": { - "loader-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "dev": true, - "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1" - } - } - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "svgo": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", - "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", - "dev": true, - "requires": { - "coa": "1.0.4", - "colors": "1.1.2", - "csso": "2.3.2", - "js-yaml": "3.7.0", - "mkdirp": "0.5.1", - "sax": "1.2.4", - "whet.extend": "0.9.9" - } - }, - "sync-exec": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/sync-exec/-/sync-exec-0.5.0.tgz", - "integrity": "sha1-P3JY5KW6FyRTgZCfpqb2z1BuFmE=", - "dev": true - }, - "table": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", - "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", - "dev": true, - "requires": { - "ajv": "4.11.8", - "ajv-keywords": "1.5.1", - "chalk": "1.1.3", - "lodash": "4.17.5", - "slice-ansi": "0.0.4", - "string-width": "2.1.1" - } - }, - "tapable": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.0.0.tgz", - "integrity": "sha512-dQRhbNQkRnaqauC7WqSJ21EEksgT0fYZX2lqXzGkpo8JNig9zGZTYoMGvyI2nWmXlE2VSVXVDu7wLVGu/mQEsg==" - }, - "temp-fs": { - "version": "0.9.9", - "resolved": "https://registry.npmjs.org/temp-fs/-/temp-fs-0.9.9.tgz", - "integrity": "sha1-gHFzBDeHByDpQxUy/igUNk+IA9c=", - "dev": true, - "requires": { - "rimraf": "2.5.4" - }, - "dependencies": { - "rimraf": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz", - "integrity": "sha1-loAAk8vxoMhr2VtGJUZ1NcKd+gQ=", - "dev": true, - "requires": { - "glob": "7.1.2" - } - } - } - }, - "text-extensions": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.7.0.tgz", - "integrity": "sha512-AKXZeDq230UaSzaO5s3qQUZOaC7iKbzq0jOFL614R7d9R593HLqAOL0cYoqLdkNrjBSOdmoQI06yigq1TSBXAg==", - "dev": true - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "dev": true, - "requires": { - "readable-stream": "2.3.4", - "xtend": "4.0.1" - } - }, - "timers-browserify": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.6.tgz", - "integrity": "sha512-HQ3nbYRAowdVd0ckGFvmJPPCOH/CHleFN/Y0YQCX1DVaB7t+KFvisuyN09fuP8Jtp1CpfSh8O8bMkHbdbPe6Pw==", - "dev": true, - "requires": { - "setimmediate": "1.0.5" - } - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true - }, - "toposort": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.6.tgz", - "integrity": "sha1-wxdI5V0hDv/AD9zcfW5o19e7nOw=" - }, - "transformers": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/transformers/-/transformers-2.1.0.tgz", - "integrity": "sha1-XSPLNVYd2F3Gf7hIIwm0fVPM6ac=", - "dev": true, - "requires": { - "css": "1.0.8", - "promise": "2.0.0", - "uglify-js": "2.2.5" - }, - "dependencies": { - "is-promise": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", - "integrity": "sha1-MVc3YcBX4zwukaq56W2gjO++duU=", - "dev": true - }, - "optimist": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", - "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=", - "dev": true, - "requires": { - "wordwrap": "0.0.3" - } - }, - "promise": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-2.0.0.tgz", - "integrity": "sha1-RmSKqdYFr10ucMMCS/WUNtoCuA4=", - "dev": true, - "requires": { - "is-promise": "1.0.1" - } - }, - "source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", - "dev": true, - "requires": { - "amdefine": "1.0.1" - } - }, - "uglify-js": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz", - "integrity": "sha1-puAqcNg5eSuXgEiLe4sYTAlcmcc=", - "dev": true, - "requires": { - "optimist": "0.3.7", - "source-map": "0.1.43" - } - } - } - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true - }, - "trim-off-newlines": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz", - "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=", - "dev": true - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "1.1.2" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "dev": true, - "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" - }, - "dependencies": { - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "window-size": "0.1.0" - } - } - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "dev": true - }, - "underscore": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", - "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", - "dev": true - }, - "underscore-template-loader": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/underscore-template-loader/-/underscore-template-loader-0.7.3.tgz", - "integrity": "sha1-HcLHN27owq6LXn3Ps2MUB5QtmQM=", - "dev": true, - "requires": { - "fastparse": "1.1.1", - "loader-utils": "0.2.17" - } - }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, - "uniqid": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz", - "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=", - "dev": true, - "requires": { - "macaddress": "0.2.8" - } - }, - "uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", - "dev": true - }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=" - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, - "url-loader": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.5.9.tgz", - "integrity": "sha512-B7QYFyvv+fOBqBVeefsxv6koWWtjmHaMFT6KZWti4KRw8YUD/hOU+3AECvXuzyVawIBx3z7zQRejXCDSO5kk1Q==", - "dev": true, - "requires": { - "loader-utils": "1.1.0", - "mime": "1.3.6" - }, - "dependencies": { - "loader-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "dev": true, - "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1" - } - } - } - }, - "user-home": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", - "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", - "dev": true, - "requires": { - "os-homedir": "1.0.2" - } - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=" - }, - "validate-npm-package-license": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", - "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", - "dev": true, - "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" - } - }, - "vendors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.1.tgz", - "integrity": "sha1-N61zyO5Bf7PVgOeFMSMH0nSEfyI=", - "dev": true - }, - "vm-browserify": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", - "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", - "dev": true, - "requires": { - "indexof": "0.0.1" - } - }, - "void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", - "dev": true - }, - "walkdir": { - "version": "0.0.12", - "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.12.tgz", - "integrity": "sha512-HFhaD4mMWPzFSqhpyDG48KDdrjfn409YQuVW7ckZYhW4sE87mYtWifdB/+73RA7+p4s4K18n5Jfx1kHthE1gBw==", - "dev": true - }, - "watchpack": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-0.2.9.tgz", - "integrity": "sha1-Yuqkq15bo1/fwBgnVibjwPXj+ws=", - "dev": true, - "requires": { - "async": "0.9.2", - "chokidar": "1.7.0", - "graceful-fs": "4.1.11" - }, - "dependencies": { - "async": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", - "dev": true - } - } - }, - "webpack": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-1.15.0.tgz", - "integrity": "sha1-T/MfU9sDM55VFkqdRo7gMklo/pg=", - "dev": true, - "requires": { - "acorn": "3.3.0", - "async": "1.5.2", - "clone": "1.0.3", - "enhanced-resolve": "0.9.1", - "interpret": "0.6.6", - "loader-utils": "0.2.17", - "memory-fs": "0.3.0", - "mkdirp": "0.5.1", - "node-libs-browser": "0.7.0", - "optimist": "0.6.1", - "supports-color": "3.2.3", - "tapable": "0.1.10", - "uglify-js": "2.7.5", - "watchpack": "0.2.9", - "webpack-core": "0.6.9" - }, - "dependencies": { - "acorn": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", - "dev": true - }, - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "1.0.0" - } - }, - "tapable": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz", - "integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=", - "dev": true - }, - "uglify-js": { - "version": "2.7.5", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz", - "integrity": "sha1-RhLAx7qu4rp8SH3kkErhIgefLKg=", - "dev": true, - "requires": { - "async": "0.2.10", - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" - }, - "dependencies": { - "async": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", - "dev": true - } - } - }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "window-size": "0.1.0" - } - } - } - }, - "webpack-core": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz", - "integrity": "sha1-/FcViMhVjad76e+23r3Fo7FyvcI=", - "dev": true, - "requires": { - "source-list-map": "0.1.8", - "source-map": "0.4.4" - } - }, - "webpack-recompilation-simulator": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/webpack-recompilation-simulator/-/webpack-recompilation-simulator-1.3.0.tgz", - "integrity": "sha1-XvmDzggYUrHNirZznueoADjlh8s=", - "dev": true, - "requires": { - "temp-fs": "0.9.9" - } - }, - "webpack-sources": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-0.1.5.tgz", - "integrity": "sha1-qh86vw8NdNtxEcQOUAuE+WZkB1A=", - "dev": true, - "requires": { - "source-list-map": "0.1.8", - "source-map": "0.5.7" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "whet.extend": { - "version": "0.9.9", - "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", - "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", - "dev": true - }, - "which": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", - "dev": true, - "requires": { - "isexe": "2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "dev": true - }, - "with": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/with/-/with-4.0.3.tgz", - "integrity": "sha1-7v0VTp550sjTQXtkeo8U2f7M4U4=", - "dev": true, - "requires": { - "acorn": "1.2.2", - "acorn-globals": "1.0.9" - }, - "dependencies": { - "acorn": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz", - "integrity": "sha1-yM4n3grMdtiW0rH6099YjZ6C8BQ=", - "dev": true - } - } - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "write": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", - "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", - "dev": true, - "requires": { - "mkdirp": "0.5.1" - } - }, - "xml-char-classes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/xml-char-classes/-/xml-char-classes-1.0.0.tgz", - "integrity": "sha1-ZGV4SKIP/F31g6Qq2KJ3tFErvE0=" - }, - "xml-escape": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/xml-escape/-/xml-escape-1.0.0.tgz", - "integrity": "sha1-AJY9aXsq3wwYXE4E5zF0upsojrI=", - "dev": true - }, - "xml2js": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", - "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", - "dev": true, - "requires": { - "sax": "1.2.4", - "xmlbuilder": "9.0.7" - } - }, - "xmlbuilder": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", - "dev": true - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", - "dev": true - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "yargs": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", - "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", - "dev": true, - "requires": { - "camelcase": "4.1.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "read-pkg-up": "2.0.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "7.0.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - } - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "2.0.0" - } - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" - } - }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "2.3.0" - } - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - } - } - }, - "yargs-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", - "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", - "dev": true, - "requires": { - "camelcase": "4.1.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - } - } - } - } -} diff --git a/package.json b/package.json index 364e0696..cc72fc17 100644 --- a/package.json +++ b/package.json @@ -34,8 +34,8 @@ "extract-text-webpack-plugin": "^4.0.0-beta.0", "file-loader": "^0.9.0", "html-loader": "^0.4.4", - "jade": "^1.11.0", - "jade-loader": "^0.8.0", + "pug": "2.0.3", + "pug-loader": "2.4.0", "jest": "23.3.0", "rimraf": "^2.5.4", "semistandard": "8.0.0", diff --git a/spec/basic.spec.js b/spec/basic.spec.js index faa047cd..2a9a0445 100644 --- a/spec/basic.spec.js +++ b/spec/basic.spec.js @@ -142,7 +142,7 @@ describe('HtmlWebpackPlugin', function () { }, plugins: [new HtmlWebpackPlugin({ inject: false, - template: 'jade-loader!' + path.join(__dirname, 'fixtures/template.jade') + template: 'pug-loader!' + path.join(__dirname, 'fixtures/template.pug') })] }, [' \ No newline at end of file diff --git a/examples/favicon/dist/webpack-4/favicon.html b/examples/favicon/dist/webpack-4/favicon.html index a2d8db3b..e7e0c7dd 100644 --- a/examples/favicon/dist/webpack-4/favicon.html +++ b/examples/favicon/dist/webpack-4/favicon.html @@ -3,7 +3,7 @@ HtmlWebpackPlugin example - + \ No newline at end of file diff --git a/index.js b/index.js index e85f2d05..a8a87956 100644 --- a/index.js +++ b/index.js @@ -30,6 +30,9 @@ class HtmlWebpackPlugin { * @param {Partial} [options] */ constructor (options) { + /** @type {Partial} */ + const userOptions = options || {}; + // Default options /** @type {HtmlWebpackPluginOptions} */ const defaultOptions = { @@ -51,8 +54,19 @@ class HtmlWebpackPlugin { title: 'Webpack App', xhtml: false }; + /** @type {HtmlWebpackPluginOptions} */ - this.options = Object.assign(defaultOptions, options); + this.options = Object.assign(defaultOptions, userOptions); + + // Default metaOptions if no template is provided + if (!userOptions.template && this.options.templateContent === false && this.options.meta) { + const defaultMeta = { + // From https://developer.mozilla.org/en-US/docs/Mozilla/Mobile/Viewport_meta_tag + viewport: 'width=device-width, initial-scale=1' + }; + this.options.meta = Object.assign({}, this.options.meta, defaultMeta, userOptions.meta); + } + // Instance variables to keep caching information // for multiple builds this.childCompilerHash = undefined; @@ -502,16 +516,21 @@ class HtmlWebpackPlugin { // Make tags self-closing in case of xhtml // Turn { "viewport" : "width=500, initial-scale=1" } into // [{ name:"viewport" content:"width=500, initial-scale=1" }] - const metaTagAttributeObjects = Object.keys(metaOptions).map((metaName) => { + const metaTagAttributeObjects = Object.keys(metaOptions) + .map((metaName) => { const metaTagContent = metaOptions[metaName]; return (typeof metaTagContent === 'string') ? { name: metaName, content: metaTagContent } : metaTagContent; - }); + }) + .filter((attribute) => attribute !== false); // Turn [{ name:"viewport" content:"width=500, initial-scale=1" }] into // the html-webpack-plugin tag structure return metaTagAttributeObjects.map((metaTagAttributes) => { + if (metaTagAttributes === false) { + throw new Error('Invalid meta tag'); + } return { tagName: 'meta', voidTag: true, diff --git a/typings.d.ts b/typings.d.ts index ae5f83cf..fccb7342 100644 --- a/typings.d.ts +++ b/typings.d.ts @@ -72,7 +72,7 @@ interface HtmlWebpackPluginOptions { */ meta: false // Disable injection | { - [name: string]: string // name content pair e.g. {viewport: 'width=device-width, initial-scale=1, shrink-to-fit=no'}` + [name: string]: string|false // name content pair e.g. {viewport: 'width=device-width, initial-scale=1, shrink-to-fit=no'}` | {[attributeName: string]: string|boolean} // custom properties e.g. { name:"viewport" content:"width=500, initial-scale=1" } }, /** From dfe1d10c4511b0da4354cacf79ca0d5ac7baf862 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Wed, 4 Jul 2018 10:54:16 +0200 Subject: [PATCH 038/290] fix(tests): Upgrade webpack-recompilation-simulator --- lib/loader.js | 20 ++++++------ package.json | 4 +-- spec/basic.spec.js | 1 + spec/caching.spec.js | 72 +++++++++++++++++++++++++++++++++++++------- spec/example.spec.js | 1 + 5 files changed, 74 insertions(+), 24 deletions(-) diff --git a/lib/loader.js b/lib/loader.js index 3fecc64b..01c52cd9 100644 --- a/lib/loader.js +++ b/lib/loader.js @@ -5,26 +5,24 @@ const _ = require('lodash'); const loaderUtils = require('loader-utils'); module.exports = function (source) { - if (this.cacheable) { - this.cacheable(); - } + // Get templating options + const options = this.query !== '' ? loaderUtils.getOptions(this) : {}; + const force = options.force || false; + const allLoadersButThisOne = this.loaders.filter(function (loader) { - // Loader API changed from `loader.module` to `loader.normal` in Webpack 2. - return (loader.module || loader.normal) !== module.exports; + return loader.normal !== module.exports; }); - // This loader shouldn't kick in if there is any other loader - if (allLoadersButThisOne.length > 0) { + // This loader shouldn't kick in if there is any other loader (unless it's explicitly enforced) + if (allLoadersButThisOne.length > 0 && !force) { return source; } - // Skip .js files - if (/\.js$/.test(this.resourcePath)) { + // Skip .js files (unless it's explicitly enforced) + if (/\.js$/.test(this.resourcePath) && !force) { return source; } // The following part renders the template with lodash as aminimalistic loader // - // Get templating options - const options = this.query !== '' ? loaderUtils.getOptions(this) : {}; const template = _.template(source, _.defaults(options, { interpolate: /<%=([\s\S]+?)%>/g, variable: 'data' })); // Require !!lodash - using !! will disable all loaders (e.g. babel) return 'var _ = require(' + loaderUtils.stringifyRequest(this, '!!' + require.resolve('lodash')) + ');' + diff --git a/package.json b/package.json index cc72fc17..3472e7b1 100644 --- a/package.json +++ b/package.json @@ -44,9 +44,9 @@ "typescript": "2.9.1", "underscore-template-loader": "^0.7.3", "url-loader": "^0.5.7", - "webpack": "4.8.3", + "webpack": "4.1.0", "webpack-cli": "2.0.12", - "webpack-recompilation-simulator": "^1.3.0" + "webpack-recompilation-simulator": "^3.0.0" }, "dependencies": { "@types/tapable": "1.0.2", diff --git a/spec/basic.spec.js b/spec/basic.spec.js index 2a9a0445..f8fc7e63 100644 --- a/spec/basic.spec.js +++ b/spec/basic.spec.js @@ -33,6 +33,7 @@ var OUTPUT_DIR = path.resolve(__dirname, '../dist/basic-spec'); jest.setTimeout(30000); process.on('unhandledRejection', r => console.log(r)); +process.traceDeprecation = true; function testHtmlPlugin (webpackConfig, expectedResults, outputFile, done, expectErrors, expectWarnings) { outputFile = outputFile || 'index.html'; diff --git a/spec/caching.spec.js b/spec/caching.spec.js index 94c4e04d..bab3d291 100644 --- a/spec/caching.spec.js +++ b/spec/caching.spec.js @@ -10,36 +10,74 @@ var webpack = require('webpack'); var rimraf = require('rimraf'); var WebpackRecompilationSimulator = require('webpack-recompilation-simulator'); var HtmlWebpackPlugin = require('../index.js'); -var webpackMajorVersion = require('webpack/package.json').version.split('.')[0]; var OUTPUT_DIR = path.join(__dirname, '../dist/caching-spec'); jest.setTimeout(30000); process.on('unhandledRejection', r => console.log(r)); +process.traceDeprecation = true; function setUpCompiler (htmlWebpackPlugin) { jest.spyOn(htmlWebpackPlugin, 'evaluateCompilationResult'); var webpackConfig = { + stats: {all: true}, + // Caching works only in development + mode: 'development', entry: path.join(__dirname, 'fixtures/index.js'), + module: { + rules: [ + { + test: /\.html$/, + loader: require.resolve('../lib/loader.js'), + options: { + force: true + } + } + ] + }, output: { path: OUTPUT_DIR, filename: 'index_bundle.js' }, plugins: [htmlWebpackPlugin] }; - if (Number(webpackMajorVersion) >= 4) { - webpackConfig.mode = 'development'; - } var compiler = new WebpackRecompilationSimulator(webpack(webpackConfig)); return compiler; } -function getCompiledModuleCount (statsJson) { - return statsJson.modules.filter(function (webpackModule) { +function getCompiledModules (statsJson) { + const builtModules = statsJson.modules.filter(function (webpackModule) { return webpackModule.built; - }).length + statsJson.children.reduce(function (sum, childCompilationStats) { - return sum + getCompiledModuleCount(childCompilationStats); - }, 0); + }).map((webpackModule) => { + return module.userRequest; + }); + statsJson.children.forEach((childCompilationStats) => { + const builtChildModules = getCompiledModules(childCompilationStats); + Array.prototype.push.apply(builtModules, builtChildModules); + }); + return builtModules; +} + +function getCompiledModuleCount (statsJson) { + return getCompiledModules(statsJson).length; +} + +function expectNoErrors (stats) { + const errors = { + main: stats.compilation.errors, + childCompilation: [] + }; + stats.compilation.children.forEach((child) => { + Array.prototype.push.apply(errors.childCompilation, child.errors); + }); + if (errors.main.length) { + errors.main.forEach((error) => { + console.log('Error => ', error); + }); + console.dir(stats.toJson({errorDetails: true, moduleTrace: true}), { depth: 5 }); + } + expect(errors.main).toEqual([]); + expect(errors.childCompilation).toEqual([]); } describe('HtmlWebpackPluginCaching', function () { @@ -54,6 +92,7 @@ describe('HtmlWebpackPluginCaching', function () { }); var childCompilerHash; var compiler = setUpCompiler(htmlWebpackPlugin); + compiler.addTestFile(path.join(__dirname, 'fixtures/index.js')); compiler.run() // Change the template file and compile again .then(function () { @@ -61,9 +100,11 @@ describe('HtmlWebpackPluginCaching', function () { return compiler.run(); }) .then(function (stats) { + // Expect no errors: + expectNoErrors(stats); // Verify that no file was built - expect(getCompiledModuleCount(stats.toJson())) - .toBe(0); + expect(getCompiledModules(stats.toJson())) + .toEqual([]); // Verify that the html was processed only during the inital build expect(htmlWebpackPlugin.evaluateCompilationResult.mock.calls.length) .toBe(1); @@ -78,6 +119,7 @@ describe('HtmlWebpackPluginCaching', function () { var htmlWebpackPlugin = new HtmlWebpackPlugin(); var compiler = setUpCompiler(htmlWebpackPlugin); var childCompilerHash; + compiler.addTestFile(path.join(__dirname, 'fixtures/index.js')); compiler.run() // Change a js file and compile again .then(function () { @@ -86,6 +128,8 @@ describe('HtmlWebpackPluginCaching', function () { return compiler.run(); }) .then(function (stats) { + // Expect no errors: + expectNoErrors(stats); // Verify that only one file was built expect(getCompiledModuleCount(stats.toJson())) .toBe(1); @@ -105,6 +149,7 @@ describe('HtmlWebpackPluginCaching', function () { }); var childCompilerHash; var compiler = setUpCompiler(htmlWebpackPlugin); + compiler.addTestFile(path.join(__dirname, 'fixtures/index.js')); compiler.run() // Change a js file and compile again .then(function () { @@ -113,6 +158,8 @@ describe('HtmlWebpackPluginCaching', function () { return compiler.run(); }) .then(function (stats) { + // Expect no errors: + expectNoErrors(stats); // Verify that only one file was built expect(getCompiledModuleCount(stats.toJson())) .toBe(1); @@ -133,6 +180,7 @@ describe('HtmlWebpackPluginCaching', function () { }); var childCompilerHash; var compiler = setUpCompiler(htmlWebpackPlugin); + compiler.addTestFile(template); compiler.run() // Change the template file and compile again .then(function () { @@ -141,6 +189,8 @@ describe('HtmlWebpackPluginCaching', function () { return compiler.run(); }) .then(function (stats) { + // Expect no errors: + expectNoErrors(stats); // Verify that only one file was built expect(getCompiledModuleCount(stats.toJson())) .toBe(1); diff --git a/spec/example.spec.js b/spec/example.spec.js index 230b3ba9..c470a98b 100644 --- a/spec/example.spec.js +++ b/spec/example.spec.js @@ -15,6 +15,7 @@ var webpackMajorVersion = require('webpack/package.json').version.split('.')[0]; var OUTPUT_DIR = path.resolve(__dirname, '../dist'); jest.setTimeout(30000); +process.traceDeprecation = true; function runExample (exampleName, done) { var examplePath = path.resolve(__dirname, '..', 'examples', exampleName); From 0ebcd1776132262b799f2814659f4d90c3f3c1b3 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Fri, 8 Jun 2018 10:02:42 +0200 Subject: [PATCH 039/290] feat(compiler): Use timestamps to verify cache validity --- .gitignore | 1 + index.js | 13 +++++---- lib/compiler.js | 67 +++++++++++++++++++++++++++++++++++++++----- package.json | 2 +- spec/caching.spec.js | 45 +++++++++++++++++++++++++++++ tsconfig.json | 3 +- 6 files changed, 116 insertions(+), 15 deletions(-) diff --git a/.gitignore b/.gitignore index e1328041..4ca53526 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /node_modules/ /dist/ +/coverage/ npm-debug.*.log diff --git a/index.js b/index.js index a8a87956..f3ae77df 100644 --- a/index.js +++ b/index.js @@ -97,7 +97,10 @@ class HtmlWebpackPlugin { // Clear the cache once a new HtmlWebpackPlugin is added childCompiler.clearCache(compiler); - compiler.hooks.compile.tap('HtmlWebpackPlugin', () => { + compiler.hooks.compilation.tap('HtmlWebpackPlugin', (compilation) => { + if (childCompiler.hasOutDatedTemplateCache(compilation)) { + childCompiler.clearCache(compiler); + } childCompiler.addTemplateToCompiler(compiler, this.options.template); }); @@ -111,12 +114,13 @@ class HtmlWebpackPlugin { compilation.errors.push(prettyError(err, compiler.context).toString()); return { content: self.options.showErrors ? prettyError(err, compiler.context).toJsonHtml() : 'ERROR', - outputName: self.options.filename + outputName: self.options.filename, + hash: '' }; }) .then(compilationResult => { // If the compilation change didnt change the cache is valid - isCompilationCached = compilationResult.hash && self.childCompilerHash === compilationResult.hash; + isCompilationCached = Boolean(compilationResult.hash) && self.childCompilerHash === compilationResult.hash; self.childCompilerHash = compilationResult.hash; self.childCompilationOutputName = compilationResult.outputName; callback(); @@ -131,9 +135,6 @@ class HtmlWebpackPlugin { * @param {() => void} callback */ (compilation, callback) => { - // Clear the childCompilerCache - childCompiler.clearCache(compiler); - // Get all entry point names for this html file const entryNames = Array.from(compilation.entrypoints.keys()); const filteredEntryNames = self.filterChunks(entryNames, self.options.chunks, self.options.excludeChunks); diff --git a/lib/compiler.js b/lib/compiler.js index d9a871ed..7e431a73 100644 --- a/lib/compiler.js +++ b/lib/compiler.js @@ -33,14 +33,19 @@ class HtmlWebpackChildCompiler { */ this.compilationPromise; /** - * @type {Date} + * @type {number} */ - this.compilationStarted; + this.compilationStartedTimestamp; /** * All file dependencies of the child compiler * @type {string[]} */ this.fileDependencies = []; + /** + * Store if the cache was already verified for the given compilation + * @type {WeakMap}} + */ + this.cacheVerifiedForCompilation = new WeakMap(); } /** @@ -62,6 +67,7 @@ class HtmlWebpackChildCompiler { // Add the template to the childCompiler const newTemplateId = this.templates.length; this.templates.push(template); + // Mark the cache invalid return newTemplateId; } @@ -116,7 +122,7 @@ class HtmlWebpackChildCompiler { new SingleEntryPlugin(childCompiler.context, template, `HtmlWebpackPlugin_${index}`).apply(childCompiler); }); - this.compilationStarted = new Date(); + this.compilationStartedTimestamp = new Date().getTime(); this.compilationPromise = new Promise((resolve, reject) => { childCompiler.runAsChild((err, entries, childCompilation) => { // Extract templates @@ -158,6 +164,37 @@ class HtmlWebpackChildCompiler { return this.compilationPromise; } + + /** + * Returns `false` if any template file depenendencies has changed + * for the given main compilation + * + * @param {WebpackCompilation} mainCompilation + * @returns {boolean} + */ + hasOutDatedTemplateCache (mainCompilation) { + // Check if cache validation was already computed + const isCacheValid = this.cacheVerifiedForCompilation.get(mainCompilation); + if (isCacheValid !== undefined) { + return isCacheValid; + } + // If the compilation was never run there is no invalid cache + if (!this.compilationStartedTimestamp) { + this.cacheVerifiedForCompilation.set(mainCompilation, false); + return false; + } + // Check if any dependent file was changed after the last compilation + const fileTimestamps = mainCompilation.fileTimestamps; + const isCacheOutOfDate = this.fileDependencies.some((fileDependency) => { + const timestamp = fileTimestamps.get(fileDependency); + // If the timestamp is not known the file is new + // If the timestamp is larger then the file has changed + // Otherwise the file is still the same + return !timestamp || timestamp > this.compilationStartedTimestamp; + }); + this.cacheVerifiedForCompilation.set(mainCompilation, isCacheOutOfDate); + return isCacheOutOfDate; + } } /** @@ -214,10 +251,13 @@ const childCompilerCache = new WeakMap(); * @param {WebpackCompiler} mainCompiler */ function getChildCompiler (mainCompiler) { - if (!childCompilerCache[mainCompiler]) { - childCompilerCache[mainCompiler] = new HtmlWebpackChildCompiler(); + const cachedChildCompiler = childCompilerCache.get(mainCompiler); + if (cachedChildCompiler) { + return cachedChildCompiler; } - return childCompilerCache[mainCompiler]; + const newCompiler = new HtmlWebpackChildCompiler(); + childCompilerCache.set(mainCompiler, newCompiler); + return newCompiler; } /** @@ -226,7 +266,7 @@ function getChildCompiler (mainCompiler) { * @param {WebpackCompiler} mainCompiler */ function clearCache (mainCompiler) { - delete (childCompilerCache[mainCompiler]); + childCompilerCache.delete(mainCompiler); } /** @@ -252,6 +292,7 @@ function addTemplateToCompiler (mainCompiler, templatePath) { function compileTemplate (templatePath, outputFilename, mainCompilation) { const childCompiler = getChildCompiler(mainCompilation.compiler); return childCompiler.compileTemplates(mainCompilation).then((compiledTemplates) => { + if (!compiledTemplates[templatePath]) console.log(Object.keys(compiledTemplates), templatePath); const compiledTemplate = compiledTemplates[templatePath]; // Replace [hash] placeholders in filename const outputName = mainCompilation.mainTemplate.hooks.assetPath.call(outputFilename, { @@ -269,8 +310,20 @@ function compileTemplate (templatePath, outputFilename, mainCompilation) { }); } +/** + * Returns false if the cache is not valid anymore + * + * @param {WebpackCompilation} compilation + * @returns {boolean} + */ +function hasOutDatedTemplateCache (compilation) { + const childCompiler = childCompilerCache.get(compilation.compiler); + return childCompiler ? childCompiler.hasOutDatedTemplateCache(compilation) : false; +} + module.exports = { addTemplateToCompiler, compileTemplate, + hasOutDatedTemplateCache, clearCache }; diff --git a/package.json b/package.json index 3472e7b1..dd232467 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "posttest": "tsc", "commit": "git-cz", "build-examples": "node examples/build-examples.js", - "test": "jest --runInBand", + "test": "jest --runInBand --verbose --coverage", "test-watch": "jest --runInBand --watch", "release": "standard-version" }, diff --git a/spec/caching.spec.js b/spec/caching.spec.js index bab3d291..43f7fbec 100644 --- a/spec/caching.spec.js +++ b/spec/caching.spec.js @@ -203,4 +203,49 @@ describe('HtmlWebpackPluginCaching', function () { }) .then(done); }); + + it('should keep watching the webpack html if only a js file was changed', function (done) { + var template = path.join(__dirname, 'fixtures/plain.html'); + const jsFile = path.join(__dirname, 'fixtures/index.js'); + var htmlWebpackPlugin = new HtmlWebpackPlugin({ + template: template + }); + var compiler = setUpCompiler(htmlWebpackPlugin); + compiler.addTestFile(template); + compiler.addTestFile(jsFile); + // Build the template file for the first time + compiler.startWatching() + // Change the template file (second build) + .then(() => { + compiler.simulateFileChange(template, {footer: ''}); + return compiler.waitForWatchRunComplete(); + }) + // Change js + .then(() => { + compiler.simulateFileChange(jsFile, {footer: '// 1'}); + return compiler.waitForWatchRunComplete(); + }) + // Change js + .then(() => { + compiler.simulateFileChange(jsFile, {footer: '// 2'}); + return compiler.waitForWatchRunComplete(); + }) + // Change js + .then(() => { + compiler.simulateFileChange(jsFile, {footer: '// 3'}); + return compiler.waitForWatchRunComplete(); + }) + // Change the template file (third build) + .then(() => { + compiler.simulateFileChange(template, {footer: ''}); + return compiler.waitForWatchRunComplete(); + }) + .then(() => { + // Verify that the html was processed trice + expect(htmlWebpackPlugin.evaluateCompilationResult.mock.calls.length) + .toBe(3); + }) + .then(() => compiler.stopWatching()) + .then(done); + }); }); diff --git a/tsconfig.json b/tsconfig.json index ff013dfd..112ef7cb 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -31,6 +31,7 @@ "node_modules", "spec", "examples", - "dist" + "dist", + "coverage" ] } From 14226649aa1bbaf7b174bcacafdbe47d8ba6c851 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Wed, 20 Jun 2018 13:06:49 +0200 Subject: [PATCH 040/290] fix: Ignore foreign child compilers --- index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index f3ae77df..b8fa563e 100644 --- a/index.js +++ b/index.js @@ -97,7 +97,8 @@ class HtmlWebpackPlugin { // Clear the cache once a new HtmlWebpackPlugin is added childCompiler.clearCache(compiler); - compiler.hooks.compilation.tap('HtmlWebpackPlugin', (compilation) => { + // Clear the cache if the child compiler is outdated + compiler.hooks.thisCompilation.tap('HtmlWebpackPlugin', (compilation) => { if (childCompiler.hasOutDatedTemplateCache(compilation)) { childCompiler.clearCache(compiler); } From 27c3e727b073701bfc739859d8325435d27cbf35 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Fri, 6 Jul 2018 18:19:56 +0200 Subject: [PATCH 041/290] fix: Add dependencies from the child compilation to the main compilation --- index.js | 12 ++++++++++- lib/compiler.js | 55 ++++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 59 insertions(+), 8 deletions(-) diff --git a/index.js b/index.js index b8fa563e..193fbc9a 100644 --- a/index.js +++ b/index.js @@ -97,12 +97,22 @@ class HtmlWebpackPlugin { // Clear the cache once a new HtmlWebpackPlugin is added childCompiler.clearCache(compiler); - // Clear the cache if the child compiler is outdated + // Register all HtmlWebpackPlugins instances at the child compiler compiler.hooks.thisCompilation.tap('HtmlWebpackPlugin', (compilation) => { + // Clear the cache if the child compiler is outdated if (childCompiler.hasOutDatedTemplateCache(compilation)) { childCompiler.clearCache(compiler); } + // Add this instances template to the child compiler childCompiler.addTemplateToCompiler(compiler, this.options.template); + // Add file dependencies of child compiler to parent compiler + // to keep them watched even if we get the result from the cache + compilation.hooks.additionalChunkAssets.tap('HtmlWebpackPlugin', () => { + const childCompilerDependencies = childCompiler.getFileDependencies(compiler); + childCompilerDependencies.forEach(fileDependency => { + compilation.compilationDependencies.add(fileDependency); + }); + }); }); // setup hooks for third party plugins diff --git a/lib/compiler.js b/lib/compiler.js index 7e431a73..fa099bb2 100644 --- a/lib/compiler.js +++ b/lib/compiler.js @@ -36,6 +36,10 @@ class HtmlWebpackChildCompiler { * @type {number} */ this.compilationStartedTimestamp; + /** + * @type {number} + */ + this.compilationEndedTimestamp; /** * All file dependencies of the child compiler * @type {string[]} @@ -52,23 +56,38 @@ class HtmlWebpackChildCompiler { * Add a templatePath to the child compiler * The given template will be compiled by `compileTemplates` * @param {string} template - The webpack path to the template e.g. `'!!html-loader!index.html'` + * @returns {boolean} true if the template is new */ addTemplate (template) { const templateId = this.templates.indexOf(template); // Don't add the template to the compiler if a similar template was already added if (templateId !== -1) { - return templateId; + return false; } // A child compiler can compile only once // throw an error if a new template is added after the compilation started - if (this.compilationPromise) { + if (this.isCompiling()) { throw new Error('New templates can only be added before `compileTemplates` was called.'); } // Add the template to the childCompiler - const newTemplateId = this.templates.length; this.templates.push(template); // Mark the cache invalid - return newTemplateId; + return true; + } + + /** + * Returns true if the childCompiler is currently compiling + * @retuns {boolean} + */ + isCompiling () { + return !this.didCompile() && this.compilationStartedTimestamp !== undefined; + } + + /** + * Returns true if the childCOmpiler is done compiling + */ + didCompile () { + return this.compilationEndedTimestamp !== undefined; } /** @@ -158,6 +177,7 @@ class HtmlWebpackChildCompiler { entry: entries[entryIndex] }; }); + this.compilationEndedTimestamp = new Date().getTime(); resolve(result); }); }); @@ -266,7 +286,12 @@ function getChildCompiler (mainCompiler) { * @param {WebpackCompiler} mainCompiler */ function clearCache (mainCompiler) { - childCompilerCache.delete(mainCompiler); + const childCompiler = getChildCompiler(mainCompiler); + // If this childCompiler was already used + // remove the entire childCompiler from the cache + if (childCompiler.isCompiling() || childCompiler.didCompile()) { + childCompilerCache.delete(mainCompiler); + } } /** @@ -275,7 +300,11 @@ function clearCache (mainCompiler) { * @param {string} templatePath */ function addTemplateToCompiler (mainCompiler, templatePath) { - getChildCompiler(mainCompiler).addTemplate(templatePath); + const childCompiler = getChildCompiler(mainCompiler); + const isNew = childCompiler.addTemplate(templatePath); + if (isNew) { + clearCache(mainCompiler); + } } /** @@ -321,9 +350,21 @@ function hasOutDatedTemplateCache (compilation) { return childCompiler ? childCompiler.hasOutDatedTemplateCache(compilation) : false; } +/** + * Return all file dependencies of the last child compilation + * + * @param {WebpackCompiler} compiler + * @returns {Array} + */ +function getFileDependencies (compiler) { + const childCompiler = getChildCompiler(compiler); + return childCompiler.fileDependencies; +} + module.exports = { addTemplateToCompiler, compileTemplate, hasOutDatedTemplateCache, - clearCache + clearCache, + getFileDependencies }; From 2123d2ac273875ae9ecad73317003553c8343dcf Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Wed, 11 Jul 2018 15:09:10 +0200 Subject: [PATCH 042/290] test: Port tests from ES5 to ES6 --- spec/basic.spec.js | 356 +++++++++++++++++++++---------------------- spec/caching.spec.js | 84 +++++----- spec/example.spec.js | 60 ++++---- 3 files changed, 246 insertions(+), 254 deletions(-) diff --git a/spec/basic.spec.js b/spec/basic.spec.js index f8fc7e63..a2532583 100644 --- a/spec/basic.spec.js +++ b/spec/basic.spec.js @@ -5,31 +5,29 @@ /* eslint-env jest */ 'use strict'; -var path = require('path'); -var fs = require('fs'); -var webpack = require('webpack'); -var rimraf = require('rimraf'); -var _ = require('lodash'); -var ExtractTextPlugin = require('extract-text-webpack-plugin'); -var extractTextPluginMajorVersion = require('extract-text-webpack-plugin/package.json').version.split('.')[0]; -var webpackMajorVersion = Number(require('webpack/package.json').version.split('.')[0]); +const path = require('path'); +const fs = require('fs'); +const webpack = require('webpack'); +const rimraf = require('rimraf'); +const _ = require('lodash'); +const ExtractTextPlugin = require('extract-text-webpack-plugin'); +const extractTextPluginMajorVersion = require('extract-text-webpack-plugin/package.json').version.split('.')[0]; +const webpackMajorVersion = Number(require('webpack/package.json').version.split('.')[0]); if (isNaN(webpackMajorVersion)) { throw new Error('Cannot parse webpack major version'); } -var HtmlWebpackPlugin = require('../index.js'); +const HtmlWebpackPlugin = require('../index.js'); if (Number(extractTextPluginMajorVersion) > 1) { - var extractOriginal = ExtractTextPlugin.extract; - ExtractTextPlugin.extract = function (fallback, use) { - return extractOriginal({ - fallback: fallback, - use: use - }); - }; + const extractOriginal = ExtractTextPlugin.extract; + ExtractTextPlugin.extract = (fallback, use) => extractOriginal({ + fallback: fallback, + use: use + }); } -var OUTPUT_DIR = path.resolve(__dirname, '../dist/basic-spec'); +const OUTPUT_DIR = path.resolve(__dirname, '../dist/basic-spec'); jest.setTimeout(30000); process.on('unhandledRejection', r => console.log(r)); @@ -37,37 +35,35 @@ process.traceDeprecation = true; function testHtmlPlugin (webpackConfig, expectedResults, outputFile, done, expectErrors, expectWarnings) { outputFile = outputFile || 'index.html'; - webpack(webpackConfig, function (err, stats) { + webpack(webpackConfig, (err, stats) => { expect(err).toBeFalsy(); - var compilationErrors = (stats.compilation.errors || []).join('\n'); + const compilationErrors = (stats.compilation.errors || []).join('\n'); if (expectErrors) { expect(compilationErrors).not.toBe(''); } else { expect(compilationErrors).toBe(''); } - var compilationWarnings = (stats.compilation.warnings || []).join('\n'); + const compilationWarnings = (stats.compilation.warnings || []).join('\n'); if (expectWarnings) { expect(compilationWarnings).not.toBe(''); } else { expect(compilationWarnings).toBe(''); } if (outputFile instanceof RegExp) { - var matches = Object.keys(stats.compilation.assets).filter(function (item) { - return outputFile.test(item); - }); + const matches = Object.keys(stats.compilation.assets).filter(item => outputFile.test(item)); expect(matches.length).toBe(1); outputFile = matches[0]; } expect(outputFile.indexOf('[hash]') === -1).toBe(true); - var outputFileExists = fs.existsSync(path.join(OUTPUT_DIR, outputFile)); + const outputFileExists = fs.existsSync(path.join(OUTPUT_DIR, outputFile)); expect(outputFileExists).toBe(true); if (!outputFileExists) { return done(); } - var htmlContent = fs.readFileSync(path.join(OUTPUT_DIR, outputFile)).toString(); - var chunksInfo; - for (var i = 0; i < expectedResults.length; i++) { - var expectedResult = expectedResults[i]; + const htmlContent = fs.readFileSync(path.join(OUTPUT_DIR, outputFile)).toString(); + let chunksInfo; + for (let i = 0; i < expectedResults.length; i++) { + const expectedResult = expectedResults[i]; if (expectedResult instanceof RegExp) { expect(htmlContent).toMatch(expectedResult); } else if (typeof expectedResult === 'object') { @@ -75,7 +71,7 @@ function testHtmlPlugin (webpackConfig, expectedResults, outputFile, done, expec if (!chunksInfo) { chunksInfo = getChunksInfoFromStats(stats); } - var chunkhash = chunksInfo[expectedResult.chunkName].hash; + const chunkhash = chunksInfo[expectedResult.chunkName].hash; expect(htmlContent).toContain(expectedResult.containStr.replace('%chunkhash%', chunkhash)); } } else { @@ -87,11 +83,11 @@ function testHtmlPlugin (webpackConfig, expectedResults, outputFile, done, expec } function getChunksInfoFromStats (stats) { - var chunks = stats.compilation.getStats().toJson().chunks; - var chunksInfo = {}; - for (var i = 0; i < chunks.length; i++) { - var chunk = chunks[i]; - var chunkName = chunk.names[0]; + const chunks = stats.compilation.getStats().toJson().chunks; + const chunksInfo = {}; + for (let i = 0; i < chunks.length; i++) { + const chunk = chunks[i]; + const chunkName = chunk.names[0]; if (chunkName) { chunksInfo[chunkName] = chunk; } @@ -99,12 +95,12 @@ function getChunksInfoFromStats (stats) { return chunksInfo; } -describe('HtmlWebpackPlugin', function () { - beforeEach(function (done) { +describe('HtmlWebpackPlugin', () => { + beforeEach(done => { rimraf(OUTPUT_DIR, done); }); - it('generates a default index.html file for a single entry point', function (done) { + it('generates a default index.html file for a single entry point', done => { testHtmlPlugin({ mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), @@ -116,7 +112,7 @@ describe('HtmlWebpackPlugin', function () { }, [/[\s]* + \ No newline at end of file diff --git a/examples/chunk-optimization/dist/webpack-4/entryA.js b/examples/chunk-optimization/dist/webpack-4/entryA.js new file mode 100644 index 00000000..fbb9ffa5 --- /dev/null +++ b/examples/chunk-optimization/dist/webpack-4/entryA.js @@ -0,0 +1,151 @@ +/******/ (function(modules) { // webpackBootstrap +/******/ // install a JSONP callback for chunk loading +/******/ function webpackJsonpCallback(data) { +/******/ var chunkIds = data[0]; +/******/ var moreModules = data[1] +/******/ var executeModules = data[2]; +/******/ // add "moreModules" to the modules object, +/******/ // then flag all "chunkIds" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0, resolves = []; +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(installedChunks[chunkId]) { +/******/ resolves.push(installedChunks[chunkId][0]); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ for(moduleId in moreModules) { +/******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) { +/******/ modules[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(parentJsonpFunction) parentJsonpFunction(data); +/******/ while(resolves.length) { +/******/ resolves.shift()(); +/******/ } +/******/ +/******/ // add entry modules from loaded chunk to deferred list +/******/ deferredModules.push.apply(deferredModules, executeModules || []); +/******/ +/******/ // run deferred modules when all chunks ready +/******/ return checkDeferredModules(); +/******/ }; +/******/ function checkDeferredModules() { +/******/ var result; +/******/ for(var i = 0; i < deferredModules.length; i++) { +/******/ var deferredModule = deferredModules[i]; +/******/ var fullfilled = true; +/******/ for(var j = 1; j < deferredModule.length; j++) { +/******/ var depId = deferredModule[j]; +/******/ if(installedChunks[depId] !== 0) fullfilled = false; +/******/ } +/******/ if(fullfilled) { +/******/ deferredModules.splice(i--, 1); +/******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]); +/******/ } +/******/ } +/******/ return result; +/******/ } +/******/ +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // object to store loaded and loading chunks +/******/ var installedChunks = { +/******/ 5: 0 +/******/ }; +/******/ +/******/ var deferredModules = []; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || []; +/******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray); +/******/ jsonpArray.push = webpackJsonpCallback; +/******/ jsonpArray = jsonpArray.slice(); +/******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]); +/******/ var parentJsonpFunction = oldJsonpFunction; +/******/ +/******/ +/******/ // add entry module to deferred list +/******/ deferredModules.push([8,2,3,1,0]); +/******/ // run deferred modules when ready +/******/ return checkDeferredModules(); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 8: +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(1); +var multiply = __webpack_require__(0); +var concat = __webpack_require__(3); +var h1 = document.createElement('h1'); +h1.innerHTML = concat('Hello world from Entry ', multiply(1, 1)); +document.body.appendChild(h1); + + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/examples/chunk-optimization/dist/webpack-4/entryA~entryB.js b/examples/chunk-optimization/dist/webpack-4/entryA~entryB.js new file mode 100644 index 00000000..10865bc3 --- /dev/null +++ b/examples/chunk-optimization/dist/webpack-4/entryA~entryB.js @@ -0,0 +1,34 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[0],{ + +/***/ 1: +/***/ (function(module, exports, __webpack_require__) { + +// style-loader: Adds some css to the DOM by adding a \ No newline at end of file +Webpack AppHello World from backend -

Partial

\ No newline at end of file diff --git a/examples/javascript/dist/webpack-4/index.html b/examples/javascript/dist/webpack-4/index.html index fc2dba55..daac7ae4 100644 --- a/examples/javascript/dist/webpack-4/index.html +++ b/examples/javascript/dist/webpack-4/index.html @@ -1,2 +1 @@ -Hello World from backend2018-07-10T06:35:32.858Z

Partial

- \ No newline at end of file +Hello World from backend2018-09-15T20:52:24.239Z

Partial

\ No newline at end of file diff --git a/examples/pug-loader/dist/webpack-4/index.html b/examples/pug-loader/dist/webpack-4/index.html index 7deb41f2..8568a711 100644 --- a/examples/pug-loader/dist/webpack-4/index.html +++ b/examples/pug-loader/dist/webpack-4/index.html @@ -1 +1 @@ -pug demo
Current time

1998-12-31T23:00:00.000Z

\ No newline at end of file +pug demo
Current time

1999-01-01T00:00:00.000Z

\ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-4/first-file.html b/examples/sort-manually/dist/webpack-4/first-file.html index b2d63a4f..f251a0f8 100644 --- a/examples/sort-manually/dist/webpack-4/first-file.html +++ b/examples/sort-manually/dist/webpack-4/first-file.html @@ -1,11 +1 @@ - - - - - Example template - - - - - - \ No newline at end of file +Example template \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-4/second-file.html b/examples/sort-manually/dist/webpack-4/second-file.html index 1ef7520f..ba8f8673 100644 --- a/examples/sort-manually/dist/webpack-4/second-file.html +++ b/examples/sort-manually/dist/webpack-4/second-file.html @@ -1,11 +1 @@ - - - - - Example template - - - - - - \ No newline at end of file +Example template \ No newline at end of file diff --git a/examples/template-parameters/dist/webpack-4/index.html b/examples/template-parameters/dist/webpack-4/index.html index ccf2967a..2ac7ecd2 100644 --- a/examples/template-parameters/dist/webpack-4/index.html +++ b/examples/template-parameters/dist/webpack-4/index.html @@ -1,9 +1 @@ - - - - - bar - - - - +bar \ No newline at end of file diff --git a/index.js b/index.js index bfee97f1..256e06bd 100644 --- a/index.js +++ b/index.js @@ -45,7 +45,7 @@ class HtmlWebpackPlugin { inject: true, compile: true, favicon: false, - minify: false, + minify: undefined, cache: true, showErrors: true, chunks: 'all', @@ -99,6 +99,19 @@ class HtmlWebpackPlugin { this.options.filename = path.relative(compiler.options.output.path, filename); } + const minify = this.options.minify; + if (minify === true || (minify === undefined && compiler.options.mode === 'production')) { + this.options.minify = { + // https://github.com/kangax/html-minifier#options-quick-reference + collapseWhitespace: true, + removeComments: true, + removeRedundantAttributes: true, + removeScriptTypeAttributes: true, + removeStyleLinkTypeAttributes: true, + useShortDoctype: true + }; + } + // Clear the cache once a new HtmlWebpackPlugin is added childCompiler.clearCache(compiler); @@ -410,7 +423,7 @@ class HtmlWebpackPlugin { ? this.injectAssetsIntoHtml(html, assets, assetTags) : html; const htmlAfterMinification = this.options.minify - ? require('html-minifier').minify(htmlAfterInjection, this.options.minify === true ? {} : this.options.minify) + ? require('html-minifier').minify(htmlAfterInjection, this.options.minify) : htmlAfterInjection; return Promise.resolve(htmlAfterMinification); } diff --git a/spec/basic.spec.js b/spec/basic.spec.js index 15a15765..1c74f1ef 100644 --- a/spec/basic.spec.js +++ b/spec/basic.spec.js @@ -332,7 +332,7 @@ describe('HtmlWebpackPlugin', () => { }, [{ type: 'chunkhash', chunkName: 'app', - containStr: ' diff --git a/typings.d.ts b/typings.d.ts index 7d1890a2..706fac53 100644 --- a/typings.d.ts +++ b/typings.d.ts @@ -53,7 +53,7 @@ interface HtmlWebpackPluginOptions { * HTML Minification options * @https://github.com/kangax/html-minifier#options-quick-reference */ - minify: boolean | {}, + minify: undefined | boolean | {}, cache: boolean, /** * Render errors into the HTML page From 3c9740572d661c66ae15419b3da694fdfbcee949 Mon Sep 17 00:00:00 2001 From: Ed Morley <501702+edmorley@users.noreply.github.com> Date: Sun, 16 Sep 2018 20:57:00 +0100 Subject: [PATCH 056/290] Address review comments --- index.js | 6 +++++- typings.d.ts | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 256e06bd..3c99b730 100644 --- a/index.js +++ b/index.js @@ -99,8 +99,12 @@ class HtmlWebpackPlugin { this.options.filename = path.relative(compiler.options.output.path, filename); } + // Check if webpack is running in production mode + // @see https://github.com/webpack/webpack/blob/3366421f1784c449f415cda5930a8e445086f688/lib/WebpackOptionsDefaulter.js#L12-L14 + const isProductionLikeMode = compiler.options.mode === 'production' || !compiler.options.mode; + const minify = this.options.minify; - if (minify === true || (minify === undefined && compiler.options.mode === 'production')) { + if (minify === true || (minify === undefined && isProductionLikeMode)) { this.options.minify = { // https://github.com/kangax/html-minifier#options-quick-reference collapseWhitespace: true, diff --git a/typings.d.ts b/typings.d.ts index 706fac53..e5fcef72 100644 --- a/typings.d.ts +++ b/typings.d.ts @@ -53,7 +53,7 @@ interface HtmlWebpackPluginOptions { * HTML Minification options * @https://github.com/kangax/html-minifier#options-quick-reference */ - minify: undefined | boolean | {}, + minify?: boolean | {}, cache: boolean, /** * Render errors into the HTML page From bdcfe32557497cd3abc363cf020874c8f7c31099 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Tue, 11 Sep 2018 10:59:28 +0200 Subject: [PATCH 057/290] docs: Restructure readme --- README.md | 83 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 43 insertions(+), 40 deletions(-) diff --git a/README.md b/README.md index 56150055..4886028a 100644 --- a/README.md +++ b/README.md @@ -31,11 +31,30 @@ ``` - This is a [webpack](http://webpack.js.org/) plugin that simplifies creation of HTML files to serve your `webpack` bundles. This is especially useful for `webpack` bundles that include a hash in the filename which changes every compilation. You can either let the plugin generate an HTML file for you, supply your own template using `lodash` templates or use your own loader. -### `Plugins` +

Sponsors

+ + + + + + + + + + + + +Thanks for supporting the ongoing improvements to the html-webpack-plugin! + +

Zero Config

+ +The `html-webpack-plugin` works without configuration. +It's a great addition to the [⚙️ webpack-config-plugins](https://github.com/namics/webpack-config-plugins/blob/master/README.md#zero-config-webpack-dev-server-example). + +

Plugins

The `html-webpack-plugin` provides [hooks](https://github.com/jantimon/html-webpack-plugin#events) to extend it to your needs. There are already some really powerful plugins which can be integrated with zero configuration @@ -387,7 +406,7 @@ about which values are passed. }> ``` -Example implementation: [html-webpack-harddisk-plugin](https://github.com/jantimon/html-webpack-harddisk-plugin) +Example implementation: [webpack-subresource-integrity](https://www.npmjs.com/package/webpack-subresource-integrity) **plugin.js** ```js @@ -449,33 +468,10 @@ Note that the callback must be passed the HtmlWebpackPluginData in order to pass -[npm]: https://img.shields.io/npm/v/html-webpack-plugin.svg -[npm-url]: https://npmjs.com/package/html-webpack-plugin - -[node]: https://img.shields.io/node/v/html-webpack-plugin.svg -[node-url]: https://nodejs.org - -[deps]: https://david-dm.org/jantimon/html-webpack-plugin.svg -[deps-url]: https://david-dm.org/jantimon/html-webpack-plugin - -[tests]: http://img.shields.io/travis/jantimon/html-webpack-plugin.svg -[tests-url]: https://travis-ci.org/jantimon/html-webpack-plugin - - -## Contributors - -This project exists thanks to all the people who contribute. - -You're free to contribute to this project by submitting [issues](https://github.com/jantimon/html-webpack-plugin/issues) and/or [pull requests](https://github.com/jantimon/html-webpack-plugin/pulls). This project is test-driven, so keep in mind that every change and new feature should be covered by tests. - -This project uses the [semistandard code style](https://github.com/Flet/semistandard). - - - - ## Backers -Thank you to all our backers! 🙏 [Become a backer](https://opencollective.com/html-webpack-plugin#backer) +Thank you to all our backers! +If you want to support the project as well [become a sponsor](https://opencollective.com/html-webpack-plugin#sponsor) or a [a backer](https://opencollective.com/html-webpack-plugin#backer). @@ -488,19 +484,26 @@ Thank you to all our backers! 🙏 [Become a backer](https://opencollective.com/ -## Sponsors -Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor](https://opencollective.com/html-webpack-plugin#sponsor) +## Contributors - - - - - - - - - - +This project exists thanks to all the people who contribute. +You're free to contribute to this project by submitting [issues](https://github.com/jantimon/html-webpack-plugin/issues) and/or [pull requests](https://github.com/jantimon/html-webpack-plugin/pulls). This project is test-driven, so keep in mind that every change and new feature should be covered by tests. + +This project uses the [semistandard code style](https://github.com/Flet/semistandard). + + + + +[npm]: https://img.shields.io/npm/v/html-webpack-plugin.svg +[npm-url]: https://npmjs.com/package/html-webpack-plugin +[node]: https://img.shields.io/node/v/html-webpack-plugin.svg +[node-url]: https://nodejs.org + +[deps]: https://david-dm.org/jantimon/html-webpack-plugin.svg +[deps-url]: https://david-dm.org/jantimon/html-webpack-plugin + +[tests]: http://img.shields.io/travis/jantimon/html-webpack-plugin.svg +[tests-url]: https://travis-ci.org/jantimon/html-webpack-plugin From 50ede83b881c6ff080a5b92313dd7d4fde73fb47 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Thu, 27 Sep 2018 16:03:41 +0200 Subject: [PATCH 058/290] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a4463c7c..830e8ee4 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@

Plugin that simplifies creation of HTML files to serve your bundles

-

Install Alpha

+

Install Beta

```bash npm i --save-dev html-webpack-plugin@next From 6dda46e3973176b3acaa4e51d7736ab8e94c105a Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Mon, 1 Oct 2018 08:17:03 +0200 Subject: [PATCH 059/290] docs: Add docs for the meta tag option --- README.md | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++---- index.js | 6 ++++-- 2 files changed, 55 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 4886028a..a5d7f82c 100644 --- a/README.md +++ b/README.md @@ -163,7 +163,7 @@ Here's an example webpack config illustrating how to use these options } ``` -### `Generating Multiple HTML Files` +### Generating Multiple HTML Files To generate more than one HTML file, declare the plugin more than once in your plugins array @@ -186,7 +186,7 @@ once in your plugins array } ``` -### `Writing Your Own Templates` +### Writing Your Own Templates If the default generated HTML doesn't meet your needs you can supply your own template. The easiest way is to use the `template` option and pass a custom HTML file. @@ -280,7 +280,7 @@ The following variables are available in the template: (see [the inline template example](examples/inline/template.pug)). -### `Filtering Chunks` +### Filtering Chunks To include only certain chunks you can limit the chunks being used @@ -324,7 +324,54 @@ and the following options: To use custom [html-minifier options](https://github.com/kangax/html-minifier#options-quick-reference) pass an object to `minify` instead. This object will not be merged with the defaults above. -### `Events` +To disable minifcations during production mode set the `minfy` option to `false`. + +### Meta Tags + +If the `meta` option is set the html-webpack-plugin will inject meta tags. +For the default template the html-webpack-plugin will already provide a default for the `viewport` meta tag. + +Please take a look at this well maintained list of almost all [possible meta tags](https://github.com/joshbuchea/HEAD#meta). + +#### name/content meta tags + +Most meta tags are configured by setting a `name` and a `content` attribute. +To add those use a key/value pair: + +**webpack.config.js** +```js +plugins: [ + new HtmlWebpackPlugin({ + 'viewport': 'width=device-width, initial-scale=1, shrink-to-fit=no', + // Will generate: + 'theme-color': '#4285f4' + // Will generate: + }) +] +``` + +#### Simulate http response headers + +The **http-equiv** attribute is essentially used to simulate a HTTP response header. +This format is supported using an object notation which allows you to add any attribute: + +**webpack.config.js** +```js +plugins: [ + new HtmlWebpackPlugin({ + 'meta': { + 'Content-Security-Policy': { 'http-equiv': 'Content-Security-Policy', 'content': 'default-src https:' }, + // Will generate: + // Which equals to the following http header: `Content-Security-Policy: default-src https:` + 'set-cookie': { 'http-equiv': 'set-cookie', content: 'name=value; expires=date; path=url' }, + // Will generate: + // Which equals to the following http header: `set-cookie: value; expires=date; path=url` + } + }) +] +``` + +### Events To allow other [plugins](https://github.com/webpack/docs/wiki/plugins) to alter the HTML this plugin executes [tapable](https://github.com/webpack/tapable/tree/master) hooks. diff --git a/index.js b/index.js index 3c99b730..878f950e 100644 --- a/index.js +++ b/index.js @@ -705,8 +705,10 @@ class HtmlWebpackPlugin { /** * Generate all meta tags for the given meta configuration * @param {false | { - [name: string]: string|false // name content pair e.g. {viewport: 'width=device-width, initial-scale=1, shrink-to-fit=no'}` - | {[attributeName: string]: string|boolean} // custom properties e.g. { name:"viewport" content:"width=500, initial-scale=1" } + [name: string]: + false // disabled + | string // name content pair e.g. {viewport: 'width=device-width, initial-scale=1, shrink-to-fit=no'}` + | {[attributeName: string]: string|boolean} // custom properties e.g. { name:"viewport" content:"width=500, initial-scale=1" } }} metaOptions * @returns {Array} */ From 62e638cb2ecd88bf2d943a0151222493c043baf9 Mon Sep 17 00:00:00 2001 From: Sibiraj Date: Mon, 1 Oct 2018 14:35:13 +0530 Subject: [PATCH 060/290] docs(README): add csp-html-webpack-plugin --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a5d7f82c..2045e9a4 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,8 @@ The `html-webpack-plugin` provides [hooks](https://github.com/jantimon/html-webp * [html-webpack-inline-style-plugin](https://github.com/djaax/html-webpack-inline-style-plugin) for inlining styles to HTML elements using [juice](https://github.com/Automattic/juice). Useful for email generation automatisation. * [html-webpack-exclude-empty-assets-plugin](https://github.com/KnisterPeter/html-webpack-exclude-empty-assets-plugin) removes empty assets from being added to the html. This fixes some problems with extract-text-plugin with webpack 4. * [webpack-concat-plugin](https://github.com/hxlniada/webpack-concat-plugin) for concat and uglify files that needn't to be webpack bundles(for legacy files) and inject to html-webpack-plugin. - + * [csp-html-webpack-plugin](https://github.com/slackhq/csp-html-webpack-plugin) to add [Content Security Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy) meta tags to the HTML output +

Usage

From 79a044803a49ae6db069e8ccdbf0dbdba41f122e Mon Sep 17 00:00:00 2001 From: Sibiraj Date: Mon, 1 Oct 2018 16:55:11 +0530 Subject: [PATCH 061/290] perf: migrate from extract-text plugin to mini-css plugin --- .travis.yml | 5 - README.md | 2 +- examples/appcache/dist/webpack-4/bundle.js | 36 ++- .../appcache/dist/webpack-4/manifest.appcache | 4 +- examples/appcache/dist/webpack-4/styles.css | 2 +- examples/appcache/webpack.config.js | 6 +- .../dist/webpack-4/entryA.js | 49 ++-- .../dist/webpack-4/entryA~entryB.js | 17 +- .../dist/webpack-4/entryB.js | 45 ++-- .../dist/webpack-4/libMath.js | 16 +- .../dist/webpack-4/libText.js | 4 +- .../dist/webpack-4/vendors~entryA~entryB.js | 114 ++++----- examples/chunk-optimization/webpack.config.js | 1 + .../custom-template/dist/webpack-4/bundle.js | 36 ++- .../custom-template/dist/webpack-4/index.html | 2 +- .../dist/webpack-4/{styles.css => style.css} | 2 +- examples/custom-template/webpack.config.js | 6 +- examples/default/dist/webpack-4/bundle.js | 217 ++++++++++-------- examples/default/webpack.config.js | 1 + examples/favicon/dist/webpack-4/bundle.js | 36 ++- examples/favicon/dist/webpack-4/favicon.html | 2 +- .../dist/webpack-4/{styles.css => style.css} | 2 +- examples/favicon/webpack.config.js | 7 +- .../html-loader/dist/webpack-4/about.html | 2 +- examples/html-loader/dist/webpack-4/bundle.js | 36 ++- .../html-loader/dist/webpack-4/index.html | 2 +- .../dist/webpack-4/{styles.css => style.css} | 2 +- examples/html-loader/webpack.config.js | 7 +- examples/inline/dist/webpack-4/bundle.js | 36 ++- examples/inline/dist/webpack-4/index.html | 36 ++- .../dist/webpack-4/{styles.css => style.css} | 2 +- examples/inline/webpack.config.js | 6 +- .../dist/webpack-4/bundle.js | 41 ++-- .../dist/webpack-4/index.html | 2 +- .../dist/webpack-4/style.css | 3 + .../dist/webpack-4/styles.css | 3 - .../javascript-advanced/webpack.config.js | 7 +- examples/javascript/dist/webpack-4/bundle.js | 41 ++-- examples/javascript/dist/webpack-4/index.html | 2 +- examples/javascript/dist/webpack-4/style.css | 3 + examples/javascript/dist/webpack-4/styles.css | 3 - examples/javascript/webpack.config.js | 6 +- examples/pug-loader/dist/webpack-4/bundle.js | 93 ++++---- examples/pug-loader/dist/webpack-4/index.html | 2 +- examples/pug-loader/dist/webpack-4/style.css | 3 + examples/pug-loader/dist/webpack-4/styles.css | 3 - examples/pug-loader/webpack.config.js | 7 +- examples/sort-manually/dist/webpack-4/a.js | 44 ++-- examples/sort-manually/dist/webpack-4/b.js | 35 ++- examples/sort-manually/dist/webpack-4/c.js | 36 ++- examples/sort-manually/dist/webpack-4/d.js | 36 ++- examples/sort-manually/dist/webpack-4/e.js | 35 ++- .../dist/webpack-4/first-file.html | 2 +- .../dist/webpack-4/second-file.html | 2 +- .../sort-manually/dist/webpack-4/style.css | 3 + .../sort-manually/dist/webpack-4/styles.css | 3 - examples/sort-manually/webpack.config.js | 6 +- .../dist/webpack-4/bundle.js | 25 +- package.json | 4 +- spec/basic.spec.js | 39 ++-- 60 files changed, 737 insertions(+), 493 deletions(-) rename examples/custom-template/dist/webpack-4/{styles.css => style.css} (93%) rename examples/favicon/dist/webpack-4/{styles.css => style.css} (93%) rename examples/html-loader/dist/webpack-4/{styles.css => style.css} (93%) rename examples/inline/dist/webpack-4/{styles.css => style.css} (93%) create mode 100644 examples/javascript-advanced/dist/webpack-4/style.css delete mode 100644 examples/javascript-advanced/dist/webpack-4/styles.css create mode 100644 examples/javascript/dist/webpack-4/style.css delete mode 100644 examples/javascript/dist/webpack-4/styles.css create mode 100644 examples/pug-loader/dist/webpack-4/style.css delete mode 100644 examples/pug-loader/dist/webpack-4/styles.css create mode 100644 examples/sort-manually/dist/webpack-4/style.css delete mode 100644 examples/sort-manually/dist/webpack-4/styles.css diff --git a/.travis.yml b/.travis.yml index 15a70d10..b4267b3e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,14 +3,9 @@ node_js: - stable - lts/* - 6.9 -env: - - WEBPACK_VERSION=4.0.0 EXTRACT_PLUGIN_VERSION=4.0.0-alpha.0 before_install: - stty columns 120 install: - travis_retry npm install --ignore-scripts - - npm rm webpack - - npm rm extract-text-webpack-plugin - - npm install webpack@$WEBPACK_VERSION extract-text-webpack-plugin@$EXTRACT_PLUGIN_VERSION --ignore-scripts || true script: - travis_retry npm test diff --git a/README.md b/README.md index 2045e9a4..d7875e79 100644 --- a/README.md +++ b/README.md @@ -218,7 +218,7 @@ plugins: [ ``` If you already have a template loader, you can use it to parse the template. -Please note that this will also happen if you specifiy the html-loader and use `.html` file as template. +Please note that this will also happen if you specify the html-loader and use `.html` file as template. **webpack.config.js** ```js diff --git a/examples/appcache/dist/webpack-4/bundle.js b/examples/appcache/dist/webpack-4/bundle.js index 53bdab35..9fbb4892 100644 --- a/examples/appcache/dist/webpack-4/bundle.js +++ b/examples/appcache/dist/webpack-4/bundle.js @@ -36,19 +36,34 @@ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? @@ -73,20 +88,17 @@ /* 0 */ /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(4); +__webpack_require__(1); var h1 = document.createElement('h1'); h1.innerHTML = 'Hello world!'; document.body.appendChild(h1); /***/ }), -/* 1 */, -/* 2 */, -/* 3 */, -/* 4 */ -/***/ (function(module, exports) { +/* 1 */ +/***/ (function(module, exports, __webpack_require__) { -// removed by extract-text-webpack-plugin +// extracted by mini-css-extract-plugin /***/ }) /******/ ]); \ No newline at end of file diff --git a/examples/appcache/dist/webpack-4/manifest.appcache b/examples/appcache/dist/webpack-4/manifest.appcache index 0f3a560d..5b72cadb 100644 --- a/examples/appcache/dist/webpack-4/manifest.appcache +++ b/examples/appcache/dist/webpack-4/manifest.appcache @@ -1,9 +1,9 @@ CACHE MANIFEST -# 83ab7029cec7797a5a8a +# b399a5e3b098d84ca3a0 0714810ae3fb211173e2964249507195.png -bundle.js styles.css +bundle.js NETWORK: * diff --git a/examples/appcache/dist/webpack-4/styles.css b/examples/appcache/dist/webpack-4/styles.css index 232a2cdb..e86486ba 100644 --- a/examples/appcache/dist/webpack-4/styles.css +++ b/examples/appcache/dist/webpack-4/styles.css @@ -1,3 +1,3 @@ body { background: snow; -} \ No newline at end of file +} diff --git a/examples/appcache/webpack.config.js b/examples/appcache/webpack.config.js index b1214f0f..980ebfd5 100755 --- a/examples/appcache/webpack.config.js +++ b/examples/appcache/webpack.config.js @@ -1,7 +1,7 @@ var path = require('path'); var AppCachePlugin = require('appcache-webpack-plugin'); var HtmlWebpackPlugin = require('../..'); -var ExtractTextPlugin = require('extract-text-webpack-plugin'); +var MiniCssExtractPlugin = require('mini-css-extract-plugin'); var webpackMajorVersion = require('webpack/package.json').version.split('.')[0]; module.exports = { @@ -14,7 +14,7 @@ module.exports = { }, module: { rules: [ - { test: /\.css$/, loader: ExtractTextPlugin.extract({ fallback: 'style-loader', use: 'css-loader' }) }, + { test: /\.css$/, use: [MiniCssExtractPlugin.loader, 'css-loader'] }, { test: /\.png$/, loader: 'file-loader' }, { test: /\.html$/, loader: 'html-loader?-removeOptionalTags' } ] @@ -29,6 +29,6 @@ module.exports = { collapseWhitespace: true } }), - new ExtractTextPlugin('styles.css') + new MiniCssExtractPlugin({ filename: 'styles.css' }) ] }; diff --git a/examples/chunk-optimization/dist/webpack-4/entryA.js b/examples/chunk-optimization/dist/webpack-4/entryA.js index fbb9ffa5..c1396195 100644 --- a/examples/chunk-optimization/dist/webpack-4/entryA.js +++ b/examples/chunk-optimization/dist/webpack-4/entryA.js @@ -2,8 +2,9 @@ /******/ // install a JSONP callback for chunk loading /******/ function webpackJsonpCallback(data) { /******/ var chunkIds = data[0]; -/******/ var moreModules = data[1] +/******/ var moreModules = data[1]; /******/ var executeModules = data[2]; +/******/ /******/ // add "moreModules" to the modules object, /******/ // then flag all "chunkIds" as loaded and fire callback /******/ var moduleId, chunkId, i = 0, resolves = []; @@ -20,6 +21,7 @@ /******/ } /******/ } /******/ if(parentJsonpFunction) parentJsonpFunction(data); +/******/ /******/ while(resolves.length) { /******/ resolves.shift()(); /******/ } @@ -34,12 +36,12 @@ /******/ var result; /******/ for(var i = 0; i < deferredModules.length; i++) { /******/ var deferredModule = deferredModules[i]; -/******/ var fullfilled = true; +/******/ var fulfilled = true; /******/ for(var j = 1; j < deferredModule.length; j++) { /******/ var depId = deferredModule[j]; -/******/ if(installedChunks[depId] !== 0) fullfilled = false; +/******/ if(installedChunks[depId] !== 0) fulfilled = false; /******/ } -/******/ if(fullfilled) { +/******/ if(fulfilled) { /******/ deferredModules.splice(i--, 1); /******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]); /******/ } @@ -51,8 +53,10 @@ /******/ var installedModules = {}; /******/ /******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // Promise = chunk loading, 0 = chunk loaded /******/ var installedChunks = { -/******/ 5: 0 +/******/ 3: 0 /******/ }; /******/ /******/ var deferredModules = []; @@ -91,19 +95,34 @@ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? @@ -128,19 +147,19 @@ /******/ /******/ /******/ // add entry module to deferred list -/******/ deferredModules.push([8,2,3,1,0]); +/******/ deferredModules.push([2,0,5,1,2]); /******/ // run deferred modules when ready /******/ return checkDeferredModules(); /******/ }) /************************************************************************/ /******/ ({ -/***/ 8: +/***/ 2: /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(1); -var multiply = __webpack_require__(0); -var concat = __webpack_require__(3); +__webpack_require__(0); +var multiply = __webpack_require__(1); +var concat = __webpack_require__(7); var h1 = document.createElement('h1'); h1.innerHTML = concat('Hello world from Entry ', multiply(1, 1)); document.body.appendChild(h1); diff --git a/examples/chunk-optimization/dist/webpack-4/entryA~entryB.js b/examples/chunk-optimization/dist/webpack-4/entryA~entryB.js index 10865bc3..7951deeb 100644 --- a/examples/chunk-optimization/dist/webpack-4/entryA~entryB.js +++ b/examples/chunk-optimization/dist/webpack-4/entryA~entryB.js @@ -1,12 +1,11 @@ -(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[0],{ - -/***/ 1: +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[2],[ +/* 0 */ /***/ (function(module, exports, __webpack_require__) { // style-loader: Adds some css to the DOM by adding a \ No newline at end of file diff --git a/examples/inline/dist/webpack-5/styles.css b/examples/inline/dist/webpack-5/styles.css new file mode 100644 index 00000000..e86486ba --- /dev/null +++ b/examples/inline/dist/webpack-5/styles.css @@ -0,0 +1,3 @@ +body { + background: snow; +} diff --git a/examples/javascript-advanced/dist/webpack-5/0714810ae3fb211173e2964249507195.png b/examples/javascript-advanced/dist/webpack-5/0714810ae3fb211173e2964249507195.png new file mode 100644 index 0000000000000000000000000000000000000000..d71b3d789f45d8f124a1fde57a36e55855a6dcb5 GIT binary patch literal 54055 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 Duf!qe literal 0 HcmV?d00001 diff --git a/examples/javascript-advanced/dist/webpack-5/bundle.js b/examples/javascript-advanced/dist/webpack-5/bundle.js new file mode 100644 index 00000000..3e1c0ed3 --- /dev/null +++ b/examples/javascript-advanced/dist/webpack-5/bundle.js @@ -0,0 +1,59 @@ +/* + * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). + * This devtool is not neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ 184: +/***/ ((module) => { + +"use strict"; +eval("// This file is used for frontend and backend\n\n\n// If compiled by the html-webpack-plugin\n// HTML_WEBPACK_PLUGIN is set to true:\nvar backend = typeof HTML_WEBPACK_PLUGIN !== 'undefined';\n\nmodule.exports = function () {\n return 'Hello World from ' + (backend ? 'backend' : 'frontend');\n};\n\n\n//# sourceURL=webpack:///./universial.js?"); + +/***/ }), + +/***/ 636: +/***/ (() => { + +eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./main.css?"); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ if(__webpack_module_cache__[moduleId]) { +/******/ return __webpack_module_cache__[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /************************************************************************/ +(() => { +eval("__webpack_require__(636);\n\nvar universal = __webpack_require__(184);\nvar h1 = document.createElement('h1');\nh1.innerHTML = universal();\n\ndocument.body.appendChild(h1);\n\n\n//# sourceURL=webpack:///./example.js?"); +})(); + +/******/ })() +; \ No newline at end of file diff --git a/examples/javascript-advanced/dist/webpack-5/index.html b/examples/javascript-advanced/dist/webpack-5/index.html new file mode 100644 index 00000000..2ec60f39 --- /dev/null +++ b/examples/javascript-advanced/dist/webpack-5/index.html @@ -0,0 +1 @@ +Webpack AppHello World from backend -

Partial

\ No newline at end of file diff --git a/examples/javascript-advanced/dist/webpack-5/styles.css b/examples/javascript-advanced/dist/webpack-5/styles.css new file mode 100644 index 00000000..e86486ba --- /dev/null +++ b/examples/javascript-advanced/dist/webpack-5/styles.css @@ -0,0 +1,3 @@ +body { + background: snow; +} diff --git a/examples/javascript/dist/webpack-5/0714810ae3fb211173e2964249507195.png b/examples/javascript/dist/webpack-5/0714810ae3fb211173e2964249507195.png new file mode 100644 index 0000000000000000000000000000000000000000..d71b3d789f45d8f124a1fde57a36e55855a6dcb5 GIT binary patch literal 54055 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 Duf!qe literal 0 HcmV?d00001 diff --git a/examples/javascript/dist/webpack-5/bundle.js b/examples/javascript/dist/webpack-5/bundle.js new file mode 100644 index 00000000..3e1c0ed3 --- /dev/null +++ b/examples/javascript/dist/webpack-5/bundle.js @@ -0,0 +1,59 @@ +/* + * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). + * This devtool is not neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ 184: +/***/ ((module) => { + +"use strict"; +eval("// This file is used for frontend and backend\n\n\n// If compiled by the html-webpack-plugin\n// HTML_WEBPACK_PLUGIN is set to true:\nvar backend = typeof HTML_WEBPACK_PLUGIN !== 'undefined';\n\nmodule.exports = function () {\n return 'Hello World from ' + (backend ? 'backend' : 'frontend');\n};\n\n\n//# sourceURL=webpack:///./universial.js?"); + +/***/ }), + +/***/ 636: +/***/ (() => { + +eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./main.css?"); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ if(__webpack_module_cache__[moduleId]) { +/******/ return __webpack_module_cache__[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /************************************************************************/ +(() => { +eval("__webpack_require__(636);\n\nvar universal = __webpack_require__(184);\nvar h1 = document.createElement('h1');\nh1.innerHTML = universal();\n\ndocument.body.appendChild(h1);\n\n\n//# sourceURL=webpack:///./example.js?"); +})(); + +/******/ })() +; \ No newline at end of file diff --git a/examples/javascript/dist/webpack-5/index.html b/examples/javascript/dist/webpack-5/index.html new file mode 100644 index 00000000..62334917 --- /dev/null +++ b/examples/javascript/dist/webpack-5/index.html @@ -0,0 +1 @@ +Hello World from backend2020-03-30T16:36:46.399Z

Partial

\ No newline at end of file diff --git a/examples/javascript/dist/webpack-5/styles.css b/examples/javascript/dist/webpack-5/styles.css new file mode 100644 index 00000000..e86486ba --- /dev/null +++ b/examples/javascript/dist/webpack-5/styles.css @@ -0,0 +1,3 @@ +body { + background: snow; +} diff --git a/examples/pug-loader/dist/webpack-5/bundle.js b/examples/pug-loader/dist/webpack-5/bundle.js new file mode 100644 index 00000000..11ae57a6 --- /dev/null +++ b/examples/pug-loader/dist/webpack-5/bundle.js @@ -0,0 +1,333 @@ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ 636: +/***/ (() => { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ 656: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +var pug = __webpack_require__(79); + +function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (time) {pug_html = pug_html + "\u003C!-- this partial is used for frontend and backend--\u003E\u003Cdiv class=\"time\"\u003E \u003Cb\u003ECurrent time\u003C\u002Fb\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = time.toISOString()) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cimg src=\"#{require('.\u002Flogo.png')}\"\u003E";}.call(this,"time" in locals_for_with?locals_for_with.time:typeof time!=="undefined"?time:undefined));;return pug_html;}; +module.exports = template; + +/***/ }), + +/***/ 79: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + + +var pug_has_own_property = Object.prototype.hasOwnProperty; + +/** + * Merge two attribute objects giving precedence + * to values in object `b`. Classes are special-cased + * allowing for arrays and merging/joining appropriately + * resulting in a string. + * + * @param {Object} a + * @param {Object} b + * @return {Object} a + * @api private + */ + +exports.merge = pug_merge; +function pug_merge(a, b) { + if (arguments.length === 1) { + var attrs = a[0]; + for (var i = 1; i < a.length; i++) { + attrs = pug_merge(attrs, a[i]); + } + return attrs; + } + + for (var key in b) { + if (key === 'class') { + var valA = a[key] || []; + a[key] = (Array.isArray(valA) ? valA : [valA]).concat(b[key] || []); + } else if (key === 'style') { + var valA = pug_style(a[key]); + valA = valA && valA[valA.length - 1] !== ';' ? valA + ';' : valA; + var valB = pug_style(b[key]); + valB = valB && valB[valB.length - 1] !== ';' ? valB + ';' : valB; + a[key] = valA + valB; + } else { + a[key] = b[key]; + } + } + + return a; +}; + +/** + * Process array, object, or string as a string of classes delimited by a space. + * + * If `val` is an array, all members of it and its subarrays are counted as + * classes. If `escaping` is an array, then whether or not the item in `val` is + * escaped depends on the corresponding item in `escaping`. If `escaping` is + * not an array, no escaping is done. + * + * If `val` is an object, all the keys whose value is truthy are counted as + * classes. No escaping is done. + * + * If `val` is a string, it is counted as a class. No escaping is done. + * + * @param {(Array.|Object.|string)} val + * @param {?Array.} escaping + * @return {String} + */ +exports.classes = pug_classes; +function pug_classes_array(val, escaping) { + var classString = '', className, padding = '', escapeEnabled = Array.isArray(escaping); + for (var i = 0; i < val.length; i++) { + className = pug_classes(val[i]); + if (!className) continue; + escapeEnabled && escaping[i] && (className = pug_escape(className)); + classString = classString + padding + className; + padding = ' '; + } + return classString; +} +function pug_classes_object(val) { + var classString = '', padding = ''; + for (var key in val) { + if (key && val[key] && pug_has_own_property.call(val, key)) { + classString = classString + padding + key; + padding = ' '; + } + } + return classString; +} +function pug_classes(val, escaping) { + if (Array.isArray(val)) { + return pug_classes_array(val, escaping); + } else if (val && typeof val === 'object') { + return pug_classes_object(val); + } else { + return val || ''; + } +} + +/** + * Convert object or string to a string of CSS styles delimited by a semicolon. + * + * @param {(Object.|string)} val + * @return {String} + */ + +exports.style = pug_style; +function pug_style(val) { + if (!val) return ''; + if (typeof val === 'object') { + var out = ''; + for (var style in val) { + /* istanbul ignore else */ + if (pug_has_own_property.call(val, style)) { + out = out + style + ':' + val[style] + ';'; + } + } + return out; + } else { + return val + ''; + } +}; + +/** + * Render the given attribute. + * + * @param {String} key + * @param {String} val + * @param {Boolean} escaped + * @param {Boolean} terse + * @return {String} + */ +exports.attr = pug_attr; +function pug_attr(key, val, escaped, terse) { + if (val === false || val == null || !val && (key === 'class' || key === 'style')) { + return ''; + } + if (val === true) { + return ' ' + (terse ? key : key + '="' + key + '"'); + } + var type = typeof val; + if ((type === 'object' || type === 'function') && typeof val.toJSON === 'function') { + val = val.toJSON(); + } + if (typeof val !== 'string') { + val = JSON.stringify(val); + if (!escaped && val.indexOf('"') !== -1) { + return ' ' + key + '=\'' + val.replace(/'/g, ''') + '\''; + } + } + if (escaped) val = pug_escape(val); + return ' ' + key + '="' + val + '"'; +}; + +/** + * Render the given attributes object. + * + * @param {Object} obj + * @param {Object} terse whether to use HTML5 terse boolean attributes + * @return {String} + */ +exports.attrs = pug_attrs; +function pug_attrs(obj, terse){ + var attrs = ''; + + for (var key in obj) { + if (pug_has_own_property.call(obj, key)) { + var val = obj[key]; + + if ('class' === key) { + val = pug_classes(val); + attrs = pug_attr(key, val, false, terse) + attrs; + continue; + } + if ('style' === key) { + val = pug_style(val); + } + attrs += pug_attr(key, val, false, terse); + } + } + + return attrs; +}; + +/** + * Escape the given string of `html`. + * + * @param {String} html + * @return {String} + * @api private + */ + +var pug_match_html = /["&<>]/; +exports.escape = pug_escape; +function pug_escape(_html){ + var html = '' + _html; + var regexResult = pug_match_html.exec(html); + if (!regexResult) return _html; + + var result = ''; + var i, lastIndex, escape; + for (i = regexResult.index, lastIndex = 0; i < html.length; i++) { + switch (html.charCodeAt(i)) { + case 34: escape = '"'; break; + case 38: escape = '&'; break; + case 60: escape = '<'; break; + case 62: escape = '>'; break; + default: continue; + } + if (lastIndex !== i) result += html.substring(lastIndex, i); + lastIndex = i + 1; + result += escape; + } + if (lastIndex !== i) return result + html.substring(lastIndex, i); + else return result; +}; + +/** + * Re-throw the given `err` in context to the + * the pug in `filename` at the given `lineno`. + * + * @param {Error} err + * @param {String} filename + * @param {String} lineno + * @param {String} str original source + * @api private + */ + +exports.rethrow = pug_rethrow; +function pug_rethrow(err, filename, lineno, str){ + if (!(err instanceof Error)) throw err; + if ((typeof window != 'undefined' || !filename) && !str) { + err.message += ' on line ' + lineno; + throw err; + } + try { + str = str || __webpack_require__(993).readFileSync(filename, 'utf8') + } catch (ex) { + pug_rethrow(err, null, lineno) + } + var context = 3 + , lines = str.split('\n') + , start = Math.max(lineno - context, 0) + , end = Math.min(lines.length, lineno + context); + + // Error context + var context = lines.slice(start, end).map(function(line, i){ + var curr = i + start + 1; + return (curr == lineno ? ' > ' : ' ') + + curr + + '| ' + + line; + }).join('\n'); + + // Alter exception message + err.path = filename; + err.message = (filename || 'Pug') + ':' + lineno + + '\n' + context + '\n\n' + err.message; + throw err; +}; + + +/***/ }), + +/***/ 993: +/***/ (() => { + +/* (ignored) */ + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ if(__webpack_module_cache__[moduleId]) { +/******/ return __webpack_module_cache__[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /************************************************************************/ +(() => { +"use strict"; + +__webpack_require__(636); +// Use the same template for the frontend code +var template = __webpack_require__(656); + +setInterval(function () { + var div = document.getElementById('main'); + div.innerHTML = template({ time: new Date() }); + div.style.color = 'navy'; +}, 1000); + +})(); + +/******/ })() +; \ No newline at end of file diff --git a/examples/pug-loader/dist/webpack-5/favicon.ico b/examples/pug-loader/dist/webpack-5/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..be74abd69ad6a32de7375df13cab9354798e328f GIT binary patch literal 766 zcmc(dze~eV5XUd2fg&jH87YDYDQKxq1{4b-_ydP-wqS9vgGh17QXQQAwOE{VaBvi* zmu^z9t({y-&1ey8Y_x;?x+`BviV9;aRjMgZ8M*!jgkRrFqSI9;F zHyfX@Az|AvVmn~YWWZP`0&JWEY~BFm?*Vq}VD7&_%x%MP$p`D`4JMC!K|B7pt?Mmp zUJAB7rxMXS6=!P+AtLU9V)J#61WPxwipRXCHO{BJ`l{m53#=t97a!znv~vfmr|AaP zRGIT7#0FyJy3Z*hL{GQp-0TRhX8UzZ)+>%?mK0^goaX4Q;xpug demo
Current time

1998-12-31T23:00:00.000Z

\ No newline at end of file diff --git a/examples/pug-loader/dist/webpack-5/styles.css b/examples/pug-loader/dist/webpack-5/styles.css new file mode 100644 index 00000000..e86486ba --- /dev/null +++ b/examples/pug-loader/dist/webpack-5/styles.css @@ -0,0 +1,3 @@ +body { + background: snow; +} diff --git a/examples/sort-manually/dist/webpack-5/0714810ae3fb211173e2964249507195.png b/examples/sort-manually/dist/webpack-5/0714810ae3fb211173e2964249507195.png new file mode 100644 index 0000000000000000000000000000000000000000..d71b3d789f45d8f124a1fde57a36e55855a6dcb5 GIT binary patch literal 54055 zcmX_n1yCGa)AiyI+}#4f-CaV01Pvs(ySuwXa0{-%LU4CjTo;$c-C5lA=Skl0udS)A zncAJH+tc0Wbf3OIloX^;-x0k7005{m(w~$80I2h~0}T=W?Mm7WOZD3ql#{a5M?l3G z$-&zRyrHbrC&24}pWOE1#J4L*_R<E^0n}7BnbqYlN*dr?J&Xol-xcqnkFbob$Ut zvzs#}i(`JX(`U%3SEt?TTJ79}PWboI4vg#aH6Q36MyThk+$ThR(V*Mcmk}2O)pE`H z!}*FPmaaeJt*d7%m7(h{Y;B0aP#FH?L7M|-U8fHvE&>1j$}-^Yj~R)3=N5l%2Pse% z>g3*{=FT|{c#LoGz~X&&E84*V{`0+5l^H|t+IgP1bC2Esl|;YNWl;5%D_SHIX$wHX zhS3{laHn+#Jbk=t@h|=Fu43M^)6naFFB#%(M1iRADE_A22`Gp9XyCi_G#Ej^Qr;82 z_j;?ZzRuv=t;;njIu0Yh+PM$V_v*s+9El4d^q#ag1i+3Wh8PH5t=m+c_;L8t0>}`~ zdH^DU=-vZ;Ex`YKOr^};vyUFy;e6K_#eNQf6-JhqJu&G$$||2&OY|x2v)0?csN7%O zp4wgV)c&_#)=xgqui`>`T~c{ZG#H(jKocL`nWETes9dPImzZ*>*h-1TaRMZ z2^;wGZtNcEX?D%(2vxn_a`q40W~oSu=cOQ7$nX)=qq3A{mI$k9OgH4z(@pnPpVo-PCS0wWt0tl zRl*(PUbj!#$YL+#ZLbh=4ZHvE80Du=Sb$ELH}}!jwy8mb2Kd;?PUc*1-i_BbXj$UwN0^;~bIJn_BY$`0RJ!0jOtL_qEgepVy)P z-RM7e_G{nK84tK96@O#^?D5siB0A-gS#t?;ZIhaT{$Lj`@FByxKk_{fhU7bV=Rhav z*L^m#r6`T$t=*muDO#@ZHXYZ$*#d9dZLZj9Wgq{~K{eFZp4y9>TrOPLo@fB*{zY)T zbmZJkPsr`q=@WHJH<)}fbf{dfNEwrN z;P!!dpw{`5>QU}W$AVb63tgj!yyEG;16v9^bQA2kT9ut>^lhh0T3^{eGZ1UqdCc1d zY%oH#!HPK-!_75E#VGJf?*Al@$j@zk>33PL-cnWgEj9leO@G0%=HIDqz0w zD{=nr*cnGwAiI-9)J5u{7jsG@C~{~Hp&v=&P$exFDqM3VpCU$ouI85XI4TNr7{wiH zkxE3P==kWLL3+il#FFn*+Xw)vpveR-Ij|sizxkXU6D|$u}~M17_q?I z5Zz4-%h}|95kcakekK(?7CR2?wjR!`EL<`RW9ohn%BShcC}ur7O+OZO2UwQHH2`Qfh7T z2jiXv*MOyl`l7>U7*nZN<36(#5MUK6dyyN7Js3$5N4+}#zO`-6`p}oOuyDWE`M{xXK;MIGMc=-|Qcalad z!RQh&o$~CN!sxzQ#Rq-=(;T1vy%H4XNIIzh!#fkn_)}H4l$ou{`yV@GLNr%%PvD*m zoyB5CT}9u+eX$kM(8=mY{tX(*WO+4N-Xv@m=l-YR~$>y*4Zaj{qW)!Q3xQ@y`{^nJmj z6V_A@`K)gT*%qD>s+vRzK|)Yy#39!MRjeVw^A^+fXmf8J!wK%Li+2UgwFh}D)=!WO zoKAB!<%hQGIW#R67~Gtf-7Jgl!G+(jel=xFYAEMEBgzc$4E+w8$tU>OfaWI`9o?xtqe<(B(`4%hS_3Fdk)u>h^7NRH^02_6ST4fT=; z&QK6?=sPR-ajj&H(Z7-M+VY3D?GjHxq2nFU4$cD^i00CZ6MGwsB1S4;6GpFEEI2)& zBH+*Y*DAiwo@Rgv|gKP!lY}t95X&L5OU*LWO2yyry~2hf(Fc6Ev$EhI77G zj)&?Lzi3!TR?`%4gnI@(Ul~-^?yCSxa#k)+L&T1LK(;sP*;q`f?EUeX0(;BL5ayT+ z#}D05H0HMLdi6oS@-Oz)wy!=^R0d~1p-rH89Vs0oFeoFi*(OUeWT<;4Vn?4tsH^Yp z1L7B%M%$clNr5vqat9O(*fP%)xhIRJW2(d!#svPmh85t9*qAh%iIr^=a|!#&w@_+c zPewo-K}gz$zDxN;U2&Ou7?wfOK285@iUtHpiF9l4PyX3W zjNgB;Ax9vH{vLL^F{?mv?~AY`DgpZa3XbYQMKMTYORo=$j8 zw+;+-$uT&{Vc-=f59!Ye<2#L5r&h+|A;IzMrX-&vYRM=Rb{}&EMUC$=mez# zWF6(zw_BlZh;!0<-p@r97Cf2(ObGnEXKUTRH%F}v*O!+;mVZGoq}F%>erLiN@gwMC zCZVC;i4Jpl%LR3B-t$R~wN-NgZXHM8&lchgG)EDfa-_zF`B<_1UhS39 z#UpXZ2o>Lllzs#*5HKcp?@Lh&NcevtQ&eUM^%zvR2|z#{tkiFCVgdPDSQVci(dzg!m+)s z29U4fhL);}8Py^vLh7TQ-PqcxKA0%nIBLv^bv=<}-mQh09N@)LqJoVmec2q46mOjk zB3at|3gFY^Ka^>?pb1-$4}jceS|7l=@3X9(2l(@=6p|&#u$)iloaMJYICTwb&bj@wvolRG7vPtutbDvzuEHFwUfEtY8!LV8|JqvA=#cr;n;BRM zxbyb+^6=wC`Q}XX%Vok9Llm)g1R|GyEL+y`xh&ej$LvJFekw>tdCdln#<1MTR+ark zT*SY$$<%bGTvu>+bvF4C8I@Cuq;Fb?c#vCBs?dyle57-Y2lzsW;)ihh z+<;#BYX6t-JROwrwqL?wbP$FjXxEs)A)>7l=``Az$Uy%>`cqJd60zEa9UPIYEEgAJ zX$T)(-2z?1zah^D7m0G8IOnb@*=nQU*`umscN`1j{;B+<5?e<1ahVV2Ps;qUX94M` zJecXK5Q>@5D`wqDLdsvwIVsL=RIZmtX6!|c?|2XraHL7SE&*rKibjK+ zTlP-*!9#6P7UG#qo9tXox9}=5NV@*7;FMU*E^y<(sebe$x6pZ+%+iVep4WLm zy2W2Q(fND*`I$9vU#;toVIs3`cb6{cy{#I6&#ANUL4Qd27T{||c7QU+v!u}S7#_y{ z#oD@$W-9q=0ODX!?Kh^|><68$ja+z$g%by{ks^8A-WN0K&HP#*qgkrc$h(i8`K?MIm$Yf%0tYEI}MW^HWp^oJ874D`)RlKuyjWS_IHvTij`1gk_9IT%|6 zAE)&~(m|Ir2ip=_@+tOC5e6e+gRA*bS33QZSI*Tsmj|LSqRY<4gd)nUW5n-4N|pw> zkT~%WFe@}Zd9PQ8Q(yMK8W_K>Bn&m@hYX`xI_h0EUT@n%k3K(HthUQq`4Ytt+y>kBeJCaUNMv-iS}eBAr<^(B;C`Otr+~b~ z>E|%Y3(U6DCA`#saE=cEb`q^yiHSf9SjcDoHjR$M%fC3TYdFNAhicg>&G^*HC)sDj zMF!8h0e1q=v=K80WQvle<6#n)NnNV%F0{nkdOViH4n$sf1a}hmst?uEP}uo5JR)l1 z$mC{3ss0lDxj3>HunXASATP~3qW$? zG8$~p{1Cn2HU{FzHCi$qXv}1hvPT;6(uro#kx0z_?msYjUbp9z&tJGhK6$gwWW!~? zF4D4LFhZ2lC+Ki_q6zOGnK2uDCAWB#_Wt{&$0JTY-jzr0;6wt6-{VV*+ztm|EGhA7 zR0wVir=Ec=r6%5FzuVC`^0}eUt6($^Z}$ChNQ^G0qOkUA+^1$TBhG{=YQ3P3Pi`wP z*TQVRDCBqTvdIm9xlB&;lADHyp87KPFqp2}e95S>TM?sgg$E$kNX|B$wzU4wC_wT71m9Cp z-PeGB(c^LrTJu6CUV{aXz!O;SlGeMm;5A-}f2x7!Sqg2VCq@wTaiXcYGxv&W=9b!; zbm8n@+YEzJTwUZ#Xw>J?sE$b573f-7PpIQ@9bdUi^`Pzb7|1zoe&0H^$p1KLoU+`m z7*p*#Oi*exU%{AX(Dz5;LeiutK179dJr`{qc7vlhk@a!#tq}P%HT;~$UFk8>=eLw& zRXt`wfa1Dq=?!wCzAE#p}pvJ4zt#gx%L-wNC0O=ZbB$KR)97%=#SN2W@Rj|3{&&_ zgY}~yp%)DsQAiamqDAB<4FzR+h3KKvf0!WrsUS=d%QJQ)=ApMu3XW}QDb!3Y3FkfT z#!H9Q2)fL<@ZE2sAlGV zfcrT0Bo%FoRl5M_zIt#KbB?~dyGHJ5)A&xT`faruK^S?Z6|Y)^l| zYbqsLkdATE3V@{g;obponsJ-)P78fn5 zZ*+fH(aPu#e~YR$^_NMXQ~z{onl2m4nj`&a(9)7#S{p0`{BeQw6??>EjU z?oCP&yP2 z6~WMR&&P1~HZ59%%Wxp-LNhi7w0Mb3(;Dmg!Ngj)xxjf-c-y#v*hUBt;nv#0*f13t z7OJI0(Q$vNMDME`ewiM>e3zA>OL&i-rdvGCI|2p^(*6(@0-+X&NkH$bz=@NGX<0Ux z%DPe!L`}97jh1mP9Qk7p*=;^v0$eV&@elc$>6WqP7bw)yMG9<{9hK$Otkw!Vo+6WjC`BQoY zdVV{YYwi5_MS<%cx_1y%0T0&B<`y%qbdvc}@vZ+fUq%lzYg1-&3=FFU?dVH zP>Y~jTQhBd&N^yKhl;EepHqgD#NAT!Q%eo>=Cjg_#wq0*LK{`6(MxB72MhOh~32N#uK>2an1z%6v-HBXF-iOd}q&8Rn*8PUtxt*tpUS9_yqsEv^=!)i5S*fA4| z+OodT?V&|=dX{WGw3OJCI|&bw1~{gH1qbB@?MBvNuQMk}sA%Sbt(eh1-~V=R^N zC*}3UNZKR9^fLNHF^|dyHtoSSxK}uR(bO}V*^4)vkGmLVC7VKHKW}r}_B1BxUzP#s z(TjsWTnJ|w%Jxiar(ubrj?D4IATnwIsNk5<2t*ptds445V^7uy&myFatTZo-bzxOH z`!A>rY^67P(@qjjqY)(7EJo=@ik>2Gx)!Mwy3bFM<*PqsWV4>8xfzN+d7V%D#NN$4N9APMqr)Ba(K+S`*0 zFJ1b*Htlym^)35a2H@NR-!{4zZ@bIc_YzGf%P%B(Hcz1cp^VfXwvbKmBY>EQSfqc&rfm6Y>_BwYp9>5*M01!%wg*P0 zP8pXF)0}0;IA)T+&u`1nZIjAd*ie?I4ZX1={NX80b>tVqvlHv{aK$Bfv4Q}+%v)$V zkrODL=R!l2{w%IWsqU4N5%grO;^qFdoTfO(eeLn(JvkaBH{^0a0&Gckr`g6>PM%-J zF^@i3vt^Mfp`ZtCTdCF9^q;o57MIe6D&)b^WaIy7#tbGJ5YvFK;Nw^;SYL(c0{A0Y z*HX*A(vTedop*X82NK&?0}aP*_u!B_h|oiV&ald(V&xb|w+v*ZGcm}-oyx_5F-z$-V>~szC=XnufB=~){?`r z?ApKvoFCPz({`HN?RcCey1x6UexImoT*BMxpD)Uoqio61fPn+Vko6tz)V z+%ZGZq?PfB1O{XkMxZ9zAA$Tg1YsEbL75^P1P=}U2c@dQBS+f{=NupH_uC3||8Ew+ z8gNIk{SB%WVd)ea>`0RJvYe1vYk3g`X;`x>s-`^=I~*~kKfU_0&d}~&5Nx4d`Yyvtr@E2ZLEaRm`pf$fbCo)PHwwoZc({1a-EJ8GFivzyh9taD4n&X8l#A8wZxHVNljp z@RV}i&~`||&PD|T;Vab4sFP%r402nf?5PWL-ay|Pe(=RrgCEH`W61FX71I(E12HH>BzPwfZa z)E+OqMQ0SXZQ3e-e``YVu1@Gf8aZ7dYGw;JlJ=Sr0a;{*tuAPpG~B94pmz`LYe2Rx z-w$bYu2##&Z7SF8dth|sTOpwFd=7lO&u3B_B3nqx@WL{!m+jKgxx4+6fX@Cp67e zBFIHo(3PJ*;2dQ;&CZGoWc)r}eva==Mts8@=x)-w8d=a}!2{|QPMnJM65P!*5&~9d z`MZo$zD1?BK1WTqv^^I2GJi$to;qdCOtCFb$GXXO4gQv&Ls2^gz=8ssfY^iVP}9CN z9>^8(?M5LV27?svi~FC_)y_u|h1-QO(pDrE7To|@A(Cc&1)$Xv^o+Q%Y`25O0 zfGwbV?$}G$X_#yZK{>`*CWE)fU;pfBqE)YzeGVEL{wCz(=v+4%!}d+~y;B%onfVWR zmQB{aejPt64xW;r0Pdx;ZP(AK{U;Bnc(4gZ-ma)k50rT{4Mc(t@!GgoOyy*Jjv>}3 z_64q?BhO#8!I7b#Km*OkE4F4fg5}R4DHkggFA`1RS*GG*$F0}E+<&}lQk4>MLYMm@e zv=RP6rzyqVff0ZmbfN?M6#zOT6Nm4=RjSccJz0y}7JS&^4y3 z|BtGJ>@2yRF`EcPMf%gr;Q^KlEpqvBqw7+jhG=P%+qt3kW(b>APKr#JEoV&corqZf z=3^N0a!5N)$|JHvckIU80Y#_F>&+7`<C}t{ZlNCGS-w)oK$Na)g#-OgmJ- z67_r6eXzz#<@I*mFy(11d&ZCpy?P??qJbZfKQsw-a3e>?x)Eyi&rtWOZ$%nl2W_Q$ z-fv~&zbPVLm@iU%bwT0Dc5aq^R0f#>VGPzDk6EpdrX zMUS}uARrCdhhXn4r8s&xuai^kgXL`)70KJ zsncs*4r!2>b0hoN4YP_azvxE~WjHXVrR4L0~TN}VPZM1UUnk3D zoW{qn7Bq~45|gX*?u9E>IK2RFw`v)W%g!+4clZMc+l3S3EeN=g3fe0EV@i3z>*3gBUdL-R<<3P=-wbmUu=LkwXUPT^G z(v^Ae4}^T5R4^=*Y`Qj+fZ1gHv(0KnEQwQJ$6ELOi{bHuHvx}5!LPl0}BA zH^Z%$6;9@jYG%RczdZ8H`I1K)6Jkf$BDDR@ZoG&fW|eXVjyfpKL4U_Jotr-Z9S*!f zNBBW{6h+`ww_9{{0Cha4JkY6p6*Ri?{26>c6~Lth!)w7>Z-d^F7u6ZZUQLlv z=}p*j_4zKI%WUN%cjcpdbp-zA*bcJ&uwRtQ{U`XJy}`@D3KA4ISAiB5hRqM=x}K^~ ztP?!kY$YXip*PFusFe8A>lq$=GAdXFSU|!Z_WtqnW*6Y~4{>jr22KLo!qE1MJ{=W> z>4{6B9fv zT0a|wWDX+N^8E=<6C*i4#hh4KANDA8e{dGEQu6Qf<>2gC(sAaQJL}fv-4B-A%dk8d zGot{z3Uk*pLq#iXza+04$2V#NMDj%{UZQ10``&X_k9k}Nt3#z(hiG)@=z^=pLQiWc zUl7O6Ie-cV91{%2?sAcH4&UKG^FBn^T08pWFoqL}EkwY#Rugw955zKK%<>*;$-o_e zf2aJm@-CYfk_L!Fs>;uciOpA{B)uuGB!h~u-PqyKm!2o0S*ZRPXb$)sx(P(4&fP&na+!d z72!z|uUQNV{|tU(#^z}q1N0c+VXHtF7JR4k$^1e;+^h~~pu1?Jy)T>Vts9_Md;bYp zc1ZLhH~N;49bKgMCul{CUkbc+rf)H@xbU!&$8@dX!8XjB;$YqsLVNt3ubJTSBHAtN zQRBy<)Gdi1;4`Uvod{Kb$E{?{^oBl};Y&4w;&@~FtCsTvd-l9@(lk#wVsh(*{`+-T z;wnzqp4H`QW|src@bw=sKSwS7tJXo2&0SO$Jq@<%$c*^)|5%(srma(f`SMd=t5Z!_ zg8s#kv9w<|_2=QDe76ySxWyouF@48(!~EuM{lAHYA4;`64Brh)Gp6ouX0$F>__|{- z!Z&e6d&t3iBV_3`bKiIYa#7B9eIr^QIOxb^I8@(XLNS(W-mj|UFAEVfiij1Z9n9?e z7S;R=U3SD3cl;tZa)5yDT9&!uXdX&BKCm((MR8NwLmR9h)&7#?zuXTt_dW zFp9D=syb^jKB?h$Otmkc72gJt0`8(MdRL%8f;`nTLSey-9QCu_-p44e4oV3$#F6VL=dhTl zVxtblf&%8@gx+wB zpRUmY&C#>CVX{hRDEke6R$Rt$nlV|YH0h9(#+)haJ>kz>Iqt-1Q4T3{;g}s~KUfjP z7x^;xhU-|nLPy1D51aC$lb!efQ)W2H`+BmS07d|dB7GS*e8yT7i>~ZJ3}m_UoJpjC z@!k_*fyr}L^p6Ux2Ch)Yw-_JabM~MK^fbB2(|L`9oup_}OxX+oM)mW!jj8qT#F+!L zV|9M=&Ep$3NcNQXzPlEV*5fDFR{i}*SUZ^qsOOXMO?N(0^EE^)%Wwz z%JB2umU6Zhurqb5-_Evq{HLEtg5AW_uM$93IuB$WlKA}SY$HL1bhOB7NBP&T>Y0~- zzZ%U`ny!ItgzW_ff2x@oy^U`M)!{zQXUaST+9@FQ^YDUH&q8E#5(IV~$=(xrLNP$F zUw(PU#1`t8#We1@ngt|XKjB8N;_H}gH6+erf(wRJud~e^@%GFyPOIj;uuj2-WVNNC z&NCV*5I1*6y@@}fI^c8U)3LaH|0;W<^dy03Ya6qS7uv8xG(r#AfoifOow!2e>80@X zeyH8XvM z6#DMz@h(T^94^z+3?JVYlixkU8}!LMRl+J{4E&yrH~hRDl_~r1E6}FbCsgpp()vaw^DM<7P!XM`RVw~V zpvOpNK;7V1nzLP}nZ>=*`Yf)@d{72?SrG=R|op`fzO%}3Z@5UwAe$>as&~vuLPexJAO@nIF z&a*eR76rB8Jl-&(N+Rvv4nK8vBT!2 z@9byZ@Tb|Se1C?@5bM%i=)Kl=oA=cpaA+CRIi-zx*U(|)^fRf=vx-f9P^?R$$=<|L z$nn0K9pT~_P5nEM+)b?Uz6$g$Xg7OgQO-MrlYTtXQ^ZK|(6H?~7!Y6oa1pKB_2C5% zyBHZsVk`ktAMc+XD5&T`UU$r`J>1j}uEN8!*DqTb{z=5?nxZ~4g>rSLMW2q)8vj#r zGW^$+iA>Yy1{b<(M`}9>d7Gv_Dn6LKro&Z_x)oq8tkm^GYD|X%4H+99EMgXRzJ?2- zt*};|=1=3DTDlQ53A!Vxz~NgvIYqkwvEBN{RJ1R?YA?!a{*K^T|3HJDtj$}slT=F> zq>ed@lH2OkQ*$lhHm<4~Qg!bTPGN<&c=^sLm-p)Q|*OXll3Q9N%z7?q3qIsK)!F zOFamEqwF^zPQlqJY*9|0+`YHvtxVYkH<9d&cM?pKOa9JB6!5^OXOj1izV{0G_~Vo_ zDK1DwmS1k;?#L(J1*;I0dKCzkg`_TTV)&bKFSf{I$^XJJx*_dH2(Ssu%#>g~F$fa_ z7pPWEnz*#LJSJ(4+_#0LpiL1eTyQ6^SbNFG>zd9MnylH(aV@?aqg#~E9)qavl8!^d zykoMFAF>#_gP(NVW|-s+%PO>%Gwuj7|*a{chyAV z2up4J_kHiEq)jk!5TL=fP|j279@3*5>pbY;ME-l?SPH))OM-NU;KxBqDV=>Ct1epy zFze&rUGDyr%7U7fb^me|DglQiV|uAB61i(_s>ED3-UOpv=oEX$qXIrx;}P3G8qor| zBT25H^SxE1+WH^v03l%*h{L`}pe)1C7Y0`jX=eq%(zSTz(TIT~w8LJ)jCj6mZ{XMR zp$RmKYFLA0?y{RUX9W(&ON*`oofvOO!#K}qb%q0o`kPw6g>|-7q`FaVTH0vMS@NV# zvh!B`m)L99Zmmbc^00SoT!MWcbOUwBdzfFC%x~c{gnZ|2cg0mBzqa^SMf(f!Rn#y< zX&Qe{KFkYA&kHxFWR4tH<8LY)V=^@Nd8!~dunycrGzMhswYZ9yfmcqHcu6&+m`BnNoEYP;e4~EDKqlmNS@4Ro%9b)eCDeMo*{l3 zGvEtbfE#VVEa6{BIcb{M+X!R@oGA%_aDO8Ac`GtI9#yczTx^fwDbu)OWc@Inu6vIr zkrxu<;~+D|uGQ1Q!FW`E@41uNlx82peF$uXH8inXxpPG`ROeRhqX+m+6H@dez5URfY#E zWLB|*HTa^&Nkz-3Y75r(tr@Ey&;PD8c({%Q1@&gow<0%YK^|45!Z;ywK~9l76S5n$6YUiKAc?Er#PUF+>-;;$ieDR=nYXPFp1q4`~L|jA$xH#5cPt z%?BZh+Gb%F)n@f~xeEl^b{ysyN&BQ2e7k2bV03_yvUNuA^-%>`P=Tg?u|*|%se;Uq zzIBI5$xB1^+riZn3?`AOJUlJ`@EwyR}7s`z9=rflm1w4AfeeK*asSZTdn=Awz=Rl1s=X^y>dz_3-cfcD@o zMod~Rb?j^CytPT~E>#DvdF-n5c-izmZP6OCwl>j~m-_-A^$gAQxO71)Km0_cxYq}=cpYk_QjL>F-h8Sf_CJg9Ly{K6ON4QAv~RNPbmc&}5Cieu$~5peUGi$#N>` zS;~r@TowGR{FJT%)fWAGZf2Gom>EVX9^KQLo*R6}Er;0oXn5IUMtfjlhWaU^`~cu4 zdOTzkR}2$}%h&mcl__-P;GcqVu6-@>PIyfOGY z0T1GgUVx2nc}8HKVDlA$x=qU~$DxMXKdH`t*tYdr4GAqUnKK3@gf5I%&*7GZZ2*j0 z)}1|Ovb#c8{NrVLRx{?je68kj>|0o+Yiba{f0Y;kx!DA~jYC7rwq)=CTO_BV|BjT< zLhCm>Gg!cv(PN6;a0bm{-SbRSiWH#S5}JG!q9N%5yBk-Vw-k4Aw)**PR^jsjB}xU1 zyEHt)eVJeicRXpUYx_u(tUx~m3Q<_cns=W+0-D9<1C>iiS-Cj$x625v){~VB-WFRP zs=iJxBP9Yh%)+k(!xEtJef7fiSj%u`d}N z7zvxg{JbAAxa*n^*WZi#P9Wl3&#~DO zO&@RbEWXT?yF^AtpM4YCzqOqyqNKuR5rgsr{nJvL;C#&uE`h74{vQQQPWvO^IU|qT z^9Vwt<>V=fv!a1E2a#Qj4w8cs4qCs#^~wZ8Y^4*$cMCr2TQ>S;+CmCYeHC zgtBA4k@0&;F|L%sEIjYfCHX_3TdmgN&*ZuwJfmZhn(3=nn0eELh7n`bW`wHph2=X% zPRX+J@mrky))zYs9AB#QmE_#3WK5`RaoZfzqiXfWcuZL((kTkRJ~;7_{Hp0;KAPEx ze;drF4@YfaJWiO9o!hFPX^>%M`AMo!x<^-5EdiemHb}s*g7@<_jnX`>8fg^f#a9hO zNU)t6ifn) z$H$^(Uy}0Xtc?RHKvpZc9_DO5irKm=dGs+97;d=Jv;cmUvm^>TC|Wb{HBz{4410@U zE1?avF~nBy<&@~&Ou$&-=S8Ta>vY{_1*xNR%$PTsp!)&dexH|J$3bF^j*(iW64oz} zlh4*n*Pni>FX`tKZa8T`Q&s=fmTNg*PGD2O1%LpP3;&&P%GHDve1$Vx-9>fdVNh69 zHT%dTSb&Bk!c*ZnsYbT2N#nTgS(@NaNUFZN;1l*;S6E z+M<|v^en=zZ1Q41ypFxOoY0xVkHwnL3_DhPJ;ra%vv@)MusspwRf%yZL(93KL7;`_ z#~wJ!OfJ%;Vh>uIXnPchEw;_irVH(gHXWIVJ127TSpn|hB#F+9W40lYE%s?9%{hz* zpqM+uSC#~;@W{2yS6vP|e8>^yhjFIJUc8!Jwc_!49q0hxv|H7;!S{BHc7ula2D#9jQ%x-Tu+VX6r{Gyu& zugXnd#VDg2zitA5wk`hFe;0G>^Btp3iRU@CAht7%Nc%45`?OUrO~zu}Q#ahS$v6LM zc#*~1DLLhRtf3NDrEBvTVY|a1#UUB4Hbor4sKH9@qIN9Ppq4w+V9<({9QJ7^o zINSF@P4#P(+c>~9@oiW>FBZAekJr$K3Ptabc@lq6#+n|aC09qsn^-&&ax^$vkA#$Z zK&!`9f*}$|YDv{YeBWeZm{WxUZ8MNvEN=41$N3atC=wnwU_G(6>6=z==GUVxWgUd- zoeL8iKGKB=mm9Osv52(oADyWhi-SjbI#0aQD%+jd{jG-?q`OCa2OKUtb@7`}gc2TeWI|_)VFphof1@Z^-mMA3JlKZrov`I$TAq1xxs!-IE*` zWV0YkMMqb%rYT_S`i?9P7LixpyK^|XY;S5a-+|kXVUn_yIk|0?;UmQ^2jr5t+=1=X zz!SoF3p_c4T|P00Y-UMPv!;GSkj+}q3&>1^OFwYyPHW}z+Ra&lr5;>@=qiKdWn@nX z^==#aJ9vomjPKpq&2y}}aT34=o<0Ck&oRF+T%OY%+)C>m&xI0M=$zLm@Ck?3ibFQH z*zbod(Xbk5z|SiOwqq;K42yB+H@{$JwIWE{*@%&K8`o5g<%(f2=fpXj=$-}5l2w-N z>Z(->#BWY3-e%dHN9pCP)mlFAiX(?X8nicpT(w}R3AbTCC*%^qsX;aX+e3g|xGe1glO)bNO|&s}cbE%@v9gwB zW8jbPlZswxndD^#)Aedplu3#p6)?*?29#(kx^AW4W* zws!k0q;a0LgM@>95(E2t?a#GY>cDt^4w<#X4SLr-yTaG=iub|IfXv4oLxb*zD~Znt zYZRZpv(q?Z)v8qs#BV?sF3qy@5HJxt(CC~f>YZ+l8;w@PwB})*5~Ku?lBaPJC|@%> z2PRE+dT6tCaluUPq&unA_>d~qUO3q6+VZ>U%TKc+%P9z+6FUuZs=&5EaEg7q1TXJk zp14|Cr)G!Go`W9D@&br%29qi~JFwTm)>+nTFl~F=wuc^HEAyDqz%z5fJ8=-(gAkrT zO>=af?|chB*^Xf_4!{#Jk4%qv3X{Cn0XJ73&iprO8KZ$$R0;h6l3SeE@cWb_6$CzM zp|;aN8n`g|9PygcQkX&Fd58LuR2o4^dm0 zx=uTUl?W{4Vi-25c0uTl>`XJ}L@d+fj(ck{ro(*yCP>R;^kf{><;hr*R~kJ6rR= z?(vxxHX7a#NsZ2}v6G`k9^IYGi~6Gpt_Z{J+8cPyRioP+H|F`60X8{X0OX`4zY3^q ziDK39miUc;li$2gyA6P6Fx&#SyWoCa>1AkKC{H3whIwPLO(XAV8c}~AHmXv&C3QHM zcHfqJeGmn(EpAlh48~iCc74BxtIPS$_|BYd%c+87oGZ{x)l;vJIR!2UI^lt@Eks7H zAHeW_?|*U!teorO{nz^ZRnBO=HkKU>!mh}iyazcR5d3iHE^x9s@f%Wq0KnS;{6+vj z3*i3-@a}b4z9@AH;Hv?AmE+-G0r24k;!j6q=P1*?eCkF-f^9v;lw?zG(ZOf;YjyK& z4E4Ov9<#I~n)J|=8CtfpJF8I(*o5wr?cXa>K^v9z?PwU?qV?VtdBe}&7b9CXFK;FE z@nIGtCkEg)RL(%Vi{Xya#>bk5Xy}^cBGi>ue$s=dq^+6CB(kaN$m76Z>7|z@DMZsu zZ&107&75(5Vc0L2d+YLK54O0!e$kYqVX|XqP{ZdbP4|t@@w83pZ$?&_PXD|e0Grd? z2eq#b(%>EqIY(ZZ2*hnzwMYdCOTbVxQ|-C62R*K z{1kwHxGv4FdHt&Z{uqEu|MMRM@HPM+y-9=UXF(_4JFy--aa|{3Q$l!kZb3F{I`VE{ z%I3drnIrC973-!?&VQb5Ra?aA=7)xU=rHddCt$JMEmN+x_eGp`z@{DB|8gdCfY5Vd zzf0(4Sb9DP$b(Q0k{Fy!r#`li;FGRTW-Q9{``BNpc@ z$o$@e?eFqEZLzTazW22HbOH3ZR>SOTkRK8@LSlC82Wc55$^WWnbUo%LyATvAfC~Vx zS(oOEQeW=Z`_lhW0N=7Y@h?7z7a=Sh*x)3#=!j%uD_auFa+xVb?n*ZLVN}kEQLL>i z3zL(&gC-DfV}}_;Ii?3V(*Pz9BJrQGs_#wxMlUromo11IZ9wr?nHmA$PC){QYy+rFmMezXEu{ z0`V{UC_Sd6D5iR1bTcA}aqAB6rlh*~X_AZP&)vJ5$Qh5_w3hM4L|m&CWgE4J{K+3s z8ZF5R^N4mBn0EQrblTPq4px%~D}Q$rXPawbM_84z?Vt$`cDEShL?Lnlm4{&5f&Fe; zw;5XUr!^y*$TaU#r#2l)=d&Q(X}Qq(PG+TT=O0Eq_10I4ooTHv64u#1KNCly?Ha&loM#!jlYRrRX7kGY>}qqhgA8Kh z#(vf)ccXZ3a%!_0@f!{-kF3k^wAJYX@h?7#7g%?;@3^UH%6!Zh(bBrdxM_z3D2!gl zs8kbVvlC}Yz>+`(EAm!!$A?giplqe_Nz3YHx^}eTK#Yh3^_m!&vj9DTiV}yJ(vF8l z*@6|F3Or8wcvV2}4Q4k_L+A7m6zAZ6uRPstUQP7FKwkrlZdhF=#k3NQeRy`qyamXu z@%IYog^%W8jT_(xFt$B&cTh_+pPEeYII0e9w^W-P(*wHidrd{gA&<>lK6mUeDC;`p z>tff0`*Zf`OaP#H`Rlm# zj4B22iUs0N%fWSGp=$ym$xMlwWI$U@Q`4(DyCKZ^p>v^4*GS0MuzzbAiM>WQ<$9t zc99v^R_oseG)&MO&r>Fb{p2}sr+}P6M4{m^QQIc&uy)KcRt|YgBGmf(X;5#`>Bawi--tQqHjYCM?#^GaYajji{UY)wN9PnlogCcP)IqF*Mx4p!RNAq-0?|1{A4D+F;9YI=;=pi?e?h3DfmRq@^IEobAs!@ z#y7~dhfi*pB+NN{XZXLbTk*~B24A)=!>V6LARg{ky;I_>1D|}iv#YU5wiVwiJ$cHe zVR$8hrBjzxkciDA?@nUQ$ju~9jYv+TU3LFzd*(EM(UyXSvPNaZj7oLiHHzizPcEa= z?jS_89eZzArAEt8!Y+JBvF+I81ST6)6^1)QlP;|rW~k2`$axzg+xQi_kFmKmz_#uM z-`+7{y&hWQpjkSrmA8Az#p*CoGwwO(-KOi^Wr@5p8n^ULP4D&oLfx6hPz%i7izbQ2o(smx&#V0LB3wCdOV9(t>Ny6#~}mOkHluD2ix;9>vgG1UI; z697I1;E6BrYl+$4<>&eNdBm^FnLqEaAN&;ncl>$Z`2s%ovo;1d0Owzz_hEtf7i|JE znYOe&b>E$$0YF-M#!XLL3*~YxW08)q5%l&ZnadKiIo5r?k6*jdNWXbI+t^w{6~tLf zC=<=evpdOmV;vxFwj$o`nH$K6jPRBK>mJrZY9@DO1Zt1A)Vda7@!47Os(?_S7bD$m zJ8{cYJ_PU_&E_v{2qwYi0XzYwbV#k&BC5{P(VLtN@0K5yp z&wLio`;7qJ1mMg3x;%RL`VQdZ0Dcj`PXPFH0Dk^+yhgtn!0!g|6@JKhE-DG=lK_4i z!1n<7$Y+>(d@gm%U)x>(T?@oN|LN1ThwdVv14+!T>CA#5EH{?adr< z4Qu<*?M94 zliA!riT$2;-=_e13&yi?^3}V8an4hSTjZ&GSx`7x$5w|~F{7L&8f*#RWmbch3YNyL z4tOId#a~~nPhvox9fd2@76AVafIk7?FMW<6@h_wPgH#8Me((M= z0RIt&!`q*DlE?Z^|9WG7;@<=C_W}H80Dh~3>+!XG1Aspa;GF>e6Q45NuTBB{H-3FC z+uz^4PnZ6%A1ZzifPc#mJx{eB^4I;l{k2?240#2Ho$9{?;JyBO&#!r`$39CSe>s3Z z1>m=#40=A`@AcEN$9k4Hwqa)E+C%^{G~AlB#Aao{VRn%B`na3DtMe{Qt%0{xryRM} zN-dyZxNnVTqSRqzQm!f3Q2Y4M1c!ku-A6r^^%GM*N5DRAmb%MlH|M+h011&c@jc98 zZ5nP^GdW??(-*5ooSR4&<8sTdU>8^L}hmuCl^bMf+`!7g6p}%`BQyls1lu$v88_9TY zE5s(iHdZzo8TG>SBM@*3K#_Ck3Pv`eQ7&z#69o70`MNczWaTCkNHUYI{^Gocya@pukpjv#b@#Q;=2C# z0RDxi_;X+9&-+{MbMQDm{vDq({FnE^yX`6dT^!*4H=mNk+Qb0-z|#fb&mIt;QbC)h zm-qWOJdUEL9J6Ea5L*ew+MyX*t+6Yl%gn&MgB{mSE{{LX>;BwG9K%?EEnIl%r zX~U=wJ)BjvnnVBb4OHyqu#e@%+sHksojqNrt_Ily5&VuW1?_In145x$O2 z-7Y1&-7&tdG!(MUP5LAwNO5wEi{E$Nl!f6ftmJ1!}$CBSv&`BlRoBky}lXY;bJ$G++RVgC*P z|4>8x7oXw#zt(T8Jz)K7o&*G658y@ZXFi3oYrd}jO#t5x;8zc0Soc)Oe~#Kn^-l8} zK8MyM?$IahpY598zXSMJ06gzLk98fu-1U*XKFMo{$G_uX|EHeh`96Sh;OIaq{+RLH zu=U9qYJ+GMtyPG{H3WU*J8S=hR^y=7w!`)1s4;&l%(&Jwmci~~v7>ZGLTlrw0g z8F~H{Kb5F(9c7PQ zot^%QeCB_146-o;Mcku)u=mA)-SffeK`5e3D^)ejne5Xxh4UQ$@ZZJFt{?P~a(G%l z-$%%Q|32f~FF%ZY%|ZGr0DS10pZT4KoA#$Lh*#Hv{U5^E6UV!~VeDG}PXK?-f$kw6 z|Nj98q&OVh^FzQ7A4bhjRvUmH@-Fo!4&(nnj*)uS35>S^{JTEZ{cPr!e;Z?O{2{-_ zrvSbQz`y9%Zg0QiYcO`}*R3@^kHTkBgrYXE}*GLW$&)}DXe zqEI_oPZ|J5uWpzbQ`N{cf4Y=gfC~sZGY@p@+n!fu_vC_{x(IeLhC)s zLsiPd+^gP=eR5sWrYC78qczis^tf=HW7@eg_5OP%k&R!XT^F8S1qSY{n9^Jk4VaH8 zy`)9x)gkQ7H+%Ux43gOG)^UE*eL(!1aBVg)?qQJ7K6DM}zxFV5yB~=E`wu>^@;>#)xC`JLF?a*F4u_^oe;=Oqlk&63Ey#`& z(kYf>0)R=Xh32o`339IIRYjDmFnO_x17rG1(n8BE5^IKj%>%!oVf3^!vtgrxge zC7#8Tw$?p%-|T~qZdxU%@akS5mk8DImcA-pf7z%~P;xInZLp2@y9vp06;bo@er?-7 zQ&-UJMz1+kbuE`o(-zKyFq^Mua1UaX5YvGA6hthl9n5KPy^%`F3$Izp38o~muHo)H zhDpnYql%#pSNGkNT7Qhbk1*Uo!;1UV6NmA(Vvv=t+gZM`b-ukW0sQm#8UMce0L*{u zn(zB+6vMiA3V--Xy6R5>_`eSC+5;Gw)lan(d>5Wvg7qiwa~;0%DgKT#e+~BowqNiA zN&ghaA?kkhxF3S||3kM*b@z`ovB2)7RJ{~3V)xgACph=1NSDPoWQ;%qW2U?O?-8>zX)m32)odw1K@ zp$MZVW_ee&NrAiU0#VdIyMLbovJ0pJQ5Nxv{iAGCXbYxXbZeQ`5ffVX@YJH)oCQvH zplva#PMQ;8et+)v6R23=ho(_Bo6wZb0VsJNCnvaZ2gV27!2k|0EZzM3{k!hJExFNuBAWj8*@o zv?79Ls=Oaue>|^;m72}3^+v5W$0+ah1YkTVRg|`#i#i@A2^7Xa{JA)2!};esRJ-r* zjz^T%-}Soums{@hpx&o+&+(ESub6LB(A~6tXQWcP3bi+VuItpu2lU2?`(A;n3hzcW z@Pm)h=k9U<-;XMWJJB8I62Px&o8y957tfqHrV0`1`@}|9=J_5p9_5kBCD9`m3CvfO zw-Kf}RKpKJs5uT-3QKkYv#MAixiZg%F>BU!p{N#$KqCGN*6Z51u)cAKAOR28;)$$OovrZH?)bAEmV>j7gJIP7dGQP+iX=!>0mN-A!N zOm&HX6(UM`>v{}aoz0{%*@?gsd(Ng!V-P7}o!fr|bGEs6V%U1!5u9Uf70Gt46n^ZD zjw0_4LbR(!-hd|@;(~U^4)?o7Ul(^(miO@+z?Tbhl5&n{cfA8=)MZ6~lEgUx1F%|ShG?)FJ$ za1)lI#rpfw7Lk;Va6lu}Gc^iuBxN|2Fi2rF=_xiwxQOr?NYLj^geT{?@0iyo9Q>Tg zNJq!pC!!`kLk?{L3QAR_bL!tC9QZsBT`PCD0FrJh4q0O$DdSyQivDrE-VERi6Hp0& z&js+#be|U`YMGRVU!ryJ`nV3nKRs2-1=ZN(%mj${@A79VFy#x&F@2n43f4~>p}QA{ z0P#n5xZl_~*9yDQFuSU|Z`aq7tE9^}+<%4IH~%C6&q5f!Pn$4@-y{;(@ znQfr^6M!3NP{&xgooZ_Ax*8tvV36Fum86KyUN9~Lu@cY~?`po1En0IK=ws~JgSMsp z^F_?hM;WRRuIbt82Euy%sh7;sZn}h!Jk%+yaV7n%>nEd`0tn{8+X2=pC@F!gb7slF z=^K^i{ECya=psL`wo?bnt1_=jERyK;R02nena zcCF`Q-LL0v*x|mP58$7s=ePG{S8G_&O;8Ww*Nt3N&tP|@|M|qrKfBPrAQwkZyq`P_ zGnBTk=(e5t`kl?dQs0{p%HYybs-B$XjxV+Pw3+J+=C%nCtLmg$h!(HxsNFP30;(L2 zk;mGc_LUf0qK=WEpnlzA#qgBnKntRkd7*jSY%ynQe-sXIDuS{afHJ6Bou-mIbnCjPqjTPTF(Z8|@ho7b2h()j^2A zmm&gA@2kz@`}?bG19c(ul)P7|h-b^^JF| zXQvD63(^~V&MT-D001BWNkl@N8isLOx)TQ_ z96fdc7p~85lr5{!iIZ|YQT7h}oGL=9bIRg?Q^JvrDJXjiV;AqItDw)7^9!zC<&yg7 zJ|8aNr2s?BSrgb*{!PX?H^>?LF#A!VW^-0u*qjKDU5jnPN)q5v1ee%*q*y#&_NNF}_7f<}j z9|HJdg!=rnQtUsV)b)!Jh5jr0J3kHJf6&`Wf&X#^loxep=fkMuY*WdC=j=fM|0AktPcKS)Ie_ol z5raO`l#;gn zbbobsf3cHlZG-|TKv}S#gE~h}{_kd1n*>-Iw@=lVJQ>`CVNRm5byHAEuG%AB)#E(% z{Vk>YB$&w!;#mBqYOWrtd34l&7Pi@Qln|~ZOZnDcrKdtDXqe=?SGPmdHYM7<0Cm%6 zN&k={_e?I3FE2ja{!zR5Jyz>iQ2VU=38?_n`^9TXk3e~dnbqeTt z-Hz%0>gfrf{0-C|`#Vro^yeEyj_&~CSL0x#?p)Ky`gH@^-gOz-@O;zAv7Q0&4^RbY zW9trm-*&;EvDy90&S9go3!3~G>b(5_j%sUb=U|DdT>pIRHjh8k>4ySv*o9Z%<6D01 zl~g2hS2f{aU$b%K$~|}Y6tBW08MKPd!69}GlJHN$ltUQcL0mMIDfPe~a_Zdd=puBZ zn%NkA%x2n>I|w4dP)HuX3Q<(g`^Q}*nex5)W*v=&>_*MfIp_q4Pip`IC+1vRgNrT@O5wENX zQ~kU!3uMsLF%BRXNosLZ@^gBhB`Rh2y;p1f%KC(=&o_t7oOm{em*!kcqwgRO-l0B0 z?{U9wMysYKRJHQc0Q{qLA%9<2?fw*^m%gun{_$v4;-a85HIseI$Y$t$s0JW!I1d0m z)oZ?Vhu{6!u1Y3l6?Osfy&dk84NmM_tpL2SqdsryUdIx3M*GeqRM$MwQt7ekN=&QS z&vo6Q8^?XrdHi=H(%mc?_D3$1FULg^fHERRla5oA+%ilmZLcspD!l%VG@Pb`Uui$r z8JtCPzpa|}3q9A*xv<10;sCXNP*v>Jse~Hd{_W~?O9#u@<(lY49_-Pw0GV!WFw|$u zx&E;cs3M>hR|mJ8dZwETR%N<5%`qaC%;vPKn66glRM-`Q)UcceFZyUMo ziu3r|o<9QQjOm%_eC__!5fI`b?)UN$;JsH{1R2D~KzWk+z$b6KY+D*rsf_?7x^V;l#4-@af5@$(Ag%@sHzsBZq;POV^iH1en2S-$U@*Ez_QW}q}6OmIoXuvo6RSkC3%ul{_QknBTodjRDPE+nKJiEZFS4_0AE>_89X+fPY z-?qN2`}YFXjEY}e4u--wNl;Zx*i(Yfb^q#XHmV=bM$OM z4Ypa$Ab!38+^R8YMs7+HXSHhMa3P}uDQKP@?g?Ds`qsqxNlD{I0W2ozw&(JyyOeG; zO1zILM*p)`hidY|ey9ZE(tU5J8%aX~>Q0$Xjl5iek^HeOwAF=li&}Y?#gGQKscuZr zWXm*^gh*71nNRNxQoI^o3`)^URL36Gn%W9Ye5^E)vEj%^aUML}1mSPqv^*;1&N9uYm+H_?h#%wtvP?`)_Fi_*`VEIHpaQU#tt4IB9~RK#xx()Y#6?Prqw4_iM2G7+XR0{@%1n_>}IL)&PEO1n|y|Y`U&T z&GOzGdEV!v3f{)R^V3F-pqArp1a=DkTe;1T7< zC;d(%iN!=hHSJ~|h5W+YJX8@|dV;Nh`9eNI*#(t^Hw2bncRC73Zyj z;Cu@Q1?(CFitO%2rCyS)DrM7{W+tFolNPPCUHoQWR0>AI-Wwl(qj+p;M$)}+?PfV* zW;8iTjv71Kq8l4-`Y+@$v^n_3Rqa{Cm~G6v=-BvNQkeX3Wi5S^jz~w+WQbYX zngI}Z@+QGWV!N8xdr^DW&+cBB8LfQV#P2<#;PwS*9olRr`TyPWyjF$%$OxtSO{jvq zwSku4H2!Dn1|+ic!`GpX2`=X1n{^ktg z=LX_oiJ5!548el30y^R^OZJ==YQrS-8eT)OaY9C)X6CqzfYS#njLBWeruZrYU7uFiMfsn>EF{R=ajPw}v%_j2a?V zY4y^Ak-~AaS)e>-Wgh88fsyO6mSQEcnWEI4a6zZI7j192i3$Y`?_f(wOF*#!QPyQZ zn70vf!vjp*F z69C+A1b%P>_*^n^)na}8mrZP5@^Kx03LX#?<}+b~m+|>GYB7qZ~*;k&z4t zryg6k?WR8t%VBn^)I5Zy%OvyS??1Ri6C-S{A0K zh$)Ys`DTyOWt*ZO-pbV55TA=`{TAwcu9>IU9PbZfvyAT%0NZskX9_6C6fwIZLF!w1)e`v$w z{S&m>gQ>Nbm=zjf3O4=jom%nViOBZe1>=rswf+|)KfgsED}OHjc*EoUi82qDq}Tdf z-C%rF*5ac0YCq>IpAW&65ufRip)p=&@2Ag-8^v10t8)*~KpF|A5N}ykMvWjiQM9Aq zl{^nrbYoz%(zf9sfEPG>=9>0+Gd7yxh-8N@0{T|HRb@z^=uCoD)y2(AXvuy|&}22D zplnr|Uj5}g;Kc{NK*>WjT=B$R$+Cs2A2sFCI`KSq%0fhYc_n3b7plfG$zzmkBSbMa zNZCHsgfb9vWBDrtX>gh0` z_gej(k3*fGmJOg&6pa4>z<)mhAhzD96#4b20d; zHMTx&q#7=$qf|CB)z4@w^?CjPz}IZ3PHlY%z#pM{(m$~~H|AU?s1pU>j2hMYTBV{b zFaC0+&EK)%dG62+%RZ{<%A%v@je9guev6*}e>3r3y;I+(llr{h0^qG%J_mn-YUuMR z`gtM%AA{*E^v9Tpz8Kcu{r|oQOwZK5B`b&vXi+Q2qJUY5>jktVVv`u=qd_D-Pux(v z6u?tVf=ymOkJ|W;0(m2l3IHbvc-X@uC!g=)vMl5(UZ9c&j)XItV>qYE)cWM2plp3) z1rw`u9d0Ba4^r>gD%0Yzr-EFuCZ{uL1329KT~*~?4eRk6$8R9*NKL^~5JdMqLFY%8 z-`vlND%{i7LfAuUvY)vN8uJ*JQTs^Itthzk32#H8HKdSFCNwP-p^>jq`*Z2F1N!o# z=T1J~?v=hIzkD;svCW^c09+OFg$Tn?pM;g+@s_*~bO06tl(KSmYez4Z{k|4LLbTwcdeo$G)qpnJJ)7>Y6%Z$ed~A0_PL z<+{(BRu{sTBT+I6nQ+q=`h-+<`=n4_#e!{LHL-gw04*+&)S{ozOX zvvB64`Q#S|h!;VlI(COjicD=!8$%MnrK@CC6jQ34t+I7-l=S({Xpu~s>v&MZf~N8| zFeh_cGmsaZrlywGHs>$b&Pz)3DwJlGD_Yp`4P2+sX@NR}ZT)nKENe-<){@Iq6$i%L za%)p+G`MY+GMnB+l~MK#*R!Jj^UR`I;mMoas%%xf7kiUI5MgClf+Z*=^5UyqtGI1y zNvU5BX9t2I2%j+f38LolxkU|l5M>DiU7(^goeN{c*)n`Gw zl0)I%X|amErmP}o>jP^z3Oc`a=^XJ4sW=Jg>@_vLEVmRCjRwuVR`**c0tV zSgHWYF7t)ddr6YLs)@1`RRnolEXvCQ_SV2K5Xw>&-F>2!|8imi^xPS6kS2`E=k$ib^?$go($u3WfD*P}!0KY63~c=iepb=%~d`Z+{fl`Eq~$CScbW0P6Uccc;483Q9JYh1i1Z`tJ(#z6WS z+q9eXU!gP~J~zeZwTV)n*9_tp5SuP+RWrvJnTxOjNX6!MTsWqU(19Qe_OU3iU;tHm z9nsqs&co2uS!$vcf02%38R)Tukq8xs_(2XjbG0mO9yhWFs0!@dpI`0`eq7m8T^z6_ zJh-WjE;Vj%`8lQP?>Xh2`-Y~3I8d^doP4~?z*^Ey%uH;8skfNoTt#WNY2w&ngb%$p4E&sNdanuq8I(OKF&Q8f8i&vZNaMd> z-;x-gbCticFf7SD#vBEc79tG*=yR0T&md9iRUlG*)#sl0yr$QK^C_4?{K8p9x~q8t z0AlTXBa*MsDbFpLOauuH2qfJ8j%2D?!pNi-IJuI$UU^MemnNw-Iy6dJ?{DWE?k3bE z`oscJM>J&&ie9lfHWNm{lhW~$Vp1J9QB3Pupx2J|_m`Xv2#3a+lVFBN0`$$tb zD5Y=tW+-han$)iJT&@w|Z2caFI|Q2_muQW+%N&O%y*j^1LPTkt&SW&bj2Nzk@VRyO zx|d*9C}+(}`t-#nlcbJ;kw}_$$P*0YEJSzPQ?~ zdC=p7ZZ5K&r#UQJKfg%a-}~ccsw#wG07xS}S*S4(Bhm|glXB*|^vL&0y>H?GBk!>W zZ2*$mWA#l&8jg3Bw1jZY`_)LXuT3mAHGbzg4X&_Rv6B0wqwy~9+|1YlX4q{=%@3Ux z`g+zS+8e@3)x-P8Kn+9*mBsD2*VK6gA{;pPR@8SUfgD)3%ZAMtt3AbtU1csD$o#?8n@ zRK2swx?q>t(OY-+3!5eaxDLxOKK_TUIj_??sAQkTIWo_CIf?c{S90H4mGIb zN>mT>2j){UgZPEDsML$3um*3qh$-wf3&lm>E3H9W(}h3-#~7J{J*n{sv(%~#lE%rx zX-pD=HEwH^ecUU!7waig1b-B0ubq(|r}poQ&oCE|_Ux_fZsb#G-q|klEMaMiRKMCh zv;&-le_H=qq=_`m0V2jSkX4kWR-(mv{ESpB$9Dvfezzda=R@N8 zbVFh71&*oirkc$bsFh;Zma)#`7h&C_aEd$C_rZmD+73xUI_AO8*!`f5(0snM$-ZL+ZF3QrZ}aC#XqMHhU#W$%IA{Kua4m=!$iN z7Y;C{LQPffx$4Zisj^hA7#}mX!mDd)JyNZgY(_EAF};!<+!JV8ba+?#ihUSm_w(dMTiPN$kd zix9P9B#AzEu7t^L!L0fw_r4|-sfqS^i&>3In7l}DW|K#jGEjJIX!@b#?Cu}jL9{LtBLl{!b0ZkG)HM$K9*#S(cW`MGf5@A1Ca zMx#))4P*dNINlS9_ej(`zi2jjo|Q-5IFP`D<{EW+rQi#f13B`(-Q-ZoyU~#A5!#>= zQfA0oBoyOi5p_y4oj$L5%^?0bsl=H=&?cq+m$Hp#nhkfsnO32N17u2yxU_MlfdUW* z!k|EI8Yrfe_ic2!P;yTe2PFGnrT$wRuR;Tsdv{^jzY5GNlqI8-A=K9HomPTwH-ek9 zjcicQ08k|Pbcf}-)3L_0n)vlCdw2M-RC&#YF`p-q1$&D8sF=$EPp#ZXv)v*ujNe#UP>t@fA z*Rtdl!Vz?X>LwzX^J}B(h%ahwD)KqE72_3a|W!Nt1K#1;4Hc^i8M2b2w6%! zWvj-~TIuec_z?D14}f`q@XE*YJduqPrEe~7DbbDvh^<;|WPHR>Hz`PJa|iMv+90II zZkq#pk&<5niksV%^x2T6Z$Gb#d%YAjj`M2Nc-DUp;IF#-6aX(n&Ah%u|9wAd1n28V z9`g#+{`u*VpRG_MP2ZGm`>#;rVei~$mBxLoN}P-Kpc#whKFXqi zrdJY6&o(#jwAs=Y~t2Sg@cOO*E@kb(UpbbOXZC-zJI{ zMc$<_+BtPL_JlkFma~&vYR|wdT~n(enG1wVUYUF17ykNT05<{n+=-uG1>iSO^Q-^2 z?q}Z*;6GB3xLZN$9|8DH0N;_o=Qx0WhN?`z8#S8qdHVAY0Qm3F#&v!>fcpS^+sN_U z1mNd&Q($H>|5T6jpKo}b|BJrHg#srj0RG9A^Yat{U$3C~HU-Wn1Nd?PUj*Q50h~(r z{XGDm3gDrUV)a{4Ltnl{Z~IID--DV*KQ?an^#EQB;J?;?e<^@h=qBQQdOmN^=l>o6 z|2F;Z<>`5Tdcy|cTXhq*f{*Fo76oTp&(>o+rW>#O^?mp1UI;f}QDlyQK+~XWj7L2kODvfGK z!vvxMmt6Kf?4P+D`}@~m7%mTb-l^}l66aintX*B{kaNMKTFtSeK&aZC zrskMsClyr{s?nv$It66AQE|$@9zuk$_`J8?KScl1_?langjkSU_r&Q8WrLe0P)&Ti zZ?QOuy}f&}+IvXP6NOBn2$p+i!9#%z3$PT8jixD6&|Crd2>_R(W{KzZg{WEP z{}RCem2UqI0AHaMc8)GR2H=kXd_%hJ9|QP01)#4&%iDay#PMFERptsU6?n~-aVNzu z001BWNklanX}&7m_TTDbJqN&>5xui306c$$VJHBu)5<^JwgT`Y zx{>*d?ss0Im3_YdC8*iwwsCj?fbZ3f%zMxp=m>yow^aEz=qBrHFdf~x()aI|^}Vw7 zJplew06$qSimyURv$7E+kwiYMRkU6_hjby$Qs#jPQP^bTkDAe4-MV|HX7^m~Sfc2N9(RQ_FGbDbVY=c*@j}s@}hhxWXLn)6yxYR$^ir`wxiV6#t$M&&U z?rT!C_M?a5J%0n^BBjpdbJZk>4itn2Lf>DeXeA`p#y_(@6CY=qRIHY5fs@fKe4wrn z<{|ONQ#*42@Yzat=k=*tg^5zBdHpv4{zC`g&}#kGk*b|WDBqt1@LNg|=S{*xBgbOv zO8xK2L%z<1Qoz4^l&d>{4|TV_TIuJj(`_g9Tz>q-V_b^XYW88h{UHF|Kq9{Y->m?h z-O5w)UoHW+c zjWgU0jhbXE%W@Vj^>H}Hsz93S%muP8(U0ZgbZwpK)%jhkyaobsQTARyw2#%^KFX?A z-j)+xt9R{LD?khbynkEDDV#X*ZmgE~R4`|qbLTpzP7GiWNdA)*&qmowsP^mTMt^2j zq6T!iO#sr3iB|18lRqQ_7?v((+mbY;-cQ)XTlPBzmTN9B;0#foxx(3V#U?<)DbF@3 z3Yr+i|Jd)*V4Jvtf;IM*cjLr~_n^>eXHSMfH*G@!GyJ_E-*nYT*VW!x&15%Q)>7F6 zeJ=9{wAVr?!A3~^oH9oMOl(Hg&AkJf64DR`7dY zcifwfebN21`>RvL2(z^MJvkeco7eHhI5WB=?`Sg)^ZTw=2vxtX1JewP~BnG!+o%5H{_(pgV7 z3&P^QXej+Wm+anlNeYk#`Mu(AdhDhuSD*9bRT?c{Nw2X>k@FS@y3B3^!_^&Ftsbn3 zf5dElDM5An=fXczX{4~!9m#UFhJY~a7ceht=6c!`38h{}6Cavu;}{1cj?V~XwYf4B zjWFH&;?~~j^2JkrfMBy^XI>Y=S}5)PegOZEg6gfPz3nFh_-d{6GQItBt!m#l@tAj_ zW+J{oDPF;J?C2c|uFoC0ppLC8a5TB(rAjUT7=U+a)qJPE_F>EKGJuZ*@DH{6{&-~$ zeh$EGBlo{#g1SE5-F94Wzf~#m9|iE00De~Amz9FMt+N}B@!hC`zh?n>%OTFoF;sEe z4{6nZ5>9aQge5sEiWjs$Qs=lcSi&3o{yHFRWe32qv4Nxdq(He`u@Ym%VgydLPmHgyR zb%TbxP$Y`zIYE<;UG;R5h4}z9O^hwEi(+KXHf1RQhG+oMqd30zp_*hS8dF-#DNVo? z(`!;1!fCB>s6(yjQFJViYGRxW1J>&m27P}>q%s&JDO+66qp9rOZB9RX(%^c8yok<% zH|F;d3L~awHxKwM-qXGc4b$J5d406kC8?5ohyM8v1@5l~@Hz#lhr8Cu^?I>CyQQkR zH2wYThWnk?4MTtXSS5PJ5nt=|3dWzHAS}8O`D6X>whHYA1z6jfo<$YsUD*MxXoWq7 z7bhkjo0ZOfjXuY#Q>C8I`>74bcv>IpxzQ=NU`}M_fX3-U3mULo z4z9ko(J}{P*u`2e*!pkl@3Vy1OjukkZ(zV&`z0s#ZpV5!j`jM982Adc>x?MWU}n|i z#ZOt9^-h-WB~uznEtdrHzDa4|A<#5@%l-Tr^&Sa8CHEQ%q)ZVVGdp3MVo;q>+w$IbmT4{bWs>1vceV#KrUhm(jmAI{s z(dzY|qmH=QRpz0IW7$LW^K)w;SMsj{@Y|>&wO8rSA07D)O`XGnsx062ycFFOy$w~R zeoD{FT@!4?jSA-1p$Z9qNjD#Oy!6Bgo#AJDf|!!vDr_@d*(~tfW-?!FMirDf6-hA; zHUvdk``ksxdQ_aIz3_tCL$#iA4I`Zzt9;R-@6^hRv!TI+I{4sFJ5P;$(`2VAsbdrn*huz@PVQtCmls= zfI*Tkc?JzL!4YW;ZQKkcwXgC>o1UJeC6usqP40JW{R0!=bwV=YvpBZ;K&`&%jE-v6 z{yTF$f21|NNIkzG)c~+M$H7c;NPFb<{T8(}h4$(prM|y~vE17SEzSnDZB9UJ&sFqT zR9}E(Gl$kb)$|%71g50eA1GAl9N{VM(59^z7X$Ld_ht0^G_Q~Bx>Tz!o5%iT{Y*R? zRfJ|Dut&OT^UbIuOjC+*o2lM~)_t}z0`Ew--JgJO42;Ks>G+1{IIh3*PE;}8yHLl= z&g^)eif&}`dM|)qK^=9wGJU=unKMQpQ7p}J_}WS|5^D2JzgsBDPRv!u}a5Ny7EOXS2dnBu72G_ zNts+i`CNI{CN(RBXz*|fw;?V2pygSVWhkdhniCdD0xku)Lbky$svJ5CUa8(fl&E$6 zsr9Zo=zit`&?y|>yBVv+-2k1f!Y8Zpgqno2T$CB}AdHAlRbg4to6Lzcj8i0;;iNG! zq~0~P!Ua^tpnkD%s2GEU4@!L7SdeHn481?YJ$(Z!X}Yw1F`V zhPEjhD%~a~Qu17@37G=yS;hX*TbC*5?5B$RKcE_;e0#cIF9>_1R)}9T@wlI%zjNCT z$ME$EZoimryF))0pEz>=7b?Afw)+fSd59M1QIM! za2LgDv7i2L?nc+7P1u5O4zds|Jjva(h0sK)+D477<-rB3au@cNx1yAjZgL~aT8N$} z0x2`$kz)1dYA#bWhr2Qxp)BXb1~l)Tv_T}X%K;WkMme^wyK1eDxiNN+EOQ8@&6_eB z+2&O;+hp;o5%42iLco_=7$p6*kGdYl*!OE*AGvj-R@{%I+x}%wt*HI!-$y%2^)9UlU)5ET->bm!nh~n^d0Sp9PizWyS&V9A zlh?JVhA%fG9MSes)%;He@b}YwZ$cFZo<=)6KL+9q;2S3Z*1k8Fr`tYWY5fP$&TvBk z{e@dz+gjO#U2rgePTmIKUjz6D0Is+Yd*Yia2I?yFG)L>>u_3SKac15_ zEy@-scWS`r)uPRcFYd>J9>V@`4F^Mdxz)!jQq5Kn{d;0YS)9bG+yg2@wKO%hMW+tTxz4KAx{0&2 zHSttC=IU=>P=S0HRD5TTVa{&m-<}@RMi0$pts1gb!QNsufSJK(mk=x(O$2myddEJI;rJApM zKa8q`{)q&_pMh$A@=K`m-}!pFL^X%`1qG^`ly?4e1@ruV--_Co|0=C6->txSgVMe~ zFam^E=wrQGAAhOO`wghQ@6!r?uSfLw7y5d?7SrN3tN1?_z|ZJop8)VFS}}h^_nG~d zx}o?MR3X?|R59J1sOtZ_I{~YmH2OPGRreq4HUnq$ zy#0~V?5yYfVF0hxR?5C^Nd8Qp*KAimgzD0ER$teiZdmgAPTf#_5nX@)E;y*9rIDZ8 ze;J?io38-Tv($>ya6;=%8y71k2C@uqtzL^oVN#fnC}@eQ)r(Wa<_5M8TCGuv);=U{ zwzs*nnTX0&?ro*a8ZciT7Ou(f z+(DevbLa6W8)u@{xD`xklq*unqADcFf&?l!|6k1eJ6G66NpqxYP!o;h9@V9Pw{->b2pIwP67<<2hTHh!B zWUZ8++kKYqQJVf?tw>*{i~=dUaEIRK-)}eu(%1OO3S^?c_cq-yjG4|{s+*K&>Aydy zpnLbo{RWJC#1pE3?A~-PuUG2)c?#(7*K_?|925~Q^!46=D#FX>h}<&-u+)fXcHx8(d0NXp3ip>qWDO z=RMn~5QR~A3azjjQOAy8V^M;#+(%h(RCS2ROq)-)9%as|LZa1+y0+zi*J`$H6$oeB zQ|+5e^v%VAwWIEl0bWw?l`-&TSPxHx$eugP*`~)?gmgSMq83ps)W&&M;RAWuU zZng2O*F?Yi_xI!Xzu=cfdWT~h;u*~6HLu6v`e@VXV|1Tvsk{$@zSHGYfyzgNOdQ1U zi!FB^+_3aAyO5^7Vi;!(C}myaLG^i}$C(6lL&R%>Vr(g_H0%8aF|~HgXN&uV+U9_~ zN6mKp5~4OXA(qXQr|O+3X3Ry*mR0~-px{yLEly+LOEB;?fb9A6rR_#adTZY=@m)^x zH%(PAXZ zUU>3+Z+4dgX%bMA32m|u=9F?5Gv@vG2NU0`zI8RWv7Xnw<~4)(A*X zT9Fup0tPqzKuL*KHt$_Xfp73EkE%3A2%!rBDErtu<}o2@%t}Cu0$Br0Trb>30YlmQ zWGki=u9z-xYrscofTW zE7rIY17GC{XF%$uY9NT8{=wd!R4P)5gfXiGk%WT%drftWtE9I)_s*M8m%>=!UMv?U zL)Gn1t0J;u%6`Ehm5R4d1`k@WYrDYC9~Bj{5n~t#ivldPqP4zuaS>$Xt-E_3ksJHe zqMITM#q!Yy{T#qX2gNsB0${Ne(Bf?Em&;Q7^l-tRrM`)SdU2+r+5$_oFA@_{{QW4g zG3>rCn>W;+aC3<7?Y!nSufIVcP8+K5GC`eh8Z!%0)cnD#@Jk~wy()vNv~7O8(zW%1 zRj++9&x~>wR0fn4fPo?{E2otWRw$`|*q@*oO52%>f49LJ@EI$L|&rH~WC!(bIRd9OOO_F3$vT!(G0 zG{MeTb=LWDDv^pufLG@1DP!8Y(D6L~JCO7Vajxw2GOG9ba&N$}X2`Grc$IR~DP_J_ zo+2lhMIT&g^`xk8tYZ(fpQf0w4ANsgbee&DUi12!3*u9>cz=QD0o*PoQxu<7g(bOZ zA!UV=s=-BogECzLl6KTUL{BjGYNNeVNRzSmP zUDArwHXBrGNQziBZp!IFY26x@tz%E(?qhZ48SbyXP=45Fp()2+2B&R8xZ1}Zu*3t9 z#e*1zYq91_z4}BNsmg9|1todP2ey-s32;#7251%o6Z@PtDGr1Moy4--3o3QzAgG|t zMOz+<{>-e3^L#!kGcYh?7@z{VdOItnZlbwr)WX$_rPR+F3)k0BD8SmB-bw_pP>wcj zM(|2F;pH%~=w#Nhuu6-P`;Aj_OEZugl*V7EGuM#D#momhhoHpB z8Bj{yw73Hqk*ci8DSA^g^Pn3AiavU5K*$AJb@Rbkl)FGUfq}1t;6wzI`0r_Ym%c6( zX?4yXXQseFF#|4AD_@ev^4T3?H>kEDCVQnh(q95C+;7hWhm7xNDwnP;j<%5wpD#jh4 z`hh}#ZaVnbKCsV_^%5+LRAncZJ&LNI)t}yy`OF^y67i?)X1GjjlKTzw*!OaiUS(eM zn%6}J;xzGhjO_5I==1(D#%>RT46-yV7QNsq7`nhI%tNg2E5azNGgvG{J-kzxhjX8y z05$}&3o}uO!rV&KeAjJED2bztAt)wt zUt&}WQJd?rodzxLg2-{~%e4?$RnTT?UBGg+o@m};I`Gal%oYDGY%3s~t+U=Zqvz71 zRU`yqxliopHL1f>X>2p!7N%lWwW6b8(d(AfdI&LG73aa*4c5}2l-5=^XVLr5F}IX9 z1=eS*HqLJ zwO%2udWHn3G!(sEh*3pNlxA`}}_M7BFs3)s>)#HtPOLf!EYpHQV2MH3bMZk z@WMYQW8;9t;h+~$vt{JFwGGIDgN87`xY5$=^fs?~UBn>1ZEOq^7YEv*x^F9VVuCEK zat_NcqhTpkKlSRmU&qCkN+X(aheVZLABo&MTo|=gImAA~Q>M7Rtr~9Fta9yrvR}Xz zC@C()QF)U)e>uFGPrB2<2L*C|J0(+ci9YHe;Thf((%g@~>E^=P4FCiSEXso@@-POu z6oRYKgo*cK#(<}lh1J1I_DI#a%|#cA>Yj3@ zxN8TJnU8)BtN2a4rw$45&-vnR+5lW=Wp=ilW~ zj#dRU3Ep=RBTG26S!e{C>B|6G?W>SUv!!h|oQjLX$olI_!-`U@ri=57wmFR{ zCNpc5KSZzGMw5iCkP`JYZwk}D%)=a94rZiQ^tCWzND3_5a%`U}k3Q@0nd zZ4g@2{O6c1&mtO^*z^{*=OV~J9;<442iE6Ut_BRl09n_{T$DMWZ1^Gx#+{uR z>v#7X?!E#~Ike61k8QN4gm3ej*SsD_AbuF-`8Jc6F;8d0RG+=LvsY*6?F!v}&|;0n zGP$ZDjXEhndoMeXG&!(^>zb#e5p*s(^~Z+{_!O#l5~VrGD=cOYF^_~a{i#Kc609fN z`m49}blA6=*SfpAF&PWnjekY|K2zY{R#?P&3T1SyLYH(GKqs)4%OP?(k{8;63w!Oo zKa6EL3CL-`Ez{!^`-Bi@WigkdA9>q2yPZ|wO|hsV4urWf57t6WT=e!~s2U1)T-BLv z7vE`)yIKiVg?aV>FdAEhgruNOZVD41-^|ZbdM*wFBG)NU9y3$JnnEb6eGJ0@te5^B zE=G88wuRlMOBs95rhpk+D0#uO!{WT=HLnX4#5aAZH>u6XE-VF;31yQ;6}8H+wT380fOle$8dP+*!?bEG zPJIG7HnmWIwdYzxP)czmbMc-D=+a|FKv_2BMkH>f9>4perMr6CRu+~iGg0U)mgQau z9>hLh2f`{6(OmJqk0srWLhGuIS5-S}z=u)g*7nGvEqB{fdt3`@FmJItWV4b4%hEqDt3ijcXO=?OKuK|4D0#Og^PJ2+h;Y@sQEX^zERR&&P@3^G{rr%Qzqw;gN=&mY z+fW+s_sk5KVNCsRiH$*eFY<4$8WRlYBf?hi?U*`2FZgt zlrrWNC2slPlu$NbI7?8-!r7lJ`kLZgaEOaisG zxCIlfu5F`f+st2f`JT^fUi11Wf%v8`a>00CZ5LXdjtt@!=~tF#K#S;Wx;DwGA&z7- zp=2>B0$FQ#2c>E|Q=uw6E1e>{coAz6r-;<4bg0Djxw6TLCxz+l@w~+gR~}LhNs0nB z0dqADQNT*7WXVcx=!ly%NZ_h)WQDu~N@cEziVB*91Rcu>b%d07*na zRCD6q=p~N5_u2_yYh4{-vZ^Zj1)eqhD7^=D)*cu%rTnG`rL+Y>ZyB6KV zELLks8NlmfiAp~g5Z#4Fmx=b*uJ@nUyykVpRn9{dE?a_xtI0x)6gpCa+pfVHA)2a(SE*ZOGZ~5h+2Q+KJnCaowoOgv#SKFw62x52MH!-{E4)+M zcvh1Wnm}=(ak|#6#v7TJbRVgtxKAQ9P}sH>q2w_h1};YUlbYJp_di-FzIh<>Ko;w% z7mrr8_eKA1fBbzb?!0F2Bhu%@!*nEj1GvSyTd-Ea8o3n?SaduQ@p&E)#n+#nxT`>AY zrh`=Br~lYXaLH3%TrXmF@k9u-T-b#0!iJ6@vtNz%88p!(eLCeCM#jmA$_2fv;;0$G^O|9jfzc`H7Ve9;i|5%r{r8>r6Jq6Qz+KmIZo%M zJx|;f^=6BjT;U9ZwNj2C7o*mt%h`~Wpr+NkiODF(mq_zB-(Uzq7E#k1ct-V~K1w#$ zrJENbGhL~l0~^7!_rrSLVEfF7kH>j|OhJvuMkN%2ge2l4ctV-~E_W=xvo2^_4pqRJ zrxK)@G^nkYeVn@Muka^d{pRjFX%EcZZG!P!@oxD4Ko49-==3qVUba;D^P1PZ&S5Ri z0l=r|@m&C%HdF>v)i*Z$Uad54{jEE2>ccnVvZo4GS6r*P(}@zM80|SA_mPnq*}`-J9-n$ku< zD>&`@#_{EjFSXfLlr3G;eWcy+P#TjWJNHB*To8Ht-!>0!iCf5fz?3#E)P2r~BE!4x z%EF?y5hB{bxfn2vfV^@~Uiai4{FF>%P5Y493xq14BQ(Yo`1XEMgMoxbBbh$)BslOn zwPSCcZp~<>CaRpeVxKK+J1i^EzTBzHPpA zY;0u{%`OU{fu@sXjF=kZE z6b8~L(}ip3hMR;mTCp@Lr9vj6)?&qap*6%K>_)9;Y+)mkDDFCwo?}k)Ogh3xK3A;z zxJEUL_QTx|eoY81RGNkN%xpNoRbf^L(@ZcZ)Uq2=;(U?5?Zo1l*(J|nC+9UQ!m&v6 z;>_VMk92;zkENX>ub|WHx1g5WB&{foit;cL=fg~Z^0~~_uMl}kTXs+L<1jWSeJX8a z98!WopqOd5L^W1#b{A(FLsFt~B5q7raQeYp@P=3Z86Lf39n{T%idqg)k@E<+=ij4| zpXGDJ6B~qWW;64e*StPLAdV4W-WFuCtB?(76VB)m6?y+>zze?SskruUeJqY$d3{55 zGbNkKbl6VGQjXOOb+J{#P2zG>aVOfD+5|2EPTZ>DCm1rds8~E+2AJA-dU{=pZkYze2}+CX%0WPP$C~DjRYnn z&!49>zZc_Vd5}TEw;k!R&pdD^?s?r`~HC3$QUwZ4m>Z4HF)|Lz6|BqrGN|xc#~8*>9VW$ zN9d8w{39O*9q0$zI9N3q5w8DjfSX$(osU+f>K(=iAdQ#xHtzjiOy53e^=+`EAJSVi6gHzs~YJN_LL75fb4 z^P1OV1me5eDq=&WE!aLL)>rJi(&d}}j6H_kHsF)~*^6++bDxdn@k@2&Ovk?(prByP zDPlp*(v!?aH66NB&grU4BGv6HF_hV|)hl$OR2e#HtE>SXxXwlPM%%qc{#|iIh{yGI zFvY%N2q9gJaZ%97Lda>ZUg;}~VYBTbG5hV=-#X@{$?Gw*UFWajJXqhjut#W8et9LB z0(eD^#*l`ng^709u@#x6Jy5E?;aTg}EEhRw&XZXbXzL}k5T?A3_Dl1f5IHc5CT&V? zV*u#qTQlW{vk&8ecfJ>I{MNT2^enugqCQGR-qYq|RrpkeP8%w9>;UkyATQaSld`Kh$ zEE>hMBu<>-Vr^8u)7Tyt8vRkq4b%g1oGp-=V9v+MdPbnj`}PXlT-?~eBdTyBNoi-) zhLJFV7HR>jOa#jgAa4D60Tu-wG}HK|OH#92Z`{VkIv|f00d;JMB)T~>Amg88V>(;_!$Mm{Pp?yhF?eM-@+!r?j}gaW1awz{L;^OtYIEx-Cf zJn)WF=~eI{LHj7cK1Hp|$XOlheIKSGp8~N)x_60rI(>Q!BH?rHOhi((m)O);pFH=QBTz*SXsxsQ+u0LpZmp~W`qoAk z)dvG$j6%@s$&D`0%7^+dwE@x*`R(F?DE{7x;L*G8#2dc(jo5#1JyC7+;Sf~& zF4X$AzBo?+@~+kR4CeEi*ExbXZP+1i3L%j#mG`byH?UciK1G#pqSVXQ4Zu@B?}>Qo z-+2};fBI7)9w&un>?|icva}ORKsOhhD0N9eE0mnwLY*e<6O`=GmMS~z9cM9DE0oVR zYEgL`klIEHx*t1~yfYgohmcd^=~(QlR#xCA|UdxL#YWyXXxO zB~Hmjw$VP=?@_@cw|)?}{m%RF!QZ`a2O#DxR61_}>?xHxj!>Or0^DVyC}3>1fSuR8 z=5+)R#||`l26jw?9Z zJUCOsF6>Hnt4V$zk)Gsv?OruXJwK(H=1wL!#%@UXo>LlmGbMW@$a1s@^mUeOWm^o) z^M*#FW{4n~7$eCEnEG(@JP~H&c1d;Sigrpm1&NRvi<+gPn;B|{zAJrRJ?mk>ZzFoj z+$@MNP`J%eA*>%gg?IkM8*%5KKBTjbG6J|6w1+L=jV;wW?*Qz;!CraaGoR{-qx(JV zK&#Ky_`K$Ip6T@d_QNR94@;w;OYi$!ZVxHc3%>Rlxb~$tVs+IOko6F>ZmN1694%PG zRM?&oEzQW7r&Vd+TXOLw)Cso|_1?SDq|#E*Wr}z24|UgJ;WVL66xOEH8IK4hb#+cT zuN1pc%~kkCF&_>=p`x_CxH*ZvjvW6=h`D?5ia%{kGQ(kteQCvijaN~oygOr_HrXcM zzYVM*hDXv$iZr$3Fg3r0;!xUHMax4{C`w8$OMjQFycd9$3+&&25_kXQ2k?#`y(N7n zc}qoo)Z35R8{bB&k5%B?#B7)Wd|vZJu&wU=K6c;6Bs+x@ma)>vyCXTq9oW!FC%Q85Hq#W_JmmhgZm8TASE?wll&ZHkT0Mo= zrA+}V^^U0Kvk8nq#}FB}{mwgZ%dgyp{gdkrV4SPwTq*BDpKqhvcdf*y0Gvmt@Tore zu41+s$mcb$LxT8WsB~caO!$;58;xuL#=v?TRlZBby(_>^J%`}f)yMGSS3VDy-gq?@ zs})$-ja-l@Z>Pgc%Je2l<7ei~Monh9XNIE#AQy&7TTvSW06OS!+tb9z^XU4!l+w!( zec|lVCJM5|)L5mm=d4Ruyg~(Tx{*uC;7&;!c$ai6g(Ot?5Qx(A#S^|_&fBYCf9)Hc0+7?@yuZeyx7~|3 zeb>8i=Dsr{)buv>`7TxZE|vH$y>T9)z_Ed9-&Bobrqt&(ua7Kc!2B1Eyq026+ z^s&l%45+vD%Qsc``S%1@zxXmd>x*y1RUi9Q@H!c6(VT-g zwW|F3QaO6l#^!6ViusOvY^Md&XdIkpjyE~!5+i3ufy+eA*KKCnPkAeZOK(940gE^& zLxI?oY9g7Li2QGIYt{70S}k$^Uw;rc|MIQ4@68XVH*Bg$y$ewH_vMNE>;mlA0_;7I z1G_o99ai8rgZRAWbqEmOC zcHH}xhtc|sV+**B(dnCnZHIkKU|I+_MwyRQ-7-O`qq|m&0XAcHahun?KH?w_Y)&Z~ ztF|#weIEwIfx{`$r+Vm{X2>@kL;d?RzvNmx zy$M=r)4q(Nj|8^%y_&qd3EI#O-$11Pc{Yvd`sSfnkMI-Y^i723sbQ||qV~G3AntLj z)*wzF5o)YhIp*aPVCKDt+o$^MKDCN*8bR>Bvd-P|w0ZIkjpXTpF!iy`Q#R0JV=Fk) z%6wehn1V&Y>3bf+?SF6^-v7%V-T;i7D)CJqzALcH7N9;1h>y*QZv%1K0N68#&udkpc@8}&Z6szvtPUr^{!rlF)mArNF>-1_R9@t&W%bEJwL1MFRZcT?Y+5BYoBKztL8e%MNU z2Jv~#>v0C+y9Ax=(*HgToxV-bh8^kjO&f_3@!M4^JpZe2#FZa=4VEYNz-!jnO*Q|p zWG_TD=w9Nc(9S7oeaK>sjGy=#=<&-u=tt-#SIg!@Rw5{%=)#2wx z8}oJcoZ>W4IP*oANz0U!MZs|DEbja3d+_$3xDERc>|?Iqn0qPbST$Y)Bhs6zb5xH#^UYoW6L~oJq92?1>}cOr*BiC zAJ(aD+nhLU0rX8kJtltJW)8DWMIRTbYd+x$-1HBhflF?<%oWq3z*(|~y19;V$}USi zSkKV*C{Y8H?#w4z+h*1C*p(nzw4$T1l`=1#X-w`RvruCxE8XXTx+u{6`Kf(s4!}%7 zFRnx%c`X(D)pI?p+!~ew>2&~TK>dKFh{UXU_As{@bnbfS&UomAfuzXQFy5j19*W@9 zoe$yNKXVK2{i}z%P3~c=PRA-}V6$j#3g8c`PRAC2-!@J*Ri*d9KDO1I)#>w^*JB9c zyUdAW2fzl#N6!ue-sfuevWYU^R*7$;{M*0Nl5pLpT#jdd+0$|2hRY%QLsL6i!WR*| z_f1KFCMJxcNZM*Hg>ujryct`Q6mw~Sr=}%E(s-E#uB1v+QpN8EFWJ}y(JwAS?I>CP z^cZfsk&0HVSs_mC_!ts3Ez%-uHoD0fGw3|i^NErUL<&(dT(RV}cxOm82~zAE5LxW) zMgSpX+_rk~N4YJH3{$HZ-iq0_g`hwoZ>A6D!(bu625(CbC$W4`=)JoR&L#9~!{hee{& zwwY=|Gs7J=-WfbQ)j{sjX1+a2%3;%_S+x8dw>4!Zd1D{mwT5={ICMI!}iO8?ZUPx3)XypY@phws%$wVP|qMfuX!B; z#5V!?rfl&Z#QXbB*{)7e(&xi=bsNn-2K?I$U=CM__c`l(SFP}@S6qiDefpEJJif#* zNUA*Hf-g$8rq;(M>2Oid_R^6H*6ck_4L?qu7AsHOrm&#D*66uiVN zbprZajT5SEDHUqQzUt2`OP$(iaB5>!BTY@vgu#(CRJf&{NfNDteZI5+S+tsmZ93#NqSJz`MZo2^W z4B+#c*AYN`8({ahjnU|1l=-$8(oLW}MY(UQy8EB)szBf7;|qrseS?rfJZkD1REdr-a53W* z08o{Blbelh9F9^9iA3dWv*tvt?W|YUIlwz@R?MbV1fii%%J~57^f@$zyhIMT_1CG{ z0hD@sPN?Jbu4oqf18@H@-u#`nfcM7|y)XfG+r(mL9Jms#*##BAH*NP7UE zqSd!i=`(=OYhLHE65kX>N|?4?l?`CNN#J%aDQ3XY=fZb++-(#)ZP>(6bD_WH6R*HC z|K5{v`At`ak_?pbs}Wy?CM&AL()GJD{Z0;+p+t9)TzYS$5r9d+x(6zj_Bg{Kk{r22D1A*ftOs?AE6~>fHFY$30An8Fr}1`@XmA2-b5yd|vZ9 z&mcbaW!puiKKA=P)jly-scsakaYzashp4i5o%h}q-uXMIlC3T9S_DZ}5 z(0G^tHg1AZ+GsOL0yuG6KK;=9-%;fYwLS0*%!F_*gT=7gJUg|tySup&YZY!WrPKz! zASv_>kd1LDh#1uLn3U4PKp}_&lCVwSu64Nsk#`jP51ht_{_qaG?-%dJK~dHwzy>yF za3AImpX1LD1LnZ?nQ&mbA5Q0qMxQJ2dClvi1meBIiZ)dGo4}opNUfg_5Z|RoepE_* z6MzRu9J^|Tr+m&;c={JU9c8ruGl!E~V+v!xnMbRniQ|l{?}L^w4!jAxvmL248-koy z-VJq!6KqWs&A%bZQEsHz5|XxEkH{_0E&gB*q~U$aSdx0q21TBYm!?0FkH>;tXi>oX z13vKUx8Q@n{{YV3zrO{*w*mGpRQgeR;70-RqfqFw1*~NPe5Jb<$PD81n%74j#HXnB zDcXDtkf-iT*ly9f4ajkhpnH_6dlL(=i#Tr=AdhqX@vnL&u6n`Mpw+@fXp4k!LgU6J zi39haNdy&TTxn{WaRpvLuAs~_YtzVy%d1Y4!Hjv_u@_8amxfK?OKU%t7Z?=3qLAw z?>bJlD}awx*s>#a-jA1U0`-|fpVz#OuogRjd=J2~VFN%TyYMkkpHi(Kg()~#(eA!M z*|uppUmK!L_aFc7ov*zgC*SiR_MSkvfzO3Z;)36m2v1xDK%w#;tEWJ?womA%gJU!WY zpmvLB;WTF9N`z8?d*5_7-t|+r;Ff=L&mk)BT|oR?sq`t}-v#6`!3-P)z^A@1vVle) zyH3miKCgLwge&oLq1LxmEzGLp zk;t`td?f@=qIu>lX`f)nY>sY8+}6BqPQZ`k#g6bfKXczHyyg4egOl$)JyK=%Vl8X{ z$W0Y)|9fNOUE6+klnn5(=N_xjfrI05QxrNz&e2o_K2zxPn%4zViSJSk(}vwTCP2Oa z;%=(QM>D$4apQ83`fWENhh4k;p6tLnj8`dV?px!wSKk3%pTY5KkKx!8j{CLOz}qvs zlUWL>S&KbvkrKA2=`g5}Czz2Nyd2yN|*LVHeuG^)wbo1!Yq$#w|wu-ICI~yL*>1x>fTn7AGRlbR4V+a zqhp)?4Q!{-`}<6NA7qE?$-L$@ug91I-sajy8*cBb?WrF5)aGDYfBam;Zinf87mSa+ zZ4=^QLxsM}If%b6E-85O-@XzzeZ{juOM(mseO>bCS*s9B_N=fmFj7@o>mQD>jB-5= zb8f4uc5(VX8@7j4YF3#?YMP`x@#Z-wnZGn4Fyo&@GkOUl8>BpQeRl|u0eH{Py$2uq zcMoDXHDwbDY&JI8ma{ztm^^XY6lH#t`R>E^ySI(XVFQ5oRr*xFds82LuE6Itua6Rl z_g_*>fb%vwU9eg71?+BZx^1p}6J}Bc&XNdn$yKvuW|tVj5*(bnc1N@f;Mq}4I^G(AoPOxi^rIWUbfEQ=?L639 zzw*8Y>^^H9K|=s!0r2TH9(e0Lc=Pw%hRp#Tz~M|zc5yn}7BxC$u_`-0#uV`Hva#6J zg>9RNZHi8(?wB`SKjt;Bd3^*xe2VrR6TTf4$TtDmVJq`peb3MLA8e`IH}%R7t7Zo- zy>SoE{Ng9!`j&ttmJ~RPu|NRVJ|IJ&teENn$*f5Zs zrodhI{M)Sx9H z`$-d)fEIn{vw+w}gr>>d`==^9_N>@?+3#rE>ClBi)Sxr08FoVp1MAstA`k{1?qL{) z4*{`lasAz^c8u%i^=hm8ZRD{rT|3e9@_n&W-djvrc zn~=m&P}wD=o~sl05V%Hu9sQ33u>$O8i*kPU}-ES*8 zZ*UT3%LMaOzTO#IS;D20@8R?x&*IFVEAAIrN1SmTJs|8Ne}NBCt>!c*>I{m1wZMo76!>^z0&bvCVGss z1h%d>c$aY=`@PgL50{6jDa@QM=KI^;SjX{S9><$6T)@Wmmw;X`jf4bqL|l4JBk)>M zmh4bVYv=)T=doP*SZSp4T8E|>~V%JDs zQr#BwmocGrTW7S~Bxu*ZWqj;AhjH-JhY{CXpq&zP69xp`xu^|p|6R+`K_{>6|1tLz(VM5P`JWk0wBt_k` zJov7aX}@Q8uW1ST>*_sq-zj#WZ|OSpL+|>bhoykH*5dM+i+JVdCvfTHHKX!Q2@Ao0Z6ODqK_JDM@Q2oD#UT z|G7u4TNS#W(C>R{H;#Vu5$t(*-=v3m?Ay2Y`DI?-HT#5taZG=WxMr#aaPs$W;Pmt7F}Deh2G!{4_w7-_mPEC71d)3)&w<6PgO?P!w)PEh{hJ`RC5cO) zUm|iSt22m&QkOt;_uuB?6}kCx~rK;?no@OUJaj@?7~@gw3L~ zlt5>xF}IY1jSZV?j&oW`9Fp-#%kk1OK4izE+123V-+LJMKmEYO%mqzvgr_BG{r)5| z%=(Xq(AAs+P1~StCVj!1S!2^KEI%QRxkr0P_;J?mEHnY<|8W-o{^=>iwH!$yQKlhL z$)Tr~)7JodIasYznzvIK3eQ=|JokEuz;hw;7JA)xe>;*lLF_;h2g=^bxiESxsBb8$ zyY!sL%GI)#ZY@_^q;s6tH{KeN=>Okh?_;Yt@{I>^;EDUYH1VnD`Md>azl&HW!eULBaPjyR467QfY8&wThcD78%~}>_UE3a$ zyrw;ef-2Ab4kPG&P7phu#F4p4Kp^aBAZhKfq{1!a)+i)j8#XT~??t%HjkR(G&;;y0 zw1Q7O^BDFV-jC3>hyiHZuJtDdWE?XD5vN8j18dc(6I;L54@@bXWN;qtkg zQ&%`(F&3#3k@i)xM9Q^^YF=kGOClZ&Y8(dQE|Gi?h#lbCH$iMVEZxEH&RMXQLgb}> z;-$ylo0s%hQZEp`8yV$NdMyg?vD`4@0*=4;cZ|4saUEw~cnj@~tGMUzDwghEK@)l< zU!4tGZ}%JUXw?n!==RIIh;e2iMpsdk`T z0%vV~YB9&jkMHt5OE~no{dn~2N3p#7F2uEVV}p|EIqE|19f{AnkxsV?%MI49T*JxV z9>b@B|CkT>w^}a~qbW2H^ z^Yi;IH)_vv|J1U zSiio8cV0S&mw$Y+Kn^vQshSe6DF;gv&c>{dd%B?k^`&AZg&vH=E&T=wf*^^z_Q{+4 zmXf#T1_#(O*T<-Ht9gs1X1vCD#!BEGGM}7}eUGo=p)Y*|2cLdu@=TnXx?r9F7p5K1 zLel^dIRDR6c;os1;^MI@*q9|h*6+NwJ*Y&|IR#&1$2vxJd)K_R@-b`D8p)d=Na73G zuiOo$)MTL%6h*FET9bKSBanJd@d9@1RBQJ$OLLY|37lnLwBroWTgOhYa$p&s`oR;} zeP}u&OT8JIcyRAu+8!6N%CAHe_-@ ziMzJWyR!fhOp3s1Yu z+HPOgHlHnSjZJE8XR+K^Y2{*CXq@Ct5Zee#TX3JX8}`C0Z?8=q+WPH#5)B3p)ftXHiO0?Tn}1Re}TYz>{0zzKpRz9}OKIZx=6 z^sH-%HH7Br3N?m&HA2=ttCn0X#;FN!7kP z_jgU5w>18_q_t8@UnZ>)#128&hR0%Yf0N!Lk$&m5v~yU0n_MDWs+2tI-`)S(I=H3G zE!{q5_7j=o9CO{I-NkYwpLQeD65Xs8r(Ojwsq9q2hs^uZ;|v11m+HH<^=;{zCwUVD zmH3t<^E8PqN7}iYTuFgj*0%$6k9CiVt-S$T!|k3>Is}#J*{_uRBog(i<}r4u-mG_^ z-mnD~(V5aU%r$RBn)Pi9xm%(Ji%43N64fN9wSauaISHH~ zh#l7>cueclh+EV0R8qy7D$l)^`l)N5Z}C&NL?Wz8+#0Gc5wNDjyT{%(r5*w=5xG}| zTRV&~X^kL=9j(MQWv;DPYUEXG=?a4qwcbl1bGsBNpVM}hbOU)H%bvVj7b=O#>2=sfTz zN)QB6TV{tr4~XY@OPq<1CF~jXRtti4LgGD)%O+X`yp# zt5?mlfT44OAV}i3kkEsmtWfc|hR8ihaW!Rbxqa1Ik=8~Q0ND_w*1sJ_rN0OQw?58Y zQzUMJAVy)CLr^3gEp%=ndGB|YzE9e>wxIfR%LCGDu|VkYHjp@s%6Kf9Ybrc9si?Vb zf`O#9Ym6WWf=c`rj8V)e*c=f`s#|J(T2jB35WA+jQ{`@r1_0xl!B`30s)9?ltzOcO zj;KJ1h)a_cOKZ^5B!?gff+T(m#>rY=4#-JzrN@@%EW}+y{D5yAyyn{RCevw39PqEF zTgX~_u0-rnxE@&VO%Mc0e3On@DU&#-%+vBSEi1nNI4$)m*`s4sRu8Uh4wq3AqOch{CkTQhzJh zlaS^m>@f2Bv1X``A$H5Q7DXO~^8+w+P7nl1e8-J*PN_A5ifaV2NIQt-x{FyGu;jM) z5O!^enU&Z}C0!*l&UF&&?`tbeu390Q(h89jf*=Tz_zoj-?L0^ca9VkqMB3J}F>Aw< z-2RsS)`;BO@7zM_D3Gp}u%=BkNZE=-6ngY(1rj>|SGmO#5cC3;f^Zwj+ zZRYPF5WAIN`@Oq0r!^{Yf*`2GiE2WZdY5Zz-J`y(3S9d95>ac!7Y*uHdaSAJ+f*>|6xF){&h}_%DTuO4YeAbu=UJ%rFP5D(c zd`~Qpxz>OtEftG~V;~5Epb{slh#ZQ71U8n3Srg@QXkbeQ8%uC0iAvkG4zkzQvs>es zlE4XqAc+&VMWyG=VREFNbBhD)A$GvFwj7K~HWkNB zd(ssQ>RTc!DKV_J!AXO1moE)1?B#Ez2}&u{ZXFYXAP6dP;*OoSoQ11If}Y7iT+lTW zmG7|bXMdY$+((i(K@cQyV$+;It%H`<4%I@GV@c8b{?h(vZ9uJKLJ$N&5+^q8`P8z* zgHv6{k=M|e_e;htQZ_nCn;;01II-o=t3>D))xC)Dv?cs+Rp;9Nk-Q0lAc+$@@?1y9 zdpv98HEwNV6+S@_#J0yWhhWDb7lziXSfk@JE!)+G)fpxy2!fyzCxr9w$vls@;hJNZ zoFE8-Bu*^&+8A4AMz3;$APAB;v4yW0k~KjP!~*bt<|szm3y(Q&00000NkvXXu0mjf Duf!qe literal 0 HcmV?d00001 diff --git a/examples/sort-manually/dist/webpack-5/a.js b/examples/sort-manually/dist/webpack-5/a.js new file mode 100644 index 00000000..dbfd0573 --- /dev/null +++ b/examples/sort-manually/dist/webpack-5/a.js @@ -0,0 +1,47 @@ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ 636: +/***/ (() => { + +// extracted by mini-css-extract-plugin + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ if(__webpack_module_cache__[moduleId]) { +/******/ return __webpack_module_cache__[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /************************************************************************/ +(() => { +__webpack_require__(636); +var h1 = document.createElement('h1'); +h1.innerHTML = 'a!'; +document.body.appendChild(h1); + +})(); + +/******/ })() +; \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-5/b.js b/examples/sort-manually/dist/webpack-5/b.js new file mode 100644 index 00000000..7bf528af --- /dev/null +++ b/examples/sort-manually/dist/webpack-5/b.js @@ -0,0 +1,8 @@ +/******/ (() => { // webpackBootstrap +/******/ /************************************************************************/ +var h1 = document.createElement('h1'); +h1.innerHTML = 'b!'; +document.body.appendChild(h1); + +/******/ })() +; \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-5/c.js b/examples/sort-manually/dist/webpack-5/c.js new file mode 100644 index 00000000..82852a6f --- /dev/null +++ b/examples/sort-manually/dist/webpack-5/c.js @@ -0,0 +1,8 @@ +/******/ (() => { // webpackBootstrap +/******/ /************************************************************************/ +var h1 = document.createElement('h1'); +h1.innerHTML = 'c!'; +document.body.appendChild(h1); + +/******/ })() +; \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-5/d.js b/examples/sort-manually/dist/webpack-5/d.js new file mode 100644 index 00000000..cfd11c66 --- /dev/null +++ b/examples/sort-manually/dist/webpack-5/d.js @@ -0,0 +1,8 @@ +/******/ (() => { // webpackBootstrap +/******/ /************************************************************************/ +var h1 = document.createElement('h1'); +h1.innerHTML = 'd!'; +document.body.appendChild(h1); + +/******/ })() +; \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-5/e.js b/examples/sort-manually/dist/webpack-5/e.js new file mode 100644 index 00000000..01886f02 --- /dev/null +++ b/examples/sort-manually/dist/webpack-5/e.js @@ -0,0 +1,8 @@ +/******/ (() => { // webpackBootstrap +/******/ /************************************************************************/ +var h1 = document.createElement('h1'); +h1.innerHTML = 'e!'; +document.body.appendChild(h1); + +/******/ })() +; \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-5/first-file.html b/examples/sort-manually/dist/webpack-5/first-file.html new file mode 100644 index 00000000..f251a0f8 --- /dev/null +++ b/examples/sort-manually/dist/webpack-5/first-file.html @@ -0,0 +1 @@ +Example template \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-5/second-file.html b/examples/sort-manually/dist/webpack-5/second-file.html new file mode 100644 index 00000000..ba8f8673 --- /dev/null +++ b/examples/sort-manually/dist/webpack-5/second-file.html @@ -0,0 +1 @@ +Example template \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-5/styles.css b/examples/sort-manually/dist/webpack-5/styles.css new file mode 100644 index 00000000..e86486ba --- /dev/null +++ b/examples/sort-manually/dist/webpack-5/styles.css @@ -0,0 +1,3 @@ +body { + background: snow; +} diff --git a/examples/template-parameters/dist/webpack-5/bundle.js b/examples/template-parameters/dist/webpack-5/bundle.js new file mode 100644 index 00000000..a81d487b --- /dev/null +++ b/examples/template-parameters/dist/webpack-5/bundle.js @@ -0,0 +1,7 @@ +/******/ (() => { // webpackBootstrap +var h1 = document.createElement('h1'); +h1.innerHTML = 'Hello world!'; +document.body.appendChild(h1); + +/******/ })() +; \ No newline at end of file diff --git a/examples/template-parameters/dist/webpack-5/index.html b/examples/template-parameters/dist/webpack-5/index.html new file mode 100644 index 00000000..2ac7ecd2 --- /dev/null +++ b/examples/template-parameters/dist/webpack-5/index.html @@ -0,0 +1 @@ +bar \ No newline at end of file diff --git a/index.js b/index.js index 7758eeb6..ed6961b5 100644 --- a/index.js +++ b/index.js @@ -16,10 +16,10 @@ const fs = require('fs'); const _ = require('lodash'); const path = require('path'); const loaderUtils = require('loader-utils'); +const { CachedChildCompilation } = require('./lib/cached-child-compiler'); const { createHtmlTagObject, htmlTagObjectToString } = require('./lib/html-tags'); -const childCompiler = require('./lib/compiler.js'); const prettyError = require('./lib/errors.js'); const chunkSorter = require('./lib/chunksorter.js'); const getHtmlWebpackPluginHooks = require('./lib/hooks.js').getHtmlWebpackPluginHooks; @@ -74,10 +74,6 @@ class HtmlWebpackPlugin { // Instance variables to keep caching information // for multiple builds this.childCompilerHash = undefined; - /** - * @type {string | undefined} - */ - this.childCompilationOutputName = undefined; this.assetJson = undefined; this.hash = undefined; this.version = HtmlWebpackPlugin.version; @@ -89,12 +85,15 @@ class HtmlWebpackPlugin { */ apply (compiler) { const self = this; - let isCompilationCached = false; - /** @type Promise */ - let compilationPromise; this.options.template = this.getFullTemplatePath(this.options.template, compiler.context); + // Inject child compiler plugin + const childCompilerPlugin = new CachedChildCompilation(compiler); + if (!this.options.templateContent) { + childCompilerPlugin.addEntry(this.options.template); + } + // convert absolute filename into relative so that webpack can // generate it at correct location const filename = this.options.filename; @@ -128,75 +127,42 @@ class HtmlWebpackPlugin { }; } - // Clear the cache once a new HtmlWebpackPlugin is added - childCompiler.clearCache(compiler); - - // Register all HtmlWebpackPlugins instances at the child compiler - compiler.hooks.thisCompilation.tap('HtmlWebpackPlugin', (compilation) => { - // Clear the cache if the child compiler is outdated - if (childCompiler.hasOutDatedTemplateCache(compilation)) { - childCompiler.clearCache(compiler); - } - // Add this instances template to the child compiler - childCompiler.addTemplateToCompiler(compiler, this.options.template); - // Add file dependencies of child compiler to parent compiler - // to keep them watched even if we get the result from the cache - compilation.hooks.additionalChunkAssets.tap('HtmlWebpackPlugin', () => { - const childCompilerDependencies = childCompiler.getFileDependencies(compiler); - childCompilerDependencies.forEach(fileDependency => { - compilation.compilationDependencies.add(fileDependency); - }); - }); - }); - - compiler.hooks.make.tapAsync('HtmlWebpackPlugin', (compilation, callback) => { - // Compile the template (queued) - compilationPromise = childCompiler.compileTemplate(self.options.template, self.options.filename, compilation) - .catch(err => { - compilation.errors.push(prettyError(err, compiler.context).toString()); - return { - content: self.options.showErrors ? prettyError(err, compiler.context).toJsonHtml() : 'ERROR', - outputName: self.options.filename, - hash: '' - }; - }) - .then(compilationResult => { - // If the compilation change didnt change the cache is valid - isCompilationCached = Boolean(compilationResult.hash) && self.childCompilerHash === compilationResult.hash; - self.childCompilerHash = compilationResult.hash; - self.childCompilationOutputName = compilationResult.outputName; - callback(); - return compilationResult.content; - }); - }); - compiler.hooks.emit.tapAsync('HtmlWebpackPlugin', /** * Hook into the webpack emit phase * @param {WebpackCompilation} compilation - * @param {() => void} callback + * @param {(err?: Error) => void} callback */ (compilation, callback) => { // Get all entry point names for this html file const entryNames = Array.from(compilation.entrypoints.keys()); const filteredEntryNames = self.filterChunks(entryNames, self.options.chunks, self.options.excludeChunks); const sortedEntryNames = self.sortEntryChunks(filteredEntryNames, this.options.chunksSortMode, compilation); - const childCompilationOutputName = self.childCompilationOutputName; - if (childCompilationOutputName === undefined) { - throw new Error('Did not receive child compilation result'); + const templateResult = this.options.templateContent + ? { mainCompilationHash: compilation.hash } + : childCompilerPlugin.getCompilationEntryResult(this.options.template); + + this.childCompilerHash = templateResult.mainCompilationHash; + + if ('error' in templateResult) { + compilation.errors.push(prettyError(templateResult.error, compiler.context).toString()); } + const childCompilationOutputName = compilation.mainTemplate.getAssetPath(this.options.filename, 'compiledEntry' in templateResult ? { + hash: templateResult.compiledEntry.hash, + chunk: templateResult.compiledEntry.entry + } : { + hash: templateResult.mainCompilationHash + }); + + // If the child compilation was not executed during a previous main compile run + // it is a cached result + const isCompilationCached = templateResult.mainCompilationHash !== compilation.hash; + // Turn the entry point names into file paths const assets = self.htmlWebpackPluginAssets(compilation, childCompilationOutputName, sortedEntryNames); - // If this is a hot update compilation, move on! - // This solves a problem where an `index.html` file is generated for hot-update js files - // It only happens in Webpack 2, where hot updates are emitted separately before the full bundle - if (self.isHotUpdateCompilation(assets)) { - return callback(); - } - // If the template and the assets did not change we don't have to emit the html const assetJson = JSON.stringify(self.getAssetFiles(assets)); if (isCompilationCached && self.options.cache && assetJson === self.assetJson) { @@ -249,15 +215,20 @@ class HtmlWebpackPlugin { }); // Turn the compiled tempalte into a nodejs function or into a nodejs string - const templateEvaluationPromise = compilationPromise - .then(compiledTemplate => { + const templateEvaluationPromise = Promise.resolve() + .then(() => { + if ('error' in templateResult) { + return self.options.showErrors ? prettyError(templateResult.error, compiler.context).toHtml() : 'ERROR'; + } // Allow to use a custom function / string instead if (self.options.templateContent !== false) { return self.options.templateContent; } // Once everything is compiled evaluate the html factory // and replace it with its content - return self.evaluateCompilationResult(compilation, compiledTemplate); + return ('compiledEntry' in templateResult) + ? self.evaluateCompilationResult(compilation, templateResult.compiledEntry.content) + : Promise.reject(new Error('Child compilation contained no compiledEntry')); }); const templateExectutionPromise = Promise.all([assetsPromise, assetTagGroupsPromise, templateEvaluationPromise]) diff --git a/lib/cached-child-compiler.js b/lib/cached-child-compiler.js new file mode 100644 index 00000000..e7444005 --- /dev/null +++ b/lib/cached-child-compiler.js @@ -0,0 +1,379 @@ +// @ts-check +/** + * @file + * Helper plugin manages the cached state of the child compilation + * + * To optimize performance the child compilation is running asyncronously. + * Therefore it needs to be started in the compiler.make phase and ends after + * the compilation.afterCompile phase. + * + * To prevent bugs from blocked hooks there is no promise or event based api + * for this plugin. + * + * Example usage: + * + * ```js + const childCompilerPlugin = new PersistentChildCompilerPlugin(); + childCompilerPlugin.addEntry('./src/index.js'); + compiler.hooks.afterCompile.tapAsync('MyPlugin', (compilation, callback) => { + console.log(childCompilerPlugin.getCompilationResult()['./src/index.js'])); + return true; + }); + * ``` + */ + +// Import types +/** @typedef {import("webpack/lib/Compiler.js")} WebpackCompiler */ +/** @typedef {import("webpack/lib/Compilation.js")} WebpackCompilation */ +/** @typedef {{hash: string, entry: any, content: string }} ChildCompilationResultEntry */ +/** @typedef {import("./webpack4/file-watcher-api").Snapshot} Snapshot */ +/** @typedef {{fileDependencies: string[], contextDependencies: string[], missingDependencies: string[]}} FileDependencies */ +/** @typedef {{ + dependencies: FileDependencies, + compiledEntries: {[entryName: string]: ChildCompilationResultEntry} +} | { + dependencies: FileDependencies, + error: Error +}} ChildCompilationResult */ +'use strict'; + +const { HtmlWebpackChildCompiler } = require('./child-compiler'); +const fileWatcherApi = require('./file-watcher-api'); + +/** + * This plugin is a singleton for performance reasons. + * To keep track if a plugin does already exist for the compiler they are cached + * in this map + * @type {WeakMap}} + */ +const compilerMap = new WeakMap(); + +class CachedChildCompilation { + /** + * @param {WebpackCompiler} compiler + */ + constructor (compiler) { + /** + * @private + * @type {WebpackCompiler} + */ + this.compiler = compiler; + // Create a singlton instance for the compiler + // if there is none + if (compilerMap.has(compiler)) { + return; + } + const persistentChildCompilerSingletonPlugin = new PersistentChildCompilerSingletonPlugin(); + compilerMap.set(compiler, persistentChildCompilerSingletonPlugin); + persistentChildCompilerSingletonPlugin.apply(compiler); + } + + /** + * apply is called by the webpack main compiler during the start phase + * @param {string} entry + */ + addEntry (entry) { + const persistentChildCompilerSingletonPlugin = compilerMap.get(this.compiler); + if (!persistentChildCompilerSingletonPlugin) { + throw new Error( + 'PersistentChildCompilerSingletonPlugin instance not found.' + ); + } + persistentChildCompilerSingletonPlugin.addEntry(entry); + } + + getCompilationResult () { + const persistentChildCompilerSingletonPlugin = compilerMap.get(this.compiler); + if (!persistentChildCompilerSingletonPlugin) { + throw new Error( + 'PersistentChildCompilerSingletonPlugin instance not found.' + ); + } + return persistentChildCompilerSingletonPlugin.getLatestResult(); + } + + /** + * Returns the result for the given entry + * @param {string} entry + * @returns { + | { mainCompilationHash: string, error: Error } + | { mainCompilationHash: string, compiledEntry: ChildCompilationResultEntry } + } + */ + getCompilationEntryResult (entry) { + const latestResult = this.getCompilationResult(); + const compilationResult = latestResult.compilationResult; + return 'error' in compilationResult ? { + mainCompilationHash: latestResult.mainCompilationHash, + error: compilationResult.error + } : { + mainCompilationHash: latestResult.mainCompilationHash, + compiledEntry: compilationResult.compiledEntries[entry] + }; + } +} + +class PersistentChildCompilerSingletonPlugin { + constructor () { + /** + * @private + * @type { + | { + isCompiling: false, + isVerifyingCache: false, + entries: string[], + compiledEntries: string[], + mainCompilationHash: string, + compilationResult: ChildCompilationResult + } + | Readonly<{ + isCompiling: false, + isVerifyingCache: true, + entries: string[], + previousEntries: string[], + previousResult: ChildCompilationResult + }> + | Readonly <{ + isVerifyingCache: false, + isCompiling: true, + entries: string[], + }> + } the internal compilation state */ + this.compilationState = { + isCompiling: false, + isVerifyingCache: false, + entries: [], + compiledEntries: [], + mainCompilationHash: 'initial', + compilationResult: { + dependencies: { + fileDependencies: [], + contextDependencies: [], + missingDependencies: [] + }, + compiledEntries: {} + } + }; + } + + /** + * apply is called by the webpack main compiler during the start phase + * @param {WebpackCompiler} compiler + */ + apply (compiler) { + /** @type Promise */ + let childCompilationResultPromise = Promise.resolve({ + dependencies: { + fileDependencies: [], + contextDependencies: [], + missingDependencies: [] + }, + compiledEntries: {} + }); + /** + * The main compilation hash which will only be updated + * if the childCompiler changes + */ + let mainCompilationHashOfLastChildRecompile = ''; + /** @typedef{Snapshot|undefined} */ + let previousFileSystemSnapshot; + let compilationStartTime = new Date().getTime(); + + compiler.hooks.make.tapAsync( + 'PersistentChildCompilerSingletonPlugin', + (mainCompilation, callback) => { + if (this.compilationState.isCompiling || this.compilationState.isVerifyingCache) { + return callback(new Error('Child compilation has already started')); + } + + // Update the time to the current compile start time + compilationStartTime = new Date().getTime(); + + // The compilation starts - adding new templates is now not possible anymore + this.compilationState = { + isCompiling: false, + isVerifyingCache: true, + previousEntries: this.compilationState.compiledEntries, + previousResult: this.compilationState.compilationResult, + entries: this.compilationState.entries + }; + + // Validate cache: + const isCacheValidPromise = this.isCacheValid(previousFileSystemSnapshot, mainCompilation); + + let cachedResult = childCompilationResultPromise; + childCompilationResultPromise = isCacheValidPromise.then((isCacheValid) => { + // Reuse cache + if (isCacheValid) { + return cachedResult; + } + // Start the compilation + const compiledEntriesPromise = this.compileEntries( + mainCompilation, + this.compilationState.entries + ); + // Update snapshot as soon as we know the filedependencies + // this might possibly cause bugs if files were changed inbetween + // compilation start and snapshot creation + compiledEntriesPromise.then((childCompilationResult) => { + return fileWatcherApi.createSnapshot(childCompilationResult.dependencies, mainCompilation, compilationStartTime); + }).then((snapshot) => { + previousFileSystemSnapshot = snapshot; + }); + return compiledEntriesPromise; + }); + + // Add files to compilation which needs to be watched: + mainCompilation.hooks.optimizeTree.tapAsync( + 'PersistentChildCompilerSingletonPlugin', + (chunks, modules, callback) => { + const handleCompilationDonePromise = childCompilationResultPromise.then( + childCompilationResult => { + this.watchFiles( + mainCompilation, + childCompilationResult.dependencies + ); + }); + handleCompilationDonePromise.then(() => callback(null, chunks, modules), callback); + } + ); + + // Store the final compilation once the main compilation hash is known + mainCompilation.hooks.additionalAssets.tapAsync( + 'PersistentChildCompilerSingletonPlugin', + (callback) => { + const didRecompilePromise = Promise.all([childCompilationResultPromise, cachedResult]).then( + ([childCompilationResult, cachedResult]) => { + // Update if childCompilation changed + return (cachedResult !== childCompilationResult); + } + ); + + const handleCompilationDonePromise = Promise.all([childCompilationResultPromise, didRecompilePromise]).then( + ([childCompilationResult, didRecompile]) => { + // Update hash and snapshot if childCompilation changed + if (didRecompile) { + mainCompilationHashOfLastChildRecompile = mainCompilation.hash; + } + this.compilationState = { + isCompiling: false, + isVerifyingCache: false, + entries: this.compilationState.entries, + compiledEntries: this.compilationState.entries, + compilationResult: childCompilationResult, + mainCompilationHash: mainCompilationHashOfLastChildRecompile + }; + }); + handleCompilationDonePromise.then(() => callback(null), callback); + } + ); + + // Continue compilation: + callback(null); + } + ); + } + + /** + * Add a new entry to the next compile run + * @param {string} entry + */ + addEntry (entry) { + if (this.compilationState.isCompiling || this.compilationState.isVerifyingCache) { + throw new Error( + 'The child compiler has already started to compile. ' + + "Please add entries before the main compiler 'make' phase has started or " + + 'after the compilation is done.' + ); + } + if (this.compilationState.entries.indexOf(entry) === -1) { + this.compilationState.entries = [...this.compilationState.entries, entry]; + } + } + + getLatestResult () { + if (this.compilationState.isCompiling || this.compilationState.isVerifyingCache) { + throw new Error( + 'The child compiler is not done compiling. ' + + "Please access the result after the compiler 'make' phase has started or " + + 'after the compilation is done.' + ); + } + return { + mainCompilationHash: this.compilationState.mainCompilationHash, + compilationResult: this.compilationState.compilationResult + }; + } + + /** + * Verify that the cache is still valid + * @private + * @param {Snapshot | undefined} snapshot + * @param {WebpackCompilation} mainCompilation + * @returns {Promise} + */ + isCacheValid (snapshot, mainCompilation) { + if (!this.compilationState.isVerifyingCache) { + return Promise.reject(new Error('Cache validation can only be done right before the compilation starts')); + } + // If there are no entries we don't need a new child compilation + if (this.compilationState.entries.length === 0) { + return Promise.resolve(true); + } + // If there are new entries the cache is invalid + if (this.compilationState.entries !== this.compilationState.previousEntries) { + return Promise.resolve(false); + } + // Mark the cache as invalid if there is no snapshot + if (!snapshot) { + return Promise.resolve(false); + } + return fileWatcherApi.isSnapShotValid(snapshot, mainCompilation); + } + + /** + * Start to compile all templates + * + * @private + * @param {WebpackCompilation} mainCompilation + * @param {string[]} entries + * @returns {Promise} + */ + compileEntries (mainCompilation, entries) { + const compiler = new HtmlWebpackChildCompiler(entries); + return compiler.compileTemplates(mainCompilation).then((result) => { + return { + // The compiled sources to render the content + compiledEntries: result, + // The file dependencies to find out if a + // recompilation is required + dependencies: compiler.fileDependencies, + // The main compilation hash can be used to find out + // if this compilation was done during the current compilation + mainCompilationHash: mainCompilation.hash + }; + }, error => ({ + // The compiled sources to render the content + error, + // The file dependencies to find out if a + // recompilation is required + dependencies: compiler.fileDependencies, + // The main compilation hash can be used to find out + // if this compilation was done during the current compilation + mainCompilationHash: mainCompilation.hash + })); + } + + /** + * @private + * @param {WebpackCompilation} mainCompilation + * @param {FileDependencies} files + */ + watchFiles (mainCompilation, files) { + fileWatcherApi.watchFiles(mainCompilation, files); + } +} + +module.exports = { + CachedChildCompilation +}; diff --git a/lib/child-compiler.js b/lib/child-compiler.js new file mode 100644 index 00000000..8dd4ab44 --- /dev/null +++ b/lib/child-compiler.js @@ -0,0 +1,183 @@ +// @ts-check +/** @typedef {import("webpack/lib/Compilation.js")} WebpackCompilation */ +/** @typedef {import("webpack/lib/Compiler.js")} WebpackCompiler */ +/** @typedef {import("webpack/lib/Chunk.js")} WebpackChunk */ +'use strict'; +/** + * @file + * This file uses webpack to compile a template with a child compiler. + * + * [TEMPLATE] -> [JAVASCRIPT] + * + */ +'use strict'; +const NodeTemplatePlugin = require('webpack/lib/node/NodeTemplatePlugin'); +const NodeTargetPlugin = require('webpack/lib/node/NodeTargetPlugin'); +const LoaderTargetPlugin = require('webpack/lib/LoaderTargetPlugin'); +const LibraryTemplatePlugin = require('webpack/lib/LibraryTemplatePlugin'); +const SingleEntryPlugin = require('webpack/lib/SingleEntryPlugin'); + +/** + * The HtmlWebpackChildCompiler is a helper to allow resusing one childCompiler + * for multile HtmlWebpackPlugin instances to improve the compilation performance. + */ +class HtmlWebpackChildCompiler { + /** + * + * @param {string[]} templates + */ + constructor (templates) { + /** + * @type {string[]} templateIds + * The template array will allow us to keep track which input generated which output + */ + this.templates = templates; + /** + * @type {Promise<{[templatePath: string]: { content: string, hash: string, entry: WebpackChunk }}>} + */ + this.compilationPromise; // eslint-disable-line + /** + * @type {number} + */ + this.compilationStartedTimestamp; // eslint-disable-line + /** + * @type {number} + */ + this.compilationEndedTimestamp; // eslint-disable-line + /** + * All file dependencies of the child compiler + * @type {{fileDependencies: string[], contextDependencies: string[], missingDependencies: string[]}} + */ + this.fileDependencies = { fileDependencies: [], contextDependencies: [], missingDependencies: [] }; + } + + /** + * Returns true if the childCompiler is currently compiling + * @retuns {boolean} + */ + isCompiling () { + return !this.didCompile() && this.compilationStartedTimestamp !== undefined; + } + + /** + * Returns true if the childCOmpiler is done compiling + */ + didCompile () { + return this.compilationEndedTimestamp !== undefined; + } + + /** + * This function will start the template compilation + * once it is started no more templates can be added + * + * @param {WebpackCompilation} mainCompilation + * @returns {Promise<{[templatePath: string]: { content: string, hash: string, entry: WebpackChunk }}>} + */ + compileTemplates (mainCompilation) { + // To prevent multiple compilations for the same template + // the compilation is cached in a promise. + // If it already exists return + if (this.compilationPromise) { + return this.compilationPromise; + } + + // The entry file is just an empty helper as the dynamic template + // require is added in "loader.js" + const outputOptions = { + filename: '__child-[name]', + publicPath: mainCompilation.outputOptions.publicPath + }; + const compilerName = 'HtmlWebpackCompiler'; + // Create an additional child compiler which takes the template + // and turns it into an Node.JS html factory. + // This allows us to use loaders during the compilation + const childCompiler = mainCompilation.createChildCompiler(compilerName, outputOptions); + // The file path context which webpack uses to resolve all relative files to + childCompiler.context = mainCompilation.compiler.context; + // Compile the template to nodejs javascript + new NodeTemplatePlugin(outputOptions).apply(childCompiler); + new NodeTargetPlugin().apply(childCompiler); + new LibraryTemplatePlugin('HTML_WEBPACK_PLUGIN_RESULT', 'var').apply(childCompiler); + new LoaderTargetPlugin('node').apply(childCompiler); + + // Add all templates + this.templates.forEach((template, index) => { + new SingleEntryPlugin(childCompiler.context, template, `HtmlWebpackPlugin_${index}`).apply(childCompiler); + }); + + this.compilationStartedTimestamp = new Date().getTime(); + this.compilationPromise = new Promise((resolve, reject) => { + childCompiler.runAsChild((err, entries, childCompilation) => { + // Extract templates + const compiledTemplates = entries + ? extractHelperFilesFromCompilation(mainCompilation, childCompilation, outputOptions.filename, entries) + : []; + // Extract file dependencies + if (entries) { + this.fileDependencies = { fileDependencies: Array.from(childCompilation.fileDependencies), contextDependencies: Array.from(childCompilation.contextDependencies), missingDependencies: Array.from(childCompilation.missingDependencies) }; + } + // Reject the promise if the childCompilation contains error + if (childCompilation && childCompilation.errors && childCompilation.errors.length) { + const errorDetails = childCompilation.errors.map(error => error.message + (error.error ? ':\n' + error.error : '')).join('\n'); + reject(new Error('Child compilation failed:\n' + errorDetails)); + return; + } + // Reject if the error object contains errors + if (err) { + reject(err); + return; + } + /** + * @type {{[templatePath: string]: { content: string, hash: string, entry: WebpackChunk }}} + */ + const result = {}; + compiledTemplates.forEach((templateSource, entryIndex) => { + // The compiledTemplates are generated from the entries added in + // the addTemplate function. + // Therefore the array index of this.templates should be the as entryIndex. + result[this.templates[entryIndex]] = { + content: templateSource, + hash: childCompilation.hash, + entry: entries[entryIndex] + }; + }); + this.compilationEndedTimestamp = new Date().getTime(); + resolve(result); + }); + }); + + return this.compilationPromise; + } +} + +/** + * The webpack child compilation will create files as a side effect. + * This function will extract them and clean them up so they won't be written to disk. + * + * Returns the source code of the compiled templates as string + * + * @returns Array + */ +function extractHelperFilesFromCompilation (mainCompilation, childCompilation, filename, childEntryChunks) { + const helperAssetNames = childEntryChunks.map((entryChunk, index) => { + return mainCompilation.mainTemplate.getAssetPath(filename, { + hash: childCompilation.hash, + chunk: entryChunk, + name: `HtmlWebpackPlugin_${index}` + }); + }); + + helperAssetNames.forEach((helperFileName) => { + delete mainCompilation.assets[helperFileName]; + }); + + const helperContents = helperAssetNames.map((helperFileName) => { + return childCompilation.assets[helperFileName].source(); + }); + + return helperContents; +} + +module.exports = { + HtmlWebpackChildCompiler +}; diff --git a/lib/compiler.js b/lib/compiler.js deleted file mode 100644 index a13abf3d..00000000 --- a/lib/compiler.js +++ /dev/null @@ -1,356 +0,0 @@ -// @ts-check -/** @typedef {import("webpack/lib/Compilation.js")} WebpackCompilation */ -/** @typedef {import("webpack/lib/Compiler.js")} WebpackCompiler */ -/** @typedef {import("webpack/lib/Chunk.js")} WebpackChunk */ -'use strict'; -/** - * @file - * This file uses webpack to compile a template with a child compiler. - * - * [TEMPLATE] -> [JAVASCRIPT] - * - */ -'use strict'; -const NodeTemplatePlugin = require('webpack/lib/node/NodeTemplatePlugin'); -const NodeTargetPlugin = require('webpack/lib/node/NodeTargetPlugin'); -const LoaderTargetPlugin = require('webpack/lib/LoaderTargetPlugin'); -const LibraryTemplatePlugin = require('webpack/lib/LibraryTemplatePlugin'); -const SingleEntryPlugin = require('webpack/lib/SingleEntryPlugin'); - -/** - * The HtmlWebpackChildCompiler is a helper to allow resusing one childCompiler - * for multile HtmlWebpackPlugin instances to improve the compilation performance. - */ -class HtmlWebpackChildCompiler { - constructor () { - /** - * @type {string[]} templateIds - * The template array will allow us to keep track which input generated which output - */ - this.templates = []; - /** - * @type {Promise<{[templatePath: string]: { content: string, hash: string, entry: WebpackChunk }}>} - */ - this.compilationPromise; // eslint-disable-line - /** - * @type {number} - */ - this.compilationStartedTimestamp; // eslint-disable-line - /** - * @type {number} - */ - this.compilationEndedTimestamp; // eslint-disable-line - /** - * All file dependencies of the child compiler - * @type {string[]} - */ - this.fileDependencies = []; - } - - /** - * Add a templatePath to the child compiler - * The given template will be compiled by `compileTemplates` - * @param {string} template - The webpack path to the template e.g. `'!!html-loader!index.html'` - * @returns {boolean} true if the template is new - */ - addTemplate (template) { - const templateId = this.templates.indexOf(template); - // Don't add the template to the compiler if a similar template was already added - if (templateId !== -1) { - return false; - } - // A child compiler can compile only once - // throw an error if a new template is added after the compilation started - if (this.isCompiling()) { - throw new Error('New templates can only be added before `compileTemplates` was called.'); - } - // Add the template to the childCompiler - this.templates.push(template); - // Mark the cache invalid - return true; - } - - /** - * Returns true if the childCompiler is currently compiling - * @retuns {boolean} - */ - isCompiling () { - return !this.didCompile() && this.compilationStartedTimestamp !== undefined; - } - - /** - * Returns true if the childCOmpiler is done compiling - */ - didCompile () { - return this.compilationEndedTimestamp !== undefined; - } - - /** - * This function will start the template compilation - * once it is started no more templates can be added - * - * @param {WebpackCompilation} mainCompilation - * @returns {Promise<{[templatePath: string]: { content: string, hash: string, entry: WebpackChunk }}>} - */ - compileTemplates (mainCompilation) { - // To prevent multiple compilations for the same template - // the compilation is cached in a promise. - // If it already exists return - if (this.compilationPromise) { - return this.compilationPromise; - } - - // The entry file is just an empty helper as the dynamic template - // require is added in "loader.js" - const outputOptions = { - filename: '__child-[name]', - publicPath: mainCompilation.outputOptions.publicPath - }; - const compilerName = 'HtmlWebpackCompiler'; - // Create an additional child compiler which takes the template - // and turns it into an Node.JS html factory. - // This allows us to use loaders during the compilation - const childCompiler = mainCompilation.createChildCompiler(compilerName, outputOptions); - // The file path context which webpack uses to resolve all relative files to - childCompiler.context = mainCompilation.compiler.context; - // Compile the template to nodejs javascript - new NodeTemplatePlugin(outputOptions).apply(childCompiler); - new NodeTargetPlugin().apply(childCompiler); - new LibraryTemplatePlugin('HTML_WEBPACK_PLUGIN_RESULT', 'var').apply(childCompiler); - new LoaderTargetPlugin('node').apply(childCompiler); - - // Add all templates - this.templates.forEach((template, index) => { - new SingleEntryPlugin(childCompiler.context, template, `HtmlWebpackPlugin_${index}`).apply(childCompiler); - }); - - this.compilationStartedTimestamp = new Date().getTime(); - this.compilationPromise = new Promise((resolve, reject) => { - childCompiler.runAsChild((err, entries, childCompilation) => { - // Extract templates - const compiledTemplates = entries - ? extractHelperFilesFromCompilation(mainCompilation, childCompilation, outputOptions.filename, entries) - : []; - // Extract file dependencies - if (entries) { - this.fileDependencies = Array.from(childCompilation.fileDependencies); - } - // Reject the promise if the childCompilation contains error - if (childCompilation && childCompilation.errors && childCompilation.errors.length) { - const errorDetails = childCompilation.errors.map(error => error.message + (error.error ? ':\n' + error.error : '')).join('\n'); - reject(new Error('Child compilation failed:\n' + errorDetails)); - return; - } - // Reject if the error object contains errors - if (err) { - reject(err); - return; - } - /** - * @type {{[templatePath: string]: { content: string, hash: string, entry: WebpackChunk }}} - */ - const result = {}; - compiledTemplates.forEach((templateSource, entryIndex) => { - // The compiledTemplates are generated from the entries added in - // the addTemplate function. - // Therefore the array index of this.templates should be the as entryIndex. - result[this.templates[entryIndex]] = { - content: templateSource, - hash: childCompilation.hash, - entry: entries[entryIndex] - }; - }); - this.compilationEndedTimestamp = new Date().getTime(); - resolve(result); - }); - }); - - return this.compilationPromise; - } -} - -/** - * The webpack child compilation will create files as a side effect. - * This function will extract them and clean them up so they won't be written to disk. - * - * Returns the source code of the compiled templates as string - * - * @returns Array - */ -function extractHelperFilesFromCompilation (mainCompilation, childCompilation, filename, childEntryChunks) { - const helperAssetNames = childEntryChunks.map((entryChunk, index) => { - return mainCompilation.mainTemplate.getAssetPath(filename, { - hash: childCompilation.hash, - chunk: entryChunk, - name: `HtmlWebpackPlugin_${index}` - }); - }); - - helperAssetNames.forEach((helperFileName) => { - delete mainCompilation.assets[helperFileName]; - }); - - const helperContents = helperAssetNames.map((helperFileName) => { - return childCompilation.assets[helperFileName].source(); - }); - - return helperContents; -} - -/** - * @type {WeakMap}} - */ -const childCompilerCache = new WeakMap(); - -/** - * Get child compiler from cache or a new child compiler for the given mainCompilation - * - * @param {WebpackCompiler} mainCompiler - */ -function getChildCompiler (mainCompiler) { - const cachedChildCompiler = childCompilerCache.get(mainCompiler); - if (cachedChildCompiler) { - return cachedChildCompiler; - } - const newCompiler = new HtmlWebpackChildCompiler(); - childCompilerCache.set(mainCompiler, newCompiler); - return newCompiler; -} - -/** - * Remove the childCompiler from the cache - * - * @param {WebpackCompiler} mainCompiler - */ -function clearCache (mainCompiler) { - const childCompiler = getChildCompiler(mainCompiler); - // If this childCompiler was already used - // remove the entire childCompiler from the cache - if (childCompiler.isCompiling() || childCompiler.didCompile()) { - childCompilerCache.delete(mainCompiler); - } -} - -/** - * Register a template for the current main compiler - * @param {WebpackCompiler} mainCompiler - * @param {string} templatePath - */ -function addTemplateToCompiler (mainCompiler, templatePath) { - const childCompiler = getChildCompiler(mainCompiler); - const isNew = childCompiler.addTemplate(templatePath); - if (isNew) { - clearCache(mainCompiler); - } -} - -/** - * Starts the compilation for all templates. - * This has to be called once all templates where added. - * - * If this function is called multiple times it will use a cache inside - * the childCompiler - * - * @param {string} templatePath - * @param {string} outputFilename - * @param {WebpackCompilation} mainCompilation - */ -function compileTemplate (templatePath, outputFilename, mainCompilation) { - const childCompiler = getChildCompiler(mainCompilation.compiler); - return childCompiler.compileTemplates(mainCompilation).then((compiledTemplates) => { - if (!compiledTemplates[templatePath]) console.log(Object.keys(compiledTemplates), templatePath); - const compiledTemplate = compiledTemplates[templatePath]; - // Replace [hash] placeholders in filename - const outputName = mainCompilation.mainTemplate.getAssetPath(outputFilename, { - hash: compiledTemplate.hash, - chunk: compiledTemplate.entry - }); - return { - // Hash of the template entry point - hash: compiledTemplate.hash, - // Output name - outputName: outputName, - // Compiled code - content: compiledTemplate.content - }; - }); -} - -/** - * Return all file dependencies of the last child compilation - * - * @param {WebpackCompiler} compiler - * @returns {Array} - */ -function getFileDependencies (compiler) { - const childCompiler = getChildCompiler(compiler); - return childCompiler.fileDependencies; -} - -/** - * @type {WeakMap>}} - */ -const hasOutdatedCompilationDependenciesMap = new WeakMap(); -/** - * Returns `true` if the file dependencies of the current childCompiler - * for the given mainCompilation are outdated. - * - * Uses the `hasOutdatedCompilationDependenciesMap` cache if possible. - * - * @param {WebpackCompilation} mainCompilation - * @returns {boolean} - */ -function hasOutDatedTemplateCache (mainCompilation) { - const childCompiler = getChildCompiler(mainCompilation.compiler); - /** - * @type {WeakMap|undefined} - */ - let hasOutdatedChildCompilerDependenciesMap = hasOutdatedCompilationDependenciesMap.get(mainCompilation); - // Create map for childCompiler if none exist - if (!hasOutdatedChildCompilerDependenciesMap) { - hasOutdatedChildCompilerDependenciesMap = new WeakMap(); - hasOutdatedCompilationDependenciesMap.set(mainCompilation, hasOutdatedChildCompilerDependenciesMap); - } - // Try to get the `checkChildCompilerCache` result from cache - let isOutdated = hasOutdatedChildCompilerDependenciesMap.get(childCompiler); - if (isOutdated !== undefined) { - return isOutdated; - } - // If `checkChildCompilerCache` has never been called for the given - // `mainCompilation` and `childCompiler` combination call it: - isOutdated = isChildCompilerCacheOutdated(mainCompilation, childCompiler); - hasOutdatedChildCompilerDependenciesMap.set(childCompiler, isOutdated); - return isOutdated; -} - -/** - * Returns `true` if the file dependencies of the given childCompiler are outdated. - * - * @param {WebpackCompilation} mainCompilation - * @param {HtmlWebpackChildCompiler} childCompiler - * @returns {boolean} - */ -function isChildCompilerCacheOutdated (mainCompilation, childCompiler) { - // If the compilation was never run there is no invalid cache - if (!childCompiler.compilationStartedTimestamp) { - return false; - } - // Check if any dependent file was changed after the last compilation - const fileTimestamps = mainCompilation.fileTimestamps; - const isCacheOutOfDate = childCompiler.fileDependencies.some((fileDependency) => { - const timestamp = fileTimestamps.get(fileDependency); - // If the timestamp is not known the file is new - // If the timestamp is larger then the file has changed - // Otherwise the file is still the same - return !timestamp || timestamp > childCompiler.compilationStartedTimestamp; - }); - return isCacheOutOfDate; -} - -module.exports = { - addTemplateToCompiler, - compileTemplate, - hasOutDatedTemplateCache, - clearCache, - getFileDependencies -}; diff --git a/lib/file-watcher-api.js b/lib/file-watcher-api.js new file mode 100644 index 00000000..83c78fe8 --- /dev/null +++ b/lib/file-watcher-api.js @@ -0,0 +1,14 @@ +// @ts-check +/** + * To use the availble webpack core api + * we have to use different child compilers + * depending on the used webpack version + */ +const webpackMajorVersion = Number(require('webpack/package.json').version.split('.')[0]); + +// Typescript hack to test only the webpack 4 code +/** @type {import('./webpack4/file-watcher-api')} */ +module.exports = webpackMajorVersion === 4 + ? require('./webpack4/file-watcher-api.js') + // Hack to ignore './webpack5/file-watcher-api.js' from typescript: + : require('./webpack' + 5 + '/file-watcher-api.js'); diff --git a/lib/webpack4/file-watcher-api.js b/lib/webpack4/file-watcher-api.js new file mode 100644 index 00000000..e36a798c --- /dev/null +++ b/lib/webpack4/file-watcher-api.js @@ -0,0 +1,64 @@ +/** @typedef {import("webpack/lib/Compilation.js")} WebpackCompilation */ +/** @typedef {{timestamp: number, fileDependencies: string[]}} Snapshot */ +'use strict'; + +/** + * + * @param {{fileDependencies: string[], contextDependencies: string[], missingDependencies: string[]}} fileDependencies + * @param {WebpackCompilation} compilation + * @param {number} startTime + */ +function createSnapshot (fileDependencies, compilation, startTime) { + const flatDependencies = []; + Object.keys(fileDependencies).forEach((depencyTypes) => { + fileDependencies[depencyTypes].forEach(fileDependency => { + flatDependencies.push(fileDependency); + }); + }); + return { + fileDependencies: flatDependencies, + timestamp: startTime + }; +} + +/** + * Returns true if the files inside this snapshot + * have not been changed + * + * @param {Snapshot} snapshot + * @param {WebpackCompilation} compilation + * @returns {Promise} + */ +function isSnapShotValid (snapshot, compilation) { + // Check if any dependent file was changed after the last compilation + const fileTimestamps = compilation.fileTimestamps; + const isCacheOutOfDate = snapshot.fileDependencies.some((fileDependency) => { + const timestamp = fileTimestamps.get(fileDependency); + // If the timestamp is not known the file is new + // If the timestamp is larger then the file has changed + // Otherwise the file is still the same + return !timestamp || timestamp > snapshot.timestamp; + }); + return Promise.resolve(!isCacheOutOfDate); +} + +/** + * Ensure that the files keep watched for changes + * and will trigger a recompile + * + * @param {WebpackCompilation} mainCompilation + * @param {{fileDependencies: string[], contextDependencies: string[], missingDependencies: string[]}} fileDependencies + */ +function watchFiles (mainCompilation, fileDependencies) { + Object.keys(fileDependencies).forEach((depencyTypes) => { + fileDependencies[depencyTypes].forEach(fileDependency => { + mainCompilation.compilationDependencies.add(fileDependency); + }); + }); +} + +module.exports = { + createSnapshot, + isSnapShotValid, + watchFiles +}; diff --git a/lib/webpack5/file-watcher-api.js b/lib/webpack5/file-watcher-api.js new file mode 100644 index 00000000..1a7c0b9e --- /dev/null +++ b/lib/webpack5/file-watcher-api.js @@ -0,0 +1,71 @@ +/** @typedef {import("webpack/lib/Compilation.js")} WebpackCompilation */ +/** @typedef {import("webpack/lib/FileSystemInfo").Snapshot} Snapshot */ +'use strict'; + +/** + * + * @param {{fileDependencies: string[], contextDependencies: string[], missingDependencies: string[]}} fileDependencies + * @param {WebpackCompilation} mainCompilation + * @param {number} startTime + */ +function createSnapshot (fileDependencies, mainCompilation, startTime) { + return new Promise((resolve, reject) => { + mainCompilation.fileSystemInfo.createSnapshot( + startTime, + fileDependencies.fileDependencies, + fileDependencies.contextDependencies, + fileDependencies.missingDependencies, + null, + (err, snapshot) => { + if (err) { + return reject(err); + } + resolve(snapshot); + } + ); + }); +} + +/** + * Returns true if the files inside this snapshot + * have not been changed + * + * @param {Snapshot} snapshot + * @param {WebpackCompilation} compilation + * @returns {Promise} + */ +function isSnapShotValid (snapshot, mainCompilation) { + return new Promise((resolve, reject) => { + mainCompilation.fileSystemInfo.checkSnapshotValid( + snapshot, + (err, isValid) => { + if (err) { + reject(err); + } + resolve(isValid); + } + ); + }); +} + +/** + * Ensure that the files keep watched for changes + * and will trigger a recompile + * + * @param {WebpackCompilation} mainCompilation + * @param {{fileDependencies: string[], contextDependencies: string[], missingDependencies: string[]}} fileDependencies + */ +function watchFiles (mainCompilation, fileDependencies) { + Object.keys(fileDependencies).forEach((depencyTypes) => { + fileDependencies[depencyTypes].forEach(fileDependency => { + mainCompilation.fileDependencies.add(fileDependency); + mainCompilation[depencyTypes].add(fileDependency); + }); + }); +} + +module.exports = { + createSnapshot, + isSnapShotValid, + watchFiles +}; diff --git a/package.json b/package.json index c0784656..12e12482 100644 --- a/package.json +++ b/package.json @@ -42,12 +42,12 @@ "pug": "2.0.3", "pug-loader": "2.4.0", "rimraf": "2.6.3", - "semistandard": "13.0.1", + "semistandard": "^13.0.1", "standard-version": "5.0.2", "style-loader": "0.23.1", - "typescript": "3.5.2", + "typescript": "3.8.3", "webpack": "4.35.2", - "webpack-recompilation-simulator": "3.0.0" + "webpack-recompilation-simulator": "3.2.0" }, "dependencies": { "@types/html-minifier-terser": "^5.0.0", diff --git a/spec/basic.spec.js b/spec/basic.spec.js index 769fa0ae..63c4b185 100644 --- a/spec/basic.spec.js +++ b/spec/basic.spec.js @@ -405,7 +405,7 @@ describe('HtmlWebpackPlugin', () => { it('works with source maps', done => { testHtmlPlugin({ mode: 'development', - devtool: 'sourcemap', + devtool: 'source-map', entry: path.join(__dirname, 'fixtures/index.js'), output: { path: OUTPUT_DIR, @@ -1044,7 +1044,7 @@ describe('HtmlWebpackPlugin', () => { let eventFired = false; const examplePlugin = { apply: function (compiler) { - compiler.plugin('compilation', compilation => { + compiler.hooks.compilation.tap('HtmlWebpackPlugin', compilation => { HtmlWebpackPlugin.getHooks(compilation).alterAssetTags.tapAsync('HtmlWebpackPluginTest', (object, callback) => { expect(Object.keys(object.assetTags)).toEqual(['scripts', 'styles', 'meta']); eventFired = true; @@ -1078,7 +1078,7 @@ describe('HtmlWebpackPlugin', () => { it('allows events to add a no-value attribute', done => { const examplePlugin = { apply: function (compiler) { - compiler.plugin('compilation', compilation => { + compiler.hooks.compilation.tap('HtmlWebpackPlugin', compilation => { HtmlWebpackPlugin.getHooks(compilation).alterAssetTags.tapAsync('HtmlWebpackPluginTest', (pluginArgs, callback) => { pluginArgs.assetTags.scripts = pluginArgs.assetTags.scripts.map(tag => { if (tag.tagName === 'script') { @@ -1112,7 +1112,7 @@ describe('HtmlWebpackPlugin', () => { it('allows events to remove an attribute by setting it to false', done => { const examplePlugin = { apply: function (compiler) { - compiler.plugin('compilation', compilation => { + compiler.hooks.compilation.tap('HtmlWebpackPlugin', compilation => { HtmlWebpackPlugin.getHooks(compilation).alterAssetTags.tapAsync('HtmlWebpackPluginTest', (pluginArgs, callback) => { pluginArgs.assetTags.scripts = pluginArgs.assetTags.scripts.map(tag => { if (tag.tagName === 'script') { @@ -1147,7 +1147,7 @@ describe('HtmlWebpackPlugin', () => { let eventFired = false; const examplePlugin = { apply: function (compiler) { - compiler.plugin('compilation', compilation => { + compiler.hooks.compilation.tap('HtmlWebpackPlugin', compilation => { HtmlWebpackPlugin.getHooks(compilation).afterTemplateExecution.tapAsync('HtmlWebpackPluginTest', (object, callback) => { eventFired = true; callback(); @@ -1181,7 +1181,7 @@ describe('HtmlWebpackPlugin', () => { let eventFired = false; const examplePlugin = { apply: function (compiler) { - compiler.plugin('compilation', compilation => { + compiler.hooks.compilation.tap('HtmlWebpackPlugin', compilation => { HtmlWebpackPlugin.getHooks(compilation).beforeEmit.tapAsync('HtmlWebpackPluginTest', (object, callback) => { eventFired = true; callback(); @@ -1214,7 +1214,7 @@ describe('HtmlWebpackPlugin', () => { let eventFired = false; const examplePlugin = { apply: function (compiler) { - compiler.plugin('compilation', compilation => { + compiler.hooks.compilation.tap('HtmlWebpackPlugin', compilation => { HtmlWebpackPlugin.getHooks(compilation).afterEmit.tapAsync('HtmlWebpackPluginTest', (object, callback) => { eventFired = true; callback(); @@ -1245,7 +1245,7 @@ describe('HtmlWebpackPlugin', () => { let eventFired = false; const examplePlugin = { apply: function (compiler) { - compiler.plugin('compilation', compilation => { + compiler.hooks.compilation.tap('HtmlWebpackPlugin', compilation => { HtmlWebpackPlugin.getHooks(compilation).beforeEmit.tapAsync('HtmlWebpackPluginTest', (object, callback) => { eventFired = true; object.html += 'Injected by plugin'; @@ -1280,7 +1280,7 @@ describe('HtmlWebpackPlugin', () => { let hookNames; const examplePlugin = { apply: function (compiler) { - compiler.plugin('compilation', compilation => { + compiler.hooks.compilation.tap('HtmlWebpackPlugin', compilation => { hookNames = Object.keys(HtmlWebpackPlugin.getHooks(compilation)).sort(); }); } @@ -1318,7 +1318,7 @@ describe('HtmlWebpackPlugin', () => { let eventFiredForSecondPlugin = false; const examplePlugin = { apply: function (compiler) { - compiler.plugin('compilation', compilation => { + compiler.hooks.compilation.tap('HtmlWebpackPlugin', compilation => { HtmlWebpackPlugin.getHooks(compilation).beforeEmit.tapAsync('HtmlWebpackPluginTest', (object, callback) => { eventFiredForFirstPlugin = true; object.html += 'Injected by first plugin'; @@ -1329,7 +1329,7 @@ describe('HtmlWebpackPlugin', () => { }; const secondExamplePlugin = { apply: function (compiler) { - compiler.plugin('compilation', compilation => { + compiler.hooks.compilation.tap('HtmlWebpackPlugin', compilation => { HtmlWebpackPlugin.getHooks(compilation).beforeEmit.tapAsync('HtmlWebpackPluginTest', (object, callback) => { eventFiredForSecondPlugin = true; object.html += ' Injected by second plugin'; @@ -1367,7 +1367,7 @@ describe('HtmlWebpackPlugin', () => { let eventFiredForSecondPlugin = false; const examplePlugin = { apply: function (compiler) { - compiler.plugin('compilation', compilation => { + compiler.hooks.compilation.tap('HtmlWebpackPlugin', compilation => { HtmlWebpackPlugin.getHooks(compilation).beforeEmit.tapAsync('HtmlWebpackPluginTest', (object, callback) => { eventFiredForFirstPlugin = true; const result = _.extend(object, { @@ -1380,7 +1380,7 @@ describe('HtmlWebpackPlugin', () => { }; const secondExamplePlugin = { apply: function (compiler) { - compiler.plugin('compilation', compilation => { + compiler.hooks.compilation.tap('HtmlWebpackPlugin', compilation => { HtmlWebpackPlugin.getHooks(compilation).beforeEmit.tapAsync('HtmlWebpackPluginTest', (object, callback) => { eventFiredForSecondPlugin = true; object.html += ' Injected by second plugin'; @@ -1418,7 +1418,7 @@ describe('HtmlWebpackPlugin', () => { let eventFiredForSecondPlugin = false; const examplePlugin = { apply: function (compiler) { - compiler.plugin('compilation', compilation => { + compiler.hooks.compilation.tap('HtmlWebpackPlugin', compilation => { HtmlWebpackPlugin.getHooks(compilation).beforeEmit.tapAsync('HtmlWebpackPluginTest', (object, callback) => { eventFiredForFirstPlugin = true; const result = _.extend(object, { @@ -1431,7 +1431,7 @@ describe('HtmlWebpackPlugin', () => { }; const secondExamplePlugin = { apply: function (compiler) { - compiler.plugin('compilation', compilation => { + compiler.hooks.compilation.tap('HtmlWebpackPlugin', compilation => { HtmlWebpackPlugin.getHooks(compilation).beforeEmit.tapAsync('HtmlWebpackPluginTest', (object, callback) => { eventFiredForSecondPlugin = true; const result = _.extend(object, { @@ -1468,7 +1468,7 @@ describe('HtmlWebpackPlugin', () => { let eventFired = false; const examplePlugin = { apply: function (compiler) { - compiler.plugin('compilation', compilation => { + compiler.hooks.compilation.tap('HtmlWebpackPlugin', compilation => { HtmlWebpackPlugin.getHooks(compilation).afterTemplateExecution.tapAsync('HtmlWebpackPluginTest', (object, callback) => { eventFired = true; object.bodyTags.push(HtmlWebpackPlugin.createHtmlTagObject('script', { src: 'funky-script.js' })); @@ -1504,7 +1504,7 @@ describe('HtmlWebpackPlugin', () => { let eventFired = false; const examplePlugin = { apply: function (compiler) { - compiler.plugin('compilation', compilation => { + compiler.hooks.compilation.tap('HtmlWebpackPlugin', compilation => { HtmlWebpackPlugin.getHooks(compilation).beforeAssetTagGeneration.tapAsync('HtmlWebpackPluginTest', (object, callback) => { eventFired = true; object.assets.js.push('funky-script.js'); @@ -1548,7 +1548,7 @@ describe('HtmlWebpackPlugin', () => { let hookLength = 0; const examplePlugin = { apply: function (compiler) { - compiler.plugin('compilation', compilation => { + compiler.hooks.compilation.tap('HtmlWebpackPlugin', compilation => { const hooks = HtmlWebpackPlugin.getHooks(compilation); hookLength = hooks.length; // Hook into all hooks @@ -1937,7 +1937,10 @@ describe('HtmlWebpackPlugin', () => { template: path.join(__dirname, 'fixtures/non-existing-template.html') }) ] - }, ['Child compilation failed:\n Entry module not found:'], null, done, true); + }, [Number(webpackMajorVersion) >= 5 + ? 'Child compilation failed:\n Module not found:' + : 'Child compilation failed:\n Entry module not found:' + ], null, done, true); }); it('should sort the chunks in auto mode', done => { diff --git a/spec/caching.spec.js b/spec/caching.spec.js index bbb293cd..f7cbc030 100644 --- a/spec/caching.spec.js +++ b/spec/caching.spec.js @@ -47,7 +47,7 @@ function setUpCompiler (htmlWebpackPlugin) { function getCompiledModules (statsJson) { const builtModules = statsJson.modules.filter(webpackModule => webpackModule.built).map((webpackModule) => { - return module.userRequest; + return webpackModule.name; }); statsJson.children.forEach((childCompilationStats) => { const builtChildModules = getCompiledModules(childCompilationStats); diff --git a/spec/hot.spec.js b/spec/hot.spec.js index 6a2120de..a2f5e156 100644 --- a/spec/hot.spec.js +++ b/spec/hot.spec.js @@ -81,8 +81,8 @@ describe('HtmlWebpackPluginHMR', () => { const hotUpdateJsFileNames = Object.keys(stats.compilation.assets).filter((fileName) => /\.hot-update\.js$/.test(fileName)); expect(hotUpdateJsFileNames).not.toEqual([]); expect(hotUpdateJsFileNames.length).toEqual(1); - const hotUpdateFileSource = stats.compilation.assets[hotUpdateJsFileNames[0]].source(); - expect(hotUpdateFileSource).not.toEqual(''); + const hotUpdateFileSize = stats.compilation.assets[hotUpdateJsFileNames[0]].size(); + expect(hotUpdateFileSize).not.toEqual(0); }) .then(() => compiler.stopWatching()); }); diff --git a/tsconfig.json b/tsconfig.json index 112ef7cb..dfcd473f 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -24,7 +24,9 @@ /* Module Resolution Options */ "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ - "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ + "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ + "resolveJsonModule": true, + "skipLibCheck": true }, "types": ["node"], "exclude": [ @@ -32,6 +34,7 @@ "spec", "examples", "dist", - "coverage" + "coverage", + "lib/webpack5/*.js" ] } From 9c571e2e25ff396ddd092a51273d1ee61ca1fa32 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Thu, 9 Apr 2020 17:49:08 +0200 Subject: [PATCH 151/290] feat: Allow webpack 5 as peer dependency --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 12e12482..6497df4b 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "util.promisify": "1.0.0" }, "peerDependencies": { - "webpack": "^4.0.0" + "webpack": ">=4.0.0 < 6.0.0" }, "keywords": [ "webpack", From 66faf168d00b5af9424c9e7e03d99b8899b51b44 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Thu, 9 Apr 2020 17:49:41 +0200 Subject: [PATCH 152/290] chore(release): 4.1.0 --- CHANGELOG.md | 10 ++++++++++ package.json | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 40847338..eede4e3f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,16 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +# [4.1.0](https://github.com/jantimon/html-webpack-plugin/compare/v4.0.4...v4.1.0) (2020-04-09) + + +### Features + +* Add webpack 5 support ([39c38a4](https://github.com/jantimon/html-webpack-plugin/commit/39c38a4)) +* Allow webpack 5 as peer dependency ([9c571e2](https://github.com/jantimon/html-webpack-plugin/commit/9c571e2)) + + + ## [4.0.4](https://github.com/jantimon/html-webpack-plugin/compare/v4.0.3...v4.0.4) (2020-04-01) diff --git a/package.json b/package.json index 6497df4b..92f43ed4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "html-webpack-plugin", - "version": "4.0.4", + "version": "4.1.0", "license": "MIT", "description": "Simplifies creation of HTML files to serve your webpack bundles", "author": "Jan Nicklas (https://github.com/jantimon)", From 4740bf769d25341d9aaade176202ad9117b5d468 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Thu, 9 Apr 2020 18:24:40 +0200 Subject: [PATCH 153/290] feat: Add template content (#1401) --- README.md | 94 ++++++++++++++++++++++++++++++++-------------- index.js | 10 ++--- lib/html-tags.js | 24 ++++++++++++ spec/basic.spec.js | 28 ++++++++++++++ typings.d.ts | 1 + 5 files changed, 122 insertions(+), 35 deletions(-) diff --git a/README.md b/README.md index 566d150e..3dbffbe0 100644 --- a/README.md +++ b/README.md @@ -134,6 +134,7 @@ Allowed values are as follows |**`title`**|`{String}`|`Webpack App`|The title to use for the generated HTML document| |**`filename`**|`{String}`|`'index.html'`|The file to write the HTML to. Defaults to `index.html`. You can specify a subdirectory here too (eg: `assets/admin.html`)| |**`template`**|`{String}`|``|`webpack` relative or absolute path to the template. By default it will use `src/index.ejs` if it exists. Please see the [docs](https://github.com/jantimon/html-webpack-plugin/blob/master/docs/template-option.md) for details| +|**`templateContent`**|`{string\|Function|false}`|false| Can be used instead of `template` to provide an inline template - please read the [Writing Your Own Templates](https://github.com/jantimon/html-webpack-plugin#writing-your-own-templates) section | |**`templateParameters`**|`{Boolean\|Object\|Function}`|``| Allows to overwrite the parameters used in the template - see [example](https://github.com/jantimon/html-webpack-plugin/tree/master/examples/template-parameters) | |**`inject`**|`{Boolean\|String}`|`true`|`true \|\| 'head' \|\| 'body' \|\| false` Inject all assets into the given `template` or `templateContent`. When passing `true` or `'body'` all javascript resources will be placed at the bottom of the body element. `'head'` will place the scripts in the head element - see the [inject:false example](https://github.com/jantimon/html-webpack-plugin/tree/master/examples/custom-insertion-position)| |**`scriptLoading`**|`{'blocking'\|'defer'}`|`'blocking'`| Modern browsers support non blocking javascript loading (`'defer'`) to improve the page startup performance. | @@ -243,40 +244,40 @@ plugins: [ You can use the `lodash` syntax out of the box. If the `inject` feature doesn't fit your needs and you want full control over the asset placement use the [default template](https://github.com/jaketrent/html-webpack-template/blob/86f285d5c790a6c15263f5cc50fd666d51f974fd/index.html) of the [html-webpack-template project](https://github.com/jaketrent/html-webpack-template) as a starting point for writing your own. -The following variables are available in the template: +The following variables are available in the template by default (you can extend them using the `templateParameters` option): + - `htmlWebpackPlugin`: data specific to this plugin - - `htmlWebpackPlugin.files`: a massaged representation of the - `assetsByChunkName` attribute of webpack's [stats](https://github.com/webpack/docs/wiki/node.js-api#stats) - object. It contains a mapping from entry point name to the bundle filename, eg: - ```json - "htmlWebpackPlugin": { - "files": { - "css": [ "main.css" ], - "js": [ "assets/head_bundle.js", "assets/main_bundle.js"], - "chunks": { - "head": { - "entry": "assets/head_bundle.js", - "css": [ "main.css" ] - }, - "main": { - "entry": "assets/main_bundle.js", - "css": [] - }, - } - } - } - ``` - If you've set a publicPath in your webpack config this will be reflected - correctly in this assets hash. - `htmlWebpackPlugin.options`: the options hash that was passed to the plugin. In addition to the options actually used by this plugin, you can use this hash to pass arbitrary data through to your template. -- `webpack`: the webpack [stats](https://github.com/webpack/docs/wiki/node.js-api#stats) - object. Note that this is the stats object as it was at the time the HTML template - was emitted and as such may not have the full set of stats that are available - after the webpack run is complete. + - `htmlWebpackPlugin.tags`: the prepared `headTags` and `bodyTags` Array to render the ``, ``, `'], null, done); + }); }); diff --git a/typings.d.ts b/typings.d.ts index 102efbcf..5e2c1b2e 100644 --- a/typings.d.ts +++ b/typings.d.ts @@ -109,6 +109,7 @@ declare namespace HtmlWebpackPlugin { templateContent: | false // Use the template option instead to load a file | string + | ((templateParameters: { [option: string]: any }) => (string | Promise)) | Promise; /** * Allows to overwrite the parameters used in the template From a75cc26dd8032c2d084f282b15477d04ddf07ff4 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Thu, 9 Apr 2020 18:30:55 +0200 Subject: [PATCH 154/290] chore(release): 4.2.0 --- CHANGELOG.md | 9 +++++++++ package.json | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eede4e3f..f42a4cb8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,15 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +# [4.2.0](https://github.com/jantimon/html-webpack-plugin/compare/v4.1.0...v4.2.0) (2020-04-09) + + +### Features + +* Add template content ([#1401](https://github.com/jantimon/html-webpack-plugin/issues/1401)) ([4740bf7](https://github.com/jantimon/html-webpack-plugin/commit/4740bf7)) + + + # [4.1.0](https://github.com/jantimon/html-webpack-plugin/compare/v4.0.4...v4.1.0) (2020-04-09) diff --git a/package.json b/package.json index 92f43ed4..9db60845 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "html-webpack-plugin", - "version": "4.1.0", + "version": "4.2.0", "license": "MIT", "description": "Simplifies creation of HTML files to serve your webpack bundles", "author": "Jan Nicklas (https://github.com/jantimon)", From 597257c0d1f44086116a5cbb21785c8c3204c0fc Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Thu, 9 Apr 2020 19:34:17 +0200 Subject: [PATCH 155/290] docs: fix table layout --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3dbffbe0..567e8447 100644 --- a/README.md +++ b/README.md @@ -135,7 +135,7 @@ Allowed values are as follows |**`filename`**|`{String}`|`'index.html'`|The file to write the HTML to. Defaults to `index.html`. You can specify a subdirectory here too (eg: `assets/admin.html`)| |**`template`**|`{String}`|``|`webpack` relative or absolute path to the template. By default it will use `src/index.ejs` if it exists. Please see the [docs](https://github.com/jantimon/html-webpack-plugin/blob/master/docs/template-option.md) for details| |**`templateContent`**|`{string\|Function|false}`|false| Can be used instead of `template` to provide an inline template - please read the [Writing Your Own Templates](https://github.com/jantimon/html-webpack-plugin#writing-your-own-templates) section | -|**`templateParameters`**|`{Boolean\|Object\|Function}`|``| Allows to overwrite the parameters used in the template - see [example](https://github.com/jantimon/html-webpack-plugin/tree/master/examples/template-parameters) | +|**`templateParameters`**|`{Boolean\|Object\|Function}`| `false`| Allows to overwrite the parameters used in the template - see [example](https://github.com/jantimon/html-webpack-plugin/tree/master/examples/template-parameters) | |**`inject`**|`{Boolean\|String}`|`true`|`true \|\| 'head' \|\| 'body' \|\| false` Inject all assets into the given `template` or `templateContent`. When passing `true` or `'body'` all javascript resources will be placed at the bottom of the body element. `'head'` will place the scripts in the head element - see the [inject:false example](https://github.com/jantimon/html-webpack-plugin/tree/master/examples/custom-insertion-position)| |**`scriptLoading`**|`{'blocking'\|'defer'}`|`'blocking'`| Modern browsers support non blocking javascript loading (`'defer'`) to improve the page startup performance. | |**`favicon`**|`{String}`|``|Adds the given favicon path to the output HTML| @@ -289,7 +289,7 @@ The following variables are available in the template by default (you can extend The template can also be directly inlined directly into the options object. -⚠️ **This approach does not allow to use weboack loaders for your template and will not update the template on changes** +⚠️ **`templateContent` does not allow to use weboack loaders for your template and will not watch for template file changes** **webpack.config.js** ```js @@ -305,7 +305,7 @@ new HtmlWebpackPlugin({ ``` The `templateContent` can also access all `templateParameters` values. -⚠️ **This approach does not allow to use weboack loaders for your template and will not update the template on changes** +⚠️ **`templateContent` does not allow to use weboack loaders for your template and will not watch for template file changes** **webpack.config.js** ```js From d21cafedc3ccc10ab1a6614774a1f6e620b5fbe0 Mon Sep 17 00:00:00 2001 From: Krisan Alifari Date: Fri, 10 Apr 2020 14:19:08 +0700 Subject: [PATCH 156/290] docs: fix minor typos Replace `weboack` with `webpack` --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 567e8447..73b99b0f 100644 --- a/README.md +++ b/README.md @@ -289,7 +289,7 @@ The following variables are available in the template by default (you can extend The template can also be directly inlined directly into the options object. -⚠️ **`templateContent` does not allow to use weboack loaders for your template and will not watch for template file changes** +⚠️ **`templateContent` does not allow to use webpack loaders for your template and will not watch for template file changes** **webpack.config.js** ```js @@ -305,7 +305,7 @@ new HtmlWebpackPlugin({ ``` The `templateContent` can also access all `templateParameters` values. -⚠️ **`templateContent` does not allow to use weboack loaders for your template and will not watch for template file changes** +⚠️ **`templateContent` does not allow to use webpack loaders for your template and will not watch for template file changes** **webpack.config.js** ```js From 0dfaad0c7a63aa76f6283576198a3aa951f5fa24 Mon Sep 17 00:00:00 2001 From: LS Date: Fri, 10 Apr 2020 11:01:55 +0700 Subject: [PATCH 157/290] docs: fix typo on description of `templateContent` options --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 73b99b0f..e0bddd88 100644 --- a/README.md +++ b/README.md @@ -134,7 +134,7 @@ Allowed values are as follows |**`title`**|`{String}`|`Webpack App`|The title to use for the generated HTML document| |**`filename`**|`{String}`|`'index.html'`|The file to write the HTML to. Defaults to `index.html`. You can specify a subdirectory here too (eg: `assets/admin.html`)| |**`template`**|`{String}`|``|`webpack` relative or absolute path to the template. By default it will use `src/index.ejs` if it exists. Please see the [docs](https://github.com/jantimon/html-webpack-plugin/blob/master/docs/template-option.md) for details| -|**`templateContent`**|`{string\|Function|false}`|false| Can be used instead of `template` to provide an inline template - please read the [Writing Your Own Templates](https://github.com/jantimon/html-webpack-plugin#writing-your-own-templates) section | +|**`templateContent`**|`{string\|Function\|false}`|false| Can be used instead of `template` to provide an inline template - please read the [Writing Your Own Templates](https://github.com/jantimon/html-webpack-plugin#writing-your-own-templates) section | |**`templateParameters`**|`{Boolean\|Object\|Function}`| `false`| Allows to overwrite the parameters used in the template - see [example](https://github.com/jantimon/html-webpack-plugin/tree/master/examples/template-parameters) | |**`inject`**|`{Boolean\|String}`|`true`|`true \|\| 'head' \|\| 'body' \|\| false` Inject all assets into the given `template` or `templateContent`. When passing `true` or `'body'` all javascript resources will be placed at the bottom of the body element. `'head'` will place the scripts in the head element - see the [inject:false example](https://github.com/jantimon/html-webpack-plugin/tree/master/examples/custom-insertion-position)| |**`scriptLoading`**|`{'blocking'\|'defer'}`|`'blocking'`| Modern browsers support non blocking javascript loading (`'defer'`) to improve the page startup performance. | From b6bb7fd70ca138c95a6cdad7254fbbb6ebfbce7f Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Fri, 10 Apr 2020 12:13:59 +0200 Subject: [PATCH 158/290] docs: Fix typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e0bddd88..46b8c5dc 100644 --- a/README.md +++ b/README.md @@ -310,7 +310,7 @@ The `templateContent` can also access all `templateParameters` values. **webpack.config.js** ```js new HtmlWebpackPlugin({ - injext: false + inject: false templateContent: ({htmlWebpackPlugin}) => ` From 159723c28dbb7353d77c6403bcd0a81e304be17b Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Fri, 10 Apr 2020 12:19:09 +0200 Subject: [PATCH 159/290] docs: Add comma to demo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 46b8c5dc..73185850 100644 --- a/README.md +++ b/README.md @@ -310,7 +310,7 @@ The `templateContent` can also access all `templateParameters` values. **webpack.config.js** ```js new HtmlWebpackPlugin({ - inject: false + inject: false, templateContent: ({htmlWebpackPlugin}) => ` From 96e0ae607afa7295c40d0a5073c791189def6337 Mon Sep 17 00:00:00 2001 From: Daniel Skogly Date: Tue, 14 Apr 2020 14:50:49 +0200 Subject: [PATCH 160/290] Remove `dependency` as valid `chunksSortMode` (#1406) As this was removed a while back, and now just gives `"dependency" is not a valid chunk sort mode` --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 73185850..e206bed4 100644 --- a/README.md +++ b/README.md @@ -146,7 +146,7 @@ Allowed values are as follows |**`cache`**|`{Boolean}`|`true`|Emit the file only if it was changed| |**`showErrors`**|`{Boolean}`|`true`|Errors details will be written into the HTML page| |**`chunks`**|`{?}`|`?`|Allows you to add only some chunks (e.g only the unit-test chunk)| -|**[`chunksSortMode`](#plugins)**|`{String\|Function}`|`auto`|Allows to control how chunks should be sorted before they are included to the HTML. Allowed values are `'none' \| 'auto' \| 'dependency' \| 'manual' \| {Function}`| +|**[`chunksSortMode`](#plugins)**|`{String\|Function}`|`auto`|Allows to control how chunks should be sorted before they are included to the HTML. Allowed values are `'none' \| 'auto' \| 'manual' \| {Function}`| |**`excludeChunks`**|`{Array.}`|``|Allows you to skip some chunks (e.g don't add the unit-test chunk)| |**`xhtml`**|`{Boolean}`|`false`|If `true` render the `link` tags as self-closing (XHTML compliant)| From ceafe143650749a5f53a14411dc1b762e252ec44 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Tue, 28 Apr 2020 17:09:07 +0200 Subject: [PATCH 161/290] fix: don't add dependencies twice to the webpack 5 watcher api --- lib/webpack5/file-watcher-api.js | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/webpack5/file-watcher-api.js b/lib/webpack5/file-watcher-api.js index 1a7c0b9e..0803fdee 100644 --- a/lib/webpack5/file-watcher-api.js +++ b/lib/webpack5/file-watcher-api.js @@ -58,7 +58,6 @@ function isSnapShotValid (snapshot, mainCompilation) { function watchFiles (mainCompilation, fileDependencies) { Object.keys(fileDependencies).forEach((depencyTypes) => { fileDependencies[depencyTypes].forEach(fileDependency => { - mainCompilation.fileDependencies.add(fileDependency); mainCompilation[depencyTypes].add(fileDependency); }); }); From 119252a381bf43dea37c1be64f90c10bebc21302 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Tue, 28 Apr 2020 17:06:03 +0200 Subject: [PATCH 162/290] fix: prevent scripts marked as hotModuleReplacement from being added to the html file --- index.js | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index cd022a33..2d8b16ff 100644 --- a/index.js +++ b/index.js @@ -574,7 +574,21 @@ class HtmlWebpackPlugin { const extensionRegexp = /\.(css|js|mjs)(\?|$)/; for (let i = 0; i < entryNames.length; i++) { const entryName = entryNames[i]; - const entryPointFiles = compilation.entrypoints.get(entryName).getFiles(); + /** entryPointUnfilteredFiles - also includes hot module update files */ + const entryPointUnfilteredFiles = compilation.entrypoints.get(entryName).getFiles(); + + const entryPointFiles = entryPointUnfilteredFiles.filter((chunkFile) => { + // compilation.getAsset was introduced in webpack 4.4.0 + // once the support pre webpack 4.4.0 is dropped please + // remove the following guard: + if (!compilation.getAsset) { + return true; + } + // Prevent hot-module files from beeing included: + const assetMetaInformation = compilation.getAsset(chunkFile).info || {}; + return !(assetMetaInformation.hotModuleReplacement || assetMetaInformation.development); + }); + // Prepend the publicPath and append the hash depending on the // webpack.output.publicPath and hashOptions // E.g. bundle.js -> /bundle.js?hash From 44c6d58b0ba94fff85a1ef1e5a6c989ae23be75a Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Tue, 28 Apr 2020 17:36:52 +0200 Subject: [PATCH 163/290] chore(release): 4.2.1 --- CHANGELOG.md | 10 ++++++++++ package.json | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f42a4cb8..ce7a4b86 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,16 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [4.2.1](https://github.com/jantimon/html-webpack-plugin/compare/v4.2.0...v4.2.1) (2020-04-28) + + +### Bug Fixes + +* don't add dependencies twice to the webpack 5 watcher api ([ceafe14](https://github.com/jantimon/html-webpack-plugin/commit/ceafe143650749a5f53a14411dc1b762e252ec44)) +* prevent scripts marked as hotModuleReplacement from being added to the html file ([119252a](https://github.com/jantimon/html-webpack-plugin/commit/119252a381bf43dea37c1be64f90c10bebc21302)) + + + # [4.2.0](https://github.com/jantimon/html-webpack-plugin/compare/v4.1.0...v4.2.0) (2020-04-09) diff --git a/package.json b/package.json index 9db60845..867a1549 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "html-webpack-plugin", - "version": "4.2.0", + "version": "4.2.1", "license": "MIT", "description": "Simplifies creation of HTML files to serve your webpack bundles", "author": "Jan Nicklas (https://github.com/jantimon)", From 4785281713a547d62a71e024d63d5353c73c86b2 Mon Sep 17 00:00:00 2001 From: Avery Larsen Date: Tue, 28 Apr 2020 11:30:59 -0700 Subject: [PATCH 164/290] Update example to account for object merging PR #1331 introduces new behavior that merges a passed object with the defaults. --- .../template-parameters/webpack.config.js | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/examples/template-parameters/webpack.config.js b/examples/template-parameters/webpack.config.js index 535562b2..bf76f0a1 100755 --- a/examples/template-parameters/webpack.config.js +++ b/examples/template-parameters/webpack.config.js @@ -11,20 +11,24 @@ module.exports = { }, plugins: [ new HtmlWebpackPlugin({ - // NOTE if you pass plain object it will be passed as is. no default values there, so be aware! - // for implementation detail, please see index.js and search for "userOptions" variable - templateParameters: (compilation, assets, assetTags, options) => { - return { - compilation, - webpackConfig: compilation.options, - htmlWebpackPlugin: { - tags: assetTags, - files: assets, - options - }, - 'foo': 'bar' - }; + // If you pass a plain object, it will be merged with the default values + // (New in version 4) + templateParameters: { + 'foo': 'bar' }, + // Or if you want full control, pass a function + // templateParameters: (compilation, assets, assetTags, options) => { + // return { + // compilation, + // webpackConfig: compilation.options, + // htmlWebpackPlugin: { + // tags: assetTags, + // files: assets, + // options + // }, + // 'foo': 'bar' + // }; + // }, template: 'index.ejs' }) ] From c40dd859d542e7d9e0a68f0661bac6389795eef5 Mon Sep 17 00:00:00 2001 From: Vladislav Ivanov Date: Tue, 28 Apr 2020 21:45:20 +0300 Subject: [PATCH 165/290] fix: use modern icon tag rel attribute for favicons --- examples/favicon/dist/webpack-4/favicon.html | 2 +- examples/favicon/dist/webpack-5/favicon.html | 2 +- .../html-loader/dist/webpack-4/about.html | 2 +- .../html-loader/dist/webpack-4/index.html | 2 +- .../html-loader/dist/webpack-5/about.html | 2 +- .../html-loader/dist/webpack-5/index.html | 2 +- examples/pug-loader/dist/webpack-4/index.html | 2 +- examples/pug-loader/dist/webpack-5/index.html | 2 +- index.js | 2 +- spec/basic.spec.js | 20 +++++++++---------- 10 files changed, 19 insertions(+), 19 deletions(-) diff --git a/examples/favicon/dist/webpack-4/favicon.html b/examples/favicon/dist/webpack-4/favicon.html index 3f61fb6d..713b4512 100644 --- a/examples/favicon/dist/webpack-4/favicon.html +++ b/examples/favicon/dist/webpack-4/favicon.html @@ -1 +1 @@ -HtmlWebpackPlugin example \ No newline at end of file +HtmlWebpackPlugin example \ No newline at end of file diff --git a/examples/favicon/dist/webpack-5/favicon.html b/examples/favicon/dist/webpack-5/favicon.html index 3f61fb6d..713b4512 100644 --- a/examples/favicon/dist/webpack-5/favicon.html +++ b/examples/favicon/dist/webpack-5/favicon.html @@ -1 +1 @@ -HtmlWebpackPlugin example \ No newline at end of file +HtmlWebpackPlugin example \ No newline at end of file diff --git a/examples/html-loader/dist/webpack-4/about.html b/examples/html-loader/dist/webpack-4/about.html index 166bf3ed..8fe11065 100644 --- a/examples/html-loader/dist/webpack-4/about.html +++ b/examples/html-loader/dist/webpack-4/about.html @@ -1 +1 @@ -Example template \ No newline at end of file +Example template \ No newline at end of file diff --git a/examples/html-loader/dist/webpack-4/index.html b/examples/html-loader/dist/webpack-4/index.html index 166bf3ed..8fe11065 100644 --- a/examples/html-loader/dist/webpack-4/index.html +++ b/examples/html-loader/dist/webpack-4/index.html @@ -1 +1 @@ -Example template \ No newline at end of file +Example template \ No newline at end of file diff --git a/examples/html-loader/dist/webpack-5/about.html b/examples/html-loader/dist/webpack-5/about.html index 166bf3ed..8fe11065 100644 --- a/examples/html-loader/dist/webpack-5/about.html +++ b/examples/html-loader/dist/webpack-5/about.html @@ -1 +1 @@ -Example template \ No newline at end of file +Example template \ No newline at end of file diff --git a/examples/html-loader/dist/webpack-5/index.html b/examples/html-loader/dist/webpack-5/index.html index 166bf3ed..8fe11065 100644 --- a/examples/html-loader/dist/webpack-5/index.html +++ b/examples/html-loader/dist/webpack-5/index.html @@ -1 +1 @@ -Example template \ No newline at end of file +Example template \ No newline at end of file diff --git a/examples/pug-loader/dist/webpack-4/index.html b/examples/pug-loader/dist/webpack-4/index.html index 0620dc7e..7f28826f 100644 --- a/examples/pug-loader/dist/webpack-4/index.html +++ b/examples/pug-loader/dist/webpack-4/index.html @@ -1 +1 @@ -pug demo
Current time

1998-12-31T23:00:00.000Z

\ No newline at end of file +pug demo
Current time

1998-12-31T23:00:00.000Z

\ No newline at end of file diff --git a/examples/pug-loader/dist/webpack-5/index.html b/examples/pug-loader/dist/webpack-5/index.html index 0620dc7e..7f28826f 100644 --- a/examples/pug-loader/dist/webpack-5/index.html +++ b/examples/pug-loader/dist/webpack-5/index.html @@ -1 +1 @@ -pug demo
Current time

1998-12-31T23:00:00.000Z

\ No newline at end of file +pug demo
Current time

1998-12-31T23:00:00.000Z

\ No newline at end of file diff --git a/index.js b/index.js index 2d8b16ff..ad444b49 100644 --- a/index.js +++ b/index.js @@ -785,7 +785,7 @@ class HtmlWebpackPlugin { tagName: 'link', voidTag: true, attributes: { - rel: 'shortcut icon', + rel: 'icon', href: faviconPath } }]; diff --git a/spec/basic.spec.js b/spec/basic.spec.js index 233076bd..9575312a 100644 --- a/spec/basic.spec.js +++ b/spec/basic.spec.js @@ -1625,7 +1625,7 @@ describe('HtmlWebpackPlugin', () => { favicon: path.join(__dirname, 'fixtures/favicon.ico') }) ] - }, [//], null, done); + }, [//], null, done); }); it('adds a base tag with attributes', done => { @@ -1716,7 +1716,7 @@ describe('HtmlWebpackPlugin', () => { favicon: path.join(__dirname, 'fixtures/favicon.ico') }) ] - }, [//], null, done); + }, [//], null, done); }); it('adds a favicon with publicPath set to /some', done => { @@ -1733,7 +1733,7 @@ describe('HtmlWebpackPlugin', () => { favicon: path.join(__dirname, 'fixtures/favicon.ico') }) ] - }, [//], null, done); + }, [//], null, done); }); it('adds a favicon with publicPath set to some/', done => { @@ -1750,7 +1750,7 @@ describe('HtmlWebpackPlugin', () => { favicon: path.join(__dirname, 'fixtures/favicon.ico') }) ] - }, [//], null, done); + }, [//], null, done); }); it('adds a favicon with publicPath undefined', done => { @@ -1766,7 +1766,7 @@ describe('HtmlWebpackPlugin', () => { favicon: path.join(__dirname, 'fixtures/favicon.ico') }) ] - }, [//], null, done); + }, [//], null, done); }); it('adds a favicon with publicPath undefined', done => { @@ -1783,7 +1783,7 @@ describe('HtmlWebpackPlugin', () => { filename: path.resolve(OUTPUT_DIR, 'subfolder', 'test.html') }) ] - }, [//], path.join('subfolder', 'test.html'), done); + }, [//], path.join('subfolder', 'test.html'), done); }); it('adds a favicon with a publichPath set to /[hash]/ and replaces the hash', done => { @@ -1800,7 +1800,7 @@ describe('HtmlWebpackPlugin', () => { favicon: path.join(__dirname, 'fixtures/favicon.ico') }) ] - }, [//], null, done); + }, [//], null, done); }); it('adds a favicon with a publichPath set to [hash]/ and replaces the hash', done => { @@ -1817,7 +1817,7 @@ describe('HtmlWebpackPlugin', () => { favicon: path.join(__dirname, 'fixtures/favicon.ico') }) ] - }, [//], null, done); + }, [//], null, done); }); it('adds a favicon with inject enabled', done => { @@ -1834,7 +1834,7 @@ describe('HtmlWebpackPlugin', () => { favicon: path.join(__dirname, 'fixtures/favicon.ico') }) ] - }, [//], null, done); + }, [//], null, done); }); it('adds a favicon with xhtml enabled', done => { @@ -1855,7 +1855,7 @@ describe('HtmlWebpackPlugin', () => { favicon: path.join(__dirname, 'fixtures/favicon.ico') }) ] - }, [//], null, done); + }, [//], null, done); }); it('shows an error if the favicon could not be load', done => { From 648e824e10b0348146a149c475242d28dd4df508 Mon Sep 17 00:00:00 2001 From: in-in Date: Mon, 27 Apr 2020 00:16:40 +0300 Subject: [PATCH 166/290] docs: delete duplicate paragraph --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index e206bed4..1310801c 100644 --- a/README.md +++ b/README.md @@ -275,9 +275,6 @@ The following variables are available in the template by default (you can extend favicon?: string; ``` - - `htmlWebpackPlugin.options`: the options hash that was passed to - the plugin. In addition to the options actually used by this plugin, - you can use this hash to pass arbitrary data through to your template. - `webpackConfig`: the webpack configuration that was used for this compilation. This can be used, for example, to get the `publicPath` (`webpackConfig.output.publicPath`). From ea97fbea34a979a170d0adfb22992a27b6b509dd Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Thu, 30 Apr 2020 17:33:08 +0200 Subject: [PATCH 167/290] chore: use webpack next to testing webpack 5 --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0e114d3c..e603d050 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,11 +5,11 @@ node_js: - 6.9 env: - WEBPACK_CORE=4 - - WEBPACK_CORE=beta + - WEBPACK_CORE=next jobs: exclude: - node_js: 6.9 - env: WEBPACK_CORE=beta + env: WEBPACK_CORE=next before_install: - stty columns 120 install: From 253ce305b8028babb174cd01a3b1404b39f79699 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Thu, 30 Apr 2020 16:57:35 +0200 Subject: [PATCH 168/290] fix: Prevent "cannot read property info of undefined" when reading meta information from assets --- index.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index ad444b49..5c73c3c3 100644 --- a/index.js +++ b/index.js @@ -581,11 +581,12 @@ class HtmlWebpackPlugin { // compilation.getAsset was introduced in webpack 4.4.0 // once the support pre webpack 4.4.0 is dropped please // remove the following guard: - if (!compilation.getAsset) { + const asset = compilation.getAsset && compilation.getAsset(chunkFile); + if (!asset) { return true; } // Prevent hot-module files from beeing included: - const assetMetaInformation = compilation.getAsset(chunkFile).info || {}; + const assetMetaInformation = asset.info || {}; return !(assetMetaInformation.hotModuleReplacement || assetMetaInformation.development); }); From 8359c698657558dd25935c93e090a847b90e84ea Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Thu, 30 Apr 2020 19:03:13 +0200 Subject: [PATCH 169/290] chore(release): 4.2.2 --- CHANGELOG.md | 10 ++++++++++ package.json | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ce7a4b86..14a11a53 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,16 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [4.2.2](https://github.com/jantimon/html-webpack-plugin/compare/v4.2.1...v4.2.2) (2020-04-30) + + +### Bug Fixes + +* Prevent "cannot read property info of undefined" when reading meta information from assets ([253ce30](https://github.com/jantimon/html-webpack-plugin/commit/253ce30)) +* use modern icon tag rel attribute for favicons ([c40dd85](https://github.com/jantimon/html-webpack-plugin/commit/c40dd85)) + + + ## [4.2.1](https://github.com/jantimon/html-webpack-plugin/compare/v4.2.0...v4.2.1) (2020-04-28) diff --git a/package.json b/package.json index 867a1549..38092f8e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "html-webpack-plugin", - "version": "4.2.1", + "version": "4.2.2", "license": "MIT", "description": "Simplifies creation of HTML files to serve your webpack bundles", "author": "Jan Nicklas (https://github.com/jantimon)", From c3f2fdc6169678bfde4b4ebc1d60bc7a8745aa7d Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Wed, 29 Apr 2020 15:52:41 +0200 Subject: [PATCH 170/290] feat: Allow to use console.log inside templates --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index 5c73c3c3..2d58ab54 100644 --- a/index.js +++ b/index.js @@ -306,7 +306,7 @@ class HtmlWebpackPlugin { // To extract the result during the evaluation this part has to be removed. source = source.replace('var HTML_WEBPACK_PLUGIN_RESULT =', ''); const template = this.options.template.replace(/^.+!/, '').replace(/\?.+$/, ''); - const vmContext = vm.createContext(_.extend({ HTML_WEBPACK_PLUGIN: true, require: require }, global)); + const vmContext = vm.createContext(_.extend({ HTML_WEBPACK_PLUGIN: true, require: require, console: console }, global)); const vmScript = new vm.Script(source, { filename: template }); // Evaluate code and cast to string let newSource; From 428f24d2eb053f5431c0d1b39c2d5e1eb0b1ffde Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Thu, 30 Apr 2020 19:38:45 +0200 Subject: [PATCH 171/290] chore(release): 4.3.0 --- CHANGELOG.md | 9 +++++++++ package.json | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 14a11a53..24d61a45 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,15 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +# [4.3.0](https://github.com/jantimon/html-webpack-plugin/compare/v4.2.2...v4.3.0) (2020-04-30) + + +### Features + +* Allow to use console.log inside templates ([c3f2fdc](https://github.com/jantimon/html-webpack-plugin/commit/c3f2fdc)) + + + ## [4.2.2](https://github.com/jantimon/html-webpack-plugin/compare/v4.2.1...v4.2.2) (2020-04-30) diff --git a/package.json b/package.json index 38092f8e..0986d842 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "html-webpack-plugin", - "version": "4.2.2", + "version": "4.3.0", "license": "MIT", "description": "Simplifies creation of HTML files to serve your webpack bundles", "author": "Jan Nicklas (https://github.com/jantimon)", From 683435db8d3a7b41b69adf482c44aefa00858671 Mon Sep 17 00:00:00 2001 From: Adam Yost Date: Thu, 30 Apr 2020 21:51:44 -0400 Subject: [PATCH 172/290] Add skip-assets plugin to plugin list I noticed that the the famous excludeAssets plugin is incompatible with html-webpack-plugin v4+ and has been idle for ~2 years, so I developed a drop in replacement, which is backwards compatible and allows the usage of minimatch blobs or regex patterns. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1310801c..9f536a07 100644 --- a/README.md +++ b/README.md @@ -78,6 +78,7 @@ The `html-webpack-plugin` provides [hooks](https://github.com/jantimon/html-webp * [html-webpack-link-type-plugin](https://github.com/steadyapp/html-webpack-link-type-plugin) adds a configurable mimetype to resources injected as links (such as adding type="text/css" to external stylesheets) for compatibility with "strict mode". * [csp-html-webpack-plugin](https://github.com/slackhq/csp-html-webpack-plugin) to add [Content Security Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy) meta tags to the HTML output * [webpack-nomodule-plugin](https://github.com/swimmadude66/webpack-nomodule-plugin) allows you to add a `nomodule` attribute to specific injected scripts, which prevents the scripts from being loaded by newer browsers. Good for limiting loads of polyfills. + * [html-webpack-skip-assets-plugin](https://github.com/swimmadude66/html-webpack-skip-assets-plugin) Skip adding certain output files to the html file. Built as a drop-in replacement for [html-webpack-exclude-assets-plugin](https://www.npmjs.com/package/html-webpack-exclude-assets-plugin) and works with newer [html-webpack-plugin](https://github.com/jantimon/html-webpack-plugin) versions

Usage

From 115bd8a5f8641dc2bd58dd5efefe360e3cdc0102 Mon Sep 17 00:00:00 2001 From: Peter Blazejewicz Date: Sat, 16 May 2020 18:13:12 +0200 Subject: [PATCH 173/290] docs: Type definition minor updates - defaults added for TS consumption - static `version` exposed - static `createHtmlTagObject` exposed - minor typos fixed Thanks! --- lib/html-tags.js | 2 +- typings.d.ts | 25 ++++++++++++++++++------- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/lib/html-tags.js b/lib/html-tags.js index f28621d7..da571580 100644 --- a/lib/html-tags.js +++ b/lib/html-tags.js @@ -47,7 +47,7 @@ function htmlTagObjectToString (tagDefinition, xhtml) { * Static helper to create a tag object to be get injected into the dom * * @param {string} tagName - * the name of the tage e.g. 'div' + * the name of the tag e.g. 'div' * * @param {{[attributeName: string]: string|boolean}} [attributes] * tag attributes e.g. `{ 'class': 'example', disabled: true }` diff --git a/typings.d.ts b/typings.d.ts index 5e2c1b2e..7bae9439 100644 --- a/typings.d.ts +++ b/typings.d.ts @@ -10,6 +10,17 @@ declare class HtmlWebpackPlugin { apply(compiler: Compiler): void; static getHooks(compilation: compilation.Compilation): HtmlWebpackPlugin.Hooks; + + /** + * Static helper to create a tag object to be get injected into the dom + */ + static createHtmlTagObject( + tagName: string, + attributes?: { [attributeName: string]: string | boolean }, + innerHTML?: string + ): HtmlTagObject; + + static readonly version: number; } declare namespace HtmlWebpackPlugin { @@ -23,7 +34,7 @@ declare namespace HtmlWebpackPlugin { interface ProcessedOptions { /** * Emit the file only if it was changed. - * Default: `true`. + * @default true */ cache: boolean; /** @@ -32,14 +43,14 @@ declare namespace HtmlWebpackPlugin { chunks: "all" | string[]; /** * Allows to control how chunks should be sorted before they are included to the html. - * Default: `'auto'`. + * @default 'auto' */ chunksSortMode: | "auto" | "manual" | (((entryNameA: string, entryNameB: string) => number)); /** - * List all entries which should not be injeccted + * List all entries which should not be injected */ excludeChunks: string[]; /** @@ -48,8 +59,8 @@ declare namespace HtmlWebpackPlugin { favicon: false | string; /** * The file to write the HTML to. - * Defaults to `index.html`. * Supports subdirectories eg: `assets/admin.html` + * @default 'index.html' */ filename: string; /** @@ -70,7 +81,7 @@ declare namespace HtmlWebpackPlugin { * blocking will result in * defer will result in * - * The default behaviour is blocking + * @default 'blocking' */ scriptLoading: | "blocking" @@ -87,11 +98,11 @@ declare namespace HtmlWebpackPlugin { | { [attributeName: string]: string | boolean }; // custom properties e.g. { name:"viewport" content:"width=500, initial-scale=1" } }; /** - * HTML Minification options accepts the following valeus: + * HTML Minification options accepts the following values: * - Set to `false` to disable minifcation * - Set to `'auto'` to enable minifcation only for production mode * - Set to custom minification according to - * @https://github.com/kangax/html-minifier#options-quick-reference + * {@link https://github.com/kangax/html-minifier#options-quick-reference} */ minify: 'auto' | boolean | MinifyOptions; /** From d051f5f49b88519fbf29e002f1df6a2e6cf951de Mon Sep 17 00:00:00 2001 From: Brian Peiris Date: Thu, 11 Jun 2020 15:54:29 -0700 Subject: [PATCH 174/290] Remove link from "chunksSortMode" in README Doesn't seem like there's a reason it should link to the plugins section. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9f536a07..9fa4eace 100644 --- a/README.md +++ b/README.md @@ -147,7 +147,7 @@ Allowed values are as follows |**`cache`**|`{Boolean}`|`true`|Emit the file only if it was changed| |**`showErrors`**|`{Boolean}`|`true`|Errors details will be written into the HTML page| |**`chunks`**|`{?}`|`?`|Allows you to add only some chunks (e.g only the unit-test chunk)| -|**[`chunksSortMode`](#plugins)**|`{String\|Function}`|`auto`|Allows to control how chunks should be sorted before they are included to the HTML. Allowed values are `'none' \| 'auto' \| 'manual' \| {Function}`| +|**`chunksSortMode`**|`{String\|Function}`|`auto`|Allows to control how chunks should be sorted before they are included to the HTML. Allowed values are `'none' \| 'auto' \| 'manual' \| {Function}`| |**`excludeChunks`**|`{Array.}`|``|Allows you to skip some chunks (e.g don't add the unit-test chunk)| |**`xhtml`**|`{Boolean}`|`false`|If `true` render the `link` tags as self-closing (XHTML compliant)| From 85accfac32b4d31a9bf6bc16d3c94d18dc516cf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1mal=20Rasmussen?= Date: Mon, 8 Jun 2020 22:21:19 +0100 Subject: [PATCH 175/290] Add stacktrace to error message from childCompilation.errors I was had an error that was thrown in my webpack.config.ts that was causing childCompilation to fail. But I didn't know it was an error thrown in my webpack.config.ts because child-compiler.js didn't include the stack trace in the error message. The stack trace I got ended at line 122 in node_modules\html-webpack-plugin\lib\child-compiler.js. So I fiddled with that to make it output the inner error stack trace and then I got the actual place of the error. --- lib/child-compiler.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/child-compiler.js b/lib/child-compiler.js index 8dd4ab44..d8959792 100644 --- a/lib/child-compiler.js +++ b/lib/child-compiler.js @@ -118,7 +118,16 @@ class HtmlWebpackChildCompiler { } // Reject the promise if the childCompilation contains error if (childCompilation && childCompilation.errors && childCompilation.errors.length) { - const errorDetails = childCompilation.errors.map(error => error.message + (error.error ? ':\n' + error.error : '')).join('\n'); + const errorDetails = childCompilation.errors.map(error => { + let message = error.message; + if (error.error) { + message += ':\n' + error.error; + } + if (error.stack) { + message += '\n' + error.stack; + } + return message; + }).join('\n'); reject(new Error('Child compilation failed:\n' + errorDetails)); return; } From 6e17a0cd7e99c08fdf6eb6e79b88f589af35c645 Mon Sep 17 00:00:00 2001 From: Sam Chen Date: Mon, 29 Jun 2020 02:19:30 +0800 Subject: [PATCH 176/290] docs: fix typos (#1474) --- docs/template-option.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/template-option.md b/docs/template-option.md index f4e5423a..68ca59b3 100644 --- a/docs/template-option.md +++ b/docs/template-option.md @@ -32,7 +32,7 @@ Please note that this loader does not support the full ejs syntax as it is based } ``` -Be aware, using `.html` as your template extention may unexpectedly trigger another loader. +Be aware, using `.html` as your template extension may unexpectedly trigger another loader. ## 2) Setting a loader directly for the template @@ -43,12 +43,12 @@ new HtmlWebpackPlugin({ }) ``` -## 3) Setting a loader using the `module.loaders` syntax +## 3) Setting a loader using the `module.rules` syntax ```js { module: { - loaders: [ + rules: [ { test: /\.hbs$/, loader: 'handlebars-loader' @@ -69,7 +69,7 @@ This will **cause html minification** and it will also **disable the ejs/lodash ```js { module: { - loaders: [ + rules: [ { test: /\.html$/, loader: 'html-loader' From 6b0711e79c128ea239b938750f62a0cd0c394e7f Mon Sep 17 00:00:00 2001 From: Taylor Cargill Date: Tue, 4 Aug 2020 09:35:09 -0400 Subject: [PATCH 177/290] fix: fix typos in comments (#1484) --- index.js | 12 ++++++------ lib/cached-child-compiler.js | 2 +- lib/child-compiler.js | 8 ++++---- lib/file-watcher-api.js | 2 +- lib/html-tags.js | 4 ++-- spec/basic.spec.js | 4 ++-- spec/caching.spec.js | 4 ++-- 7 files changed, 18 insertions(+), 18 deletions(-) diff --git a/index.js b/index.js index 2d58ab54..60b0ca7e 100644 --- a/index.js +++ b/index.js @@ -201,7 +201,7 @@ class HtmlWebpackPlugin { plugin: self })) .then(({ assetTags }) => { - // Inject scripts to body unless it set explictly to head + // Inject scripts to body unless it set explicitly to head const scriptTarget = self.options.inject === 'head' ? 'head' : 'body'; // Group assets to `head` and `body` tag arrays const assetGroups = this.generateAssetGroups(assetTags, scriptTarget); @@ -214,7 +214,7 @@ class HtmlWebpackPlugin { }); }); - // Turn the compiled tempalte into a nodejs function or into a nodejs string + // Turn the compiled template into a nodejs function or into a nodejs string const templateEvaluationPromise = Promise.resolve() .then(() => { if ('error' in templateResult) { @@ -527,7 +527,7 @@ class HtmlWebpackPlugin { /** * @type {string} the configured public path to the asset root * if a path publicPath is set in the current webpack config use it otherwise - * fallback to a realtive path + * fallback to a relative path */ const webpackPublicPath = compilation.mainTemplate.getPublicPath({ hash: compilationHash }); const isPublicPathDefined = webpackPublicPath.trim() !== ''; @@ -585,7 +585,7 @@ class HtmlWebpackPlugin { if (!asset) { return true; } - // Prevent hot-module files from beeing included: + // Prevent hot-module files from being included: const assetMetaInformation = asset.info || {}; return !(assetMetaInformation.hotModuleReplacement || assetMetaInformation.development); }); @@ -622,8 +622,8 @@ class HtmlWebpackPlugin { } /** - * Converts a favicon file from disk to a webpack ressource - * and returns the url to the ressource + * Converts a favicon file from disk to a webpack resource + * and returns the url to the resource * * @param {string|false} faviconFilePath * @param {WebpackCompilation} compilation diff --git a/lib/cached-child-compiler.js b/lib/cached-child-compiler.js index e7444005..ee044fc3 100644 --- a/lib/cached-child-compiler.js +++ b/lib/cached-child-compiler.js @@ -58,7 +58,7 @@ class CachedChildCompilation { * @type {WebpackCompiler} */ this.compiler = compiler; - // Create a singlton instance for the compiler + // Create a singleton instance for the compiler // if there is none if (compilerMap.has(compiler)) { return; diff --git a/lib/child-compiler.js b/lib/child-compiler.js index d8959792..88180a0a 100644 --- a/lib/child-compiler.js +++ b/lib/child-compiler.js @@ -18,8 +18,8 @@ const LibraryTemplatePlugin = require('webpack/lib/LibraryTemplatePlugin'); const SingleEntryPlugin = require('webpack/lib/SingleEntryPlugin'); /** - * The HtmlWebpackChildCompiler is a helper to allow resusing one childCompiler - * for multile HtmlWebpackPlugin instances to improve the compilation performance. + * The HtmlWebpackChildCompiler is a helper to allow reusing one childCompiler + * for multiple HtmlWebpackPlugin instances to improve the compilation performance. */ class HtmlWebpackChildCompiler { /** @@ -53,14 +53,14 @@ class HtmlWebpackChildCompiler { /** * Returns true if the childCompiler is currently compiling - * @retuns {boolean} + * @returns {boolean} */ isCompiling () { return !this.didCompile() && this.compilationStartedTimestamp !== undefined; } /** - * Returns true if the childCOmpiler is done compiling + * Returns true if the childCompiler is done compiling */ didCompile () { return this.compilationEndedTimestamp !== undefined; diff --git a/lib/file-watcher-api.js b/lib/file-watcher-api.js index 83c78fe8..316796ba 100644 --- a/lib/file-watcher-api.js +++ b/lib/file-watcher-api.js @@ -1,6 +1,6 @@ // @ts-check /** - * To use the availble webpack core api + * To use the available webpack core api * we have to use different child compilers * depending on the used webpack version */ diff --git a/lib/html-tags.js b/lib/html-tags.js index da571580..94911d1a 100644 --- a/lib/html-tags.js +++ b/lib/html-tags.js @@ -2,8 +2,8 @@ /** @typedef {import("../typings").HtmlTagObject} HtmlTagObject */ /** * @file - * This file provides to helper to create html as a object repesentation as - * thoses objects are easier to modify than pure string representations + * This file provides to helper to create html as a object representation as + * those objects are easier to modify than pure string representations * * Usage: * ``` diff --git a/spec/basic.spec.js b/spec/basic.spec.js index 9575312a..c4692e6b 100644 --- a/spec/basic.spec.js +++ b/spec/basic.spec.js @@ -1786,7 +1786,7 @@ describe('HtmlWebpackPlugin', () => { }, [//], path.join('subfolder', 'test.html'), done); }); - it('adds a favicon with a publichPath set to /[hash]/ and replaces the hash', done => { + it('adds a favicon with a publicPath set to /[hash]/ and replaces the hash', done => { testHtmlPlugin({ mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), @@ -1803,7 +1803,7 @@ describe('HtmlWebpackPlugin', () => { }, [//], null, done); }); - it('adds a favicon with a publichPath set to [hash]/ and replaces the hash', done => { + it('adds a favicon with a publicPath set to [hash]/ and replaces the hash', done => { testHtmlPlugin({ mode: 'production', entry: path.join(__dirname, 'fixtures/index.js'), diff --git a/spec/caching.spec.js b/spec/caching.spec.js index f7cbc030..88d00435 100644 --- a/spec/caching.spec.js +++ b/spec/caching.spec.js @@ -103,7 +103,7 @@ describe('HtmlWebpackPluginCaching', () => { // Verify that no file was built expect(getCompiledModules(stats.toJson())) .toEqual([]); - // Verify that the html was processed only during the inital build + // Verify that the html was processed only during the initial build expect(htmlWebpackPlugin.evaluateCompilationResult.mock.calls.length) .toBe(1); // Verify that the child compilation was executed twice @@ -131,7 +131,7 @@ describe('HtmlWebpackPluginCaching', () => { // Verify that only one file was built expect(getCompiledModuleCount(stats.toJson())) .toBe(1); - // Verify that the html was processed only during the inital build + // Verify that the html was processed only during the initial build expect(htmlWebpackPlugin.evaluateCompilationResult.mock.calls.length) .toBe(1); // Verify that the child compilation was executed only once From 4ae7be8243461ce4537d98047abf0fa517dd0308 Mon Sep 17 00:00:00 2001 From: Bartosz Dominiak Date: Sun, 30 Aug 2020 14:28:37 +0200 Subject: [PATCH 178/290] feat: added v5 compilation support and deleted depreciation warnings #1454 --- index.js | 15 ++++++++++++--- lib/child-compiler.js | 10 ++++++++-- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/index.js b/index.js index 60b0ca7e..b735787b 100644 --- a/index.js +++ b/index.js @@ -27,6 +27,8 @@ const getHtmlWebpackPluginHooks = require('./lib/hooks.js').getHtmlWebpackPlugin const fsStatAsync = promisify(fs.stat); const fsReadFileAsync = promisify(fs.readFile); +const webpackMajorVersion = Number(require('webpack/package.json').version.split('.')[0]); + class HtmlWebpackPlugin { /** * @param {HtmlWebpackOptions} [options] @@ -149,12 +151,16 @@ class HtmlWebpackPlugin { compilation.errors.push(prettyError(templateResult.error, compiler.context).toString()); } - const childCompilationOutputName = compilation.mainTemplate.getAssetPath(this.options.filename, 'compiledEntry' in templateResult ? { + const compiledEntries = 'compiledEntry' in templateResult ? { hash: templateResult.compiledEntry.hash, chunk: templateResult.compiledEntry.entry } : { hash: templateResult.mainCompilationHash - }); + }; + + const childCompilationOutputName = webpackMajorVersion === 4 + ? compilation.mainTemplate.getAssetPath(this.options.filename, compiledEntries) + : compilation.getAssetPath(this.options.filename, compiledEntries); // If the child compilation was not executed during a previous main compile run // it is a cached result @@ -529,7 +535,10 @@ class HtmlWebpackPlugin { * if a path publicPath is set in the current webpack config use it otherwise * fallback to a relative path */ - const webpackPublicPath = compilation.mainTemplate.getPublicPath({ hash: compilationHash }); + const webpackPublicPath = webpackMajorVersion === 4 + ? compilation.mainTemplate.getPublicPath({ hash: compilationHash }) + : compilation.getAssetPath(compilation.outputOptions.publicPath, { hash: compilationHash }); + const isPublicPathDefined = webpackPublicPath.trim() !== ''; let publicPath = isPublicPathDefined // If a hard coded public path exists use it diff --git a/lib/child-compiler.js b/lib/child-compiler.js index 88180a0a..63057062 100644 --- a/lib/child-compiler.js +++ b/lib/child-compiler.js @@ -168,12 +168,18 @@ class HtmlWebpackChildCompiler { * @returns Array */ function extractHelperFilesFromCompilation (mainCompilation, childCompilation, filename, childEntryChunks) { + const webpackMajorVersion = Number(require('webpack/package.json').version.split('.')[0]); + const helperAssetNames = childEntryChunks.map((entryChunk, index) => { - return mainCompilation.mainTemplate.getAssetPath(filename, { + const entryConfig = { hash: childCompilation.hash, chunk: entryChunk, name: `HtmlWebpackPlugin_${index}` - }); + }; + + return webpackMajorVersion === 4 + ? mainCompilation.mainTemplate.getAssetPath(filename, entryConfig) + : mainCompilation.getAssetPath(filename, entryConfig); }); helperAssetNames.forEach((helperFileName) => { From 7e7821383c215005766a2d82a088f73c6b2368ad Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Sun, 30 Aug 2020 14:30:09 +0200 Subject: [PATCH 179/290] chore(release): 4.4.0 --- CHANGELOG.md | 14 ++++++++++++++ package.json | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 24d61a45..1f1c3cbf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,20 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +# [4.4.0](https://github.com/jantimon/html-webpack-plugin/compare/v4.3.0...v4.4.0) (2020-08-30) + + +### Bug Fixes + +* fix typos in comments ([#1484](https://github.com/jantimon/html-webpack-plugin/issues/1484)) ([6b0711e](https://github.com/jantimon/html-webpack-plugin/commit/6b0711e)) + + +### Features + +* added v5 compilation support and deleted depreciation warnings ([4ae7be8](https://github.com/jantimon/html-webpack-plugin/commit/4ae7be8)), closes [#1454](https://github.com/jantimon/html-webpack-plugin/issues/1454) + + + # [4.3.0](https://github.com/jantimon/html-webpack-plugin/compare/v4.2.2...v4.3.0) (2020-04-30) diff --git a/package.json b/package.json index 0986d842..977d06dc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "html-webpack-plugin", - "version": "4.3.0", + "version": "4.4.0", "license": "MIT", "description": "Simplifies creation of HTML files to serve your webpack bundles", "author": "Jan Nicklas (https://github.com/jantimon)", From 98ad7563dbae3a82bf00506de2bb75d277aba7d3 Mon Sep 17 00:00:00 2001 From: Avi Vahl Date: Sun, 30 Aug 2020 19:02:16 +0300 Subject: [PATCH 180/290] fix: broken typings.d.ts in v4.4.0 (#1503) class declaration is outside the namespace, so it needs to use it as a prefix to access its types. --- typings.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/typings.d.ts b/typings.d.ts index 7bae9439..498b1975 100644 --- a/typings.d.ts +++ b/typings.d.ts @@ -18,7 +18,7 @@ declare class HtmlWebpackPlugin { tagName: string, attributes?: { [attributeName: string]: string | boolean }, innerHTML?: string - ): HtmlTagObject; + ): HtmlWebpackPlugin.HtmlTagObject; static readonly version: number; } From 17653730164688703ad46ce25ed356c52e79c43f Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Sun, 30 Aug 2020 18:02:36 +0200 Subject: [PATCH 181/290] chore(release): 4.4.1 --- CHANGELOG.md | 9 +++++++++ package.json | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1f1c3cbf..e535620f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,15 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [4.4.1](https://github.com/jantimon/html-webpack-plugin/compare/v4.4.0...v4.4.1) (2020-08-30) + + +### Bug Fixes + +* broken typings.d.ts in v4.4.0 ([#1503](https://github.com/jantimon/html-webpack-plugin/issues/1503)) ([98ad756](https://github.com/jantimon/html-webpack-plugin/commit/98ad756)) + + + # [4.4.0](https://github.com/jantimon/html-webpack-plugin/compare/v4.3.0...v4.4.0) (2020-08-30) diff --git a/package.json b/package.json index 977d06dc..f5bccb44 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "html-webpack-plugin", - "version": "4.4.0", + "version": "4.4.1", "license": "MIT", "description": "Simplifies creation of HTML files to serve your webpack bundles", "author": "Jan Nicklas (https://github.com/jantimon)", From f3ccdd5125566ba8d2965cfb4f59b058854fa3c9 Mon Sep 17 00:00:00 2001 From: Gary Bortosky Date: Wed, 2 Sep 2020 08:10:36 -0500 Subject: [PATCH 182/290] feat: update webpack dependency range to allow installing webpack 5 beta fixes #1504 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f5bccb44..c118ccde 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "util.promisify": "1.0.0" }, "peerDependencies": { - "webpack": ">=4.0.0 < 6.0.0" + "webpack": "^4.0.0 || ^5.0.0" }, "keywords": [ "webpack", From 19b5122746c0a34c4a341ad1758eb743c87a4c55 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Mon, 21 Sep 2020 14:38:42 +0200 Subject: [PATCH 183/290] feat: Add publicPath option to overrule the default path generation (#1516) --- README.md | 1 + index.js | 29 ++++++++++++++++++++--------- typings.d.ts | 5 +++++ 3 files changed, 26 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 9fa4eace..a83a4ef2 100644 --- a/README.md +++ b/README.md @@ -138,6 +138,7 @@ Allowed values are as follows |**`templateContent`**|`{string\|Function\|false}`|false| Can be used instead of `template` to provide an inline template - please read the [Writing Your Own Templates](https://github.com/jantimon/html-webpack-plugin#writing-your-own-templates) section | |**`templateParameters`**|`{Boolean\|Object\|Function}`| `false`| Allows to overwrite the parameters used in the template - see [example](https://github.com/jantimon/html-webpack-plugin/tree/master/examples/template-parameters) | |**`inject`**|`{Boolean\|String}`|`true`|`true \|\| 'head' \|\| 'body' \|\| false` Inject all assets into the given `template` or `templateContent`. When passing `true` or `'body'` all javascript resources will be placed at the bottom of the body element. `'head'` will place the scripts in the head element - see the [inject:false example](https://github.com/jantimon/html-webpack-plugin/tree/master/examples/custom-insertion-position)| +|**`publicPath`**|`{String|'auto'}`|`'auto'`|The publicPath used for script and link tags| |**`scriptLoading`**|`{'blocking'\|'defer'}`|`'blocking'`| Modern browsers support non blocking javascript loading (`'defer'`) to improve the page startup performance. | |**`favicon`**|`{String}`|``|Adds the given favicon path to the output HTML| |**`meta`**|`{Object}`|`{}`|Allows to inject `meta`-tags. E.g. `meta: {viewport: 'width=device-width, initial-scale=1, shrink-to-fit=no'}`| diff --git a/index.js b/index.js index b735787b..42fc28e5 100644 --- a/index.js +++ b/index.js @@ -44,6 +44,7 @@ class HtmlWebpackPlugin { templateContent: false, templateParameters: templateParametersGenerator, filename: 'index.html', + publicPath: userOptions.publicPath === undefined ? 'auto' : userOptions.publicPath, hash: false, inject: userOptions.scriptLoading !== 'defer' ? 'body' : 'head', scriptLoading: 'blocking', @@ -167,7 +168,7 @@ class HtmlWebpackPlugin { const isCompilationCached = templateResult.mainCompilationHash !== compilation.hash; // Turn the entry point names into file paths - const assets = self.htmlWebpackPluginAssets(compilation, childCompilationOutputName, sortedEntryNames); + const assets = self.htmlWebpackPluginAssets(compilation, childCompilationOutputName, sortedEntryNames, this.options.publicPath); // If the template and the assets did not change we don't have to emit the html const assetJson = JSON.stringify(self.getAssetFiles(assets)); @@ -519,6 +520,7 @@ class HtmlWebpackPlugin { * for all given entry names * @param {WebpackCompilation} compilation * @param {string[]} entryNames + * @param {string | 'auto'} customPublicPath * @returns {{ publicPath: string, js: Array, @@ -527,7 +529,7 @@ class HtmlWebpackPlugin { favicon?: string }} */ - htmlWebpackPluginAssets (compilation, childCompilationOutputName, entryNames) { + htmlWebpackPluginAssets (compilation, childCompilationOutputName, entryNames, customPublicPath) { const compilationHash = compilation.hash; /** @@ -539,13 +541,22 @@ class HtmlWebpackPlugin { ? compilation.mainTemplate.getPublicPath({ hash: compilationHash }) : compilation.getAssetPath(compilation.outputOptions.publicPath, { hash: compilationHash }); - const isPublicPathDefined = webpackPublicPath.trim() !== ''; - let publicPath = isPublicPathDefined - // If a hard coded public path exists use it - ? webpackPublicPath - // If no public path was set get a relative url path - : path.relative(path.resolve(compilation.options.output.path, path.dirname(childCompilationOutputName)), compilation.options.output.path) - .split(path.sep).join('/'); + const isPublicPathDefined = webpackMajorVersion === 4 + ? webpackPublicPath.trim() !== '' + // Webpack 5 introduced "auto" - however it can not be retrieved at runtime + : webpackPublicPath.trim() !== '' && webpackPublicPath !== 'auto'; + + let publicPath = + // If the html-webpack-plugin options contain a custom public path uset it + customPublicPath !== 'auto' + ? customPublicPath + : (isPublicPathDefined + // If a hard coded public path exists use it + ? webpackPublicPath + // If no public path was set get a relative url path + : path.relative(path.resolve(compilation.options.output.path, path.dirname(childCompilationOutputName)), compilation.options.output.path) + .split(path.sep).join('/') + ); if (publicPath.length && publicPath.substr(-1, 1) !== '/') { publicPath += '/'; diff --git a/typings.d.ts b/typings.d.ts index 498b1975..4b6d5dbc 100644 --- a/typings.d.ts +++ b/typings.d.ts @@ -63,6 +63,11 @@ declare namespace HtmlWebpackPlugin { * @default 'index.html' */ filename: string; + /** + * By default the public path is set to `auto` - that way the html-webpack-plugin will try + * to set the publicPath according to the current filename and the webpack publicPath setting + */ + publicPath: string | 'auto'; /** * If `true` then append a unique `webpack` compilation hash to all included scripts and CSS files. * This is useful for cache busting From 0928c3cbfbd13d5bd43a8a8ded330fb4e5f6a4fc Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Mon, 21 Sep 2020 14:43:19 +0200 Subject: [PATCH 184/290] chore(release): 4.5.0 --- CHANGELOG.md | 10 ++++++++++ package.json | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e535620f..fed239d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,16 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +# [4.5.0](https://github.com/jantimon/html-webpack-plugin/compare/v4.4.1...v4.5.0) (2020-09-21) + + +### Features + +* Add publicPath option to overrule the default path generation ([#1516](https://github.com/jantimon/html-webpack-plugin/issues/1516)) ([19b5122](https://github.com/jantimon/html-webpack-plugin/commit/19b5122)) +* update webpack dependency range to allow installing webpack 5 beta ([f3ccdd5](https://github.com/jantimon/html-webpack-plugin/commit/f3ccdd5)), closes [#1504](https://github.com/jantimon/html-webpack-plugin/issues/1504) + + + ## [4.4.1](https://github.com/jantimon/html-webpack-plugin/compare/v4.4.0...v4.4.1) (2020-08-30) diff --git a/package.json b/package.json index c118ccde..74547e24 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "html-webpack-plugin", - "version": "4.4.1", + "version": "4.5.0", "license": "MIT", "description": "Simplifies creation of HTML files to serve your webpack bundles", "author": "Jan Nicklas (https://github.com/jantimon)", From 5a6a7e4d0fc8d05caed8ba4419ad89cc4fd97629 Mon Sep 17 00:00:00 2001 From: Sam Chen Date: Mon, 21 Sep 2020 22:02:08 +0800 Subject: [PATCH 185/290] fix readme (#1517) `|` needs escape here. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a83a4ef2..bd15c8ac 100644 --- a/README.md +++ b/README.md @@ -138,7 +138,7 @@ Allowed values are as follows |**`templateContent`**|`{string\|Function\|false}`|false| Can be used instead of `template` to provide an inline template - please read the [Writing Your Own Templates](https://github.com/jantimon/html-webpack-plugin#writing-your-own-templates) section | |**`templateParameters`**|`{Boolean\|Object\|Function}`| `false`| Allows to overwrite the parameters used in the template - see [example](https://github.com/jantimon/html-webpack-plugin/tree/master/examples/template-parameters) | |**`inject`**|`{Boolean\|String}`|`true`|`true \|\| 'head' \|\| 'body' \|\| false` Inject all assets into the given `template` or `templateContent`. When passing `true` or `'body'` all javascript resources will be placed at the bottom of the body element. `'head'` will place the scripts in the head element - see the [inject:false example](https://github.com/jantimon/html-webpack-plugin/tree/master/examples/custom-insertion-position)| -|**`publicPath`**|`{String|'auto'}`|`'auto'`|The publicPath used for script and link tags| +|**`publicPath`**|`{String\|'auto'}`|`'auto'`|The publicPath used for script and link tags| |**`scriptLoading`**|`{'blocking'\|'defer'}`|`'blocking'`| Modern browsers support non blocking javascript loading (`'defer'`) to improve the page startup performance. | |**`favicon`**|`{String}`|``|Adds the given favicon path to the output HTML| |**`meta`**|`{Object}`|`{}`|Allows to inject `meta`-tags. E.g. `meta: {viewport: 'width=device-width, initial-scale=1, shrink-to-fit=no'}`| From 3768bbabb7bfc19487f94841f0e7d4900bca7110 Mon Sep 17 00:00:00 2001 From: Lakshitasaini8 <67197672+Lakshitasaini8@users.noreply.github.com> Date: Thu, 1 Oct 2020 18:01:20 +0530 Subject: [PATCH 186/290] Update README.md (#1521) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index bd15c8ac..08b0ea1a 100644 --- a/README.md +++ b/README.md @@ -123,12 +123,12 @@ If you have multiple `webpack` entry points, they will all be included with `scr If you have any CSS assets in webpack's output (for example, CSS extracted with the [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin)) then these will be included with `` tags in the HTML head. -If you have plugins that make use of it, `html-webpack-plugin` should be ordered first before any of the integrated plugins. +If you have plugins that make use of it, `html-webpack-plugin` should be ordered first before any of the integrated Plugins.

Options

You can pass a hash of configuration options to `html-webpack-plugin`. -Allowed values are as follows +Allowed values are as follows: |Name|Type|Default|Description| |:--:|:--:|:-----:|:----------| From 6bff0c139ae8497483cd756ba5bb8386a96a5c88 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Fri, 16 Oct 2020 13:32:39 +0200 Subject: [PATCH 187/290] docs: add installation note for webpack 5 --- README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/README.md b/README.md index 08b0ea1a..8736abdf 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,19 @@

Install

+

Webpack 5

+ +```bash + npm i --save-dev html-webpack-plugin@next +``` + +```bash + yarn add --dev html-webpack-plugin@next +``` + + +

Webpack 4

+ ```bash npm i --save-dev html-webpack-plugin ``` From 86c561c0b3e78e72ec3f24d059be0b492032fdc8 Mon Sep 17 00:00:00 2001 From: Mike Evans Date: Wed, 28 Oct 2020 10:53:51 +0000 Subject: [PATCH 188/290] remove deprecated plugins from readme (#1539) Co-authored-by: Mike Evans --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 8736abdf..4e8d18b1 100644 --- a/README.md +++ b/README.md @@ -78,8 +78,6 @@ The `html-webpack-plugin` provides [hooks](https://github.com/jantimon/html-webp * [html-webpack-inline-svg-plugin](https://github.com/thegc/html-webpack-inline-svg-plugin) to inline SVGs in the resulting HTML file. * [html-webpack-exclude-assets-plugin](https://github.com/jamesjieye/html-webpack-exclude-assets-plugin) for excluding assets using regular expressions * [html-webpack-include-assets-plugin](https://github.com/jharris4/html-webpack-include-assets-plugin) for including lists of js or css file paths (such as those copied by the copy-webpack-plugin). - * [script-ext-html-webpack-plugin](https://github.com/numical/script-ext-html-webpack-plugin) to add `async`, `defer` or `module` attributes to your `'], null, done); + }); + it('should allow to use headTags and bodyTags directly in string literals', done => { testHtmlPlugin({ mode: 'production', From 3cc6fb1060a2261eae9ca3c7be42612a9806d3d3 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Sun, 3 Jan 2021 18:36:18 +0100 Subject: [PATCH 193/290] chore(release): 4.5.1 --- CHANGELOG.md | 9 ++++++++- package.json | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fed239d3..200eb424 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,14 @@ -# Change Log +# Changelog All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### [4.5.1](https://github.com/jantimon/html-webpack-plugin/compare/v4.5.0...v4.5.1) (2021-01-03) + + +### Bug Fixes + +* inject javascripts in the tag for inject:true and scriptLoading:'defer' ([4f7064e](https://github.com/jantimon/html-webpack-plugin/commit/4f7064ee56fe710e8f416018956647a72c270fb1)) + # [4.5.0](https://github.com/jantimon/html-webpack-plugin/compare/v4.4.1...v4.5.0) (2020-09-21) diff --git a/package.json b/package.json index 29d7dfb9..1ed2a030 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "html-webpack-plugin", - "version": "4.5.0", + "version": "4.5.1", "license": "MIT", "description": "Simplifies creation of HTML files to serve your webpack bundles", "author": "Jan Nicklas (https://github.com/jantimon)", From c9ff9faa06e70609877f4e64626a59d0fc882dae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anders=20Sj=C3=B6qvist?= Date: Wed, 6 Jan 2021 18:18:55 +0100 Subject: [PATCH 194/290] docs: align section Minification with the code regarding `keepClosingSlash` fixes #1583 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a9076b54..86531fb7 100644 --- a/README.md +++ b/README.md @@ -366,6 +366,7 @@ and the following options: ```js { collapseWhitespace: true, + keepClosingSlash: true, removeComments: true, removeRedundantAttributes: true, removeScriptTypeAttributes: true, From 13416debbb44f4436540df2baaed353af0352cca Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Wed, 20 Jan 2021 16:51:09 +0100 Subject: [PATCH 195/290] chore: add link to opencollective --- .github/FUNDING.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 00000000..b0bf659d --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: # Replace with a single Patreon username +open_collective: html-webpack-plugin +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] From a8ce9b07f82119fd71c6523eee1959f7070c7e2a Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Wed, 20 Jan 2021 17:50:01 +0100 Subject: [PATCH 196/290] chore: migrate from travis & appveyor to github actions --- .github/workflows/main.yml | 34 ++++++++++++++++++++++++++++++++++ .travis.yml | 19 ------------------- README.md | 4 ++-- appveyor.yml | 23 ----------------------- spec/basic.spec.js | 4 +++- 5 files changed, 39 insertions(+), 45 deletions(-) create mode 100644 .github/workflows/main.yml delete mode 100644 .travis.yml delete mode 100644 appveyor.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 00000000..302d21de --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,34 @@ +name: CI +on: [push] +jobs: + build: + name: test Node ${{ matrix.node }} Webpack ${{ matrix.webpack }} ${{ matrix.os }} + timeout-minutes: 15 + + runs-on: ${{ matrix.os }} + strategy: + matrix: + node: ['6.x', '12.x', '14.x'] + os: [ubuntu-latest, windows-latest] + webpack: ['4'] + + steps: + - name: LF + run: git config --global core.autocrlf false + + - name: Checkout repo + uses: actions/checkout@v2 + + - name: Use Node ${{ matrix.node }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node }} + + - name: Install Dependencies + run: npm install --ignore-scripts --force --legacy-peer-deps + + - name: Install Webpack ${{ matrix.webpack }} + run: npm install --ignore-scripts --force --legacy-peer-deps webpack@${{ matrix.webpack }} + + - name: Test + run: npm test -- --forceExit || npm test -- --forceExit || npm test -- --forceExit diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index e7aa5da5..00000000 --- a/.travis.yml +++ /dev/null @@ -1,19 +0,0 @@ -language: node_js -node_js: - - stable - - lts/* - - 6.9 -env: - - WEBPACK_CORE=4 - - WEBPACK_CORE=5 -jobs: - exclude: - - node_js: 6.9 - env: WEBPACK_CORE=5 -before_install: - - stty columns 120 -install: - - travis_retry npm install --ignore-scripts --force --legacy-peer-deps - - travis_retry npm install "webpack@$WEBPACK_CORE" --ignore-scripts --force --legacy-peer-deps -script: - - travis_retry npm test diff --git a/README.md b/README.md index 86531fb7..24694980 100644 --- a/README.md +++ b/README.md @@ -666,5 +666,5 @@ This project uses the [semistandard code style](https://github.com/Flet/semistan [deps]: https://david-dm.org/jantimon/html-webpack-plugin.svg [deps-url]: https://david-dm.org/jantimon/html-webpack-plugin -[tests]: http://img.shields.io/travis/jantimon/html-webpack-plugin.svg -[tests-url]: https://travis-ci.org/jantimon/html-webpack-plugin +[tests]: https://github.com/jantimon/html-webpack-plugin/workflows/CI/badge.svg +[tests-url]: https://github.com/jantimon/html-webpack-plugin/actions?query=workflow%3ACI diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index 47f137cd..00000000 --- a/appveyor.yml +++ /dev/null @@ -1,23 +0,0 @@ -# appveyor file -# http://www.appveyor.com/docs/appveyor-yml - -environment: - matrix: - - nodejs_version: 0.10 - - nodejs_version: 0.12 - - nodejs_version: 4 - -version: "{build}" -build: off -deploy: off -matrix: - fast_finish: true - -install: - - ps: Install-Product node $env:nodejs_version - - npm install - -test_script: - - node --version - - npm --version - - npm test diff --git a/spec/basic.spec.js b/spec/basic.spec.js index b4e03f40..f9c0b49e 100644 --- a/spec/basic.spec.js +++ b/spec/basic.spec.js @@ -12,6 +12,8 @@ const rimraf = require('rimraf'); const _ = require('lodash'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const webpackMajorVersion = Number(require('webpack/package.json').version.split('.')[0]); +const itUnixOnly = (process.platform === 'win32' || process.platform === 'win64') ? it.skip : it; + if (isNaN(webpackMajorVersion)) { throw new Error('Cannot parse webpack major version'); } @@ -116,7 +118,7 @@ describe('HtmlWebpackPlugin', () => { }, [/[\s]* \ No newline at end of file +Example template \ No newline at end of file diff --git a/examples/appcache/dist/webpack-5/manifest.appcache b/examples/appcache/dist/webpack-5/manifest.appcache index d9dc95c2..61a39638 100644 --- a/examples/appcache/dist/webpack-5/manifest.appcache +++ b/examples/appcache/dist/webpack-5/manifest.appcache @@ -1,5 +1,5 @@ CACHE MANIFEST -# f509954c60c2fd048c91 +# 8bbe00db9cab8f982354 0714810ae3fb211173e2964249507195.png styles.css diff --git a/examples/chunk-optimization/dist/webpack-5/73.js b/examples/chunk-optimization/dist/webpack-5/73.js index 5e01f279..48c758cf 100644 --- a/examples/chunk-optimization/dist/webpack-5/73.js +++ b/examples/chunk-optimization/dist/webpack-5/73.js @@ -1,4 +1,4 @@ -(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[73],{ +(self["webpackChunk"] = self["webpackChunk"] || []).push([[73],{ /***/ 173: /***/ ((module, exports, __webpack_require__) => { diff --git a/examples/chunk-optimization/dist/webpack-5/805.js b/examples/chunk-optimization/dist/webpack-5/805.js index 66796e1b..cd19b63f 100644 --- a/examples/chunk-optimization/dist/webpack-5/805.js +++ b/examples/chunk-optimization/dist/webpack-5/805.js @@ -1,4 +1,4 @@ -(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[805],{ +(self["webpackChunk"] = self["webpackChunk"] || []).push([[805],{ /***/ 609: /***/ ((module) => { diff --git a/examples/chunk-optimization/dist/webpack-5/entryA.html b/examples/chunk-optimization/dist/webpack-5/entryA.html index df7ffacd..24ab1c20 100644 --- a/examples/chunk-optimization/dist/webpack-5/entryA.html +++ b/examples/chunk-optimization/dist/webpack-5/entryA.html @@ -1 +1 @@ -Webpack App \ No newline at end of file +Webpack App \ No newline at end of file diff --git a/examples/chunk-optimization/dist/webpack-5/entryA.js b/examples/chunk-optimization/dist/webpack-5/entryA.js index c5be91f7..a94a10c4 100644 --- a/examples/chunk-optimization/dist/webpack-5/entryA.js +++ b/examples/chunk-optimization/dist/webpack-5/entryA.js @@ -50,6 +50,8 @@ document.body.appendChild(h1); /******/ /******/ /* webpack/runtime/jsonp chunk loading */ /******/ (() => { +/******/ // no baseURI +/******/ /******/ // object to store loaded and loading chunks /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched /******/ // Promise = chunk loading, 0 = chunk loaded @@ -100,17 +102,14 @@ document.body.appendChild(h1); /******/ __webpack_require__.x = () => { /******/ /******/ } -/******/ jsonpArray = jsonpArray.slice(); -/******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]); +/******/ chunkLoadingGlobal = chunkLoadingGlobal.slice(); +/******/ for(var i = 0; i < chunkLoadingGlobal.length; i++) webpackJsonpCallback(chunkLoadingGlobal[i]); /******/ return (checkDeferredModules = checkDeferredModulesImpl)(); /******/ }; /******/ /******/ // install a JSONP callback for chunk loading -/******/ function webpackJsonpCallback(data) { -/******/ var chunkIds = data[0]; -/******/ var moreModules = data[1]; -/******/ var executeModules = data[2]; -/******/ var runtime = data[3]; +/******/ var webpackJsonpCallback = (data) => { +/******/ var [chunkIds, moreModules, runtime, executeModules] = data; /******/ // add "moreModules" to the modules object, /******/ // then flag all "chunkIds" as loaded and fire callback /******/ var moduleId, chunkId, i = 0, resolves = []; @@ -127,7 +126,7 @@ document.body.appendChild(h1); /******/ } /******/ } /******/ if(runtime) runtime(__webpack_require__); -/******/ if(parentJsonpFunction) parentJsonpFunction(data); +/******/ parentChunkLoadingFunction(data); /******/ while(resolves.length) { /******/ resolves.shift()(); /******/ } @@ -137,12 +136,11 @@ document.body.appendChild(h1); /******/ /******/ // run deferred modules when all chunks ready /******/ return checkDeferredModules(); -/******/ }; +/******/ } /******/ -/******/ var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || []; -/******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray); -/******/ jsonpArray.push = webpackJsonpCallback; -/******/ var parentJsonpFunction = oldJsonpFunction; +/******/ var chunkLoadingGlobal = self["webpackChunk"] = self["webpackChunk"] || []; +/******/ var parentChunkLoadingFunction = chunkLoadingGlobal.push.bind(chunkLoadingGlobal); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback; /******/ })(); /******/ /************************************************************************/ diff --git a/examples/chunk-optimization/dist/webpack-5/entryB.html b/examples/chunk-optimization/dist/webpack-5/entryB.html index 6b3b7acc..7a76d984 100644 --- a/examples/chunk-optimization/dist/webpack-5/entryB.html +++ b/examples/chunk-optimization/dist/webpack-5/entryB.html @@ -1 +1 @@ -Webpack App \ No newline at end of file +Webpack App \ No newline at end of file diff --git a/examples/chunk-optimization/dist/webpack-5/entryB.js b/examples/chunk-optimization/dist/webpack-5/entryB.js index 8bd246f6..4cc0eda3 100644 --- a/examples/chunk-optimization/dist/webpack-5/entryB.js +++ b/examples/chunk-optimization/dist/webpack-5/entryB.js @@ -49,6 +49,8 @@ document.body.appendChild(h1); /******/ /******/ /* webpack/runtime/jsonp chunk loading */ /******/ (() => { +/******/ // no baseURI +/******/ /******/ // object to store loaded and loading chunks /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched /******/ // Promise = chunk loading, 0 = chunk loaded @@ -99,17 +101,14 @@ document.body.appendChild(h1); /******/ __webpack_require__.x = () => { /******/ /******/ } -/******/ jsonpArray = jsonpArray.slice(); -/******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]); +/******/ chunkLoadingGlobal = chunkLoadingGlobal.slice(); +/******/ for(var i = 0; i < chunkLoadingGlobal.length; i++) webpackJsonpCallback(chunkLoadingGlobal[i]); /******/ return (checkDeferredModules = checkDeferredModulesImpl)(); /******/ }; /******/ /******/ // install a JSONP callback for chunk loading -/******/ function webpackJsonpCallback(data) { -/******/ var chunkIds = data[0]; -/******/ var moreModules = data[1]; -/******/ var executeModules = data[2]; -/******/ var runtime = data[3]; +/******/ var webpackJsonpCallback = (data) => { +/******/ var [chunkIds, moreModules, runtime, executeModules] = data; /******/ // add "moreModules" to the modules object, /******/ // then flag all "chunkIds" as loaded and fire callback /******/ var moduleId, chunkId, i = 0, resolves = []; @@ -126,7 +125,7 @@ document.body.appendChild(h1); /******/ } /******/ } /******/ if(runtime) runtime(__webpack_require__); -/******/ if(parentJsonpFunction) parentJsonpFunction(data); +/******/ parentChunkLoadingFunction(data); /******/ while(resolves.length) { /******/ resolves.shift()(); /******/ } @@ -136,12 +135,11 @@ document.body.appendChild(h1); /******/ /******/ // run deferred modules when all chunks ready /******/ return checkDeferredModules(); -/******/ }; +/******/ } /******/ -/******/ var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || []; -/******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray); -/******/ jsonpArray.push = webpackJsonpCallback; -/******/ var parentJsonpFunction = oldJsonpFunction; +/******/ var chunkLoadingGlobal = self["webpackChunk"] = self["webpackChunk"] || []; +/******/ var parentChunkLoadingFunction = chunkLoadingGlobal.push.bind(chunkLoadingGlobal); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback; /******/ })(); /******/ /************************************************************************/ diff --git a/examples/chunk-optimization/dist/webpack-5/entryC.html b/examples/chunk-optimization/dist/webpack-5/entryC.html index 09ff02ab..3d86688e 100644 --- a/examples/chunk-optimization/dist/webpack-5/entryC.html +++ b/examples/chunk-optimization/dist/webpack-5/entryC.html @@ -1 +1 @@ -Webpack App \ No newline at end of file +Webpack App \ No newline at end of file diff --git a/examples/chunk-optimization/dist/webpack-5/libMath.js b/examples/chunk-optimization/dist/webpack-5/libMath.js index 6af571d9..209e9464 100644 --- a/examples/chunk-optimization/dist/webpack-5/libMath.js +++ b/examples/chunk-optimization/dist/webpack-5/libMath.js @@ -1,4 +1,4 @@ -(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[494],{ +(self["webpackChunk"] = self["webpackChunk"] || []).push([[494],{ /***/ 179: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { diff --git a/examples/chunk-optimization/dist/webpack-5/libText.js b/examples/chunk-optimization/dist/webpack-5/libText.js index 6134ede5..ed9620bd 100644 --- a/examples/chunk-optimization/dist/webpack-5/libText.js +++ b/examples/chunk-optimization/dist/webpack-5/libText.js @@ -1,4 +1,4 @@ -(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[491],{ +(self["webpackChunk"] = self["webpackChunk"] || []).push([[491],{ /***/ 631: /***/ ((module) => { diff --git a/examples/custom-insertion-position/dist/webpack-5/index.html b/examples/custom-insertion-position/dist/webpack-5/index.html index 394aa87b..24962f57 100644 --- a/examples/custom-insertion-position/dist/webpack-5/index.html +++ b/examples/custom-insertion-position/dist/webpack-5/index.html @@ -1,12 +1,12 @@ - + Custom insertion example All scripts are placed here: - + diff --git a/examples/custom-template/dist/webpack-5/index.html b/examples/custom-template/dist/webpack-5/index.html index 104823b1..c676dff1 100644 --- a/examples/custom-template/dist/webpack-5/index.html +++ b/examples/custom-template/dist/webpack-5/index.html @@ -1 +1 @@ -Webpack App

Partial

\ No newline at end of file +Webpack App

Partial

\ No newline at end of file diff --git a/examples/default/dist/webpack-5/index.html b/examples/default/dist/webpack-5/index.html index b0855186..173a0b38 100644 --- a/examples/default/dist/webpack-5/index.html +++ b/examples/default/dist/webpack-5/index.html @@ -1 +1 @@ -Webpack App \ No newline at end of file +Webpack App \ No newline at end of file diff --git a/examples/favicon/dist/webpack-5/favicon.html b/examples/favicon/dist/webpack-5/favicon.html index 713b4512..fc6e87df 100644 --- a/examples/favicon/dist/webpack-5/favicon.html +++ b/examples/favicon/dist/webpack-5/favicon.html @@ -1 +1 @@ -HtmlWebpackPlugin example \ No newline at end of file +HtmlWebpackPlugin example \ No newline at end of file diff --git a/examples/html-loader/dist/webpack-5/about.html b/examples/html-loader/dist/webpack-5/about.html index 8fe11065..495ce0e6 100644 --- a/examples/html-loader/dist/webpack-5/about.html +++ b/examples/html-loader/dist/webpack-5/about.html @@ -1 +1 @@ -Example template \ No newline at end of file +Example template \ No newline at end of file diff --git a/examples/html-loader/dist/webpack-5/index.html b/examples/html-loader/dist/webpack-5/index.html index 8fe11065..495ce0e6 100644 --- a/examples/html-loader/dist/webpack-5/index.html +++ b/examples/html-loader/dist/webpack-5/index.html @@ -1 +1 @@ -Example template \ No newline at end of file +Example template \ No newline at end of file diff --git a/examples/javascript-advanced/dist/webpack-5/index.html b/examples/javascript-advanced/dist/webpack-5/index.html index 2ec60f39..b58963db 100644 --- a/examples/javascript-advanced/dist/webpack-5/index.html +++ b/examples/javascript-advanced/dist/webpack-5/index.html @@ -1 +1 @@ -Webpack AppHello World from backend -

Partial

\ No newline at end of file +Webpack AppHello World from backend -

Partial

\ No newline at end of file diff --git a/examples/javascript/dist/webpack-5/index.html b/examples/javascript/dist/webpack-5/index.html index 62334917..1e32f3c0 100644 --- a/examples/javascript/dist/webpack-5/index.html +++ b/examples/javascript/dist/webpack-5/index.html @@ -1 +1 @@ -Hello World from backend2020-03-30T16:36:46.399Z

Partial

\ No newline at end of file +Hello World from backend2020-10-14T14:25:45.361Z

Partial

\ No newline at end of file diff --git a/examples/pug-loader/dist/webpack-5/index.html b/examples/pug-loader/dist/webpack-5/index.html index 7f28826f..5f9744d5 100644 --- a/examples/pug-loader/dist/webpack-5/index.html +++ b/examples/pug-loader/dist/webpack-5/index.html @@ -1 +1 @@ -pug demo
Current time

1998-12-31T23:00:00.000Z

\ No newline at end of file +pug demo
Current time

1998-12-31T23:00:00.000Z

\ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-5/first-file.html b/examples/sort-manually/dist/webpack-5/first-file.html index f251a0f8..e3f9c0d7 100644 --- a/examples/sort-manually/dist/webpack-5/first-file.html +++ b/examples/sort-manually/dist/webpack-5/first-file.html @@ -1 +1 @@ -Example template \ No newline at end of file +Example template \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-5/second-file.html b/examples/sort-manually/dist/webpack-5/second-file.html index ba8f8673..7b428811 100644 --- a/examples/sort-manually/dist/webpack-5/second-file.html +++ b/examples/sort-manually/dist/webpack-5/second-file.html @@ -1 +1 @@ -Example template \ No newline at end of file +Example template \ No newline at end of file diff --git a/examples/template-parameters/dist/webpack-5/index.html b/examples/template-parameters/dist/webpack-5/index.html index 2ac7ecd2..4f432476 100644 --- a/examples/template-parameters/dist/webpack-5/index.html +++ b/examples/template-parameters/dist/webpack-5/index.html @@ -1 +1 @@ -bar \ No newline at end of file +bar \ No newline at end of file diff --git a/index.js b/index.js index 94d44054..6ef1d79c 100644 --- a/index.js +++ b/index.js @@ -51,8 +51,8 @@ class HtmlWebpackPlugin { filename: 'index.html', publicPath: userOptions.publicPath === undefined ? 'auto' : userOptions.publicPath, hash: false, - inject: userOptions.scriptLoading !== 'defer' ? 'body' : 'head', - scriptLoading: 'blocking', + inject: userOptions.scriptLoading === 'blocking' ? 'body' : 'head', + scriptLoading: 'defer', compile: true, favicon: false, minify: 'auto', @@ -251,7 +251,8 @@ function hookIntoCompiler (compiler, options, plugin) { })) .then(({ assetTags }) => { // Inject scripts to body unless it set explicitly to head - const scriptTarget = options.inject === 'head' ? 'head' : 'body'; + const scriptTarget = options.inject === 'head' || + (options.inject === false && options.scriptLoading !== 'blocking') ? 'head' : 'body'; // Group assets to `head` and `body` tag arrays const assetGroups = generateAssetGroups(assetTags, scriptTarget); // Allow third-party-plugin authors to reorder and change the assetTags once they are grouped diff --git a/spec/basic.spec.js b/spec/basic.spec.js index f9c0b49e..14837c5c 100644 --- a/spec/basic.spec.js +++ b/spec/basic.spec.js @@ -103,7 +103,7 @@ describe('HtmlWebpackPlugin', () => { filename: 'index_bundle.js' }, plugins: [new HtmlWebpackPlugin()] - }, [/[\s]*'], null, done); }); + + it('should allow to use headTags and bodyTags directly in string literals', done => { + testHtmlPlugin({ + mode: 'production', + entry: path.join(__dirname, 'fixtures/theme.js'), + output: { + path: OUTPUT_DIR, + filename: 'index_bundle.js' + }, + module: { + rules: [ + { test: /\.css$/, use: [MiniCssExtractPlugin.loader, 'css-loader'] } + ] + }, + plugins: [ + new MiniCssExtractPlugin({ filename: 'styles.css' }), + new HtmlWebpackPlugin({ + inject: false, + templateContent: ({ htmlWebpackPlugin }) => ` + + ${htmlWebpackPlugin.tags.headTags} + ${htmlWebpackPlugin.tags.bodyTags} + + ` + }) + ] + }, [''], null, done); + }); }); From 52d7b54045d4aa8d05b79b041e35e7754578259f Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Wed, 14 Oct 2020 16:39:27 +0200 Subject: [PATCH 210/290] feat: add [name] for file names --- examples/multi-page/dist/webpack-5/first.html | 1 + examples/multi-page/dist/webpack-5/first.js | 669 ++++++++++++++++++ .../multi-page/dist/webpack-5/second.html | 1 + examples/multi-page/dist/webpack-5/second.js | 669 ++++++++++++++++++ examples/multi-page/first.js | 4 + examples/multi-page/main.css | 3 + examples/multi-page/readme.md | 3 + examples/multi-page/second.js | 4 + examples/multi-page/webpack.config.js | 27 + index.js | 13 +- spec/example.spec.js | 4 + 11 files changed, 1397 insertions(+), 1 deletion(-) create mode 100644 examples/multi-page/dist/webpack-5/first.html create mode 100644 examples/multi-page/dist/webpack-5/first.js create mode 100644 examples/multi-page/dist/webpack-5/second.html create mode 100644 examples/multi-page/dist/webpack-5/second.js create mode 100755 examples/multi-page/first.js create mode 100644 examples/multi-page/main.css create mode 100644 examples/multi-page/readme.md create mode 100755 examples/multi-page/second.js create mode 100755 examples/multi-page/webpack.config.js diff --git a/examples/multi-page/dist/webpack-5/first.html b/examples/multi-page/dist/webpack-5/first.html new file mode 100644 index 00000000..930ee6eb --- /dev/null +++ b/examples/multi-page/dist/webpack-5/first.html @@ -0,0 +1 @@ +Webpack App \ No newline at end of file diff --git a/examples/multi-page/dist/webpack-5/first.js b/examples/multi-page/dist/webpack-5/first.js new file mode 100644 index 00000000..fe5242fb --- /dev/null +++ b/examples/multi-page/dist/webpack-5/first.js @@ -0,0 +1,669 @@ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ 173: +/***/ ((module, exports, __webpack_require__) => { + +exports = module.exports = __webpack_require__(609)(false); +// Module +exports.push([module.id, "body {\n background: snow;\n}", ""]); + + + +/***/ }), + +/***/ 609: +/***/ ((module) => { + +"use strict"; + + +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ +// css base code, injected by the css-loader +module.exports = function (useSourceMap) { + var list = []; // return the list of modules as css string + + list.toString = function toString() { + return this.map(function (item) { + var content = cssWithMappingToString(item, useSourceMap); + + if (item[2]) { + return '@media ' + item[2] + '{' + content + '}'; + } else { + return content; + } + }).join(''); + }; // import a list of modules into the list + + + list.i = function (modules, mediaQuery) { + if (typeof modules === 'string') { + modules = [[null, modules, '']]; + } + + var alreadyImportedModules = {}; + + for (var i = 0; i < this.length; i++) { + var id = this[i][0]; + + if (id != null) { + alreadyImportedModules[id] = true; + } + } + + for (i = 0; i < modules.length; i++) { + var item = modules[i]; // skip already imported module + // this implementation is not 100% perfect for weird media query combinations + // when a module is imported multiple times with different media queries. + // I hope this will never occur (Hey this way we have smaller bundles) + + if (item[0] == null || !alreadyImportedModules[item[0]]) { + if (mediaQuery && !item[2]) { + item[2] = mediaQuery; + } else if (mediaQuery) { + item[2] = '(' + item[2] + ') and (' + mediaQuery + ')'; + } + + list.push(item); + } + } + }; + + return list; +}; + +function cssWithMappingToString(item, useSourceMap) { + var content = item[1] || ''; + var cssMapping = item[3]; + + if (!cssMapping) { + return content; + } + + if (useSourceMap && typeof btoa === 'function') { + var sourceMapping = toComment(cssMapping); + var sourceURLs = cssMapping.sources.map(function (source) { + return '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'; + }); + return [content].concat(sourceURLs).concat([sourceMapping]).join('\n'); + } + + return [content].join('\n'); +} // Adapted from convert-source-map (MIT) + + +function toComment(sourceMap) { + // eslint-disable-next-line no-undef + var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))); + var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64; + return '/*# ' + data + ' */'; +} + +/***/ }), + +/***/ 73: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var content = __webpack_require__(173); + +if(typeof content === 'string') content = [[module.id, content, '']]; + +var transform; +var insertInto; + + + +var options = {"hmr":true} + +options.transform = transform +options.insertInto = undefined; + +var update = __webpack_require__(379)(content, options); + +if(content.locals) module.exports = content.locals; + +if(false) {} + +/***/ }), + +/***/ 379: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ + +var stylesInDom = {}; + +var memoize = function (fn) { + var memo; + + return function () { + if (typeof memo === "undefined") memo = fn.apply(this, arguments); + return memo; + }; +}; + +var isOldIE = memoize(function () { + // Test for IE <= 9 as proposed by Browserhacks + // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805 + // Tests for existence of standard globals is to allow style-loader + // to operate correctly into non-standard environments + // @see https://github.com/webpack-contrib/style-loader/issues/177 + return window && document && document.all && !window.atob; +}); + +var getTarget = function (target, parent) { + if (parent){ + return parent.querySelector(target); + } + return document.querySelector(target); +}; + +var getElement = (function (fn) { + var memo = {}; + + return function(target, parent) { + // If passing function in options, then use it for resolve "head" element. + // Useful for Shadow Root style i.e + // { + // insertInto: function () { return document.querySelector("#foo").shadowRoot } + // } + if (typeof target === 'function') { + return target(); + } + if (typeof memo[target] === "undefined") { + var styleTarget = getTarget.call(this, target, parent); + // Special case to return head of iframe instead of iframe itself + if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) { + try { + // This will throw an exception if access to iframe is blocked + // due to cross-origin restrictions + styleTarget = styleTarget.contentDocument.head; + } catch(e) { + styleTarget = null; + } + } + memo[target] = styleTarget; + } + return memo[target] + }; +})(); + +var singleton = null; +var singletonCounter = 0; +var stylesInsertedAtTop = []; + +var fixUrls = __webpack_require__(657); + +module.exports = function(list, options) { + if (typeof DEBUG !== "undefined" && DEBUG) { + if (typeof document !== "object") throw new Error("The style-loader cannot be used in a non-browser environment"); + } + + options = options || {}; + + options.attrs = typeof options.attrs === "object" ? options.attrs : {}; + + // Force single-tag solution on IE6-9, which has a hard limit on the # of \ No newline at end of file diff --git a/examples/inline/dist/webpack-4/styles.css b/examples/inline/dist/webpack-4/styles.css deleted file mode 100644 index e86486ba..00000000 --- a/examples/inline/dist/webpack-4/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} diff --git a/examples/javascript-advanced/dist/webpack-4/0714810ae3fb211173e2964249507195.png b/examples/javascript-advanced/dist/webpack-4/0714810ae3fb211173e2964249507195.png deleted file mode 100644 index d71b3d789f45d8f124a1fde57a36e55855a6dcb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54055 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 Duf!qe diff --git a/examples/javascript-advanced/dist/webpack-4/bundle.js b/examples/javascript-advanced/dist/webpack-4/bundle.js deleted file mode 100644 index a82aa75b..00000000 --- a/examples/javascript-advanced/dist/webpack-4/bundle.js +++ /dev/null @@ -1,107 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { - -eval("__webpack_require__(1);\n\nvar universal = __webpack_require__(2);\nvar h1 = document.createElement('h1');\nh1.innerHTML = universal();\n\ndocument.body.appendChild(h1);\n\n\n//# sourceURL=webpack:///./example.js?"); - -/***/ }), -/* 1 */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./main.css?"); - -/***/ }), -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("// This file is used for frontend and backend\n\n\n// If compiled by the html-webpack-plugin\n// HTML_WEBPACK_PLUGIN is set to true:\nvar backend = typeof HTML_WEBPACK_PLUGIN !== 'undefined';\n\nmodule.exports = function () {\n return 'Hello World from ' + (backend ? 'backend' : 'frontend');\n};\n\n\n//# sourceURL=webpack:///./universial.js?"); - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/javascript-advanced/dist/webpack-4/index.html b/examples/javascript-advanced/dist/webpack-4/index.html deleted file mode 100644 index 2ec60f39..00000000 --- a/examples/javascript-advanced/dist/webpack-4/index.html +++ /dev/null @@ -1 +0,0 @@ -Webpack AppHello World from backend -

Partial

\ No newline at end of file diff --git a/examples/javascript-advanced/dist/webpack-4/styles.css b/examples/javascript-advanced/dist/webpack-4/styles.css deleted file mode 100644 index e86486ba..00000000 --- a/examples/javascript-advanced/dist/webpack-4/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} diff --git a/examples/javascript/dist/webpack-4/0714810ae3fb211173e2964249507195.png b/examples/javascript/dist/webpack-4/0714810ae3fb211173e2964249507195.png deleted file mode 100644 index d71b3d789f45d8f124a1fde57a36e55855a6dcb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54055 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 Duf!qe diff --git a/examples/javascript/dist/webpack-4/bundle.js b/examples/javascript/dist/webpack-4/bundle.js deleted file mode 100644 index a82aa75b..00000000 --- a/examples/javascript/dist/webpack-4/bundle.js +++ /dev/null @@ -1,107 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { - -eval("__webpack_require__(1);\n\nvar universal = __webpack_require__(2);\nvar h1 = document.createElement('h1');\nh1.innerHTML = universal();\n\ndocument.body.appendChild(h1);\n\n\n//# sourceURL=webpack:///./example.js?"); - -/***/ }), -/* 1 */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./main.css?"); - -/***/ }), -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("// This file is used for frontend and backend\n\n\n// If compiled by the html-webpack-plugin\n// HTML_WEBPACK_PLUGIN is set to true:\nvar backend = typeof HTML_WEBPACK_PLUGIN !== 'undefined';\n\nmodule.exports = function () {\n return 'Hello World from ' + (backend ? 'backend' : 'frontend');\n};\n\n\n//# sourceURL=webpack:///./universial.js?"); - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/javascript/dist/webpack-4/index.html b/examples/javascript/dist/webpack-4/index.html deleted file mode 100644 index 0538840e..00000000 --- a/examples/javascript/dist/webpack-4/index.html +++ /dev/null @@ -1 +0,0 @@ -Hello World from backend2019-07-22T06:55:15.576Z

Partial

\ No newline at end of file diff --git a/examples/javascript/dist/webpack-4/styles.css b/examples/javascript/dist/webpack-4/styles.css deleted file mode 100644 index e86486ba..00000000 --- a/examples/javascript/dist/webpack-4/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} diff --git a/examples/pug-loader/dist/webpack-4/bundle.js b/examples/pug-loader/dist/webpack-4/bundle.js deleted file mode 100644 index bddd4d2e..00000000 --- a/examples/pug-loader/dist/webpack-4/bundle.js +++ /dev/null @@ -1,387 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -__webpack_require__(1); -// Use the same template for the frontend code -var template = __webpack_require__(2); - -setInterval(function () { - var div = document.getElementById('main'); - div.innerHTML = template({ time: new Date() }); - div.style.color = 'navy'; -}, 1000); - - -/***/ }), -/* 1 */ -/***/ (function(module, exports, __webpack_require__) { - -// extracted by mini-css-extract-plugin - -/***/ }), -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { - -var pug = __webpack_require__(3); - -function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (time) {pug_html = pug_html + "\u003C!-- this partial is used for frontend and backend--\u003E\u003Cdiv class=\"time\"\u003E \u003Cb\u003ECurrent time\u003C\u002Fb\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = time.toISOString()) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cimg src=\"#{require('.\u002Flogo.png')}\"\u003E";}.call(this,"time" in locals_for_with?locals_for_with.time:typeof time!=="undefined"?time:undefined));;return pug_html;}; -module.exports = template; - -/***/ }), -/* 3 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var pug_has_own_property = Object.prototype.hasOwnProperty; - -/** - * Merge two attribute objects giving precedence - * to values in object `b`. Classes are special-cased - * allowing for arrays and merging/joining appropriately - * resulting in a string. - * - * @param {Object} a - * @param {Object} b - * @return {Object} a - * @api private - */ - -exports.merge = pug_merge; -function pug_merge(a, b) { - if (arguments.length === 1) { - var attrs = a[0]; - for (var i = 1; i < a.length; i++) { - attrs = pug_merge(attrs, a[i]); - } - return attrs; - } - - for (var key in b) { - if (key === 'class') { - var valA = a[key] || []; - a[key] = (Array.isArray(valA) ? valA : [valA]).concat(b[key] || []); - } else if (key === 'style') { - var valA = pug_style(a[key]); - valA = valA && valA[valA.length - 1] !== ';' ? valA + ';' : valA; - var valB = pug_style(b[key]); - valB = valB && valB[valB.length - 1] !== ';' ? valB + ';' : valB; - a[key] = valA + valB; - } else { - a[key] = b[key]; - } - } - - return a; -}; - -/** - * Process array, object, or string as a string of classes delimited by a space. - * - * If `val` is an array, all members of it and its subarrays are counted as - * classes. If `escaping` is an array, then whether or not the item in `val` is - * escaped depends on the corresponding item in `escaping`. If `escaping` is - * not an array, no escaping is done. - * - * If `val` is an object, all the keys whose value is truthy are counted as - * classes. No escaping is done. - * - * If `val` is a string, it is counted as a class. No escaping is done. - * - * @param {(Array.|Object.|string)} val - * @param {?Array.} escaping - * @return {String} - */ -exports.classes = pug_classes; -function pug_classes_array(val, escaping) { - var classString = '', className, padding = '', escapeEnabled = Array.isArray(escaping); - for (var i = 0; i < val.length; i++) { - className = pug_classes(val[i]); - if (!className) continue; - escapeEnabled && escaping[i] && (className = pug_escape(className)); - classString = classString + padding + className; - padding = ' '; - } - return classString; -} -function pug_classes_object(val) { - var classString = '', padding = ''; - for (var key in val) { - if (key && val[key] && pug_has_own_property.call(val, key)) { - classString = classString + padding + key; - padding = ' '; - } - } - return classString; -} -function pug_classes(val, escaping) { - if (Array.isArray(val)) { - return pug_classes_array(val, escaping); - } else if (val && typeof val === 'object') { - return pug_classes_object(val); - } else { - return val || ''; - } -} - -/** - * Convert object or string to a string of CSS styles delimited by a semicolon. - * - * @param {(Object.|string)} val - * @return {String} - */ - -exports.style = pug_style; -function pug_style(val) { - if (!val) return ''; - if (typeof val === 'object') { - var out = ''; - for (var style in val) { - /* istanbul ignore else */ - if (pug_has_own_property.call(val, style)) { - out = out + style + ':' + val[style] + ';'; - } - } - return out; - } else { - return val + ''; - } -}; - -/** - * Render the given attribute. - * - * @param {String} key - * @param {String} val - * @param {Boolean} escaped - * @param {Boolean} terse - * @return {String} - */ -exports.attr = pug_attr; -function pug_attr(key, val, escaped, terse) { - if (val === false || val == null || !val && (key === 'class' || key === 'style')) { - return ''; - } - if (val === true) { - return ' ' + (terse ? key : key + '="' + key + '"'); - } - var type = typeof val; - if ((type === 'object' || type === 'function') && typeof val.toJSON === 'function') { - val = val.toJSON(); - } - if (typeof val !== 'string') { - val = JSON.stringify(val); - if (!escaped && val.indexOf('"') !== -1) { - return ' ' + key + '=\'' + val.replace(/'/g, ''') + '\''; - } - } - if (escaped) val = pug_escape(val); - return ' ' + key + '="' + val + '"'; -}; - -/** - * Render the given attributes object. - * - * @param {Object} obj - * @param {Object} terse whether to use HTML5 terse boolean attributes - * @return {String} - */ -exports.attrs = pug_attrs; -function pug_attrs(obj, terse){ - var attrs = ''; - - for (var key in obj) { - if (pug_has_own_property.call(obj, key)) { - var val = obj[key]; - - if ('class' === key) { - val = pug_classes(val); - attrs = pug_attr(key, val, false, terse) + attrs; - continue; - } - if ('style' === key) { - val = pug_style(val); - } - attrs += pug_attr(key, val, false, terse); - } - } - - return attrs; -}; - -/** - * Escape the given string of `html`. - * - * @param {String} html - * @return {String} - * @api private - */ - -var pug_match_html = /["&<>]/; -exports.escape = pug_escape; -function pug_escape(_html){ - var html = '' + _html; - var regexResult = pug_match_html.exec(html); - if (!regexResult) return _html; - - var result = ''; - var i, lastIndex, escape; - for (i = regexResult.index, lastIndex = 0; i < html.length; i++) { - switch (html.charCodeAt(i)) { - case 34: escape = '"'; break; - case 38: escape = '&'; break; - case 60: escape = '<'; break; - case 62: escape = '>'; break; - default: continue; - } - if (lastIndex !== i) result += html.substring(lastIndex, i); - lastIndex = i + 1; - result += escape; - } - if (lastIndex !== i) return result + html.substring(lastIndex, i); - else return result; -}; - -/** - * Re-throw the given `err` in context to the - * the pug in `filename` at the given `lineno`. - * - * @param {Error} err - * @param {String} filename - * @param {String} lineno - * @param {String} str original source - * @api private - */ - -exports.rethrow = pug_rethrow; -function pug_rethrow(err, filename, lineno, str){ - if (!(err instanceof Error)) throw err; - if ((typeof window != 'undefined' || !filename) && !str) { - err.message += ' on line ' + lineno; - throw err; - } - try { - str = str || __webpack_require__(4).readFileSync(filename, 'utf8') - } catch (ex) { - pug_rethrow(err, null, lineno) - } - var context = 3 - , lines = str.split('\n') - , start = Math.max(lineno - context, 0) - , end = Math.min(lines.length, lineno + context); - - // Error context - var context = lines.slice(start, end).map(function(line, i){ - var curr = i + start + 1; - return (curr == lineno ? ' > ' : ' ') - + curr - + '| ' - + line; - }).join('\n'); - - // Alter exception message - err.path = filename; - err.message = (filename || 'Pug') + ':' + lineno - + '\n' + context + '\n\n' + err.message; - throw err; -}; - - -/***/ }), -/* 4 */ -/***/ (function(module, exports) { - -/* (ignored) */ - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/pug-loader/dist/webpack-4/favicon.ico b/examples/pug-loader/dist/webpack-4/favicon.ico deleted file mode 100644 index be74abd69ad6a32de7375df13cab9354798e328f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 766 zcmc(dze~eV5XUd2fg&jH87YDYDQKxq1{4b-_ydP-wqS9vgGh17QXQQAwOE{VaBvi* zmu^z9t({y-&1ey8Y_x;?x+`BviV9;aRjMgZ8M*!jgkRrFqSI9;F zHyfX@Az|AvVmn~YWWZP`0&JWEY~BFm?*Vq}VD7&_%x%MP$p`D`4JMC!K|B7pt?Mmp zUJAB7rxMXS6=!P+AtLU9V)J#61WPxwipRXCHO{BJ`l{m53#=t97a!znv~vfmr|AaP zRGIT7#0FyJy3Z*hL{GQp-0TRhX8UzZ)+>%?mK0^goaX4Q;xpug demo
Current time

1998-12-31T23:00:00.000Z

\ No newline at end of file diff --git a/examples/pug-loader/dist/webpack-4/styles.css b/examples/pug-loader/dist/webpack-4/styles.css deleted file mode 100644 index e86486ba..00000000 --- a/examples/pug-loader/dist/webpack-4/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} diff --git a/examples/sort-manually/dist/webpack-4/0714810ae3fb211173e2964249507195.png b/examples/sort-manually/dist/webpack-4/0714810ae3fb211173e2964249507195.png deleted file mode 100644 index d71b3d789f45d8f124a1fde57a36e55855a6dcb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54055 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 Duf!qe diff --git a/examples/sort-manually/dist/webpack-4/a.js b/examples/sort-manually/dist/webpack-4/a.js deleted file mode 100644 index 45d5bc6c..00000000 --- a/examples/sort-manually/dist/webpack-4/a.js +++ /dev/null @@ -1,106 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 2); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */, -/* 1 */, -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { - -__webpack_require__(3); -var h1 = document.createElement('h1'); -h1.innerHTML = 'a!'; -document.body.appendChild(h1); - - -/***/ }), -/* 3 */ -/***/ (function(module, exports, __webpack_require__) { - -// extracted by mini-css-extract-plugin - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-4/b.js b/examples/sort-manually/dist/webpack-4/b.js deleted file mode 100644 index ff84b5e4..00000000 --- a/examples/sort-manually/dist/webpack-4/b.js +++ /dev/null @@ -1,97 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports) { - -var h1 = document.createElement('h1'); -h1.innerHTML = 'b!'; -document.body.appendChild(h1); - - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-4/c.js b/examples/sort-manually/dist/webpack-4/c.js deleted file mode 100644 index 79d1c5b5..00000000 --- a/examples/sort-manually/dist/webpack-4/c.js +++ /dev/null @@ -1,99 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 4); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ 4: -/***/ (function(module, exports) { - -var h1 = document.createElement('h1'); -h1.innerHTML = 'c!'; -document.body.appendChild(h1); - - -/***/ }) - -/******/ }); \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-4/d.js b/examples/sort-manually/dist/webpack-4/d.js deleted file mode 100644 index fcb4c43c..00000000 --- a/examples/sort-manually/dist/webpack-4/d.js +++ /dev/null @@ -1,98 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 1); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */, -/* 1 */ -/***/ (function(module, exports) { - -var h1 = document.createElement('h1'); -h1.innerHTML = 'd!'; -document.body.appendChild(h1); - - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-4/e.js b/examples/sort-manually/dist/webpack-4/e.js deleted file mode 100644 index 7324a293..00000000 --- a/examples/sort-manually/dist/webpack-4/e.js +++ /dev/null @@ -1,99 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 5); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ 5: -/***/ (function(module, exports) { - -var h1 = document.createElement('h1'); -h1.innerHTML = 'e!'; -document.body.appendChild(h1); - - -/***/ }) - -/******/ }); \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-4/first-file.html b/examples/sort-manually/dist/webpack-4/first-file.html deleted file mode 100644 index f251a0f8..00000000 --- a/examples/sort-manually/dist/webpack-4/first-file.html +++ /dev/null @@ -1 +0,0 @@ -Example template \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-4/second-file.html b/examples/sort-manually/dist/webpack-4/second-file.html deleted file mode 100644 index ba8f8673..00000000 --- a/examples/sort-manually/dist/webpack-4/second-file.html +++ /dev/null @@ -1 +0,0 @@ -Example template \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-4/styles.css b/examples/sort-manually/dist/webpack-4/styles.css deleted file mode 100644 index e86486ba..00000000 --- a/examples/sort-manually/dist/webpack-4/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} diff --git a/examples/template-parameters/dist/webpack-4/bundle.js b/examples/template-parameters/dist/webpack-4/bundle.js deleted file mode 100644 index 04b5d781..00000000 --- a/examples/template-parameters/dist/webpack-4/bundle.js +++ /dev/null @@ -1,97 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports) { - -var h1 = document.createElement('h1'); -h1.innerHTML = 'Hello world!'; -document.body.appendChild(h1); - - -/***/ }) -/******/ ]); \ No newline at end of file diff --git a/examples/template-parameters/dist/webpack-4/index.html b/examples/template-parameters/dist/webpack-4/index.html deleted file mode 100644 index 2ac7ecd2..00000000 --- a/examples/template-parameters/dist/webpack-4/index.html +++ /dev/null @@ -1 +0,0 @@ -bar \ No newline at end of file From 701acee001dc56c90169f5edbb8b2450110403b8 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Wed, 14 Oct 2020 17:12:16 +0200 Subject: [PATCH 212/290] fix: use new webpack 5 api to extract assets from child compilation --- examples/javascript/dist/webpack-5/index.html | 2 +- lib/child-compiler.js | 56 ++++++++----------- 2 files changed, 25 insertions(+), 33 deletions(-) diff --git a/examples/javascript/dist/webpack-5/index.html b/examples/javascript/dist/webpack-5/index.html index 1e32f3c0..9930f856 100644 --- a/examples/javascript/dist/webpack-5/index.html +++ b/examples/javascript/dist/webpack-5/index.html @@ -1 +1 @@ -Hello World from backend2020-10-14T14:25:45.361Z

Partial

\ No newline at end of file +Hello World from backend2020-10-14T15:07:03.011Z

Partial

\ No newline at end of file diff --git a/lib/child-compiler.js b/lib/child-compiler.js index f9189b93..7cdb0773 100644 --- a/lib/child-compiler.js +++ b/lib/child-compiler.js @@ -16,6 +16,7 @@ const NodeTargetPlugin = require('webpack/lib/node/NodeTargetPlugin'); const LoaderTargetPlugin = require('webpack/lib/LoaderTargetPlugin'); const LibraryTemplatePlugin = require('webpack/lib/LibraryTemplatePlugin'); const SingleEntryPlugin = require('webpack/lib/SingleEntryPlugin'); +const Compilation = require('webpack').Compilation; /** * The HtmlWebpackChildCompiler is a helper to allow reusing one childCompiler @@ -100,17 +101,38 @@ class HtmlWebpackChildCompiler { new LibraryTemplatePlugin('HTML_WEBPACK_PLUGIN_RESULT', 'var').apply(childCompiler); new LoaderTargetPlugin('node').apply(childCompiler); + // Generate output file names + const temporaryTemplateNames = this.templates.map((template, index) => `__child-HtmlWebpackPlugin_${index}-${template}`); + // Add all templates this.templates.forEach((template, index) => { - new SingleEntryPlugin(childCompiler.context, template, `HtmlWebpackPlugin_${index}`).apply(childCompiler); + new SingleEntryPlugin(childCompiler.context, template, `HtmlWebpackPlugin_${index}-${template}`).apply(childCompiler); }); this.compilationStartedTimestamp = new Date().getTime(); this.compilationPromise = new Promise((resolve, reject) => { + const extractedAssets = []; + childCompiler.hooks.compilation.tap('HtmlWebpackPlugin', (compilation) => { + compilation.hooks.processAssets.tap( + { + name: 'HtmlWebpackPlugin', + stage: Compilation.PROCESS_ASSETS_STAGE_ADDITIONS + }, + (assets) => { + temporaryTemplateNames.forEach((temporaryTemplateName) => { + if (assets[temporaryTemplateName]) { + extractedAssets.push(assets[temporaryTemplateName]); + compilation.deleteAsset(temporaryTemplateName); + } + }); + } + ); + }); + childCompiler.runAsChild((err, entries, childCompilation) => { // Extract templates const compiledTemplates = entries - ? extractHelperFilesFromCompilation(mainCompilation, childCompilation, outputOptions.filename, entries) + ? extractedAssets.map((asset) => asset.source()) : []; // Extract file dependencies if (entries) { @@ -159,36 +181,6 @@ class HtmlWebpackChildCompiler { } } -/** - * The webpack child compilation will create files as a side effect. - * This function will extract them and clean them up so they won't be written to disk. - * - * Returns the source code of the compiled templates as string - * - * @returns Array - */ -function extractHelperFilesFromCompilation (mainCompilation, childCompilation, filename, childEntryChunks) { - const helperAssetNames = childEntryChunks.map((entryChunk, index) => { - const entryConfig = { - hash: childCompilation.hash, - chunk: entryChunk, - name: `HtmlWebpackPlugin_${index}` - }; - - return mainCompilation.getAssetPath(filename, entryConfig); - }); - - helperAssetNames.forEach((helperFileName) => { - delete mainCompilation.assets[helperFileName]; - }); - - const helperContents = helperAssetNames.map((helperFileName) => { - return childCompilation.assets[helperFileName].source(); - }); - - return helperContents; -} - module.exports = { HtmlWebpackChildCompiler }; From 6786e3ef130698cc0faf22d8f70674d054b31958 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Wed, 14 Oct 2020 17:14:28 +0200 Subject: [PATCH 213/290] feat: use webpack 5 typings --- package.json | 1 - typings.d.ts | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index eb57aff2..9791eb0a 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,6 @@ "dependencies": { "@types/html-minifier-terser": "^5.0.0", "@types/tapable": "^1.0.5", - "@types/webpack": "^4.41.22", "html-minifier-terser": "^5.0.1", "loader-utils": "2.0.0", "lodash": "^4.17.20", diff --git a/typings.d.ts b/typings.d.ts index 4b6d5dbc..b0a191da 100644 --- a/typings.d.ts +++ b/typings.d.ts @@ -1,5 +1,5 @@ import { AsyncSeriesWaterfallHook } from "tapable"; -import { Compiler, compilation } from 'webpack'; +import { Compiler, Compilation } from 'webpack'; import { Options as HtmlMinifierOptions } from "html-minifier-terser"; export = HtmlWebpackPlugin; @@ -9,7 +9,7 @@ declare class HtmlWebpackPlugin { apply(compiler: Compiler): void; - static getHooks(compilation: compilation.Compilation): HtmlWebpackPlugin.Hooks; + static getHooks(compilation: Compilation): HtmlWebpackPlugin.Hooks; /** * Static helper to create a tag object to be get injected into the dom From dd9db7f394ed3063927e07d0bc1055f42ca245da Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Fri, 4 Dec 2020 22:06:48 +0100 Subject: [PATCH 214/290] fix: use types included in tapable --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index 9791eb0a..a44df929 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,6 @@ }, "dependencies": { "@types/html-minifier-terser": "^5.0.0", - "@types/tapable": "^1.0.5", "html-minifier-terser": "^5.0.1", "loader-utils": "2.0.0", "lodash": "^4.17.20", From 1f8d1afce0abe16c9888dafe73010e65271cf34d Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Thu, 15 Oct 2020 09:28:39 +0200 Subject: [PATCH 215/290] feat: use webpack 5 api to add assets --- index.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/index.js b/index.js index 7d04c256..2c9e6154 100644 --- a/index.js +++ b/index.js @@ -15,6 +15,7 @@ const fs = require('fs'); const _ = require('lodash'); const path = require('path'); const loaderUtils = require('loader-utils'); +const webpack = require('webpack'); const { CachedChildCompilation } = require('./lib/cached-child-compiler'); const { createHtmlTagObject, htmlTagObjectToString, HtmlTagArray } = require('./lib/html-tags'); @@ -329,10 +330,7 @@ function hookIntoCompiler (compiler, options, plugin) { return loaderUtils.getHashDigest(Buffer.from(html, 'utf8'), hashType, digestType, parseInt(maxLength, 10)); }); // Add the evaluated html code to the webpack assets - compilation.assets[finalOutputName] = { - source: () => html, - size: () => html.length - }; + compilation.emitAsset(finalOutputName, new webpack.sources.RawSource(html, false)); return finalOutputName; }) .then((finalOutputName) => getHtmlWebpackPluginHooks(compilation).afterEmit.promise({ From 1c1fdb98771de33606172b9caf635195501b02ce Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Thu, 15 Oct 2020 14:40:32 +0200 Subject: [PATCH 216/290] feat: drop support for appcache to be able to migrate to PROCESS_ASSETS_STAGE_ADDITIONAL BREAKING CHANGE: Drop support for appcache-webpack-plugin --- .../0714810ae3fb211173e2964249507195.png | Bin 54055 -> 0 bytes examples/appcache/dist/webpack-5/bundle.js | 47 ------------------ examples/appcache/dist/webpack-5/index.html | 1 - .../appcache/dist/webpack-5/manifest.appcache | 9 ---- examples/appcache/dist/webpack-5/styles.css | 3 -- examples/appcache/example.js | 4 -- examples/appcache/logo.png | Bin 54055 -> 0 bytes examples/appcache/main.css | 3 -- examples/appcache/template.html | 11 ---- examples/appcache/webpack.config.js | 34 ------------- spec/basic.spec.js | 16 ------ spec/example.spec.js | 4 -- 12 files changed, 132 deletions(-) delete mode 100644 examples/appcache/dist/webpack-5/0714810ae3fb211173e2964249507195.png delete mode 100644 examples/appcache/dist/webpack-5/bundle.js delete mode 100644 examples/appcache/dist/webpack-5/index.html delete mode 100644 examples/appcache/dist/webpack-5/manifest.appcache delete mode 100644 examples/appcache/dist/webpack-5/styles.css delete mode 100755 examples/appcache/example.js delete mode 100644 examples/appcache/logo.png delete mode 100644 examples/appcache/main.css delete mode 100644 examples/appcache/template.html delete mode 100755 examples/appcache/webpack.config.js diff --git a/examples/appcache/dist/webpack-5/0714810ae3fb211173e2964249507195.png b/examples/appcache/dist/webpack-5/0714810ae3fb211173e2964249507195.png deleted file mode 100644 index d71b3d789f45d8f124a1fde57a36e55855a6dcb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54055 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 Duf!qe diff --git a/examples/appcache/dist/webpack-5/bundle.js b/examples/appcache/dist/webpack-5/bundle.js deleted file mode 100644 index 9ae17651..00000000 --- a/examples/appcache/dist/webpack-5/bundle.js +++ /dev/null @@ -1,47 +0,0 @@ -/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ 636: -/***/ (() => { - -// extracted by mini-css-extract-plugin - -/***/ }) - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ if(__webpack_module_cache__[moduleId]) { -/******/ return __webpack_module_cache__[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/************************************************************************/ -/******/ /************************************************************************/ -(() => { -__webpack_require__(636); -var h1 = document.createElement('h1'); -h1.innerHTML = 'Hello world!'; -document.body.appendChild(h1); - -})(); - -/******/ })() -; \ No newline at end of file diff --git a/examples/appcache/dist/webpack-5/index.html b/examples/appcache/dist/webpack-5/index.html deleted file mode 100644 index 05ab8df0..00000000 --- a/examples/appcache/dist/webpack-5/index.html +++ /dev/null @@ -1 +0,0 @@ -Example template \ No newline at end of file diff --git a/examples/appcache/dist/webpack-5/manifest.appcache b/examples/appcache/dist/webpack-5/manifest.appcache deleted file mode 100644 index 61a39638..00000000 --- a/examples/appcache/dist/webpack-5/manifest.appcache +++ /dev/null @@ -1,9 +0,0 @@ -CACHE MANIFEST -# 8bbe00db9cab8f982354 - -0714810ae3fb211173e2964249507195.png -styles.css -bundle.js - -NETWORK: -* diff --git a/examples/appcache/dist/webpack-5/styles.css b/examples/appcache/dist/webpack-5/styles.css deleted file mode 100644 index e86486ba..00000000 --- a/examples/appcache/dist/webpack-5/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} diff --git a/examples/appcache/example.js b/examples/appcache/example.js deleted file mode 100755 index d62766b0..00000000 --- a/examples/appcache/example.js +++ /dev/null @@ -1,4 +0,0 @@ -require('./main.css'); -var h1 = document.createElement('h1'); -h1.innerHTML = 'Hello world!'; -document.body.appendChild(h1); diff --git a/examples/appcache/logo.png b/examples/appcache/logo.png deleted file mode 100644 index d71b3d789f45d8f124a1fde57a36e55855a6dcb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54055 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 Duf!qe diff --git a/examples/appcache/main.css b/examples/appcache/main.css deleted file mode 100644 index 232a2cdb..00000000 --- a/examples/appcache/main.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: snow; -} \ No newline at end of file diff --git a/examples/appcache/template.html b/examples/appcache/template.html deleted file mode 100644 index b7b4f973..00000000 --- a/examples/appcache/template.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - - Example template - - - - - - \ No newline at end of file diff --git a/examples/appcache/webpack.config.js b/examples/appcache/webpack.config.js deleted file mode 100755 index 449a6cf9..00000000 --- a/examples/appcache/webpack.config.js +++ /dev/null @@ -1,34 +0,0 @@ -var path = require('path'); -var AppCachePlugin = require('appcache-webpack-plugin'); -var HtmlWebpackPlugin = require('../..'); -var MiniCssExtractPlugin = require('mini-css-extract-plugin'); -var webpackMajorVersion = require('webpack/package.json').version.split('.')[0]; - -module.exports = { - context: __dirname, - entry: './example.js', - output: { - path: path.join(__dirname, 'dist/webpack-' + webpackMajorVersion), - publicPath: '', - filename: 'bundle.js' - }, - module: { - rules: [ - { test: /\.css$/, use: [MiniCssExtractPlugin.loader, 'css-loader'] }, - { test: /\.png$/, loader: 'file-loader' }, - { test: /\.html$/, loader: 'html-loader', options: { removeOptionalTags: false } } - ] - }, - plugins: [ - new AppCachePlugin(), - new HtmlWebpackPlugin({ - filename: 'index.html', - template: 'template.html', - minify: { - removeComments: true, - collapseWhitespace: true - } - }), - new MiniCssExtractPlugin({ filename: 'styles.css' }) - ] -}; diff --git a/spec/basic.spec.js b/spec/basic.spec.js index 14837c5c..9e805f72 100644 --- a/spec/basic.spec.js +++ b/spec/basic.spec.js @@ -1909,22 +1909,6 @@ describe('HtmlWebpackPlugin', () => { }, ['Error: HtmlWebpackPlugin: could not load file'], null, done, true); }); - it('adds a manifest', done => { - const AppCachePlugin = require('appcache-webpack-plugin'); - testHtmlPlugin({ - mode: 'production', - entry: path.join(__dirname, 'fixtures/index.js'), - output: { - path: OUTPUT_DIR, - filename: 'index_bundle.js' - }, - plugins: [ - new AppCachePlugin({ settings: ['prefer-online'] }), - new HtmlWebpackPlugin() - ] - }, [''], null, done); - }); - it('does not add a manifest if already present', done => { const AppCachePlugin = require('appcache-webpack-plugin'); testHtmlPlugin({ diff --git a/spec/example.spec.js b/spec/example.spec.js index 09b08df4..8f721488 100644 --- a/spec/example.spec.js +++ b/spec/example.spec.js @@ -60,10 +60,6 @@ function runExample (exampleName, done) { } describe('HtmlWebpackPlugin Examples', () => { - it('appcache example', done => { - runExample('appcache', done); - }); - it('custom-template example', done => { runExample('custom-template', done); }); From aa64b824606896ed01daf7e6da80429785ecd7bc Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Thu, 15 Oct 2020 14:41:39 +0200 Subject: [PATCH 217/290] refactor: use compilation ids instead of template paths --- lib/child-compiler.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/child-compiler.js b/lib/child-compiler.js index 7cdb0773..72590925 100644 --- a/lib/child-compiler.js +++ b/lib/child-compiler.js @@ -18,6 +18,7 @@ const LibraryTemplatePlugin = require('webpack/lib/LibraryTemplatePlugin'); const SingleEntryPlugin = require('webpack/lib/SingleEntryPlugin'); const Compilation = require('webpack').Compilation; +let instanceId = 0; /** * The HtmlWebpackChildCompiler is a helper to allow reusing one childCompiler * for multiple HtmlWebpackPlugin instances to improve the compilation performance. @@ -28,6 +29,8 @@ class HtmlWebpackChildCompiler { * @param {string[]} templates */ constructor (templates) { + /** Id for this ChildCompiler */ + this.id = instanceId++; /** * @type {string[]} templateIds * The template array will allow us to keep track which input generated which output @@ -102,11 +105,11 @@ class HtmlWebpackChildCompiler { new LoaderTargetPlugin('node').apply(childCompiler); // Generate output file names - const temporaryTemplateNames = this.templates.map((template, index) => `__child-HtmlWebpackPlugin_${index}-${template}`); + const temporaryTemplateNames = this.templates.map((template, index) => `__child-HtmlWebpackPlugin_${index}-${this.id}`); // Add all templates this.templates.forEach((template, index) => { - new SingleEntryPlugin(childCompiler.context, template, `HtmlWebpackPlugin_${index}-${template}`).apply(childCompiler); + new SingleEntryPlugin(childCompiler.context, template, `HtmlWebpackPlugin_${index}-${this.id}`).apply(childCompiler); }); this.compilationStartedTimestamp = new Date().getTime(); From 3a9f3999112a4ee3fb14994737152655c3c5baa7 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Thu, 15 Oct 2020 14:43:50 +0200 Subject: [PATCH 218/290] feat: use thisCompilation in child compiler for faster builds see also https://github.com/webpack/webpack/pull/11704 --- lib/child-compiler.js | 2 +- package.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/child-compiler.js b/lib/child-compiler.js index 72590925..365db42a 100644 --- a/lib/child-compiler.js +++ b/lib/child-compiler.js @@ -115,7 +115,7 @@ class HtmlWebpackChildCompiler { this.compilationStartedTimestamp = new Date().getTime(); this.compilationPromise = new Promise((resolve, reject) => { const extractedAssets = []; - childCompiler.hooks.compilation.tap('HtmlWebpackPlugin', (compilation) => { + childCompiler.hooks.thisCompilation.tap('HtmlWebpackPlugin', (compilation) => { compilation.hooks.processAssets.tap( { name: 'HtmlWebpackPlugin', diff --git a/package.json b/package.json index a44df929..cdbd05bb 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "standard-version": "9.0.0", "style-loader": "0.23.1", "typescript": "4.0.3", - "webpack": "5.1.0", + "webpack": "5.1.2", "webpack-recompilation-simulator": "3.2.0" }, "dependencies": { @@ -58,7 +58,7 @@ "tapable": "2.0.0" }, "peerDependencies": { - "webpack": "^5.1.0" + "webpack": "^5.1.2" }, "keywords": [ "webpack", From ef867fd7233f8deae3bc75753b03cbdfbb17ee0c Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Fri, 16 Oct 2020 11:21:03 +0200 Subject: [PATCH 219/290] feat: use webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS to add assets --- index.js | 299 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 155 insertions(+), 144 deletions(-) diff --git a/index.js b/index.js index 2c9e6154..e74f4622 100644 --- a/index.js +++ b/index.js @@ -188,164 +188,175 @@ function hookIntoCompiler (compiler, options, plugin) { }; } - compiler.hooks.emit.tapAsync('HtmlWebpackPlugin', + compiler.hooks.thisCompilation.tap('HtmlWebpackPlugin', /** - * Hook into the webpack emit phase + * Hook into the webpack compilation * @param {WebpackCompilation} compilation + */ + (compilation) => { + compilation.hooks.processAssets.tapAsync( + { + name: 'HtmlWebpackPlugin', + stage: webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS + }, + /** + * Hook into the PROCESS_ASSETS_STAGE_ADDITIONS hook + * @param {WebpackCompilation} compilationAssets * @param {(err?: Error) => void} callback */ - (compilation, callback) => { - // Get all entry point names for this html file - const entryNames = Array.from(compilation.entrypoints.keys()); - const filteredEntryNames = filterChunks(entryNames, options.chunks, options.excludeChunks); - const sortedEntryNames = sortEntryChunks(filteredEntryNames, options.chunksSortMode, compilation); - - const templateResult = options.templateContent - ? { mainCompilationHash: compilation.hash } - : childCompilerPlugin.getCompilationEntryResult(options.template); - - if ('error' in templateResult) { - compilation.errors.push(prettyError(templateResult.error, compiler.context).toString()); - } + (compilationAssets, callback) => { + // Get all entry point names for this html file + const entryNames = Array.from(compilation.entrypoints.keys()); + const filteredEntryNames = filterChunks(entryNames, options.chunks, options.excludeChunks); + const sortedEntryNames = sortEntryChunks(filteredEntryNames, options.chunksSortMode, compilation); - const compiledEntries = 'compiledEntry' in templateResult ? { - hash: templateResult.compiledEntry.hash, - chunk: templateResult.compiledEntry.entry - } : { - hash: templateResult.mainCompilationHash - }; + const templateResult = options.templateContent + ? { mainCompilationHash: compilation.hash } + : childCompilerPlugin.getCompilationEntryResult(options.template); - const childCompilationOutputName = compilation.getAssetPath(options.filename, compiledEntries); - - // If the child compilation was not executed during a previous main compile run - // it is a cached result - const isCompilationCached = templateResult.mainCompilationHash !== compilation.hash; + if ('error' in templateResult) { + compilation.errors.push(prettyError(templateResult.error, compiler.context).toString()); + } - // Turn the entry point names into file paths - const assets = htmlWebpackPluginAssets(compilation, childCompilationOutputName, sortedEntryNames, options.publicPath); + const compiledEntries = 'compiledEntry' in templateResult ? { + hash: templateResult.compiledEntry.hash, + chunk: templateResult.compiledEntry.entry + } : { + hash: templateResult.mainCompilationHash + }; - // If the template and the assets did not change we don't have to emit the html - const newAssetJson = JSON.stringify(getAssetFiles(assets)); - if (isCompilationCached && options.cache && assetJson === newAssetJson) { - return callback(); - } else { - assetJson = newAssetJson; - } + const childCompilationOutputName = compilation.getAssetPath(options.filename, compiledEntries); - // The html-webpack plugin uses a object representation for the html-tags which will be injected - // to allow altering them more easily - // Just before they are converted a third-party-plugin author might change the order and content - const assetsPromise = getFaviconPublicPath(options.favicon, compilation, assets.publicPath) - .then((faviconPath) => { - assets.favicon = faviconPath; - return getHtmlWebpackPluginHooks(compilation).beforeAssetTagGeneration.promise({ - assets: assets, - outputName: childCompilationOutputName, - plugin: plugin - }); - }); + // If the child compilation was not executed during a previous main compile run + // it is a cached result + const isCompilationCached = templateResult.mainCompilationHash !== compilation.hash; - // Turn the js and css paths into grouped HtmlTagObjects - const assetTagGroupsPromise = assetsPromise - // And allow third-party-plugin authors to reorder and change the assetTags before they are grouped - .then(({ assets }) => getHtmlWebpackPluginHooks(compilation).alterAssetTags.promise({ - assetTags: { - scripts: generatedScriptTags(assets.js), - styles: generateStyleTags(assets.css), - meta: [ - ...generateBaseTag(options.base), - ...generatedMetaTags(options.meta), - ...generateFaviconTags(assets.favicon) - ] - }, - outputName: childCompilationOutputName, - plugin: plugin - })) - .then(({ assetTags }) => { - // Inject scripts to body unless it set explicitly to head - const scriptTarget = options.inject === 'head' || - (options.inject === false && options.scriptLoading !== 'blocking') ? 'head' : 'body'; - // Group assets to `head` and `body` tag arrays - const assetGroups = generateAssetGroups(assetTags, scriptTarget); - // Allow third-party-plugin authors to reorder and change the assetTags once they are grouped - return getHtmlWebpackPluginHooks(compilation).alterAssetTagGroups.promise({ - headTags: assetGroups.headTags, - bodyTags: assetGroups.bodyTags, - outputName: childCompilationOutputName, - plugin: plugin - }); - }); + // Turn the entry point names into file paths + const assets = htmlWebpackPluginAssets(compilation, childCompilationOutputName, sortedEntryNames, options.publicPath); - // Turn the compiled template into a nodejs function or into a nodejs string - const templateEvaluationPromise = Promise.resolve() - .then(() => { - if ('error' in templateResult) { - return options.showErrors ? prettyError(templateResult.error, compiler.context).toHtml() : 'ERROR'; - } - // Allow to use a custom function / string instead - if (options.templateContent !== false) { - return options.templateContent; + // If the template and the assets did not change we don't have to emit the html + const newAssetJson = JSON.stringify(getAssetFiles(assets)); + if (isCompilationCached && options.cache && assetJson === newAssetJson) { + return callback(); + } else { + assetJson = newAssetJson; } - // Once everything is compiled evaluate the html factory - // and replace it with its content - return ('compiledEntry' in templateResult) - ? plugin.evaluateCompilationResult(templateResult.compiledEntry.content, options.template) - : Promise.reject(new Error('Child compilation contained no compiledEntry')); - }); - - const templateExectutionPromise = Promise.all([assetsPromise, assetTagGroupsPromise, templateEvaluationPromise]) - // Execute the template - .then(([assetsHookResult, assetTags, compilationResult]) => typeof compilationResult !== 'function' - ? compilationResult - : executeTemplate(compilationResult, assetsHookResult.assets, { headTags: assetTags.headTags, bodyTags: assetTags.bodyTags }, compilation)); - - const injectedHtmlPromise = Promise.all([assetTagGroupsPromise, templateExectutionPromise]) - // Allow plugins to change the html before assets are injected - .then(([assetTags, html]) => { - const pluginArgs = { html, headTags: assetTags.headTags, bodyTags: assetTags.bodyTags, plugin: plugin, outputName: childCompilationOutputName }; - return getHtmlWebpackPluginHooks(compilation).afterTemplateExecution.promise(pluginArgs); - }) - .then(({ html, headTags, bodyTags }) => { - return postProcessHtml(html, assets, { headTags, bodyTags }); - }); - const emitHtmlPromise = injectedHtmlPromise - // Allow plugins to change the html after assets are injected - .then((html) => { - const pluginArgs = { html, plugin: plugin, outputName: childCompilationOutputName }; - return getHtmlWebpackPluginHooks(compilation).beforeEmit.promise(pluginArgs) - .then(result => result.html); - }) - .catch(err => { - // In case anything went wrong the promise is resolved - // with the error message and an error is logged - compilation.errors.push(prettyError(err, compiler.context).toString()); - return options.showErrors ? prettyError(err, compiler.context).toHtml() : 'ERROR'; - }) - .then(html => { - // Allow to use [templatehash] as placeholder for the html-webpack-plugin name - // See also https://survivejs.com/webpack/optimizing/adding-hashes-to-filenames/ - // From https://github.com/webpack-contrib/extract-text-webpack-plugin/blob/8de6558e33487e7606e7cd7cb2adc2cccafef272/src/index.js#L212-L214 - const finalOutputName = childCompilationOutputName.replace(/\[(?:(\w+):)?templatehash(?::([a-z]+\d*))?(?::(\d+))?\]/ig, (_, hashType, digestType, maxLength) => { - return loaderUtils.getHashDigest(Buffer.from(html, 'utf8'), hashType, digestType, parseInt(maxLength, 10)); + // The html-webpack plugin uses a object representation for the html-tags which will be injected + // to allow altering them more easily + // Just before they are converted a third-party-plugin author might change the order and content + const assetsPromise = getFaviconPublicPath(options.favicon, compilation, assets.publicPath) + .then((faviconPath) => { + assets.favicon = faviconPath; + return getHtmlWebpackPluginHooks(compilation).beforeAssetTagGeneration.promise({ + assets: assets, + outputName: childCompilationOutputName, + plugin: plugin + }); + }); + + // Turn the js and css paths into grouped HtmlTagObjects + const assetTagGroupsPromise = assetsPromise + // And allow third-party-plugin authors to reorder and change the assetTags before they are grouped + .then(({ assets }) => getHtmlWebpackPluginHooks(compilation).alterAssetTags.promise({ + assetTags: { + scripts: generatedScriptTags(assets.js), + styles: generateStyleTags(assets.css), + meta: [ + ...generateBaseTag(options.base), + ...generatedMetaTags(options.meta), + ...generateFaviconTags(assets.favicon) + ] + }, + outputName: childCompilationOutputName, + plugin: plugin + })) + .then(({ assetTags }) => { + // Inject scripts to body unless it set explicitly to head + const scriptTarget = options.inject === 'head' || + (options.inject === false && options.scriptLoading !== 'blocking') ? 'head' : 'body'; + // Group assets to `head` and `body` tag arrays + const assetGroups = generateAssetGroups(assetTags, scriptTarget); + // Allow third-party-plugin authors to reorder and change the assetTags once they are grouped + return getHtmlWebpackPluginHooks(compilation).alterAssetTagGroups.promise({ + headTags: assetGroups.headTags, + bodyTags: assetGroups.bodyTags, + outputName: childCompilationOutputName, + plugin: plugin + }); + }); + + // Turn the compiled template into a nodejs function or into a nodejs string + const templateEvaluationPromise = Promise.resolve() + .then(() => { + if ('error' in templateResult) { + return options.showErrors ? prettyError(templateResult.error, compiler.context).toHtml() : 'ERROR'; + } + // Allow to use a custom function / string instead + if (options.templateContent !== false) { + return options.templateContent; + } + // Once everything is compiled evaluate the html factory + // and replace it with its content + return ('compiledEntry' in templateResult) + ? plugin.evaluateCompilationResult(templateResult.compiledEntry.content, options.template) + : Promise.reject(new Error('Child compilation contained no compiledEntry')); + }); + + const templateExectutionPromise = Promise.all([assetsPromise, assetTagGroupsPromise, templateEvaluationPromise]) + // Execute the template + .then(([assetsHookResult, assetTags, compilationResult]) => typeof compilationResult !== 'function' + ? compilationResult + : executeTemplate(compilationResult, assetsHookResult.assets, { headTags: assetTags.headTags, bodyTags: assetTags.bodyTags }, compilation)); + + const injectedHtmlPromise = Promise.all([assetTagGroupsPromise, templateExectutionPromise]) + // Allow plugins to change the html before assets are injected + .then(([assetTags, html]) => { + const pluginArgs = { html, headTags: assetTags.headTags, bodyTags: assetTags.bodyTags, plugin: plugin, outputName: childCompilationOutputName }; + return getHtmlWebpackPluginHooks(compilation).afterTemplateExecution.promise(pluginArgs); + }) + .then(({ html, headTags, bodyTags }) => { + return postProcessHtml(html, assets, { headTags, bodyTags }); + }); + + const emitHtmlPromise = injectedHtmlPromise + // Allow plugins to change the html after assets are injected + .then((html) => { + const pluginArgs = { html, plugin: plugin, outputName: childCompilationOutputName }; + return getHtmlWebpackPluginHooks(compilation).beforeEmit.promise(pluginArgs) + .then(result => result.html); + }) + .catch(err => { + // In case anything went wrong the promise is resolved + // with the error message and an error is logged + compilation.errors.push(prettyError(err, compiler.context).toString()); + return options.showErrors ? prettyError(err, compiler.context).toHtml() : 'ERROR'; + }) + .then(html => { + // Allow to use [templatehash] as placeholder for the html-webpack-plugin name + // See also https://survivejs.com/webpack/optimizing/adding-hashes-to-filenames/ + // From https://github.com/webpack-contrib/extract-text-webpack-plugin/blob/8de6558e33487e7606e7cd7cb2adc2cccafef272/src/index.js#L212-L214 + const finalOutputName = childCompilationOutputName.replace(/\[(?:(\w+):)?templatehash(?::([a-z]+\d*))?(?::(\d+))?\]/ig, (_, hashType, digestType, maxLength) => { + return loaderUtils.getHashDigest(Buffer.from(html, 'utf8'), hashType, digestType, parseInt(maxLength, 10)); + }); + // Add the evaluated html code to the webpack assets + compilation.emitAsset(finalOutputName, new webpack.sources.RawSource(html, false)); + return finalOutputName; + }) + .then((finalOutputName) => getHtmlWebpackPluginHooks(compilation).afterEmit.promise({ + outputName: finalOutputName, + plugin: plugin + }).catch(err => { + console.error(err); + return null; + }).then(() => null)); + + // Once all files are added to the webpack compilation + // let the webpack compiler continue + emitHtmlPromise.then(() => { + callback(); }); - // Add the evaluated html code to the webpack assets - compilation.emitAsset(finalOutputName, new webpack.sources.RawSource(html, false)); - return finalOutputName; - }) - .then((finalOutputName) => getHtmlWebpackPluginHooks(compilation).afterEmit.promise({ - outputName: finalOutputName, - plugin: plugin - }).catch(err => { - console.error(err); - return null; - }).then(() => null)); - - // Once all files are added to the webpack compilation - // let the webpack compiler continue - emitHtmlPromise.then(() => { - callback(); - }); + }); }); /** From 71030b8c65e4a6b95dd20bb15c8b77dacbb70db6 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Fri, 16 Oct 2020 11:30:02 +0200 Subject: [PATCH 220/290] chore: upgrade mini-css-extract-plugin dev dependency --- .../custom-template/dist/webpack-5/bundle.js | 18 ++++++++++++++++-- examples/favicon/dist/webpack-5/bundle.js | 18 ++++++++++++++++-- examples/html-loader/dist/webpack-5/bundle.js | 18 ++++++++++++++++-- examples/inline/dist/webpack-5/bundle.js | 19 ++++++++++++++++--- examples/inline/dist/webpack-5/index.html | 19 ++++++++++++++++--- .../dist/webpack-5/bundle.js | 18 +++++++++++++++--- examples/javascript/dist/webpack-5/bundle.js | 18 +++++++++++++++--- examples/javascript/dist/webpack-5/index.html | 2 +- examples/pug-loader/dist/webpack-5/bundle.js | 18 ++++++++++++++++-- examples/sort-manually/dist/webpack-5/a.js | 18 ++++++++++++++++-- examples/sort-manually/dist/webpack-5/b.js | 1 - examples/sort-manually/dist/webpack-5/c.js | 1 - examples/sort-manually/dist/webpack-5/d.js | 1 - examples/sort-manually/dist/webpack-5/e.js | 1 - package.json | 2 +- 15 files changed, 144 insertions(+), 28 deletions(-) diff --git a/examples/custom-template/dist/webpack-5/bundle.js b/examples/custom-template/dist/webpack-5/bundle.js index 9ae17651..635cfad1 100644 --- a/examples/custom-template/dist/webpack-5/bundle.js +++ b/examples/custom-template/dist/webpack-5/bundle.js @@ -2,10 +2,13 @@ /******/ var __webpack_modules__ = ({ /***/ 636: -/***/ (() => { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { +"use strict"; +__webpack_require__.r(__webpack_exports__); // extracted by mini-css-extract-plugin + /***/ }) /******/ }); @@ -34,7 +37,18 @@ /******/ } /******/ /************************************************************************/ -/******/ /************************************************************************/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ (() => { __webpack_require__(636); var h1 = document.createElement('h1'); diff --git a/examples/favicon/dist/webpack-5/bundle.js b/examples/favicon/dist/webpack-5/bundle.js index 9ae17651..635cfad1 100644 --- a/examples/favicon/dist/webpack-5/bundle.js +++ b/examples/favicon/dist/webpack-5/bundle.js @@ -2,10 +2,13 @@ /******/ var __webpack_modules__ = ({ /***/ 636: -/***/ (() => { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { +"use strict"; +__webpack_require__.r(__webpack_exports__); // extracted by mini-css-extract-plugin + /***/ }) /******/ }); @@ -34,7 +37,18 @@ /******/ } /******/ /************************************************************************/ -/******/ /************************************************************************/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ (() => { __webpack_require__(636); var h1 = document.createElement('h1'); diff --git a/examples/html-loader/dist/webpack-5/bundle.js b/examples/html-loader/dist/webpack-5/bundle.js index 9ae17651..635cfad1 100644 --- a/examples/html-loader/dist/webpack-5/bundle.js +++ b/examples/html-loader/dist/webpack-5/bundle.js @@ -2,10 +2,13 @@ /******/ var __webpack_modules__ = ({ /***/ 636: -/***/ (() => { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { +"use strict"; +__webpack_require__.r(__webpack_exports__); // extracted by mini-css-extract-plugin + /***/ }) /******/ }); @@ -34,7 +37,18 @@ /******/ } /******/ /************************************************************************/ -/******/ /************************************************************************/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ (() => { __webpack_require__(636); var h1 = document.createElement('h1'); diff --git a/examples/inline/dist/webpack-5/bundle.js b/examples/inline/dist/webpack-5/bundle.js index a995ab3d..c071dcd6 100644 --- a/examples/inline/dist/webpack-5/bundle.js +++ b/examples/inline/dist/webpack-5/bundle.js @@ -1,11 +1,14 @@ /******/ (() => { // webpackBootstrap +/******/ "use strict"; /******/ var __webpack_modules__ = ({ /***/ 636: -/***/ (() => { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { +__webpack_require__.r(__webpack_exports__); // extracted by mini-css-extract-plugin + /***/ }) /******/ }); @@ -34,9 +37,19 @@ /******/ } /******/ /************************************************************************/ -/******/ /************************************************************************/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ (() => { -"use strict"; __webpack_require__(636); diff --git a/examples/inline/dist/webpack-5/index.html b/examples/inline/dist/webpack-5/index.html index 2583fe90..1cdce1c3 100644 --- a/examples/inline/dist/webpack-5/index.html +++ b/examples/inline/dist/webpack-5/index.html @@ -1,13 +1,16 @@ pug demoHello World from backend2020-10-14T15:07:03.011Z

Partial

\ No newline at end of file +Hello World from backend2020-10-16T09:28:24.192Z

Partial

\ No newline at end of file diff --git a/examples/pug-loader/dist/webpack-5/bundle.js b/examples/pug-loader/dist/webpack-5/bundle.js index 11ae57a6..9f33d64a 100644 --- a/examples/pug-loader/dist/webpack-5/bundle.js +++ b/examples/pug-loader/dist/webpack-5/bundle.js @@ -2,10 +2,13 @@ /******/ var __webpack_modules__ = ({ /***/ 636: -/***/ (() => { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { +"use strict"; +__webpack_require__.r(__webpack_exports__); // extracted by mini-css-extract-plugin + /***/ }), /***/ 656: @@ -313,7 +316,18 @@ function pug_rethrow(err, filename, lineno, str){ /******/ } /******/ /************************************************************************/ -/******/ /************************************************************************/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ (() => { "use strict"; diff --git a/examples/sort-manually/dist/webpack-5/a.js b/examples/sort-manually/dist/webpack-5/a.js index dbfd0573..0165c13f 100644 --- a/examples/sort-manually/dist/webpack-5/a.js +++ b/examples/sort-manually/dist/webpack-5/a.js @@ -2,10 +2,13 @@ /******/ var __webpack_modules__ = ({ /***/ 636: -/***/ (() => { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { +"use strict"; +__webpack_require__.r(__webpack_exports__); // extracted by mini-css-extract-plugin + /***/ }) /******/ }); @@ -34,7 +37,18 @@ /******/ } /******/ /************************************************************************/ -/******/ /************************************************************************/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ (() => { __webpack_require__(636); var h1 = document.createElement('h1'); diff --git a/examples/sort-manually/dist/webpack-5/b.js b/examples/sort-manually/dist/webpack-5/b.js index 7bf528af..c850d4ad 100644 --- a/examples/sort-manually/dist/webpack-5/b.js +++ b/examples/sort-manually/dist/webpack-5/b.js @@ -1,5 +1,4 @@ /******/ (() => { // webpackBootstrap -/******/ /************************************************************************/ var h1 = document.createElement('h1'); h1.innerHTML = 'b!'; document.body.appendChild(h1); diff --git a/examples/sort-manually/dist/webpack-5/c.js b/examples/sort-manually/dist/webpack-5/c.js index 82852a6f..e3031f95 100644 --- a/examples/sort-manually/dist/webpack-5/c.js +++ b/examples/sort-manually/dist/webpack-5/c.js @@ -1,5 +1,4 @@ /******/ (() => { // webpackBootstrap -/******/ /************************************************************************/ var h1 = document.createElement('h1'); h1.innerHTML = 'c!'; document.body.appendChild(h1); diff --git a/examples/sort-manually/dist/webpack-5/d.js b/examples/sort-manually/dist/webpack-5/d.js index cfd11c66..46e0e975 100644 --- a/examples/sort-manually/dist/webpack-5/d.js +++ b/examples/sort-manually/dist/webpack-5/d.js @@ -1,5 +1,4 @@ /******/ (() => { // webpackBootstrap -/******/ /************************************************************************/ var h1 = document.createElement('h1'); h1.innerHTML = 'd!'; document.body.appendChild(h1); diff --git a/examples/sort-manually/dist/webpack-5/e.js b/examples/sort-manually/dist/webpack-5/e.js index 01886f02..b017cb51 100644 --- a/examples/sort-manually/dist/webpack-5/e.js +++ b/examples/sort-manually/dist/webpack-5/e.js @@ -1,5 +1,4 @@ /******/ (() => { // webpackBootstrap -/******/ /************************************************************************/ var h1 = document.createElement('h1'); h1.innerHTML = 'e!'; document.body.appendChild(h1); diff --git a/package.json b/package.json index cdbd05bb..24fc2050 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "file-loader": "3.0.1", "html-loader": "0.5.5", "jest": "26.5.3", - "mini-css-extract-plugin": "0.6.0", + "mini-css-extract-plugin": "1.0.0", "pug": "2.0.3", "pug-loader": "2.4.0", "rimraf": "2.6.3", From b518ab1448fbc191f0526dee583a88e0f91f24f5 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Fri, 16 Oct 2020 13:00:04 +0200 Subject: [PATCH 221/290] fix: add options back for events --- index.js | 1 + spec/basic.spec.js | 68 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) diff --git a/index.js b/index.js index e74f4622..f7627151 100644 --- a/index.js +++ b/index.js @@ -70,6 +70,7 @@ class HtmlWebpackPlugin { /** @type {ProcessedHtmlWebpackOptions} */ const options = Object.assign(defaultOptions, userOptions); + this.options = options; // Assert correct option spelling assert(options.scriptLoading === 'defer' || options.scriptLoading === 'blocking', 'scriptLoading needs to be set to "defer" or "blocking'); diff --git a/spec/basic.spec.js b/spec/basic.spec.js index 9e805f72..f693f32a 100644 --- a/spec/basic.spec.js +++ b/spec/basic.spec.js @@ -1145,6 +1145,74 @@ describe('HtmlWebpackPlugin', () => { null, done, false, false); }); + it('provides the options to the afterEmit event', done => { + let eventArgs; + const examplePlugin = { + apply: function (compiler) { + compiler.hooks.compilation.tap('HtmlWebpackPlugin', compilation => { + HtmlWebpackPlugin.getHooks(compilation).afterEmit.tapAsync('HtmlWebpackPluginTest', (pluginArgs, callback) => { + eventArgs = pluginArgs; + callback(null, pluginArgs); + }); + }); + } + }; + testHtmlPlugin({ + mode: 'production', + entry: { + app: path.join(__dirname, 'fixtures/index.js') + }, + output: { + path: OUTPUT_DIR, + filename: '[name]_bundle.js' + }, + plugins: [ + new HtmlWebpackPlugin({ + foo: 'bar' + }), + examplePlugin + ] + }, + [/ @@ -100,13 +86,11 @@ declare namespace HtmlWebpackPlugin { * * @default 'blocking' */ - scriptLoading: - | "blocking" - | "defer" + scriptLoading?: "blocking" | "defer"; /** * Inject meta tags */ - meta: + meta?: | false // Disable injection | { [name: string]: @@ -121,28 +105,30 @@ declare namespace HtmlWebpackPlugin { * - Set to custom minification according to * {@link https://github.com/kangax/html-minifier#options-quick-reference} */ - minify: 'auto' | boolean | MinifyOptions; + minify?: "auto" | boolean | MinifyOptions; /** * Render errors into the HTML page */ - showErrors: boolean; + showErrors?: boolean; /** * The `webpack` require path to the template. * @see https://github.com/jantimon/html-webpack-plugin/blob/master/docs/template-option.md */ - template: string; + template?: string; /** * Allow to use a html string instead of reading from a file */ - templateContent: + templateContent?: | false // Use the template option instead to load a file | string - | ((templateParameters: { [option: string]: any }) => (string | Promise)) + | ((templateParameters: { + [option: string]: any; + }) => string | Promise) | Promise; /** * Allows to overwrite the parameters used in the template */ - templateParameters: + templateParameters?: | false // Pass an empty object to the template function | (( compilation: any, @@ -163,11 +149,11 @@ declare namespace HtmlWebpackPlugin { /** * The title to use for the generated HTML document */ - title: string; + title?: string; /** * Enforce self closing tags e.g. */ - xhtml: boolean; + xhtml?: boolean; /** * In addition to the options actually used by this plugin, you can use this hash to pass arbitrary data through * to your template. @@ -175,6 +161,13 @@ declare namespace HtmlWebpackPlugin { [option: string]: any; } + /** + * The plugin options after adding default values + */ + interface ProcessedOptions extends Required { + filename: string; + } + /** * The values which are available during template execution * @@ -268,7 +261,7 @@ declare namespace HtmlWebpackPlugin { * The inner HTML */ innerHTML?: string; - /** + /** * Whether this html must not contain innerHTML * @see https://www.w3.org/TR/html5/syntax.html#void-elements */ From ff9d7704673348b3ba30884b6254542026f7d9db Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Sat, 7 Nov 2020 11:35:31 +0100 Subject: [PATCH 231/290] chore: upgrade dev dependencies --- package.json | 6 +++--- tsconfig.json | 3 +-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 24fc2050..9a82be89 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ ] }, "devDependencies": { - "@types/loader-utils": "1.1.3", + "@types/loader-utils": "2.0.1", "@types/node": "11.13.9", "appcache-webpack-plugin": "1.4.0", "commitizen": "4.2.1", @@ -45,8 +45,8 @@ "semistandard": "^13.0.1", "standard-version": "9.0.0", "style-loader": "0.23.1", - "typescript": "4.0.3", - "webpack": "5.1.2", + "typescript": "4.0.5", + "webpack": "5.4.0", "webpack-recompilation-simulator": "3.2.0" }, "dependencies": { diff --git a/tsconfig.json b/tsconfig.json index dfcd473f..cbc38d93 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -34,7 +34,6 @@ "spec", "examples", "dist", - "coverage", - "lib/webpack5/*.js" + "coverage" ] } From 4f7f7506720719461e26c94e1ebfee4454192221 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Tue, 10 Nov 2020 09:57:50 +0100 Subject: [PATCH 232/290] chore: remove broken deprecation tracing --- spec/basic.spec.js | 1 - spec/caching.spec.js | 1 - spec/example.spec.js | 1 - spec/hot.spec.js | 1 - 4 files changed, 4 deletions(-) diff --git a/spec/basic.spec.js b/spec/basic.spec.js index c8467ad1..7a18fb4f 100644 --- a/spec/basic.spec.js +++ b/spec/basic.spec.js @@ -24,7 +24,6 @@ const OUTPUT_DIR = path.resolve(__dirname, '../dist/basic-spec'); jest.setTimeout(30000); process.on('unhandledRejection', r => console.log(r)); -process.traceDeprecation = true; function testHtmlPlugin (webpackConfig, expectedResults, outputFile, done, expectErrors, expectWarnings) { outputFile = outputFile || 'index.html'; diff --git a/spec/caching.spec.js b/spec/caching.spec.js index 209e924b..38f7e7ec 100644 --- a/spec/caching.spec.js +++ b/spec/caching.spec.js @@ -15,7 +15,6 @@ const OUTPUT_DIR = path.join(__dirname, '../dist/caching-spec'); jest.setTimeout(30000); process.on('unhandledRejection', r => console.log(r)); -process.traceDeprecation = true; function setUpCompiler (htmlWebpackPlugin) { jest.spyOn(htmlWebpackPlugin, 'evaluateCompilationResult'); diff --git a/spec/example.spec.js b/spec/example.spec.js index 8f721488..acc1837f 100644 --- a/spec/example.spec.js +++ b/spec/example.spec.js @@ -15,7 +15,6 @@ const webpackMajorVersion = require('webpack/package.json').version.split('.')[0 const OUTPUT_DIR = path.resolve(__dirname, '../dist'); jest.setTimeout(30000); -process.traceDeprecation = true; function runExample (exampleName, done) { const examplePath = path.resolve(__dirname, '..', 'examples', exampleName); diff --git a/spec/hot.spec.js b/spec/hot.spec.js index a2f5e156..a2d2c7f9 100644 --- a/spec/hot.spec.js +++ b/spec/hot.spec.js @@ -21,7 +21,6 @@ const DEFAULT_TEMPLATE = DEFAULT_LOADER + '!' + require.resolve('../default_inde jest.setTimeout(30000); process.on('unhandledRejection', r => console.log(r)); -process.traceDeprecation = true; describe('HtmlWebpackPluginHMR', () => { beforeEach(done => { From ab8b195be40ade21ada2fbf02a1b312459203eb8 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Fri, 4 Dec 2020 22:03:47 +0100 Subject: [PATCH 233/290] fix: support loaders like raw-loader --- index.js | 4 +++- lib/child-compiler.js | 8 +++----- package.json | 3 ++- spec/basic.spec.js | 20 ++++++++++++++++++++ 4 files changed, 28 insertions(+), 7 deletions(-) diff --git a/index.js b/index.js index c15bc79f..ab9e3198 100644 --- a/index.js +++ b/index.js @@ -123,7 +123,9 @@ class HtmlWebpackPlugin { } // The LibraryTemplatePlugin stores the template result in a local variable. // To extract the result during the evaluation this part has to be removed. - source = source.replace('var HTML_WEBPACK_PLUGIN_RESULT =', ''); + if (source && source.indexOf('HTML_WEBPACK_PLUGIN_RESULT') >= 0) { + source += ';\nHTML_WEBPACK_PLUGIN_RESULT'; + } const templateWithoutLoaders = templateFilename.replace(/^.+!/, '').replace(/\?.+$/, ''); const vmContext = vm.createContext({ HTML_WEBPACK_PLUGIN: true, require: require, ...global }); const vmScript = new vm.Script(source, { filename: templateWithoutLoaders }); diff --git a/lib/child-compiler.js b/lib/child-compiler.js index 70edcddc..e94bec38 100644 --- a/lib/child-compiler.js +++ b/lib/child-compiler.js @@ -75,7 +75,6 @@ class HtmlWebpackChildCompiler { const webpack = mainCompilation.compiler.webpack; const Compilation = webpack.Compilation; - const NodeTemplatePlugin = webpack.node.NodeTemplatePlugin; const NodeTargetPlugin = webpack.node.NodeTargetPlugin; const LoaderTargetPlugin = webpack.LoaderTargetPlugin; const EntryPlugin = webpack.EntryPlugin; @@ -95,8 +94,7 @@ class HtmlWebpackChildCompiler { name: 'HTML_WEBPACK_PLUGIN_RESULT' }, /** @type {'text/javascript'} */ - scriptType: (/** @type {'text/javascript'} */'text/javascript'), - iife: false + scriptType: (/** @type {'text/javascript'} */'text/javascript') }; const compilerName = 'HtmlWebpackCompiler'; // Create an additional child compiler which takes the template @@ -104,9 +102,9 @@ class HtmlWebpackChildCompiler { // This allows us to use loaders during the compilation const childCompiler = mainCompilation.createChildCompiler(compilerName, outputOptions, [ // Compile the template to nodejs javascript - new NodeTemplatePlugin(outputOptions), new NodeTargetPlugin(), - new LoaderTargetPlugin('node') + new LoaderTargetPlugin('node'), + new webpack.library.EnableLibraryPlugin('var') ]); // The file path context which webpack uses to resolve all relative files to childCompiler.context = mainCompilation.compiler.context; diff --git a/package.json b/package.json index 9a82be89..248f9186 100644 --- a/package.json +++ b/package.json @@ -41,12 +41,13 @@ "mini-css-extract-plugin": "1.0.0", "pug": "2.0.3", "pug-loader": "2.4.0", + "raw-loader": "4.0.2", "rimraf": "2.6.3", "semistandard": "^13.0.1", "standard-version": "9.0.0", "style-loader": "0.23.1", "typescript": "4.0.5", - "webpack": "5.4.0", + "webpack": "5.10.0", "webpack-recompilation-simulator": "3.2.0" }, "dependencies": { diff --git a/spec/basic.spec.js b/spec/basic.spec.js index 7a18fb4f..5b5fcaa1 100644 --- a/spec/basic.spec.js +++ b/spec/basic.spec.js @@ -519,6 +519,26 @@ describe('HtmlWebpackPlugin', () => { }, [''], null, done); }); + it('works with a javascript returning loader like raw-loader', done => { + testHtmlPlugin({ + mode: 'production', + entry: path.join(__dirname, 'fixtures/index.js'), + module: { + rules: [ + { test: /\.html$/, use: ['raw-loader'] } + ] + }, + output: { + path: OUTPUT_DIR, + filename: '[name].js' + }, + plugins: [new HtmlWebpackPlugin({ + inject: true, + template: path.join(__dirname, 'fixtures/plain.html') + })] + }, ['Hello World from backend2020-10-16T09:28:24.192Z

Partial

\ No newline at end of file +Hello World from backend2020-12-04T21:57:14.592Z

Partial

\ No newline at end of file diff --git a/examples/javascript/webpack.config.js b/examples/javascript/webpack.config.js index 510a462f..9945c4c5 100644 --- a/examples/javascript/webpack.config.js +++ b/examples/javascript/webpack.config.js @@ -7,17 +7,15 @@ module.exports = { entry: './example.js', output: { path: path.join(__dirname, 'dist/webpack-' + webpackMajorVersion), - publicPath: '', filename: 'bundle.js' }, module: { rules: [ { test: /\.css$/, use: [MiniCssExtractPlugin.loader, 'css-loader'] }, - { test: /\.png$/, loader: 'file-loader' }, + { test: /\.png$/, type: 'asset/resource' }, { test: /\.html$/, loader: 'html-loader' } ] }, - devtool: 'eval', plugins: [ new HtmlWebpackPlugin({ template: 'template.js' diff --git a/lib/child-compiler.js b/lib/child-compiler.js index e94bec38..1b7cbaab 100644 --- a/lib/child-compiler.js +++ b/lib/child-compiler.js @@ -88,7 +88,9 @@ class HtmlWebpackChildCompiler { const outputOptions = { filename: '__child-[name]', - publicPath: mainCompilation.outputOptions.publicPath, + publicPath: mainCompilation.outputOptions.publicPath === 'auto' + ? '' + : mainCompilation.outputOptions.publicPath, library: { type: 'var', name: 'HTML_WEBPACK_PLUGIN_RESULT' diff --git a/package.json b/package.json index 248f9186..277b8ad5 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,8 @@ "style-loader": "0.23.1", "typescript": "4.0.5", "webpack": "5.10.0", - "webpack-recompilation-simulator": "3.2.0" + "webpack-recompilation-simulator": "3.2.0", + "webpack-cli": "4.2.0" }, "dependencies": { "@types/html-minifier-terser": "^5.0.0", From 2975a6add4f30c5f697e77a3bb17c857efeacb4c Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Sat, 7 Nov 2020 15:46:50 +0100 Subject: [PATCH 235/290] feat: process html during the processAssets stage PROCESS_ASSETS_STAGE_OPTIMIZE_INLINE --- index.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/index.js b/index.js index ab9e3198..e5224a18 100644 --- a/index.js +++ b/index.js @@ -214,13 +214,17 @@ function hookIntoCompiler (compiler, options, plugin) { compilation.hooks.processAssets.tapAsync( { name: 'HtmlWebpackPlugin', - stage: webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS + stage: + /** + * Generate the html after minification and dev tooling is done + */ + webpack.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_INLINE }, /** - * Hook into the PROCESS_ASSETS_STAGE_ADDITIONS hook - * @param {WebpackCompilation} compilationAssets - * @param {(err?: Error) => void} callback - */ + * Hook into the process assets hook + * @param {WebpackCompilation} compilationAssets + * @param {(err?: Error) => void} callback + */ (compilationAssets, callback) => { // Get all entry point names for this html file const entryNames = Array.from(compilation.entrypoints.keys()); From 10a0c5ee14be341d5e07697f16617adc8e8a0fa1 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Mon, 14 Dec 2020 17:19:57 +0100 Subject: [PATCH 236/290] fix: adjust tests as webpack 5 will no longer emit files for builds with errors --- spec/basic.spec.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/spec/basic.spec.js b/spec/basic.spec.js index 5b5fcaa1..107925ef 100644 --- a/spec/basic.spec.js +++ b/spec/basic.spec.js @@ -165,6 +165,9 @@ describe('HtmlWebpackPlugin', () => { it('should pass through loader errors', done => { testHtmlPlugin({ mode: 'production', + optimization: { + emitOnErrors: true + }, entry: { app: path.join(__dirname, 'fixtures/index.js') }, @@ -2021,6 +2024,9 @@ describe('HtmlWebpackPlugin', () => { path: OUTPUT_DIR, filename: 'index_bundle.js' }, + optimization: { + emitOnErrors: true + }, plugins: [ new HtmlWebpackPlugin({ inject: true, From a43ab729c9d1805d89e8edc1e3ad396bfbe7d5a6 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Mon, 14 Dec 2020 17:20:30 +0100 Subject: [PATCH 237/290] feat: overrule module output --- lib/child-compiler.js | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/lib/child-compiler.js b/lib/child-compiler.js index 1b7cbaab..43ef989d 100644 --- a/lib/child-compiler.js +++ b/lib/child-compiler.js @@ -95,8 +95,8 @@ class HtmlWebpackChildCompiler { type: 'var', name: 'HTML_WEBPACK_PLUGIN_RESULT' }, - /** @type {'text/javascript'} */ - scriptType: (/** @type {'text/javascript'} */'text/javascript') + scriptType: /** @type {'text/javascript'} */('text/javascript'), + iife: true }; const compilerName = 'HtmlWebpackCompiler'; // Create an additional child compiler which takes the template @@ -152,9 +152,6 @@ class HtmlWebpackChildCompiler { if (childCompilation && childCompilation.errors && childCompilation.errors.length) { const errorDetails = childCompilation.errors.map(error => { let message = error.message; - if ('error' in error) { - message += ':\n' + error.error; - } if (error.stack) { message += '\n' + error.stack; } From 60a6ef8059cc9ffe3c892c4ae5e6fe81afbd89bf Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Tue, 15 Dec 2020 08:52:49 +0100 Subject: [PATCH 238/290] test: add test for experiments: { outputModule: true } --- spec/basic.spec.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/spec/basic.spec.js b/spec/basic.spec.js index 107925ef..d31ba5e2 100644 --- a/spec/basic.spec.js +++ b/spec/basic.spec.js @@ -2567,4 +2567,21 @@ describe('HtmlWebpackPlugin', () => { ] }, [''], null, done); }); + + it('should allow to use experiments:{outputModule:true}', done => { + testHtmlPlugin({ + mode: 'production', + entry: path.join(__dirname, 'fixtures/index.js'), + output: { + path: OUTPUT_DIR, + filename: 'index_bundle.js', + module: true + }, + experiments: { outputModule: true }, + plugins: [ + new HtmlWebpackPlugin({ + }) + ] + }, [''], null, done); + }); }); From fd5fe587604f052de2de3f760b45a8632f7b3086 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Tue, 15 Dec 2020 19:41:04 +0100 Subject: [PATCH 239/290] refactor: move the publicPath generation into a seperate function --- index.js | 46 +++++++++++++++++++++++++++++++--------------- 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/index.js b/index.js index e5224a18..a6c06bf0 100644 --- a/index.js +++ b/index.js @@ -252,8 +252,11 @@ function hookIntoCompiler (compiler, options, plugin) { // it is a cached result const isCompilationCached = templateResult.mainCompilationHash !== compilation.hash; - // Turn the entry point names into file paths - const assets = htmlWebpackPluginAssets(compilation, childCompilationOutputName, sortedEntryNames, options.publicPath); + /** The public path used inside the html file */ + const htmlPublicPath = getPublicPath(compilation, childCompilationOutputName, options.publicPath); + + /** Generated file paths from the entry point names */ + const assets = htmlWebpackPluginAssets(compilation, sortedEntryNames, htmlPublicPath); // If the template and the assets did not change we don't have to emit the html const newAssetJson = JSON.stringify(getAssetFiles(assets)); @@ -327,7 +330,6 @@ function hookIntoCompiler (compiler, options, plugin) { ? plugin.evaluateCompilationResult(templateResult.compiledEntry.content, options.template) : Promise.reject(new Error('Child compilation contained no compiledEntry')); }); - const templateExectutionPromise = Promise.all([assetsPromise, assetTagGroupsPromise, templateEvaluationPromise]) // Execute the template .then(([assetsHookResult, assetTags, compilationResult]) => typeof compilationResult !== 'function' @@ -545,20 +547,15 @@ function hookIntoCompiler (compiler, options, plugin) { } /** - * The htmlWebpackPluginAssets extracts the asset information of a webpack compilation - * for all given entry names + * Generate the relative or absolute base url to reference images, css, and javascript files + * from within the html file - the publicPath + * * @param {WebpackCompilation} compilation - * @param {string[]} entryNames + * @param {string} childCompilationOutputName * @param {string | 'auto'} customPublicPath - * @returns {{ - publicPath: string, - js: Array, - css: Array, - manifest?: string, - favicon?: string - }} + * @returns {string} */ - function htmlWebpackPluginAssets (compilation, childCompilationOutputName, entryNames, customPublicPath) { + function getPublicPath (compilation, childCompilationOutputName, customPublicPath) { const compilationHash = compilation.hash; /** @@ -587,6 +584,25 @@ function hookIntoCompiler (compiler, options, plugin) { publicPath += '/'; } + return publicPath; + } + + /** + * The htmlWebpackPluginAssets extracts the asset information of a webpack compilation + * for all given entry names + * @param {WebpackCompilation} compilation + * @param {string[]} entryNames + * @param {string | 'auto'} publicPath + * @returns {{ + publicPath: string, + js: Array, + css: Array, + manifest?: string, + favicon?: string + }} + */ + function htmlWebpackPluginAssets (compilation, entryNames, publicPath) { + const compilationHash = compilation.hash; /** * @type {{ publicPath: string, @@ -598,7 +614,7 @@ function hookIntoCompiler (compiler, options, plugin) { */ const assets = { // The public path - publicPath: publicPath, + publicPath, // Will contain all js and mjs files js: [], // Will contain all css files From 13af0fb6860e5159b71f5ae5f3d42efd2786e9ac Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Tue, 15 Dec 2020 20:09:12 +0100 Subject: [PATCH 240/290] feat: add full support for public paths inside templates --- index.js | 6 ++--- lib/child-compiler.js | 5 ++--- spec/basic.spec.js | 47 ++++++++++++++++++++++++++++++++++++++++ spec/fixtures/logo.html | 11 ++++++++++ spec/fixtures/logo.png | Bin 0 -> 54055 bytes 5 files changed, 63 insertions(+), 6 deletions(-) create mode 100644 spec/fixtures/logo.html create mode 100644 spec/fixtures/logo.png diff --git a/index.js b/index.js index a6c06bf0..aae8f6f6 100644 --- a/index.js +++ b/index.js @@ -117,7 +117,7 @@ class HtmlWebpackPlugin { * @param {string} templateFilename * @returns {Promise string | Promise)>} */ - evaluateCompilationResult (source, templateFilename) { + evaluateCompilationResult (source, publicPath, templateFilename) { if (!source) { return Promise.reject(new Error('The child compilation didn\'t provide a result')); } @@ -127,7 +127,7 @@ class HtmlWebpackPlugin { source += ';\nHTML_WEBPACK_PLUGIN_RESULT'; } const templateWithoutLoaders = templateFilename.replace(/^.+!/, '').replace(/\?.+$/, ''); - const vmContext = vm.createContext({ HTML_WEBPACK_PLUGIN: true, require: require, ...global }); + const vmContext = vm.createContext({ HTML_WEBPACK_PLUGIN: true, require: require, htmlWebpackPluginPublicPath: publicPath, ...global }); const vmScript = new vm.Script(source, { filename: templateWithoutLoaders }); // Evaluate code and cast to string let newSource; @@ -327,7 +327,7 @@ function hookIntoCompiler (compiler, options, plugin) { // Once everything is compiled evaluate the html factory // and replace it with its content return ('compiledEntry' in templateResult) - ? plugin.evaluateCompilationResult(templateResult.compiledEntry.content, options.template) + ? plugin.evaluateCompilationResult(templateResult.compiledEntry.content, htmlPublicPath, options.template) : Promise.reject(new Error('Child compilation contained no compiledEntry')); }); const templateExectutionPromise = Promise.all([assetsPromise, assetTagGroupsPromise, templateEvaluationPromise]) diff --git a/lib/child-compiler.js b/lib/child-compiler.js index 43ef989d..02d21de6 100644 --- a/lib/child-compiler.js +++ b/lib/child-compiler.js @@ -88,9 +88,7 @@ class HtmlWebpackChildCompiler { const outputOptions = { filename: '__child-[name]', - publicPath: mainCompilation.outputOptions.publicPath === 'auto' - ? '' - : mainCompilation.outputOptions.publicPath, + publicPath: '', library: { type: 'var', name: 'HTML_WEBPACK_PLUGIN_RESULT' @@ -116,6 +114,7 @@ class HtmlWebpackChildCompiler { // Add all templates this.templates.forEach((template, index) => { + new EntryPlugin(childCompiler.context, 'data:text/javascript,__webpack_public_path__ = htmlWebpackPluginPublicPath;', `HtmlWebpackPlugin_${index}-${this.id}`).apply(childCompiler); new EntryPlugin(childCompiler.context, template, `HtmlWebpackPlugin_${index}-${this.id}`).apply(childCompiler); }); diff --git a/spec/basic.spec.js b/spec/basic.spec.js index d31ba5e2..eeae2fe0 100644 --- a/spec/basic.spec.js +++ b/spec/basic.spec.js @@ -2584,4 +2584,51 @@ describe('HtmlWebpackPlugin', () => { ] }, [''], null, done); }); + + it('generates relative path for asset/resource', done => { + testHtmlPlugin({ + mode: 'development', + entry: path.join(__dirname, 'fixtures/index.js'), + output: { + path: OUTPUT_DIR, + filename: 'index_bundle.js', + assetModuleFilename: 'assets/demo[ext]' + }, + module: { + rules: [ + { test: /\.png$/, type: 'asset/resource' } + ] + }, + plugins: [ + new HtmlWebpackPlugin({ + template: 'html-loader!' + path.join(__dirname, 'fixtures/logo.html'), + filename: 'demo/index.js' + }) + ] + }, [' + + + + Example Plain file + + + + + + diff --git a/spec/fixtures/logo.png b/spec/fixtures/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d71b3d789f45d8f124a1fde57a36e55855a6dcb5 GIT binary patch literal 54055 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 Duf!qe literal 0 HcmV?d00001 From 833b46bbcb5a8b06064bff001b365f5bb3654ef7 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Sun, 3 Jan 2021 13:51:44 +0100 Subject: [PATCH 241/290] fix: inject javascripts in the tag for inject:true and scriptLoading:'defer' --- index.js | 2 +- spec/basic.spec.js | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index aae8f6f6..2f760be1 100644 --- a/index.js +++ b/index.js @@ -302,7 +302,7 @@ function hookIntoCompiler (compiler, options, plugin) { .then(({ assetTags }) => { // Inject scripts to body unless it set explicitly to head const scriptTarget = options.inject === 'head' || - (options.inject === false && options.scriptLoading !== 'blocking') ? 'head' : 'body'; + (options.inject !== 'body' && options.scriptLoading !== 'blocking') ? 'head' : 'body'; // Group assets to `head` and `body` tag arrays const assetGroups = generateAssetGroups(assetTags, scriptTarget); // Allow third-party-plugin authors to reorder and change the assetTags once they are grouped diff --git a/spec/basic.spec.js b/spec/basic.spec.js index eeae2fe0..f9773403 100644 --- a/spec/basic.spec.js +++ b/spec/basic.spec.js @@ -2540,6 +2540,29 @@ describe('HtmlWebpackPlugin', () => { }, ['', ''], null, done); }); + it('should add the javascript assets to the head for inject:true with scriptLoading:defer', done => { + testHtmlPlugin({ + mode: 'production', + entry: path.join(__dirname, 'fixtures/theme.js'), + output: { + path: OUTPUT_DIR, + filename: 'index_bundle.js' + }, + module: { + rules: [ + { test: /\.css$/, use: [MiniCssExtractPlugin.loader, 'css-loader'] } + ] + }, + plugins: [ + new MiniCssExtractPlugin({ filename: 'styles.css' }), + new HtmlWebpackPlugin({ + scriptLoading: 'defer', + inject: true + }) + ] + }, [''], null, done); + }); + it('should allow to use headTags and bodyTags directly in string literals', done => { testHtmlPlugin({ mode: 'production', From b109213613afb693c379da03ecfa3b0b30084da1 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Sun, 3 Jan 2021 13:54:58 +0100 Subject: [PATCH 242/290] docs: update installation instructions for webpack 4 --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 7cdcb156..710e0e68 100644 --- a/README.md +++ b/README.md @@ -24,22 +24,22 @@

Webpack 5

```bash - npm i --save-dev html-webpack-plugin@next + npm i --save-dev html-webpack-plugin ``` ```bash - yarn add --dev html-webpack-plugin@next + yarn add --dev html-webpack-plugin ```

Webpack 4

```bash - npm i --save-dev html-webpack-plugin + npm i --save-dev html-webpack-plugin@4 ``` ```bash - yarn add --dev html-webpack-plugin + yarn add --dev html-webpack-plugin@4 ``` From 7c3146d5859941b6c9b4189bf185785e886b2018 Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Sun, 3 Jan 2021 14:12:07 +0100 Subject: [PATCH 243/290] =?UTF-8?q?feat:=20allow=20to=20set=20publicPath?= =?UTF-8?q?=20to=20empty=20string=20=E2=80=99=E2=80=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit BREAKING CHANGE: Setting publicPath to an empty string will no longer calculate a relative path from the html file to the assets anymore. To keep the old behaviour set the publicPath to ‘auto’ --- index.js | 4 ++-- spec/basic.spec.js | 31 +++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 2f760be1..4aa82c02 100644 --- a/index.js +++ b/index.js @@ -565,8 +565,8 @@ function hookIntoCompiler (compiler, options, plugin) { */ const webpackPublicPath = compilation.getAssetPath(compilation.outputOptions.publicPath, { hash: compilationHash }); - // Webpack 5 introduced "auto" - however it can not be retrieved at compile time - const isPublicPathDefined = webpackPublicPath.trim() !== '' && webpackPublicPath !== 'auto'; + // Webpack 5 introduced "auto" as default value + const isPublicPathDefined = webpackPublicPath !== 'auto'; let publicPath = // If the html-webpack-plugin options contain a custom public path uset it diff --git a/spec/basic.spec.js b/spec/basic.spec.js index f9773403..61d392ae 100644 --- a/spec/basic.spec.js +++ b/spec/basic.spec.js @@ -843,6 +843,37 @@ describe('HtmlWebpackPlugin', () => { }, ['Hello World from backend2020-12-04T21:57:14.592Z

Partial

\ No newline at end of file +Hello World from backend2021-01-03T13:36:48.156Z

Partial

\ No newline at end of file diff --git a/examples/multi-page/dist/webpack-5/first.js b/examples/multi-page/dist/webpack-5/first.js index fe5242fb..84318ca9 100644 --- a/examples/multi-page/dist/webpack-5/first.js +++ b/examples/multi-page/dist/webpack-5/first.js @@ -2,12 +2,22 @@ /******/ var __webpack_modules__ = ({ /***/ 173: -/***/ ((module, exports, __webpack_require__) => { +/***/ ((module, __webpack_exports__, __webpack_require__) => { -exports = module.exports = __webpack_require__(609)(false); +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => __WEBPACK_DEFAULT_EXPORT__ +/* harmony export */ }); +/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(609); +/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); +// Imports + +var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); // Module -exports.push([module.id, "body {\n background: snow;\n}", ""]); - +___CSS_LOADER_EXPORT___.push([module.id, "body {\n background: snow;\n}", ""]); +// Exports +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), @@ -23,85 +33,66 @@ exports.push([module.id, "body {\n background: snow;\n}", ""]); Author Tobias Koppers @sokra */ // css base code, injected by the css-loader -module.exports = function (useSourceMap) { +// eslint-disable-next-line func-names +module.exports = function (cssWithMappingToString) { var list = []; // return the list of modules as css string list.toString = function toString() { return this.map(function (item) { - var content = cssWithMappingToString(item, useSourceMap); + var content = cssWithMappingToString(item); if (item[2]) { - return '@media ' + item[2] + '{' + content + '}'; - } else { - return content; + return "@media ".concat(item[2], " {").concat(content, "}"); } + + return content; }).join(''); }; // import a list of modules into the list + // eslint-disable-next-line func-names - list.i = function (modules, mediaQuery) { + list.i = function (modules, mediaQuery, dedupe) { if (typeof modules === 'string') { + // eslint-disable-next-line no-param-reassign modules = [[null, modules, '']]; } var alreadyImportedModules = {}; - for (var i = 0; i < this.length; i++) { - var id = this[i][0]; + if (dedupe) { + for (var i = 0; i < this.length; i++) { + // eslint-disable-next-line prefer-destructuring + var id = this[i][0]; - if (id != null) { - alreadyImportedModules[id] = true; + if (id != null) { + alreadyImportedModules[id] = true; + } } } - for (i = 0; i < modules.length; i++) { - var item = modules[i]; // skip already imported module - // this implementation is not 100% perfect for weird media query combinations - // when a module is imported multiple times with different media queries. - // I hope this will never occur (Hey this way we have smaller bundles) + for (var _i = 0; _i < modules.length; _i++) { + var item = [].concat(modules[_i]); - if (item[0] == null || !alreadyImportedModules[item[0]]) { - if (mediaQuery && !item[2]) { + if (dedupe && alreadyImportedModules[item[0]]) { + // eslint-disable-next-line no-continue + continue; + } + + if (mediaQuery) { + if (!item[2]) { item[2] = mediaQuery; - } else if (mediaQuery) { - item[2] = '(' + item[2] + ') and (' + mediaQuery + ')'; + } else { + item[2] = "".concat(mediaQuery, " and ").concat(item[2]); } - - list.push(item); } + + list.push(item); } }; return list; }; -function cssWithMappingToString(item, useSourceMap) { - var content = item[1] || ''; - var cssMapping = item[3]; - - if (!cssMapping) { - return content; - } - - if (useSourceMap && typeof btoa === 'function') { - var sourceMapping = toComment(cssMapping); - var sourceURLs = cssMapping.sources.map(function (source) { - return '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'; - }); - return [content].concat(sourceURLs).concat([sourceMapping]).join('\n'); - } - - return [content].join('\n'); -} // Adapted from convert-source-map (MIT) - - -function toComment(sourceMap) { - // eslint-disable-next-line no-undef - var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))); - var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64; - return '/*# ' + data + ' */'; -} - /***/ }), /***/ 73: @@ -657,6 +648,47 @@ module.exports = function (css) { /******/ } /******/ /************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => module['default'] : +/******/ () => module; +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ (() => { __webpack_require__(73); var h1 = document.createElement('h1'); diff --git a/examples/multi-page/dist/webpack-5/second.js b/examples/multi-page/dist/webpack-5/second.js index fe5242fb..84318ca9 100644 --- a/examples/multi-page/dist/webpack-5/second.js +++ b/examples/multi-page/dist/webpack-5/second.js @@ -2,12 +2,22 @@ /******/ var __webpack_modules__ = ({ /***/ 173: -/***/ ((module, exports, __webpack_require__) => { +/***/ ((module, __webpack_exports__, __webpack_require__) => { -exports = module.exports = __webpack_require__(609)(false); +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => __WEBPACK_DEFAULT_EXPORT__ +/* harmony export */ }); +/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(609); +/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); +// Imports + +var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); // Module -exports.push([module.id, "body {\n background: snow;\n}", ""]); - +___CSS_LOADER_EXPORT___.push([module.id, "body {\n background: snow;\n}", ""]); +// Exports +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), @@ -23,85 +33,66 @@ exports.push([module.id, "body {\n background: snow;\n}", ""]); Author Tobias Koppers @sokra */ // css base code, injected by the css-loader -module.exports = function (useSourceMap) { +// eslint-disable-next-line func-names +module.exports = function (cssWithMappingToString) { var list = []; // return the list of modules as css string list.toString = function toString() { return this.map(function (item) { - var content = cssWithMappingToString(item, useSourceMap); + var content = cssWithMappingToString(item); if (item[2]) { - return '@media ' + item[2] + '{' + content + '}'; - } else { - return content; + return "@media ".concat(item[2], " {").concat(content, "}"); } + + return content; }).join(''); }; // import a list of modules into the list + // eslint-disable-next-line func-names - list.i = function (modules, mediaQuery) { + list.i = function (modules, mediaQuery, dedupe) { if (typeof modules === 'string') { + // eslint-disable-next-line no-param-reassign modules = [[null, modules, '']]; } var alreadyImportedModules = {}; - for (var i = 0; i < this.length; i++) { - var id = this[i][0]; + if (dedupe) { + for (var i = 0; i < this.length; i++) { + // eslint-disable-next-line prefer-destructuring + var id = this[i][0]; - if (id != null) { - alreadyImportedModules[id] = true; + if (id != null) { + alreadyImportedModules[id] = true; + } } } - for (i = 0; i < modules.length; i++) { - var item = modules[i]; // skip already imported module - // this implementation is not 100% perfect for weird media query combinations - // when a module is imported multiple times with different media queries. - // I hope this will never occur (Hey this way we have smaller bundles) + for (var _i = 0; _i < modules.length; _i++) { + var item = [].concat(modules[_i]); - if (item[0] == null || !alreadyImportedModules[item[0]]) { - if (mediaQuery && !item[2]) { + if (dedupe && alreadyImportedModules[item[0]]) { + // eslint-disable-next-line no-continue + continue; + } + + if (mediaQuery) { + if (!item[2]) { item[2] = mediaQuery; - } else if (mediaQuery) { - item[2] = '(' + item[2] + ') and (' + mediaQuery + ')'; + } else { + item[2] = "".concat(mediaQuery, " and ").concat(item[2]); } - - list.push(item); } + + list.push(item); } }; return list; }; -function cssWithMappingToString(item, useSourceMap) { - var content = item[1] || ''; - var cssMapping = item[3]; - - if (!cssMapping) { - return content; - } - - if (useSourceMap && typeof btoa === 'function') { - var sourceMapping = toComment(cssMapping); - var sourceURLs = cssMapping.sources.map(function (source) { - return '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'; - }); - return [content].concat(sourceURLs).concat([sourceMapping]).join('\n'); - } - - return [content].join('\n'); -} // Adapted from convert-source-map (MIT) - - -function toComment(sourceMap) { - // eslint-disable-next-line no-undef - var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))); - var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64; - return '/*# ' + data + ' */'; -} - /***/ }), /***/ 73: @@ -657,6 +648,47 @@ module.exports = function (css) { /******/ } /******/ /************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => module['default'] : +/******/ () => module; +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ (() => { __webpack_require__(73); var h1 = document.createElement('h1'); diff --git a/examples/sort-manually/dist/webpack-5/first-file.html b/examples/sort-manually/dist/webpack-5/first-file.html index e3f9c0d7..18171edb 100644 --- a/examples/sort-manually/dist/webpack-5/first-file.html +++ b/examples/sort-manually/dist/webpack-5/first-file.html @@ -1 +1 @@ -Example template \ No newline at end of file +Example template \ No newline at end of file diff --git a/examples/sort-manually/dist/webpack-5/second-file.html b/examples/sort-manually/dist/webpack-5/second-file.html index 7b428811..ef9da924 100644 --- a/examples/sort-manually/dist/webpack-5/second-file.html +++ b/examples/sort-manually/dist/webpack-5/second-file.html @@ -1 +1 @@ -Example template \ No newline at end of file +Example template \ No newline at end of file diff --git a/package.json b/package.json index 4ea3a9e3..b239f63f 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "@types/loader-utils": "2.0.1", "@types/node": "11.13.9", "commitizen": "4.2.1", - "css-loader": "2.1.1", + "css-loader": "5.0.1", "cz-conventional-changelog": "2.1.0", "dir-compare": "1.7.2", "file-loader": "3.0.1", From 36f9aca60f51f0f411cc847af2503ed66354742e Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Sun, 3 Jan 2021 14:44:36 +0100 Subject: [PATCH 246/290] chore: upgrade dev dependencies --- .../chunk-optimization/dist/webpack-5/219.js | 352 +++++++++ .../chunk-optimization/dist/webpack-5/73.js | 50 -- .../chunk-optimization/dist/webpack-5/805.js | 577 --------------- .../chunk-optimization/dist/webpack-5/965.js | 50 ++ .../dist/webpack-5/entryA.html | 2 +- .../dist/webpack-5/entryA.js | 4 +- .../dist/webpack-5/entryB.html | 2 +- .../dist/webpack-5/entryB.js | 4 +- .../dist/webpack-5/entryC.html | 2 +- ...g => 55b19870aff2e53d1fb1a258c1032fbf.png} | Bin .../custom-template/dist/webpack-5/index.html | 2 +- examples/default/dist/webpack-5/bundle.js | 691 ++++++------------ ...g => 55b19870aff2e53d1fb1a258c1032fbf.png} | Bin .../html-loader/dist/webpack-5/about.html | 2 +- .../html-loader/dist/webpack-5/index.html | 2 +- ...g => 55b19870aff2e53d1fb1a258c1032fbf.png} | Bin .../dist/webpack-5/index.html | 2 +- examples/javascript/dist/webpack-5/index.html | 2 +- examples/multi-page/dist/webpack-5/first.js | 691 ++++++------------ examples/multi-page/dist/webpack-5/second.js | 691 ++++++------------ ...g => 55b19870aff2e53d1fb1a258c1032fbf.png} | Bin .../dist/webpack-5/first-file.html | 2 +- .../dist/webpack-5/second-file.html | 2 +- package.json | 10 +- 24 files changed, 1120 insertions(+), 2020 deletions(-) create mode 100644 examples/chunk-optimization/dist/webpack-5/219.js delete mode 100644 examples/chunk-optimization/dist/webpack-5/73.js delete mode 100644 examples/chunk-optimization/dist/webpack-5/805.js create mode 100644 examples/chunk-optimization/dist/webpack-5/965.js rename examples/custom-template/dist/webpack-5/{0714810ae3fb211173e2964249507195.png => 55b19870aff2e53d1fb1a258c1032fbf.png} (100%) rename examples/html-loader/dist/webpack-5/{0714810ae3fb211173e2964249507195.png => 55b19870aff2e53d1fb1a258c1032fbf.png} (100%) rename examples/javascript-advanced/dist/webpack-5/{0714810ae3fb211173e2964249507195.png => 55b19870aff2e53d1fb1a258c1032fbf.png} (100%) rename examples/sort-manually/dist/webpack-5/{0714810ae3fb211173e2964249507195.png => 55b19870aff2e53d1fb1a258c1032fbf.png} (100%) diff --git a/examples/chunk-optimization/dist/webpack-5/219.js b/examples/chunk-optimization/dist/webpack-5/219.js new file mode 100644 index 00000000..0c724b7e --- /dev/null +++ b/examples/chunk-optimization/dist/webpack-5/219.js @@ -0,0 +1,352 @@ +(self["webpackChunk"] = self["webpackChunk"] || []).push([[219],{ + +/***/ 609: +/***/ ((module) => { + +"use strict"; + + +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ +// css base code, injected by the css-loader +// eslint-disable-next-line func-names +module.exports = function (cssWithMappingToString) { + var list = []; // return the list of modules as css string + + list.toString = function toString() { + return this.map(function (item) { + var content = cssWithMappingToString(item); + + if (item[2]) { + return "@media ".concat(item[2], " {").concat(content, "}"); + } + + return content; + }).join(''); + }; // import a list of modules into the list + // eslint-disable-next-line func-names + + + list.i = function (modules, mediaQuery, dedupe) { + if (typeof modules === 'string') { + // eslint-disable-next-line no-param-reassign + modules = [[null, modules, '']]; + } + + var alreadyImportedModules = {}; + + if (dedupe) { + for (var i = 0; i < this.length; i++) { + // eslint-disable-next-line prefer-destructuring + var id = this[i][0]; + + if (id != null) { + alreadyImportedModules[id] = true; + } + } + } + + for (var _i = 0; _i < modules.length; _i++) { + var item = [].concat(modules[_i]); + + if (dedupe && alreadyImportedModules[item[0]]) { + // eslint-disable-next-line no-continue + continue; + } + + if (mediaQuery) { + if (!item[2]) { + item[2] = mediaQuery; + } else { + item[2] = "".concat(mediaQuery, " and ").concat(item[2]); + } + } + + list.push(item); + } + }; + + return list; +}; + +/***/ }), + +/***/ 62: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var isOldIE = function isOldIE() { + var memo; + return function memorize() { + if (typeof memo === 'undefined') { + // Test for IE <= 9 as proposed by Browserhacks + // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805 + // Tests for existence of standard globals is to allow style-loader + // to operate correctly into non-standard environments + // @see https://github.com/webpack-contrib/style-loader/issues/177 + memo = Boolean(window && document && document.all && !window.atob); + } + + return memo; + }; +}(); + +var getTarget = function getTarget() { + var memo = {}; + return function memorize(target) { + if (typeof memo[target] === 'undefined') { + var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself + + if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) { + try { + // This will throw an exception if access to iframe is blocked + // due to cross-origin restrictions + styleTarget = styleTarget.contentDocument.head; + } catch (e) { + // istanbul ignore next + styleTarget = null; + } + } + + memo[target] = styleTarget; + } + + return memo[target]; + }; +}(); + +var stylesInDom = []; + +function getIndexByIdentifier(identifier) { + var result = -1; + + for (var i = 0; i < stylesInDom.length; i++) { + if (stylesInDom[i].identifier === identifier) { + result = i; + break; + } + } + + return result; +} + +function modulesToDom(list, options) { + var idCountMap = {}; + var identifiers = []; + + for (var i = 0; i < list.length; i++) { + var item = list[i]; + var id = options.base ? item[0] + options.base : item[0]; + var count = idCountMap[id] || 0; + var identifier = "".concat(id, " ").concat(count); + idCountMap[id] = count + 1; + var index = getIndexByIdentifier(identifier); + var obj = { + css: item[1], + media: item[2], + sourceMap: item[3] + }; + + if (index !== -1) { + stylesInDom[index].references++; + stylesInDom[index].updater(obj); + } else { + stylesInDom.push({ + identifier: identifier, + updater: addStyle(obj, options), + references: 1 + }); + } + + identifiers.push(identifier); + } + + return identifiers; +} + +function insertStyleElement(options) { + var style = document.createElement('style'); + var attributes = options.attributes || {}; + + if (typeof attributes.nonce === 'undefined') { + var nonce = true ? __webpack_require__.nc : 0; + + if (nonce) { + attributes.nonce = nonce; + } + } + + Object.keys(attributes).forEach(function (key) { + style.setAttribute(key, attributes[key]); + }); + + if (typeof options.insert === 'function') { + options.insert(style); + } else { + var target = getTarget(options.insert || 'head'); + + if (!target) { + throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid."); + } + + target.appendChild(style); + } + + return style; +} + +function removeStyleElement(style) { + // istanbul ignore if + if (style.parentNode === null) { + return false; + } + + style.parentNode.removeChild(style); +} +/* istanbul ignore next */ + + +var replaceText = function replaceText() { + var textStore = []; + return function replace(index, replacement) { + textStore[index] = replacement; + return textStore.filter(Boolean).join('\n'); + }; +}(); + +function applyToSingletonTag(style, index, remove, obj) { + var css = remove ? '' : obj.media ? "@media ".concat(obj.media, " {").concat(obj.css, "}") : obj.css; // For old IE + + /* istanbul ignore if */ + + if (style.styleSheet) { + style.styleSheet.cssText = replaceText(index, css); + } else { + var cssNode = document.createTextNode(css); + var childNodes = style.childNodes; + + if (childNodes[index]) { + style.removeChild(childNodes[index]); + } + + if (childNodes.length) { + style.insertBefore(cssNode, childNodes[index]); + } else { + style.appendChild(cssNode); + } + } +} + +function applyToTag(style, options, obj) { + var css = obj.css; + var media = obj.media; + var sourceMap = obj.sourceMap; + + if (media) { + style.setAttribute('media', media); + } else { + style.removeAttribute('media'); + } + + if (sourceMap && typeof btoa !== 'undefined') { + css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */"); + } // For old IE + + /* istanbul ignore if */ + + + if (style.styleSheet) { + style.styleSheet.cssText = css; + } else { + while (style.firstChild) { + style.removeChild(style.firstChild); + } + + style.appendChild(document.createTextNode(css)); + } +} + +var singleton = null; +var singletonCounter = 0; + +function addStyle(obj, options) { + var style; + var update; + var remove; + + if (options.singleton) { + var styleIndex = singletonCounter++; + style = singleton || (singleton = insertStyleElement(options)); + update = applyToSingletonTag.bind(null, style, styleIndex, false); + remove = applyToSingletonTag.bind(null, style, styleIndex, true); + } else { + style = insertStyleElement(options); + update = applyToTag.bind(null, style, options); + + remove = function remove() { + removeStyleElement(style); + }; + } + + update(obj); + return function updateStyle(newObj) { + if (newObj) { + if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) { + return; + } + + update(obj = newObj); + } else { + remove(); + } + }; +} + +module.exports = function (list, options) { + options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of