├── .eslintignore ├── .eslintrc.js ├── .gitignore ├── .npmignore ├── .nvmrc ├── .prettierrc.js ├── .travis.yml ├── .vscode └── launch.json ├── AUTHORS ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── LICENSE.txt ├── README.md ├── package.json ├── src └── OutputHash.js ├── test ├── .eslintrc.js ├── async-chunk │ ├── entry.js │ ├── on-demand.js │ └── webpack.config.js ├── base.webpack.config.js ├── common-chunk │ ├── common.js │ ├── entry.js │ ├── vendor.js │ └── webpack.config.js ├── common-runtime-chunk │ ├── common.js │ ├── entry.js │ ├── on-demand.js │ ├── vendor.js │ └── webpack.config.js ├── html-wrong-order │ ├── entry.js │ ├── vendor.js │ └── webpack.config.js ├── html │ ├── entry.js │ ├── vendor.js │ └── webpack.config.js ├── loop │ ├── 1.js │ ├── 2.js │ ├── entry.js │ └── webpack.config.js ├── mini-css-chunks │ ├── async.js │ ├── entry.js │ ├── styles.css │ └── webpack.config.js ├── multi-asset │ ├── entry.js │ ├── vendor.js │ └── webpack.config.js ├── one-asset-base64 │ ├── entry.js │ └── webpack.config.js ├── one-asset-salt │ ├── entry.js │ └── webpack.config.js ├── one-asset-sha256 │ ├── entry.js │ └── webpack.config.js ├── one-asset │ ├── entry.js │ └── webpack.config.js ├── runtime-chunk │ ├── entry-1.js │ ├── entry-2.js │ ├── on-demand.js │ └── webpack.config.js ├── shared-runtime-chunk │ ├── async.js │ ├── entry-1.js │ ├── entry-2.js │ ├── shared-1.js │ ├── shared-2.js │ └── webpack.config.js ├── sourcemap │ ├── entry.js │ └── webpack.config.js └── test.js └── yarn.lock /.eslintignore: -------------------------------------------------------------------------------- 1 | test/tmp 2 | !.*.js -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | parserOptions: { 4 | ecmaVersion: 2016, 5 | }, 6 | env: { 7 | es6: true, 8 | node: true, 9 | }, 10 | extends: ['plugin:prettier/recommended'], 11 | 12 | rules: { 13 | // http://eslint.org/docs/rules/no-param-reassign 14 | // Allow param reassign. We need to do this a lot in the plugin 15 | 'no-param-reassign': ['off'], 16 | 17 | // http://eslint.org/docs/rules/no-underscore-dangle 18 | // Allow references starting with underscore. Webpack has those. 19 | 'no-underscore-dangle': ['off'], 20 | }, 21 | }; 22 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | test/tmp 2 | .history 3 | 4 | # Created by https://www.gitignore.io/api/node,visualstudiocode 5 | 6 | ### Node ### 7 | # Logs 8 | logs 9 | *.log 10 | npm-debug.log* 11 | yarn-debug.log* 12 | yarn-error.log* 13 | 14 | # Runtime data 15 | pids 16 | *.pid 17 | *.seed 18 | *.pid.lock 19 | 20 | # Directory for instrumented libs generated by jscoverage/JSCover 21 | lib-cov 22 | 23 | # Coverage directory used by tools like istanbul 24 | coverage 25 | 26 | # nyc test coverage 27 | .nyc_output 28 | 29 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 30 | .grunt 31 | 32 | # Bower dependency directory (https://bower.io/) 33 | bower_components 34 | 35 | # node-waf configuration 36 | .lock-wscript 37 | 38 | # Compiled binary addons (http://nodejs.org/api/addons.html) 39 | build/Release 40 | 41 | # Dependency directories 42 | node_modules/ 43 | jspm_packages/ 44 | 45 | # Typescript v1 declaration files 46 | typings/ 47 | 48 | # Optional npm cache directory 49 | .npm 50 | 51 | # Optional eslint cache 52 | .eslintcache 53 | 54 | # Optional REPL history 55 | .node_repl_history 56 | 57 | # Output of 'npm pack' 58 | *.tgz 59 | 60 | # Yarn Integrity file 61 | .yarn-integrity 62 | 63 | # dotenv environment variables file 64 | .env 65 | 66 | 67 | ### VisualStudioCode ### 68 | .vscode/* 69 | !.vscode/settings.json 70 | !.vscode/tasks.json 71 | !.vscode/launch.json 72 | !.vscode/extensions.json 73 | 74 | # End of https://www.gitignore.io/api/node,visualstudiocode 75 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | * 2 | !src/* 3 | !AUTHORS 4 | !CHANGELOG.md 5 | !CODE_OF_CONDUCT.md 6 | !LICENSE.txt 7 | !README.md -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | v6.14.4 -------------------------------------------------------------------------------- /.prettierrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | semi: true, 3 | printWidth: 100, 4 | tabWidth: 4, 5 | useTabs: false, 6 | singleQuote: true, 7 | trailingComma: 'es5', 8 | bracketSpacing: true, 9 | proseWrap: 'always', 10 | }; 11 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 6 4 | cache: yarn 5 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible Node.js debug attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "type": "node", 9 | "request": "launch", 10 | "name": "Tests", 11 | "program": "${workspaceRoot}/node_modules/mocha/bin/_mocha", 12 | "args": [ 13 | "-u", 14 | "tdd", 15 | "--timeout", 16 | "999999", 17 | "--colors", 18 | "${workspaceRoot}/test" 19 | ], 20 | "internalConsoleOptions": "openOnSessionStart" 21 | } 22 | ] 23 | } -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | Alexey 2 | Chao 3 | Gord Pearson 4 | Ishai Borovoy 5 | Liam Mitchell <31351270+liamcmitchell-sc@users.noreply.github.com> 6 | pksjce 7 | Samuel Reed 8 | Sergio Cinos 9 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | All notable changes to this project will be documented in this file. 3 | 4 | The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) 5 | and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). 6 | 7 | ## 3.2.1 - 2019-01-23 8 | 9 | ### Fixes 10 | 11 | - Fixed a potential bug while searching for the main file in a chunk (thanks @liamcmitchell-sc) 12 | 13 | ### Added 14 | 15 | - Display a warning if there are other pluging registered to run in the `emit` phase 16 | and we are not the first in the list. 17 | 18 | ## 3.2.0 - 2018-11-25 19 | 20 | ### Added 21 | 22 | - Display a warning if there are other pluging registered to run in the `emit` phase 23 | and we are not the first in the list. 24 | 25 | ## 3.1.3 - 2018-11-23 26 | 27 | ### Chores 28 | 29 | - Updated chai to 4.2.0 30 | - Updated css-loader to 1.0.1 31 | - Updated eslint to 5.9.0 32 | - Updated eslint-config-airbnb-base to 13.1.0 33 | - Updated eslint-plugin-import to 2.14.0 34 | - Updated eslint-plugin-mocha to 5.2.0 35 | - Updated mini-css-extract-plugin to 0.4.5 36 | - Updated mocha to 5.2.0 37 | - Updated webpack to 4.26.0 38 | - Updated webpack-cli to 3.1.2 39 | - Updated node to 6.14.4 40 | - Added prettier 41 | - Changed the code style of many files to conform to prettier 42 | - Added base webpack config to tests to avoid some duplication 43 | - Added LICENSE.txt, CODE_OF_CONDUCT.md 44 | - Added .npmignore to reduce the package size 45 | 46 | ## 3.1.2 - 2018-11-23 47 | 48 | - Burnt version, ignore 49 | 50 | ## 3.1.1 - 2018-11-16 51 | 52 | ### Fixes 53 | 54 | - Port changes from 1.3.1 55 | 56 | ## 1.3.1 - 2018-11-16 57 | 58 | ### Fixes 59 | 60 | - The plugin runs on `emit` phase instead of `after-optimize-chunk-assets`. This will give more 61 | "room" to other plugins to change the output before we compute the hash (thanks @pksjce!) 62 | 63 | ## 3.1.0 - 2017-05-09 64 | 65 | ### Added 66 | - Added support for mini-css-extract-plugin. (#17, thanks to @GoodForOneFare) 67 | 68 | ### Changed 69 | - Simplified logic for sorting chunks before hashing. (#18, thanks to @GoodForOneFare) 70 | 71 | 72 | ## 3.0.0 - 2017-04-14 73 | 74 | ### Changed 75 | - Reworked algorithm to detect file dependencies to avoid #16. This new algorithm makes the option 76 | `manifestFiles` unnecessary. 77 | 78 | ### Fixed 79 | - Fixes bug causing an infinite loop in some projects (#16) 80 | 81 | ### Removed 82 | - Option `manifestFiles` has been removed. The plugin will find all manifest files automatically. 83 | 84 | 85 | ## 2.1.0 - 2017-04-09 86 | 87 | ### Added 88 | - Support for circular async dependencies (#15) 89 | 90 | 91 | ## 2.0.0 - 2017-03-15 92 | 93 | ### Breaking changes 94 | - This plugin requires Webpack 4 now. 95 | 96 | ### Added 97 | - Support for runtimeChunk -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Code of Conduct 2 | 3 | As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities. 4 | 5 | We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality. 6 | 7 | Examples of unacceptable behavior by participants include: 8 | 9 | * The use of sexualized language or imagery 10 | * Personal attacks 11 | * Trolling or insulting/derogatory comments 12 | * Public or private harassment 13 | * Publishing other's private information, such as physical or electronic addresses, without explicit permission 14 | * Submitting contributions or comments that you know to violate the intellectual property or privacy rights of others 15 | * Other unethical or unprofessional conduct 16 | 17 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. 18 | By adopting this Code of Conduct, project maintainers commit themselves to fairly and consistently applying these principles to every aspect of managing this project. Project maintainers who do not follow or enforce the Code of Conduct may be permanently removed from the project team. 19 | 20 | This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. 21 | 22 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting a project maintainer. Complaints will result in a response and be reviewed and investigated in a way that is deemed necessary and appropriate to the circumstances. Maintainers are obligated to maintain confidentiality with regard to the reporter of an incident. 23 | 24 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.3.0, available at [http://contributor-covenant.org/version/1/3/0/][version] 25 | 26 | [homepage]: http://contributor-covenant.org 27 | [version]: http://contributor-covenant.org/version/1/3/0/ 28 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | ISC License 2 | 3 | Copyright (c) 2018, Sergio Cinos, @scinos 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 10 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 11 | AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 12 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 14 | OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15 | PERFORMANCE OF THIS SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # webpack-plugin-hash-output 2 | 3 | [![Build Status](https://travis-ci.org/scinos/webpack-plugin-hash-output.svg?branch=master)](https://travis-ci.org/scinos/webpack-plugin-hash-output) 4 | 5 | Plugin to replace webpack chunkhash with an md5 hash of the final file conent. 6 | 7 | ## Installation 8 | 9 | With npm 10 | ``` 11 | npm install webpack-plugin-hash-output --save-dev 12 | ``` 13 | 14 | With yarn 15 | ``` 16 | yarn add webpack-plugin-hash-output --dev 17 | ``` 18 | 19 | ## Why? 20 | 21 | There are other webpack plugins for hashing out there. But when they run, they don't "see" the final form of the code, because they run 22 | *before* plugins like `webpack.optimize.UglifyJsPlugin`. In other words, if you change `webpack.optimize.UglifyJsPlugin` config, your 23 | hashes won't change, creating potential conflicts with cached resources. 24 | 25 | The main difference is that `webpack-plugin-hash-output` runs in the last compilation step. So any change in webpack or any other plugin 26 | that actually changes the output, will be "seen" by this plugin, and therefore that change will be reflected in the hash. 27 | 28 | It will generate files like `entry..js`, where `` is always a hash of the content (well, a subset of). Example: 29 | 30 | ``` 31 | $ md5 entry.32f1718dd08eccda2791.js 32 | 33 | MD5 (entry.32f1718dd08eccda2791.js) = 32f1718dd08eccda2791ff7ed466bd98 34 | ``` 35 | 36 | All other assets (common files, manifest files, HTML output...) will use the new md5 hash to reference the asset. 37 | 38 | ## Compatibility 39 | 40 | Requires webpack >=4 41 | 42 | ## Usage 43 | 44 | Just add this plugin as usual. 45 | 46 | ```javascript 47 | // webpack.config.js 48 | const HashOutput = require('webpack-plugin-hash-output'); 49 | 50 | module.exports = { 51 | // ... 52 | output: { 53 | //... 54 | filename: '[name].[chunkhash].js', 55 | }, 56 | plugins: [ 57 | new HashOutput(options) 58 | ] 59 | }; 60 | ``` 61 | 62 | ## Sourcemap support 63 | 64 | This plugin partially supports sourcemaps. When a chunk hash is recomputed, it will update the name 65 | of the chunk in the chunks's sourcemap, but it won't recompute the name of the hash file. This has 66 | the side effect that the name of the sourcemap will differ from the name of the chunk. Example: 67 | 68 | Before: 69 | ```javascript 70 | // app..js 71 | 72 | // ...code... 73 | //# sourceMappingURL=entry..js.map 74 | ``` 75 | 76 | ```javascript 77 | // app..js.map 78 | 79 | // ... 80 | "file":"app..js" 81 | // ... 82 | ``` 83 | 84 | After: 85 | ```javascript 86 | // app..js 87 | 88 | // ...code... 89 | //# sourceMappingURL=entry..js.map 90 | ``` 91 | 92 | ```javascript 93 | // app..js.map 94 | 95 | // ... 96 | "file":"app..js" 97 | // ... 98 | ``` 99 | 100 | We can't fully support sourcemaps (i.e. recomute sourcemap hash) because the circular reference: we 101 | can't compute sourcemap hash without computing the file hash first, and we can't compute the file 102 | hash without the sourcemap hash. 103 | 104 | ## Interaction with other plugins 105 | 106 | Because this plugin modifies the name of the assets, it break other plugins that also operate on the name of the assets 107 | if the order of the plugins is not correct. For `plugin-webpack-hash-output` to work, it has to be the first plugin to 108 | run in the `emit` phase. Inside the same phase, the order of the plugins is determined by the order in which they appear 109 | in webpack's config option `plugins`. 110 | 111 | A specific example of this is [html-webpack-plugin](https://github.com/jantimon/html-webpack-plugin): `plugin-webpack-hash-output` 112 | must be listed _before_ `html-webpack-plugin`. Example: 113 | 114 | ```javascript 115 | plugins: [ 116 | new HashOutput(...), 117 | new HtmlWebpackPlugin(...), 118 | ] 119 | ``` 120 | 121 | When the webpack compilation starts, this plugin will check if there are other plugins that might conflict with the output and 122 | display a warning. It is recommended you fix the order of the plugins unless you really know what you are doing: 123 | 124 | ``` 125 | [WARNING] There are other plugins configured that might interfere with webpack-plugin-hash-output. 126 | For this plugin to work correctly, it should be the first plugin in the "emit" phase. Please 127 | be sure that the rest of the plugins run after webpack-plugin-hash-output (ensure they are listed 128 | after webpack-plugin-hash-output in the 'plugins' option in your webpack config). 129 | 130 | Plugins that could interfere with webpack-plugin-hash-output: 131 | * HtmlWebpackPlugin 132 | ``` 133 | 134 | 135 | ## Options 136 | 137 | > Note: Use Webpack's own [hash output options](https://webpack.js.org/configuration/output/#output-hashfunction) to 138 | configure hash function and length. 139 | 140 | ### `options.validateOutput` 141 | 142 | `boolean`, defaults to `false`. 143 | 144 | After webpack has compiled and generated all the assets, checks that the hash of the content is included in the file. If it is not, it will throw an error 145 | and the webpack process will fail. 146 | 147 | 148 | ### `options.validateOutputRegex` 149 | `regex`, defaults to `/^.*$/` 150 | 151 | When validating the output (see `options.validateOutput`), only evaluate hashes for files matching this regexp. 152 | Useful for skipping source maps or other output. Example: 153 | 154 | ```javascript 155 | module.exports = { 156 | entry: { 157 | main: './src/app.js', 158 | }, 159 | output: { 160 | filename: 'assets/[name].[chunkhash].js', 161 | }, 162 | plugins: [ 163 | new HashOutput({ 164 | validateOutput: true, 165 | // Check that md5(assets/main..js) === , but doesn't check fragments/app.html 166 | validateOutputRegex: /^assets\/.*\.js$/, 167 | }), 168 | new HtmlWebpackPlugin({ 169 | filename: 'fragments/app.html', 170 | chunks: ['main'], 171 | }), 172 | ] 173 | }; 174 | ``` 175 | 176 | 177 | ## Contributions 178 | 179 | ### Running tests 180 | 181 | Tests can be run by: 182 | 183 | ``` 184 | yarn test 185 | ``` 186 | 187 | After running the tests, you might want to run `yarn run clean` to clean up temp files generated by the tests. 188 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "webpack-plugin-hash-output", 3 | "version": "3.2.1", 4 | "description": "Plugin for Webpack that uses the final output to compute the hash of an asset", 5 | "main": "src/OutputHash.js", 6 | "scripts": { 7 | "lint": "eslint .", 8 | "test": "mocha --reporter spec test/*.js && eslint .", 9 | "clean": "rm -fr test/tmp" 10 | }, 11 | "author": "Sergio Cinos ", 12 | "license": "ISC", 13 | "devDependencies": { 14 | "chai": "^4.2.0", 15 | "css-loader": "^1.0.1", 16 | "eslint": "^5.9.0", 17 | "eslint-config-airbnb-base": "^13.1.0", 18 | "eslint-config-prettier": "^3.3.0", 19 | "eslint-plugin-import": "^2.14.0", 20 | "eslint-plugin-mocha": "^5.2.0", 21 | "eslint-plugin-prettier": "^3.0.0", 22 | "html-webpack-plugin": "^3.0.6", 23 | "mini-css-extract-plugin": "^0.4.5", 24 | "mocha": "^5.2.0", 25 | "prettier": "^1.15.2", 26 | "rimraf": "^2.6.2", 27 | "sinon": "^7.1.1", 28 | "webpack": "^4.26.0", 29 | "webpack-cli": "^3.1.2" 30 | }, 31 | "dependencies": { 32 | "outdent": "^0.7.0" 33 | }, 34 | "repository": { 35 | "type": "git", 36 | "url": "https://github.com/scinos/webpack-plugin-hash-output" 37 | }, 38 | "keywords": [ 39 | "webpack", 40 | "plugin", 41 | "generate", 42 | "asset", 43 | "hash" 44 | ], 45 | "bugs": { 46 | "url": "https://github.com/scinos/webpack-plugin-hash-output/issues" 47 | }, 48 | "homepage": "https://github.com/scinos/webpack-plugin-hash-output" 49 | } 50 | -------------------------------------------------------------------------------- /src/OutputHash.js: -------------------------------------------------------------------------------- 1 | const crypto = require('crypto'); 2 | const fs = require('fs'); 3 | const outdent = require('outdent'); 4 | 5 | function OutputHash({ validateOutput = false, validateOutputRegex = /^.*$/ } = {}) { 6 | this.validateOutput = validateOutput; 7 | this.validateOutputRegex = validateOutputRegex; 8 | } 9 | 10 | /** 11 | * Replaces a string in an asset 12 | */ 13 | function replaceStringInAsset(asset, source, target) { 14 | const sourceRE = new RegExp(source, 'g'); 15 | 16 | if (typeof asset === 'string') { 17 | return asset.replace(sourceRE, target); 18 | } 19 | 20 | // ReplaceSource 21 | if ('_source' in asset) { 22 | asset._source = replaceStringInAsset(asset._source, source, target); 23 | return asset; 24 | } 25 | 26 | // CachedSource 27 | if ('_cachedSource' in asset) { 28 | asset._cachedSource = asset.source().replace(sourceRE, target); 29 | return asset; 30 | } 31 | 32 | // RawSource / SourceMapSource 33 | if ('_value' in asset) { 34 | asset._value = asset.source().replace(sourceRE, target); 35 | return asset; 36 | } 37 | 38 | // ConcatSource 39 | if ('children' in asset) { 40 | asset.children = asset.children.map(child => replaceStringInAsset(child, source, target)); 41 | return asset; 42 | } 43 | 44 | throw new Error( 45 | `Unknown asset type (${asset.constructor.name})!. ` + 46 | 'Unfortunately this type of asset is not supported yet. ' + 47 | 'Please raise an issue and we will look into it asap' 48 | ); 49 | } 50 | 51 | /** 52 | * Computes the new hash of a chunk. 53 | * 54 | * This function updates the *name* of the main file (i.e. source code), and the *content* of the 55 | * secondary files (i.e source maps) 56 | */ 57 | function reHashChunk(chunk, assets, hashFn, nameMap) { 58 | const isMainFile = file => file.endsWith('.js') || file.endsWith('.css'); 59 | 60 | // Update the name of the main files 61 | chunk.files.filter(isMainFile).forEach((oldChunkName, index) => { 62 | const asset = assets[oldChunkName]; 63 | const { fullHash, shortHash: newHash } = hashFn(asset.source()); 64 | 65 | let newChunkName; 66 | 67 | if (oldChunkName.includes(chunk.renderedHash)) { 68 | // Save the hash map for replacing the secondary files 69 | nameMap[chunk.renderedHash] = newHash; 70 | newChunkName = oldChunkName.replace(chunk.renderedHash, newHash); 71 | 72 | // Keep the chunk hashes in sync 73 | chunk.hash = fullHash; 74 | chunk.renderedHash = newHash; 75 | } else { 76 | // This is a massive hack: 77 | // 78 | // The oldHash of the main file is in `chunk.renderedHash`. But some plugins add a 79 | // second "main" file to the chunk (for example, `mini-css-extract-plugin` adds a 80 | // css file). That other main file has to be rehashed too, but we don't know the 81 | // oldHash of the file, so we don't know what string we have to replace by the new 82 | // hash. 83 | // 84 | // However, the hash present in the file name must be one of the hashes of the 85 | // modules inside the chunk (modules[].renderedHash). So we try to replace each 86 | // module hash with the new hash. 87 | const module = Array.from(chunk.modulesIterable).find(m => 88 | oldChunkName.includes(m.renderedHash) 89 | ); 90 | 91 | // Can't find a module with this hash... not sure what is going on, just return and 92 | // hope for the best. 93 | if (!module) return; 94 | 95 | // Save the hash map for replacing the secondary files 96 | nameMap[module.renderedHash] = newHash; 97 | newChunkName = oldChunkName.replace(module.renderedHash, newHash); 98 | 99 | // Keep the module hashes in sync 100 | module.hash = fullHash; 101 | module.renderedHash = newHash; 102 | } 103 | 104 | // Change file name to include the new hash 105 | chunk.files[index] = newChunkName; 106 | asset._name = newChunkName; 107 | delete assets[oldChunkName]; 108 | assets[newChunkName] = asset; 109 | }); 110 | 111 | // Update the content of the rest of the files in the chunk 112 | chunk.files 113 | .filter(file => !isMainFile(file)) 114 | .forEach(file => { 115 | Object.keys(nameMap).forEach(old => { 116 | const newHash = nameMap[old]; 117 | replaceStringInAsset(assets[file], old, newHash); 118 | }); 119 | }); 120 | } 121 | 122 | /** 123 | * Replaces old hashes for new hashes in chunk files. 124 | * 125 | * This function iterates through file contents and replaces all the ocurrences of old hashes 126 | * for new ones. We assume hashes are unique enough, so that we don't accidentally hit a 127 | * collision and replace existing data. 128 | */ 129 | function replaceOldHashForNewInChunkFiles(chunk, assets, oldHashToNewHashMap) { 130 | chunk.files.forEach(file => { 131 | Object.keys(oldHashToNewHashMap).forEach(oldHash => { 132 | const newHash = oldHashToNewHashMap[oldHash]; 133 | replaceStringInAsset(assets[file], oldHash, newHash); 134 | }); 135 | }); 136 | } 137 | 138 | function sortChunksById(a, b) { 139 | if (a.id < b.id) return -1; 140 | if (a.id > b.id) return 1; 141 | return 0; 142 | } 143 | 144 | OutputHash.prototype.apply = function apply(compiler) { 145 | let hashFn; 146 | 147 | compiler.hooks.afterPlugins.tap('OutputHash', (compiler, callback) => { 148 | if ( 149 | compiler.hooks.emit.taps.length > 1 && 150 | compiler.hooks.emit.taps[0].name !== 'OutputHash' 151 | ) { 152 | debugger; 153 | const plugins = compiler.hooks.emit.taps 154 | .filter(plugin => plugin.name != 'OutputHash') 155 | .map(plugin => ` * ${plugin.name}`) 156 | .join('\n'); 157 | 158 | console.warn(outdent` 159 | [WARNING] There are other plugins configured that might interfere with webpack-plugin-hash-output. 160 | For this plugin to work correctly, it should be the first plugin in the "emit" phase. Please 161 | be sure that the rest of the plugins run after webpack-plugin-hash-output (ensure they are listed 162 | after webpack-plugin-hash-output in the 'plugins' option in your webpack config). 163 | 164 | Plugins that could interfere with webpack-plugin-hash-output: 165 | ${plugins} 166 | `); 167 | } 168 | }); 169 | 170 | compiler.hooks.emit.tapAsync('OutputHash', (compilation, callback) => { 171 | const { outputOptions, chunks, assets } = compilation; 172 | const { hashFunction, hashDigest, hashDigestLength, hashSalt } = outputOptions; 173 | 174 | // Reuses webpack options 175 | hashFn = input => { 176 | const hashObj = crypto.createHash(hashFunction).update(input); 177 | if (hashSalt) hashObj.update(hashSalt); 178 | const fullHash = hashObj.digest(hashDigest); 179 | return { fullHash, shortHash: fullHash.substr(0, hashDigestLength) }; 180 | }; 181 | 182 | const nameMap = {}; 183 | const sortedChunks = chunks.slice().sort((aChunk, bChunk) => { 184 | const aEntry = aChunk.hasRuntime(); 185 | const bEntry = bChunk.hasRuntime(); 186 | if (aEntry && !bEntry) return 1; 187 | if (!aEntry && bEntry) return -1; 188 | return sortChunksById(aChunk, bChunk); 189 | }); 190 | 191 | sortedChunks.forEach(chunk => { 192 | replaceOldHashForNewInChunkFiles(chunk, assets, nameMap); 193 | reHashChunk(chunk, assets, hashFn, nameMap); 194 | }); 195 | 196 | callback(); 197 | }); 198 | 199 | if (this.validateOutput) { 200 | compiler.hooks.afterEmit.tapAsync('Validate output', (compilation, callback) => { 201 | let err; 202 | Object.keys(compilation.assets) 203 | .filter(assetName => assetName.match(this.validateOutputRegex)) 204 | .forEach(assetName => { 205 | const asset = compilation.assets[assetName]; 206 | const path = asset.existsAt; 207 | const assetContent = fs.readFileSync(path, 'utf8'); 208 | const { shortHash } = hashFn(assetContent); 209 | if (!assetName.includes(shortHash)) { 210 | err = new Error( 211 | `The hash in ${assetName} does not match the hash of the content (${shortHash})` 212 | ); 213 | } 214 | }); 215 | return callback(err); 216 | }); 217 | } 218 | }; 219 | 220 | module.exports = OutputHash; 221 | -------------------------------------------------------------------------------- /test/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | env: { 3 | mocha: true, 4 | }, 5 | plugins: ['mocha'], 6 | rules: { 7 | // https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-dynamic-require.md 8 | // Allow dynamic require(), we use it in the tests 9 | 'import/no-dynamic-require': ['off'], 10 | 11 | // https://github.com/lo1tuma/eslint-plugin-mocha/blob/master/docs/rules/no-exclusive-tests.md 12 | // Disallow .only tests 13 | 'mocha/no-exclusive-tests': ['error'], 14 | }, 15 | }; 16 | -------------------------------------------------------------------------------- /test/async-chunk/entry.js: -------------------------------------------------------------------------------- 1 | /* global document */ 2 | document.write('This is a test'); 3 | require.ensure([], require => { 4 | require('./on-demand'); 5 | }); 6 | -------------------------------------------------------------------------------- /test/async-chunk/on-demand.js: -------------------------------------------------------------------------------- 1 | /* global document */ 2 | document.write('This is an on-demand chunk'); 3 | -------------------------------------------------------------------------------- /test/async-chunk/webpack.config.js: -------------------------------------------------------------------------------- 1 | const OutputHash = require('../../src/OutputHash.js'); 2 | const path = require('path'); 3 | const baseConfig = require('../base.webpack.config'); 4 | 5 | const rel = paths => path.resolve(__dirname, ...paths); 6 | 7 | module.exports = Object.assign({}, baseConfig, { 8 | entry: rel`./entry.js`, 9 | plugins: [new OutputHash()], 10 | }); 11 | -------------------------------------------------------------------------------- /test/base.webpack.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | const rel = paths => path.resolve(__dirname, ...paths); 3 | 4 | module.exports = { 5 | output: { 6 | path: rel`./tmp`, 7 | filename: '[name].[chunkhash].js', 8 | }, 9 | 10 | // This is not required for the plugin to work, but it makes the tests easier because we can use 11 | // names instead of ids to address the chunks. 12 | optimization: { 13 | namedModules: true, 14 | namedChunks: true, 15 | }, 16 | }; 17 | -------------------------------------------------------------------------------- /test/common-chunk/common.js: -------------------------------------------------------------------------------- 1 | /* global document */ 2 | document.write('common'); 3 | -------------------------------------------------------------------------------- /test/common-chunk/entry.js: -------------------------------------------------------------------------------- 1 | /* global document */ 2 | document.write('This is a test'); 3 | 4 | require('./common'); 5 | -------------------------------------------------------------------------------- /test/common-chunk/vendor.js: -------------------------------------------------------------------------------- 1 | /* global document */ 2 | document.write('This is the vendor'); 3 | 4 | require('./common'); 5 | -------------------------------------------------------------------------------- /test/common-chunk/webpack.config.js: -------------------------------------------------------------------------------- 1 | const OutputHash = require('../../src/OutputHash.js'); 2 | const path = require('path'); 3 | const baseConfig = require('../base.webpack.config'); 4 | 5 | const rel = paths => path.resolve(__dirname, ...paths); 6 | 7 | module.exports = Object.assign({}, baseConfig, { 8 | devtool: 'sourcemap', 9 | optimization: Object.assign({}, baseConfig.optimization, { 10 | splitChunks: { 11 | chunks: 'all', 12 | minChunks: 2, 13 | minSize: 1, 14 | cacheGroups: { 15 | default: { 16 | name: 'common', 17 | }, 18 | }, 19 | }, 20 | }), 21 | entry: { 22 | entry: rel`./entry.js`, 23 | vendor: rel`./vendor.js`, 24 | }, 25 | plugins: [new OutputHash()], 26 | }); 27 | -------------------------------------------------------------------------------- /test/common-runtime-chunk/common.js: -------------------------------------------------------------------------------- 1 | /* global document */ 2 | document.write('common'); 3 | require.ensure([], require => { 4 | require('./on-demand'); 5 | }); 6 | -------------------------------------------------------------------------------- /test/common-runtime-chunk/entry.js: -------------------------------------------------------------------------------- 1 | /* global document */ 2 | document.write('This is a test'); 3 | 4 | require('./common'); 5 | -------------------------------------------------------------------------------- /test/common-runtime-chunk/on-demand.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scinos/webpack-plugin-hash-output/0b4adc20111fa0a798581703b51cd2e138b59b0e/test/common-runtime-chunk/on-demand.js -------------------------------------------------------------------------------- /test/common-runtime-chunk/vendor.js: -------------------------------------------------------------------------------- 1 | /* global document */ 2 | document.write('This is the vendor'); 3 | 4 | require('./common'); 5 | -------------------------------------------------------------------------------- /test/common-runtime-chunk/webpack.config.js: -------------------------------------------------------------------------------- 1 | // const OutputHash = require('../../src/OutputHash.js'); 2 | const path = require('path'); 3 | const OutputHash = require('../../src/OutputHash.js'); 4 | const baseConfig = require('../base.webpack.config'); 5 | 6 | const rel = paths => path.resolve(__dirname, ...paths); 7 | 8 | module.exports = Object.assign({}, baseConfig, { 9 | devtool: 'sourcemap', 10 | optimization: Object.assign({}, baseConfig.optimization, { 11 | runtimeChunk: { 12 | name: 'manifest', 13 | }, 14 | splitChunks: { 15 | chunks: 'all', 16 | minChunks: 2, 17 | minSize: 1, 18 | cacheGroups: { 19 | default: { 20 | name: 'manifest', 21 | }, 22 | }, 23 | }, 24 | }), 25 | entry: { 26 | entry: rel`./entry.js`, 27 | vendor: rel`./vendor.js`, 28 | }, 29 | plugins: [new OutputHash()], 30 | }); 31 | -------------------------------------------------------------------------------- /test/html-wrong-order/entry.js: -------------------------------------------------------------------------------- 1 | /* global document */ 2 | document.write('This is a test'); 3 | -------------------------------------------------------------------------------- /test/html-wrong-order/vendor.js: -------------------------------------------------------------------------------- 1 | /* global document */ 2 | document.write('This is the vendor'); 3 | -------------------------------------------------------------------------------- /test/html-wrong-order/webpack.config.js: -------------------------------------------------------------------------------- 1 | const OutputHash = require('../../src/OutputHash.js'); 2 | const path = require('path'); 3 | const HtmlWebpackPlugin = require('html-webpack-plugin'); 4 | const baseConfig = require('../base.webpack.config'); 5 | 6 | const rel = paths => path.resolve(__dirname, ...paths); 7 | 8 | module.exports = Object.assign({}, baseConfig, { 9 | entry: { 10 | entry: rel`./entry.js`, 11 | vendor: rel`./vendor.js`, 12 | }, 13 | plugins: [ 14 | new HtmlWebpackPlugin({ 15 | filename: 'index.html', 16 | chunks: ['vendor', 'entry'], 17 | }), 18 | new OutputHash(), 19 | ], 20 | }); 21 | -------------------------------------------------------------------------------- /test/html/entry.js: -------------------------------------------------------------------------------- 1 | /* global document */ 2 | document.write('This is a test'); 3 | -------------------------------------------------------------------------------- /test/html/vendor.js: -------------------------------------------------------------------------------- 1 | /* global document */ 2 | document.write('This is the vendor'); 3 | -------------------------------------------------------------------------------- /test/html/webpack.config.js: -------------------------------------------------------------------------------- 1 | const OutputHash = require('../../src/OutputHash.js'); 2 | const path = require('path'); 3 | const HtmlWebpackPlugin = require('html-webpack-plugin'); 4 | const baseConfig = require('../base.webpack.config'); 5 | 6 | const rel = paths => path.resolve(__dirname, ...paths); 7 | 8 | module.exports = Object.assign({}, baseConfig, { 9 | entry: { 10 | entry: rel`./entry.js`, 11 | vendor: rel`./vendor.js`, 12 | }, 13 | plugins: [ 14 | new OutputHash(), 15 | new HtmlWebpackPlugin({ 16 | filename: 'index.html', 17 | chunks: ['vendor', 'entry'], 18 | }), 19 | ], 20 | }); 21 | -------------------------------------------------------------------------------- /test/loop/1.js: -------------------------------------------------------------------------------- 1 | /* global document */ 2 | require.ensure([], require => { 3 | require('./2'); 4 | document.write('I am 1'); 5 | }); 6 | -------------------------------------------------------------------------------- /test/loop/2.js: -------------------------------------------------------------------------------- 1 | /* global document */ 2 | require.ensure([], require => { 3 | require('./1'); 4 | document.write('I am 2'); 5 | }); 6 | -------------------------------------------------------------------------------- /test/loop/entry.js: -------------------------------------------------------------------------------- 1 | require('./1'); 2 | -------------------------------------------------------------------------------- /test/loop/webpack.config.js: -------------------------------------------------------------------------------- 1 | const OutputHash = require('../../src/OutputHash.js'); 2 | const path = require('path'); 3 | const baseConfig = require('../base.webpack.config'); 4 | 5 | const rel = paths => path.resolve(__dirname, ...paths); 6 | 7 | module.exports = Object.assign({}, baseConfig, { 8 | devtool: 'sourcemap', 9 | entry: { 10 | entry: rel`./entry.js`, 11 | }, 12 | plugins: [new OutputHash()], 13 | }); 14 | -------------------------------------------------------------------------------- /test/mini-css-chunks/async.js: -------------------------------------------------------------------------------- 1 | /* global document */ 2 | const styles = require('./styles.css'); 3 | 4 | document.write(`These are the styles ${styles}`); 5 | -------------------------------------------------------------------------------- /test/mini-css-chunks/entry.js: -------------------------------------------------------------------------------- 1 | /* global document */ 2 | document.write('This is a test'); 3 | require.ensure([], require => { 4 | require('./async'); 5 | }); 6 | -------------------------------------------------------------------------------- /test/mini-css-chunks/styles.css: -------------------------------------------------------------------------------- 1 | html { 2 | content: 'mini-css-test'; 3 | } -------------------------------------------------------------------------------- /test/mini-css-chunks/webpack.config.js: -------------------------------------------------------------------------------- 1 | const OutputHash = require('../../src/OutputHash.js'); 2 | const MiniCssExtractPlugin = require('mini-css-extract-plugin'); 3 | const path = require('path'); 4 | const baseConfig = require('../base.webpack.config'); 5 | 6 | const rel = paths => path.resolve(__dirname, ...paths); 7 | 8 | module.exports = Object.assign({}, baseConfig, { 9 | entry: rel`./entry.js`, 10 | devtool: 'sourcemap', 11 | module: { 12 | rules: [ 13 | { 14 | test: /\.css$/, 15 | use: [ 16 | MiniCssExtractPlugin.loader, 17 | { 18 | loader: 'css-loader', 19 | options: { 20 | sourceMap: true, 21 | modules: true, 22 | }, 23 | }, 24 | ], 25 | }, 26 | ], 27 | }, 28 | optimization: Object.assign({}, baseConfig.optimization, { 29 | runtimeChunk: true, 30 | }), 31 | plugins: [ 32 | new OutputHash(), 33 | new MiniCssExtractPlugin({ 34 | filename: '[name].[contenthash].css', 35 | chunkFilename: '[id].[contenthash].css', 36 | }), 37 | ], 38 | }); 39 | -------------------------------------------------------------------------------- /test/multi-asset/entry.js: -------------------------------------------------------------------------------- 1 | /* global document */ 2 | document.write('This is a test'); 3 | -------------------------------------------------------------------------------- /test/multi-asset/vendor.js: -------------------------------------------------------------------------------- 1 | /* global document */ 2 | document.write('This is the vendor'); 3 | -------------------------------------------------------------------------------- /test/multi-asset/webpack.config.js: -------------------------------------------------------------------------------- 1 | const OutputHash = require('../../src/OutputHash.js'); 2 | const path = require('path'); 3 | const baseConfig = require('../base.webpack.config'); 4 | 5 | const rel = paths => path.resolve(__dirname, ...paths); 6 | 7 | module.exports = Object.assign({}, baseConfig, { 8 | entry: { 9 | entry: rel`./entry.js`, 10 | vendor: rel`./vendor.js`, 11 | }, 12 | plugins: [new OutputHash()], 13 | }); 14 | -------------------------------------------------------------------------------- /test/one-asset-base64/entry.js: -------------------------------------------------------------------------------- 1 | /* global document */ 2 | document.write('This is a test'); 3 | -------------------------------------------------------------------------------- /test/one-asset-base64/webpack.config.js: -------------------------------------------------------------------------------- 1 | const OutputHash = require('../../src/OutputHash.js'); 2 | const path = require('path'); 3 | const baseConfig = require('../base.webpack.config'); 4 | 5 | const rel = paths => path.resolve(__dirname, ...paths); 6 | 7 | module.exports = Object.assign({}, baseConfig, { 8 | entry: rel`./entry.js`, 9 | output: Object.assign({}, baseConfig.output, { 10 | hashDigest: 'base64', 11 | }), 12 | plugins: [new OutputHash()], 13 | }); 14 | -------------------------------------------------------------------------------- /test/one-asset-salt/entry.js: -------------------------------------------------------------------------------- 1 | /* global document */ 2 | document.write('This is a test'); 3 | -------------------------------------------------------------------------------- /test/one-asset-salt/webpack.config.js: -------------------------------------------------------------------------------- 1 | const OutputHash = require('../../src/OutputHash.js'); 2 | const path = require('path'); 3 | const baseConfig = require('../base.webpack.config'); 4 | 5 | const rel = paths => path.resolve(__dirname, ...paths); 6 | 7 | module.exports = Object.assign({}, baseConfig, { 8 | entry: rel`./entry.js`, 9 | output: Object.assign({}, baseConfig.output, { 10 | hashSalt: 'salted', 11 | }), 12 | plugins: [new OutputHash()], 13 | }); 14 | -------------------------------------------------------------------------------- /test/one-asset-sha256/entry.js: -------------------------------------------------------------------------------- 1 | /* global document */ 2 | document.write('This is a test'); 3 | -------------------------------------------------------------------------------- /test/one-asset-sha256/webpack.config.js: -------------------------------------------------------------------------------- 1 | const OutputHash = require('../../src/OutputHash.js'); 2 | const path = require('path'); 3 | const baseConfig = require('../base.webpack.config'); 4 | 5 | const rel = paths => path.resolve(__dirname, ...paths); 6 | 7 | module.exports = Object.assign({}, baseConfig, { 8 | entry: rel`./entry.js`, 9 | output: Object.assign({}, baseConfig.output, { 10 | hashFunction: 'sha1', 11 | }), 12 | plugins: [new OutputHash()], 13 | }); 14 | -------------------------------------------------------------------------------- /test/one-asset/entry.js: -------------------------------------------------------------------------------- 1 | /* global document */ 2 | document.write('This is a test'); 3 | -------------------------------------------------------------------------------- /test/one-asset/webpack.config.js: -------------------------------------------------------------------------------- 1 | const OutputHash = require('../../src/OutputHash.js'); 2 | const path = require('path'); 3 | const baseConfig = require('../base.webpack.config'); 4 | 5 | const rel = paths => path.resolve(__dirname, ...paths); 6 | 7 | module.exports = Object.assign({}, baseConfig, { 8 | entry: rel`./entry.js`, 9 | plugins: [new OutputHash()], 10 | }); 11 | -------------------------------------------------------------------------------- /test/runtime-chunk/entry-1.js: -------------------------------------------------------------------------------- 1 | /* global document */ 2 | document.write('This is a test 1'); 3 | require.ensure([], require => { 4 | require('./on-demand'); 5 | }); 6 | -------------------------------------------------------------------------------- /test/runtime-chunk/entry-2.js: -------------------------------------------------------------------------------- 1 | /* global document */ 2 | document.write('This is a test 2'); 3 | require.ensure([], require => { 4 | require('./on-demand'); 5 | }); 6 | -------------------------------------------------------------------------------- /test/runtime-chunk/on-demand.js: -------------------------------------------------------------------------------- 1 | /* global document */ 2 | document.write('This is an on-demand chunk'); 3 | -------------------------------------------------------------------------------- /test/runtime-chunk/webpack.config.js: -------------------------------------------------------------------------------- 1 | const OutputHash = require('../../src/OutputHash.js'); 2 | const path = require('path'); 3 | const baseConfig = require('../base.webpack.config'); 4 | 5 | const rel = paths => path.resolve(__dirname, ...paths); 6 | 7 | module.exports = Object.assign({}, baseConfig, { 8 | devtool: 'sourcemap', 9 | entry: { 10 | entry1: rel`./entry-1.js`, 11 | entry2: rel`./entry-2.js`, 12 | }, 13 | plugins: [new OutputHash()], 14 | optimization: Object.assign({}, baseConfig.optimization, { 15 | runtimeChunk: true, 16 | }), 17 | }); 18 | -------------------------------------------------------------------------------- /test/shared-runtime-chunk/async.js: -------------------------------------------------------------------------------- 1 | /* global document */ 2 | const module2 = require('./shared-2'); 3 | 4 | document.write(`async ${module2}`); 5 | -------------------------------------------------------------------------------- /test/shared-runtime-chunk/entry-1.js: -------------------------------------------------------------------------------- 1 | /* global document, System */ 2 | const module1 = require('./shared-1'); 3 | 4 | System.import(/* webpackChunkName: 'async' */ './async').then(async => { 5 | document.write(`entry-1: ${module1} ${async}`); 6 | }); 7 | -------------------------------------------------------------------------------- /test/shared-runtime-chunk/entry-2.js: -------------------------------------------------------------------------------- 1 | /* global document */ 2 | const module1 = require('./shared-1'); 3 | const module2 = require('./shared-2'); 4 | 5 | document.write(`entry-2: ${module1} ${module2}`); 6 | -------------------------------------------------------------------------------- /test/shared-runtime-chunk/shared-1.js: -------------------------------------------------------------------------------- 1 | module.exports = 'shared-1'; 2 | -------------------------------------------------------------------------------- /test/shared-runtime-chunk/shared-2.js: -------------------------------------------------------------------------------- 1 | module.exports = 'shared-2'; 2 | -------------------------------------------------------------------------------- /test/shared-runtime-chunk/webpack.config.js: -------------------------------------------------------------------------------- 1 | const OutputHash = require('../../src/OutputHash.js'); 2 | const path = require('path'); 3 | const baseConfig = require('../base.webpack.config'); 4 | 5 | const rel = paths => path.resolve(__dirname, ...paths); 6 | 7 | module.exports = Object.assign({}, baseConfig, { 8 | entry: { 9 | entry1: rel`./entry-1.js`, 10 | entry2: rel`./entry-2.js`, 11 | }, 12 | optimization: Object.assign({}, baseConfig.optimization, { 13 | runtimeChunk: 'single', 14 | splitChunks: { 15 | chunks: 'all', 16 | minChunks: 1, 17 | minSize: 1, 18 | }, 19 | }), 20 | plugins: [new OutputHash()], 21 | }); 22 | -------------------------------------------------------------------------------- /test/sourcemap/entry.js: -------------------------------------------------------------------------------- 1 | /* global document */ 2 | document.write('This is a test'); 3 | -------------------------------------------------------------------------------- /test/sourcemap/webpack.config.js: -------------------------------------------------------------------------------- 1 | const OutputHash = require('../../src/OutputHash.js'); 2 | const path = require('path'); 3 | const baseConfig = require('../base.webpack.config'); 4 | 5 | const rel = paths => path.resolve(__dirname, ...paths); 6 | 7 | module.exports = Object.assign({}, baseConfig, { 8 | entry: { 9 | entry: rel`./entry.js`, 10 | }, 11 | devtool: 'sourcemap', 12 | output: Object.assign({}, baseConfig.output, { 13 | sourceMapFilename: '[name].[chunkhash].js.map', 14 | }), 15 | plugins: [new OutputHash()], 16 | }); 17 | -------------------------------------------------------------------------------- /test/test.js: -------------------------------------------------------------------------------- 1 | const crypto = require('crypto'); 2 | const webpack = require('webpack'); 3 | const path = require('path'); 4 | const { expect } = require('chai'); 5 | const rimraf = require('rimraf'); 6 | const fs = require('fs'); 7 | const sinon = require('sinon'); 8 | 9 | // Each compilation may use a different hash fn, so we need to generate one from the webpack 10 | // outputOptions. 11 | const makeHashFn = ({ 12 | hashFunction = 'md5', 13 | hashDigest = 'hex', 14 | hashDigestLength = 20, 15 | hashSalt = null, 16 | } = {}) => input => { 17 | const hashObj = crypto.createHash(hashFunction).update(input); 18 | if (hashSalt) hashObj.update(hashSalt); 19 | const fullHash = hashObj.digest(hashDigest); 20 | return { fullHash, shortHash: fullHash.substr(0, hashDigestLength) }; 21 | }; 22 | 23 | const expectAssetNameToContainContentHash = stats => { 24 | const isSecondaryFile = file => file.endsWith('.map') || file.endsWith('.html'); 25 | const { assets, outputOptions } = stats.compilation; 26 | const hashFn = makeHashFn(outputOptions); 27 | expect(Object.keys(assets)).to.have.length.at.least(1); 28 | Object.keys(assets) 29 | .filter(file => !isSecondaryFile(file)) 30 | .forEach(name => { 31 | const asset = assets[name]; 32 | const { shortHash } = hashFn(asset.source()); 33 | expect(name).to.contain(shortHash); 34 | }); 35 | }; 36 | 37 | const expectSourcemapsToBeCorrect = stats => { 38 | const { assets } = stats.compilation; 39 | 40 | Object.keys(assets) 41 | .filter(name => name.endsWith('.map')) 42 | .forEach(name => { 43 | const content = assets[name]; 44 | const linkedFile = JSON.parse(content.source()).file; 45 | expect(Object.keys(assets)).to.include(linkedFile); 46 | expect(assets[linkedFile].source()).to.have.string(name); 47 | }); 48 | }; 49 | 50 | const sanityCheck = stats => { 51 | expectAssetNameToContainContentHash(stats); 52 | expectSourcemapsToBeCorrect(stats); 53 | return stats; 54 | }; 55 | 56 | const webpackCompile = (fixture, mode) => 57 | new Promise((resolve, reject) => { 58 | const dir = path.resolve(__dirname, fixture); 59 | const config = path.resolve(dir, 'webpack.config.js'); 60 | // eslint-disable-next-line global-require 61 | const opts = Object.assign(require(config), { mode, context: dir }); 62 | webpack(opts, (err, stats) => { 63 | if (err) reject(err); 64 | else resolve(stats); 65 | }); 66 | }); 67 | 68 | const asset = (stats, name, ext = '.js') => { 69 | const assetName = Object.keys(stats.compilation.assets).find( 70 | n => n.startsWith(name) && n.endsWith(ext) 71 | ); 72 | const content = stats.compilation.assets[assetName]; 73 | return { 74 | hash: assetName.split('.')[1], // By convention the names are .. 75 | content: content.source(), 76 | }; 77 | }; 78 | 79 | describe('OutputHash', () => { 80 | const modes = ['development', 'production']; 81 | 82 | before(() => { 83 | if (fs.existsSync('./test/tmp')) { 84 | rimraf.sync('./test/tmp'); 85 | } 86 | }); 87 | 88 | afterEach(() => { 89 | sinon.restore(); 90 | }); 91 | 92 | modes.forEach(mode => { 93 | context(`In ${mode} mode`, () => { 94 | it('Works with single entry points', () => 95 | webpackCompile('one-asset', mode).then(sanityCheck)); 96 | 97 | it('Works with hashSalt', () => 98 | webpackCompile('one-asset-salt', mode).then(sanityCheck)); 99 | 100 | it('Works with hashFunction (sha256)', () => 101 | webpackCompile('one-asset-sha256', mode).then(sanityCheck)); 102 | 103 | it('Works with hashDigest (base64)', () => 104 | webpackCompile('one-asset-base64', mode).then(sanityCheck)); 105 | 106 | it('Works with multiple entry points', () => 107 | webpackCompile('multi-asset', mode).then(sanityCheck)); 108 | 109 | it('Works with common chunks', () => 110 | webpackCompile('common-chunk', mode).then(sanityCheck)); 111 | 112 | it('Works with async chunks', () => 113 | webpackCompile('async-chunk', mode) 114 | .then(sanityCheck) 115 | .then(stats => { 116 | const main = asset(stats, 'main'); 117 | const asyncAsset = asset(stats, '0'); 118 | expect(main.content).to.contain(asyncAsset.hash); 119 | })); 120 | 121 | it('Works with runtime chunks', () => 122 | webpackCompile('runtime-chunk', mode) 123 | .then(sanityCheck) 124 | .then(stats => { 125 | const asyncAsset = asset(stats, '0'); 126 | const runtime1 = asset(stats, 'runtime~entry1'); 127 | const runtime2 = asset(stats, 'runtime~entry2'); 128 | 129 | expect(runtime1.content).to.contain(asyncAsset.hash); 130 | expect(runtime2.content).to.contain(asyncAsset.hash); 131 | })); 132 | 133 | it('Works when runtime has common chunks that require async files', () => 134 | webpackCompile('common-runtime-chunk', mode) 135 | .then(sanityCheck) 136 | .then(stats => { 137 | const manifest = asset(stats, 'manifest'); 138 | const asyncAsset = asset(stats, '0'); 139 | expect(manifest.content).to.contain(asyncAsset.hash); 140 | })); 141 | 142 | it('Works when there are two async files requiring each other', () => 143 | webpackCompile('loop', mode) 144 | .then(sanityCheck) 145 | .then(stats => { 146 | const entry = asset(stats, 'entry'); 147 | const asyncAsset = asset(stats, '0'); 148 | expect(entry.content).to.contain(asyncAsset.hash); 149 | })); 150 | 151 | it('Works with shared runtime chunk', () => 152 | webpackCompile('shared-runtime-chunk', mode) 153 | .then(sanityCheck) 154 | .then(stats => { 155 | const asyncChunk = asset(stats, 'async'); 156 | const runtime = asset(stats, 'runtime'); 157 | expect(runtime.content).to.contain(asyncChunk.hash); 158 | })); 159 | 160 | it('Works with HTML output', () => 161 | webpackCompile('html', mode) 162 | .then(sanityCheck) 163 | .then(stats => { 164 | const index = asset(stats, 'index', '.html'); 165 | const entry = asset(stats, 'entry', '.js'); 166 | const vendor = asset(stats, 'vendor', '.js'); 167 | expect(index.content).to.contain(entry.hash); 168 | expect(index.content).to.contain(vendor.hash); 169 | })); 170 | 171 | it('Works with mini-css-extract-plugin', () => 172 | webpackCompile('mini-css-chunks', mode) 173 | .then(sanityCheck) 174 | .then(stats => { 175 | const runtime = asset(stats, 'runtime~main'); 176 | const asyncJs = asset(stats, '0', '.js'); 177 | const asyncCss = asset(stats, '0', '.css'); 178 | expect(runtime.content).to.contain(asyncJs.hash); 179 | expect(runtime.content).to.contain(asyncCss.hash); 180 | })); 181 | 182 | it('Shows a warning if it is not the first plugin in the emit phase', () => { 183 | sinon.stub(console, 'warn'); 184 | return webpackCompile('html-wrong-order', mode).then(stats => { 185 | expect(console.warn.called).to.be.true; 186 | }); 187 | }); 188 | }); 189 | }); 190 | }); 191 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.0.0": 6 | version "7.0.0" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" 8 | integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== 9 | dependencies: 10 | "@babel/highlight" "^7.0.0" 11 | 12 | "@babel/highlight@^7.0.0": 13 | version "7.0.0" 14 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" 15 | integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw== 16 | dependencies: 17 | chalk "^2.0.0" 18 | esutils "^2.0.2" 19 | js-tokens "^4.0.0" 20 | 21 | "@sinonjs/commons@^1.2.0": 22 | version "1.3.0" 23 | resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.3.0.tgz#50a2754016b6f30a994ceda6d9a0a8c36adda849" 24 | integrity sha512-j4ZwhaHmwsCb4DlDOIWnI5YyKDNMoNThsmwEpfHx6a1EpsGZ9qYLxP++LMlmBRjtGptGHFsGItJ768snllFWpA== 25 | dependencies: 26 | type-detect "4.0.8" 27 | 28 | "@sinonjs/formatio@3.0.0", "@sinonjs/formatio@^3.0.0": 29 | version "3.0.0" 30 | resolved "https://registry.yarnpkg.com/@sinonjs/formatio/-/formatio-3.0.0.tgz#9d282d81030a03a03fa0c5ce31fd8786a4da311a" 31 | integrity sha512-vdjoYLDptCgvtJs57ULshak3iJe4NW3sJ3g36xVDGff5AE8P30S6A093EIEPjdi2noGhfuNOEkbxt3J3awFW1w== 32 | dependencies: 33 | "@sinonjs/samsam" "2.1.0" 34 | 35 | "@sinonjs/samsam@2.1.0": 36 | version "2.1.0" 37 | resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-2.1.0.tgz#b8b8f5b819605bd63601a6ede459156880f38ea3" 38 | integrity sha512-5x2kFgJYupaF1ns/RmharQ90lQkd2ELS8A9X0ymkAAdemYHGtI2KiUHG8nX2WU0T1qgnOU5YMqnBM2V7NUanNw== 39 | dependencies: 40 | array-from "^2.1.1" 41 | 42 | "@sinonjs/samsam@^2.1.2": 43 | version "2.1.2" 44 | resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-2.1.2.tgz#16947fce5f57258d01f1688fdc32723093c55d3f" 45 | integrity sha512-ZwTHAlC9akprWDinwEPD4kOuwaYZlyMwVJIANsKNC3QVp0AHB04m7RnB4eqeWfgmxw8MGTzS9uMaw93Z3QcZbw== 46 | 47 | "@webassemblyjs/ast@1.7.11": 48 | version "1.7.11" 49 | resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.7.11.tgz#b988582cafbb2b095e8b556526f30c90d057cace" 50 | integrity sha512-ZEzy4vjvTzScC+SH8RBssQUawpaInUdMTYwYYLh54/s8TuT0gBLuyUnppKsVyZEi876VmmStKsUs28UxPgdvrA== 51 | dependencies: 52 | "@webassemblyjs/helper-module-context" "1.7.11" 53 | "@webassemblyjs/helper-wasm-bytecode" "1.7.11" 54 | "@webassemblyjs/wast-parser" "1.7.11" 55 | 56 | "@webassemblyjs/floating-point-hex-parser@1.7.11": 57 | version "1.7.11" 58 | resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz#a69f0af6502eb9a3c045555b1a6129d3d3f2e313" 59 | integrity sha512-zY8dSNyYcgzNRNT666/zOoAyImshm3ycKdoLsyDw/Bwo6+/uktb7p4xyApuef1dwEBo/U/SYQzbGBvV+nru2Xg== 60 | 61 | "@webassemblyjs/helper-api-error@1.7.11": 62 | version "1.7.11" 63 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz#c7b6bb8105f84039511a2b39ce494f193818a32a" 64 | integrity sha512-7r1qXLmiglC+wPNkGuXCvkmalyEstKVwcueZRP2GNC2PAvxbLYwLLPr14rcdJaE4UtHxQKfFkuDFuv91ipqvXg== 65 | 66 | "@webassemblyjs/helper-buffer@1.7.11": 67 | version "1.7.11" 68 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz#3122d48dcc6c9456ed982debe16c8f37101df39b" 69 | integrity sha512-MynuervdylPPh3ix+mKZloTcL06P8tenNH3sx6s0qE8SLR6DdwnfgA7Hc9NSYeob2jrW5Vql6GVlsQzKQCa13w== 70 | 71 | "@webassemblyjs/helper-code-frame@1.7.11": 72 | version "1.7.11" 73 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.11.tgz#cf8f106e746662a0da29bdef635fcd3d1248364b" 74 | integrity sha512-T8ESC9KMXFTXA5urJcyor5cn6qWeZ4/zLPyWeEXZ03hj/x9weSokGNkVCdnhSabKGYWxElSdgJ+sFa9G/RdHNw== 75 | dependencies: 76 | "@webassemblyjs/wast-printer" "1.7.11" 77 | 78 | "@webassemblyjs/helper-fsm@1.7.11": 79 | version "1.7.11" 80 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz#df38882a624080d03f7503f93e3f17ac5ac01181" 81 | integrity sha512-nsAQWNP1+8Z6tkzdYlXT0kxfa2Z1tRTARd8wYnc/e3Zv3VydVVnaeePgqUzFrpkGUyhUUxOl5ML7f1NuT+gC0A== 82 | 83 | "@webassemblyjs/helper-module-context@1.7.11": 84 | version "1.7.11" 85 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz#d874d722e51e62ac202476935d649c802fa0e209" 86 | integrity sha512-JxfD5DX8Ygq4PvXDucq0M+sbUFA7BJAv/GGl9ITovqE+idGX+J3QSzJYz+LwQmL7fC3Rs+utvWoJxDb6pmC0qg== 87 | 88 | "@webassemblyjs/helper-wasm-bytecode@1.7.11": 89 | version "1.7.11" 90 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz#dd9a1e817f1c2eb105b4cf1013093cb9f3c9cb06" 91 | integrity sha512-cMXeVS9rhoXsI9LLL4tJxBgVD/KMOKXuFqYb5oCJ/opScWpkCMEz9EJtkonaNcnLv2R3K5jIeS4TRj/drde1JQ== 92 | 93 | "@webassemblyjs/helper-wasm-section@1.7.11": 94 | version "1.7.11" 95 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz#9c9ac41ecf9fbcfffc96f6d2675e2de33811e68a" 96 | integrity sha512-8ZRY5iZbZdtNFE5UFunB8mmBEAbSI3guwbrsCl4fWdfRiAcvqQpeqd5KHhSWLL5wuxo53zcaGZDBU64qgn4I4Q== 97 | dependencies: 98 | "@webassemblyjs/ast" "1.7.11" 99 | "@webassemblyjs/helper-buffer" "1.7.11" 100 | "@webassemblyjs/helper-wasm-bytecode" "1.7.11" 101 | "@webassemblyjs/wasm-gen" "1.7.11" 102 | 103 | "@webassemblyjs/ieee754@1.7.11": 104 | version "1.7.11" 105 | resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz#c95839eb63757a31880aaec7b6512d4191ac640b" 106 | integrity sha512-Mmqx/cS68K1tSrvRLtaV/Lp3NZWzXtOHUW2IvDvl2sihAwJh4ACE0eL6A8FvMyDG9abes3saB6dMimLOs+HMoQ== 107 | dependencies: 108 | "@xtuc/ieee754" "^1.2.0" 109 | 110 | "@webassemblyjs/leb128@1.7.11": 111 | version "1.7.11" 112 | resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.7.11.tgz#d7267a1ee9c4594fd3f7e37298818ec65687db63" 113 | integrity sha512-vuGmgZjjp3zjcerQg+JA+tGOncOnJLWVkt8Aze5eWQLwTQGNgVLcyOTqgSCxWTR4J42ijHbBxnuRaL1Rv7XMdw== 114 | dependencies: 115 | "@xtuc/long" "4.2.1" 116 | 117 | "@webassemblyjs/utf8@1.7.11": 118 | version "1.7.11" 119 | resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.7.11.tgz#06d7218ea9fdc94a6793aa92208160db3d26ee82" 120 | integrity sha512-C6GFkc7aErQIAH+BMrIdVSmW+6HSe20wg57HEC1uqJP8E/xpMjXqQUxkQw07MhNDSDcGpxI9G5JSNOQCqJk4sA== 121 | 122 | "@webassemblyjs/wasm-edit@1.7.11": 123 | version "1.7.11" 124 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz#8c74ca474d4f951d01dbae9bd70814ee22a82005" 125 | integrity sha512-FUd97guNGsCZQgeTPKdgxJhBXkUbMTY6hFPf2Y4OedXd48H97J+sOY2Ltaq6WGVpIH8o/TGOVNiVz/SbpEMJGg== 126 | dependencies: 127 | "@webassemblyjs/ast" "1.7.11" 128 | "@webassemblyjs/helper-buffer" "1.7.11" 129 | "@webassemblyjs/helper-wasm-bytecode" "1.7.11" 130 | "@webassemblyjs/helper-wasm-section" "1.7.11" 131 | "@webassemblyjs/wasm-gen" "1.7.11" 132 | "@webassemblyjs/wasm-opt" "1.7.11" 133 | "@webassemblyjs/wasm-parser" "1.7.11" 134 | "@webassemblyjs/wast-printer" "1.7.11" 135 | 136 | "@webassemblyjs/wasm-gen@1.7.11": 137 | version "1.7.11" 138 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz#9bbba942f22375686a6fb759afcd7ac9c45da1a8" 139 | integrity sha512-U/KDYp7fgAZX5KPfq4NOupK/BmhDc5Kjy2GIqstMhvvdJRcER/kUsMThpWeRP8BMn4LXaKhSTggIJPOeYHwISA== 140 | dependencies: 141 | "@webassemblyjs/ast" "1.7.11" 142 | "@webassemblyjs/helper-wasm-bytecode" "1.7.11" 143 | "@webassemblyjs/ieee754" "1.7.11" 144 | "@webassemblyjs/leb128" "1.7.11" 145 | "@webassemblyjs/utf8" "1.7.11" 146 | 147 | "@webassemblyjs/wasm-opt@1.7.11": 148 | version "1.7.11" 149 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz#b331e8e7cef8f8e2f007d42c3a36a0580a7d6ca7" 150 | integrity sha512-XynkOwQyiRidh0GLua7SkeHvAPXQV/RxsUeERILmAInZegApOUAIJfRuPYe2F7RcjOC9tW3Cb9juPvAC/sCqvg== 151 | dependencies: 152 | "@webassemblyjs/ast" "1.7.11" 153 | "@webassemblyjs/helper-buffer" "1.7.11" 154 | "@webassemblyjs/wasm-gen" "1.7.11" 155 | "@webassemblyjs/wasm-parser" "1.7.11" 156 | 157 | "@webassemblyjs/wasm-parser@1.7.11": 158 | version "1.7.11" 159 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz#6e3d20fa6a3519f6b084ef9391ad58211efb0a1a" 160 | integrity sha512-6lmXRTrrZjYD8Ng8xRyvyXQJYUQKYSXhJqXOBLw24rdiXsHAOlvw5PhesjdcaMadU/pyPQOJ5dHreMjBxwnQKg== 161 | dependencies: 162 | "@webassemblyjs/ast" "1.7.11" 163 | "@webassemblyjs/helper-api-error" "1.7.11" 164 | "@webassemblyjs/helper-wasm-bytecode" "1.7.11" 165 | "@webassemblyjs/ieee754" "1.7.11" 166 | "@webassemblyjs/leb128" "1.7.11" 167 | "@webassemblyjs/utf8" "1.7.11" 168 | 169 | "@webassemblyjs/wast-parser@1.7.11": 170 | version "1.7.11" 171 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.7.11.tgz#25bd117562ca8c002720ff8116ef9072d9ca869c" 172 | integrity sha512-lEyVCg2np15tS+dm7+JJTNhNWq9yTZvi3qEhAIIOaofcYlUp0UR5/tVqOwa/gXYr3gjwSZqw+/lS9dscyLelbQ== 173 | dependencies: 174 | "@webassemblyjs/ast" "1.7.11" 175 | "@webassemblyjs/floating-point-hex-parser" "1.7.11" 176 | "@webassemblyjs/helper-api-error" "1.7.11" 177 | "@webassemblyjs/helper-code-frame" "1.7.11" 178 | "@webassemblyjs/helper-fsm" "1.7.11" 179 | "@xtuc/long" "4.2.1" 180 | 181 | "@webassemblyjs/wast-printer@1.7.11": 182 | version "1.7.11" 183 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.7.11.tgz#c4245b6de242cb50a2cc950174fdbf65c78d7813" 184 | integrity sha512-m5vkAsuJ32QpkdkDOUPGSltrg8Cuk3KBx4YrmAGQwCZPRdUHXxG4phIOuuycLemHFr74sWL9Wthqss4fzdzSwg== 185 | dependencies: 186 | "@webassemblyjs/ast" "1.7.11" 187 | "@webassemblyjs/wast-parser" "1.7.11" 188 | "@xtuc/long" "4.2.1" 189 | 190 | "@xtuc/ieee754@^1.2.0": 191 | version "1.2.0" 192 | resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" 193 | integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== 194 | 195 | "@xtuc/long@4.2.1": 196 | version "4.2.1" 197 | resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.1.tgz#5c85d662f76fa1d34575766c5dcd6615abcd30d8" 198 | integrity sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g== 199 | 200 | abbrev@1: 201 | version "1.1.1" 202 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" 203 | 204 | acorn-dynamic-import@^3.0.0: 205 | version "3.0.0" 206 | resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz#901ceee4c7faaef7e07ad2a47e890675da50a278" 207 | dependencies: 208 | acorn "^5.0.0" 209 | 210 | acorn-jsx@^5.0.0: 211 | version "5.0.1" 212 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e" 213 | integrity sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg== 214 | 215 | acorn@^5.0.0: 216 | version "5.5.3" 217 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.5.3.tgz#f473dd47e0277a08e28e9bec5aeeb04751f0b8c9" 218 | 219 | acorn@^5.6.2: 220 | version "5.7.3" 221 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" 222 | integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== 223 | 224 | acorn@^6.0.2: 225 | version "6.0.4" 226 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.0.4.tgz#77377e7353b72ec5104550aa2d2097a2fd40b754" 227 | integrity sha512-VY4i5EKSKkofY2I+6QLTbTTN/UvEQPCo6eiwzzSaSWfpaDhOmStMCMod6wmuPciNq+XS0faCglFu2lHZpdHUtg== 228 | 229 | ajv-errors@^1.0.0: 230 | version "1.0.0" 231 | resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.0.tgz#ecf021fa108fd17dfb5e6b383f2dd233e31ffc59" 232 | integrity sha1-7PAh+hCP0X37Xms4Py3SM+Mf/Fk= 233 | 234 | ajv-keywords@^3.1.0: 235 | version "3.2.0" 236 | resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a" 237 | 238 | ajv@^6.1.0: 239 | version "6.4.0" 240 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.4.0.tgz#d3aff78e9277549771daf0164cff48482b754fc6" 241 | dependencies: 242 | fast-deep-equal "^1.0.0" 243 | fast-json-stable-stringify "^2.0.0" 244 | json-schema-traverse "^0.3.0" 245 | uri-js "^3.0.2" 246 | 247 | ajv@^6.5.3: 248 | version "6.5.5" 249 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.5.tgz#cf97cdade71c6399a92c6d6c4177381291b781a1" 250 | integrity sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg== 251 | dependencies: 252 | fast-deep-equal "^2.0.1" 253 | fast-json-stable-stringify "^2.0.0" 254 | json-schema-traverse "^0.4.1" 255 | uri-js "^4.2.2" 256 | 257 | ansi-escapes@^3.0.0: 258 | version "3.1.0" 259 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" 260 | 261 | ansi-regex@^2.0.0: 262 | version "2.1.1" 263 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 264 | 265 | ansi-regex@^3.0.0: 266 | version "3.0.0" 267 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 268 | 269 | ansi-styles@^2.2.1: 270 | version "2.2.1" 271 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 272 | 273 | ansi-styles@^3.2.1: 274 | version "3.2.1" 275 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 276 | dependencies: 277 | color-convert "^1.9.0" 278 | 279 | anymatch@^2.0.0: 280 | version "2.0.0" 281 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" 282 | dependencies: 283 | micromatch "^3.1.4" 284 | normalize-path "^2.1.1" 285 | 286 | aproba@^1.0.3, aproba@^1.1.1: 287 | version "1.2.0" 288 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" 289 | 290 | are-we-there-yet@~1.1.2: 291 | version "1.1.4" 292 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" 293 | dependencies: 294 | delegates "^1.0.0" 295 | readable-stream "^2.0.6" 296 | 297 | argparse@^1.0.7: 298 | version "1.0.10" 299 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 300 | dependencies: 301 | sprintf-js "~1.0.2" 302 | 303 | arr-diff@^4.0.0: 304 | version "4.0.0" 305 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" 306 | 307 | arr-flatten@^1.1.0: 308 | version "1.1.0" 309 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" 310 | 311 | arr-union@^3.1.0: 312 | version "3.1.0" 313 | resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" 314 | 315 | array-from@^2.1.1: 316 | version "2.1.1" 317 | resolved "https://registry.yarnpkg.com/array-from/-/array-from-2.1.1.tgz#cfe9d8c26628b9dc5aecc62a9f5d8f1f352c1195" 318 | integrity sha1-z+nYwmYoudxa7MYqn12PHzUsEZU= 319 | 320 | array-union@^1.0.1: 321 | version "1.0.2" 322 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" 323 | dependencies: 324 | array-uniq "^1.0.1" 325 | 326 | array-uniq@^1.0.1: 327 | version "1.0.3" 328 | resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" 329 | 330 | array-unique@^0.3.2: 331 | version "0.3.2" 332 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" 333 | 334 | arrify@^1.0.0: 335 | version "1.0.1" 336 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 337 | 338 | asn1.js@^4.0.0: 339 | version "4.10.1" 340 | resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" 341 | dependencies: 342 | bn.js "^4.0.0" 343 | inherits "^2.0.1" 344 | minimalistic-assert "^1.0.0" 345 | 346 | assert@^1.1.1: 347 | version "1.4.1" 348 | resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" 349 | dependencies: 350 | util "0.10.3" 351 | 352 | assertion-error@^1.1.0: 353 | version "1.1.0" 354 | resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" 355 | integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== 356 | 357 | assign-symbols@^1.0.0: 358 | version "1.0.0" 359 | resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" 360 | 361 | async-each@^1.0.0: 362 | version "1.0.1" 363 | resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" 364 | 365 | atob@^2.0.0: 366 | version "2.1.1" 367 | resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.1.tgz#ae2d5a729477f289d60dd7f96a6314a22dd6c22a" 368 | 369 | babel-code-frame@^6.26.0: 370 | version "6.26.0" 371 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" 372 | dependencies: 373 | chalk "^1.1.3" 374 | esutils "^2.0.2" 375 | js-tokens "^3.0.2" 376 | 377 | balanced-match@^1.0.0: 378 | version "1.0.0" 379 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 380 | 381 | base64-js@^1.0.2: 382 | version "1.3.0" 383 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" 384 | 385 | base@^0.11.1: 386 | version "0.11.2" 387 | resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" 388 | dependencies: 389 | cache-base "^1.0.1" 390 | class-utils "^0.3.5" 391 | component-emitter "^1.2.1" 392 | define-property "^1.0.0" 393 | isobject "^3.0.1" 394 | mixin-deep "^1.2.0" 395 | pascalcase "^0.1.1" 396 | 397 | big.js@^3.1.3: 398 | version "3.2.0" 399 | resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" 400 | 401 | binary-extensions@^1.0.0: 402 | version "1.11.0" 403 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" 404 | 405 | bluebird@^3.5.1: 406 | version "3.5.1" 407 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" 408 | 409 | bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: 410 | version "4.11.8" 411 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" 412 | 413 | boolbase@~1.0.0: 414 | version "1.0.0" 415 | resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" 416 | 417 | brace-expansion@^1.1.7: 418 | version "1.1.11" 419 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 420 | dependencies: 421 | balanced-match "^1.0.0" 422 | concat-map "0.0.1" 423 | 424 | braces@^2.3.0, braces@^2.3.1: 425 | version "2.3.2" 426 | resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" 427 | dependencies: 428 | arr-flatten "^1.1.0" 429 | array-unique "^0.3.2" 430 | extend-shallow "^2.0.1" 431 | fill-range "^4.0.0" 432 | isobject "^3.0.1" 433 | repeat-element "^1.1.2" 434 | snapdragon "^0.8.1" 435 | snapdragon-node "^2.0.1" 436 | split-string "^3.0.2" 437 | to-regex "^3.0.1" 438 | 439 | brorand@^1.0.1: 440 | version "1.1.0" 441 | resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" 442 | 443 | browser-stdout@1.3.1: 444 | version "1.3.1" 445 | resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" 446 | 447 | browserify-aes@^1.0.0, browserify-aes@^1.0.4: 448 | version "1.2.0" 449 | resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" 450 | dependencies: 451 | buffer-xor "^1.0.3" 452 | cipher-base "^1.0.0" 453 | create-hash "^1.1.0" 454 | evp_bytestokey "^1.0.3" 455 | inherits "^2.0.1" 456 | safe-buffer "^5.0.1" 457 | 458 | browserify-cipher@^1.0.0: 459 | version "1.0.1" 460 | resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" 461 | dependencies: 462 | browserify-aes "^1.0.4" 463 | browserify-des "^1.0.0" 464 | evp_bytestokey "^1.0.0" 465 | 466 | browserify-des@^1.0.0: 467 | version "1.0.1" 468 | resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.1.tgz#3343124db6d7ad53e26a8826318712bdc8450f9c" 469 | dependencies: 470 | cipher-base "^1.0.1" 471 | des.js "^1.0.0" 472 | inherits "^2.0.1" 473 | 474 | browserify-rsa@^4.0.0: 475 | version "4.0.1" 476 | resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" 477 | dependencies: 478 | bn.js "^4.1.0" 479 | randombytes "^2.0.1" 480 | 481 | browserify-sign@^4.0.0: 482 | version "4.0.4" 483 | resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" 484 | dependencies: 485 | bn.js "^4.1.1" 486 | browserify-rsa "^4.0.0" 487 | create-hash "^1.1.0" 488 | create-hmac "^1.1.2" 489 | elliptic "^6.0.0" 490 | inherits "^2.0.1" 491 | parse-asn1 "^5.0.0" 492 | 493 | browserify-zlib@^0.2.0: 494 | version "0.2.0" 495 | resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" 496 | dependencies: 497 | pako "~1.0.5" 498 | 499 | buffer-from@^1.0.0: 500 | version "1.0.0" 501 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.0.0.tgz#4cb8832d23612589b0406e9e2956c17f06fdf531" 502 | 503 | buffer-xor@^1.0.3: 504 | version "1.0.3" 505 | resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" 506 | 507 | buffer@^4.3.0: 508 | version "4.9.1" 509 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" 510 | dependencies: 511 | base64-js "^1.0.2" 512 | ieee754 "^1.1.4" 513 | isarray "^1.0.0" 514 | 515 | builtin-modules@^1.0.0: 516 | version "1.1.1" 517 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" 518 | 519 | builtin-status-codes@^3.0.0: 520 | version "3.0.0" 521 | resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" 522 | 523 | cacache@^11.0.2: 524 | version "11.3.1" 525 | resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.1.tgz#d09d25f6c4aca7a6d305d141ae332613aa1d515f" 526 | integrity sha512-2PEw4cRRDu+iQvBTTuttQifacYjLPhET+SYO/gEFMy8uhi+jlJREDAjSF5FWSdV/Aw5h18caHA7vMTw2c+wDzA== 527 | dependencies: 528 | bluebird "^3.5.1" 529 | chownr "^1.0.1" 530 | figgy-pudding "^3.1.0" 531 | glob "^7.1.2" 532 | graceful-fs "^4.1.11" 533 | lru-cache "^4.1.3" 534 | mississippi "^3.0.0" 535 | mkdirp "^0.5.1" 536 | move-concurrently "^1.0.1" 537 | promise-inflight "^1.0.1" 538 | rimraf "^2.6.2" 539 | ssri "^6.0.0" 540 | unique-filename "^1.1.0" 541 | y18n "^4.0.0" 542 | 543 | cache-base@^1.0.1: 544 | version "1.0.1" 545 | resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" 546 | dependencies: 547 | collection-visit "^1.0.0" 548 | component-emitter "^1.2.1" 549 | get-value "^2.0.6" 550 | has-value "^1.0.0" 551 | isobject "^3.0.1" 552 | set-value "^2.0.0" 553 | to-object-path "^0.3.0" 554 | union-value "^1.0.0" 555 | unset-value "^1.0.0" 556 | 557 | caller-path@^0.1.0: 558 | version "0.1.0" 559 | resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" 560 | dependencies: 561 | callsites "^0.2.0" 562 | 563 | callsites@^0.2.0: 564 | version "0.2.0" 565 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" 566 | 567 | camel-case@3.0.x: 568 | version "3.0.0" 569 | resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" 570 | dependencies: 571 | no-case "^2.2.0" 572 | upper-case "^1.1.1" 573 | 574 | camelcase@^5.0.0: 575 | version "5.0.0" 576 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" 577 | integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA== 578 | 579 | chai@^4.2.0: 580 | version "4.2.0" 581 | resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5" 582 | integrity sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw== 583 | dependencies: 584 | assertion-error "^1.1.0" 585 | check-error "^1.0.2" 586 | deep-eql "^3.0.1" 587 | get-func-name "^2.0.0" 588 | pathval "^1.1.0" 589 | type-detect "^4.0.5" 590 | 591 | chalk@^1.1.3: 592 | version "1.1.3" 593 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 594 | dependencies: 595 | ansi-styles "^2.2.1" 596 | escape-string-regexp "^1.0.2" 597 | has-ansi "^2.0.0" 598 | strip-ansi "^3.0.0" 599 | supports-color "^2.0.0" 600 | 601 | chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.1: 602 | version "2.4.1" 603 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" 604 | dependencies: 605 | ansi-styles "^3.2.1" 606 | escape-string-regexp "^1.0.5" 607 | supports-color "^5.3.0" 608 | 609 | chardet@^0.7.0: 610 | version "0.7.0" 611 | resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" 612 | integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== 613 | 614 | check-error@^1.0.2: 615 | version "1.0.2" 616 | resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" 617 | integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= 618 | 619 | chokidar@^2.0.2: 620 | version "2.0.3" 621 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.3.tgz#dcbd4f6cbb2a55b4799ba8a840ac527e5f4b1176" 622 | dependencies: 623 | anymatch "^2.0.0" 624 | async-each "^1.0.0" 625 | braces "^2.3.0" 626 | glob-parent "^3.1.0" 627 | inherits "^2.0.1" 628 | is-binary-path "^1.0.0" 629 | is-glob "^4.0.0" 630 | normalize-path "^2.1.1" 631 | path-is-absolute "^1.0.0" 632 | readdirp "^2.0.0" 633 | upath "^1.0.0" 634 | optionalDependencies: 635 | fsevents "^1.1.2" 636 | 637 | chownr@^1.0.1: 638 | version "1.0.1" 639 | resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" 640 | 641 | chrome-trace-event@^1.0.0: 642 | version "1.0.0" 643 | resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz#45a91bd2c20c9411f0963b5aaeb9a1b95e09cc48" 644 | integrity sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A== 645 | dependencies: 646 | tslib "^1.9.0" 647 | 648 | cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: 649 | version "1.0.4" 650 | resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" 651 | dependencies: 652 | inherits "^2.0.1" 653 | safe-buffer "^5.0.1" 654 | 655 | circular-json@^0.3.1: 656 | version "0.3.3" 657 | resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" 658 | 659 | class-utils@^0.3.5: 660 | version "0.3.6" 661 | resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" 662 | dependencies: 663 | arr-union "^3.1.0" 664 | define-property "^0.2.5" 665 | isobject "^3.0.0" 666 | static-extend "^0.1.1" 667 | 668 | clean-css@4.1.x: 669 | version "4.1.11" 670 | resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.11.tgz#2ecdf145aba38f54740f26cefd0ff3e03e125d6a" 671 | dependencies: 672 | source-map "0.5.x" 673 | 674 | cli-cursor@^2.1.0: 675 | version "2.1.0" 676 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" 677 | dependencies: 678 | restore-cursor "^2.0.0" 679 | 680 | cli-width@^2.0.0: 681 | version "2.2.0" 682 | resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" 683 | 684 | cliui@^4.0.0: 685 | version "4.1.0" 686 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" 687 | dependencies: 688 | string-width "^2.1.1" 689 | strip-ansi "^4.0.0" 690 | wrap-ansi "^2.0.0" 691 | 692 | code-point-at@^1.0.0: 693 | version "1.1.0" 694 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 695 | 696 | collection-visit@^1.0.0: 697 | version "1.0.0" 698 | resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" 699 | dependencies: 700 | map-visit "^1.0.0" 701 | object-visit "^1.0.0" 702 | 703 | color-convert@^1.9.0: 704 | version "1.9.1" 705 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" 706 | dependencies: 707 | color-name "^1.1.1" 708 | 709 | color-name@^1.1.1: 710 | version "1.1.3" 711 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 712 | 713 | commander@2.15.1, commander@2.15.x, commander@~2.15.0: 714 | version "2.15.1" 715 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" 716 | 717 | commander@~2.17.1: 718 | version "2.17.1" 719 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" 720 | integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== 721 | 722 | commondir@^1.0.1: 723 | version "1.0.1" 724 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 725 | 726 | component-emitter@^1.2.1: 727 | version "1.2.1" 728 | resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" 729 | 730 | concat-map@0.0.1: 731 | version "0.0.1" 732 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 733 | 734 | concat-stream@^1.5.0: 735 | version "1.6.2" 736 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" 737 | dependencies: 738 | buffer-from "^1.0.0" 739 | inherits "^2.0.3" 740 | readable-stream "^2.2.2" 741 | typedarray "^0.0.6" 742 | 743 | console-browserify@^1.1.0: 744 | version "1.1.0" 745 | resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" 746 | dependencies: 747 | date-now "^0.1.4" 748 | 749 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 750 | version "1.1.0" 751 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 752 | 753 | constants-browserify@^1.0.0: 754 | version "1.0.0" 755 | resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" 756 | 757 | contains-path@^0.1.0: 758 | version "0.1.0" 759 | resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" 760 | 761 | copy-concurrently@^1.0.0: 762 | version "1.0.5" 763 | resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" 764 | dependencies: 765 | aproba "^1.1.1" 766 | fs-write-stream-atomic "^1.0.8" 767 | iferr "^0.1.5" 768 | mkdirp "^0.5.1" 769 | rimraf "^2.5.4" 770 | run-queue "^1.0.0" 771 | 772 | copy-descriptor@^0.1.0: 773 | version "0.1.1" 774 | resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" 775 | 776 | core-util-is@~1.0.0: 777 | version "1.0.2" 778 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 779 | 780 | create-ecdh@^4.0.0: 781 | version "4.0.3" 782 | resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" 783 | dependencies: 784 | bn.js "^4.1.0" 785 | elliptic "^6.0.0" 786 | 787 | create-hash@^1.1.0, create-hash@^1.1.2: 788 | version "1.2.0" 789 | resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" 790 | dependencies: 791 | cipher-base "^1.0.1" 792 | inherits "^2.0.1" 793 | md5.js "^1.3.4" 794 | ripemd160 "^2.0.1" 795 | sha.js "^2.4.0" 796 | 797 | create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: 798 | version "1.1.7" 799 | resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" 800 | dependencies: 801 | cipher-base "^1.0.3" 802 | create-hash "^1.1.0" 803 | inherits "^2.0.1" 804 | ripemd160 "^2.0.0" 805 | safe-buffer "^5.0.1" 806 | sha.js "^2.4.8" 807 | 808 | cross-spawn@^6.0.0, cross-spawn@^6.0.5: 809 | version "6.0.5" 810 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 811 | dependencies: 812 | nice-try "^1.0.4" 813 | path-key "^2.0.1" 814 | semver "^5.5.0" 815 | shebang-command "^1.2.0" 816 | which "^1.2.9" 817 | 818 | crypto-browserify@^3.11.0: 819 | version "3.12.0" 820 | resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" 821 | dependencies: 822 | browserify-cipher "^1.0.0" 823 | browserify-sign "^4.0.0" 824 | create-ecdh "^4.0.0" 825 | create-hash "^1.1.0" 826 | create-hmac "^1.1.0" 827 | diffie-hellman "^5.0.0" 828 | inherits "^2.0.1" 829 | pbkdf2 "^3.0.3" 830 | public-encrypt "^4.0.0" 831 | randombytes "^2.0.0" 832 | randomfill "^1.0.3" 833 | 834 | css-loader@^1.0.1: 835 | version "1.0.1" 836 | resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-1.0.1.tgz#6885bb5233b35ec47b006057da01cc640b6b79fe" 837 | integrity sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw== 838 | dependencies: 839 | babel-code-frame "^6.26.0" 840 | css-selector-tokenizer "^0.7.0" 841 | icss-utils "^2.1.0" 842 | loader-utils "^1.0.2" 843 | lodash "^4.17.11" 844 | postcss "^6.0.23" 845 | postcss-modules-extract-imports "^1.2.0" 846 | postcss-modules-local-by-default "^1.2.0" 847 | postcss-modules-scope "^1.1.0" 848 | postcss-modules-values "^1.3.0" 849 | postcss-value-parser "^3.3.0" 850 | source-list-map "^2.0.0" 851 | 852 | css-select@^1.1.0: 853 | version "1.2.0" 854 | resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" 855 | dependencies: 856 | boolbase "~1.0.0" 857 | css-what "2.1" 858 | domutils "1.5.1" 859 | nth-check "~1.0.1" 860 | 861 | css-selector-tokenizer@^0.7.0: 862 | version "0.7.0" 863 | resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz#e6988474ae8c953477bf5e7efecfceccd9cf4c86" 864 | dependencies: 865 | cssesc "^0.1.0" 866 | fastparse "^1.1.1" 867 | regexpu-core "^1.0.0" 868 | 869 | css-what@2.1: 870 | version "2.1.0" 871 | resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" 872 | 873 | cssesc@^0.1.0: 874 | version "0.1.0" 875 | resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" 876 | 877 | cyclist@~0.2.2: 878 | version "0.2.2" 879 | resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" 880 | 881 | date-now@^0.1.4: 882 | version "0.1.4" 883 | resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" 884 | 885 | debug@3.1.0: 886 | version "3.1.0" 887 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" 888 | dependencies: 889 | ms "2.0.0" 890 | 891 | debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: 892 | version "2.6.9" 893 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 894 | dependencies: 895 | ms "2.0.0" 896 | 897 | debug@^4.0.1: 898 | version "4.1.0" 899 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.0.tgz#373687bffa678b38b1cd91f861b63850035ddc87" 900 | integrity sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg== 901 | dependencies: 902 | ms "^2.1.1" 903 | 904 | decamelize@^1.2.0: 905 | version "1.2.0" 906 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 907 | integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= 908 | 909 | decode-uri-component@^0.2.0: 910 | version "0.2.0" 911 | resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" 912 | 913 | deep-eql@^3.0.1: 914 | version "3.0.1" 915 | resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" 916 | integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw== 917 | dependencies: 918 | type-detect "^4.0.0" 919 | 920 | deep-extend@^0.5.1: 921 | version "0.5.1" 922 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.5.1.tgz#b894a9dd90d3023fbf1c55a394fb858eb2066f1f" 923 | 924 | deep-is@~0.1.3: 925 | version "0.1.3" 926 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" 927 | 928 | define-properties@^1.1.2: 929 | version "1.1.2" 930 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" 931 | dependencies: 932 | foreach "^2.0.5" 933 | object-keys "^1.0.8" 934 | 935 | define-property@^0.2.5: 936 | version "0.2.5" 937 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" 938 | dependencies: 939 | is-descriptor "^0.1.0" 940 | 941 | define-property@^1.0.0: 942 | version "1.0.0" 943 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" 944 | dependencies: 945 | is-descriptor "^1.0.0" 946 | 947 | define-property@^2.0.2: 948 | version "2.0.2" 949 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" 950 | dependencies: 951 | is-descriptor "^1.0.2" 952 | isobject "^3.0.1" 953 | 954 | del@^2.0.2: 955 | version "2.2.2" 956 | resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" 957 | dependencies: 958 | globby "^5.0.0" 959 | is-path-cwd "^1.0.0" 960 | is-path-in-cwd "^1.0.0" 961 | object-assign "^4.0.1" 962 | pify "^2.0.0" 963 | pinkie-promise "^2.0.0" 964 | rimraf "^2.2.8" 965 | 966 | delegates@^1.0.0: 967 | version "1.0.0" 968 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 969 | 970 | des.js@^1.0.0: 971 | version "1.0.0" 972 | resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" 973 | dependencies: 974 | inherits "^2.0.1" 975 | minimalistic-assert "^1.0.0" 976 | 977 | detect-libc@^1.0.2: 978 | version "1.0.3" 979 | resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" 980 | 981 | diff@3.5.0, diff@^3.5.0: 982 | version "3.5.0" 983 | resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" 984 | 985 | diffie-hellman@^5.0.0: 986 | version "5.0.3" 987 | resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" 988 | dependencies: 989 | bn.js "^4.1.0" 990 | miller-rabin "^4.0.0" 991 | randombytes "^2.0.0" 992 | 993 | doctrine@1.5.0: 994 | version "1.5.0" 995 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" 996 | dependencies: 997 | esutils "^2.0.2" 998 | isarray "^1.0.0" 999 | 1000 | doctrine@^2.1.0: 1001 | version "2.1.0" 1002 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" 1003 | dependencies: 1004 | esutils "^2.0.2" 1005 | 1006 | dom-converter@~0.1: 1007 | version "0.1.4" 1008 | resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.1.4.tgz#a45ef5727b890c9bffe6d7c876e7b19cb0e17f3b" 1009 | dependencies: 1010 | utila "~0.3" 1011 | 1012 | dom-serializer@0: 1013 | version "0.1.0" 1014 | resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" 1015 | dependencies: 1016 | domelementtype "~1.1.1" 1017 | entities "~1.1.1" 1018 | 1019 | domain-browser@^1.1.1: 1020 | version "1.2.0" 1021 | resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" 1022 | 1023 | domelementtype@1: 1024 | version "1.3.0" 1025 | resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" 1026 | 1027 | domelementtype@~1.1.1: 1028 | version "1.1.3" 1029 | resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" 1030 | 1031 | domhandler@2.1: 1032 | version "2.1.0" 1033 | resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.1.0.tgz#d2646f5e57f6c3bab11cf6cb05d3c0acf7412594" 1034 | dependencies: 1035 | domelementtype "1" 1036 | 1037 | domutils@1.1: 1038 | version "1.1.6" 1039 | resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.1.6.tgz#bddc3de099b9a2efacc51c623f28f416ecc57485" 1040 | dependencies: 1041 | domelementtype "1" 1042 | 1043 | domutils@1.5.1: 1044 | version "1.5.1" 1045 | resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" 1046 | dependencies: 1047 | dom-serializer "0" 1048 | domelementtype "1" 1049 | 1050 | duplexify@^3.4.2, duplexify@^3.6.0: 1051 | version "3.6.0" 1052 | resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.6.0.tgz#592903f5d80b38d037220541264d69a198fb3410" 1053 | dependencies: 1054 | end-of-stream "^1.0.0" 1055 | inherits "^2.0.1" 1056 | readable-stream "^2.0.0" 1057 | stream-shift "^1.0.0" 1058 | 1059 | elliptic@^6.0.0: 1060 | version "6.4.0" 1061 | resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" 1062 | dependencies: 1063 | bn.js "^4.4.0" 1064 | brorand "^1.0.1" 1065 | hash.js "^1.0.0" 1066 | hmac-drbg "^1.0.0" 1067 | inherits "^2.0.1" 1068 | minimalistic-assert "^1.0.0" 1069 | minimalistic-crypto-utils "^1.0.0" 1070 | 1071 | emojis-list@^2.0.0: 1072 | version "2.1.0" 1073 | resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" 1074 | 1075 | end-of-stream@^1.0.0, end-of-stream@^1.1.0: 1076 | version "1.4.1" 1077 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" 1078 | dependencies: 1079 | once "^1.4.0" 1080 | 1081 | enhanced-resolve@^4.1.0: 1082 | version "4.1.0" 1083 | resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" 1084 | integrity sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng== 1085 | dependencies: 1086 | graceful-fs "^4.1.2" 1087 | memory-fs "^0.4.0" 1088 | tapable "^1.0.0" 1089 | 1090 | entities@~1.1.1: 1091 | version "1.1.1" 1092 | resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" 1093 | 1094 | errno@^0.1.3, errno@~0.1.7: 1095 | version "0.1.7" 1096 | resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" 1097 | dependencies: 1098 | prr "~1.0.1" 1099 | 1100 | error-ex@^1.2.0: 1101 | version "1.3.1" 1102 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" 1103 | dependencies: 1104 | is-arrayish "^0.2.1" 1105 | 1106 | es-abstract@^1.5.1: 1107 | version "1.11.0" 1108 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.11.0.tgz#cce87d518f0496893b1a30cd8461835535480681" 1109 | dependencies: 1110 | es-to-primitive "^1.1.1" 1111 | function-bind "^1.1.1" 1112 | has "^1.0.1" 1113 | is-callable "^1.1.3" 1114 | is-regex "^1.0.4" 1115 | 1116 | es-abstract@^1.6.1: 1117 | version "1.12.0" 1118 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165" 1119 | integrity sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA== 1120 | dependencies: 1121 | es-to-primitive "^1.1.1" 1122 | function-bind "^1.1.1" 1123 | has "^1.0.1" 1124 | is-callable "^1.1.3" 1125 | is-regex "^1.0.4" 1126 | 1127 | es-to-primitive@^1.1.1: 1128 | version "1.1.1" 1129 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" 1130 | dependencies: 1131 | is-callable "^1.1.1" 1132 | is-date-object "^1.0.1" 1133 | is-symbol "^1.0.1" 1134 | 1135 | escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: 1136 | version "1.0.5" 1137 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1138 | 1139 | eslint-config-airbnb-base@^13.1.0: 1140 | version "13.1.0" 1141 | resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.1.0.tgz#b5a1b480b80dfad16433d6c4ad84e6605052c05c" 1142 | integrity sha512-XWwQtf3U3zIoKO1BbHh6aUhJZQweOwSt4c2JrPDg9FP3Ltv3+YfEv7jIDB8275tVnO/qOHbfuYg3kzw6Je7uWw== 1143 | dependencies: 1144 | eslint-restricted-globals "^0.1.1" 1145 | object.assign "^4.1.0" 1146 | object.entries "^1.0.4" 1147 | 1148 | eslint-config-prettier@^3.3.0: 1149 | version "3.3.0" 1150 | resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-3.3.0.tgz#41afc8d3b852e757f06274ed6c44ca16f939a57d" 1151 | integrity sha512-Bc3bh5bAcKNvs3HOpSi6EfGA2IIp7EzWcg2tS4vP7stnXu/J1opihHDM7jI9JCIckyIDTgZLSWn7J3HY0j2JfA== 1152 | dependencies: 1153 | get-stdin "^6.0.0" 1154 | 1155 | eslint-import-resolver-node@^0.3.1: 1156 | version "0.3.2" 1157 | resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a" 1158 | dependencies: 1159 | debug "^2.6.9" 1160 | resolve "^1.5.0" 1161 | 1162 | eslint-module-utils@^2.2.0: 1163 | version "2.2.0" 1164 | resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz#b270362cd88b1a48ad308976ce7fa54e98411746" 1165 | dependencies: 1166 | debug "^2.6.8" 1167 | pkg-dir "^1.0.0" 1168 | 1169 | eslint-plugin-import@^2.14.0: 1170 | version "2.14.0" 1171 | resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.14.0.tgz#6b17626d2e3e6ad52cfce8807a845d15e22111a8" 1172 | integrity sha512-FpuRtniD/AY6sXByma2Wr0TXvXJ4nA/2/04VPlfpmUDPOpOY264x+ILiwnrk/k4RINgDAyFZByxqPUbSQ5YE7g== 1173 | dependencies: 1174 | contains-path "^0.1.0" 1175 | debug "^2.6.8" 1176 | doctrine "1.5.0" 1177 | eslint-import-resolver-node "^0.3.1" 1178 | eslint-module-utils "^2.2.0" 1179 | has "^1.0.1" 1180 | lodash "^4.17.4" 1181 | minimatch "^3.0.3" 1182 | read-pkg-up "^2.0.0" 1183 | resolve "^1.6.0" 1184 | 1185 | eslint-plugin-mocha@^5.2.0: 1186 | version "5.2.0" 1187 | resolved "https://registry.yarnpkg.com/eslint-plugin-mocha/-/eslint-plugin-mocha-5.2.0.tgz#d8786d9fff8cb8b5f6e4b61e40395d6568a5c4e2" 1188 | integrity sha512-4VTX/qIoxUFRnXLNm6bEhEJyfGnGagmQzV4TWXKzkZgIYyP2FSubEdCjEFTyS/dGwSVRWCWGX7jO7BK8R0kppg== 1189 | dependencies: 1190 | ramda "^0.25.0" 1191 | 1192 | eslint-plugin-prettier@^3.0.0: 1193 | version "3.0.0" 1194 | resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.0.0.tgz#f6b823e065f8c36529918cdb766d7a0e975ec30c" 1195 | integrity sha512-4g11opzhqq/8+AMmo5Vc2Gn7z9alZ4JqrbZ+D4i8KlSyxeQhZHlmIrY8U9Akf514MoEhogPa87Jgkq87aZ2Ohw== 1196 | dependencies: 1197 | prettier-linter-helpers "^1.0.0" 1198 | 1199 | eslint-restricted-globals@^0.1.1: 1200 | version "0.1.1" 1201 | resolved "https://registry.yarnpkg.com/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz#35f0d5cbc64c2e3ed62e93b4b1a7af05ba7ed4d7" 1202 | 1203 | eslint-scope@^4.0.0: 1204 | version "4.0.0" 1205 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz#50bf3071e9338bcdc43331794a0cb533f0136172" 1206 | integrity sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA== 1207 | dependencies: 1208 | esrecurse "^4.1.0" 1209 | estraverse "^4.1.1" 1210 | 1211 | eslint-utils@^1.3.1: 1212 | version "1.3.1" 1213 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512" 1214 | integrity sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q== 1215 | 1216 | eslint-visitor-keys@^1.0.0: 1217 | version "1.0.0" 1218 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" 1219 | 1220 | eslint@^5.9.0: 1221 | version "5.9.0" 1222 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.9.0.tgz#b234b6d15ef84b5849c6de2af43195a2d59d408e" 1223 | integrity sha512-g4KWpPdqN0nth+goDNICNXGfJF7nNnepthp46CAlJoJtC5K/cLu3NgCM3AHu1CkJ5Hzt9V0Y0PBAO6Ay/gGb+w== 1224 | dependencies: 1225 | "@babel/code-frame" "^7.0.0" 1226 | ajv "^6.5.3" 1227 | chalk "^2.1.0" 1228 | cross-spawn "^6.0.5" 1229 | debug "^4.0.1" 1230 | doctrine "^2.1.0" 1231 | eslint-scope "^4.0.0" 1232 | eslint-utils "^1.3.1" 1233 | eslint-visitor-keys "^1.0.0" 1234 | espree "^4.0.0" 1235 | esquery "^1.0.1" 1236 | esutils "^2.0.2" 1237 | file-entry-cache "^2.0.0" 1238 | functional-red-black-tree "^1.0.1" 1239 | glob "^7.1.2" 1240 | globals "^11.7.0" 1241 | ignore "^4.0.6" 1242 | imurmurhash "^0.1.4" 1243 | inquirer "^6.1.0" 1244 | is-resolvable "^1.1.0" 1245 | js-yaml "^3.12.0" 1246 | json-stable-stringify-without-jsonify "^1.0.1" 1247 | levn "^0.3.0" 1248 | lodash "^4.17.5" 1249 | minimatch "^3.0.4" 1250 | mkdirp "^0.5.1" 1251 | natural-compare "^1.4.0" 1252 | optionator "^0.8.2" 1253 | path-is-inside "^1.0.2" 1254 | pluralize "^7.0.0" 1255 | progress "^2.0.0" 1256 | regexpp "^2.0.1" 1257 | require-uncached "^1.0.3" 1258 | semver "^5.5.1" 1259 | strip-ansi "^4.0.0" 1260 | strip-json-comments "^2.0.1" 1261 | table "^5.0.2" 1262 | text-table "^0.2.0" 1263 | 1264 | espree@^4.0.0: 1265 | version "4.1.0" 1266 | resolved "https://registry.yarnpkg.com/espree/-/espree-4.1.0.tgz#728d5451e0fd156c04384a7ad89ed51ff54eb25f" 1267 | integrity sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w== 1268 | dependencies: 1269 | acorn "^6.0.2" 1270 | acorn-jsx "^5.0.0" 1271 | eslint-visitor-keys "^1.0.0" 1272 | 1273 | esprima@^4.0.0: 1274 | version "4.0.0" 1275 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" 1276 | 1277 | esquery@^1.0.1: 1278 | version "1.0.1" 1279 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" 1280 | integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== 1281 | dependencies: 1282 | estraverse "^4.0.0" 1283 | 1284 | esrecurse@^4.1.0: 1285 | version "4.2.1" 1286 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" 1287 | dependencies: 1288 | estraverse "^4.1.0" 1289 | 1290 | estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: 1291 | version "4.2.0" 1292 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" 1293 | 1294 | esutils@^2.0.2: 1295 | version "2.0.2" 1296 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 1297 | 1298 | events@^1.0.0: 1299 | version "1.1.1" 1300 | resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" 1301 | 1302 | evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: 1303 | version "1.0.3" 1304 | resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" 1305 | dependencies: 1306 | md5.js "^1.3.4" 1307 | safe-buffer "^5.1.1" 1308 | 1309 | execa@^0.10.0: 1310 | version "0.10.0" 1311 | resolved "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz#ff456a8f53f90f8eccc71a96d11bdfc7f082cb50" 1312 | integrity sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw== 1313 | dependencies: 1314 | cross-spawn "^6.0.0" 1315 | get-stream "^3.0.0" 1316 | is-stream "^1.1.0" 1317 | npm-run-path "^2.0.0" 1318 | p-finally "^1.0.0" 1319 | signal-exit "^3.0.0" 1320 | strip-eof "^1.0.0" 1321 | 1322 | expand-brackets@^2.1.4: 1323 | version "2.1.4" 1324 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" 1325 | dependencies: 1326 | debug "^2.3.3" 1327 | define-property "^0.2.5" 1328 | extend-shallow "^2.0.1" 1329 | posix-character-classes "^0.1.0" 1330 | regex-not "^1.0.0" 1331 | snapdragon "^0.8.1" 1332 | to-regex "^3.0.1" 1333 | 1334 | extend-shallow@^2.0.1: 1335 | version "2.0.1" 1336 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" 1337 | dependencies: 1338 | is-extendable "^0.1.0" 1339 | 1340 | extend-shallow@^3.0.0, extend-shallow@^3.0.2: 1341 | version "3.0.2" 1342 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" 1343 | dependencies: 1344 | assign-symbols "^1.0.0" 1345 | is-extendable "^1.0.1" 1346 | 1347 | external-editor@^3.0.0: 1348 | version "3.0.3" 1349 | resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" 1350 | integrity sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA== 1351 | dependencies: 1352 | chardet "^0.7.0" 1353 | iconv-lite "^0.4.24" 1354 | tmp "^0.0.33" 1355 | 1356 | extglob@^2.0.4: 1357 | version "2.0.4" 1358 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" 1359 | dependencies: 1360 | array-unique "^0.3.2" 1361 | define-property "^1.0.0" 1362 | expand-brackets "^2.1.4" 1363 | extend-shallow "^2.0.1" 1364 | fragment-cache "^0.2.1" 1365 | regex-not "^1.0.0" 1366 | snapdragon "^0.8.1" 1367 | to-regex "^3.0.1" 1368 | 1369 | fast-deep-equal@^1.0.0: 1370 | version "1.1.0" 1371 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" 1372 | 1373 | fast-deep-equal@^2.0.1: 1374 | version "2.0.1" 1375 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" 1376 | integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= 1377 | 1378 | fast-diff@^1.1.2: 1379 | version "1.2.0" 1380 | resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" 1381 | integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== 1382 | 1383 | fast-json-stable-stringify@^2.0.0: 1384 | version "2.0.0" 1385 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" 1386 | 1387 | fast-levenshtein@~2.0.4: 1388 | version "2.0.6" 1389 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 1390 | 1391 | fastparse@^1.1.1: 1392 | version "1.1.1" 1393 | resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" 1394 | 1395 | figgy-pudding@^3.1.0, figgy-pudding@^3.5.1: 1396 | version "3.5.1" 1397 | resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" 1398 | integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== 1399 | 1400 | figures@^2.0.0: 1401 | version "2.0.0" 1402 | resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" 1403 | dependencies: 1404 | escape-string-regexp "^1.0.5" 1405 | 1406 | file-entry-cache@^2.0.0: 1407 | version "2.0.0" 1408 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" 1409 | dependencies: 1410 | flat-cache "^1.2.1" 1411 | object-assign "^4.0.1" 1412 | 1413 | fill-range@^4.0.0: 1414 | version "4.0.0" 1415 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" 1416 | dependencies: 1417 | extend-shallow "^2.0.1" 1418 | is-number "^3.0.0" 1419 | repeat-string "^1.6.1" 1420 | to-regex-range "^2.1.0" 1421 | 1422 | find-cache-dir@^2.0.0: 1423 | version "2.0.0" 1424 | resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.0.0.tgz#4c1faed59f45184530fb9d7fa123a4d04a98472d" 1425 | integrity sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA== 1426 | dependencies: 1427 | commondir "^1.0.1" 1428 | make-dir "^1.0.0" 1429 | pkg-dir "^3.0.0" 1430 | 1431 | find-up@^1.0.0: 1432 | version "1.1.2" 1433 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" 1434 | dependencies: 1435 | path-exists "^2.0.0" 1436 | pinkie-promise "^2.0.0" 1437 | 1438 | find-up@^2.0.0: 1439 | version "2.1.0" 1440 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" 1441 | dependencies: 1442 | locate-path "^2.0.0" 1443 | 1444 | find-up@^3.0.0: 1445 | version "3.0.0" 1446 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" 1447 | integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== 1448 | dependencies: 1449 | locate-path "^3.0.0" 1450 | 1451 | flat-cache@^1.2.1: 1452 | version "1.3.0" 1453 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481" 1454 | dependencies: 1455 | circular-json "^0.3.1" 1456 | del "^2.0.2" 1457 | graceful-fs "^4.1.2" 1458 | write "^0.2.1" 1459 | 1460 | flush-write-stream@^1.0.0: 1461 | version "1.0.3" 1462 | resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.3.tgz#c5d586ef38af6097650b49bc41b55fabb19f35bd" 1463 | dependencies: 1464 | inherits "^2.0.1" 1465 | readable-stream "^2.0.4" 1466 | 1467 | for-in@^1.0.2: 1468 | version "1.0.2" 1469 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" 1470 | 1471 | foreach@^2.0.5: 1472 | version "2.0.5" 1473 | resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" 1474 | 1475 | fragment-cache@^0.2.1: 1476 | version "0.2.1" 1477 | resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" 1478 | dependencies: 1479 | map-cache "^0.2.2" 1480 | 1481 | from2@^2.1.0: 1482 | version "2.3.0" 1483 | resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" 1484 | dependencies: 1485 | inherits "^2.0.1" 1486 | readable-stream "^2.0.0" 1487 | 1488 | fs-minipass@^1.2.5: 1489 | version "1.2.5" 1490 | resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" 1491 | dependencies: 1492 | minipass "^2.2.1" 1493 | 1494 | fs-write-stream-atomic@^1.0.8: 1495 | version "1.0.10" 1496 | resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" 1497 | dependencies: 1498 | graceful-fs "^4.1.2" 1499 | iferr "^0.1.5" 1500 | imurmurhash "^0.1.4" 1501 | readable-stream "1 || 2" 1502 | 1503 | fs.realpath@^1.0.0: 1504 | version "1.0.0" 1505 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1506 | 1507 | fsevents@^1.1.2: 1508 | version "1.2.3" 1509 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.3.tgz#08292982e7059f6674c93d8b829c1e8604979ac0" 1510 | dependencies: 1511 | nan "^2.9.2" 1512 | node-pre-gyp "^0.9.0" 1513 | 1514 | function-bind@^1.0.2, function-bind@^1.1.0, function-bind@^1.1.1: 1515 | version "1.1.1" 1516 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1517 | 1518 | functional-red-black-tree@^1.0.1: 1519 | version "1.0.1" 1520 | resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" 1521 | 1522 | gauge@~2.7.3: 1523 | version "2.7.4" 1524 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" 1525 | dependencies: 1526 | aproba "^1.0.3" 1527 | console-control-strings "^1.0.0" 1528 | has-unicode "^2.0.0" 1529 | object-assign "^4.1.0" 1530 | signal-exit "^3.0.0" 1531 | string-width "^1.0.1" 1532 | strip-ansi "^3.0.1" 1533 | wide-align "^1.1.0" 1534 | 1535 | get-caller-file@^1.0.1: 1536 | version "1.0.2" 1537 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" 1538 | 1539 | get-func-name@^2.0.0: 1540 | version "2.0.0" 1541 | resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" 1542 | 1543 | get-stdin@^6.0.0: 1544 | version "6.0.0" 1545 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" 1546 | integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== 1547 | 1548 | get-stream@^3.0.0: 1549 | version "3.0.0" 1550 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" 1551 | 1552 | get-value@^2.0.3, get-value@^2.0.6: 1553 | version "2.0.6" 1554 | resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" 1555 | 1556 | glob-parent@^3.1.0: 1557 | version "3.1.0" 1558 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" 1559 | dependencies: 1560 | is-glob "^3.1.0" 1561 | path-dirname "^1.0.0" 1562 | 1563 | glob@7.1.2, glob@^7.0.3, glob@^7.0.5, glob@^7.1.2: 1564 | version "7.1.2" 1565 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" 1566 | dependencies: 1567 | fs.realpath "^1.0.0" 1568 | inflight "^1.0.4" 1569 | inherits "2" 1570 | minimatch "^3.0.4" 1571 | once "^1.3.0" 1572 | path-is-absolute "^1.0.0" 1573 | 1574 | global-modules-path@^2.3.0: 1575 | version "2.3.0" 1576 | resolved "https://registry.yarnpkg.com/global-modules-path/-/global-modules-path-2.3.0.tgz#b0e2bac6beac39745f7db5c59d26a36a0b94f7dc" 1577 | integrity sha512-HchvMJNYh9dGSCy8pOQ2O8u/hoXaL+0XhnrwH0RyLiSXMMTl9W3N6KUU73+JFOg5PGjtzl6VZzUQsnrpm7Szag== 1578 | 1579 | globals@^11.7.0: 1580 | version "11.9.0" 1581 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.9.0.tgz#bde236808e987f290768a93d065060d78e6ab249" 1582 | integrity sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg== 1583 | 1584 | globby@^5.0.0: 1585 | version "5.0.0" 1586 | resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" 1587 | dependencies: 1588 | array-union "^1.0.1" 1589 | arrify "^1.0.0" 1590 | glob "^7.0.3" 1591 | object-assign "^4.0.1" 1592 | pify "^2.0.0" 1593 | pinkie-promise "^2.0.0" 1594 | 1595 | graceful-fs@^4.1.11, graceful-fs@^4.1.2: 1596 | version "4.1.11" 1597 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" 1598 | 1599 | growl@1.10.5: 1600 | version "1.10.5" 1601 | resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" 1602 | integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== 1603 | 1604 | has-ansi@^2.0.0: 1605 | version "2.0.0" 1606 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 1607 | dependencies: 1608 | ansi-regex "^2.0.0" 1609 | 1610 | has-flag@^3.0.0: 1611 | version "3.0.0" 1612 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1613 | 1614 | has-symbols@^1.0.0: 1615 | version "1.0.0" 1616 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" 1617 | integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= 1618 | 1619 | has-unicode@^2.0.0: 1620 | version "2.0.1" 1621 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 1622 | 1623 | has-value@^0.3.1: 1624 | version "0.3.1" 1625 | resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" 1626 | dependencies: 1627 | get-value "^2.0.3" 1628 | has-values "^0.1.4" 1629 | isobject "^2.0.0" 1630 | 1631 | has-value@^1.0.0: 1632 | version "1.0.0" 1633 | resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" 1634 | dependencies: 1635 | get-value "^2.0.6" 1636 | has-values "^1.0.0" 1637 | isobject "^3.0.0" 1638 | 1639 | has-values@^0.1.4: 1640 | version "0.1.4" 1641 | resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" 1642 | 1643 | has-values@^1.0.0: 1644 | version "1.0.0" 1645 | resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" 1646 | dependencies: 1647 | is-number "^3.0.0" 1648 | kind-of "^4.0.0" 1649 | 1650 | has@^1.0.1: 1651 | version "1.0.1" 1652 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" 1653 | dependencies: 1654 | function-bind "^1.0.2" 1655 | 1656 | hash-base@^3.0.0: 1657 | version "3.0.4" 1658 | resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" 1659 | dependencies: 1660 | inherits "^2.0.1" 1661 | safe-buffer "^5.0.1" 1662 | 1663 | hash.js@^1.0.0, hash.js@^1.0.3: 1664 | version "1.1.3" 1665 | resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" 1666 | dependencies: 1667 | inherits "^2.0.3" 1668 | minimalistic-assert "^1.0.0" 1669 | 1670 | he@1.1.1, he@1.1.x: 1671 | version "1.1.1" 1672 | resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" 1673 | 1674 | hmac-drbg@^1.0.0: 1675 | version "1.0.1" 1676 | resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" 1677 | dependencies: 1678 | hash.js "^1.0.3" 1679 | minimalistic-assert "^1.0.0" 1680 | minimalistic-crypto-utils "^1.0.1" 1681 | 1682 | hosted-git-info@^2.1.4: 1683 | version "2.6.0" 1684 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.6.0.tgz#23235b29ab230c576aab0d4f13fc046b0b038222" 1685 | 1686 | html-minifier@^3.2.3: 1687 | version "3.5.15" 1688 | resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.15.tgz#f869848d4543cbfd84f26d5514a2a87cbf9a05e0" 1689 | dependencies: 1690 | camel-case "3.0.x" 1691 | clean-css "4.1.x" 1692 | commander "2.15.x" 1693 | he "1.1.x" 1694 | param-case "2.1.x" 1695 | relateurl "0.2.x" 1696 | uglify-js "3.3.x" 1697 | 1698 | html-webpack-plugin@^3.0.6: 1699 | version "3.2.0" 1700 | resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz#b01abbd723acaaa7b37b6af4492ebda03d9dd37b" 1701 | dependencies: 1702 | html-minifier "^3.2.3" 1703 | loader-utils "^0.2.16" 1704 | lodash "^4.17.3" 1705 | pretty-error "^2.0.2" 1706 | tapable "^1.0.0" 1707 | toposort "^1.0.0" 1708 | util.promisify "1.0.0" 1709 | 1710 | htmlparser2@~3.3.0: 1711 | version "3.3.0" 1712 | resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.3.0.tgz#cc70d05a59f6542e43f0e685c982e14c924a9efe" 1713 | dependencies: 1714 | domelementtype "1" 1715 | domhandler "2.1" 1716 | domutils "1.1" 1717 | readable-stream "1.0" 1718 | 1719 | https-browserify@^1.0.0: 1720 | version "1.0.0" 1721 | resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" 1722 | 1723 | iconv-lite@^0.4.24: 1724 | version "0.4.24" 1725 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 1726 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 1727 | dependencies: 1728 | safer-buffer ">= 2.1.2 < 3" 1729 | 1730 | iconv-lite@^0.4.4: 1731 | version "0.4.22" 1732 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.22.tgz#c6b16b9d05bc6c307dc9303a820412995d2eea95" 1733 | dependencies: 1734 | safer-buffer ">= 2.1.2 < 3" 1735 | 1736 | icss-replace-symbols@^1.1.0: 1737 | version "1.1.0" 1738 | resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" 1739 | 1740 | icss-utils@^2.1.0: 1741 | version "2.1.0" 1742 | resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-2.1.0.tgz#83f0a0ec378bf3246178b6c2ad9136f135b1c962" 1743 | dependencies: 1744 | postcss "^6.0.1" 1745 | 1746 | ieee754@^1.1.4: 1747 | version "1.1.11" 1748 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.11.tgz#c16384ffe00f5b7835824e67b6f2bd44a5229455" 1749 | 1750 | iferr@^0.1.5: 1751 | version "0.1.5" 1752 | resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" 1753 | 1754 | ignore-walk@^3.0.1: 1755 | version "3.0.1" 1756 | resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" 1757 | dependencies: 1758 | minimatch "^3.0.4" 1759 | 1760 | ignore@^4.0.6: 1761 | version "4.0.6" 1762 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" 1763 | integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== 1764 | 1765 | import-local@^2.0.0: 1766 | version "2.0.0" 1767 | resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" 1768 | integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== 1769 | dependencies: 1770 | pkg-dir "^3.0.0" 1771 | resolve-cwd "^2.0.0" 1772 | 1773 | imurmurhash@^0.1.4: 1774 | version "0.1.4" 1775 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1776 | 1777 | indexof@0.0.1: 1778 | version "0.0.1" 1779 | resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" 1780 | 1781 | inflight@^1.0.4: 1782 | version "1.0.6" 1783 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1784 | dependencies: 1785 | once "^1.3.0" 1786 | wrappy "1" 1787 | 1788 | inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: 1789 | version "2.0.3" 1790 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 1791 | 1792 | inherits@2.0.1: 1793 | version "2.0.1" 1794 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" 1795 | 1796 | ini@~1.3.0: 1797 | version "1.3.5" 1798 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" 1799 | 1800 | inquirer@^6.1.0: 1801 | version "6.2.0" 1802 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.0.tgz#51adcd776f661369dc1e894859c2560a224abdd8" 1803 | integrity sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg== 1804 | dependencies: 1805 | ansi-escapes "^3.0.0" 1806 | chalk "^2.0.0" 1807 | cli-cursor "^2.1.0" 1808 | cli-width "^2.0.0" 1809 | external-editor "^3.0.0" 1810 | figures "^2.0.0" 1811 | lodash "^4.17.10" 1812 | mute-stream "0.0.7" 1813 | run-async "^2.2.0" 1814 | rxjs "^6.1.0" 1815 | string-width "^2.1.0" 1816 | strip-ansi "^4.0.0" 1817 | through "^2.3.6" 1818 | 1819 | interpret@^1.1.0: 1820 | version "1.1.0" 1821 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" 1822 | integrity sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ= 1823 | 1824 | invert-kv@^2.0.0: 1825 | version "2.0.0" 1826 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" 1827 | integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== 1828 | 1829 | is-accessor-descriptor@^0.1.6: 1830 | version "0.1.6" 1831 | resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" 1832 | dependencies: 1833 | kind-of "^3.0.2" 1834 | 1835 | is-accessor-descriptor@^1.0.0: 1836 | version "1.0.0" 1837 | resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" 1838 | dependencies: 1839 | kind-of "^6.0.0" 1840 | 1841 | is-arrayish@^0.2.1: 1842 | version "0.2.1" 1843 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1844 | 1845 | is-binary-path@^1.0.0: 1846 | version "1.0.1" 1847 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" 1848 | dependencies: 1849 | binary-extensions "^1.0.0" 1850 | 1851 | is-buffer@^1.1.5: 1852 | version "1.1.6" 1853 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" 1854 | 1855 | is-builtin-module@^1.0.0: 1856 | version "1.0.0" 1857 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" 1858 | dependencies: 1859 | builtin-modules "^1.0.0" 1860 | 1861 | is-callable@^1.1.1, is-callable@^1.1.3: 1862 | version "1.1.3" 1863 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" 1864 | 1865 | is-data-descriptor@^0.1.4: 1866 | version "0.1.4" 1867 | resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" 1868 | dependencies: 1869 | kind-of "^3.0.2" 1870 | 1871 | is-data-descriptor@^1.0.0: 1872 | version "1.0.0" 1873 | resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" 1874 | dependencies: 1875 | kind-of "^6.0.0" 1876 | 1877 | is-date-object@^1.0.1: 1878 | version "1.0.1" 1879 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" 1880 | 1881 | is-descriptor@^0.1.0: 1882 | version "0.1.6" 1883 | resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" 1884 | dependencies: 1885 | is-accessor-descriptor "^0.1.6" 1886 | is-data-descriptor "^0.1.4" 1887 | kind-of "^5.0.0" 1888 | 1889 | is-descriptor@^1.0.0, is-descriptor@^1.0.2: 1890 | version "1.0.2" 1891 | resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" 1892 | dependencies: 1893 | is-accessor-descriptor "^1.0.0" 1894 | is-data-descriptor "^1.0.0" 1895 | kind-of "^6.0.2" 1896 | 1897 | is-extendable@^0.1.0, is-extendable@^0.1.1: 1898 | version "0.1.1" 1899 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 1900 | 1901 | is-extendable@^1.0.1: 1902 | version "1.0.1" 1903 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" 1904 | dependencies: 1905 | is-plain-object "^2.0.4" 1906 | 1907 | is-extglob@^2.1.0, is-extglob@^2.1.1: 1908 | version "2.1.1" 1909 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1910 | 1911 | is-fullwidth-code-point@^1.0.0: 1912 | version "1.0.0" 1913 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 1914 | dependencies: 1915 | number-is-nan "^1.0.0" 1916 | 1917 | is-fullwidth-code-point@^2.0.0: 1918 | version "2.0.0" 1919 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 1920 | 1921 | is-glob@^3.1.0: 1922 | version "3.1.0" 1923 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" 1924 | dependencies: 1925 | is-extglob "^2.1.0" 1926 | 1927 | is-glob@^4.0.0: 1928 | version "4.0.0" 1929 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" 1930 | dependencies: 1931 | is-extglob "^2.1.1" 1932 | 1933 | is-number@^3.0.0: 1934 | version "3.0.0" 1935 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" 1936 | dependencies: 1937 | kind-of "^3.0.2" 1938 | 1939 | is-number@^4.0.0: 1940 | version "4.0.0" 1941 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" 1942 | 1943 | is-odd@^2.0.0: 1944 | version "2.0.0" 1945 | resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-2.0.0.tgz#7646624671fd7ea558ccd9a2795182f2958f1b24" 1946 | dependencies: 1947 | is-number "^4.0.0" 1948 | 1949 | is-path-cwd@^1.0.0: 1950 | version "1.0.0" 1951 | resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" 1952 | 1953 | is-path-in-cwd@^1.0.0: 1954 | version "1.0.1" 1955 | resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" 1956 | dependencies: 1957 | is-path-inside "^1.0.0" 1958 | 1959 | is-path-inside@^1.0.0: 1960 | version "1.0.1" 1961 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" 1962 | dependencies: 1963 | path-is-inside "^1.0.1" 1964 | 1965 | is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: 1966 | version "2.0.4" 1967 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" 1968 | dependencies: 1969 | isobject "^3.0.1" 1970 | 1971 | is-promise@^2.1.0: 1972 | version "2.1.0" 1973 | resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" 1974 | 1975 | is-regex@^1.0.4: 1976 | version "1.0.4" 1977 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" 1978 | dependencies: 1979 | has "^1.0.1" 1980 | 1981 | is-resolvable@^1.1.0: 1982 | version "1.1.0" 1983 | resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" 1984 | integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== 1985 | 1986 | is-stream@^1.1.0: 1987 | version "1.1.0" 1988 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 1989 | 1990 | is-symbol@^1.0.1: 1991 | version "1.0.1" 1992 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" 1993 | 1994 | is-windows@^1.0.2: 1995 | version "1.0.2" 1996 | resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" 1997 | 1998 | isarray@0.0.1: 1999 | version "0.0.1" 2000 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" 2001 | 2002 | isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: 2003 | version "1.0.0" 2004 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 2005 | 2006 | isexe@^2.0.0: 2007 | version "2.0.0" 2008 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 2009 | 2010 | isobject@^2.0.0: 2011 | version "2.1.0" 2012 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 2013 | dependencies: 2014 | isarray "1.0.0" 2015 | 2016 | isobject@^3.0.0, isobject@^3.0.1: 2017 | version "3.0.1" 2018 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" 2019 | 2020 | js-tokens@^3.0.2: 2021 | version "3.0.2" 2022 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" 2023 | 2024 | js-tokens@^4.0.0: 2025 | version "4.0.0" 2026 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 2027 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 2028 | 2029 | js-yaml@^3.12.0: 2030 | version "3.12.0" 2031 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" 2032 | integrity sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A== 2033 | dependencies: 2034 | argparse "^1.0.7" 2035 | esprima "^4.0.0" 2036 | 2037 | jsesc@~0.5.0: 2038 | version "0.5.0" 2039 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" 2040 | 2041 | json-parse-better-errors@^1.0.2: 2042 | version "1.0.2" 2043 | resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" 2044 | integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== 2045 | 2046 | json-schema-traverse@^0.3.0: 2047 | version "0.3.1" 2048 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" 2049 | 2050 | json-schema-traverse@^0.4.1: 2051 | version "0.4.1" 2052 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 2053 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 2054 | 2055 | json-stable-stringify-without-jsonify@^1.0.1: 2056 | version "1.0.1" 2057 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 2058 | 2059 | json5@^0.5.0: 2060 | version "0.5.1" 2061 | resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" 2062 | 2063 | just-extend@^3.0.0: 2064 | version "3.0.0" 2065 | resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-3.0.0.tgz#cee004031eaabf6406da03a7b84e4fe9d78ef288" 2066 | integrity sha512-Fu3T6pKBuxjWT/p4DkqGHFRsysc8OauWr4ZRTY9dIx07Y9O0RkoR5jcv28aeD1vuAwhm3nLkDurwLXoALp4DpQ== 2067 | 2068 | kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: 2069 | version "3.2.2" 2070 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" 2071 | dependencies: 2072 | is-buffer "^1.1.5" 2073 | 2074 | kind-of@^4.0.0: 2075 | version "4.0.0" 2076 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" 2077 | dependencies: 2078 | is-buffer "^1.1.5" 2079 | 2080 | kind-of@^5.0.0: 2081 | version "5.1.0" 2082 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" 2083 | 2084 | kind-of@^6.0.0, kind-of@^6.0.2: 2085 | version "6.0.2" 2086 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" 2087 | 2088 | lcid@^2.0.0: 2089 | version "2.0.0" 2090 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" 2091 | integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== 2092 | dependencies: 2093 | invert-kv "^2.0.0" 2094 | 2095 | levn@^0.3.0, levn@~0.3.0: 2096 | version "0.3.0" 2097 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" 2098 | dependencies: 2099 | prelude-ls "~1.1.2" 2100 | type-check "~0.3.2" 2101 | 2102 | load-json-file@^2.0.0: 2103 | version "2.0.0" 2104 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" 2105 | dependencies: 2106 | graceful-fs "^4.1.2" 2107 | parse-json "^2.2.0" 2108 | pify "^2.0.0" 2109 | strip-bom "^3.0.0" 2110 | 2111 | loader-runner@^2.3.0: 2112 | version "2.3.0" 2113 | resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" 2114 | 2115 | loader-utils@^0.2.16: 2116 | version "0.2.17" 2117 | resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" 2118 | dependencies: 2119 | big.js "^3.1.3" 2120 | emojis-list "^2.0.0" 2121 | json5 "^0.5.0" 2122 | object-assign "^4.0.1" 2123 | 2124 | loader-utils@^1.0.2, loader-utils@^1.1.0: 2125 | version "1.1.0" 2126 | resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" 2127 | dependencies: 2128 | big.js "^3.1.3" 2129 | emojis-list "^2.0.0" 2130 | json5 "^0.5.0" 2131 | 2132 | locate-path@^2.0.0: 2133 | version "2.0.0" 2134 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" 2135 | dependencies: 2136 | p-locate "^2.0.0" 2137 | path-exists "^3.0.0" 2138 | 2139 | locate-path@^3.0.0: 2140 | version "3.0.0" 2141 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" 2142 | integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== 2143 | dependencies: 2144 | p-locate "^3.0.0" 2145 | path-exists "^3.0.0" 2146 | 2147 | lodash.get@^4.4.2: 2148 | version "4.4.2" 2149 | resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" 2150 | integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= 2151 | 2152 | lodash@^4.17.10, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5: 2153 | version "4.17.10" 2154 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" 2155 | 2156 | lodash@^4.17.11: 2157 | version "4.17.11" 2158 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" 2159 | integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== 2160 | 2161 | lolex@^2.3.2: 2162 | version "2.7.5" 2163 | resolved "https://registry.yarnpkg.com/lolex/-/lolex-2.7.5.tgz#113001d56bfc7e02d56e36291cc5c413d1aa0733" 2164 | integrity sha512-l9x0+1offnKKIzYVjyXU2SiwhXDLekRzKyhnbyldPHvC7BvLPVpdNUNR2KeMAiCN2D/kLNttZgQD5WjSxuBx3Q== 2165 | 2166 | lolex@^3.0.0: 2167 | version "3.0.0" 2168 | resolved "https://registry.yarnpkg.com/lolex/-/lolex-3.0.0.tgz#f04ee1a8aa13f60f1abd7b0e8f4213ec72ec193e" 2169 | integrity sha512-hcnW80h3j2lbUfFdMArd5UPA/vxZJ+G8vobd+wg3nVEQA0EigStbYcrG030FJxL6xiDDPEkoMatV9xIh5OecQQ== 2170 | 2171 | lower-case@^1.1.1: 2172 | version "1.1.4" 2173 | resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" 2174 | 2175 | lru-cache@^4.1.3: 2176 | version "4.1.4" 2177 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.4.tgz#51cc46e8e6d9530771c857e24ccc720ecdbcc031" 2178 | integrity sha512-EPstzZ23znHUVLKj+lcXO1KvZkrlw+ZirdwvOmnAnA/1PB4ggyXJ77LRkCqkff+ShQ+cqoxCxLQOh4cKITO5iA== 2179 | dependencies: 2180 | pseudomap "^1.0.2" 2181 | yallist "^3.0.2" 2182 | 2183 | make-dir@^1.0.0: 2184 | version "1.2.0" 2185 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.2.0.tgz#6d6a49eead4aae296c53bbf3a1a008bd6c89469b" 2186 | dependencies: 2187 | pify "^3.0.0" 2188 | 2189 | map-age-cleaner@^0.1.1: 2190 | version "0.1.3" 2191 | resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" 2192 | integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== 2193 | dependencies: 2194 | p-defer "^1.0.0" 2195 | 2196 | map-cache@^0.2.2: 2197 | version "0.2.2" 2198 | resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" 2199 | 2200 | map-visit@^1.0.0: 2201 | version "1.0.0" 2202 | resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" 2203 | dependencies: 2204 | object-visit "^1.0.0" 2205 | 2206 | md5.js@^1.3.4: 2207 | version "1.3.4" 2208 | resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d" 2209 | dependencies: 2210 | hash-base "^3.0.0" 2211 | inherits "^2.0.1" 2212 | 2213 | mem@^4.0.0: 2214 | version "4.0.0" 2215 | resolved "https://registry.yarnpkg.com/mem/-/mem-4.0.0.tgz#6437690d9471678f6cc83659c00cbafcd6b0cdaf" 2216 | integrity sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA== 2217 | dependencies: 2218 | map-age-cleaner "^0.1.1" 2219 | mimic-fn "^1.0.0" 2220 | p-is-promise "^1.1.0" 2221 | 2222 | memory-fs@^0.4.0, memory-fs@~0.4.1: 2223 | version "0.4.1" 2224 | resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" 2225 | dependencies: 2226 | errno "^0.1.3" 2227 | readable-stream "^2.0.1" 2228 | 2229 | micromatch@^3.1.4, micromatch@^3.1.8: 2230 | version "3.1.10" 2231 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" 2232 | dependencies: 2233 | arr-diff "^4.0.0" 2234 | array-unique "^0.3.2" 2235 | braces "^2.3.1" 2236 | define-property "^2.0.2" 2237 | extend-shallow "^3.0.2" 2238 | extglob "^2.0.4" 2239 | fragment-cache "^0.2.1" 2240 | kind-of "^6.0.2" 2241 | nanomatch "^1.2.9" 2242 | object.pick "^1.3.0" 2243 | regex-not "^1.0.0" 2244 | snapdragon "^0.8.1" 2245 | to-regex "^3.0.2" 2246 | 2247 | miller-rabin@^4.0.0: 2248 | version "4.0.1" 2249 | resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" 2250 | dependencies: 2251 | bn.js "^4.0.0" 2252 | brorand "^1.0.1" 2253 | 2254 | mimic-fn@^1.0.0: 2255 | version "1.2.0" 2256 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" 2257 | 2258 | mini-css-extract-plugin@^0.4.5: 2259 | version "0.4.5" 2260 | resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.5.tgz#c99e9e78d54f3fa775633aee5933aeaa4e80719a" 2261 | integrity sha512-dqBanNfktnp2hwL2YguV9Jh91PFX7gu7nRLs4TGsbAfAG6WOtlynFRYzwDwmmeSb5uIwHo9nx1ta0f7vAZVp2w== 2262 | dependencies: 2263 | loader-utils "^1.1.0" 2264 | schema-utils "^1.0.0" 2265 | webpack-sources "^1.1.0" 2266 | 2267 | minimalistic-assert@^1.0.0: 2268 | version "1.0.1" 2269 | resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" 2270 | 2271 | minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: 2272 | version "1.0.1" 2273 | resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" 2274 | 2275 | minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: 2276 | version "3.0.4" 2277 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 2278 | dependencies: 2279 | brace-expansion "^1.1.7" 2280 | 2281 | minimist@0.0.8: 2282 | version "0.0.8" 2283 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 2284 | 2285 | minimist@^1.2.0: 2286 | version "1.2.0" 2287 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 2288 | 2289 | minipass@^2.2.1, minipass@^2.2.4: 2290 | version "2.3.0" 2291 | resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.0.tgz#2e11b1c46df7fe7f1afbe9a490280add21ffe384" 2292 | dependencies: 2293 | safe-buffer "^5.1.1" 2294 | yallist "^3.0.0" 2295 | 2296 | minizlib@^1.1.0: 2297 | version "1.1.0" 2298 | resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.1.0.tgz#11e13658ce46bc3a70a267aac58359d1e0c29ceb" 2299 | dependencies: 2300 | minipass "^2.2.1" 2301 | 2302 | mississippi@^3.0.0: 2303 | version "3.0.0" 2304 | resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" 2305 | integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== 2306 | dependencies: 2307 | concat-stream "^1.5.0" 2308 | duplexify "^3.4.2" 2309 | end-of-stream "^1.1.0" 2310 | flush-write-stream "^1.0.0" 2311 | from2 "^2.1.0" 2312 | parallel-transform "^1.1.0" 2313 | pump "^3.0.0" 2314 | pumpify "^1.3.3" 2315 | stream-each "^1.1.0" 2316 | through2 "^2.0.0" 2317 | 2318 | mixin-deep@^1.2.0: 2319 | version "1.3.1" 2320 | resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" 2321 | dependencies: 2322 | for-in "^1.0.2" 2323 | is-extendable "^1.0.1" 2324 | 2325 | mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: 2326 | version "0.5.1" 2327 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 2328 | dependencies: 2329 | minimist "0.0.8" 2330 | 2331 | mocha@^5.2.0: 2332 | version "5.2.0" 2333 | resolved "https://registry.yarnpkg.com/mocha/-/mocha-5.2.0.tgz#6d8ae508f59167f940f2b5b3c4a612ae50c90ae6" 2334 | integrity sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ== 2335 | dependencies: 2336 | browser-stdout "1.3.1" 2337 | commander "2.15.1" 2338 | debug "3.1.0" 2339 | diff "3.5.0" 2340 | escape-string-regexp "1.0.5" 2341 | glob "7.1.2" 2342 | growl "1.10.5" 2343 | he "1.1.1" 2344 | minimatch "3.0.4" 2345 | mkdirp "0.5.1" 2346 | supports-color "5.4.0" 2347 | 2348 | move-concurrently@^1.0.1: 2349 | version "1.0.1" 2350 | resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" 2351 | dependencies: 2352 | aproba "^1.1.1" 2353 | copy-concurrently "^1.0.0" 2354 | fs-write-stream-atomic "^1.0.8" 2355 | mkdirp "^0.5.1" 2356 | rimraf "^2.5.4" 2357 | run-queue "^1.0.3" 2358 | 2359 | ms@2.0.0: 2360 | version "2.0.0" 2361 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 2362 | 2363 | ms@^2.1.1: 2364 | version "2.1.1" 2365 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" 2366 | integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== 2367 | 2368 | mute-stream@0.0.7: 2369 | version "0.0.7" 2370 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" 2371 | 2372 | nan@^2.9.2: 2373 | version "2.10.0" 2374 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" 2375 | 2376 | nanomatch@^1.2.9: 2377 | version "1.2.9" 2378 | resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.9.tgz#879f7150cb2dab7a471259066c104eee6e0fa7c2" 2379 | dependencies: 2380 | arr-diff "^4.0.0" 2381 | array-unique "^0.3.2" 2382 | define-property "^2.0.2" 2383 | extend-shallow "^3.0.2" 2384 | fragment-cache "^0.2.1" 2385 | is-odd "^2.0.0" 2386 | is-windows "^1.0.2" 2387 | kind-of "^6.0.2" 2388 | object.pick "^1.3.0" 2389 | regex-not "^1.0.0" 2390 | snapdragon "^0.8.1" 2391 | to-regex "^3.0.1" 2392 | 2393 | natural-compare@^1.4.0: 2394 | version "1.4.0" 2395 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 2396 | 2397 | needle@^2.2.0: 2398 | version "2.2.1" 2399 | resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.1.tgz#b5e325bd3aae8c2678902fa296f729455d1d3a7d" 2400 | dependencies: 2401 | debug "^2.1.2" 2402 | iconv-lite "^0.4.4" 2403 | sax "^1.2.4" 2404 | 2405 | neo-async@^2.5.0: 2406 | version "2.5.1" 2407 | resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.5.1.tgz#acb909e327b1e87ec9ef15f41b8a269512ad41ee" 2408 | 2409 | nice-try@^1.0.4: 2410 | version "1.0.4" 2411 | resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.4.tgz#d93962f6c52f2c1558c0fbda6d512819f1efe1c4" 2412 | 2413 | nise@^1.4.6: 2414 | version "1.4.6" 2415 | resolved "https://registry.yarnpkg.com/nise/-/nise-1.4.6.tgz#76cc3915925056ae6c405dd8ad5d12bde570c19f" 2416 | integrity sha512-1GedetLKzmqmgwabuMSqPsT7oumdR77SBpDfNNJhADRIeA3LN/2RVqR4fFqwvzhAqcTef6PPCzQwITE/YQ8S8A== 2417 | dependencies: 2418 | "@sinonjs/formatio" "3.0.0" 2419 | just-extend "^3.0.0" 2420 | lolex "^2.3.2" 2421 | path-to-regexp "^1.7.0" 2422 | text-encoding "^0.6.4" 2423 | 2424 | no-case@^2.2.0: 2425 | version "2.3.2" 2426 | resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" 2427 | dependencies: 2428 | lower-case "^1.1.1" 2429 | 2430 | node-libs-browser@^2.0.0: 2431 | version "2.1.0" 2432 | resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.1.0.tgz#5f94263d404f6e44767d726901fff05478d600df" 2433 | dependencies: 2434 | assert "^1.1.1" 2435 | browserify-zlib "^0.2.0" 2436 | buffer "^4.3.0" 2437 | console-browserify "^1.1.0" 2438 | constants-browserify "^1.0.0" 2439 | crypto-browserify "^3.11.0" 2440 | domain-browser "^1.1.1" 2441 | events "^1.0.0" 2442 | https-browserify "^1.0.0" 2443 | os-browserify "^0.3.0" 2444 | path-browserify "0.0.0" 2445 | process "^0.11.10" 2446 | punycode "^1.2.4" 2447 | querystring-es3 "^0.2.0" 2448 | readable-stream "^2.3.3" 2449 | stream-browserify "^2.0.1" 2450 | stream-http "^2.7.2" 2451 | string_decoder "^1.0.0" 2452 | timers-browserify "^2.0.4" 2453 | tty-browserify "0.0.0" 2454 | url "^0.11.0" 2455 | util "^0.10.3" 2456 | vm-browserify "0.0.4" 2457 | 2458 | node-pre-gyp@^0.9.0: 2459 | version "0.9.1" 2460 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.9.1.tgz#f11c07516dd92f87199dbc7e1838eab7cd56c9e0" 2461 | dependencies: 2462 | detect-libc "^1.0.2" 2463 | mkdirp "^0.5.1" 2464 | needle "^2.2.0" 2465 | nopt "^4.0.1" 2466 | npm-packlist "^1.1.6" 2467 | npmlog "^4.0.2" 2468 | rc "^1.1.7" 2469 | rimraf "^2.6.1" 2470 | semver "^5.3.0" 2471 | tar "^4" 2472 | 2473 | nopt@^4.0.1: 2474 | version "4.0.1" 2475 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" 2476 | dependencies: 2477 | abbrev "1" 2478 | osenv "^0.1.4" 2479 | 2480 | normalize-package-data@^2.3.2: 2481 | version "2.4.0" 2482 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" 2483 | dependencies: 2484 | hosted-git-info "^2.1.4" 2485 | is-builtin-module "^1.0.0" 2486 | semver "2 || 3 || 4 || 5" 2487 | validate-npm-package-license "^3.0.1" 2488 | 2489 | normalize-path@^2.1.1: 2490 | version "2.1.1" 2491 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" 2492 | dependencies: 2493 | remove-trailing-separator "^1.0.1" 2494 | 2495 | npm-bundled@^1.0.1: 2496 | version "1.0.3" 2497 | resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.3.tgz#7e71703d973af3370a9591bafe3a63aca0be2308" 2498 | 2499 | npm-packlist@^1.1.6: 2500 | version "1.1.10" 2501 | resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.10.tgz#1039db9e985727e464df066f4cf0ab6ef85c398a" 2502 | dependencies: 2503 | ignore-walk "^3.0.1" 2504 | npm-bundled "^1.0.1" 2505 | 2506 | npm-run-path@^2.0.0: 2507 | version "2.0.2" 2508 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" 2509 | dependencies: 2510 | path-key "^2.0.0" 2511 | 2512 | npmlog@^4.0.2: 2513 | version "4.1.2" 2514 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" 2515 | dependencies: 2516 | are-we-there-yet "~1.1.2" 2517 | console-control-strings "~1.1.0" 2518 | gauge "~2.7.3" 2519 | set-blocking "~2.0.0" 2520 | 2521 | nth-check@~1.0.1: 2522 | version "1.0.1" 2523 | resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4" 2524 | dependencies: 2525 | boolbase "~1.0.0" 2526 | 2527 | number-is-nan@^1.0.0: 2528 | version "1.0.1" 2529 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 2530 | 2531 | object-assign@^4.0.1, object-assign@^4.1.0: 2532 | version "4.1.1" 2533 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 2534 | 2535 | object-copy@^0.1.0: 2536 | version "0.1.0" 2537 | resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" 2538 | dependencies: 2539 | copy-descriptor "^0.1.0" 2540 | define-property "^0.2.5" 2541 | kind-of "^3.0.3" 2542 | 2543 | object-keys@^1.0.11: 2544 | version "1.0.12" 2545 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2" 2546 | integrity sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag== 2547 | 2548 | object-keys@^1.0.8: 2549 | version "1.0.11" 2550 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" 2551 | 2552 | object-visit@^1.0.0: 2553 | version "1.0.1" 2554 | resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" 2555 | dependencies: 2556 | isobject "^3.0.0" 2557 | 2558 | object.assign@^4.1.0: 2559 | version "4.1.0" 2560 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" 2561 | integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== 2562 | dependencies: 2563 | define-properties "^1.1.2" 2564 | function-bind "^1.1.1" 2565 | has-symbols "^1.0.0" 2566 | object-keys "^1.0.11" 2567 | 2568 | object.entries@^1.0.4: 2569 | version "1.0.4" 2570 | resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.0.4.tgz#1bf9a4dd2288f5b33f3a993d257661f05d161a5f" 2571 | integrity sha1-G/mk3SKI9bM/Opk9JXZh8F0WGl8= 2572 | dependencies: 2573 | define-properties "^1.1.2" 2574 | es-abstract "^1.6.1" 2575 | function-bind "^1.1.0" 2576 | has "^1.0.1" 2577 | 2578 | object.getownpropertydescriptors@^2.0.3: 2579 | version "2.0.3" 2580 | resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" 2581 | dependencies: 2582 | define-properties "^1.1.2" 2583 | es-abstract "^1.5.1" 2584 | 2585 | object.pick@^1.3.0: 2586 | version "1.3.0" 2587 | resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" 2588 | dependencies: 2589 | isobject "^3.0.1" 2590 | 2591 | once@^1.3.0, once@^1.3.1, once@^1.4.0: 2592 | version "1.4.0" 2593 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 2594 | dependencies: 2595 | wrappy "1" 2596 | 2597 | onetime@^2.0.0: 2598 | version "2.0.1" 2599 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" 2600 | dependencies: 2601 | mimic-fn "^1.0.0" 2602 | 2603 | optionator@^0.8.2: 2604 | version "0.8.2" 2605 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" 2606 | dependencies: 2607 | deep-is "~0.1.3" 2608 | fast-levenshtein "~2.0.4" 2609 | levn "~0.3.0" 2610 | prelude-ls "~1.1.2" 2611 | type-check "~0.3.2" 2612 | wordwrap "~1.0.0" 2613 | 2614 | os-browserify@^0.3.0: 2615 | version "0.3.0" 2616 | resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" 2617 | 2618 | os-homedir@^1.0.0: 2619 | version "1.0.2" 2620 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 2621 | 2622 | os-locale@^3.0.0: 2623 | version "3.0.1" 2624 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.0.1.tgz#3b014fbf01d87f60a1e5348d80fe870dc82c4620" 2625 | integrity sha512-7g5e7dmXPtzcP4bgsZ8ixDVqA7oWYuEz4lOSujeWyliPai4gfVDiFIcwBg3aGCPnmSGfzOKTK3ccPn0CKv3DBw== 2626 | dependencies: 2627 | execa "^0.10.0" 2628 | lcid "^2.0.0" 2629 | mem "^4.0.0" 2630 | 2631 | os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: 2632 | version "1.0.2" 2633 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 2634 | 2635 | osenv@^0.1.4: 2636 | version "0.1.5" 2637 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" 2638 | dependencies: 2639 | os-homedir "^1.0.0" 2640 | os-tmpdir "^1.0.0" 2641 | 2642 | outdent@^0.7.0: 2643 | version "0.7.0" 2644 | resolved "https://registry.yarnpkg.com/outdent/-/outdent-0.7.0.tgz#cfd1f1956305141e0cf3e898ada6547373c1997a" 2645 | integrity sha512-Ue462G+UIFoyQmOzapGIKWS3d/9NHeD/018WGEDZIhN2/VaQpVXbofMcZX0socv1fw4/tmEn7Vd3McOdPZfKzQ== 2646 | 2647 | p-defer@^1.0.0: 2648 | version "1.0.0" 2649 | resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" 2650 | integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= 2651 | 2652 | p-finally@^1.0.0: 2653 | version "1.0.0" 2654 | resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" 2655 | 2656 | p-is-promise@^1.1.0: 2657 | version "1.1.0" 2658 | resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e" 2659 | 2660 | p-limit@^1.1.0: 2661 | version "1.2.0" 2662 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.2.0.tgz#0e92b6bedcb59f022c13d0f1949dc82d15909f1c" 2663 | dependencies: 2664 | p-try "^1.0.0" 2665 | 2666 | p-limit@^2.0.0: 2667 | version "2.0.0" 2668 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.0.0.tgz#e624ed54ee8c460a778b3c9f3670496ff8a57aec" 2669 | integrity sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A== 2670 | dependencies: 2671 | p-try "^2.0.0" 2672 | 2673 | p-locate@^2.0.0: 2674 | version "2.0.0" 2675 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" 2676 | dependencies: 2677 | p-limit "^1.1.0" 2678 | 2679 | p-locate@^3.0.0: 2680 | version "3.0.0" 2681 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" 2682 | integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== 2683 | dependencies: 2684 | p-limit "^2.0.0" 2685 | 2686 | p-try@^1.0.0: 2687 | version "1.0.0" 2688 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" 2689 | 2690 | p-try@^2.0.0: 2691 | version "2.0.0" 2692 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1" 2693 | integrity sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ== 2694 | 2695 | pako@~1.0.5: 2696 | version "1.0.6" 2697 | resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258" 2698 | 2699 | parallel-transform@^1.1.0: 2700 | version "1.1.0" 2701 | resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" 2702 | dependencies: 2703 | cyclist "~0.2.2" 2704 | inherits "^2.0.3" 2705 | readable-stream "^2.1.5" 2706 | 2707 | param-case@2.1.x: 2708 | version "2.1.1" 2709 | resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" 2710 | dependencies: 2711 | no-case "^2.2.0" 2712 | 2713 | parse-asn1@^5.0.0: 2714 | version "5.1.1" 2715 | resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.1.tgz#f6bf293818332bd0dab54efb16087724745e6ca8" 2716 | dependencies: 2717 | asn1.js "^4.0.0" 2718 | browserify-aes "^1.0.0" 2719 | create-hash "^1.1.0" 2720 | evp_bytestokey "^1.0.0" 2721 | pbkdf2 "^3.0.3" 2722 | 2723 | parse-json@^2.2.0: 2724 | version "2.2.0" 2725 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" 2726 | dependencies: 2727 | error-ex "^1.2.0" 2728 | 2729 | pascalcase@^0.1.1: 2730 | version "0.1.1" 2731 | resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" 2732 | 2733 | path-browserify@0.0.0: 2734 | version "0.0.0" 2735 | resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" 2736 | 2737 | path-dirname@^1.0.0: 2738 | version "1.0.2" 2739 | resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" 2740 | 2741 | path-exists@^2.0.0: 2742 | version "2.1.0" 2743 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" 2744 | dependencies: 2745 | pinkie-promise "^2.0.0" 2746 | 2747 | path-exists@^3.0.0: 2748 | version "3.0.0" 2749 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 2750 | 2751 | path-is-absolute@^1.0.0: 2752 | version "1.0.1" 2753 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2754 | 2755 | path-is-inside@^1.0.1, path-is-inside@^1.0.2: 2756 | version "1.0.2" 2757 | resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" 2758 | 2759 | path-key@^2.0.0, path-key@^2.0.1: 2760 | version "2.0.1" 2761 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 2762 | 2763 | path-parse@^1.0.5: 2764 | version "1.0.5" 2765 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" 2766 | 2767 | path-to-regexp@^1.7.0: 2768 | version "1.7.0" 2769 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d" 2770 | integrity sha1-Wf3g9DW62suhA6hOnTvGTpa5k30= 2771 | dependencies: 2772 | isarray "0.0.1" 2773 | 2774 | path-type@^2.0.0: 2775 | version "2.0.0" 2776 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" 2777 | dependencies: 2778 | pify "^2.0.0" 2779 | 2780 | pathval@^1.1.0: 2781 | version "1.1.0" 2782 | resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" 2783 | integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA= 2784 | 2785 | pbkdf2@^3.0.3: 2786 | version "3.0.16" 2787 | resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.16.tgz#7404208ec6b01b62d85bf83853a8064f8d9c2a5c" 2788 | dependencies: 2789 | create-hash "^1.1.2" 2790 | create-hmac "^1.1.4" 2791 | ripemd160 "^2.0.1" 2792 | safe-buffer "^5.0.1" 2793 | sha.js "^2.4.8" 2794 | 2795 | pify@^2.0.0: 2796 | version "2.3.0" 2797 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 2798 | 2799 | pify@^3.0.0: 2800 | version "3.0.0" 2801 | resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" 2802 | 2803 | pinkie-promise@^2.0.0: 2804 | version "2.0.1" 2805 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" 2806 | dependencies: 2807 | pinkie "^2.0.0" 2808 | 2809 | pinkie@^2.0.0: 2810 | version "2.0.4" 2811 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" 2812 | 2813 | pkg-dir@^1.0.0: 2814 | version "1.0.0" 2815 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" 2816 | dependencies: 2817 | find-up "^1.0.0" 2818 | 2819 | pkg-dir@^3.0.0: 2820 | version "3.0.0" 2821 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" 2822 | integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== 2823 | dependencies: 2824 | find-up "^3.0.0" 2825 | 2826 | pluralize@^7.0.0: 2827 | version "7.0.0" 2828 | resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" 2829 | 2830 | posix-character-classes@^0.1.0: 2831 | version "0.1.1" 2832 | resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" 2833 | 2834 | postcss-modules-extract-imports@^1.2.0: 2835 | version "1.2.0" 2836 | resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz#66140ecece38ef06bf0d3e355d69bf59d141ea85" 2837 | dependencies: 2838 | postcss "^6.0.1" 2839 | 2840 | postcss-modules-local-by-default@^1.2.0: 2841 | version "1.2.0" 2842 | resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" 2843 | dependencies: 2844 | css-selector-tokenizer "^0.7.0" 2845 | postcss "^6.0.1" 2846 | 2847 | postcss-modules-scope@^1.1.0: 2848 | version "1.1.0" 2849 | resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" 2850 | dependencies: 2851 | css-selector-tokenizer "^0.7.0" 2852 | postcss "^6.0.1" 2853 | 2854 | postcss-modules-values@^1.3.0: 2855 | version "1.3.0" 2856 | resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" 2857 | dependencies: 2858 | icss-replace-symbols "^1.1.0" 2859 | postcss "^6.0.1" 2860 | 2861 | postcss-value-parser@^3.3.0: 2862 | version "3.3.0" 2863 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" 2864 | 2865 | postcss@^6.0.1: 2866 | version "6.0.22" 2867 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.22.tgz#e23b78314905c3b90cbd61702121e7a78848f2a3" 2868 | dependencies: 2869 | chalk "^2.4.1" 2870 | source-map "^0.6.1" 2871 | supports-color "^5.4.0" 2872 | 2873 | postcss@^6.0.23: 2874 | version "6.0.23" 2875 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" 2876 | integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== 2877 | dependencies: 2878 | chalk "^2.4.1" 2879 | source-map "^0.6.1" 2880 | supports-color "^5.4.0" 2881 | 2882 | prelude-ls@~1.1.2: 2883 | version "1.1.2" 2884 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" 2885 | 2886 | prettier-linter-helpers@^1.0.0: 2887 | version "1.0.0" 2888 | resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" 2889 | integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== 2890 | dependencies: 2891 | fast-diff "^1.1.2" 2892 | 2893 | prettier@^1.15.2: 2894 | version "1.15.2" 2895 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.15.2.tgz#d31abe22afa4351efa14c7f8b94b58bb7452205e" 2896 | integrity sha512-YgPLFFA0CdKL4Eg2IHtUSjzj/BWgszDHiNQAe0VAIBse34148whfdzLagRL+QiKS+YfK5ftB6X4v/MBw8yCoug== 2897 | 2898 | pretty-error@^2.0.2: 2899 | version "2.1.1" 2900 | resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" 2901 | dependencies: 2902 | renderkid "^2.0.1" 2903 | utila "~0.4" 2904 | 2905 | process-nextick-args@~2.0.0: 2906 | version "2.0.0" 2907 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" 2908 | 2909 | process@^0.11.10: 2910 | version "0.11.10" 2911 | resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" 2912 | 2913 | progress@^2.0.0: 2914 | version "2.0.0" 2915 | resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" 2916 | 2917 | promise-inflight@^1.0.1: 2918 | version "1.0.1" 2919 | resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" 2920 | 2921 | prr@~1.0.1: 2922 | version "1.0.1" 2923 | resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" 2924 | 2925 | pseudomap@^1.0.2: 2926 | version "1.0.2" 2927 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 2928 | 2929 | public-encrypt@^4.0.0: 2930 | version "4.0.2" 2931 | resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.2.tgz#46eb9107206bf73489f8b85b69d91334c6610994" 2932 | dependencies: 2933 | bn.js "^4.1.0" 2934 | browserify-rsa "^4.0.0" 2935 | create-hash "^1.1.0" 2936 | parse-asn1 "^5.0.0" 2937 | randombytes "^2.0.1" 2938 | 2939 | pump@^2.0.0: 2940 | version "2.0.1" 2941 | resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" 2942 | dependencies: 2943 | end-of-stream "^1.1.0" 2944 | once "^1.3.1" 2945 | 2946 | pump@^3.0.0: 2947 | version "3.0.0" 2948 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" 2949 | integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== 2950 | dependencies: 2951 | end-of-stream "^1.1.0" 2952 | once "^1.3.1" 2953 | 2954 | pumpify@^1.3.3: 2955 | version "1.5.0" 2956 | resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.0.tgz#30c905a26c88fa0074927af07256672b474b1c15" 2957 | dependencies: 2958 | duplexify "^3.6.0" 2959 | inherits "^2.0.3" 2960 | pump "^2.0.0" 2961 | 2962 | punycode@1.3.2: 2963 | version "1.3.2" 2964 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" 2965 | 2966 | punycode@^1.2.4: 2967 | version "1.4.1" 2968 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 2969 | 2970 | punycode@^2.1.0: 2971 | version "2.1.0" 2972 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" 2973 | 2974 | querystring-es3@^0.2.0: 2975 | version "0.2.1" 2976 | resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" 2977 | 2978 | querystring@0.2.0: 2979 | version "0.2.0" 2980 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" 2981 | 2982 | ramda@^0.25.0: 2983 | version "0.25.0" 2984 | resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.25.0.tgz#8fdf68231cffa90bc2f9460390a0cb74a29b29a9" 2985 | 2986 | randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: 2987 | version "2.0.6" 2988 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80" 2989 | dependencies: 2990 | safe-buffer "^5.1.0" 2991 | 2992 | randomfill@^1.0.3: 2993 | version "1.0.4" 2994 | resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" 2995 | dependencies: 2996 | randombytes "^2.0.5" 2997 | safe-buffer "^5.1.0" 2998 | 2999 | rc@^1.1.7: 3000 | version "1.2.7" 3001 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.7.tgz#8a10ca30d588d00464360372b890d06dacd02297" 3002 | dependencies: 3003 | deep-extend "^0.5.1" 3004 | ini "~1.3.0" 3005 | minimist "^1.2.0" 3006 | strip-json-comments "~2.0.1" 3007 | 3008 | read-pkg-up@^2.0.0: 3009 | version "2.0.0" 3010 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" 3011 | dependencies: 3012 | find-up "^2.0.0" 3013 | read-pkg "^2.0.0" 3014 | 3015 | read-pkg@^2.0.0: 3016 | version "2.0.0" 3017 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" 3018 | dependencies: 3019 | load-json-file "^2.0.0" 3020 | normalize-package-data "^2.3.2" 3021 | path-type "^2.0.0" 3022 | 3023 | "readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3: 3024 | version "2.3.6" 3025 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" 3026 | dependencies: 3027 | core-util-is "~1.0.0" 3028 | inherits "~2.0.3" 3029 | isarray "~1.0.0" 3030 | process-nextick-args "~2.0.0" 3031 | safe-buffer "~5.1.1" 3032 | string_decoder "~1.1.1" 3033 | util-deprecate "~1.0.1" 3034 | 3035 | readable-stream@1.0: 3036 | version "1.0.34" 3037 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" 3038 | dependencies: 3039 | core-util-is "~1.0.0" 3040 | inherits "~2.0.1" 3041 | isarray "0.0.1" 3042 | string_decoder "~0.10.x" 3043 | 3044 | readdirp@^2.0.0: 3045 | version "2.1.0" 3046 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" 3047 | dependencies: 3048 | graceful-fs "^4.1.2" 3049 | minimatch "^3.0.2" 3050 | readable-stream "^2.0.2" 3051 | set-immediate-shim "^1.0.1" 3052 | 3053 | regenerate@^1.2.1: 3054 | version "1.3.3" 3055 | resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.3.tgz#0c336d3980553d755c39b586ae3b20aa49c82b7f" 3056 | 3057 | regex-not@^1.0.0, regex-not@^1.0.2: 3058 | version "1.0.2" 3059 | resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" 3060 | dependencies: 3061 | extend-shallow "^3.0.2" 3062 | safe-regex "^1.1.0" 3063 | 3064 | regexpp@^2.0.1: 3065 | version "2.0.1" 3066 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" 3067 | integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== 3068 | 3069 | regexpu-core@^1.0.0: 3070 | version "1.0.0" 3071 | resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" 3072 | dependencies: 3073 | regenerate "^1.2.1" 3074 | regjsgen "^0.2.0" 3075 | regjsparser "^0.1.4" 3076 | 3077 | regjsgen@^0.2.0: 3078 | version "0.2.0" 3079 | resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" 3080 | 3081 | regjsparser@^0.1.4: 3082 | version "0.1.5" 3083 | resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" 3084 | dependencies: 3085 | jsesc "~0.5.0" 3086 | 3087 | relateurl@0.2.x: 3088 | version "0.2.7" 3089 | resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" 3090 | 3091 | remove-trailing-separator@^1.0.1: 3092 | version "1.1.0" 3093 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" 3094 | 3095 | renderkid@^2.0.1: 3096 | version "2.0.1" 3097 | resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.1.tgz#898cabfc8bede4b7b91135a3ffd323e58c0db319" 3098 | dependencies: 3099 | css-select "^1.1.0" 3100 | dom-converter "~0.1" 3101 | htmlparser2 "~3.3.0" 3102 | strip-ansi "^3.0.0" 3103 | utila "~0.3" 3104 | 3105 | repeat-element@^1.1.2: 3106 | version "1.1.2" 3107 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" 3108 | 3109 | repeat-string@^1.6.1: 3110 | version "1.6.1" 3111 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 3112 | 3113 | require-directory@^2.1.1: 3114 | version "2.1.1" 3115 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 3116 | 3117 | require-main-filename@^1.0.1: 3118 | version "1.0.1" 3119 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" 3120 | 3121 | require-uncached@^1.0.3: 3122 | version "1.0.3" 3123 | resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" 3124 | dependencies: 3125 | caller-path "^0.1.0" 3126 | resolve-from "^1.0.0" 3127 | 3128 | resolve-cwd@^2.0.0: 3129 | version "2.0.0" 3130 | resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" 3131 | dependencies: 3132 | resolve-from "^3.0.0" 3133 | 3134 | resolve-from@^1.0.0: 3135 | version "1.0.1" 3136 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" 3137 | 3138 | resolve-from@^3.0.0: 3139 | version "3.0.0" 3140 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" 3141 | 3142 | resolve-url@^0.2.1: 3143 | version "0.2.1" 3144 | resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" 3145 | 3146 | resolve@^1.5.0, resolve@^1.6.0: 3147 | version "1.7.1" 3148 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3" 3149 | dependencies: 3150 | path-parse "^1.0.5" 3151 | 3152 | restore-cursor@^2.0.0: 3153 | version "2.0.0" 3154 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" 3155 | dependencies: 3156 | onetime "^2.0.0" 3157 | signal-exit "^3.0.2" 3158 | 3159 | ret@~0.1.10: 3160 | version "0.1.15" 3161 | resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" 3162 | 3163 | rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: 3164 | version "2.6.2" 3165 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" 3166 | dependencies: 3167 | glob "^7.0.5" 3168 | 3169 | ripemd160@^2.0.0, ripemd160@^2.0.1: 3170 | version "2.0.2" 3171 | resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" 3172 | dependencies: 3173 | hash-base "^3.0.0" 3174 | inherits "^2.0.1" 3175 | 3176 | run-async@^2.2.0: 3177 | version "2.3.0" 3178 | resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" 3179 | dependencies: 3180 | is-promise "^2.1.0" 3181 | 3182 | run-queue@^1.0.0, run-queue@^1.0.3: 3183 | version "1.0.3" 3184 | resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" 3185 | dependencies: 3186 | aproba "^1.1.1" 3187 | 3188 | rxjs@^6.1.0: 3189 | version "6.3.3" 3190 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.3.3.tgz#3c6a7fa420e844a81390fb1158a9ec614f4bad55" 3191 | integrity sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw== 3192 | dependencies: 3193 | tslib "^1.9.0" 3194 | 3195 | safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 3196 | version "5.1.2" 3197 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 3198 | 3199 | safe-regex@^1.1.0: 3200 | version "1.1.0" 3201 | resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" 3202 | dependencies: 3203 | ret "~0.1.10" 3204 | 3205 | "safer-buffer@>= 2.1.2 < 3": 3206 | version "2.1.2" 3207 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 3208 | 3209 | sax@^1.2.4: 3210 | version "1.2.4" 3211 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" 3212 | 3213 | schema-utils@^0.4.4: 3214 | version "0.4.5" 3215 | resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.5.tgz#21836f0608aac17b78f9e3e24daff14a5ca13a3e" 3216 | dependencies: 3217 | ajv "^6.1.0" 3218 | ajv-keywords "^3.1.0" 3219 | 3220 | schema-utils@^1.0.0: 3221 | version "1.0.0" 3222 | resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" 3223 | integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== 3224 | dependencies: 3225 | ajv "^6.1.0" 3226 | ajv-errors "^1.0.0" 3227 | ajv-keywords "^3.1.0" 3228 | 3229 | "semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5.0: 3230 | version "5.5.0" 3231 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" 3232 | 3233 | semver@^5.5.1: 3234 | version "5.6.0" 3235 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" 3236 | integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== 3237 | 3238 | serialize-javascript@^1.4.0: 3239 | version "1.5.0" 3240 | resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.5.0.tgz#1aa336162c88a890ddad5384baebc93a655161fe" 3241 | 3242 | set-blocking@^2.0.0, set-blocking@~2.0.0: 3243 | version "2.0.0" 3244 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 3245 | 3246 | set-immediate-shim@^1.0.1: 3247 | version "1.0.1" 3248 | resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" 3249 | 3250 | set-value@^0.4.3: 3251 | version "0.4.3" 3252 | resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" 3253 | dependencies: 3254 | extend-shallow "^2.0.1" 3255 | is-extendable "^0.1.1" 3256 | is-plain-object "^2.0.1" 3257 | to-object-path "^0.3.0" 3258 | 3259 | set-value@^2.0.0: 3260 | version "2.0.0" 3261 | resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" 3262 | dependencies: 3263 | extend-shallow "^2.0.1" 3264 | is-extendable "^0.1.1" 3265 | is-plain-object "^2.0.3" 3266 | split-string "^3.0.1" 3267 | 3268 | setimmediate@^1.0.4: 3269 | version "1.0.5" 3270 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" 3271 | 3272 | sha.js@^2.4.0, sha.js@^2.4.8: 3273 | version "2.4.11" 3274 | resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" 3275 | dependencies: 3276 | inherits "^2.0.1" 3277 | safe-buffer "^5.0.1" 3278 | 3279 | shebang-command@^1.2.0: 3280 | version "1.2.0" 3281 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 3282 | dependencies: 3283 | shebang-regex "^1.0.0" 3284 | 3285 | shebang-regex@^1.0.0: 3286 | version "1.0.0" 3287 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 3288 | 3289 | signal-exit@^3.0.0, signal-exit@^3.0.2: 3290 | version "3.0.2" 3291 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 3292 | 3293 | sinon@^7.1.1: 3294 | version "7.1.1" 3295 | resolved "https://registry.yarnpkg.com/sinon/-/sinon-7.1.1.tgz#1202f317aa14d93cb9b69ff50b6bd49c0e05ffc9" 3296 | integrity sha512-iYagtjLVt1vN3zZY7D8oH7dkjNJEjLjyuzy8daX5+3bbQl8gaohrheB9VfH1O3L6LKuue5WTJvFluHiuZ9y3nQ== 3297 | dependencies: 3298 | "@sinonjs/commons" "^1.2.0" 3299 | "@sinonjs/formatio" "^3.0.0" 3300 | "@sinonjs/samsam" "^2.1.2" 3301 | diff "^3.5.0" 3302 | lodash.get "^4.4.2" 3303 | lolex "^3.0.0" 3304 | nise "^1.4.6" 3305 | supports-color "^5.5.0" 3306 | type-detect "^4.0.8" 3307 | 3308 | slice-ansi@1.0.0: 3309 | version "1.0.0" 3310 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" 3311 | dependencies: 3312 | is-fullwidth-code-point "^2.0.0" 3313 | 3314 | snapdragon-node@^2.0.1: 3315 | version "2.1.1" 3316 | resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" 3317 | dependencies: 3318 | define-property "^1.0.0" 3319 | isobject "^3.0.0" 3320 | snapdragon-util "^3.0.1" 3321 | 3322 | snapdragon-util@^3.0.1: 3323 | version "3.0.1" 3324 | resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" 3325 | dependencies: 3326 | kind-of "^3.2.0" 3327 | 3328 | snapdragon@^0.8.1: 3329 | version "0.8.2" 3330 | resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" 3331 | dependencies: 3332 | base "^0.11.1" 3333 | debug "^2.2.0" 3334 | define-property "^0.2.5" 3335 | extend-shallow "^2.0.1" 3336 | map-cache "^0.2.2" 3337 | source-map "^0.5.6" 3338 | source-map-resolve "^0.5.0" 3339 | use "^3.1.0" 3340 | 3341 | source-list-map@^2.0.0: 3342 | version "2.0.0" 3343 | resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" 3344 | 3345 | source-map-resolve@^0.5.0: 3346 | version "0.5.1" 3347 | resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.1.tgz#7ad0f593f2281598e854df80f19aae4b92d7a11a" 3348 | dependencies: 3349 | atob "^2.0.0" 3350 | decode-uri-component "^0.2.0" 3351 | resolve-url "^0.2.1" 3352 | source-map-url "^0.4.0" 3353 | urix "^0.1.0" 3354 | 3355 | source-map-support@~0.5.6: 3356 | version "0.5.9" 3357 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.9.tgz#41bc953b2534267ea2d605bccfa7bfa3111ced5f" 3358 | integrity sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA== 3359 | dependencies: 3360 | buffer-from "^1.0.0" 3361 | source-map "^0.6.0" 3362 | 3363 | source-map-url@^0.4.0: 3364 | version "0.4.0" 3365 | resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" 3366 | 3367 | source-map@0.5.x, source-map@^0.5.6: 3368 | version "0.5.7" 3369 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 3370 | 3371 | source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: 3372 | version "0.6.1" 3373 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 3374 | 3375 | spdx-correct@^3.0.0: 3376 | version "3.0.0" 3377 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.0.tgz#05a5b4d7153a195bc92c3c425b69f3b2a9524c82" 3378 | dependencies: 3379 | spdx-expression-parse "^3.0.0" 3380 | spdx-license-ids "^3.0.0" 3381 | 3382 | spdx-exceptions@^2.1.0: 3383 | version "2.1.0" 3384 | resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz#2c7ae61056c714a5b9b9b2b2af7d311ef5c78fe9" 3385 | 3386 | spdx-expression-parse@^3.0.0: 3387 | version "3.0.0" 3388 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" 3389 | dependencies: 3390 | spdx-exceptions "^2.1.0" 3391 | spdx-license-ids "^3.0.0" 3392 | 3393 | spdx-license-ids@^3.0.0: 3394 | version "3.0.0" 3395 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87" 3396 | 3397 | split-string@^3.0.1, split-string@^3.0.2: 3398 | version "3.1.0" 3399 | resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" 3400 | dependencies: 3401 | extend-shallow "^3.0.0" 3402 | 3403 | sprintf-js@~1.0.2: 3404 | version "1.0.3" 3405 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 3406 | 3407 | ssri@^6.0.0: 3408 | version "6.0.1" 3409 | resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" 3410 | integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== 3411 | dependencies: 3412 | figgy-pudding "^3.5.1" 3413 | 3414 | static-extend@^0.1.1: 3415 | version "0.1.2" 3416 | resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" 3417 | dependencies: 3418 | define-property "^0.2.5" 3419 | object-copy "^0.1.0" 3420 | 3421 | stream-browserify@^2.0.1: 3422 | version "2.0.1" 3423 | resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" 3424 | dependencies: 3425 | inherits "~2.0.1" 3426 | readable-stream "^2.0.2" 3427 | 3428 | stream-each@^1.1.0: 3429 | version "1.2.2" 3430 | resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.2.tgz#8e8c463f91da8991778765873fe4d960d8f616bd" 3431 | dependencies: 3432 | end-of-stream "^1.1.0" 3433 | stream-shift "^1.0.0" 3434 | 3435 | stream-http@^2.7.2: 3436 | version "2.8.1" 3437 | resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.1.tgz#d0441be1a457a73a733a8a7b53570bebd9ef66a4" 3438 | dependencies: 3439 | builtin-status-codes "^3.0.0" 3440 | inherits "^2.0.1" 3441 | readable-stream "^2.3.3" 3442 | to-arraybuffer "^1.0.0" 3443 | xtend "^4.0.0" 3444 | 3445 | stream-shift@^1.0.0: 3446 | version "1.0.0" 3447 | resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" 3448 | 3449 | string-width@^1.0.1, string-width@^1.0.2: 3450 | version "1.0.2" 3451 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 3452 | dependencies: 3453 | code-point-at "^1.0.0" 3454 | is-fullwidth-code-point "^1.0.0" 3455 | strip-ansi "^3.0.0" 3456 | 3457 | string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: 3458 | version "2.1.1" 3459 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 3460 | dependencies: 3461 | is-fullwidth-code-point "^2.0.0" 3462 | strip-ansi "^4.0.0" 3463 | 3464 | string_decoder@^1.0.0, string_decoder@~1.1.1: 3465 | version "1.1.1" 3466 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 3467 | dependencies: 3468 | safe-buffer "~5.1.0" 3469 | 3470 | string_decoder@~0.10.x: 3471 | version "0.10.31" 3472 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" 3473 | 3474 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 3475 | version "3.0.1" 3476 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 3477 | dependencies: 3478 | ansi-regex "^2.0.0" 3479 | 3480 | strip-ansi@^4.0.0: 3481 | version "4.0.0" 3482 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 3483 | dependencies: 3484 | ansi-regex "^3.0.0" 3485 | 3486 | strip-bom@^3.0.0: 3487 | version "3.0.0" 3488 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 3489 | 3490 | strip-eof@^1.0.0: 3491 | version "1.0.0" 3492 | resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" 3493 | 3494 | strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: 3495 | version "2.0.1" 3496 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 3497 | 3498 | supports-color@5.4.0, supports-color@^5.3.0, supports-color@^5.4.0: 3499 | version "5.4.0" 3500 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" 3501 | integrity sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w== 3502 | dependencies: 3503 | has-flag "^3.0.0" 3504 | 3505 | supports-color@^2.0.0: 3506 | version "2.0.0" 3507 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 3508 | 3509 | supports-color@^5.5.0: 3510 | version "5.5.0" 3511 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 3512 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 3513 | dependencies: 3514 | has-flag "^3.0.0" 3515 | 3516 | table@^5.0.2: 3517 | version "5.1.0" 3518 | resolved "https://registry.yarnpkg.com/table/-/table-5.1.0.tgz#69a54644f6f01ad1628f8178715b408dc6bf11f7" 3519 | integrity sha512-e542in22ZLhD/fOIuXs/8yDZ9W61ltF8daM88rkRNtgTIct+vI2fTnAyu/Db2TCfEcI8i7mjZz6meLq0nW7TYg== 3520 | dependencies: 3521 | ajv "^6.5.3" 3522 | lodash "^4.17.10" 3523 | slice-ansi "1.0.0" 3524 | string-width "^2.1.1" 3525 | 3526 | tapable@^1.0.0: 3527 | version "1.0.0" 3528 | resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.0.0.tgz#cbb639d9002eed9c6b5975eb20598d7936f1f9f2" 3529 | 3530 | tapable@^1.1.0: 3531 | version "1.1.0" 3532 | resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.0.tgz#0d076a172e3d9ba088fd2272b2668fb8d194b78c" 3533 | integrity sha512-IlqtmLVaZA2qab8epUXbVWRn3aB1imbDMJtjB3nu4X0NqPkcY/JH9ZtCBWKHWPxs8Svi9tyo8w2dBoi07qZbBA== 3534 | 3535 | tar@^4: 3536 | version "4.4.2" 3537 | resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.2.tgz#60685211ba46b38847b1ae7ee1a24d744a2cd462" 3538 | dependencies: 3539 | chownr "^1.0.1" 3540 | fs-minipass "^1.2.5" 3541 | minipass "^2.2.4" 3542 | minizlib "^1.1.0" 3543 | mkdirp "^0.5.0" 3544 | safe-buffer "^5.1.2" 3545 | yallist "^3.0.2" 3546 | 3547 | terser-webpack-plugin@^1.1.0: 3548 | version "1.1.0" 3549 | resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.1.0.tgz#cf7c25a1eee25bf121f4a587bb9e004e3f80e528" 3550 | integrity sha512-61lV0DSxMAZ8AyZG7/A4a3UPlrbOBo8NIQ4tJzLPAdGOQ+yoNC7l5ijEow27lBAL2humer01KLS6bGIMYQxKoA== 3551 | dependencies: 3552 | cacache "^11.0.2" 3553 | find-cache-dir "^2.0.0" 3554 | schema-utils "^1.0.0" 3555 | serialize-javascript "^1.4.0" 3556 | source-map "^0.6.1" 3557 | terser "^3.8.1" 3558 | webpack-sources "^1.1.0" 3559 | worker-farm "^1.5.2" 3560 | 3561 | terser@^3.8.1: 3562 | version "3.10.12" 3563 | resolved "https://registry.yarnpkg.com/terser/-/terser-3.10.12.tgz#06d40765e40b33fd97977c0896c75b2b5d42142d" 3564 | integrity sha512-3ODPC1eVt25EVNb04s/PkHxOmzKBQUF6bwwuR6h2DbEF8/j265Y1UkwNtOk9am/pRxfJ5HPapOlUlO6c16mKQQ== 3565 | dependencies: 3566 | commander "~2.17.1" 3567 | source-map "~0.6.1" 3568 | source-map-support "~0.5.6" 3569 | 3570 | text-encoding@^0.6.4: 3571 | version "0.6.4" 3572 | resolved "https://registry.yarnpkg.com/text-encoding/-/text-encoding-0.6.4.tgz#e399a982257a276dae428bb92845cb71bdc26d19" 3573 | integrity sha1-45mpgiV6J22uQou5KEXLcb3CbRk= 3574 | 3575 | text-table@^0.2.0: 3576 | version "0.2.0" 3577 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 3578 | 3579 | through2@^2.0.0: 3580 | version "2.0.3" 3581 | resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" 3582 | dependencies: 3583 | readable-stream "^2.1.5" 3584 | xtend "~4.0.1" 3585 | 3586 | through@^2.3.6: 3587 | version "2.3.8" 3588 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 3589 | 3590 | timers-browserify@^2.0.4: 3591 | version "2.0.10" 3592 | resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae" 3593 | dependencies: 3594 | setimmediate "^1.0.4" 3595 | 3596 | tmp@^0.0.33: 3597 | version "0.0.33" 3598 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" 3599 | dependencies: 3600 | os-tmpdir "~1.0.2" 3601 | 3602 | to-arraybuffer@^1.0.0: 3603 | version "1.0.1" 3604 | resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" 3605 | 3606 | to-object-path@^0.3.0: 3607 | version "0.3.0" 3608 | resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" 3609 | dependencies: 3610 | kind-of "^3.0.2" 3611 | 3612 | to-regex-range@^2.1.0: 3613 | version "2.1.1" 3614 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" 3615 | dependencies: 3616 | is-number "^3.0.0" 3617 | repeat-string "^1.6.1" 3618 | 3619 | to-regex@^3.0.1, to-regex@^3.0.2: 3620 | version "3.0.2" 3621 | resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" 3622 | dependencies: 3623 | define-property "^2.0.2" 3624 | extend-shallow "^3.0.2" 3625 | regex-not "^1.0.2" 3626 | safe-regex "^1.1.0" 3627 | 3628 | toposort@^1.0.0: 3629 | version "1.0.7" 3630 | resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" 3631 | 3632 | tslib@^1.9.0: 3633 | version "1.9.3" 3634 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" 3635 | integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== 3636 | 3637 | tty-browserify@0.0.0: 3638 | version "0.0.0" 3639 | resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" 3640 | 3641 | type-check@~0.3.2: 3642 | version "0.3.2" 3643 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" 3644 | dependencies: 3645 | prelude-ls "~1.1.2" 3646 | 3647 | type-detect@4.0.8, type-detect@^4.0.0, type-detect@^4.0.5, type-detect@^4.0.8: 3648 | version "4.0.8" 3649 | resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" 3650 | integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== 3651 | 3652 | typedarray@^0.0.6: 3653 | version "0.0.6" 3654 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" 3655 | 3656 | uglify-js@3.3.x: 3657 | version "3.3.23" 3658 | resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.3.23.tgz#48ea43e638364d18be292a6fdc2b5b7c35f239ab" 3659 | dependencies: 3660 | commander "~2.15.0" 3661 | source-map "~0.6.1" 3662 | 3663 | union-value@^1.0.0: 3664 | version "1.0.0" 3665 | resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" 3666 | dependencies: 3667 | arr-union "^3.1.0" 3668 | get-value "^2.0.6" 3669 | is-extendable "^0.1.1" 3670 | set-value "^0.4.3" 3671 | 3672 | unique-filename@^1.1.0: 3673 | version "1.1.0" 3674 | resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.0.tgz#d05f2fe4032560871f30e93cbe735eea201514f3" 3675 | dependencies: 3676 | unique-slug "^2.0.0" 3677 | 3678 | unique-slug@^2.0.0: 3679 | version "2.0.0" 3680 | resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.0.tgz#db6676e7c7cc0629878ff196097c78855ae9f4ab" 3681 | dependencies: 3682 | imurmurhash "^0.1.4" 3683 | 3684 | unset-value@^1.0.0: 3685 | version "1.0.0" 3686 | resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" 3687 | dependencies: 3688 | has-value "^0.3.1" 3689 | isobject "^3.0.0" 3690 | 3691 | upath@^1.0.0: 3692 | version "1.0.5" 3693 | resolved "https://registry.yarnpkg.com/upath/-/upath-1.0.5.tgz#02cab9ecebe95bbec6d5fc2566325725ab6d1a73" 3694 | 3695 | upper-case@^1.1.1: 3696 | version "1.1.3" 3697 | resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" 3698 | 3699 | uri-js@^3.0.2: 3700 | version "3.0.2" 3701 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-3.0.2.tgz#f90b858507f81dea4dcfbb3c4c3dbfa2b557faaa" 3702 | dependencies: 3703 | punycode "^2.1.0" 3704 | 3705 | uri-js@^4.2.2: 3706 | version "4.2.2" 3707 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" 3708 | integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== 3709 | dependencies: 3710 | punycode "^2.1.0" 3711 | 3712 | urix@^0.1.0: 3713 | version "0.1.0" 3714 | resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" 3715 | 3716 | url@^0.11.0: 3717 | version "0.11.0" 3718 | resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" 3719 | dependencies: 3720 | punycode "1.3.2" 3721 | querystring "0.2.0" 3722 | 3723 | use@^3.1.0: 3724 | version "3.1.0" 3725 | resolved "https://registry.yarnpkg.com/use/-/use-3.1.0.tgz#14716bf03fdfefd03040aef58d8b4b85f3a7c544" 3726 | dependencies: 3727 | kind-of "^6.0.2" 3728 | 3729 | util-deprecate@~1.0.1: 3730 | version "1.0.2" 3731 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 3732 | 3733 | util.promisify@1.0.0: 3734 | version "1.0.0" 3735 | resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" 3736 | dependencies: 3737 | define-properties "^1.1.2" 3738 | object.getownpropertydescriptors "^2.0.3" 3739 | 3740 | util@0.10.3, util@^0.10.3: 3741 | version "0.10.3" 3742 | resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" 3743 | dependencies: 3744 | inherits "2.0.1" 3745 | 3746 | utila@~0.3: 3747 | version "0.3.3" 3748 | resolved "https://registry.yarnpkg.com/utila/-/utila-0.3.3.tgz#d7e8e7d7e309107092b05f8d9688824d633a4226" 3749 | 3750 | utila@~0.4: 3751 | version "0.4.0" 3752 | resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" 3753 | 3754 | v8-compile-cache@^2.0.2: 3755 | version "2.0.2" 3756 | resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz#a428b28bb26790734c4fc8bc9fa106fccebf6a6c" 3757 | integrity sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw== 3758 | 3759 | validate-npm-package-license@^3.0.1: 3760 | version "3.0.3" 3761 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz#81643bcbef1bdfecd4623793dc4648948ba98338" 3762 | dependencies: 3763 | spdx-correct "^3.0.0" 3764 | spdx-expression-parse "^3.0.0" 3765 | 3766 | vm-browserify@0.0.4: 3767 | version "0.0.4" 3768 | resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" 3769 | dependencies: 3770 | indexof "0.0.1" 3771 | 3772 | watchpack@^1.5.0: 3773 | version "1.6.0" 3774 | resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" 3775 | dependencies: 3776 | chokidar "^2.0.2" 3777 | graceful-fs "^4.1.2" 3778 | neo-async "^2.5.0" 3779 | 3780 | webpack-cli@^3.1.2: 3781 | version "3.1.2" 3782 | resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.1.2.tgz#17d7e01b77f89f884a2bbf9db545f0f6a648e746" 3783 | integrity sha512-Cnqo7CeqeSvC6PTdts+dywNi5CRlIPbLx1AoUPK2T6vC1YAugMG3IOoO9DmEscd+Dghw7uRlnzV1KwOe5IrtgQ== 3784 | dependencies: 3785 | chalk "^2.4.1" 3786 | cross-spawn "^6.0.5" 3787 | enhanced-resolve "^4.1.0" 3788 | global-modules-path "^2.3.0" 3789 | import-local "^2.0.0" 3790 | interpret "^1.1.0" 3791 | loader-utils "^1.1.0" 3792 | supports-color "^5.5.0" 3793 | v8-compile-cache "^2.0.2" 3794 | yargs "^12.0.2" 3795 | 3796 | webpack-sources@^1.1.0: 3797 | version "1.1.0" 3798 | resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.1.0.tgz#a101ebae59d6507354d71d8013950a3a8b7a5a54" 3799 | dependencies: 3800 | source-list-map "^2.0.0" 3801 | source-map "~0.6.1" 3802 | 3803 | webpack-sources@^1.3.0: 3804 | version "1.3.0" 3805 | resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.3.0.tgz#2a28dcb9f1f45fe960d8f1493252b5ee6530fa85" 3806 | integrity sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA== 3807 | dependencies: 3808 | source-list-map "^2.0.0" 3809 | source-map "~0.6.1" 3810 | 3811 | webpack@^4.26.0: 3812 | version "4.26.0" 3813 | resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.26.0.tgz#adbe80b869148c8d108b7d88965d00d72b3178de" 3814 | integrity sha512-J/dP9SJIc5OtX2FZ/+U9ikQtd6H6Mcbqt0xeXtmPwYGDKf8nkbOQQA9KL2Y0rJOsN1Al9Pdn+/j63X58ub8gvQ== 3815 | dependencies: 3816 | "@webassemblyjs/ast" "1.7.11" 3817 | "@webassemblyjs/helper-module-context" "1.7.11" 3818 | "@webassemblyjs/wasm-edit" "1.7.11" 3819 | "@webassemblyjs/wasm-parser" "1.7.11" 3820 | acorn "^5.6.2" 3821 | acorn-dynamic-import "^3.0.0" 3822 | ajv "^6.1.0" 3823 | ajv-keywords "^3.1.0" 3824 | chrome-trace-event "^1.0.0" 3825 | enhanced-resolve "^4.1.0" 3826 | eslint-scope "^4.0.0" 3827 | json-parse-better-errors "^1.0.2" 3828 | loader-runner "^2.3.0" 3829 | loader-utils "^1.1.0" 3830 | memory-fs "~0.4.1" 3831 | micromatch "^3.1.8" 3832 | mkdirp "~0.5.0" 3833 | neo-async "^2.5.0" 3834 | node-libs-browser "^2.0.0" 3835 | schema-utils "^0.4.4" 3836 | tapable "^1.1.0" 3837 | terser-webpack-plugin "^1.1.0" 3838 | watchpack "^1.5.0" 3839 | webpack-sources "^1.3.0" 3840 | 3841 | which-module@^2.0.0: 3842 | version "2.0.0" 3843 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" 3844 | 3845 | which@^1.2.9: 3846 | version "1.3.0" 3847 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" 3848 | dependencies: 3849 | isexe "^2.0.0" 3850 | 3851 | wide-align@^1.1.0: 3852 | version "1.1.2" 3853 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" 3854 | dependencies: 3855 | string-width "^1.0.2" 3856 | 3857 | wordwrap@~1.0.0: 3858 | version "1.0.0" 3859 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" 3860 | 3861 | worker-farm@^1.5.2: 3862 | version "1.6.0" 3863 | resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.6.0.tgz#aecc405976fab5a95526180846f0dba288f3a4a0" 3864 | dependencies: 3865 | errno "~0.1.7" 3866 | 3867 | wrap-ansi@^2.0.0: 3868 | version "2.1.0" 3869 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" 3870 | dependencies: 3871 | string-width "^1.0.1" 3872 | strip-ansi "^3.0.1" 3873 | 3874 | wrappy@1: 3875 | version "1.0.2" 3876 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 3877 | 3878 | write@^0.2.1: 3879 | version "0.2.1" 3880 | resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" 3881 | dependencies: 3882 | mkdirp "^0.5.1" 3883 | 3884 | xtend@^4.0.0, xtend@~4.0.1: 3885 | version "4.0.1" 3886 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 3887 | 3888 | "y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: 3889 | version "4.0.0" 3890 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" 3891 | 3892 | yallist@^3.0.0, yallist@^3.0.2: 3893 | version "3.0.2" 3894 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9" 3895 | 3896 | yargs-parser@^11.1.1: 3897 | version "11.1.1" 3898 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" 3899 | integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== 3900 | dependencies: 3901 | camelcase "^5.0.0" 3902 | decamelize "^1.2.0" 3903 | 3904 | yargs@^12.0.2: 3905 | version "12.0.5" 3906 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" 3907 | integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== 3908 | dependencies: 3909 | cliui "^4.0.0" 3910 | decamelize "^1.2.0" 3911 | find-up "^3.0.0" 3912 | get-caller-file "^1.0.1" 3913 | os-locale "^3.0.0" 3914 | require-directory "^2.1.1" 3915 | require-main-filename "^1.0.1" 3916 | set-blocking "^2.0.0" 3917 | string-width "^2.0.0" 3918 | which-module "^2.0.0" 3919 | y18n "^3.2.1 || ^4.0.0" 3920 | yargs-parser "^11.1.1" 3921 | --------------------------------------------------------------------------------