From d93173e8d2911d55353de42a47396600ae783197 Mon Sep 17 00:00:00 2001 From: Art Lowel Date: Fri, 31 May 2019 09:44:49 +0200 Subject: [PATCH] add syncbuilddir step to aot build --- .gitignore | 2 + package.json | 12 +- src/styles/_exposed_variables.scss | 2 +- .../home-news/home-news.component.scss | 2 +- .../app/+home-page/home-page.component.scss | 2 +- .../journal-issue.component.scss | 2 +- .../journal-volume.component.scss | 2 +- .../item-types/journal/journal.component.scss | 2 +- .../item-types/orgunit/orgunit.component.scss | 2 +- .../item-types/person/person.component.scss | 2 +- .../item-types/project/project.component.scss | 2 +- .../publication/publication.component.scss | 2 +- .../search-filter.component.scss | 2 +- .../search-range-filter.component.scss | 2 +- .../search-settings.component.scss | 2 +- .../mantis/app/navbar/navbar.component.scss | 2 +- webpack/helpers.js | 36 ++- webpack/run-replace.js | 23 ++ webpack/webpack.aot.js | 10 +- webpack/webpack.client.js | 9 +- webpack/webpack.common.js | 7 +- webpack/webpack.prod.js | 118 ++++----- webpack/webpack.server.js | 4 +- webpack/webpack.test.js | 14 +- yarn.lock | 244 +++++++++++++++++- 25 files changed, 394 insertions(+), 113 deletions(-) create mode 100644 webpack/run-replace.js diff --git a/.gitignore b/.gitignore index dd5f5fa391..01fc9231bc 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,8 @@ /tsd_typings/ npm-debug.log +/build/ + /config/environment.dev.js /config/environment.prod.js diff --git a/package.json b/package.json index 6ff3c18933..05bbd026fe 100644 --- a/package.json +++ b/package.json @@ -17,15 +17,16 @@ "clean:doc": "rimraf doc", "clean:log": "rimraf *.log*", "clean:json": "rimraf *.records.json", + "clean:bld": "rimraf build", "clean:node": "rimraf node_modules", - "clean:prod": "yarn run clean:coverage && yarn run clean:doc && yarn run clean:dist && yarn run clean:log && yarn run clean:json", + "clean:prod": "yarn run clean:coverage && yarn run clean:doc && yarn run clean:dist && yarn run clean:log && yarn run clean:json && yarn run clean:bld", "clean": "yarn run clean:prod && yarn run clean:node", - "prebuild": "yarn run clean:dist", + "prebuild": "yarn run clean:bld && yarn run clean:dist", "prebuild:aot": "yarn run prebuild", "prebuild:prod": "yarn run prebuild", "build": "node ./webpack/run-webpack.js --progress --mode development", - "build:aot": "node ./webpack/run-webpack.js --env.aot --env.server --mode development && node ./webpack/run-webpack.js --env.aot --env.client --mode development", - "build:prod": "node ./webpack/run-webpack.js --env.aot --env.server --mode production && node ./webpack/run-webpack.js --env.aot --env.client --mode production", + "build:aot": "yarn run syncbuilddir && node ./webpack/run-replace.js && DSPACE_BUILD_DIR=./build node ./webpack/run-webpack.js --env.aot --env.server --mode development && DSPACE_BUILD_DIR=./build node ./webpack/run-webpack.js --env.aot --env.client --mode development", + "build:prod": "yarn run syncbuilddir && node ./webpack/run-replace.js && DSPACE_BUILD_DIR=./build node ./webpack/run-webpack.js --env.aot --env.server --mode production && DSPACE_BUILD_DIR=./build node ./webpack/run-webpack.js --env.aot --env.client --mode production", "postbuild:prod": "yarn run rollup", "rollup": "rollup -c rollup.config.js", "prestart": "yarn run build:prod", @@ -40,6 +41,7 @@ "server": "node dist/server.js", "server:watch": "nodemon dist/server.js", "server:watch:debug": "nodemon --debug dist/server.js", + "syncbuilddir": "copyfiles -u 1 \"./src/**/*\" build && copyfiles -u 2 \"./themes/mantis/**/*\" build", "webpack:watch": "node ./webpack/run-webpack.js -w --mode development", "watch": "yarn run build && npm-run-all -p webpack:watch server:watch", "watch:debug": "yarn run build && npm-run-all -p webpack:watch server:watch:debug", @@ -165,6 +167,7 @@ "codelyzer": "^4.4.4", "compression-webpack-plugin": "^1.1.6", "copy-webpack-plugin": "^4.4.1", + "copyfiles": "^2.1.0", "coveralls": "3.0.0", "css-loader": "1.0.0", "cssnano": "^4.1.10", @@ -204,6 +207,7 @@ "protractor": "^5.3.0", "protractor-istanbul-plugin": "2.0.0", "raw-loader": "0.5.1", + "replace-in-file": "^4.1.0", "resolve-url-loader": "^2.3.0", "rimraf": "2.6.2", "rollup": "^0.65.0", diff --git a/src/styles/_exposed_variables.scss b/src/styles/_exposed_variables.scss index 5a3a69fc3c..f66c25bbaf 100644 --- a/src/styles/_exposed_variables.scss +++ b/src/styles/_exposed_variables.scss @@ -7,4 +7,4 @@ sidebarItemsWidth: $sidebar-items-width; collapsedSidebarWidth: $collapsed-sidebar-width; totalSidebarWidth: $total-sidebar-width; -} \ No newline at end of file +} diff --git a/themes/mantis/app/+home-page/home-news/home-news.component.scss b/themes/mantis/app/+home-page/home-news/home-news.component.scss index 122e564bfd..a9c2f8eed5 100644 --- a/themes/mantis/app/+home-page/home-news/home-news.component.scss +++ b/themes/mantis/app/+home-page/home-news/home-news.component.scss @@ -1,4 +1,4 @@ -@import '../../../../../src/app/+home-page/home-news/home-news.component'; +@import '~/src/app/+home-page/home-news/home-news.component.scss'; $home-news-link-color: $green !default; $home-news-link-color: darken($home-news-link-color, 15%) !default; diff --git a/themes/mantis/app/+home-page/home-page.component.scss b/themes/mantis/app/+home-page/home-page.component.scss index a3dc4b196a..ea50989878 100644 --- a/themes/mantis/app/+home-page/home-page.component.scss +++ b/themes/mantis/app/+home-page/home-page.component.scss @@ -1,4 +1,4 @@ -@import '../../../../src/app/+home-page/home-page.component'; +@import '~/src/app/+home-page/home-page.component.scss'; div.background-image { color: white; diff --git a/themes/mantis/app/+item-page/simple/item-types/journal-issue/journal-issue.component.scss b/themes/mantis/app/+item-page/simple/item-types/journal-issue/journal-issue.component.scss index cfc92fb049..a307fca0e9 100644 --- a/themes/mantis/app/+item-page/simple/item-types/journal-issue/journal-issue.component.scss +++ b/themes/mantis/app/+item-page/simple/item-types/journal-issue/journal-issue.component.scss @@ -1,4 +1,4 @@ -@import '../../../../../../../src/app/+item-page/simple/item-types/journal-issue/journal-issue.component'; +@import '~/src/app/+item-page/simple/item-types/journal-issue/journal-issue.component.scss'; :host { > * { diff --git a/themes/mantis/app/+item-page/simple/item-types/journal-volume/journal-volume.component.scss b/themes/mantis/app/+item-page/simple/item-types/journal-volume/journal-volume.component.scss index 6feb6d65ff..eb41652261 100644 --- a/themes/mantis/app/+item-page/simple/item-types/journal-volume/journal-volume.component.scss +++ b/themes/mantis/app/+item-page/simple/item-types/journal-volume/journal-volume.component.scss @@ -1,4 +1,4 @@ -@import '../../../../../../../src/app/+item-page/simple/item-types/journal-volume/journal-volume.component'; +@import '~/src/app/+item-page/simple/item-types/journal-volume/journal-volume.component.scss'; :host { > * { diff --git a/themes/mantis/app/+item-page/simple/item-types/journal/journal.component.scss b/themes/mantis/app/+item-page/simple/item-types/journal/journal.component.scss index 06bdd77845..8c2cb20a4d 100644 --- a/themes/mantis/app/+item-page/simple/item-types/journal/journal.component.scss +++ b/themes/mantis/app/+item-page/simple/item-types/journal/journal.component.scss @@ -1,4 +1,4 @@ -@import '../../../../../../../src/app/+item-page/simple/item-types/journal/journal.component'; +@import '~/src/app/+item-page/simple/item-types/journal/journal.component.scss'; :host { > * { diff --git a/themes/mantis/app/+item-page/simple/item-types/orgunit/orgunit.component.scss b/themes/mantis/app/+item-page/simple/item-types/orgunit/orgunit.component.scss index 5d478c51ec..956888ed74 100644 --- a/themes/mantis/app/+item-page/simple/item-types/orgunit/orgunit.component.scss +++ b/themes/mantis/app/+item-page/simple/item-types/orgunit/orgunit.component.scss @@ -1,4 +1,4 @@ -@import '../../../../../../../src/app/+item-page/simple/item-types/orgunit/orgunit.component'; +@import '~/src/app/+item-page/simple/item-types/orgunit/orgunit.component.scss'; :host { > * { diff --git a/themes/mantis/app/+item-page/simple/item-types/person/person.component.scss b/themes/mantis/app/+item-page/simple/item-types/person/person.component.scss index 056d4f80f2..3958f00fc8 100644 --- a/themes/mantis/app/+item-page/simple/item-types/person/person.component.scss +++ b/themes/mantis/app/+item-page/simple/item-types/person/person.component.scss @@ -1,4 +1,4 @@ -@import '../../../../../../../src/app/+item-page/simple/item-types/person/person.component'; +@import '~/src/app/+item-page/simple/item-types/person/person.component.scss'; :host { > * { diff --git a/themes/mantis/app/+item-page/simple/item-types/project/project.component.scss b/themes/mantis/app/+item-page/simple/item-types/project/project.component.scss index 5b90e2f659..372b79cbca 100644 --- a/themes/mantis/app/+item-page/simple/item-types/project/project.component.scss +++ b/themes/mantis/app/+item-page/simple/item-types/project/project.component.scss @@ -1,4 +1,4 @@ -@import '../../../../../../../src/app/+item-page/simple/item-types/project/project.component'; +@import '~/src/app/+item-page/simple/item-types/project/project.component.scss'; :host { > * { diff --git a/themes/mantis/app/+item-page/simple/item-types/publication/publication.component.scss b/themes/mantis/app/+item-page/simple/item-types/publication/publication.component.scss index 6422be1ba5..0c47ac24e9 100644 --- a/themes/mantis/app/+item-page/simple/item-types/publication/publication.component.scss +++ b/themes/mantis/app/+item-page/simple/item-types/publication/publication.component.scss @@ -1,4 +1,4 @@ -@import '../../../../../../../src/app/+item-page/simple/item-types/publication/publication.component'; +@import '~/src/app/+item-page/simple/item-types/publication/publication.component.scss'; :host { > * { diff --git a/themes/mantis/app/+search-page/search-filters/search-filter/search-filter.component.scss b/themes/mantis/app/+search-page/search-filters/search-filter/search-filter.component.scss index e1614374a3..00a7442eed 100644 --- a/themes/mantis/app/+search-page/search-filters/search-filter/search-filter.component.scss +++ b/themes/mantis/app/+search-page/search-filters/search-filter/search-filter.component.scss @@ -1,4 +1,4 @@ -@import '../../../../../../src/app/+search-page/search-filters/search-filter/search-filter.component'; +@import '~/src/app/+search-page/search-filters/search-filter/search-filter.component.scss'; .facet-filter { background-color: map-get($theme-colors, light); diff --git a/themes/mantis/app/+search-page/search-filters/search-filter/search-range-filter/search-range-filter.component.scss b/themes/mantis/app/+search-page/search-filters/search-filter/search-range-filter/search-range-filter.component.scss index 1fd2b06c6a..6d3ad5f766 100644 --- a/themes/mantis/app/+search-page/search-filters/search-filter/search-range-filter/search-range-filter.component.scss +++ b/themes/mantis/app/+search-page/search-filters/search-filter/search-range-filter/search-range-filter.component.scss @@ -1,4 +1,4 @@ -@import '../../../../../../../src/app/+search-page/search-filters/search-filter/search-range-filter/search-range-filter.component'; +@import '~/src/app/+search-page/search-filters/search-filter/search-range-filter/search-range-filter.component.scss'; ::ng-deep .noUi-connect { background: $info; diff --git a/themes/mantis/app/+search-page/search-settings/search-settings.component.scss b/themes/mantis/app/+search-page/search-settings/search-settings.component.scss index 2701fa8795..b99d36a889 100644 --- a/themes/mantis/app/+search-page/search-settings/search-settings.component.scss +++ b/themes/mantis/app/+search-page/search-settings/search-settings.component.scss @@ -1,4 +1,4 @@ -@import '../../../../../src/app/+search-page/search-settings/search-settings.component'; +@import '~/src/app/+search-page/search-settings/search-settings.component.scss'; .setting-option { background-color: map-get($theme-colors, light); diff --git a/themes/mantis/app/navbar/navbar.component.scss b/themes/mantis/app/navbar/navbar.component.scss index 20263f1073..80cc462c47 100644 --- a/themes/mantis/app/navbar/navbar.component.scss +++ b/themes/mantis/app/navbar/navbar.component.scss @@ -1,4 +1,4 @@ -@import '../../../../src/app/navbar/navbar.component.scss'; +@import '~/src/app/navbar/navbar.component.scss'; nav.navbar { border-bottom: 5px $green solid; diff --git a/webpack/helpers.js b/webpack/helpers.js index 7674cce152..db11a7ed9e 100644 --- a/webpack/helpers.js +++ b/webpack/helpers.js @@ -2,9 +2,17 @@ const path = require('path'); const fs = require('fs'); -function root(relativePath) { +const projectRoot = (relativePath) => { return path.resolve(__dirname, '..', relativePath); -} +}; + +const buildRoot = (relativePath) => { + if (process.env.DSPACE_BUILD_DIR) { + return path.resolve(projectRoot(process.env.DSPACE_BUILD_DIR), relativePath); + } else { + return path.resolve(projectRoot('src'), relativePath); + } +}; // const theme = ''; const theme = 'mantis'; @@ -22,12 +30,17 @@ const themeReplaceOptions = { search: '$themePath$/', replace: (themePath.length ? themePath + '/' : ''), - + flags: 'g' + }, + { + search: '@import \'~/', + replace: '@import \'' + projectRoot('./') + '/', + flags: 'g' } ] }; -const srcPath = root('src'); +const srcPath = projectRoot('src'); const getThemedPath = (componentPath, ext) => { const parsedPath = path.parse(componentPath); @@ -62,11 +75,12 @@ const themedUse = (resource, extension) => { }; module.exports = { - root: root, - theme: theme, - getThemedPath: getThemedPath, - themedTest: themedTest, - themedUse: themedUse, - globalCSSImports: globalCSSImports, - themeReplaceOptions: themeReplaceOptions + projectRoot, + buildRoot, + theme, + getThemedPath, + themedTest, + themedUse, + globalCSSImports, + themeReplaceOptions }; diff --git a/webpack/run-replace.js b/webpack/run-replace.js new file mode 100644 index 0000000000..fc73f74583 --- /dev/null +++ b/webpack/run-replace.js @@ -0,0 +1,23 @@ +const replace = require('replace-in-file'); +const { + projectRoot, +} = require('./helpers'); + +/** + * This script ensures you can use ~ to reference the project dir + * in scss imports for AoT builds as well. + */ + + +const options = { + files: projectRoot('build') + '/**/*.scss', + from: /@import '~\//g, + to: `@import '${projectRoot('./')}/`, +}; + +try { + replace.sync(options); +} +catch (error) { + console.error('Error occurred:', error); +} diff --git a/webpack/webpack.aot.js b/webpack/webpack.aot.js index 2c2366a23e..6302c34519 100644 --- a/webpack/webpack.aot.js +++ b/webpack/webpack.aot.js @@ -1,5 +1,5 @@ const { - root + buildRoot } = require('./helpers'); const { @@ -7,13 +7,13 @@ const { } = require('@ngtools/webpack'); const tsconfigs = { - client: root('./src/tsconfig.browser.json'), - server: root('./src/tsconfig.server.json') + client: buildRoot('./tsconfig.browser.json'), + server: buildRoot('./tsconfig.server.json') }; const aotTsconfigs = { - client: root('./src/tsconfig.browser.json'), - server: root('./src/tsconfig.server.aot.json') + client: buildRoot('./tsconfig.browser.json'), + server: buildRoot('./tsconfig.server.aot.json') }; /** diff --git a/webpack/webpack.client.js b/webpack/webpack.client.js index 20dcbddb20..44d43aa739 100644 --- a/webpack/webpack.client.js +++ b/webpack/webpack.client.js @@ -2,19 +2,20 @@ const HtmlWebpackPlugin = require('html-webpack-plugin'); const ScriptExtPlugin = require('script-ext-html-webpack-plugin'); const { - root + projectRoot, + buildRoot } = require('./helpers'); module.exports = { - entry: root('./src/main.browser.ts'), + entry: buildRoot('./main.browser.ts'), output: { filename: 'client.js' }, target: 'web', plugins: [ new HtmlWebpackPlugin({ - template: root('./src/index.html'), - output: root('dist'), + template: buildRoot('./index.html'), + output: projectRoot('dist'), inject: 'head' }), new ScriptExtPlugin({ diff --git a/webpack/webpack.common.js b/webpack/webpack.common.js index 2b13b4b4ae..fc6841a0c4 100644 --- a/webpack/webpack.common.js +++ b/webpack/webpack.common.js @@ -1,7 +1,7 @@ const CopyWebpackPlugin = require('copy-webpack-plugin'); const path = require('path'); const { - root, + projectRoot, globalCSSImports, themeReplaceOptions, themedTest, @@ -15,7 +15,7 @@ module.exports = { extensions: ['.ts', '.js', '.json'] }, output: { - path: root('dist') + path: projectRoot('dist') }, watchOptions: { aggregateTimeout: 50, @@ -94,8 +94,7 @@ module.exports = { options: { resources: globalCSSImports }, - }, - 'webpack-import-glob-loader' + } ] }, { diff --git a/webpack/webpack.prod.js b/webpack/webpack.prod.js index 35a683bb96..df0d6274d9 100644 --- a/webpack/webpack.prod.js +++ b/webpack/webpack.prod.js @@ -6,70 +6,70 @@ const OptimizeCSSAssetsPlugin = require("optimize-css-assets-webpack-plugin"); const cssnano = require("cssnano"); const { - root + projectRoot } = require('./helpers'); module.exports = { - mode: 'production', - recordsOutputPath: root('webpack.records.json'), - plugins: [ - new webpack.EnvironmentPlugin({ - 'process.env': { - 'NODE_ENV': JSON.stringify('production'), - 'AOT': true - } - }), + mode: 'production', + recordsOutputPath: projectRoot('webpack.records.json'), + plugins: [ + new webpack.EnvironmentPlugin({ + 'process.env': { + 'NODE_ENV': JSON.stringify('production'), + 'AOT': true + } + }), - new BundleAnalyzerPlugin({ - analyzerMode: 'disabled', // change it to `server` to view bundle stats - reportFilename: 'report.html', - generateStatsFile: true, - statsFilename: 'stats.json', - }), + new BundleAnalyzerPlugin({ + analyzerMode: 'disabled', // change it to `server` to view bundle stats + reportFilename: 'report.html', + generateStatsFile: true, + statsFilename: 'stats.json', + }), - new CompressionPlugin({ - asset: "[path].gz[query]", - algorithm: "gzip", - test: /\.js$|\.css$|\.html$/, - threshold: 10240, - minRatio: 0.8 - }) + new CompressionPlugin({ + asset: "[path].gz[query]", + algorithm: "gzip", + test: /\.js$|\.css$|\.html$/, + threshold: 10240, + minRatio: 0.8 + }) - ], - optimization: { - minimizer: [ - new UglifyJsPlugin({ - uglifyOptions: { - beautify: false, - mangle: false, - output: { - comments: false - }, - compress: { - warnings: false, - conditionals: false, - unused: true, - comparisons: true, - sequences: true, - dead_code: true, - evaluate: true, - if_return: true, - join_vars: true, - negate_iife: true - }, - sourceMap: true - } - }), - new OptimizeCSSAssetsPlugin({ - cssProcessor: cssnano, - cssProcessorOptions: { - discardComments: { - removeAll: true, - } - }, - safe: true - }) - ] - }, + ], + optimization: { + minimizer: [ + new UglifyJsPlugin({ + uglifyOptions: { + beautify: false, + mangle: false, + output: { + comments: false + }, + compress: { + warnings: false, + conditionals: false, + unused: true, + comparisons: true, + sequences: true, + dead_code: true, + evaluate: true, + if_return: true, + join_vars: true, + negate_iife: true + }, + sourceMap: true + } + }), + new OptimizeCSSAssetsPlugin({ + cssProcessor: cssnano, + cssProcessorOptions: { + discardComments: { + removeAll: true, + } + }, + safe: true + }) + ] + }, }; diff --git a/webpack/webpack.server.js b/webpack/webpack.server.js index f7c490a52b..99cdfd3b68 100644 --- a/webpack/webpack.server.js +++ b/webpack/webpack.server.js @@ -1,12 +1,12 @@ var nodeExternals = require('webpack-node-externals'); const { - root + buildRoot } = require('./helpers'); module.exports = { getServerWebpackPartial: function (aot) { - const entry = aot ? root('./src/main.server.aot.ts') : root('./src/main.server.ts'); + const entry = aot ? buildRoot('./main.server.aot.ts') : buildRoot('./main.server.ts'); return { entry: entry, output: { diff --git a/webpack/webpack.test.js b/webpack/webpack.test.js index 03a9aefc0a..ed389270d7 100644 --- a/webpack/webpack.test.js +++ b/webpack/webpack.test.js @@ -1,5 +1,5 @@ const { - root, + projectRoot, globalCSSImports, themeReplaceOptions } = require('./helpers'); @@ -53,7 +53,7 @@ module.exports = function (options) { /** * Make sure root is src */ - modules: [root('src'), 'node_modules'] + modules: [projectRoot('src'), 'node_modules'] }, @@ -97,7 +97,7 @@ module.exports = function (options) { loaders: [{ loader: 'ts-loader', options: { - configFile: root('src/tsconfig.test.json'), + configFile: projectRoot('src/tsconfig.test.json'), transpileOnly: true } }, @@ -184,7 +184,7 @@ module.exports = function (options) { { test: /\.html$/, loader: 'raw-loader', - exclude: [root('src/index.html')] + exclude: [projectRoot('src/index.html')] }, /** @@ -200,7 +200,7 @@ module.exports = function (options) { query: { esModules: true }, - include: root('src'), + include: projectRoot('src'), exclude: [ /\.(e2e|spec)\.ts$/, /node_modules/ @@ -219,12 +219,12 @@ module.exports = function (options) { new ContextReplacementPlugin( /angular(\\|\/)core(\\|\/)@angular/, - root('./src'), {} + projectRoot('./src'), {} ), // Workaround for https://github.com/angular/angular/issues/20357 new ContextReplacementPlugin( /\@angular(\\|\/)core(\\|\/)esm5/, - root('./src'), {} + projectRoot('./src'), {} ), /** diff --git a/yarn.lock b/yarn.lock index 160b7d59be..6b132d0f67 100644 --- a/yarn.lock +++ b/yarn.lock @@ -845,6 +845,11 @@ ansi-regex@^3.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" @@ -1787,6 +1792,11 @@ camelcase@^4.0.0, camelcase@^4.1.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= +camelcase@^5.0.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + caniuse-api@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-2.0.0.tgz#b1ddb5a5966b16f48dc4998444d4bbc6c7d9d834" @@ -2023,6 +2033,15 @@ cliui@^4.0.0: strip-ansi "^4.0.0" wrap-ansi "^2.0.0" +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + clone-deep@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-2.0.2.tgz#00db3a1e173656730d1188c3d6aced6d7ea97713" @@ -2388,6 +2407,18 @@ copy-webpack-plugin@^4.4.1: p-limit "^1.0.0" serialize-javascript "^1.4.0" +copyfiles@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/copyfiles/-/copyfiles-2.1.0.tgz#0e2a4188162d6b2f3c5adfe34e9c0bd564d23164" + integrity sha512-cAeDE0vL/koE9WSEGxqPpSyvU638Kgfu6wfrnj7kqp9FWa1CWsU54Coo6sdYZP4GstWa39tL/wIVJWfXcujgNA== + dependencies: + glob "^7.0.5" + minimatch "^3.0.3" + mkdirp "^0.5.1" + noms "0.0.0" + through2 "^2.0.1" + yargs "^11.0.0" + core-js@^2.2.0, core-js@^2.4.0, core-js@^2.5.7: version "2.5.7" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.7.tgz#f972608ff0cead68b841a16a932d0b183791814e" @@ -2842,7 +2873,7 @@ debug@^3.1.0, debug@~3.1.0: dependencies: ms "2.0.0" -decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: +decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -3208,6 +3239,11 @@ elliptic@^6.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.0" +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + emojis-list@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" @@ -3532,6 +3568,19 @@ execa@^0.7.0: signal-exit "^3.0.0" strip-eof "^1.0.0" +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" @@ -4164,6 +4213,11 @@ get-caller-file@^1.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + get-stdin@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" @@ -4179,6 +4233,13 @@ get-stream@^3.0.0: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" @@ -4242,6 +4303,18 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.1, glob@^7.1.2, gl once "^1.3.0" path-is-absolute "^1.0.0" +glob@^7.1.3: + version "7.1.4" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" + integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + global-dirs@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" @@ -4962,6 +5035,11 @@ invert-kv@^1.0.0: resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= +invert-kv@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" + integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== + ip-regex@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" @@ -5829,6 +5907,13 @@ lcid@^1.0.0: dependencies: invert-kv "^1.0.0" +lcid@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" + integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== + dependencies: + invert-kv "^2.0.0" + lcov-parse@^0.0.10: version "0.0.10" resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-0.0.10.tgz#1b0b8ff9ac9c7889250582b70b71315d9da6d9a3" @@ -6263,6 +6348,13 @@ mamacro@^0.0.3: resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" integrity sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA== +map-age-cleaner@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== + dependencies: + p-defer "^1.0.0" + map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" @@ -6334,6 +6426,15 @@ mem@^1.1.0: dependencies: mimic-fn "^1.0.0" +mem@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" + integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== + dependencies: + map-age-cleaner "^0.1.1" + mimic-fn "^2.0.0" + p-is-promise "^2.0.0" + memory-fs@^0.4.0, memory-fs@~0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" @@ -6468,6 +6569,11 @@ mimic-fn@^1.0.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== +mimic-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" @@ -6852,6 +6958,14 @@ nodemon@^1.15.0: undefsafe "^2.0.2" update-notifier "^2.3.0" +noms@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/noms/-/noms-0.0.0.tgz#da8ebd9f3af9d6760919b27d9cdc8092a7332859" + integrity sha1-2o69nzr51nYJGbJ9nNyAkqczKFk= + dependencies: + inherits "^2.0.1" + readable-stream "~1.0.31" + "nopt@2 || 3", nopt@3.x: version "3.0.6" resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" @@ -7237,6 +7351,15 @@ os-locale@^2.0.0: lcid "^1.0.0" mem "^1.1.0" +os-locale@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" + integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== + dependencies: + execa "^1.0.0" + lcid "^2.0.0" + mem "^4.0.0" + os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -7250,11 +7373,21 @@ osenv@0, osenv@^0.1.4, osenv@^0.1.5: os-homedir "^1.0.0" os-tmpdir "^1.0.0" +p-defer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= + p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= +p-is-promise@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" + integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== + p-limit@^1.0.0, p-limit@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" @@ -8437,6 +8570,14 @@ pump@^2.0.0, pump@^2.0.1: end-of-stream "^1.1.0" once "^1.3.1" +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + pumpify@^1.3.3: version "1.5.1" resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" @@ -8608,7 +8749,7 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" -"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.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6: +"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.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== @@ -8621,7 +8762,7 @@ read-pkg@^3.0.0: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@1.0: +readable-stream@1.0, readable-stream@~1.0.31: version "1.0.34" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw= @@ -8850,6 +8991,15 @@ replace-ext@0.0.1: resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" integrity sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ= +replace-in-file@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/replace-in-file/-/replace-in-file-4.1.0.tgz#07846245a4b98a8bc5f5f9c3e3e368fa12b18bf7" + integrity sha512-5IANGPAQZVO9PHEjaRz3EHs7eQulv1cvOu2hRi7+Ern+zXIzdslSGX9MIfcI1anaGCpICK2l4R4YOOdThsFryQ== + dependencies: + chalk "^2.4.2" + glob "^7.1.3" + yargs "^13.2.2" + request-progress@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-2.0.1.tgz#5d36bb57961c673aa5b788dbc8141fdf23b44e08" @@ -8926,6 +9076,11 @@ require-main-filename@^1.0.1: resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + requires-port@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" @@ -9922,6 +10077,15 @@ string-width@^1.0.1, string-width@^1.0.2: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + string.prototype.padend@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz#f3aaef7c1719f170c5eab1c32bf780d96e21f2f0" @@ -9962,6 +10126,13 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + strip-bom@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" @@ -10145,6 +10316,14 @@ through2@^2.0.0: readable-stream "^2.1.5" xtend "~4.0.1" +through2@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + through@2, through@X.X.X, through@^2.3.6, through@~2.3, through@~2.3.1: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" @@ -11136,6 +11315,15 @@ wrap-ansi@^2.0.0: string-width "^1.0.1" strip-ansi "^3.0.1" +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -11232,6 +11420,14 @@ yargs-parser@^10.0.0, yargs-parser@^10.1.0: dependencies: camelcase "^4.1.0" +yargs-parser@^13.1.0: + version "13.1.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.0.tgz#7016b6dd03e28e1418a510e258be4bff5a31138f" + integrity sha512-Yq+32PrijHRri0vVKQEm+ys8mbqWjLiwQkMFNXEENutzLPP0bE4Lcd4iA3OQY5HF+GD3xXxf0MEHb8E4/SA3AA== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + yargs-parser@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" @@ -11239,6 +11435,13 @@ yargs-parser@^5.0.0: dependencies: camelcase "^3.0.0" +yargs-parser@^9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077" + integrity sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc= + dependencies: + camelcase "^4.1.0" + yargs@12.0.1, yargs@^12.0.1: version "12.0.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.1.tgz#6432e56123bb4e7c3562115401e98374060261c2" @@ -11257,6 +11460,41 @@ yargs@12.0.1, yargs@^12.0.1: y18n "^3.2.1 || ^4.0.0" yargs-parser "^10.1.0" +yargs@^11.0.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.1.0.tgz#90b869934ed6e871115ea2ff58b03f4724ed2d77" + integrity sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A== + dependencies: + cliui "^4.0.0" + decamelize "^1.1.1" + find-up "^2.1.0" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^9.0.2" + +yargs@^13.2.2: + version "13.2.4" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.4.tgz#0b562b794016eb9651b98bd37acf364aa5d6dc83" + integrity sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg== + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + os-locale "^3.1.0" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.0" + yargs@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8"