diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml
index ee03f5b7f06..2c8c47b7d89 100644
--- a/.github/workflows/nodejs.yml
+++ b/.github/workflows/nodejs.yml
@@ -57,7 +57,7 @@ jobs:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
node-version: [10.x, 12.x, 14.x]
- webpack-version: [next, latest]
+ webpack-version: [webpack-4, latest]
steps:
- uses: actions/checkout@v2
@@ -74,7 +74,7 @@ jobs:
path: |
node_modules
*/*/node_modules
- key: ${{ runner.os }}-${{ matrix.webpack-version }}-${{ hashFiles('**/yarn.lock') }}
+ key: ${{ runner.os }}-${{ matrix.webpack-version }}-${{ hashFiles('**/yarn.lock', './yarn.lock') }}
- name: Install dependencies
if: steps.cache.outputs.cache-hit != 'true'
@@ -91,6 +91,7 @@ jobs:
- name: Run tests for webpack version ${{ matrix.webpack-version }}
run: |
+ yarn run lerna bootstrap
yarn prepsuite
yarn test:ci
env:
diff --git a/.gitignore b/.gitignore
index efdfb260487..5b242bf613f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -65,3 +65,4 @@ test/**/**/binary/**
test/**/dist
test/**/**/dist
test/**/**/**/dist
+test/**/stats.json
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 28605e4b3ba..b9cecac5a2c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,35 @@
+# [4.0.0](https://github.com/webpack/webpack-cli/compare/webpack-cli@4.0.0-rc.1...webpack-cli@4.0.0) (2020-10-10)
+
+### Bug Fixes
+
+- add compilation lifecycle in watch instance ([#1903](https://github.com/webpack/webpack-cli/issues/1903)) ([02b6d21](https://github.com/webpack/webpack-cli/commit/02b6d21eaa20166a7ed37816de716b8fc22b756a))
+- cleanup `package-utils` package ([#1822](https://github.com/webpack/webpack-cli/issues/1822)) ([fd5b92b](https://github.com/webpack/webpack-cli/commit/fd5b92b3cd40361daec5bf4486e455a41f4c9738))
+- cli-executer supplies args further up ([#1904](https://github.com/webpack/webpack-cli/issues/1904)) ([097564a](https://github.com/webpack/webpack-cli/commit/097564a851b36b63e0a6bf88144997ef65aa057a))
+- exit code for validation errors ([59f6303](https://github.com/webpack/webpack-cli/commit/59f63037fcbdbb8934b578b9adf5725bc4ae1235))
+- exit process in case of schema errors ([71e89b4](https://github.com/webpack/webpack-cli/commit/71e89b4092d953ea587cc4f606451ab78cbcdb93))
+
+### Features
+
+- assign config paths in build dependencies in cache config ([#1900](https://github.com/webpack/webpack-cli/issues/1900)) ([7e90f11](https://github.com/webpack/webpack-cli/commit/7e90f110b119f36ef9def4f66cf4e17ccf1438cd))
+
+# [4.0.0-rc.1](https://github.com/webpack/webpack-cli/compare/webpack-cli@4.0.0-beta.8...webpack-cli@4.0.0-rc.1) (2020-10-06)
+
+### Bug Fixes
+
+- cache issue ([#1862](https://github.com/webpack/webpack-cli/issues/1862)) ([305c188](https://github.com/webpack/webpack-cli/commit/305c18816ca6c4275c2755ae6b48d90a8cc85bd1))
+- check webpack installation before running cli ([#1827](https://github.com/webpack/webpack-cli/issues/1827)) ([be509fa](https://github.com/webpack/webpack-cli/commit/be509fac9a03e202e062229484bb10af7876968f))
+- defer setting default entry to core ([#1856](https://github.com/webpack/webpack-cli/issues/1856)) ([5da1f81](https://github.com/webpack/webpack-cli/commit/5da1f81ed101b024249c5cd4e043ec1397338782))
+- log error if --config-name is used without multiple configs ([#1874](https://github.com/webpack/webpack-cli/issues/1874)) ([f653409](https://github.com/webpack/webpack-cli/commit/f653409e3468849970dab354f84c5213da01122d))
+- mode behaviour ([#1824](https://github.com/webpack/webpack-cli/issues/1824)) ([9e9c70b](https://github.com/webpack/webpack-cli/commit/9e9c70bc1f30d90cebd91341e865abb46f9c269e))
+- only set output path on passing flag ([#1855](https://github.com/webpack/webpack-cli/issues/1855)) ([2f36b9d](https://github.com/webpack/webpack-cli/commit/2f36b9d858faedaf3a6adca10a529d9837c0dd24))
+- show warning if bail and watch are used together ([#1804](https://github.com/webpack/webpack-cli/issues/1804)) ([6140b24](https://github.com/webpack/webpack-cli/commit/6140b24d08990aa807070f105d46a92e18855c9e))
+- warning should not result in non-zero exit code ([#1872](https://github.com/webpack/webpack-cli/issues/1872)) ([ae9539d](https://github.com/webpack/webpack-cli/commit/ae9539d20eab2172118f61f7a9ba7e26541e16a2))
+
+### Features
+
+- add --analyze flag ([#1853](https://github.com/webpack/webpack-cli/issues/1853)) ([e6d210a](https://github.com/webpack/webpack-cli/commit/e6d210a66b899023b1f39bb33cce7a9b83a5b803))
+- allow users to store stats as json to a file ([#1835](https://github.com/webpack/webpack-cli/issues/1835)) ([3907517](https://github.com/webpack/webpack-cli/commit/3907517b6afff46ddab51e32ada0357fc9763117))
+
# 4.0.0-beta.9 (2020-09-19)
diff --git a/package.json b/package.json
index 89dd8b10658..248cb7f4e3a 100644
--- a/package.json
+++ b/package.json
@@ -89,7 +89,7 @@
"strip-ansi": "^6.0.0",
"ts-jest": "^25.5.1",
"typescript": "^3.9.7",
- "webpack": "^4.44.2",
+ "webpack": "^5.1.0",
"webpack-bundle-analyzer": "^3.9.0",
"webpack-dev-server": "3.10.3",
"yeoman-test": "^2.7.0"
diff --git a/packages/generate-loader/CHANGELOG.md b/packages/generate-loader/CHANGELOG.md
index a747463170d..f6f137046de 100644
--- a/packages/generate-loader/CHANGELOG.md
+++ b/packages/generate-loader/CHANGELOG.md
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.0.2](https://github.com/webpack/webpack-cli/compare/@webpack-cli/generate-loader@1.0.1...@webpack-cli/generate-loader@1.0.2) (2020-10-19)
+
+**Note:** Version bump only for package @webpack-cli/generate-loader
+
## [1.0.1](https://github.com/webpack/webpack-cli/compare/@webpack-cli/generate-loader@1.0.1-rc.1...@webpack-cli/generate-loader@1.0.1) (2020-10-10)
### Bug Fixes
diff --git a/packages/generate-loader/package.json b/packages/generate-loader/package.json
index 015d836d9dd..69b6e741566 100644
--- a/packages/generate-loader/package.json
+++ b/packages/generate-loader/package.json
@@ -1,6 +1,6 @@
{
"name": "@webpack-cli/generate-loader",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "A scaffold for generating a loader",
"main": "lib/index.js",
"types": "lib/index.d.ts",
@@ -18,7 +18,7 @@
"templates"
],
"dependencies": {
- "@webpack-cli/generators": "^1.0.1",
+ "@webpack-cli/generators": "^1.0.2",
"yeoman-environment": "^2.10.3"
},
"peerDependencies": {
diff --git a/packages/generate-plugin/CHANGELOG.md b/packages/generate-plugin/CHANGELOG.md
index b0a61771178..3021a3e02a7 100644
--- a/packages/generate-plugin/CHANGELOG.md
+++ b/packages/generate-plugin/CHANGELOG.md
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.0.2](https://github.com/webpack/webpack-cli/compare/@webpack-cli/generate-plugin@1.0.1...@webpack-cli/generate-plugin@1.0.2) (2020-10-19)
+
+**Note:** Version bump only for package @webpack-cli/generate-plugin
+
## [1.0.1](https://github.com/webpack/webpack-cli/compare/@webpack-cli/generate-plugin@1.0.1-rc.1...@webpack-cli/generate-plugin@1.0.1) (2020-10-10)
### Bug Fixes
diff --git a/packages/generate-plugin/package.json b/packages/generate-plugin/package.json
index 7344e4ef449..1dffd191dd5 100644
--- a/packages/generate-plugin/package.json
+++ b/packages/generate-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@webpack-cli/generate-plugin",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "A scaffold for generating a plugin",
"main": "lib/index.js",
"types": "lib/index.d.ts",
@@ -18,7 +18,7 @@
"templates"
],
"dependencies": {
- "@webpack-cli/generators": "^1.0.1",
+ "@webpack-cli/generators": "^1.0.2",
"yeoman-environment": "^2.10.3"
},
"peerDependencies": {
diff --git a/packages/generators/CHANGELOG.md b/packages/generators/CHANGELOG.md
index 6fc991b24ca..609dd559028 100644
--- a/packages/generators/CHANGELOG.md
+++ b/packages/generators/CHANGELOG.md
@@ -3,6 +3,12 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.0.2](https://github.com/webpack/webpack-cli/compare/@webpack-cli/generators@1.0.1...@webpack-cli/generators@1.0.2) (2020-10-19)
+
+### Bug Fixes
+
+- output stacktrace on errors ([#1949](https://github.com/webpack/webpack-cli/issues/1949)) ([9ba9d6f](https://github.com/webpack/webpack-cli/commit/9ba9d6f460fb25fb79d52f4360239b8c4b471451))
+
## [1.0.1](https://github.com/webpack/webpack-cli/compare/@webpack-cli/generators@1.0.1-rc.1...@webpack-cli/generators@1.0.1) (2020-10-10)
### Bug Fixes
diff --git a/packages/generators/package.json b/packages/generators/package.json
index ea2a7c562a5..1fb24fe7d30 100644
--- a/packages/generators/package.json
+++ b/packages/generators/package.json
@@ -1,6 +1,6 @@
{
"name": "@webpack-cli/generators",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "Webpack-CLI generators",
"main": "lib/index.js",
"types": "lib/index.d.ts",
@@ -14,8 +14,8 @@
"templates"
],
"dependencies": {
- "@webpack-cli/utils": "^1.0.1",
- "@webpack-cli/webpack-scaffold": "^1.0.1",
+ "@webpack-cli/utils": "^1.0.2",
+ "@webpack-cli/webpack-scaffold": "^1.0.2",
"colorette": "^1.2.1",
"log-symbols": "^4.0.0",
"mkdirp": "^1.0.4",
diff --git a/packages/generators/src/addon-generator.ts b/packages/generators/src/addon-generator.ts
index 3cab6939dc3..10fb9936512 100644
--- a/packages/generators/src/addon-generator.ts
+++ b/packages/generators/src/addon-generator.ts
@@ -54,8 +54,9 @@ const addonGenerator = (
const pathToProjectDir: string = this.destinationPath(this.props.name);
try {
mkdirp.sync(pathToProjectDir);
- } catch (err) {
- logger.error('Failed to create directory', err);
+ } catch (error) {
+ logger.error('Failed to create directory');
+ logger.error(error);
}
this.destinationRoot(pathToProjectDir);
}
diff --git a/packages/info/CHANGELOG.md b/packages/info/CHANGELOG.md
index 470ed5bac1f..17a07d5a558 100644
--- a/packages/info/CHANGELOG.md
+++ b/packages/info/CHANGELOG.md
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.0.2](https://github.com/webpack/webpack-cli/compare/@webpack-cli/info@1.0.1...@webpack-cli/info@1.0.2) (2020-10-19)
+
+**Note:** Version bump only for package @webpack-cli/info
+
## [1.0.1](https://github.com/webpack/webpack-cli/compare/@webpack-cli/info@1.0.1-rc.1...@webpack-cli/info@1.0.1) (2020-10-10)
**Note:** Version bump only for package @webpack-cli/info
diff --git a/packages/info/package.json b/packages/info/package.json
index 8865940d58c..c58d97bdd4d 100644
--- a/packages/info/package.json
+++ b/packages/info/package.json
@@ -1,6 +1,6 @@
{
"name": "@webpack-cli/info",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "Outputs info about system and webpack config",
"main": "lib/index.js",
"types": "lib/index.d.ts",
@@ -12,9 +12,7 @@
"lib"
],
"dependencies": {
- "colorette": "^1.2.1",
- "envinfo": "^7.5.0",
- "prettyjson": "^1.2.1"
+ "envinfo": "^7.7.3"
},
"gitHead": "fb50f766851f500ca12867a2aa9de81fa6e368f9",
"peerDependencies": {
diff --git a/packages/init/CHANGELOG.md b/packages/init/CHANGELOG.md
index 01069257808..2876ca46540 100644
--- a/packages/init/CHANGELOG.md
+++ b/packages/init/CHANGELOG.md
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.0.2](https://github.com/webpack/webpack-cli/compare/@webpack-cli/init@1.0.1...@webpack-cli/init@1.0.2) (2020-10-19)
+
+**Note:** Version bump only for package @webpack-cli/init
+
## [1.0.1](https://github.com/webpack/webpack-cli/compare/@webpack-cli/init@1.0.1-rc.1...@webpack-cli/init@1.0.1) (2020-10-10)
**Note:** Version bump only for package @webpack-cli/init
diff --git a/packages/init/package.json b/packages/init/package.json
index bb20ca69297..9d95ee69556 100644
--- a/packages/init/package.json
+++ b/packages/init/package.json
@@ -1,6 +1,6 @@
{
"name": "@webpack-cli/init",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "init command for webpack-cli",
"main": "lib/index.js",
"types": "lib/index.d.ts",
@@ -12,8 +12,8 @@
"lib"
],
"dependencies": {
- "@webpack-cli/generators": "^1.0.1",
- "@webpack-cli/utils": "^1.0.1"
+ "@webpack-cli/generators": "^1.0.2",
+ "@webpack-cli/utils": "^1.0.2"
},
"peerDependencies": {
"webpack": "4.x.x || 5.x.x",
diff --git a/packages/migrate/CHANGELOG.md b/packages/migrate/CHANGELOG.md
index 1a534acbd28..1896dad1798 100644
--- a/packages/migrate/CHANGELOG.md
+++ b/packages/migrate/CHANGELOG.md
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.0.2](https://github.com/webpack/webpack-cli/compare/@webpack-cli/migrate@1.0.1...@webpack-cli/migrate@1.0.2) (2020-10-19)
+
+**Note:** Version bump only for package @webpack-cli/migrate
+
## [1.0.1](https://github.com/webpack/webpack-cli/compare/@webpack-cli/migrate@1.0.1-rc.1...@webpack-cli/migrate@1.0.1) (2020-10-10)
**Note:** Version bump only for package @webpack-cli/migrate
diff --git a/packages/migrate/package.json b/packages/migrate/package.json
index fd196ef163c..705eacf544d 100644
--- a/packages/migrate/package.json
+++ b/packages/migrate/package.json
@@ -1,6 +1,6 @@
{
"name": "@webpack-cli/migrate",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "Migrate command for webpack-cli",
"main": "lib/index.js",
"types": "lib/index.d.ts",
@@ -12,7 +12,7 @@
"lib"
],
"dependencies": {
- "@webpack-cli/utils": "^1.0.1",
+ "@webpack-cli/utils": "^1.0.2",
"colorette": "^1.2.1",
"diff": "^4.0.2",
"inquirer": "^7.1.0",
diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md
index 91c8199e7b8..6d302c95d4d 100644
--- a/packages/utils/CHANGELOG.md
+++ b/packages/utils/CHANGELOG.md
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.0.2](https://github.com/webpack/webpack-cli/compare/@webpack-cli/utils@1.0.1...@webpack-cli/utils@1.0.2) (2020-10-19)
+
+**Note:** Version bump only for package @webpack-cli/utils
+
## [1.0.1](https://github.com/webpack/webpack-cli/compare/@webpack-cli/utils@1.0.1-rc.1...@webpack-cli/utils@1.0.1) (2020-10-10)
### Bug Fixes
diff --git a/packages/utils/package.json b/packages/utils/package.json
index 14568d4afa2..26ad2dc1b04 100644
--- a/packages/utils/package.json
+++ b/packages/utils/package.json
@@ -1,6 +1,6 @@
{
"name": "@webpack-cli/utils",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "webpack-cli utility files",
"main": "lib/index.js",
"types": "lib/index.d.ts",
@@ -14,7 +14,6 @@
"dependencies": {
"colorette": "^1.2.1",
"cross-spawn": "^7.0.3",
- "enquirer": "^2.3.6",
"execa": "^4.0.0",
"findup-sync": "^4.0.0",
"global-modules": "^2.0.0",
@@ -35,15 +34,6 @@
"@types/yeoman-generator": "^4.11.2"
},
"peerDependenciesMeta": {
- "@webpack-cli/info": {
- "optional": true
- },
- "@webpack-cli/init": {
- "optional": true
- },
- "@webpack-cli/serve": {
- "optional": true
- },
"prettier": {
"optional": true
}
diff --git a/packages/webpack-cli/CHANGELOG.md b/packages/webpack-cli/CHANGELOG.md
index 71a62eadcb6..a1a2772cbee 100644
--- a/packages/webpack-cli/CHANGELOG.md
+++ b/packages/webpack-cli/CHANGELOG.md
@@ -3,6 +3,23 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [4.1.0](https://github.com/webpack/webpack-cli/compare/webpack-cli@4.0.0...webpack-cli@4.1.0) (2020-10-19)
+
+### Bug Fixes
+
+- avoid unnecessary stringify ([#1920](https://github.com/webpack/webpack-cli/issues/1920)) ([5ef1e7b](https://github.com/webpack/webpack-cli/commit/5ef1e7b074390406b76cb3e25dd90f045e1bd8a2))
+- colored output ([#1944](https://github.com/webpack/webpack-cli/issues/1944)) ([2bbbb14](https://github.com/webpack/webpack-cli/commit/2bbbb14ca9a404f2205c0f5a5515e73832ee6173))
+- move init command to separate package ([#1950](https://github.com/webpack/webpack-cli/issues/1950)) ([92ad475](https://github.com/webpack/webpack-cli/commit/92ad475d4b9606b5db7c31dd3666658301c95597))
+- output stacktrace on errors ([#1949](https://github.com/webpack/webpack-cli/issues/1949)) ([9ba9d6f](https://github.com/webpack/webpack-cli/commit/9ba9d6f460fb25fb79d52f4360239b8c4b471451))
+- run CLI after webpack installation ([#1951](https://github.com/webpack/webpack-cli/issues/1951)) ([564279e](https://github.com/webpack/webpack-cli/commit/564279e5b634a399647bcdb21449e5e6a7f0637e))
+- support any config name ([#1926](https://github.com/webpack/webpack-cli/issues/1926)) ([6f95b26](https://github.com/webpack/webpack-cli/commit/6f95b267bf6a3a3e71360f4de176a4ebbec3afa1))
+- support array of functions and promises ([#1946](https://github.com/webpack/webpack-cli/issues/1946)) ([2ace39b](https://github.com/webpack/webpack-cli/commit/2ace39b06117f558c0d8528cea9248253cbdf593))
+- watch mode and options ([#1931](https://github.com/webpack/webpack-cli/issues/1931)) ([258219a](https://github.com/webpack/webpack-cli/commit/258219a3bb606b228636e6373a3d20413c1f660e))
+
+### Features
+
+- allow passing strings in env flag ([#1939](https://github.com/webpack/webpack-cli/issues/1939)) ([cc081a2](https://github.com/webpack/webpack-cli/commit/cc081a256181e34137a89d2e9d37b04280b3f180))
+
# [4.0.0](https://github.com/webpack/webpack-cli/compare/webpack-cli@4.0.0-rc.1...webpack-cli@4.0.0) (2020-10-10)
### Bug Fixes
diff --git a/packages/webpack-cli/bin/cli.js b/packages/webpack-cli/bin/cli.js
index e591bb25dc5..9b7bb3392cd 100755
--- a/packages/webpack-cli/bin/cli.js
+++ b/packages/webpack-cli/bin/cli.js
@@ -1,7 +1,9 @@
#!/usr/bin/env node
'use strict';
+
require('v8-compile-cache');
+
const importLocal = require('import-local');
const runCLI = require('../lib/bootstrap');
const { yellow } = require('colorette');
@@ -9,23 +11,29 @@ const { error, success } = require('../lib/utils/logger');
const { packageExists } = require('../lib/utils/package-exists');
const { promptInstallation } = require('../lib/utils/prompt-installation');
-// Prefer the local installation of webpack-cli
+// Prefer the local installation of `webpack-cli`
if (importLocal(__filename)) {
return;
}
+
process.title = 'webpack';
+const [, , ...rawArgs] = process.argv;
+
if (packageExists('webpack')) {
- const [, , ...rawArgs] = process.argv;
runCLI(rawArgs);
} else {
- promptInstallation('webpack', () => {
+ promptInstallation('webpack -W', () => {
error(`It looks like ${yellow('webpack')} is not installed.`);
})
- .then(() => success(`${yellow('webpack')} was installed sucessfully.`))
+ .then(() => {
+ success(`${yellow('webpack')} was installed sucessfully.`);
+
+ runCLI(rawArgs);
+ })
.catch(() => {
- process.exitCode = 2;
error(`Action Interrupted, Please try once again or install ${yellow('webpack')} manually.`);
+
+ process.exit(2);
});
- return;
}
diff --git a/packages/webpack-cli/lib/bootstrap.js b/packages/webpack-cli/lib/bootstrap.js
index c73b0f2ab29..20e60ab7617 100644
--- a/packages/webpack-cli/lib/bootstrap.js
+++ b/packages/webpack-cli/lib/bootstrap.js
@@ -7,7 +7,9 @@ const logger = require('./utils/logger');
const { isCommandUsed } = require('./utils/arg-utils');
const cliExecuter = require('./utils/cli-executer');
const argParser = require('./utils/arg-parser');
+
require('./utils/process-log');
+
process.title = 'webpack-cli';
// Create a new instance of the CLI object
diff --git a/packages/webpack-cli/lib/groups/ConfigGroup.js b/packages/webpack-cli/lib/groups/ConfigGroup.js
index 233ceebc555..beac89662e8 100644
--- a/packages/webpack-cli/lib/groups/ConfigGroup.js
+++ b/packages/webpack-cli/lib/groups/ConfigGroup.js
@@ -1,9 +1,8 @@
const { existsSync } = require('fs');
-const { resolve, sep, dirname, extname } = require('path');
+const { resolve, extname } = require('path');
const webpackMerge = require('webpack-merge');
const { extensions, jsVariants } = require('interpret');
const rechoir = require('rechoir');
-const ConfigError = require('../utils/errors/ConfigError');
const logger = require('../utils/logger');
// Order defines the priority, in increasing order
@@ -63,46 +62,45 @@ const getConfigInfoFromFileName = (filename) => {
.filter((e) => existsSync(e.path));
};
-// Prepare rechoir environment to load multiple file formats
-const requireLoader = (extension, path) => {
- rechoir.prepare(extensions, path, process.cwd());
-};
-
// Reads a config file given the config metadata
const requireConfig = (configModule) => {
const extension = Object.keys(jsVariants).find((t) => configModule.ext.endsWith(t));
if (extension) {
- requireLoader(extension, configModule.path);
+ rechoir.prepare(extensions, configModule.path, process.cwd());
}
let config = require(configModule.path);
+
if (config.default) {
config = config.default;
}
- return {
- content: config,
- path: configModule.path,
- };
+ return { config, path: configModule.path };
};
// Responsible for reading user configuration files
// else does a default config lookup and resolves it.
const resolveConfigFiles = async (args) => {
const { config, mode } = args;
+
if (config && config.length > 0) {
const resolvedOptions = [];
const finalizedConfigs = config.map(async (webpackConfig) => {
const configPath = resolve(webpackConfig);
const configFiles = getConfigInfoFromFileName(configPath);
+
if (!configFiles.length) {
- throw new ConfigError(`The specified config file doesn't exist in ${configPath}`);
+ logger.error(`The specified config file doesn't exist in ${configPath}`);
+ process.exit(2);
}
+
const foundConfig = configFiles[0];
const resolvedConfig = requireConfig(foundConfig);
+
return finalize(resolvedConfig, args);
});
+
// resolve all the configs
for await (const resolvedOption of finalizedConfigs) {
if (Array.isArray(resolvedOption.options)) {
@@ -111,10 +109,9 @@ const resolveConfigFiles = async (args) => {
resolvedOptions.push(resolvedOption.options);
}
}
- // When the resolved configs are more than 1, then pass them as Array [{...}, {...}] else pass the first config object {...}
- const finalOptions = resolvedOptions.length > 1 ? resolvedOptions : resolvedOptions[0] || {};
- opts['options'] = finalOptions;
+ opts['options'] = resolvedOptions.length > 1 ? resolvedOptions : resolvedOptions[0] || {};
+
return;
}
@@ -127,12 +124,16 @@ const resolveConfigFiles = async (args) => {
const configFiles = tmpConfigFiles.map(requireConfig);
if (configFiles.length) {
const defaultConfig = configFiles.find((p) => p.path.includes(mode) || p.path.includes(modeAlias[mode]));
+
if (defaultConfig) {
opts = await finalize(defaultConfig, args);
return;
}
+
const foundConfig = configFiles.pop();
+
opts = await finalize(foundConfig, args);
+
return;
}
};
@@ -149,61 +150,68 @@ const finalize = async (moduleObj, args) => {
if (!moduleObj) {
return newOptionsObject;
}
- const configPath = moduleObj.path;
- const configOptions = moduleObj.content;
- if (typeof configOptions === 'function') {
- // when config is a function, pass the env from args to the config function
- let formattedEnv;
- if (Array.isArray(env)) {
- formattedEnv = env.reduce((envObject, envOption) => {
- envObject[envOption] = true;
- return envObject;
- }, {});
- }
- const newOptions = configOptions(formattedEnv, args);
- // When config function returns a promise, resolve it, if not it's resolved by default
- newOptionsObject['options'] = await Promise.resolve(newOptions);
- } else if (configName) {
- if (Array.isArray(configOptions) && configOptions.length > 1) {
- // In case of exporting multiple configurations, If you pass a name to --config-name flag,
- // webpack will only build that specific configuration.
- const namedOptions = configOptions.filter((opt) => configName.includes(opt.name));
- if (namedOptions.length === 0) {
- logger.error(`Configuration with name "${configName}" was not found.`);
- process.exit(2);
- } else {
- newOptionsObject['options'] = namedOptions;
+
+ const config = moduleObj.config;
+
+ const isMultiCompilerMode = Array.isArray(config);
+ const rawConfigs = isMultiCompilerMode ? config : [config];
+
+ let configs = await Promise.all(
+ rawConfigs.map(async (rawConfig) => {
+ const isPromise = typeof rawConfig.then === 'function';
+
+ if (isPromise) {
+ rawConfig = await rawConfig;
+ }
+
+ // `Promise` may return `Function`
+ if (typeof rawConfig === 'function') {
+ // when config is a function, pass the env from args to the config function
+ rawConfig = await rawConfig(env, args);
+ }
+
+ return rawConfig;
+ }),
+ );
+
+ if (configName) {
+ const foundConfigNames = [];
+
+ configs = configs.filter((options) => {
+ const found = configName.includes(options.name);
+
+ if (found) {
+ foundConfigNames.push(options.name);
}
- } else {
- logger.error('Multiple configurations not found. Please use "--config-name" with multiple configurations.');
+
+ return found;
+ });
+
+ if (foundConfigNames.length !== configName.length) {
+ // Configuration with name "test" was not found.
+ logger.error(
+ configName
+ .filter((name) => !foundConfigNames.includes(name))
+ .map((configName) => `Configuration with name "${configName}" was not found.`)
+ .join('\n'),
+ );
process.exit(2);
}
- } else {
- if (Array.isArray(configOptions) && !configOptions.length) {
- newOptionsObject['options'] = {};
- return newOptionsObject;
- }
-
- newOptionsObject['options'] = configOptions;
}
- if (configOptions && configPath.includes('.webpack')) {
- const currentPath = configPath;
- const parentContext = dirname(currentPath).split(sep).slice(0, -1).join(sep);
- if (Array.isArray(configOptions)) {
- configOptions.forEach((config) => {
- config.context = config.context || parentContext;
- });
- } else {
- configOptions.context = configOptions.context || parentContext;
- }
- newOptionsObject['options'] = configOptions;
+ if (configs.length === 0) {
+ logger.error('No configurations found');
+ process.exit(2);
}
+
+ newOptionsObject['options'] = isMultiCompilerMode ? configs : configs[0];
+
return newOptionsObject;
};
const resolveConfigMerging = async (args) => {
const { merge } = args;
+
if (merge) {
// Get the current configuration options
const { options: configOptions } = opts;
@@ -212,19 +220,18 @@ const resolveConfigMerging = async (args) => {
// either by passing multiple configs by flags or passing a
// single config exporting an array
if (!Array.isArray(configOptions)) {
- throw new ConfigError('Atleast two configurations are required for merge.', 'MergeError');
+ logger.error('At least two configurations are required for merge.');
+ process.exit(2);
}
// We return a single config object which is passed to the compiler
- const mergedOptions = configOptions.reduce((currentConfig, mergedConfig) => webpackMerge(currentConfig, mergedConfig), {});
- opts['options'] = mergedOptions;
+ opts['options'] = configOptions.reduce((currentConfig, mergedConfig) => webpackMerge(currentConfig, mergedConfig), {});
}
};
-const handleConfigResolution = async (args) => {
+module.exports = async (args) => {
await resolveConfigFiles(args);
await resolveConfigMerging(args);
+
return opts;
};
-
-module.exports = handleConfigResolution;
diff --git a/packages/webpack-cli/lib/utils/Compiler.js b/packages/webpack-cli/lib/utils/Compiler.js
deleted file mode 100644
index 6c46b47c7b4..00000000000
--- a/packages/webpack-cli/lib/utils/Compiler.js
+++ /dev/null
@@ -1,189 +0,0 @@
-const { packageExists } = require('./package-exists');
-const webpack = packageExists('webpack') ? require('webpack') : undefined;
-const logger = require('./logger');
-const { writeFileSync } = require('fs');
-const bailAndWatchWarning = require('./warnings/bailAndWatchWarning');
-
-const assignWatchHooks = (compiler) => {
- compiler.hooks.watchRun.tap('watchInfo', (compilation) => {
- const compilationName = compilation.name || '';
- logger.raw(`\nCompilation ${compilationName} starting…\n`);
- });
- compiler.hooks.done.tap('watchInfo', (compilation) => {
- const compilationName = compilation.name || '';
- logger.raw(`\nCompilation ${compilationName} finished\n`);
- });
-};
-
-const watchInfo = (compiler) => {
- if (compiler.compilers) {
- compiler.compilers.map((comp) => {
- assignWatchHooks(comp);
- });
- } else {
- assignWatchHooks(compiler);
- }
-};
-
-class Compiler {
- constructor() {
- this.compilerOptions = {};
- }
- setUpHookForCompilation(compilation, outputOptions, options) {
- const { ProgressPlugin } = webpack;
- let progressPluginExists;
- if (options.plugins) {
- progressPluginExists = options.plugins.find((e) => e instanceof ProgressPlugin);
- }
-
- compilation.hooks.beforeRun.tap('webpackProgress', () => {
- if (outputOptions.progress) {
- if (!progressPluginExists) {
- new ProgressPlugin().apply(compilation);
- } else {
- if (!progressPluginExists.handler) {
- options.plugins = options.plugins.filter((e) => e !== progressPluginExists);
- Object.keys(progressPluginExists).map((opt) => {
- ProgressPlugin.defaultOptions[opt] = progressPluginExists[opt];
- });
- new ProgressPlugin().apply(compilation);
- } else {
- progressPluginExists.apply(compilation);
- }
- }
- }
- });
- }
-
- generateOutput(outputOptions, stats) {
- logger.raw(`${stats.toString(this.compilerOptions.stats)}\n`);
- if (outputOptions.watch) {
- logger.info('watching files for updates...');
- }
- }
-
- compilerCallback(err, stats, lastHash, options, outputOptions) {
- const statsErrors = [];
-
- if (!outputOptions.watch || err) {
- // Do not keep cache anymore
- this.compiler.purgeInputFileSystem();
- }
- if (err) {
- lastHash = null;
- logger.error(err.stack || err);
- process.exit(1);
- }
- if (!outputOptions.watch && stats.hasErrors()) {
- process.exitCode = 1;
- }
- if (outputOptions.json === true) {
- process.stdout.write(JSON.stringify(stats.toJson(outputOptions), null, 2) + '\n');
- } else if (stats.hash !== lastHash) {
- lastHash = stats.hash;
- if (stats.compilation && stats.compilation.errors.length !== 0) {
- const errors = stats.compilation.errors;
- errors.forEach((statErr) => {
- const errLoc = statErr.module ? statErr.module.resource : null;
- statsErrors.push({ name: statErr.message, loc: errLoc });
- });
- }
- const JSONStats = JSON.stringify(stats.toJson(outputOptions), null, 2);
- if (typeof outputOptions.json === 'string') {
- try {
- writeFileSync(outputOptions.json, JSONStats);
- logger.success(`stats are successfully stored as json to ${outputOptions.json}`);
- } catch (err) {
- logger.error(err);
- }
- }
- return this.generateOutput(outputOptions, stats, statsErrors);
- }
- }
-
- async invokeCompilerInstance(lastHash, options, outputOptions) {
- // eslint-disable-next-line no-async-promise-executor
- return new Promise(async (resolve) => {
- await this.compiler.run((err, stats) => {
- if (this.compiler.close) {
- this.compiler.close(() => {
- const content = this.compilerCallback(err, stats, lastHash, options, outputOptions);
- resolve(content);
- });
- } else {
- const content = this.compilerCallback(err, stats, lastHash, options, outputOptions);
- resolve(content);
- }
- });
- });
- }
-
- async invokeWatchInstance(lastHash, options, outputOptions, watchOptions) {
- return this.compiler.watch(watchOptions, (err, stats) => {
- return this.compilerCallback(err, stats, lastHash, options, outputOptions);
- });
- }
-
- async createCompiler(options) {
- try {
- this.compiler = await webpack(options);
- this.compilerOptions = options;
- } catch (err) {
- // https://github.com/webpack/webpack/blob/master/lib/index.js#L267
- // https://github.com/webpack/webpack/blob/v4.44.2/lib/webpack.js#L90
- const ValidationError = webpack.ValidationError ? webpack.ValidationError : webpack.WebpackOptionsValidationError;
- // In case of schema errors print and exit process
- // For webpack@4 and webpack@5
- if (err instanceof ValidationError) {
- logger.error(`\n${err.message}`);
- } else {
- logger.error(`\n${err}`);
- }
- process.exit(2);
- }
- }
-
- get getCompiler() {
- return this.compiler;
- }
-
- async webpackInstance(opts) {
- const { outputOptions, options } = opts;
- const lastHash = null;
-
- const { ProgressPlugin } = webpack;
- if (options.plugins) {
- options.plugins = options.plugins.filter((e) => e instanceof ProgressPlugin);
- }
-
- if (outputOptions.interactive) {
- const interactive = require('./interactive');
- return interactive(options, outputOptions);
- }
- if (this.compiler.compilers) {
- this.compiler.compilers.forEach((comp, idx) => {
- bailAndWatchWarning(comp); //warn the user if bail and watch both are used together
- this.setUpHookForCompilation(comp, outputOptions, options[idx]);
- });
- } else {
- bailAndWatchWarning(this.compiler);
- this.setUpHookForCompilation(this.compiler, outputOptions, options);
- }
-
- if (outputOptions.watch) {
- const watchOptions = outputOptions.watchOptions || {};
- if (watchOptions.stdin) {
- process.stdin.on('end', function () {
- process.exit();
- });
- process.stdin.resume();
- }
- watchInfo(this.compiler);
- await this.invokeWatchInstance(lastHash, options, outputOptions, watchOptions);
- } else {
- return await this.invokeCompilerInstance(lastHash, options, outputOptions);
- }
- }
-}
-
-module.exports = { Compiler };
diff --git a/packages/webpack-cli/lib/utils/__tests__/package-exists.test.js b/packages/webpack-cli/lib/utils/__tests__/package-exists.test.js
index 309f479c408..f16b263f695 100644
--- a/packages/webpack-cli/lib/utils/__tests__/package-exists.test.js
+++ b/packages/webpack-cli/lib/utils/__tests__/package-exists.test.js
@@ -2,7 +2,7 @@ jest.setMock('../prompt-installation', {
promptInstallation: jest.fn(),
});
-const ExternalCommand = require('../../commands/resolveCommand');
+const ExternalCommand = require('../resolve-command');
const { packageExists } = require('../package-exists');
const { promptInstallation } = require('../prompt-installation');
diff --git a/packages/webpack-cli/lib/utils/arg-parser.js b/packages/webpack-cli/lib/utils/arg-parser.js
index c72ad1bd7d4..e60e1833b02 100644
--- a/packages/webpack-cli/lib/utils/arg-parser.js
+++ b/packages/webpack-cli/lib/utils/arg-parser.js
@@ -28,8 +28,10 @@ const argParser = (options, args, argsOnly = false, name = '') => {
.allowUnknownOption(true)
.action(async () => {
const cliArgs = args.slice(args.indexOf(cmd.name) + 1 || args.indexOf(cmd.alias) + 1);
- return await require('../commands/resolveCommand')(defaultCommands[cmd.name], ...cliArgs);
+
+ return await require('./resolve-command')(defaultCommands[cmd.name], ...cliArgs);
});
+
return parser;
}, parser);
@@ -90,6 +92,28 @@ const argParser = (options, args, argsOnly = false, name = '') => {
// a multiple argument parsing function
const multiArg = (value, previous = []) => previous.concat([value]);
parserInstance.option(flagsWithType, option.description, multiArg, option.defaultValue).action(() => {});
+ } else if (option.multipleType) {
+ // for options which accept multiple types like env
+ // so you can do `--env platform=staging --env production`
+ // { platform: "staging", production: true }
+ const multiArg = (value, previous = {}) => {
+ // this ensures we're only splitting by the first `=`
+ const [allKeys, val] = value.split(/=(.+)/, 2);
+ const splitKeys = allKeys.split(/\.(?!$)/);
+ let prevRef = previous;
+ splitKeys.forEach((someKey, index) => {
+ if (!prevRef[someKey]) prevRef[someKey] = {};
+ if ('string' === typeof prevRef[someKey]) {
+ prevRef[someKey] = {};
+ }
+ if (index === splitKeys.length - 1) {
+ prevRef[someKey] = val || true;
+ }
+ prevRef = prevRef[someKey];
+ });
+ return previous;
+ };
+ parserInstance.option(flagsWithType, option.description, multiArg, option.defaultValue).action(() => {});
} else {
// Prevent default behavior for standalone options
parserInstance.option(flagsWithType, option.description, option.defaultValue).action(() => {});
diff --git a/packages/webpack-cli/lib/utils/cli-flags.js b/packages/webpack-cli/lib/utils/cli-flags.js
index 0f5f508169a..807d94c0677 100644
--- a/packages/webpack-cli/lib/utils/cli-flags.js
+++ b/packages/webpack-cli/lib/utils/cli-flags.js
@@ -205,7 +205,7 @@ const core = [
name: 'env',
usage: '--env',
type: String,
- multiple: true,
+ multipleType: true,
description: 'Environment passed to the configuration when it is a function',
},
{
diff --git a/packages/webpack-cli/lib/utils/errors/ConfigError.js b/packages/webpack-cli/lib/utils/errors/ConfigError.js
deleted file mode 100644
index 3a7539c21bc..00000000000
--- a/packages/webpack-cli/lib/utils/errors/ConfigError.js
+++ /dev/null
@@ -1,11 +0,0 @@
-class ConfigError extends Error {
- constructor(message, name) {
- super(message);
- this.name = name || 'ConfigError';
- // No need to show stack trace for known errors
- this.stack = '';
- process.exitCode = 2;
- }
-}
-
-module.exports = ConfigError;
diff --git a/packages/webpack-cli/lib/utils/interactive.js b/packages/webpack-cli/lib/utils/interactive.js
index e18b5c3ebbf..e6213f4b67d 100644
--- a/packages/webpack-cli/lib/utils/interactive.js
+++ b/packages/webpack-cli/lib/utils/interactive.js
@@ -1,5 +1,4 @@
const { gray, bold, white, cyan, yellow } = require('colorette');
-const webpack = require('./Compiler');
const ansiEscapes = require('ansi-escapes');
const readline = require('readline');
@@ -96,7 +95,7 @@ const ENTER_KEY = '\n';
const B_KEY = 'b';
const C_KEY = 'c';
-module.exports = async function (config, outputOptions) {
+module.exports = async function (compiler, config, outputOptions) {
const stdin = process.stdin;
stdin.setEncoding('utf-8');
stdin.setRawMode(true);
@@ -104,11 +103,8 @@ module.exports = async function (config, outputOptions) {
outputOptions.interactive = false;
- const webpackCompilation = await webpack({ options: config, outputOptions });
- /* if(errors) {
- Hngggg
-} */
- state.push(webpackCompilation);
+ state.push(compiler);
+
setupInteractive();
const isExitCtrl = (key) => key.ctrl && key.name === 'c';
@@ -164,8 +160,7 @@ module.exports = async function (config, outputOptions) {
if (state.length) {
state.pop();
}
- const webpackCompilation = await webpack({ options: config, outputOptions });
- state.push(webpackCompilation);
+ state.push(compiler);
informActions();
isSub = true;
return;
diff --git a/packages/webpack-cli/lib/utils/logger.js b/packages/webpack-cli/lib/utils/logger.js
index b1d76269d56..3afafc1ad44 100644
--- a/packages/webpack-cli/lib/utils/logger.js
+++ b/packages/webpack-cli/lib/utils/logger.js
@@ -1,7 +1,8 @@
+const util = require('util');
const { red, cyan, yellow, green } = require('colorette');
module.exports = {
- error: (val) => console.error(`[webpack-cli] ${red(val)}`),
+ error: (val) => console.error(`[webpack-cli] ${red(util.format(val))}`),
warn: (val) => console.warn(`[webpack-cli] ${yellow(val)}`),
info: (val) => console.info(`[webpack-cli] ${cyan(val)}`),
success: (val) => console.log(`[webpack-cli] ${green(val)}`),
diff --git a/packages/webpack-cli/lib/commands/resolveCommand.js b/packages/webpack-cli/lib/utils/resolve-command.js
similarity index 65%
rename from packages/webpack-cli/lib/commands/resolveCommand.js
rename to packages/webpack-cli/lib/utils/resolve-command.js
index fae1398cd03..0d115cd3a91 100644
--- a/packages/webpack-cli/lib/commands/resolveCommand.js
+++ b/packages/webpack-cli/lib/utils/resolve-command.js
@@ -1,13 +1,15 @@
const { yellow, cyan } = require('colorette');
-const logger = require('../utils/logger');
-const { packageExists } = require('../utils/package-exists');
-const { promptInstallation } = require('../utils/prompt-installation');
+const logger = require('./logger');
+const { packageExists } = require('./package-exists');
+const { promptInstallation } = require('./prompt-installation');
const packagePrefix = '@webpack-cli';
const run = async (name, ...args) => {
const scopeName = packagePrefix + '/' + name;
+
let pkgLoc = packageExists(scopeName);
+
if (!pkgLoc) {
try {
pkgLoc = await promptInstallation(`${scopeName}`, () => {
@@ -17,7 +19,18 @@ const run = async (name, ...args) => {
logger.error(`Action Interrupted, use ${cyan('webpack-cli help')} to see possible commands.`);
}
}
- return pkgLoc ? require(scopeName).default(...args) : null;
+
+ if (!pkgLoc) {
+ return;
+ }
+
+ let mod = require(scopeName);
+
+ if (mod.default) {
+ mod = mod.default;
+ }
+
+ return mod(...args);
};
module.exports = run;
diff --git a/packages/webpack-cli/lib/utils/warnings/bailAndWatchWarning.js b/packages/webpack-cli/lib/utils/warnings/bailAndWatchWarning.js
deleted file mode 100644
index 84894469cab..00000000000
--- a/packages/webpack-cli/lib/utils/warnings/bailAndWatchWarning.js
+++ /dev/null
@@ -1,14 +0,0 @@
-const logger = require('../logger');
-
-/**
- * warn the user if bail and watch both are used together
- * @param {Object} webpack compiler
- * @returns {void}
- */
-const bailAndWatchWarning = (compiler) => {
- if (compiler.options.bail && compiler.options.watch) {
- logger.warn('You are using "bail" with "watch". "bail" will still exit webpack when the first error is found.');
- }
-};
-
-module.exports = bailAndWatchWarning;
diff --git a/packages/webpack-cli/lib/webpack-cli.js b/packages/webpack-cli/lib/webpack-cli.js
index f6079011096..07bdf950c40 100644
--- a/packages/webpack-cli/lib/webpack-cli.js
+++ b/packages/webpack-cli/lib/webpack-cli.js
@@ -1,11 +1,15 @@
+const { packageExists } = require('./utils/package-exists');
+const webpack = packageExists('webpack') ? require('webpack') : undefined;
+const logger = require('./utils/logger');
const webpackMerge = require('webpack-merge');
const GroupHelper = require('./utils/GroupHelper');
-const { Compiler } = require('./utils/Compiler');
const { groups, core } = require('./utils/cli-flags');
const argParser = require('./utils/arg-parser');
const { outputStrategy } = require('./utils/merge-strategies');
const { toKebabCase } = require('./utils/helpers');
const assignFlagDefaults = require('./utils/flag-defaults');
+const { writeFileSync } = require('fs');
+const { options: coloretteOptions } = require('colorette');
// CLI arg resolvers
const handleConfigResolution = require('./groups/ConfigGroup');
@@ -19,7 +23,6 @@ class WebpackCLI extends GroupHelper {
constructor() {
super();
this.groupMap = new Map();
- this.compilation = new Compiler();
this.compilerConfiguration = {};
this.outputConfiguration = {};
}
@@ -205,24 +208,173 @@ class WebpackCLI extends GroupHelper {
async processArgs(args, cliOptions) {
this.setMappedGroups(args, cliOptions);
this.resolveGroups(args);
- const groupResult = await this.runOptionGroups(args);
- return groupResult;
+
+ return this.runOptionGroups(args);
+ }
+
+ createCompiler(options) {
+ let compiler;
+
+ try {
+ compiler = webpack(options);
+ } catch (error) {
+ // https://github.com/webpack/webpack/blob/master/lib/index.js#L267
+ // https://github.com/webpack/webpack/blob/v4.44.2/lib/webpack.js#L90
+ const ValidationError = webpack.ValidationError ? webpack.ValidationError : webpack.WebpackOptionsValidationError;
+
+ // In case of schema errors print and exit process
+ // For webpack@4 and webpack@5
+ if (error instanceof ValidationError) {
+ logger.error(error.message);
+ } else {
+ logger.error(error);
+ }
+
+ process.exit(2);
+ }
+
+ return compiler;
}
async getCompiler(args, cliOptions) {
await this.processArgs(args, cliOptions);
- await this.compilation.createCompiler(this.compilerConfiguration);
- return this.compilation.compiler;
+
+ return this.createCompiler(this.compilerConfiguration);
}
async run(args, cliOptions) {
await this.processArgs(args, cliOptions);
- await this.compilation.createCompiler(this.compilerConfiguration);
- const webpack = await this.compilation.webpackInstance({
- options: this.compilerConfiguration,
- outputOptions: this.outputConfiguration,
- });
- return webpack;
+
+ const compiler = this.createCompiler(this.compilerConfiguration);
+
+ const options = this.compilerConfiguration;
+ const outputOptions = this.outputConfiguration;
+
+ if (outputOptions.interactive) {
+ const interactive = require('./utils/interactive');
+
+ return interactive(compiler, options, outputOptions);
+ }
+
+ const compilers = compiler.compilers ? compiler.compilers : [compiler];
+ const isWatchMode = Boolean(compilers.find((compiler) => compiler.options.watch));
+ const isRawOutput = typeof outputOptions.json === 'undefined';
+
+ if (isRawOutput) {
+ for (const compiler of compilers) {
+ if (outputOptions.progress) {
+ const { ProgressPlugin } = webpack;
+
+ let progressPluginExists;
+
+ if (compiler.options.plugins) {
+ progressPluginExists = Boolean(compiler.options.plugins.find((e) => e instanceof ProgressPlugin));
+ }
+
+ if (!progressPluginExists) {
+ new ProgressPlugin().apply(compiler);
+ }
+ }
+ }
+
+ compiler.hooks.watchRun.tap('watchInfo', (compilation) => {
+ if (compilation.options.bail && isWatchMode) {
+ logger.warn('You are using "bail" with "watch". "bail" will still exit webpack when the first error is found.');
+ }
+
+ logger.success(`Compilation${compilation.name ? `${compilation.name}` : ''} starting...`);
+ });
+ compiler.hooks.done.tap('watchInfo', (compilation) => {
+ logger.success(`Compilation${compilation.name ? `${compilation.name}` : ''} finished`);
+ });
+ }
+
+ const callback = (error, stats) => {
+ if (error) {
+ logger.error(error);
+ process.exit(1);
+ }
+
+ if (stats.hasErrors()) {
+ process.exitCode = 1;
+ }
+
+ const getStatsOptions = (stats) => {
+ // TODO remove after drop webpack@4
+ if (webpack.Stats && webpack.Stats.presetToOptions) {
+ if (!stats) {
+ stats = {};
+ } else if (typeof stats === 'boolean' || typeof stats === 'string') {
+ stats = webpack.Stats.presetToOptions(stats);
+ }
+ }
+
+ stats.colors = typeof stats.colors !== 'undefined' ? stats.colors : coloretteOptions.enabled;
+
+ return stats;
+ };
+
+ const foundStats = compiler.compilers
+ ? { children: compiler.compilers.map((compiler) => getStatsOptions(compiler.options.stats)) }
+ : getStatsOptions(compiler.options.stats);
+
+ if (outputOptions.json === true) {
+ process.stdout.write(JSON.stringify(stats.toJson(foundStats), null, 2) + '\n');
+ } else if (typeof outputOptions.json === 'string') {
+ const JSONStats = JSON.stringify(stats.toJson(foundStats), null, 2);
+
+ try {
+ writeFileSync(outputOptions.json, JSONStats);
+
+ logger.success(`stats are successfully stored as json to ${outputOptions.json}`);
+ } catch (error) {
+ logger.error(error);
+
+ process.exit(2);
+ }
+ } else {
+ logger.raw(`${stats.toString(foundStats)}`);
+ }
+
+ if (isWatchMode) {
+ logger.success('watching files for updates...');
+ }
+ };
+
+ if (isWatchMode) {
+ const watchOptions = (compiler.options && compiler.options.watchOptions) || {};
+
+ if (watchOptions.stdin) {
+ process.stdin.on('end', function () {
+ process.exit();
+ });
+ process.stdin.resume();
+ }
+
+ return new Promise((resolve) => {
+ compiler.watch(watchOptions, (error, stats) => {
+ callback(error, stats);
+
+ resolve();
+ });
+ });
+ } else {
+ return new Promise((resolve) => {
+ compiler.run((error, stats) => {
+ if (compiler.close) {
+ compiler.close(() => {
+ callback(error, stats);
+
+ resolve();
+ });
+ } else {
+ callback(error, stats);
+
+ resolve();
+ }
+ });
+ });
+ }
}
}
diff --git a/packages/webpack-cli/package.json b/packages/webpack-cli/package.json
index e7c7f7fb794..d6024055b6a 100644
--- a/packages/webpack-cli/package.json
+++ b/packages/webpack-cli/package.json
@@ -1,6 +1,6 @@
{
"name": "webpack-cli",
- "version": "4.0.0",
+ "version": "4.1.0",
"description": "CLI for webpack & friends",
"license": "MIT",
"repository": {
@@ -27,8 +27,7 @@
"lib"
],
"dependencies": {
- "@webpack-cli/info": "^1.0.1",
- "@webpack-cli/init": "^1.0.1",
+ "@webpack-cli/info": "^1.0.2",
"@webpack-cli/serve": "^1.0.1",
"ansi-escapes": "^4.3.1",
"colorette": "^1.2.1",
@@ -46,6 +45,9 @@
"webpack": "4.x.x || 5.x.x"
},
"peerDependenciesMeta": {
+ "@webpack-cli/init": {
+ "optional": true
+ },
"@webpack-cli/generate-loader": {
"optional": true
},
@@ -57,6 +59,9 @@
},
"webpack-bundle-analyzer": {
"optional": true
+ },
+ "webpack-dev-server": {
+ "optional": true
}
},
"gitHead": "fb50f766851f500ca12867a2aa9de81fa6e368f9"
diff --git a/packages/webpack-scaffold/CHANGELOG.md b/packages/webpack-scaffold/CHANGELOG.md
index fc7e3d971af..a2c8f691a00 100644
--- a/packages/webpack-scaffold/CHANGELOG.md
+++ b/packages/webpack-scaffold/CHANGELOG.md
@@ -3,6 +3,12 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.0.2](https://github.com/webpack/webpack-cli/compare/@webpack-cli/webpack-scaffold@1.0.1...@webpack-cli/webpack-scaffold@1.0.2) (2020-10-19)
+
+### Bug Fixes
+
+- support array of functions and promises ([#1946](https://github.com/webpack/webpack-cli/issues/1946)) ([2ace39b](https://github.com/webpack/webpack-cli/commit/2ace39b06117f558c0d8528cea9248253cbdf593))
+
## [1.0.1](https://github.com/webpack/webpack-cli/compare/@webpack-cli/webpack-scaffold@1.0.1-rc.1...@webpack-cli/webpack-scaffold@1.0.1) (2020-10-10)
### Bug Fixes
diff --git a/packages/webpack-scaffold/__tests__/__snapshots__/index.test.ts.snap b/packages/webpack-scaffold/__tests__/__snapshots__/index.test.ts.snap
index 4bbb3fc9d09..126c853a068 100755
--- a/packages/webpack-scaffold/__tests__/__snapshots__/index.test.ts.snap
+++ b/packages/webpack-scaffold/__tests__/__snapshots__/index.test.ts.snap
@@ -59,12 +59,17 @@ Collection {
"value": Node {
"end": 4,
"errors": Array [],
+ "extra": undefined,
+ "innerComments": undefined,
+ "leadingComments": undefined,
"loc": SourceLocation {
"end": Object {
"column": 4,
"line": 1,
"token": 1,
},
+ "filename": undefined,
+ "identifierName": undefined,
"indent": 0,
"lines": Lines {
"cachedSourceMap": null,
@@ -96,6 +101,8 @@ Collection {
"line": 1,
"token": 1,
},
+ "filename": undefined,
+ "identifierName": undefined,
"start": Position {
"column": 4,
"line": 1,
@@ -122,13 +129,18 @@ Collection {
"program": Node {
"body": Array [],
"end": 4,
+ "extra": undefined,
+ "innerComments": undefined,
"interpreter": null,
+ "leadingComments": undefined,
"loc": SourceLocation {
"end": Position {
"column": 4,
"line": 1,
"token": 1,
},
+ "filename": undefined,
+ "identifierName": undefined,
"indent": 4,
"lines": Lines {
"cachedSourceMap": null,
@@ -160,6 +172,8 @@ Collection {
"line": 1,
"token": 1,
},
+ "filename": undefined,
+ "identifierName": undefined,
"start": Position {
"column": 4,
"line": 1,
@@ -183,10 +197,13 @@ Collection {
},
],
},
+ "range": undefined,
"sourceType": "module",
"start": 0,
+ "trailingComments": undefined,
"type": "Program",
},
+ "range": undefined,
"start": 0,
"tokens": Array [
Token {
@@ -197,6 +214,8 @@ Collection {
"line": 1,
"token": 1,
},
+ "filename": undefined,
+ "identifierName": undefined,
"start": Position {
"column": 4,
"line": 1,
@@ -219,6 +238,7 @@ Collection {
"value": "",
},
],
+ "trailingComments": undefined,
"type": "File",
},
},
@@ -242,12 +262,17 @@ Collection {
"value": Node {
"end": 5,
"errors": Array [],
+ "extra": undefined,
+ "innerComments": undefined,
+ "leadingComments": undefined,
"loc": SourceLocation {
"end": Object {
"column": 5,
"line": 1,
"token": 2,
},
+ "filename": undefined,
+ "identifierName": undefined,
"indent": 0,
"lines": Lines {
"cachedSourceMap": null,
@@ -279,6 +304,8 @@ Collection {
"line": 1,
"token": 2,
},
+ "filename": undefined,
+ "identifierName": undefined,
"start": Position {
"column": 0,
"line": 1,
@@ -308,6 +335,8 @@ Collection {
"column": 5,
"line": 1,
},
+ "filename": undefined,
+ "identifierName": undefined,
"start": Position {
"column": 5,
"line": 1,
@@ -337,12 +366,16 @@ Collection {
"end": 5,
"expression": Node {
"end": 5,
+ "extra": undefined,
+ "innerComments": undefined,
+ "leadingComments": undefined,
"loc": SourceLocation {
"end": Position {
"column": 5,
"line": 1,
"token": 2,
},
+ "filename": undefined,
"identifierName": "hello",
"indent": 0,
"lines": Lines {
@@ -375,6 +408,8 @@ Collection {
"line": 1,
"token": 2,
},
+ "filename": undefined,
+ "identifierName": undefined,
"start": Position {
"column": 0,
"line": 1,
@@ -404,6 +439,8 @@ Collection {
"column": 5,
"line": 1,
},
+ "filename": undefined,
+ "identifierName": undefined,
"start": Position {
"column": 5,
"line": 1,
@@ -428,15 +465,22 @@ Collection {
],
},
"name": "hello",
+ "range": undefined,
"start": 0,
+ "trailingComments": undefined,
"type": "Identifier",
},
+ "extra": undefined,
+ "innerComments": undefined,
+ "leadingComments": undefined,
"loc": SourceLocation {
"end": Position {
"column": 5,
"line": 1,
"token": 2,
},
+ "filename": undefined,
+ "identifierName": undefined,
"indent": 0,
"lines": Lines {
"cachedSourceMap": null,
@@ -468,6 +512,8 @@ Collection {
"line": 1,
"token": 2,
},
+ "filename": undefined,
+ "identifierName": undefined,
"start": Position {
"column": 0,
"line": 1,
@@ -497,6 +543,8 @@ Collection {
"column": 5,
"line": 1,
},
+ "filename": undefined,
+ "identifierName": undefined,
"start": Position {
"column": 5,
"line": 1,
@@ -520,18 +568,25 @@ Collection {
},
],
},
+ "range": undefined,
"start": 0,
+ "trailingComments": undefined,
"type": "ExpressionStatement",
},
],
"end": 5,
+ "extra": undefined,
+ "innerComments": undefined,
"interpreter": null,
+ "leadingComments": undefined,
"loc": SourceLocation {
"end": Object {
"column": 5,
"line": 1,
"token": 2,
},
+ "filename": undefined,
+ "identifierName": undefined,
"indent": 0,
"lines": Lines {
"cachedSourceMap": null,
@@ -563,6 +618,8 @@ Collection {
"line": 1,
"token": 2,
},
+ "filename": undefined,
+ "identifierName": undefined,
"start": Position {
"column": 0,
"line": 1,
@@ -592,6 +649,8 @@ Collection {
"column": 5,
"line": 1,
},
+ "filename": undefined,
+ "identifierName": undefined,
"start": Position {
"column": 5,
"line": 1,
@@ -615,10 +674,13 @@ Collection {
},
],
},
+ "range": undefined,
"sourceType": "module",
"start": 0,
+ "trailingComments": undefined,
"type": "Program",
},
+ "range": undefined,
"start": 0,
"tokens": Array [
Token {
@@ -629,6 +691,8 @@ Collection {
"line": 1,
"token": 2,
},
+ "filename": undefined,
+ "identifierName": undefined,
"start": Position {
"column": 0,
"line": 1,
@@ -658,6 +722,8 @@ Collection {
"column": 5,
"line": 1,
},
+ "filename": undefined,
+ "identifierName": undefined,
"start": Position {
"column": 5,
"line": 1,
@@ -680,6 +746,7 @@ Collection {
"value": "",
},
],
+ "trailingComments": undefined,
"type": "File",
},
},
diff --git a/packages/webpack-scaffold/package.json b/packages/webpack-scaffold/package.json
index 8f7f4c9180a..76dee7085f2 100644
--- a/packages/webpack-scaffold/package.json
+++ b/packages/webpack-scaffold/package.json
@@ -1,6 +1,6 @@
{
"name": "@webpack-cli/webpack-scaffold",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "Utility files for webpack-scaffold",
"main": "lib/index.js",
"types": "lib/index.d.ts",
diff --git a/test/analyze/analyze-flag.test.js b/test/analyze/analyze-flag.test.js
index 43d6a0796a2..ec27d3b78ac 100644
--- a/test/analyze/analyze-flag.test.js
+++ b/test/analyze/analyze-flag.test.js
@@ -1,26 +1,19 @@
'use strict';
const { runAndGetWatchProc } = require('../utils/test-utils');
-const { writeFileSync } = require('fs');
-const { resolve } = require('path');
describe('--analyze flag', () => {
it('should load webpack-bundle-analyzer plugin with --analyze flag', (done) => {
- const proc = runAndGetWatchProc(__dirname, ['--analyze'], false, '', true);
- let semaphore = 1;
+ const proc = runAndGetWatchProc(__dirname, ['--analyze', '--watch'], false, '', true);
+
proc.stdout.on('data', (chunk) => {
const data = chunk.toString();
- if (semaphore === 1 && data.includes('BundleAnalyzerPlugin')) {
- writeFileSync(resolve(__dirname, './src/main.js'), `console.log('analyze flag test');`);
- semaphore--;
- return;
- }
- if (semaphore === 0) {
- expect(data).toContain('Webpack Bundle Analyzer is started at http://127.0.0.1:8888');
- semaphore--;
+
+ if (data.includes('Webpack Bundle Analyzer is started at')) {
+ expect(data).toContain('Webpack Bundle Analyzer is started at');
+
proc.kill();
done();
- return;
}
});
});
diff --git a/test/bail/bail-and-watch-warning.test.js b/test/bail/bail-and-watch-warning.test.js
deleted file mode 100644
index 088d8717967..00000000000
--- a/test/bail/bail-and-watch-warning.test.js
+++ /dev/null
@@ -1,26 +0,0 @@
-'use strict';
-
-const { run } = require('../utils/test-utils');
-
-describe('bail and watch warning', () => {
- it('should log warning in case of single compiler', () => {
- const { stderr, stdout } = run(__dirname, ['-c', 'single-webpack.config.js']);
-
- expect(stderr).toContain(`You are using "bail" with "watch". "bail" will still exit webpack when the first error is found.`);
- expect(stdout).toBeTruthy();
- });
-
- it('should log warning in case of multiple compilers', () => {
- const { stderr, stdout } = run(__dirname, ['-c', 'multi-webpack.config.js']);
-
- expect(stderr).toContain(`You are using "bail" with "watch". "bail" will still exit webpack when the first error is found.`);
- expect(stdout).toBeTruthy();
- });
-
- it('should log not log warning if both are not true', () => {
- const { stderr, stdout } = run(__dirname, ['-c', 'third-webpack.config.js']);
-
- expect(stderr).not.toContain(`You are using "bail" with "watch". "bail" will still exit webpack when the first error is found.`);
- expect(stdout).toBeTruthy();
- });
-});
diff --git a/test/bail/single-webpack.config.js b/test/bail/bail-and-watch-webpack.config.js
similarity index 100%
rename from test/bail/single-webpack.config.js
rename to test/bail/bail-and-watch-webpack.config.js
diff --git a/test/bail/bail-multi-webpack.config.js b/test/bail/bail-multi-webpack.config.js
new file mode 100644
index 00000000000..c8ee4390baf
--- /dev/null
+++ b/test/bail/bail-multi-webpack.config.js
@@ -0,0 +1,19 @@
+module.exports = [
+ {
+ output: {
+ filename: './dist-first.js',
+ },
+ name: 'first',
+ entry: './src/first.js',
+ mode: 'development',
+ bail: true,
+ },
+ {
+ output: {
+ filename: './dist-second.js',
+ },
+ name: 'second',
+ entry: './src/second.js',
+ mode: 'production',
+ },
+];
diff --git a/test/bail/third-webpack.config.js b/test/bail/bail-webpack.config.js
similarity index 100%
rename from test/bail/third-webpack.config.js
rename to test/bail/bail-webpack.config.js
diff --git a/test/bail/bail.test.js b/test/bail/bail.test.js
new file mode 100644
index 00000000000..94551a627cf
--- /dev/null
+++ b/test/bail/bail.test.js
@@ -0,0 +1,61 @@
+'use strict';
+
+const { run, runWatch } = require('../utils/test-utils');
+
+describe('bail and watch warning', () => {
+ it('should not log warning in not watch mode', async () => {
+ const { stderr, stdout } = await run(__dirname, ['-c', 'bail-webpack.config.js']);
+
+ expect(stderr).not.toContain(`You are using "bail" with "watch". "bail" will still exit webpack when the first error is found.`);
+ expect(stdout).toBeTruthy();
+ });
+
+ it('should not log warning in not watch mode without the "bail" option', async () => {
+ const { stderr, stdout } = await run(__dirname, ['-c', 'no-bail-webpack.config.js']);
+
+ expect(stderr).not.toContain(`You are using "bail" with "watch". "bail" will still exit webpack when the first error is found.`);
+ expect(stdout).toBeTruthy();
+ });
+
+ it('should not log warning in not watch mode without the "watch" option', async () => {
+ const { stderr, stdout } = await runWatch(__dirname, ['-c', 'watch-webpack.config.js']);
+
+ expect(stderr).not.toContain(`You are using "bail" with "watch". "bail" will still exit webpack when the first error is found.`);
+ expect(stdout).toBeTruthy();
+ });
+
+ it('should not log warning without the "bail" option', async () => {
+ const { stderr, stdout } = await runWatch(__dirname, ['-c', 'no-bail-webpack.config.js', '--watch']);
+
+ expect(stderr).not.toContain(`You are using "bail" with "watch". "bail" will still exit webpack when the first error is found.`);
+ expect(stdout).toBeTruthy();
+ });
+
+ it('should not log warning without the "bail" option', async () => {
+ const { stderr, stdout } = await runWatch(__dirname, ['-c', 'no-bail-webpack.config.js', '--watch']);
+
+ expect(stderr).not.toContain(`You are using "bail" with "watch". "bail" will still exit webpack when the first error is found.`);
+ expect(stdout).toBeTruthy();
+ });
+
+ it('should log warning in watch mode', async () => {
+ const { stderr, stdout } = await runWatch(__dirname, ['-c', 'bail-webpack.config.js', '--watch']);
+
+ expect(stderr).toContain(`You are using "bail" with "watch". "bail" will still exit webpack when the first error is found.`);
+ expect(stdout).toBeTruthy();
+ });
+
+ it('should log warning in watch mode', async () => {
+ const { stderr, stdout } = await runWatch(__dirname, ['-c', 'bail-and-watch-webpack.config.js']);
+
+ expect(stderr).toContain(`You are using "bail" with "watch". "bail" will still exit webpack when the first error is found.`);
+ expect(stdout).toBeTruthy();
+ });
+
+ it('should log warning in case of multiple compilers', async () => {
+ const { stderr, stdout } = await runWatch(__dirname, ['-c', 'multi-webpack.config.js']);
+
+ expect(stderr).toContain(`You are using "bail" with "watch". "bail" will still exit webpack when the first error is found.`);
+ expect(stdout).toBeTruthy();
+ });
+});
diff --git a/test/bail/multi-webpack.config.js b/test/bail/multi-webpack.config.js
index 497c9ff6162..1c13ab36f2d 100644
--- a/test/bail/multi-webpack.config.js
+++ b/test/bail/multi-webpack.config.js
@@ -6,6 +6,8 @@ module.exports = [
name: 'first',
entry: './src/first.js',
mode: 'development',
+ bail: true,
+ watch: true,
},
{
output: {
@@ -14,7 +16,5 @@ module.exports = [
name: 'second',
entry: './src/second.js',
mode: 'production',
- bail: true,
- watch: true,
},
];
diff --git a/test/bail/no-bail-webpack.config.js b/test/bail/no-bail-webpack.config.js
new file mode 100644
index 00000000000..6b70bf3cf22
--- /dev/null
+++ b/test/bail/no-bail-webpack.config.js
@@ -0,0 +1,4 @@
+module.exports = {
+ entry: './src/first.js',
+ mode: 'development',
+};
diff --git a/test/bail/watch-webpack.config.js b/test/bail/watch-webpack.config.js
new file mode 100644
index 00000000000..447c8d35986
--- /dev/null
+++ b/test/bail/watch-webpack.config.js
@@ -0,0 +1,5 @@
+module.exports = {
+ entry: './src/first.js',
+ mode: 'development',
+ watch: true,
+};
diff --git a/test/build-errors/errors.test.js b/test/build-errors/errors.test.js
new file mode 100644
index 00000000000..5ff6bbc617b
--- /dev/null
+++ b/test/build-errors/errors.test.js
@@ -0,0 +1,54 @@
+'use strict';
+const { run } = require('../utils/test-utils');
+const { stat, readFile } = require('fs');
+const { resolve } = require('path');
+
+describe('errors', () => {
+ it('should output by default', () => {
+ const { stdout, exitCode } = run(__dirname);
+
+ expect(stdout).toMatch(/ERROR/);
+ expect(stdout).toMatch(/Error: Can't resolve/);
+ expect(exitCode).toBe(1);
+ });
+
+ it('should output JSON with the "json" flag', () => {
+ const { stdout, exitCode } = run(__dirname, ['--json']);
+
+ expect(() => JSON.parse(stdout)).not.toThrow();
+ expect(exitCode).toBe(1);
+
+ const json = JSON.parse(stdout);
+
+ expect(json['hash']).toBeDefined();
+ expect(json['errors']).toHaveLength(1);
+ // `message` for `webpack@5`
+ expect(json['errors'][0].message ? json['errors'][0].message : json['errors'][0]).toMatch(/Can't resolve/);
+ });
+
+ it('should store json to a file', (done) => {
+ const { stdout, exitCode } = run(__dirname, ['--json', 'stats.json']);
+
+ expect(stdout).toContain('stats are successfully stored as json to stats.json');
+ expect(exitCode).toBe(1);
+
+ stat(resolve(__dirname, './stats.json'), (err, stats) => {
+ expect(err).toBe(null);
+ expect(stats.isFile()).toBe(true);
+
+ readFile(resolve(__dirname, 'stats.json'), 'utf-8', (error, data) => {
+ expect(error).toBe(null);
+ expect(() => JSON.parse(data)).not.toThrow();
+
+ const json = JSON.parse(data);
+
+ expect(json['hash']).toBeDefined();
+ expect(json['errors']).toHaveLength(1);
+ // `message` for `webpack@5`
+ expect(json['errors'][0].message ? json['errors'][0].message : json['errors'][0]).toMatch(/Can't resolve/);
+
+ done();
+ });
+ });
+ });
+});
diff --git a/test/build-errors/src/index.js b/test/build-errors/src/index.js
new file mode 100644
index 00000000000..a75a3dc05f9
--- /dev/null
+++ b/test/build-errors/src/index.js
@@ -0,0 +1,3 @@
+import unknown from './unknown.mjs';
+
+export default unknown
diff --git a/test/build-warnings/src/index.js b/test/build-warnings/src/index.js
new file mode 100644
index 00000000000..17d6eb1b468
--- /dev/null
+++ b/test/build-warnings/src/index.js
@@ -0,0 +1,9 @@
+let obj;
+
+try {
+ obj = require('unknown');
+} catch (e) {
+ // Ignore
+}
+
+export default obj
diff --git a/test/build-warnings/warnings.test.js b/test/build-warnings/warnings.test.js
new file mode 100644
index 00000000000..cb049a150b8
--- /dev/null
+++ b/test/build-warnings/warnings.test.js
@@ -0,0 +1,54 @@
+'use strict';
+const { run } = require('../utils/test-utils');
+const { stat, readFile } = require('fs');
+const { resolve } = require('path');
+
+describe('warnings', () => {
+ it('should output by default', () => {
+ const { stdout, exitCode } = run(__dirname);
+
+ expect(stdout).toMatch(/WARNING/);
+ expect(stdout).toMatch(/Error: Can't resolve/);
+ expect(exitCode).toBe(0);
+ });
+
+ it('should output JSON with the "json" flag', () => {
+ const { stdout, exitCode } = run(__dirname, ['--json']);
+
+ expect(() => JSON.parse(stdout)).not.toThrow();
+ expect(exitCode).toBe(0);
+
+ const json = JSON.parse(stdout);
+
+ expect(json['hash']).toBeDefined();
+ expect(json['warnings']).toHaveLength(1);
+ // `message` for `webpack@5`
+ expect(json['warnings'][0].message ? json['warnings'][0].message : json['warnings'][0]).toMatch(/Can't resolve/);
+ });
+
+ it('should store json to a file', (done) => {
+ const { stdout, exitCode } = run(__dirname, ['--json', 'stats.json']);
+
+ expect(stdout).toContain('stats are successfully stored as json to stats.json');
+ expect(exitCode).toBe(0);
+
+ stat(resolve(__dirname, './stats.json'), (err, stats) => {
+ expect(err).toBe(null);
+ expect(stats.isFile()).toBe(true);
+
+ readFile(resolve(__dirname, 'stats.json'), 'utf-8', (error, data) => {
+ expect(error).toBe(null);
+ expect(() => JSON.parse(data)).not.toThrow();
+
+ const json = JSON.parse(data);
+
+ expect(json['hash']).toBeDefined();
+ expect(json['warnings']).toHaveLength(1);
+ // `message` for `webpack@5`
+ expect(json['warnings'][0].message ? json['warnings'][0].message : json['warnings'][0]).toMatch(/Can't resolve/);
+
+ done();
+ });
+ });
+ });
+});
diff --git a/test/cache/cache.test.js b/test/cache/cache.test.js
index a183ac4b7d7..66a923670b1 100644
--- a/test/cache/cache.test.js
+++ b/test/cache/cache.test.js
@@ -10,7 +10,7 @@ describe('cache related tests', () => {
if (isWebpack5) {
expect(stderr).toContain('starting to restore cache content');
- expect(stdout).toContain('[cached] 1 module');
+ expect(stdout).toContain('[cached]');
}
});
});
diff --git a/test/colors/colors-false.webpack.config.js b/test/colors/colors-false.webpack.config.js
new file mode 100644
index 00000000000..b0f58638bfa
--- /dev/null
+++ b/test/colors/colors-false.webpack.config.js
@@ -0,0 +1,5 @@
+module.exports = {
+ stats: {
+ colors: false,
+ },
+};
diff --git a/test/colors/colors-true.webpack.config.js b/test/colors/colors-true.webpack.config.js
new file mode 100644
index 00000000000..15fc57eafd8
--- /dev/null
+++ b/test/colors/colors-true.webpack.config.js
@@ -0,0 +1,5 @@
+module.exports = {
+ stats: {
+ colors: true,
+ },
+};
diff --git a/test/colors/colors.test.js b/test/colors/colors.test.js
new file mode 100644
index 00000000000..4bc9e30fbfb
--- /dev/null
+++ b/test/colors/colors.test.js
@@ -0,0 +1,92 @@
+'use strict';
+const { run, isWebpack5 } = require('../utils/test-utils');
+const { resolve } = require('path');
+const { options: coloretteOptions } = require('colorette');
+
+describe('colorts', () => {
+ it('should output by default', () => {
+ const { stderr, stdout, exitCode } = run(__dirname);
+
+ expect(stderr).toBeFalsy();
+ const output = isWebpack5 ? 'successfully' : 'main.js';
+ expect(stdout).toContain(coloretteOptions.enabled ? `\u001b[1m\u001b[32m${output}\u001b[39m\u001b[22m` : output);
+ expect(exitCode).toBe(0);
+ });
+
+ it('should work with the "stats" option from flags', () => {
+ const { stderr, stdout, exitCode } = run(__dirname, ['--stats=verbose']);
+
+ expect(stderr).toBeFalsy();
+ const output = isWebpack5 ? 'successfully' : 'main.js';
+ expect(stdout).toContain(coloretteOptions.enabled ? `\u001b[1m\u001b[32m${output}\u001b[39m\u001b[22m` : output);
+ expect(exitCode).toBe(0);
+ });
+
+ it('should work with the "stats" option from flags and from configuration', () => {
+ const { stderr, stdout, exitCode } = run(__dirname, [
+ '--stats=verbose',
+ `--config=${resolve(__dirname, './no-stats.webpack.config.js')}`,
+ ]);
+
+ expect(stderr).toBeFalsy();
+ const output = isWebpack5 ? 'successfully' : 'main.js';
+ expect(stdout).toContain(coloretteOptions.enabled ? `\u001b[1m\u001b[32m${output}\u001b[39m\u001b[22m` : output);
+ expect(exitCode).toBe(0);
+ });
+
+ it('should work with the "stats" option from flags and from configuration #2', () => {
+ const { stderr, stdout, exitCode } = run(__dirname, ['--stats=verbose', '--config=stats-string.webpack.config.js']);
+
+ expect(stderr).toBeFalsy();
+ const output = isWebpack5 ? 'successfully' : 'main.js';
+ expect(stdout).toContain(coloretteOptions.enabled ? `\u001b[1m\u001b[32m${output}\u001b[39m\u001b[22m` : output);
+ expect(exitCode).toBe(0);
+ });
+
+ it('should work with the "stats" option from the configuration', () => {
+ const { stderr, stdout, exitCode } = run(__dirname, ['--config=stats-string.webpack.config.js']);
+
+ expect(stderr).toBeFalsy();
+ const output = isWebpack5 ? 'successfully' : 'main.js';
+ expect(stdout).toContain(coloretteOptions.enabled ? `\u001b[1m\u001b[32m${output}\u001b[39m\u001b[22m` : output);
+ expect(exitCode).toBe(0);
+ });
+
+ it('should work with the "stats" option from the configuration #1', () => {
+ const { stderr, stdout, exitCode } = run(__dirname, ['--config=stats-boolean.webpack.config.js']);
+
+ expect(stderr).toBeFalsy();
+ const output = isWebpack5 ? 'successfully' : 'main.js';
+ expect(stdout).toContain(coloretteOptions.enabled ? `\u001b[1m\u001b[32m${output}\u001b[39m\u001b[22m` : output);
+ expect(exitCode).toBe(0);
+ });
+
+ it('should work with the "stats" option from the configuration #2', () => {
+ const { stderr, stdout, exitCode } = run(__dirname, ['--config=no-stats.webpack.config.js']);
+
+ expect(stderr).toBeFalsy();
+ const output = isWebpack5 ? 'successfully' : 'main.js';
+ expect(stdout).toContain(coloretteOptions.enabled ? `\u001b[1m\u001b[32m${output}\u001b[39m\u001b[22m` : output);
+ expect(exitCode).toBe(0);
+ });
+
+ it('should work with the "stats" option from the configuration #3', () => {
+ const { stderr, stdout, exitCode } = run(__dirname, ['--config=colors-true.webpack.config.js']);
+
+ expect(stderr).toBeFalsy();
+ const output = isWebpack5 ? 'successfully' : 'main.js';
+ expect(stdout).toContain(coloretteOptions.enabled ? `\u001b[1m\u001b[32m${output}\u001b[39m\u001b[22m` : output);
+ expect(exitCode).toBe(0);
+ });
+
+ it('should work with the "stats" option from the configuration #4', () => {
+ const { stderr, stdout, exitCode } = run(__dirname, ['--config=colors-false.webpack.config.js']);
+
+ expect(stderr).toBeFalsy();
+ const output = isWebpack5 ? 'successfully' : 'main.js';
+ console.log(stdout);
+ expect(stdout).not.toContain(`\u001b[1m\u001b[32m${output}\u001b[39m\u001b[22m`);
+ expect(stdout).toContain(output);
+ expect(exitCode).toBe(0);
+ });
+});
diff --git a/test/colors/no-stats.webpack.config.js b/test/colors/no-stats.webpack.config.js
new file mode 100644
index 00000000000..34672801b3d
--- /dev/null
+++ b/test/colors/no-stats.webpack.config.js
@@ -0,0 +1,3 @@
+module.exports = {
+ name: 'test',
+};
diff --git a/test/colors/src/index.js b/test/colors/src/index.js
new file mode 100644
index 00000000000..bdc9aeaf2d1
--- /dev/null
+++ b/test/colors/src/index.js
@@ -0,0 +1,3 @@
+const foo = 'bar';
+
+export default foo
diff --git a/test/colors/stats-boolean.webpack.config.js b/test/colors/stats-boolean.webpack.config.js
new file mode 100644
index 00000000000..1c9b636be33
--- /dev/null
+++ b/test/colors/stats-boolean.webpack.config.js
@@ -0,0 +1,3 @@
+module.exports = {
+ stats: true,
+};
diff --git a/test/colors/stats-string.webpack.config.js b/test/colors/stats-string.webpack.config.js
new file mode 100644
index 00000000000..5c13e746a6a
--- /dev/null
+++ b/test/colors/stats-string.webpack.config.js
@@ -0,0 +1,3 @@
+module.exports = {
+ stats: 'verbose',
+};
diff --git a/test/config-lookup/custom-name/a.js b/test/config-lookup/custom-name/a.js
new file mode 100644
index 00000000000..2651774ae60
--- /dev/null
+++ b/test/config-lookup/custom-name/a.js
@@ -0,0 +1 @@
+module.exports = 'foo';
diff --git a/test/config-lookup/custom-name/config.webpack.js b/test/config-lookup/custom-name/config.webpack.js
new file mode 100644
index 00000000000..9b526a493e2
--- /dev/null
+++ b/test/config-lookup/custom-name/config.webpack.js
@@ -0,0 +1,9 @@
+const { resolve } = require('path');
+
+module.exports = {
+ entry: resolve('./a.js'),
+ output: {
+ path: resolve(__dirname, 'binary'),
+ filename: 'a.bundle.js',
+ },
+};
diff --git a/test/config-lookup/custom-name/custom-name.test.js b/test/config-lookup/custom-name/custom-name.test.js
new file mode 100644
index 00000000000..66ecfe8a93a
--- /dev/null
+++ b/test/config-lookup/custom-name/custom-name.test.js
@@ -0,0 +1,14 @@
+'use strict';
+const { existsSync } = require('fs');
+const { resolve } = require('path');
+const { run } = require('../../utils/test-utils');
+
+describe('custom config file', () => {
+ it('should work', () => {
+ const { stdout, stderr, exitCode } = run(__dirname, ['--config', resolve(__dirname, 'config.webpack.js')], false);
+ expect(stderr).toBeFalsy();
+ expect(stdout).toBeTruthy();
+ expect(exitCode).toBe(0);
+ expect(existsSync(resolve(__dirname, './binary/a.bundle.js'))).toBeTruthy();
+ });
+});
diff --git a/test/config-lookup/relative/a.js b/test/config-lookup/relative/a.js
new file mode 100644
index 00000000000..735d820f253
--- /dev/null
+++ b/test/config-lookup/relative/a.js
@@ -0,0 +1 @@
+module.exports = 'a.js';
diff --git a/test/config-lookup/relative/basic-config.test.js b/test/config-lookup/relative/basic-config.test.js
new file mode 100644
index 00000000000..ad568ba330d
--- /dev/null
+++ b/test/config-lookup/relative/basic-config.test.js
@@ -0,0 +1,22 @@
+'use strict';
+const { existsSync } = require('fs');
+const { resolve } = require('path');
+const { run } = require('../../utils/test-utils');
+
+describe('relative path to config', () => {
+ it('should work', () => {
+ const { stdout, stderr, exitCode } = run(__dirname, ['-c', 'webpack.config.js', '--output-path', './binary/a'], false);
+ expect(stderr).toBeFalsy();
+ expect(stdout).toBeTruthy();
+ expect(exitCode).toBe(0);
+ expect(existsSync(resolve(__dirname, './binary/a/a.bundle.js'))).toBeTruthy();
+ });
+
+ it('should work #2', () => {
+ const { stdout, stderr, exitCode } = run(__dirname, ['-c', './webpack.config.js', '--output-path', './binary/b'], false);
+ expect(stderr).toBeFalsy();
+ expect(stdout).toBeTruthy();
+ expect(exitCode).toBe(0);
+ expect(existsSync(resolve(__dirname, './binary/b/a.bundle.js'))).toBeTruthy();
+ });
+});
diff --git a/test/config-lookup/relative/webpack.config.js b/test/config-lookup/relative/webpack.config.js
new file mode 100644
index 00000000000..b58f8a91f0d
--- /dev/null
+++ b/test/config-lookup/relative/webpack.config.js
@@ -0,0 +1,9 @@
+const { resolve } = require('path');
+
+module.exports = {
+ entry: './a.js',
+ output: {
+ path: resolve(__dirname, 'binary'),
+ filename: 'a.bundle.js',
+ },
+};
diff --git a/test/config-name/config-name.test.js b/test/config-name/config-name.test.js
index 94cae4f3cc0..de2fe509af4 100644
--- a/test/config-name/config-name.test.js
+++ b/test/config-name/config-name.test.js
@@ -6,11 +6,12 @@ const { resolve } = require('path');
describe('--config-name flag', () => {
it('should select only the config whose name is passed with --config-name', (done) => {
- const { stderr, stdout } = run(__dirname, ['--config-name', 'first'], false);
+ const { stderr, stdout, exitCode } = run(__dirname, ['--config-name', 'first'], false);
expect(stderr).toBeFalsy();
expect(stdout).toContain('first');
expect(stdout).not.toContain('second');
expect(stdout).not.toContain('third');
+ expect(exitCode).toBe(0);
stat(resolve(__dirname, './dist/dist-first.js'), (err, stats) => {
expect(err).toBe(null);
@@ -20,33 +21,64 @@ describe('--config-name flag', () => {
});
it('should work with multiple values for --config-name', (done) => {
- const { stderr, stdout } = run(__dirname, ['--config-name', 'first', '--config-name', 'third'], false);
+ const { stderr, stdout, exitCode } = run(__dirname, ['--config-name', 'first', '--config-name', 'third'], false);
expect(stderr).toBeFalsy();
expect(stdout).toContain('first');
expect(stdout).not.toContain('second');
expect(stdout).toContain('third');
+ expect(exitCode).toBe(0);
- stat(resolve(__dirname, './dist/dist-first.js'), (err, stats) => {
- expect(err).toBe(null);
- expect(stats.isFile()).toBe(true);
- done();
- });
stat(resolve(__dirname, './dist/dist-third.js'), (err, stats) => {
expect(err).toBe(null);
expect(stats.isFile()).toBe(true);
- done();
+
+ stat(resolve(__dirname, './dist/dist-first.js'), (err, stats) => {
+ expect(err).toBe(null);
+ expect(stats.isFile()).toBe(true);
+ done();
+ });
});
});
it('should log error if invalid config name is provided', () => {
- const { stderr, stdout } = run(__dirname, ['--config-name', 'test'], false);
+ const { stderr, stdout, exitCode } = run(__dirname, ['--config-name', 'test'], false);
+
expect(stderr).toContain('Configuration with name "test" was not found.');
expect(stdout).toBeFalsy();
+ expect(exitCode).toBe(2);
});
it('should log error if multiple configurations are not found', () => {
- const { stderr, stdout } = run(__dirname, ['--config-name', 'test', '-c', 'single-config.js'], false);
- expect(stderr).toContain('Multiple configurations not found. Please use "--config-name" with multiple configurations');
+ const { stderr, stdout, exitCode } = run(__dirname, ['--config-name', 'test', '-c', 'single-config.js'], false);
+
+ expect(stderr).toContain('Configuration with name "test" was not found.');
+ expect(stdout).toBeFalsy();
+ expect(exitCode).toBe(2);
+ });
+
+ it('should log error if multiple configurations are not found #1', () => {
+ const { stderr, stdout, exitCode } = run(
+ __dirname,
+ ['--config-name', 'test', '--config-name', 'bar', '-c', 'single-config.js'],
+ false,
+ );
+
+ expect(stderr).toContain('Configuration with name "test" was not found.');
+ expect(stderr).toContain('Configuration with name "bar" was not found.');
+ expect(stdout).toBeFalsy();
+ expect(exitCode).toBe(2);
+ });
+
+ it('should log error if multiple configurations are not found #2', () => {
+ const { stderr, stdout, exitCode } = run(
+ __dirname,
+ ['--config-name', 'first', '--config-name', 'bar', '-c', 'single-config.js'],
+ false,
+ );
+
+ expect(stderr).not.toContain('Configuration with name "first" was not found.');
+ expect(stderr).toContain('Configuration with name "bar" was not found.');
expect(stdout).toBeFalsy();
+ expect(exitCode).toBe(2);
});
});
diff --git a/test/config-name/webpack.config.js b/test/config-name/webpack.config.js
index 515d077d3e2..4580e6062d0 100644
--- a/test/config-name/webpack.config.js
+++ b/test/config-name/webpack.config.js
@@ -6,6 +6,7 @@ module.exports = [
name: 'first',
entry: './src/first.js',
mode: 'development',
+ stats: 'minimal',
},
{
output: {
@@ -14,6 +15,7 @@ module.exports = [
name: 'second',
entry: './src/second.js',
mode: 'production',
+ stats: 'minimal',
},
{
output: {
@@ -22,5 +24,6 @@ module.exports = [
name: 'third',
entry: './src/third.js',
mode: 'none',
+ stats: 'verbose',
},
];
diff --git a/test/config/absent/config-absent.test.js b/test/config/absent/config-absent.test.js
index 51bbea08355..f2c2ee6fc7c 100644
--- a/test/config/absent/config-absent.test.js
+++ b/test/config/absent/config-absent.test.js
@@ -11,7 +11,7 @@ describe('Config:', () => {
expect(stdout).toBeFalsy();
const configPath = resolve(__dirname, 'webpack.config.js');
// Should contain the correct error message
- expect(stderr).toContain(`ConfigError: The specified config file doesn't exist in ${configPath}`);
+ expect(stderr).toContain(`The specified config file doesn't exist in ${configPath}`);
// Should not bundle
expect(existsSync(resolve(__dirname, './binary/a.bundle.js'))).toBeFalsy();
});
diff --git a/test/config/basic/basic-config.test.js b/test/config/basic/basic-config.test.js
index a2d876db072..6372c65afa9 100644
--- a/test/config/basic/basic-config.test.js
+++ b/test/config/basic/basic-config.test.js
@@ -5,9 +5,14 @@ const { run } = require('../../utils/test-utils');
describe('basic config file', () => {
it('is able to understand and parse a very basic configuration file', () => {
- const { stdout, stderr } = run(__dirname, ['-c', resolve(__dirname, 'webpack.config.js'), '--output-path', './binary'], false);
+ const { stdout, stderr, exitCode } = run(
+ __dirname,
+ ['-c', resolve(__dirname, 'webpack.config.js'), '--output-path', './binary'],
+ false,
+ );
expect(stderr).toBeFalsy();
expect(stdout).toBeTruthy();
+ expect(exitCode).toBe(0);
expect(existsSync(resolve(__dirname, './binary/a.bundle.js'))).toBeTruthy();
});
});
diff --git a/test/config/empty/empty-config.test.js b/test/config/empty-array/empty-array.test.js
similarity index 68%
rename from test/config/empty/empty-config.test.js
rename to test/config/empty-array/empty-array.test.js
index 71625bf030b..0c34474487d 100644
--- a/test/config/empty/empty-config.test.js
+++ b/test/config/empty-array/empty-array.test.js
@@ -4,8 +4,9 @@ const { run } = require('../../utils/test-utils');
describe('config flag with empty config file', () => {
it('should throw error with no configuration or index file', () => {
- const { stdout, stderr } = run(__dirname, ['-c', resolve(__dirname, 'webpack.config.js')]);
+ const { stdout, stderr, exitCode } = run(__dirname, ['-c', resolve(__dirname, 'webpack.config.js')]);
expect(stderr).toBeFalsy();
expect(stdout).toBeTruthy();
+ expect(exitCode).toBe(0);
});
});
diff --git a/test/config/empty-array/src/index.js b/test/config/empty-array/src/index.js
new file mode 100644
index 00000000000..ddcb8a97f43
--- /dev/null
+++ b/test/config/empty-array/src/index.js
@@ -0,0 +1 @@
+module.exports = 'empty';
\ No newline at end of file
diff --git a/test/config/empty-array/webpack.config.js b/test/config/empty-array/webpack.config.js
new file mode 100644
index 00000000000..6193feabfd8
--- /dev/null
+++ b/test/config/empty-array/webpack.config.js
@@ -0,0 +1 @@
+module.exports = [{}, {}];
diff --git a/test/config/empty-function/empty-function.test.js b/test/config/empty-function/empty-function.test.js
new file mode 100644
index 00000000000..0c34474487d
--- /dev/null
+++ b/test/config/empty-function/empty-function.test.js
@@ -0,0 +1,12 @@
+'use strict';
+const { resolve } = require('path');
+const { run } = require('../../utils/test-utils');
+
+describe('config flag with empty config file', () => {
+ it('should throw error with no configuration or index file', () => {
+ const { stdout, stderr, exitCode } = run(__dirname, ['-c', resolve(__dirname, 'webpack.config.js')]);
+ expect(stderr).toBeFalsy();
+ expect(stdout).toBeTruthy();
+ expect(exitCode).toBe(0);
+ });
+});
diff --git a/test/config/empty-function/src/index.js b/test/config/empty-function/src/index.js
new file mode 100644
index 00000000000..4d9e3a1cf9b
--- /dev/null
+++ b/test/config/empty-function/src/index.js
@@ -0,0 +1 @@
+module.exports = 'empty-function';
\ No newline at end of file
diff --git a/test/config/empty-function/webpack.config.js b/test/config/empty-function/webpack.config.js
new file mode 100644
index 00000000000..3b86b2a2eac
--- /dev/null
+++ b/test/config/empty-function/webpack.config.js
@@ -0,0 +1,3 @@
+module.exports = () => {
+ return {};
+};
diff --git a/test/config/empty-promise/empty-promise.test.js b/test/config/empty-promise/empty-promise.test.js
new file mode 100644
index 00000000000..0c34474487d
--- /dev/null
+++ b/test/config/empty-promise/empty-promise.test.js
@@ -0,0 +1,12 @@
+'use strict';
+const { resolve } = require('path');
+const { run } = require('../../utils/test-utils');
+
+describe('config flag with empty config file', () => {
+ it('should throw error with no configuration or index file', () => {
+ const { stdout, stderr, exitCode } = run(__dirname, ['-c', resolve(__dirname, 'webpack.config.js')]);
+ expect(stderr).toBeFalsy();
+ expect(stdout).toBeTruthy();
+ expect(exitCode).toBe(0);
+ });
+});
diff --git a/test/config/empty-promise/src/index.js b/test/config/empty-promise/src/index.js
new file mode 100644
index 00000000000..b6838e230eb
--- /dev/null
+++ b/test/config/empty-promise/src/index.js
@@ -0,0 +1 @@
+module.exports = 'empty-promise';
\ No newline at end of file
diff --git a/test/config/empty-promise/webpack.config.js b/test/config/empty-promise/webpack.config.js
new file mode 100644
index 00000000000..c8a4865f9d6
--- /dev/null
+++ b/test/config/empty-promise/webpack.config.js
@@ -0,0 +1,3 @@
+module.exports = new Promise((resolve) => {
+ resolve({});
+});
diff --git a/test/config/empty/empty.test.js b/test/config/empty/empty.test.js
new file mode 100644
index 00000000000..0c34474487d
--- /dev/null
+++ b/test/config/empty/empty.test.js
@@ -0,0 +1,12 @@
+'use strict';
+const { resolve } = require('path');
+const { run } = require('../../utils/test-utils');
+
+describe('config flag with empty config file', () => {
+ it('should throw error with no configuration or index file', () => {
+ const { stdout, stderr, exitCode } = run(__dirname, ['-c', resolve(__dirname, 'webpack.config.js')]);
+ expect(stderr).toBeFalsy();
+ expect(stdout).toBeTruthy();
+ expect(exitCode).toBe(0);
+ });
+});
diff --git a/test/config/empty/src/index.js b/test/config/empty/src/index.js
new file mode 100644
index 00000000000..ddcb8a97f43
--- /dev/null
+++ b/test/config/empty/src/index.js
@@ -0,0 +1 @@
+module.exports = 'empty';
\ No newline at end of file
diff --git a/test/config/invalid-export/invalid-export.test.js b/test/config/invalid-export/invalid-export.test.js
new file mode 100644
index 00000000000..ca1abec6ab5
--- /dev/null
+++ b/test/config/invalid-export/invalid-export.test.js
@@ -0,0 +1,14 @@
+'use strict';
+const { resolve } = require('path');
+const { run } = require('../../utils/test-utils');
+
+describe('invalid export', () => {
+ it('should throw error with no configuration or index file', () => {
+ const { stderr, exitCode } = run(__dirname, ['-c', resolve(__dirname, 'webpack.config.js')]);
+
+ expect(stderr).toBeTruthy();
+ expect(stderr).toContain('Invalid configuration object');
+
+ expect(exitCode).toBe(2);
+ });
+});
diff --git a/test/config/invalid-export/webpack.config.js b/test/config/invalid-export/webpack.config.js
new file mode 100644
index 00000000000..2651774ae60
--- /dev/null
+++ b/test/config/invalid-export/webpack.config.js
@@ -0,0 +1 @@
+module.exports = 'foo';
diff --git a/test/config/no-config-array/a.js b/test/config/no-config-array/a.js
new file mode 100644
index 00000000000..735d820f253
--- /dev/null
+++ b/test/config/no-config-array/a.js
@@ -0,0 +1 @@
+module.exports = 'a.js';
diff --git a/test/config/no-config-array/no-config-array.test.js b/test/config/no-config-array/no-config-array.test.js
new file mode 100644
index 00000000000..2be56276b57
--- /dev/null
+++ b/test/config/no-config-array/no-config-array.test.js
@@ -0,0 +1,13 @@
+'use strict';
+
+const { resolve } = require('path');
+const { run } = require('../../utils/test-utils');
+
+describe('no configs in array', () => {
+ it('is able to understand and parse a very basic configuration file', () => {
+ const { stdout, stderr, exitCode } = run(__dirname, ['-c', resolve(__dirname, 'webpack.config.js')], false);
+ expect(stderr).toContain('No configurations found');
+ expect(stdout).toBeFalsy();
+ expect(exitCode).toBe(2);
+ });
+});
diff --git a/test/config/no-config-array/webpack.config.js b/test/config/no-config-array/webpack.config.js
new file mode 100644
index 00000000000..e0a30c5dfa3
--- /dev/null
+++ b/test/config/no-config-array/webpack.config.js
@@ -0,0 +1 @@
+module.exports = [];
diff --git a/test/config/type/array-function-with-argv/a.js b/test/config/type/array-function-with-argv/a.js
new file mode 100644
index 00000000000..8609d075540
--- /dev/null
+++ b/test/config/type/array-function-with-argv/a.js
@@ -0,0 +1 @@
+console.log('a');
diff --git a/test/config/type/array-function-with-argv/b.js b/test/config/type/array-function-with-argv/b.js
new file mode 100644
index 00000000000..eeb313a0347
--- /dev/null
+++ b/test/config/type/array-function-with-argv/b.js
@@ -0,0 +1 @@
+console.log('b');
diff --git a/test/config/type/array-function-with-argv/function-with-argv.test.js b/test/config/type/array-function-with-argv/function-with-argv.test.js
new file mode 100644
index 00000000000..1685a9a110c
--- /dev/null
+++ b/test/config/type/array-function-with-argv/function-with-argv.test.js
@@ -0,0 +1,15 @@
+'use strict';
+const { existsSync } = require('fs');
+const { resolve } = require('path');
+const { run } = require('../../../utils/test-utils');
+
+describe('array of function with args', () => {
+ it('is able to understand a configuration file as a function', () => {
+ const { stderr, stdout, exitCode } = run(__dirname, ['--mode', 'development'], false);
+ expect(stderr).toBeFalsy();
+ expect(stdout).toBeTruthy();
+ expect(exitCode).toBe(0);
+ expect(existsSync(resolve(__dirname, './dist/a-dev.js'))).toBeTruthy();
+ expect(existsSync(resolve(__dirname, './dist/b-dev.js'))).toBeTruthy();
+ });
+});
diff --git a/test/config/type/array-function-with-argv/webpack.config.js b/test/config/type/array-function-with-argv/webpack.config.js
new file mode 100644
index 00000000000..2ced6f132a5
--- /dev/null
+++ b/test/config/type/array-function-with-argv/webpack.config.js
@@ -0,0 +1,22 @@
+module.exports = [
+ (env, argv) => {
+ console.log({ argv });
+ const { mode } = argv;
+ return {
+ entry: './a.js',
+ output: {
+ filename: mode === 'production' ? 'a-prod.js' : 'a-dev.js',
+ },
+ };
+ },
+ (env, argv) => {
+ console.log({ argv });
+ const { mode } = argv;
+ return {
+ entry: './b.js',
+ output: {
+ filename: mode === 'production' ? 'b-prod.js' : 'b-dev.js',
+ },
+ };
+ },
+];
diff --git a/test/config/type/array-function-with-env/a.js b/test/config/type/array-function-with-env/a.js
new file mode 100644
index 00000000000..8609d075540
--- /dev/null
+++ b/test/config/type/array-function-with-env/a.js
@@ -0,0 +1 @@
+console.log('a');
diff --git a/test/config/type/array-function-with-env/array-function-with-env.test.js b/test/config/type/array-function-with-env/array-function-with-env.test.js
new file mode 100644
index 00000000000..c51cef8e060
--- /dev/null
+++ b/test/config/type/array-function-with-env/array-function-with-env.test.js
@@ -0,0 +1,17 @@
+'use strict';
+const { existsSync } = require('fs');
+const { resolve } = require('path');
+const { run } = require('../../../utils/test-utils');
+
+describe('array of functions with env', () => {
+ it('is able to understand a configuration file as a function', () => {
+ const { stderr, stdout, exitCode } = run(__dirname, ['--mode', 'development'], false);
+ expect(stderr).toBeFalsy();
+ expect(stdout).toBeTruthy();
+ expect(exitCode).toBe(0);
+
+ // Should generate the appropriate files
+ expect(existsSync(resolve(__dirname, './dist/a-dev.js'))).toBeTruthy();
+ expect(existsSync(resolve(__dirname, './dist/b-dev.js'))).toBeTruthy();
+ });
+});
diff --git a/test/config/type/array-function-with-env/b.js b/test/config/type/array-function-with-env/b.js
new file mode 100644
index 00000000000..eeb313a0347
--- /dev/null
+++ b/test/config/type/array-function-with-env/b.js
@@ -0,0 +1 @@
+console.log('b');
diff --git a/test/config/type/array-function-with-env/webpack.config.js b/test/config/type/array-function-with-env/webpack.config.js
new file mode 100644
index 00000000000..2ced6f132a5
--- /dev/null
+++ b/test/config/type/array-function-with-env/webpack.config.js
@@ -0,0 +1,22 @@
+module.exports = [
+ (env, argv) => {
+ console.log({ argv });
+ const { mode } = argv;
+ return {
+ entry: './a.js',
+ output: {
+ filename: mode === 'production' ? 'a-prod.js' : 'a-dev.js',
+ },
+ };
+ },
+ (env, argv) => {
+ console.log({ argv });
+ const { mode } = argv;
+ return {
+ entry: './b.js',
+ output: {
+ filename: mode === 'production' ? 'b-prod.js' : 'b-dev.js',
+ },
+ };
+ },
+];
diff --git a/test/config/type/array-functions/a.js b/test/config/type/array-functions/a.js
new file mode 100644
index 00000000000..ea51098c48f
--- /dev/null
+++ b/test/config/type/array-functions/a.js
@@ -0,0 +1 @@
+module.exports = 'a-function';
diff --git a/test/config/type/array-functions/array-functions.test.js b/test/config/type/array-functions/array-functions.test.js
new file mode 100644
index 00000000000..920852f4aa0
--- /dev/null
+++ b/test/config/type/array-functions/array-functions.test.js
@@ -0,0 +1,24 @@
+'use strict';
+const { stat } = require('fs');
+const { resolve } = require('path');
+const { run } = require('../../../utils/test-utils');
+
+describe('array of functions', () => {
+ it('is able to understand a configuration file as a function', (done) => {
+ const { stderr, exitCode } = run(__dirname, ['-c', resolve(__dirname, 'webpack.config.js')], false);
+
+ expect(stderr).toBeFalsy();
+ expect(exitCode).toBe(0);
+
+ stat(resolve(__dirname, './binary/a-functor.js'), (err, stats) => {
+ expect(err).toBe(null);
+ expect(stats.isFile()).toBe(true);
+
+ stat(resolve(__dirname, './binary/b-functor.js'), (err, stats) => {
+ expect(err).toBe(null);
+ expect(stats.isFile()).toBe(true);
+ done();
+ });
+ });
+ });
+});
diff --git a/test/config/type/array-functions/b.js b/test/config/type/array-functions/b.js
new file mode 100644
index 00000000000..5614cdc34c5
--- /dev/null
+++ b/test/config/type/array-functions/b.js
@@ -0,0 +1 @@
+module.exports = 'b-function';
diff --git a/test/config/type/array-functions/webpack.config.js b/test/config/type/array-functions/webpack.config.js
new file mode 100644
index 00000000000..a10065bb402
--- /dev/null
+++ b/test/config/type/array-functions/webpack.config.js
@@ -0,0 +1,20 @@
+module.exports = [
+ () => {
+ return {
+ entry: './a',
+ output: {
+ path: __dirname + '/binary',
+ filename: 'a-functor.js',
+ },
+ };
+ },
+ () => {
+ return {
+ entry: './b',
+ output: {
+ path: __dirname + '/binary',
+ filename: 'b-functor.js',
+ },
+ };
+ },
+];
diff --git a/test/config/type/array-promises/a.js b/test/config/type/array-promises/a.js
new file mode 100644
index 00000000000..4f7f5db3d4c
--- /dev/null
+++ b/test/config/type/array-promises/a.js
@@ -0,0 +1 @@
+module.exports = 'a-promise';
diff --git a/test/config/type/array-promises/array-promises.test.js b/test/config/type/array-promises/array-promises.test.js
new file mode 100644
index 00000000000..7c831d99cff
--- /dev/null
+++ b/test/config/type/array-promises/array-promises.test.js
@@ -0,0 +1,23 @@
+'use strict';
+const { stat } = require('fs');
+const { resolve } = require('path');
+const { run } = require('../../../utils/test-utils');
+
+describe('array of promises', () => {
+ it('is able to understand a configuration file as a promise', (done) => {
+ const { stdout, stderr } = run(__dirname, ['-c', './webpack.config.js'], false);
+ expect(stdout).toBeTruthy();
+ expect(stderr).toBeFalsy();
+
+ stat(resolve(__dirname, './binary/a-promise.js'), (err, stats) => {
+ expect(err).toBe(null);
+ expect(stats.isFile()).toBe(true);
+
+ stat(resolve(__dirname, './binary/b-promise.js'), (err, stats) => {
+ expect(err).toBe(null);
+ expect(stats.isFile()).toBe(true);
+ done();
+ });
+ });
+ });
+});
diff --git a/test/config/type/array-promises/b.js b/test/config/type/array-promises/b.js
new file mode 100644
index 00000000000..d4280020bd2
--- /dev/null
+++ b/test/config/type/array-promises/b.js
@@ -0,0 +1 @@
+module.exports = 'b-promise';
diff --git a/test/config/type/array-promises/webpack.config.js b/test/config/type/array-promises/webpack.config.js
new file mode 100644
index 00000000000..8d7498a200f
--- /dev/null
+++ b/test/config/type/array-promises/webpack.config.js
@@ -0,0 +1,24 @@
+module.exports = [
+ new Promise((resolve) => {
+ setTimeout(() => {
+ resolve({
+ entry: './a',
+ output: {
+ path: __dirname + '/binary',
+ filename: 'a-promise.js',
+ },
+ });
+ }, 0);
+ }),
+ new Promise((resolve) => {
+ setTimeout(() => {
+ resolve({
+ entry: './b',
+ output: {
+ path: __dirname + '/binary',
+ filename: 'b-promise.js',
+ },
+ });
+ }, 0);
+ }),
+];
diff --git a/test/config/type/array/array-config.test.js b/test/config/type/array/array.test.js
similarity index 94%
rename from test/config/type/array/array-config.test.js
rename to test/config/type/array/array.test.js
index af9e29ac07a..28149ff06dc 100644
--- a/test/config/type/array/array-config.test.js
+++ b/test/config/type/array/array.test.js
@@ -3,7 +3,7 @@ const { stat } = require('fs');
const { resolve } = require('path');
const { run } = require('../../../utils/test-utils');
-describe('array configuration', () => {
+describe('array', () => {
it('is able to understand a configuration file in array format', (done) => {
run(__dirname, ['-c', resolve(__dirname, 'webpack.config.js')], false);
stat(resolve(__dirname, './dist/dist-commonjs.js'), (err, stats) => {
diff --git a/test/config/type/function-array/a.js b/test/config/type/function-array/a.js
new file mode 100644
index 00000000000..ea51098c48f
--- /dev/null
+++ b/test/config/type/function-array/a.js
@@ -0,0 +1 @@
+module.exports = 'a-function';
diff --git a/test/config/type/function-array/b.js b/test/config/type/function-array/b.js
new file mode 100644
index 00000000000..5614cdc34c5
--- /dev/null
+++ b/test/config/type/function-array/b.js
@@ -0,0 +1 @@
+module.exports = 'b-function';
diff --git a/test/config/type/function-array/function-array.test.js b/test/config/type/function-array/function-array.test.js
new file mode 100644
index 00000000000..c7312b734e5
--- /dev/null
+++ b/test/config/type/function-array/function-array.test.js
@@ -0,0 +1,24 @@
+'use strict';
+const { stat } = require('fs');
+const { resolve } = require('path');
+const { run } = require('../../../utils/test-utils');
+
+describe('function array', () => {
+ it('is able to understand a configuration file as a function', (done) => {
+ const { stderr, exitCode } = run(__dirname, ['-c', resolve(__dirname, 'webpack.config.js')], false);
+
+ expect(stderr).toBeFalsy();
+ expect(exitCode).toBe(0);
+
+ stat(resolve(__dirname, './binary/a-functor.js'), (err, stats) => {
+ expect(err).toBe(null);
+ expect(stats.isFile()).toBe(true);
+
+ stat(resolve(__dirname, './binary/b-functor.js'), (err, stats) => {
+ expect(err).toBe(null);
+ expect(stats.isFile()).toBe(true);
+ done();
+ });
+ });
+ });
+});
diff --git a/test/config/type/function-array/webpack.config.js b/test/config/type/function-array/webpack.config.js
new file mode 100644
index 00000000000..5bd0287a4bb
--- /dev/null
+++ b/test/config/type/function-array/webpack.config.js
@@ -0,0 +1,16 @@
+module.exports = () => [
+ {
+ entry: './a',
+ output: {
+ path: __dirname + '/binary',
+ filename: 'a-functor.js',
+ },
+ },
+ {
+ entry: './b',
+ output: {
+ path: __dirname + '/binary',
+ filename: 'b-functor.js',
+ },
+ },
+];
diff --git a/test/config/type/function-async/a.js b/test/config/type/function-async/a.js
new file mode 100644
index 00000000000..ea51098c48f
--- /dev/null
+++ b/test/config/type/function-async/a.js
@@ -0,0 +1 @@
+module.exports = 'a-function';
diff --git a/test/config/type/function-async/function-async.test.js b/test/config/type/function-async/function-async.test.js
new file mode 100644
index 00000000000..3b8fa277d98
--- /dev/null
+++ b/test/config/type/function-async/function-async.test.js
@@ -0,0 +1,19 @@
+'use strict';
+const { stat } = require('fs');
+const { resolve } = require('path');
+const { run } = require('../../../utils/test-utils');
+
+describe('function async', () => {
+ it('is able to understand a configuration file as a function', (done) => {
+ const { stderr, exitCode } = run(__dirname, ['-c', resolve(__dirname, 'webpack.config.js')], false);
+
+ expect(stderr).toBeFalsy();
+ expect(exitCode).toBe(0);
+
+ stat(resolve(__dirname, './binary/functor.js'), (err, stats) => {
+ expect(err).toBe(null);
+ expect(stats.isFile()).toBe(true);
+ done();
+ });
+ });
+});
diff --git a/test/config/type/function-async/webpack.config.js b/test/config/type/function-async/webpack.config.js
new file mode 100644
index 00000000000..6457b889f8c
--- /dev/null
+++ b/test/config/type/function-async/webpack.config.js
@@ -0,0 +1,9 @@
+module.exports = async () => {
+ return {
+ entry: './a',
+ output: {
+ path: __dirname + '/binary',
+ filename: 'functor.js',
+ },
+ };
+};
diff --git a/test/config/type/function-promise/a.js b/test/config/type/function-promise/a.js
new file mode 100644
index 00000000000..ea51098c48f
--- /dev/null
+++ b/test/config/type/function-promise/a.js
@@ -0,0 +1 @@
+module.exports = 'a-function';
diff --git a/test/config/type/function-promise/function-promise.test.js b/test/config/type/function-promise/function-promise.test.js
new file mode 100644
index 00000000000..ba42b3c57e5
--- /dev/null
+++ b/test/config/type/function-promise/function-promise.test.js
@@ -0,0 +1,19 @@
+'use strict';
+const { stat } = require('fs');
+const { resolve } = require('path');
+const { run } = require('../../../utils/test-utils');
+
+describe('function promise', () => {
+ it('is able to understand a configuration file as a function', (done) => {
+ const { stderr, exitCode } = run(__dirname, ['-c', resolve(__dirname, 'webpack.config.js')], false);
+
+ expect(stderr).toBeFalsy();
+ expect(exitCode).toBe(0);
+
+ stat(resolve(__dirname, './binary/functor.js'), (err, stats) => {
+ expect(err).toBe(null);
+ expect(stats.isFile()).toBe(true);
+ done();
+ });
+ });
+});
diff --git a/test/config/type/function-promise/webpack.config.js b/test/config/type/function-promise/webpack.config.js
new file mode 100644
index 00000000000..777459d6e0e
--- /dev/null
+++ b/test/config/type/function-promise/webpack.config.js
@@ -0,0 +1,13 @@
+module.exports = () => {
+ return new Promise((resolve) => {
+ setTimeout(() => {
+ resolve({
+ entry: './a',
+ output: {
+ path: __dirname + '/binary',
+ filename: 'functor.js',
+ },
+ });
+ });
+ }, 0);
+};
diff --git a/test/config/type/function-with-env/function-with-env.test.js b/test/config/type/function-with-env/function-with-env.test.js
index fae211de366..bbb878377ee 100644
--- a/test/config/type/function-with-env/function-with-env.test.js
+++ b/test/config/type/function-with-env/function-with-env.test.js
@@ -4,6 +4,13 @@ const { resolve } = require('path');
const { run } = require('../../../utils/test-utils');
describe('function configuration', () => {
+ it('should throw when env is not supplied', () => {
+ const { stderr, stdout, exitCode } = run(__dirname, ['--env'], false);
+ expect(stdout).toBeFalsy();
+ expect(stderr).toBeTruthy();
+ expect(stderr).toContain(`option '--env ' argument missing`);
+ expect(exitCode).toEqual(1);
+ });
it('is able to understand a configuration file as a function', () => {
const { stderr, stdout } = run(__dirname, ['--env', 'isProd']);
expect(stderr).toBeFalsy();
@@ -18,6 +25,62 @@ describe('function configuration', () => {
// Should generate the appropriate files
expect(existsSync(resolve(__dirname, './bin/dev.js'))).toBeTruthy();
});
+ it('Supports passing string in env', () => {
+ const { stderr, stdout } = run(__dirname, [
+ '--env',
+ 'environment=production',
+ '--env',
+ 'app.title=Luffy',
+ '-c',
+ 'webpack.env.config.js',
+ ]);
+ expect(stderr).toBeFalsy();
+ expect(stdout).toBeTruthy();
+ // Should generate the appropriate files
+ expect(existsSync(resolve(__dirname, './bin/Luffy.js'))).toBeTruthy();
+ });
+ it('Supports long nested values in env', () => {
+ const { stderr, stdout } = run(__dirname, [
+ '--env',
+ 'file.name.is.this=Atsumu',
+ '--env',
+ 'environment=production',
+ '-c',
+ 'webpack.env.config.js',
+ ]);
+ expect(stderr).toBeFalsy();
+ expect(stdout).toBeTruthy();
+ // Should generate the appropriate files
+ expect(existsSync(resolve(__dirname, './bin/Atsumu.js'))).toBeTruthy();
+ });
+ it('Supports multiple equal in a string', () => {
+ const { stderr, stdout } = run(__dirname, [
+ '--env',
+ 'file=name=is=Eren',
+ '--env',
+ 'environment=multipleq',
+ '-c',
+ 'webpack.env.config.js',
+ ]);
+ expect(stderr).toBeFalsy();
+ expect(stdout).toBeTruthy();
+ // Should generate the appropriate files
+ expect(existsSync(resolve(__dirname, './bin/name=is=Eren.js'))).toBeTruthy();
+ });
+ it('Supports dot at the end', () => {
+ const { stderr, stdout } = run(__dirname, ['--env', 'name.=Hisoka', '--env', 'environment=dot', '-c', 'webpack.env.config.js']);
+ expect(stderr).toBeFalsy();
+ expect(stdout).toBeTruthy();
+ // Should generate the appropriate files
+ expect(existsSync(resolve(__dirname, './bin/Hisoka.js'))).toBeTruthy();
+ });
+ it('Supports dot at the end', () => {
+ const { stderr, stdout } = run(__dirname, ['--env', 'name.', '--env', 'environment=dot', '-c', 'webpack.env.config.js']);
+ expect(stderr).toBeFalsy();
+ expect(stdout).toBeTruthy();
+ // Should generate the appropriate files
+ expect(existsSync(resolve(__dirname, './bin/true.js'))).toBeTruthy();
+ });
it('is able to understand multiple env flags', (done) => {
const { stderr, stdout } = run(__dirname, ['--env', 'isDev', '--env', 'verboseStats', '--env', 'envMessage']);
expect(stderr).toBeFalsy();
diff --git a/test/config/type/function-with-env/webpack.env.config.js b/test/config/type/function-with-env/webpack.env.config.js
new file mode 100644
index 00000000000..b131cf9866d
--- /dev/null
+++ b/test/config/type/function-with-env/webpack.env.config.js
@@ -0,0 +1,32 @@
+module.exports = (env) => {
+ const { environment, app, file } = env;
+ const customName = file && file.name && file.name.is && file.name.is.this;
+ const appTitle = app && app.title;
+ if (environment === 'production') {
+ return {
+ entry: './a.js',
+ output: {
+ filename: `${customName ? customName : appTitle}.js`,
+ },
+ };
+ }
+ if (environment === 'multipleq') {
+ const { file } = env;
+ return {
+ entry: './a.js',
+ output: {
+ filename: `${file}.js`,
+ },
+ };
+ }
+ if (environment === 'dot') {
+ const file = env['name.'];
+ return {
+ entry: './a.js',
+ output: {
+ filename: `${file}.js`,
+ },
+ };
+ }
+ return {};
+};
diff --git a/test/config/type/function/function-config.test.js b/test/config/type/function/function.test.js
similarity index 92%
rename from test/config/type/function/function-config.test.js
rename to test/config/type/function/function.test.js
index 224e2af730d..80f30ad08d1 100644
--- a/test/config/type/function/function-config.test.js
+++ b/test/config/type/function/function.test.js
@@ -3,7 +3,7 @@ const { stat } = require('fs');
const { resolve } = require('path');
const { run } = require('../../../utils/test-utils');
-describe('function configuration', () => {
+describe('function', () => {
it('is able to understand a configuration file as a function', (done) => {
run(__dirname, ['-c', resolve(__dirname, 'webpack.config.js')], false);
stat(resolve(__dirname, './binary/functor.js'), (err, stats) => {
diff --git a/test/config/type/promise-array/a.js b/test/config/type/promise-array/a.js
new file mode 100644
index 00000000000..4f7f5db3d4c
--- /dev/null
+++ b/test/config/type/promise-array/a.js
@@ -0,0 +1 @@
+module.exports = 'a-promise';
diff --git a/test/config/type/promise-array/b.js b/test/config/type/promise-array/b.js
new file mode 100644
index 00000000000..d4280020bd2
--- /dev/null
+++ b/test/config/type/promise-array/b.js
@@ -0,0 +1 @@
+module.exports = 'b-promise';
diff --git a/test/config/type/promise-array/promise-array.test.js b/test/config/type/promise-array/promise-array.test.js
new file mode 100644
index 00000000000..ba99a92449b
--- /dev/null
+++ b/test/config/type/promise-array/promise-array.test.js
@@ -0,0 +1,23 @@
+'use strict';
+const { stat } = require('fs');
+const { resolve } = require('path');
+const { run } = require('../../../utils/test-utils');
+
+describe('promise array', () => {
+ it('is able to understand a configuration file as a promise', (done) => {
+ const { stdout, stderr } = run(__dirname, ['-c', './webpack.config.js'], false);
+ expect(stdout).toBeTruthy();
+ expect(stderr).toBeFalsy();
+
+ stat(resolve(__dirname, './binary/a-promise.js'), (err, stats) => {
+ expect(err).toBe(null);
+ expect(stats.isFile()).toBe(true);
+
+ stat(resolve(__dirname, './binary/b-promise.js'), (err, stats) => {
+ expect(err).toBe(null);
+ expect(stats.isFile()).toBe(true);
+ done();
+ });
+ });
+ });
+});
diff --git a/test/config/type/promise-array/webpack.config.js b/test/config/type/promise-array/webpack.config.js
new file mode 100644
index 00000000000..4779964e1af
--- /dev/null
+++ b/test/config/type/promise-array/webpack.config.js
@@ -0,0 +1,20 @@
+module.exports = new Promise((resolve) => {
+ setTimeout(() => {
+ resolve([
+ {
+ entry: './a',
+ output: {
+ path: __dirname + '/binary',
+ filename: 'a-promise.js',
+ },
+ },
+ {
+ entry: './b',
+ output: {
+ path: __dirname + '/binary',
+ filename: 'b-promise.js',
+ },
+ },
+ ]);
+ }, 0);
+});
diff --git a/test/config/type/promise-function/a.js b/test/config/type/promise-function/a.js
new file mode 100644
index 00000000000..4f7f5db3d4c
--- /dev/null
+++ b/test/config/type/promise-function/a.js
@@ -0,0 +1 @@
+module.exports = 'a-promise';
diff --git a/test/config/type/promise/promise-config.test.js b/test/config/type/promise-function/promise-function.test.js
similarity index 93%
rename from test/config/type/promise/promise-config.test.js
rename to test/config/type/promise-function/promise-function.test.js
index 061bdc92785..ad5f372201e 100644
--- a/test/config/type/promise/promise-config.test.js
+++ b/test/config/type/promise-function/promise-function.test.js
@@ -3,7 +3,7 @@ const { stat } = require('fs');
const { resolve } = require('path');
const { run } = require('../../../utils/test-utils');
-describe('promise configuration', () => {
+describe('promise function', () => {
it('is able to understand a configuration file as a promise', (done) => {
const { stdout, stderr } = run(__dirname, ['-c', './webpack.config.js'], false);
expect(stdout).toBeTruthy();
diff --git a/test/config/type/promise-function/webpack.config.js b/test/config/type/promise-function/webpack.config.js
new file mode 100644
index 00000000000..f2881885ba2
--- /dev/null
+++ b/test/config/type/promise-function/webpack.config.js
@@ -0,0 +1,11 @@
+module.exports = new Promise((resolve) => {
+ setTimeout(() => {
+ resolve(() => ({
+ entry: './a',
+ output: {
+ path: __dirname + '/binary',
+ filename: 'promise.js',
+ },
+ }));
+ }, 0);
+});
diff --git a/test/config/type/promise/promise.test.js b/test/config/type/promise/promise.test.js
new file mode 100644
index 00000000000..3938804bf66
--- /dev/null
+++ b/test/config/type/promise/promise.test.js
@@ -0,0 +1,17 @@
+'use strict';
+const { stat } = require('fs');
+const { resolve } = require('path');
+const { run } = require('../../../utils/test-utils');
+
+describe('promise', () => {
+ it('is able to understand a configuration file as a promise', (done) => {
+ const { stdout, stderr } = run(__dirname, ['-c', './webpack.config.js'], false);
+ expect(stdout).toBeTruthy();
+ expect(stderr).toBeFalsy();
+ stat(resolve(__dirname, './binary/promise.js'), (err, stats) => {
+ expect(err).toBe(null);
+ expect(stats.isFile()).toBe(true);
+ done();
+ });
+ });
+});
diff --git a/test/config/type/promise/webpack.config.js b/test/config/type/promise/webpack.config.js
index f657e66b809..fdfbe448445 100644
--- a/test/config/type/promise/webpack.config.js
+++ b/test/config/type/promise/webpack.config.js
@@ -1,5 +1,5 @@
-module.exports = () => {
- return new Promise((resolve) => {
+module.exports = () =>
+ new Promise((resolve) => {
setTimeout(() => {
resolve({
entry: './a',
@@ -8,6 +8,5 @@ module.exports = () => {
filename: 'promise.js',
},
});
- }, 500);
+ }, 0);
});
-};
diff --git a/test/core-flags/cache-flags.test.js b/test/core-flags/cache-flags.test.js
index 81f56648c2a..8a2cb8ccbb8 100644
--- a/test/core-flags/cache-flags.test.js
+++ b/test/core-flags/cache-flags.test.js
@@ -76,10 +76,10 @@ describe('cache related flags from core', () => {
expect(stderr).toBeFalsy();
expect(stdout).toContain('buildDependencies');
expect(stdout).toContain("config: [ './webpack.config.js' ]");
- expect(stdout).not.toContain('[cached] 1 module');
+ expect(stdout).not.toContain('[cached]');
// Run again to check for cache
const newRun = run(__dirname, ['--cache-type', 'filesystem', '-c', './webpack.config.js']);
- expect(newRun.stdout).toContain('[cached] 1 module');
+ expect(newRun.stdout).toContain('[cached]');
expect(newRun.stderr).toBeFalsy();
expect(newRun.exitCode).toEqual(0);
});
@@ -94,7 +94,7 @@ describe('cache related flags from core', () => {
expect(stdout).toContain("type: 'filesystem'");
// Run again to check for cache
const newRun = run(__dirname, ['-c', './webpack.cache.config.js']);
- expect(newRun.stdout).toContain('[cached] 1 module');
+ expect(newRun.stdout).toContain('[cached]');
expect(newRun.stderr).toBeFalsy();
expect(newRun.exitCode).toEqual(0);
});
@@ -128,19 +128,18 @@ describe('cache related flags from core', () => {
writeFileSync(resolve(__dirname, './webpack.test.config.js'), 'module.exports = {mode: "development"}');
const { stderr, stdout } = run(__dirname, ['--cache-type', 'filesystem', '-c', './webpack.test.config.js']);
expect(stderr).toBeFalsy();
- // modules should not be cached on first run
- expect(stdout).not.toContain('[cached] 1 module');
+ expect(stdout).not.toContain('[cached]');
// Running again should use the cache
const newRun = run(__dirname, ['--cache-type', 'filesystem', '-c', './webpack.test.config.js']);
- expect(newRun.stdout).toContain('[cached] 1 module');
+ expect(newRun.stdout).toContain('[cached]');
// Change config to invalidate cache
writeFileSync(resolve(__dirname, './webpack.test.config.js'), 'module.exports = {mode: "production"}');
const newRun2 = run(__dirname, ['--cache-type', 'filesystem', '-c', './webpack.test.config.js']);
unlinkSync(resolve(__dirname, './webpack.test.config.js'));
- expect(newRun2).not.toContain('[cached] 1 module');
+ expect(newRun2).not.toContain('[cached]');
expect(newRun2.exitCode).toEqual(0);
});
});
diff --git a/test/error/error.test.js b/test/error/error.test.js
new file mode 100644
index 00000000000..de30128d161
--- /dev/null
+++ b/test/error/error.test.js
@@ -0,0 +1,14 @@
+'use strict';
+
+const { run } = require('../utils/test-utils');
+
+describe('error', () => {
+ it('should log error with stacktrace', async () => {
+ const { stderr, stdout, exitCode } = await run(__dirname);
+
+ expect(stderr).toContain('Error: test');
+ expect(stderr).toMatch(/at .+ (.+)/);
+ expect(stdout).toBeFalsy();
+ expect(exitCode).toBe(2);
+ });
+});
diff --git a/test/error/src/index.js b/test/error/src/index.js
new file mode 100644
index 00000000000..d00e0a2e12f
--- /dev/null
+++ b/test/error/src/index.js
@@ -0,0 +1 @@
+module.exports = 'foo';
\ No newline at end of file
diff --git a/test/error/webpack.config.js b/test/error/webpack.config.js
new file mode 100644
index 00000000000..25018a41285
--- /dev/null
+++ b/test/error/webpack.config.js
@@ -0,0 +1,9 @@
+module.exports = {
+ plugins: [
+ {
+ apply() {
+ throw new Error('test');
+ },
+ },
+ ],
+};
diff --git a/test/json/json.test.js b/test/json/json.test.js
index 699bcc851db..a248412bc0d 100644
--- a/test/json/json.test.js
+++ b/test/json/json.test.js
@@ -5,49 +5,40 @@ const { resolve } = require('path');
describe('json flag', () => {
it('should return valid json', () => {
- const { stdout } = run(__dirname, ['--json']);
-
- // helper function to check if JSON is valid
- const parseJson = () => {
- return JSON.parse(stdout);
- };
- // check the JSON is valid.
- expect(JSON.parse(stdout)['hash']).toBeTruthy();
- expect(JSON.parse(stdout)['version']).toBeTruthy();
- expect(JSON.parse(stdout)['time']).toBeTruthy();
- expect(parseJson).not.toThrow();
+ const { stdout, exitCode } = run(__dirname, ['--json']);
+
+ expect(() => JSON.parse(stdout)).not.toThrow();
+ expect(exitCode).toBe(0);
+
+ expect(JSON.parse(stdout)['hash']).toBeDefined();
});
it('should store json to a file', (done) => {
- const { stdout } = run(__dirname, ['--json', 'stats.json']);
+ const { stdout, exitCode } = run(__dirname, ['--json', 'stats.json']);
expect(stdout).toContain('stats are successfully stored as json to stats.json');
+ expect(exitCode).toBe(0);
+
stat(resolve(__dirname, './stats.json'), (err, stats) => {
expect(err).toBe(null);
expect(stats.isFile()).toBe(true);
- done();
- });
- readFile(resolve(__dirname, 'stats.json'), 'utf-8', (err, data) => {
- expect(err).toBe(null);
- expect(JSON.parse(data)['hash']).toBeTruthy();
- expect(JSON.parse(data)['version']).toBeTruthy();
- expect(JSON.parse(data)['time']).toBeTruthy();
- expect(() => JSON.parse(data)).not.toThrow();
- done();
+
+ readFile(resolve(__dirname, 'stats.json'), 'utf-8', (err, data) => {
+ expect(err).toBe(null);
+ expect(JSON.parse(data)['hash']).toBeTruthy();
+ expect(JSON.parse(data)['version']).toBeTruthy();
+ expect(JSON.parse(data)['time']).toBeTruthy();
+ expect(() => JSON.parse(data)).not.toThrow();
+ done();
+ });
});
});
it('should return valid json with -j alias', () => {
- const { stdout } = run(__dirname, ['-j']);
-
- // helper function to check if JSON is valid
- const parseJson = () => {
- return JSON.parse(stdout);
- };
- // check the JSON is valid.
- expect(JSON.parse(stdout)['hash']).toBeTruthy();
- expect(JSON.parse(stdout)['version']).toBeTruthy();
- expect(JSON.parse(stdout)['time']).toBeTruthy();
- expect(parseJson).not.toThrow();
+ const { stdout, exitCode } = run(__dirname, ['-j']);
+ expect(() => JSON.parse(stdout)).not.toThrow();
+ expect(exitCode).toBe(0);
+
+ expect(JSON.parse(stdout)['hash']).toBeDefined();
});
});
diff --git a/test/merge/config-absent/merge-config-absent.test.js b/test/merge/config-absent/merge-config-absent.test.js
index 13d2f962fb0..c595fb7e34c 100644
--- a/test/merge/config-absent/merge-config-absent.test.js
+++ b/test/merge/config-absent/merge-config-absent.test.js
@@ -13,7 +13,7 @@ describe('merge flag configuration', () => {
// Since the process will exit, nothing on stdout
expect(stdout).toBeFalsy();
// Confirm that the user is notified
- expect(stderr).toContain(`MergeError: Atleast two configurations are required for merge.`);
+ expect(stderr).toContain('At least two configurations are required for merge.');
// Default config would be used
expect(fs.existsSync(join(__dirname, './dist/merged.js'))).toBeFalsy();
// Since the process will exit so no compilation will be done
diff --git a/test/merge/config/merge-config.test.js b/test/merge/config/merge-config.test.js
index 36a31eed43e..926ff5e4bbb 100644
--- a/test/merge/config/merge-config.test.js
+++ b/test/merge/config/merge-config.test.js
@@ -22,7 +22,7 @@ describe('merge flag configuration', () => {
});
it('fails when there are less than 2 configurations to merge', () => {
const { stdout, stderr, exitCode } = run(__dirname, ['--config', './1.js', '-m'], false);
- expect(stderr).toContain(`MergeError: Atleast two configurations are required for merge.`);
+ expect(stderr).toContain('At least two configurations are required for merge.');
expect(stdout).toBeFalsy();
expect(exitCode).toBe(2);
});
diff --git a/test/utils/test-utils.js b/test/utils/test-utils.js
index 8b1466ec83f..2968602be01 100644
--- a/test/utils/test-utils.js
+++ b/test/utils/test-utils.js
@@ -2,6 +2,7 @@
const path = require('path');
const fs = require('fs');
const execa = require('execa');
+const { exec } = require('child_process');
const { sync: spawnSync, node: execaNode } = execa;
const { Writable } = require('readable-stream');
const concat = require('concat-stream');
@@ -11,6 +12,7 @@ const { hyphenToUpperCase } = require('../../packages/webpack-cli/lib/utils/arg-
const WEBPACK_PATH = path.resolve(__dirname, '../../packages/webpack-cli/bin/cli.js');
const ENABLE_LOG_COMPILATION = process.env.ENABLE_PIPE || false;
const isWebpack5 = version.startsWith('5');
+const isWindows = process.platform === 'win32';
/**
* Run the webpack CLI for a test case.
@@ -37,39 +39,42 @@ const run = (testCase, args = [], setOutput = true, nodeArgs = [], env) => {
return result;
};
-const runWatch = ({ testCase, args = [], setOutput = true, outputKillStr = 'Time' }) => {
+const runWatch = (testCase, args = [], setOutput = true, outputKillStr = 'watching files for updates...') => {
const cwd = path.resolve(testCase);
const outputPath = path.resolve(testCase, 'bin');
const argsWithOutput = setOutput ? args.concat('--output-path', outputPath) : args;
return new Promise((resolve, reject) => {
- const watchPromise = execa(WEBPACK_PATH, argsWithOutput, {
+ const proc = execa(WEBPACK_PATH, argsWithOutput, {
cwd,
reject: false,
stdio: 'pipe',
});
- watchPromise.stdout.pipe(
+ proc.stdout.pipe(
new Writable({
write(chunk, encoding, callback) {
const output = chunk.toString('utf8');
if (output.includes(outputKillStr)) {
- watchPromise.kill();
+ if (isWindows) {
+ exec('taskkill /pid ' + proc.pid + ' /T /F');
+ } else {
+ proc.kill();
+ }
}
callback();
},
}),
);
- watchPromise
- .then((result) => {
- resolve(result);
- })
- .catch((error) => {
- reject(error);
- });
+
+ proc.then((result) => {
+ resolve(result);
+ }).catch((error) => {
+ reject(error);
+ });
});
};
@@ -224,20 +229,13 @@ const runInstall = async (cwd) => {
};
const runServe = (args, testPath) => {
- return runWatch({
- testCase: testPath,
- args: ['serve'].concat(args),
- setOutput: false,
- outputKillStr: 'main',
- });
+ return runWatch(testPath, ['serve'].concat(args), false, 'main');
};
const runInfo = (args, testPath) => {
return run(testPath, ['info'].concat(args), false);
};
-const isWindows = process.platform === 'win32';
-
module.exports = {
run,
runWatch,
diff --git a/test/watch/watch-flag.test.js b/test/watch/watch-flag.test.js
index abdd52c2839..362c01c3615 100644
--- a/test/watch/watch-flag.test.js
+++ b/test/watch/watch-flag.test.js
@@ -1,24 +1,28 @@
'use strict';
-const { runAndGetWatchProc, isWebpack5, isWindows } = require('../utils/test-utils');
+const { runAndGetWatchProc, isWebpack5 } = require('../utils/test-utils');
const { writeFileSync } = require('fs');
const { resolve } = require('path');
const wordsInStatsv4 = ['Hash', 'Version', 'Time', 'Built at:', 'main.js'];
-const wordsInStatsv5 = ['asset', 'index.js', 'compiled successfully'];
+const wordsInStatsv5 = ['asset', 'index.js', `compiled \u001b[1m\u001b[32msuccessfully\u001b[39m\u001b[22m`];
describe('--watch flag', () => {
it('should recompile upon file change', (done) => {
const proc = runAndGetWatchProc(__dirname, ['--watch'], false, '', true);
- let semaphore = 1;
+ let semaphore = 0;
proc.stdout.on('data', (chunk) => {
const data = chunk.toString();
- if (data.includes('watching files for updates')) {
- writeFileSync(resolve(__dirname, './src/index.js'), `console.log('watch flag test');`);
- semaphore = 0;
- return;
+
+ if (semaphore === 0 && data.includes('watching files for updates')) {
+ process.nextTick(() => {
+ writeFileSync(resolve(__dirname, './src/index.js'), `console.log('watch flag test');`);
+
+ semaphore++;
+ });
}
- if (semaphore === 0 && data.includes('index.js')) {
+
+ if (semaphore === 1 && data.includes('index.js')) {
if (isWebpack5) {
for (const word of wordsInStatsv5) {
expect(data).toContain(word);
@@ -28,10 +32,13 @@ describe('--watch flag', () => {
expect(data).toContain(word);
}
}
- semaphore--;
+
+ semaphore++;
+ }
+
+ if (semaphore === 2 && data.includes('watching files for updates')) {
proc.kill();
done();
- return;
}
});
});
@@ -41,11 +48,16 @@ describe('--watch flag', () => {
let semaphore = 0;
proc.stdout.on('data', (chunk) => {
const data = chunk.toString();
- if (data.includes('Compilation starting') || data.includes('Compilation finished')) {
+
+ if (semaphore === 0 && data.includes('Compilation starting')) {
semaphore++;
}
- // TODO Fix on windows
- if ((isWindows || semaphore === 2) && data.includes('index.js')) {
+
+ if (semaphore === 1 && data.includes('Compilation finished')) {
+ semaphore++;
+ }
+
+ if (semaphore === 2 && data.includes('index.js')) {
if (isWebpack5) {
for (const word of wordsInStatsv5) {
expect(data).toContain(word);
@@ -55,9 +67,15 @@ describe('--watch flag', () => {
expect(data).toContain(word);
}
}
+
+ semaphore++;
+ }
+
+ if (semaphore === 3 && data.includes('watching files for updates...')) {
+ semaphore++;
+
proc.kill();
done();
- return;
}
});
});
diff --git a/yarn.lock b/yarn.lock
index 122ddcbb23f..7568463a40f 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -9,28 +9,24 @@
dependencies:
"@babel/highlight" "^7.10.4"
-"@babel/compat-data@^7.10.4", "@babel/compat-data@^7.11.0":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.11.0.tgz#e9f73efe09af1355b723a7f39b11bad637d7c99c"
- integrity sha512-TPSvJfv73ng0pfnEOh17bYMPQbI95+nGWc71Ss4vZdRBHTDqmM9Z8ZV4rYz8Ks7sfzc95n30k6ODIq5UGnXcYQ==
- dependencies:
- browserslist "^4.12.0"
- invariant "^2.2.4"
- semver "^5.5.0"
+"@babel/compat-data@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.1.tgz#d7386a689aa0ddf06255005b4b991988021101a0"
+ integrity sha512-725AQupWJZ8ba0jbKceeFblZTY90McUBWMwHhkFQ9q1zKPJ95GUktljFcgcsIVwRnTnRKlcYzfiNImg5G9m6ZQ==
"@babel/core@^7.1.0", "@babel/core@^7.1.6", "@babel/core@^7.11.1", "@babel/core@^7.7.5":
- version "7.11.6"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.6.tgz#3a9455dc7387ff1bac45770650bc13ba04a15651"
- integrity sha512-Wpcv03AGnmkgm6uS6k8iwhIwTrcP0m17TL1n1sy7qD0qelDu4XNeW0dN0mHfa+Gei211yDaLoEe/VlbXQzM4Bg==
+ version "7.12.3"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.3.tgz#1b436884e1e3bff6fb1328dc02b208759de92ad8"
+ integrity sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g==
dependencies:
"@babel/code-frame" "^7.10.4"
- "@babel/generator" "^7.11.6"
- "@babel/helper-module-transforms" "^7.11.0"
- "@babel/helpers" "^7.10.4"
- "@babel/parser" "^7.11.5"
+ "@babel/generator" "^7.12.1"
+ "@babel/helper-module-transforms" "^7.12.1"
+ "@babel/helpers" "^7.12.1"
+ "@babel/parser" "^7.12.3"
"@babel/template" "^7.10.4"
- "@babel/traverse" "^7.11.5"
- "@babel/types" "^7.11.5"
+ "@babel/traverse" "^7.12.1"
+ "@babel/types" "^7.12.1"
convert-source-map "^1.7.0"
debug "^4.1.0"
gensync "^1.0.0-beta.1"
@@ -40,12 +36,12 @@
semver "^5.4.1"
source-map "^0.5.0"
-"@babel/generator@^7.11.5", "@babel/generator@^7.11.6":
- version "7.11.6"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.6.tgz#b868900f81b163b4d464ea24545c61cbac4dc620"
- integrity sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==
+"@babel/generator@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.1.tgz#0d70be32bdaa03d7c51c8597dda76e0df1f15468"
+ integrity sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg==
dependencies:
- "@babel/types" "^7.11.5"
+ "@babel/types" "^7.12.1"
jsesc "^2.5.1"
source-map "^0.5.0"
@@ -64,37 +60,47 @@
"@babel/helper-explode-assignable-expression" "^7.10.4"
"@babel/types" "^7.10.4"
-"@babel/helper-compilation-targets@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz#804ae8e3f04376607cc791b9d47d540276332bd2"
- integrity sha512-a3rYhlsGV0UHNDvrtOXBg8/OpfV0OKTkxKPzIplS1zpx7CygDcWWxckxZeDd3gzPzC4kUT0A4nVFDK0wGMh4MQ==
+"@babel/helper-compilation-targets@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.1.tgz#310e352888fbdbdd8577be8dfdd2afb9e7adcf50"
+ integrity sha512-jtBEif7jsPwP27GPHs06v4WBV0KrE8a/P7n0N0sSvHn2hwUCYnolP/CLmz51IzAW4NlN+HuoBtb9QcwnRo9F/g==
dependencies:
- "@babel/compat-data" "^7.10.4"
+ "@babel/compat-data" "^7.12.1"
+ "@babel/helper-validator-option" "^7.12.1"
browserslist "^4.12.0"
- invariant "^2.2.4"
- levenary "^1.1.1"
semver "^5.5.0"
-"@babel/helper-create-class-features-plugin@^7.10.4", "@babel/helper-create-class-features-plugin@^7.10.5":
- version "7.10.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz#9f61446ba80e8240b0a5c85c6fdac8459d6f259d"
- integrity sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A==
+"@babel/helper-create-class-features-plugin@^7.12.0":
+ version "7.12.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.0.tgz#f3f2fc77bacc89e59ce6764daeabc1fb23e79a05"
+ integrity sha512-9tD1r9RK928vxvxcoNK8/7uwT7Q2DJZP1dnJmyMAJPwOF0yr8PPwqdpyw33lUpCfrJ765bOs5XNa4KSfUDWFSw==
dependencies:
"@babel/helper-function-name" "^7.10.4"
- "@babel/helper-member-expression-to-functions" "^7.10.5"
+ "@babel/helper-member-expression-to-functions" "^7.12.0"
"@babel/helper-optimise-call-expression" "^7.10.4"
"@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-replace-supers" "^7.10.4"
+ "@babel/helper-replace-supers" "^7.12.0"
"@babel/helper-split-export-declaration" "^7.10.4"
-"@babel/helper-create-regexp-features-plugin@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz#fdd60d88524659a0b6959c0579925e425714f3b8"
- integrity sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g==
+"@babel/helper-create-class-features-plugin@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz#3c45998f431edd4a9214c5f1d3ad1448a6137f6e"
+ integrity sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==
+ dependencies:
+ "@babel/helper-function-name" "^7.10.4"
+ "@babel/helper-member-expression-to-functions" "^7.12.1"
+ "@babel/helper-optimise-call-expression" "^7.10.4"
+ "@babel/helper-replace-supers" "^7.12.1"
+ "@babel/helper-split-export-declaration" "^7.10.4"
+
+"@babel/helper-create-regexp-features-plugin@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.1.tgz#18b1302d4677f9dc4740fe8c9ed96680e29d37e8"
+ integrity sha512-rsZ4LGvFTZnzdNZR5HZdmJVuXK8834R5QkF3WvcnBhrlVtF0HSIUC6zbreL9MgjTywhKokn8RIYRiq99+DLAxA==
dependencies:
"@babel/helper-annotate-as-pure" "^7.10.4"
"@babel/helper-regex" "^7.10.4"
- regexpu-core "^4.7.0"
+ regexpu-core "^4.7.1"
"@babel/helper-define-map@^7.10.4":
version "7.10.5"
@@ -135,31 +141,40 @@
dependencies:
"@babel/types" "^7.10.4"
-"@babel/helper-member-expression-to-functions@^7.10.4", "@babel/helper-member-expression-to-functions@^7.10.5":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz#ae69c83d84ee82f4b42f96e2a09410935a8f26df"
- integrity sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==
+"@babel/helper-member-expression-to-functions@^7.12.0":
+ version "7.12.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.0.tgz#48f605fa801764f3e5b2e301e49d35fe1820c4f3"
+ integrity sha512-I0d/bgzgzgLsJMk7UZ0TN2KV3OGjC/t/9Saz8PKb9jrcEAXhgjGysOgp4PDKydIKjUv/gj2St4ae+ov8l+T9Xg==
dependencies:
- "@babel/types" "^7.11.0"
+ "@babel/types" "^7.12.0"
-"@babel/helper-module-imports@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620"
- integrity sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==
+"@babel/helper-member-expression-to-functions@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz#fba0f2fcff3fba00e6ecb664bb5e6e26e2d6165c"
+ integrity sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ==
dependencies:
- "@babel/types" "^7.10.4"
+ "@babel/types" "^7.12.1"
-"@babel/helper-module-transforms@^7.10.4", "@babel/helper-module-transforms@^7.10.5", "@babel/helper-module-transforms@^7.11.0":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz#b16f250229e47211abdd84b34b64737c2ab2d359"
- integrity sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg==
+"@babel/helper-module-imports@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.1.tgz#1644c01591a15a2f084dd6d092d9430eb1d1216c"
+ integrity sha512-ZeC1TlMSvikvJNy1v/wPIazCu3NdOwgYZLIkmIyAsGhqkNpiDoQQRmaCK8YP4Pq3GPTLPV9WXaPCJKvx06JxKA==
+ dependencies:
+ "@babel/types" "^7.12.1"
+
+"@babel/helper-module-transforms@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz#7954fec71f5b32c48e4b303b437c34453fd7247c"
+ integrity sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==
dependencies:
- "@babel/helper-module-imports" "^7.10.4"
- "@babel/helper-replace-supers" "^7.10.4"
- "@babel/helper-simple-access" "^7.10.4"
+ "@babel/helper-module-imports" "^7.12.1"
+ "@babel/helper-replace-supers" "^7.12.1"
+ "@babel/helper-simple-access" "^7.12.1"
"@babel/helper-split-export-declaration" "^7.11.0"
+ "@babel/helper-validator-identifier" "^7.10.4"
"@babel/template" "^7.10.4"
- "@babel/types" "^7.11.0"
+ "@babel/traverse" "^7.12.1"
+ "@babel/types" "^7.12.1"
lodash "^4.17.19"
"@babel/helper-optimise-call-expression@^7.10.4":
@@ -181,40 +196,48 @@
dependencies:
lodash "^4.17.19"
-"@babel/helper-remap-async-to-generator@^7.10.4":
- version "7.11.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.11.4.tgz#4474ea9f7438f18575e30b0cac784045b402a12d"
- integrity sha512-tR5vJ/vBa9wFy3m5LLv2faapJLnDFxNWff2SAYkSE4rLUdbp7CdObYFgI7wK4T/Mj4UzpjPwzR8Pzmr5m7MHGA==
+"@babel/helper-remap-async-to-generator@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz#8c4dbbf916314f6047dc05e6a2217074238347fd"
+ integrity sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==
dependencies:
"@babel/helper-annotate-as-pure" "^7.10.4"
"@babel/helper-wrap-function" "^7.10.4"
- "@babel/template" "^7.10.4"
- "@babel/types" "^7.10.4"
+ "@babel/types" "^7.12.1"
-"@babel/helper-replace-supers@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf"
- integrity sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==
+"@babel/helper-replace-supers@^7.12.0":
+ version "7.12.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.0.tgz#98d3f3eb779752e59c7422ab387c9b444323be60"
+ integrity sha512-9kycFdq2c9e7PXZOr2z/ZqTFF9OzFu287iFwYS+CiDVPuoTCfY8hoTsIqNQNetQjlqoRsRyJFrMG1uhGAR4EEw==
dependencies:
- "@babel/helper-member-expression-to-functions" "^7.10.4"
+ "@babel/helper-member-expression-to-functions" "^7.12.0"
"@babel/helper-optimise-call-expression" "^7.10.4"
- "@babel/traverse" "^7.10.4"
- "@babel/types" "^7.10.4"
+ "@babel/traverse" "^7.12.0"
+ "@babel/types" "^7.12.0"
-"@babel/helper-simple-access@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461"
- integrity sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==
+"@babel/helper-replace-supers@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz#f15c9cc897439281891e11d5ce12562ac0cf3fa9"
+ integrity sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw==
dependencies:
- "@babel/template" "^7.10.4"
- "@babel/types" "^7.10.4"
+ "@babel/helper-member-expression-to-functions" "^7.12.1"
+ "@babel/helper-optimise-call-expression" "^7.10.4"
+ "@babel/traverse" "^7.12.1"
+ "@babel/types" "^7.12.1"
-"@babel/helper-skip-transparent-expression-wrappers@^7.11.0":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.11.0.tgz#eec162f112c2f58d3af0af125e3bb57665146729"
- integrity sha512-0XIdiQln4Elglgjbwo9wuJpL/K7AGCY26kmEt0+pRP0TAj4jjyNq1MjoRvikrTVqKcx4Gysxt4cXvVFXP/JO2Q==
+"@babel/helper-simple-access@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz#32427e5aa61547d38eb1e6eaf5fd1426fdad9136"
+ integrity sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==
dependencies:
- "@babel/types" "^7.11.0"
+ "@babel/types" "^7.12.1"
+
+"@babel/helper-skip-transparent-expression-wrappers@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz#462dc63a7e435ade8468385c63d2b84cce4b3cbf"
+ integrity sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==
+ dependencies:
+ "@babel/types" "^7.12.1"
"@babel/helper-split-export-declaration@^7.10.4", "@babel/helper-split-export-declaration@^7.11.0":
version "7.11.0"
@@ -228,6 +251,11 @@
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2"
integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==
+"@babel/helper-validator-option@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz#175567380c3e77d60ff98a54bb015fe78f2178d9"
+ integrity sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A==
+
"@babel/helper-wrap-function@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz#8a6f701eab0ff39f765b5a1cfef409990e624b87"
@@ -238,14 +266,14 @@
"@babel/traverse" "^7.10.4"
"@babel/types" "^7.10.4"
-"@babel/helpers@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044"
- integrity sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==
+"@babel/helpers@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.1.tgz#8a8261c1d438ec18cb890434df4ec768734c1e79"
+ integrity sha512-9JoDSBGoWtmbay98efmT2+mySkwjzeFeAL9BuWNoVQpkPFQF8SIIFUfY5os9u8wVzglzoiPRSW7cuJmBDUt43g==
dependencies:
"@babel/template" "^7.10.4"
- "@babel/traverse" "^7.10.4"
- "@babel/types" "^7.10.4"
+ "@babel/traverse" "^7.12.1"
+ "@babel/types" "^7.12.1"
"@babel/highlight@^7.10.4":
version "7.10.4"
@@ -256,116 +284,116 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
-"@babel/parser@^7.1.0", "@babel/parser@^7.1.6", "@babel/parser@^7.10.4", "@babel/parser@^7.11.5":
- version "7.11.5"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.5.tgz#c7ff6303df71080ec7a4f5b8c003c58f1cf51037"
- integrity sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==
+"@babel/parser@^7.1.0", "@babel/parser@^7.1.6", "@babel/parser@^7.10.4", "@babel/parser@^7.12.1", "@babel/parser@^7.12.3":
+ version "7.12.3"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.3.tgz#a305415ebe7a6c7023b40b5122a0662d928334cd"
+ integrity sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw==
-"@babel/plugin-proposal-async-generator-functions@^7.10.4":
- version "7.10.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.5.tgz#3491cabf2f7c179ab820606cec27fed15e0e8558"
- integrity sha512-cNMCVezQbrRGvXJwm9fu/1sJj9bHdGAgKodZdLqOQIpfoH3raqmRPBM17+lh7CzhiKRRBrGtZL9WcjxSoGYUSg==
+"@babel/plugin-proposal-async-generator-functions@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz#dc6c1170e27d8aca99ff65f4925bd06b1c90550e"
+ integrity sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-remap-async-to-generator" "^7.10.4"
+ "@babel/helper-remap-async-to-generator" "^7.12.1"
"@babel/plugin-syntax-async-generators" "^7.8.0"
-"@babel/plugin-proposal-class-properties@^7.1.0", "@babel/plugin-proposal-class-properties@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz#a33bf632da390a59c7a8c570045d1115cd778807"
- integrity sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg==
+"@babel/plugin-proposal-class-properties@^7.1.0", "@babel/plugin-proposal-class-properties@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz#a082ff541f2a29a4821065b8add9346c0c16e5de"
+ integrity sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.10.4"
+ "@babel/helper-create-class-features-plugin" "^7.12.1"
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-proposal-dynamic-import@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz#ba57a26cb98b37741e9d5bca1b8b0ddf8291f17e"
- integrity sha512-up6oID1LeidOOASNXgv/CFbgBqTuKJ0cJjz6An5tWD+NVBNlp3VNSBxv2ZdU7SYl3NxJC7agAQDApZusV6uFwQ==
+"@babel/plugin-proposal-dynamic-import@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz#43eb5c2a3487ecd98c5c8ea8b5fdb69a2749b2dc"
+ integrity sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-dynamic-import" "^7.8.0"
-"@babel/plugin-proposal-export-namespace-from@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.10.4.tgz#570d883b91031637b3e2958eea3c438e62c05f54"
- integrity sha512-aNdf0LY6/3WXkhh0Fdb6Zk9j1NMD8ovj3F6r0+3j837Pn1S1PdNtcwJ5EG9WkVPNHPxyJDaxMaAOVq4eki0qbg==
+"@babel/plugin-proposal-export-namespace-from@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz#8b9b8f376b2d88f5dd774e4d24a5cc2e3679b6d4"
+ integrity sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-export-namespace-from" "^7.8.3"
-"@babel/plugin-proposal-json-strings@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz#593e59c63528160233bd321b1aebe0820c2341db"
- integrity sha512-fCL7QF0Jo83uy1K0P2YXrfX11tj3lkpN7l4dMv9Y9VkowkhkQDwFHFd8IiwyK5MZjE8UpbgokkgtcReH88Abaw==
+"@babel/plugin-proposal-json-strings@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz#d45423b517714eedd5621a9dfdc03fa9f4eb241c"
+ integrity sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-json-strings" "^7.8.0"
-"@babel/plugin-proposal-logical-assignment-operators@^7.11.0":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.11.0.tgz#9f80e482c03083c87125dee10026b58527ea20c8"
- integrity sha512-/f8p4z+Auz0Uaf+i8Ekf1iM7wUNLcViFUGiPxKeXvxTSl63B875YPiVdUDdem7hREcI0E0kSpEhS8tF5RphK7Q==
+"@babel/plugin-proposal-logical-assignment-operators@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz#f2c490d36e1b3c9659241034a5d2cd50263a2751"
+ integrity sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
-"@babel/plugin-proposal-nullish-coalescing-operator@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz#02a7e961fc32e6d5b2db0649e01bf80ddee7e04a"
- integrity sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw==
+"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz#3ed4fff31c015e7f3f1467f190dbe545cd7b046c"
+ integrity sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0"
-"@babel/plugin-proposal-numeric-separator@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz#ce1590ff0a65ad12970a609d78855e9a4c1aef06"
- integrity sha512-73/G7QoRoeNkLZFxsoCCvlg4ezE4eM+57PnOqgaPOozd5myfj7p0muD1mRVJvbUWbOzD+q3No2bWbaKy+DJ8DA==
+"@babel/plugin-proposal-numeric-separator@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.1.tgz#0e2c6774c4ce48be412119b4d693ac777f7685a6"
+ integrity sha512-MR7Ok+Af3OhNTCxYVjJZHS0t97ydnJZt/DbR4WISO39iDnhiD8XHrY12xuSJ90FFEGjir0Fzyyn7g/zY6hxbxA==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-numeric-separator" "^7.10.4"
-"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.11.0":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.11.0.tgz#bd81f95a1f746760ea43b6c2d3d62b11790ad0af"
- integrity sha512-wzch41N4yztwoRw0ak+37wxwJM2oiIiy6huGCoqkvSTA9acYWcPfn9Y4aJqmFFJ70KTJUu29f3DQ43uJ9HXzEA==
+"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz#def9bd03cea0f9b72283dac0ec22d289c7691069"
+ integrity sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-object-rest-spread" "^7.8.0"
- "@babel/plugin-transform-parameters" "^7.10.4"
+ "@babel/plugin-transform-parameters" "^7.12.1"
-"@babel/plugin-proposal-optional-catch-binding@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz#31c938309d24a78a49d68fdabffaa863758554dd"
- integrity sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g==
+"@babel/plugin-proposal-optional-catch-binding@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz#ccc2421af64d3aae50b558a71cede929a5ab2942"
+ integrity sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-optional-catch-binding" "^7.8.0"
-"@babel/plugin-proposal-optional-chaining@^7.11.0":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.11.0.tgz#de5866d0646f6afdaab8a566382fe3a221755076"
- integrity sha512-v9fZIu3Y8562RRwhm1BbMRxtqZNFmFA2EG+pT2diuU8PT3H6T/KXoZ54KgYisfOFZHV6PfvAiBIZ9Rcz+/JCxA==
+"@babel/plugin-proposal-optional-chaining@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz#cce122203fc8a32794296fc377c6dedaf4363797"
+ integrity sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1"
"@babel/plugin-syntax-optional-chaining" "^7.8.0"
-"@babel/plugin-proposal-private-methods@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.4.tgz#b160d972b8fdba5c7d111a145fc8c421fc2a6909"
- integrity sha512-wh5GJleuI8k3emgTg5KkJK6kHNsGEr0uBTDBuQUBJwckk9xs1ez79ioheEVVxMLyPscB0LfkbVHslQqIzWV6Bw==
+"@babel/plugin-proposal-private-methods@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz#86814f6e7a21374c980c10d38b4493e703f4a389"
+ integrity sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.10.4"
+ "@babel/helper-create-class-features-plugin" "^7.12.1"
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-proposal-unicode-property-regex@^7.10.4", "@babel/plugin-proposal-unicode-property-regex@^7.4.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz#4483cda53041ce3413b7fe2f00022665ddfaa75d"
- integrity sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA==
+"@babel/plugin-proposal-unicode-property-regex@^7.12.1", "@babel/plugin-proposal-unicode-property-regex@^7.4.4":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz#2a183958d417765b9eae334f47758e5d6a82e072"
+ integrity sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.10.4"
+ "@babel/helper-create-regexp-features-plugin" "^7.12.1"
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-async-generators@^7.8.0", "@babel/plugin-syntax-async-generators@^7.8.4":
@@ -382,10 +410,10 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-class-properties@^7.10.4", "@babel/plugin-syntax-class-properties@^7.8.3":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz#6644e6a0baa55a61f9e3231f6c9eeb6ee46c124c"
- integrity sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA==
+"@babel/plugin-syntax-class-properties@^7.12.1", "@babel/plugin-syntax-class-properties@^7.8.3":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz#bcb297c5366e79bebadef509549cd93b04f19978"
+ integrity sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
@@ -466,10 +494,10 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-top-level-await@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz#4bbeb8917b54fcf768364e0a81f560e33a3ef57d"
- integrity sha512-ni1brg4lXEmWyafKr0ccFWkJG0CeMt4WV1oyeBW6EFObF4oOHclbkj5cARxAPQyAQ2UTuplJyK4nfkXIMMFvsQ==
+"@babel/plugin-syntax-top-level-await@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz#dd6c0b357ac1bb142d98537450a319625d13d2a0"
+ integrity sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
@@ -480,83 +508,83 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-arrow-functions@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz#e22960d77e697c74f41c501d44d73dbf8a6a64cd"
- integrity sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA==
+"@babel/plugin-transform-arrow-functions@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz#8083ffc86ac8e777fbe24b5967c4b2521f3cb2b3"
+ integrity sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-async-to-generator@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz#41a5017e49eb6f3cda9392a51eef29405b245a37"
- integrity sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ==
+"@babel/plugin-transform-async-to-generator@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz#3849a49cc2a22e9743cbd6b52926d30337229af1"
+ integrity sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==
dependencies:
- "@babel/helper-module-imports" "^7.10.4"
+ "@babel/helper-module-imports" "^7.12.1"
"@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-remap-async-to-generator" "^7.10.4"
+ "@babel/helper-remap-async-to-generator" "^7.12.1"
-"@babel/plugin-transform-block-scoped-functions@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz#1afa595744f75e43a91af73b0d998ecfe4ebc2e8"
- integrity sha512-WzXDarQXYYfjaV1szJvN3AD7rZgZzC1JtjJZ8dMHUyiK8mxPRahynp14zzNjU3VkPqPsO38CzxiWO1c9ARZ8JA==
+"@babel/plugin-transform-block-scoped-functions@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz#f2a1a365bde2b7112e0a6ded9067fdd7c07905d9"
+ integrity sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-block-scoping@^7.10.4":
- version "7.11.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.11.1.tgz#5b7efe98852bef8d652c0b28144cd93a9e4b5215"
- integrity sha512-00dYeDE0EVEHuuM+26+0w/SCL0BH2Qy7LwHuI4Hi4MH5gkC8/AqMN5uWFJIsoXZrAphiMm1iXzBw6L2T+eA0ew==
+"@babel/plugin-transform-block-scoping@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz#f0ee727874b42a208a48a586b84c3d222c2bbef1"
+ integrity sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-classes@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz#405136af2b3e218bc4a1926228bc917ab1a0adc7"
- integrity sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA==
+"@babel/plugin-transform-classes@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz#65e650fcaddd3d88ddce67c0f834a3d436a32db6"
+ integrity sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==
dependencies:
"@babel/helper-annotate-as-pure" "^7.10.4"
"@babel/helper-define-map" "^7.10.4"
"@babel/helper-function-name" "^7.10.4"
"@babel/helper-optimise-call-expression" "^7.10.4"
"@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-replace-supers" "^7.10.4"
+ "@babel/helper-replace-supers" "^7.12.1"
"@babel/helper-split-export-declaration" "^7.10.4"
globals "^11.1.0"
-"@babel/plugin-transform-computed-properties@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz#9ded83a816e82ded28d52d4b4ecbdd810cdfc0eb"
- integrity sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw==
+"@babel/plugin-transform-computed-properties@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz#d68cf6c9b7f838a8a4144badbe97541ea0904852"
+ integrity sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-destructuring@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz#70ddd2b3d1bea83d01509e9bb25ddb3a74fc85e5"
- integrity sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA==
+"@babel/plugin-transform-destructuring@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz#b9a570fe0d0a8d460116413cb4f97e8e08b2f847"
+ integrity sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-dotall-regex@^7.10.4", "@babel/plugin-transform-dotall-regex@^7.4.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz#469c2062105c1eb6a040eaf4fac4b488078395ee"
- integrity sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA==
+"@babel/plugin-transform-dotall-regex@^7.12.1", "@babel/plugin-transform-dotall-regex@^7.4.4":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz#a1d16c14862817b6409c0a678d6f9373ca9cd975"
+ integrity sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.10.4"
+ "@babel/helper-create-regexp-features-plugin" "^7.12.1"
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-duplicate-keys@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz#697e50c9fee14380fe843d1f306b295617431e47"
- integrity sha512-GL0/fJnmgMclHiBTTWXNlYjYsA7rDrtsazHG6mglaGSTh0KsrW04qml+Bbz9FL0LcJIRwBWL5ZqlNHKTkU3xAA==
+"@babel/plugin-transform-duplicate-keys@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz#745661baba295ac06e686822797a69fbaa2ca228"
+ integrity sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-exponentiation-operator@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz#5ae338c57f8cf4001bdb35607ae66b92d665af2e"
- integrity sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw==
+"@babel/plugin-transform-exponentiation-operator@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz#b0f2ed356ba1be1428ecaf128ff8a24f02830ae0"
+ integrity sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==
dependencies:
"@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4"
"@babel/helper-plugin-utils" "^7.10.4"
@@ -569,209 +597,209 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-flow" "^7.10.4"
-"@babel/plugin-transform-for-of@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz#c08892e8819d3a5db29031b115af511dbbfebae9"
- integrity sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ==
+"@babel/plugin-transform-for-of@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz#07640f28867ed16f9511c99c888291f560921cfa"
+ integrity sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-function-name@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz#6a467880e0fc9638514ba369111811ddbe2644b7"
- integrity sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg==
+"@babel/plugin-transform-function-name@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz#2ec76258c70fe08c6d7da154003a480620eba667"
+ integrity sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==
dependencies:
"@babel/helper-function-name" "^7.10.4"
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-literals@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz#9f42ba0841100a135f22712d0e391c462f571f3c"
- integrity sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ==
+"@babel/plugin-transform-literals@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz#d73b803a26b37017ddf9d3bb8f4dc58bfb806f57"
+ integrity sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-member-expression-literals@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz#b1ec44fcf195afcb8db2c62cd8e551c881baf8b7"
- integrity sha512-0bFOvPyAoTBhtcJLr9VcwZqKmSjFml1iVxvPL0ReomGU53CX53HsM4h2SzckNdkQcHox1bpAqzxBI1Y09LlBSw==
+"@babel/plugin-transform-member-expression-literals@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz#496038602daf1514a64d43d8e17cbb2755e0c3ad"
+ integrity sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-modules-amd@^7.10.4":
- version "7.10.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.5.tgz#1b9cddaf05d9e88b3aad339cb3e445c4f020a9b1"
- integrity sha512-elm5uruNio7CTLFItVC/rIzKLfQ17+fX7EVz5W0TMgIHFo1zY0Ozzx+lgwhL4plzl8OzVn6Qasx5DeEFyoNiRw==
+"@babel/plugin-transform-modules-amd@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz#3154300b026185666eebb0c0ed7f8415fefcf6f9"
+ integrity sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==
dependencies:
- "@babel/helper-module-transforms" "^7.10.5"
+ "@babel/helper-module-transforms" "^7.12.1"
"@babel/helper-plugin-utils" "^7.10.4"
babel-plugin-dynamic-import-node "^2.3.3"
-"@babel/plugin-transform-modules-commonjs@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz#66667c3eeda1ebf7896d41f1f16b17105a2fbca0"
- integrity sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w==
+"@babel/plugin-transform-modules-commonjs@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz#fa403124542636c786cf9b460a0ffbb48a86e648"
+ integrity sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==
dependencies:
- "@babel/helper-module-transforms" "^7.10.4"
+ "@babel/helper-module-transforms" "^7.12.1"
"@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-simple-access" "^7.10.4"
+ "@babel/helper-simple-access" "^7.12.1"
babel-plugin-dynamic-import-node "^2.3.3"
-"@babel/plugin-transform-modules-systemjs@^7.10.4":
- version "7.10.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.5.tgz#6270099c854066681bae9e05f87e1b9cadbe8c85"
- integrity sha512-f4RLO/OL14/FP1AEbcsWMzpbUz6tssRaeQg11RH1BP/XnPpRoVwgeYViMFacnkaw4k4wjRSjn3ip1Uw9TaXuMw==
+"@babel/plugin-transform-modules-systemjs@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz#663fea620d593c93f214a464cd399bf6dc683086"
+ integrity sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==
dependencies:
"@babel/helper-hoist-variables" "^7.10.4"
- "@babel/helper-module-transforms" "^7.10.5"
+ "@babel/helper-module-transforms" "^7.12.1"
"@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-validator-identifier" "^7.10.4"
babel-plugin-dynamic-import-node "^2.3.3"
-"@babel/plugin-transform-modules-umd@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz#9a8481fe81b824654b3a0b65da3df89f3d21839e"
- integrity sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA==
+"@babel/plugin-transform-modules-umd@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz#eb5a218d6b1c68f3d6217b8fa2cc82fec6547902"
+ integrity sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==
dependencies:
- "@babel/helper-module-transforms" "^7.10.4"
+ "@babel/helper-module-transforms" "^7.12.1"
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-named-capturing-groups-regex@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz#78b4d978810b6f3bcf03f9e318f2fc0ed41aecb6"
- integrity sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA==
+"@babel/plugin-transform-named-capturing-groups-regex@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz#b407f5c96be0d9f5f88467497fa82b30ac3e8753"
+ integrity sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.10.4"
+ "@babel/helper-create-regexp-features-plugin" "^7.12.1"
-"@babel/plugin-transform-new-target@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz#9097d753cb7b024cb7381a3b2e52e9513a9c6888"
- integrity sha512-YXwWUDAH/J6dlfwqlWsztI2Puz1NtUAubXhOPLQ5gjR/qmQ5U96DY4FQO8At33JN4XPBhrjB8I4eMmLROjjLjw==
+"@babel/plugin-transform-new-target@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz#80073f02ee1bb2d365c3416490e085c95759dec0"
+ integrity sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-object-super@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz#d7146c4d139433e7a6526f888c667e314a093894"
- integrity sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ==
+"@babel/plugin-transform-object-super@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz#4ea08696b8d2e65841d0c7706482b048bed1066e"
+ integrity sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-replace-supers" "^7.10.4"
+ "@babel/helper-replace-supers" "^7.12.1"
-"@babel/plugin-transform-parameters@^7.10.4":
- version "7.10.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.5.tgz#59d339d58d0b1950435f4043e74e2510005e2c4a"
- integrity sha512-xPHwUj5RdFV8l1wuYiu5S9fqWGM2DrYc24TMvUiRrPVm+SM3XeqU9BcokQX/kEUe+p2RBwy+yoiR1w/Blq6ubw==
+"@babel/plugin-transform-parameters@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz#d2e963b038771650c922eff593799c96d853255d"
+ integrity sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==
dependencies:
- "@babel/helper-get-function-arity" "^7.10.4"
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-property-literals@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz#f6fe54b6590352298785b83edd815d214c42e3c0"
- integrity sha512-ofsAcKiUxQ8TY4sScgsGeR2vJIsfrzqvFb9GvJ5UdXDzl+MyYCaBj/FGzXuv7qE0aJcjWMILny1epqelnFlz8g==
+"@babel/plugin-transform-property-literals@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz#41bc81200d730abb4456ab8b3fbd5537b59adecd"
+ integrity sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-regenerator@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz#2015e59d839074e76838de2159db421966fd8b63"
- integrity sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw==
+"@babel/plugin-transform-regenerator@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz#5f0a28d842f6462281f06a964e88ba8d7ab49753"
+ integrity sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==
dependencies:
regenerator-transform "^0.14.2"
-"@babel/plugin-transform-reserved-words@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz#8f2682bcdcef9ed327e1b0861585d7013f8a54dd"
- integrity sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ==
+"@babel/plugin-transform-reserved-words@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz#6fdfc8cc7edcc42b36a7c12188c6787c873adcd8"
+ integrity sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-shorthand-properties@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz#9fd25ec5cdd555bb7f473e5e6ee1c971eede4dd6"
- integrity sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q==
+"@babel/plugin-transform-shorthand-properties@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz#0bf9cac5550fce0cfdf043420f661d645fdc75e3"
+ integrity sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-spread@^7.11.0":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.11.0.tgz#fa84d300f5e4f57752fe41a6d1b3c554f13f17cc"
- integrity sha512-UwQYGOqIdQJe4aWNyS7noqAnN2VbaczPLiEtln+zPowRNlD+79w3oi2TWfYe0eZgd+gjZCbsydN7lzWysDt+gw==
+"@babel/plugin-transform-spread@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz#527f9f311be4ec7fdc2b79bb89f7bf884b3e1e1e"
+ integrity sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1"
-"@babel/plugin-transform-sticky-regex@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz#8f3889ee8657581130a29d9cc91d7c73b7c4a28d"
- integrity sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ==
+"@babel/plugin-transform-sticky-regex@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.1.tgz#5c24cf50de396d30e99afc8d1c700e8bce0f5caf"
+ integrity sha512-CiUgKQ3AGVk7kveIaPEET1jNDhZZEl1RPMWdTBE1799bdz++SwqDHStmxfCtDfBhQgCl38YRiSnrMuUMZIWSUQ==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/helper-regex" "^7.10.4"
-"@babel/plugin-transform-template-literals@^7.10.4":
- version "7.10.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.5.tgz#78bc5d626a6642db3312d9d0f001f5e7639fde8c"
- integrity sha512-V/lnPGIb+KT12OQikDvgSuesRX14ck5FfJXt6+tXhdkJ+Vsd0lDCVtF6jcB4rNClYFzaB2jusZ+lNISDk2mMMw==
+"@babel/plugin-transform-template-literals@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz#b43ece6ed9a79c0c71119f576d299ef09d942843"
+ integrity sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.10.4"
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-typeof-symbol@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz#9509f1a7eec31c4edbffe137c16cc33ff0bc5bfc"
- integrity sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA==
+"@babel/plugin-transform-typeof-symbol@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.1.tgz#9ca6be343d42512fbc2e68236a82ae64bc7af78a"
+ integrity sha512-EPGgpGy+O5Kg5pJFNDKuxt9RdmTgj5sgrus2XVeMp/ZIbOESadgILUbm50SNpghOh3/6yrbsH+NB5+WJTmsA7Q==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-typescript@^7.10.4":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.11.0.tgz#2b4879676af37342ebb278216dd090ac67f13abb"
- integrity sha512-edJsNzTtvb3MaXQwj8403B7mZoGu9ElDJQZOKjGUnvilquxBA3IQoEIOvkX/1O8xfAsnHS/oQhe2w/IXrr+w0w==
+"@babel/plugin-transform-typescript@^7.12.0":
+ version "7.12.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.0.tgz#bd6422833a56e4268d8d599238f0b3c5e170078a"
+ integrity sha512-gahRNAWgE76hjI3TZPVEfV7vGjOCJi5ACd4eSoAItk/ErC114i2UHnk+1ScS2dOour0p6J6kB99hNFX2vzL2Ww==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.10.5"
+ "@babel/helper-create-class-features-plugin" "^7.12.0"
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-typescript" "^7.10.4"
-"@babel/plugin-transform-unicode-escapes@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.4.tgz#feae523391c7651ddac115dae0a9d06857892007"
- integrity sha512-y5XJ9waMti2J+e7ij20e+aH+fho7Wb7W8rNuu72aKRwCHFqQdhkdU2lo3uZ9tQuboEJcUFayXdARhcxLQ3+6Fg==
+"@babel/plugin-transform-unicode-escapes@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz#5232b9f81ccb07070b7c3c36c67a1b78f1845709"
+ integrity sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-unicode-regex@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz#e56d71f9282fac6db09c82742055576d5e6d80a8"
- integrity sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A==
+"@babel/plugin-transform-unicode-regex@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz#cc9661f61390db5c65e3febaccefd5c6ac3faecb"
+ integrity sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.10.4"
+ "@babel/helper-create-regexp-features-plugin" "^7.12.1"
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/preset-env@^7.1.6", "@babel/preset-env@^7.11.0":
- version "7.11.5"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.11.5.tgz#18cb4b9379e3e92ffea92c07471a99a2914e4272"
- integrity sha512-kXqmW1jVcnB2cdueV+fyBM8estd5mlNfaQi6lwLgRwCby4edpavgbFhiBNjmWA3JpB/yZGSISa7Srf+TwxDQoA==
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.1.tgz#9c7e5ca82a19efc865384bb4989148d2ee5d7ac2"
+ integrity sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg==
dependencies:
- "@babel/compat-data" "^7.11.0"
- "@babel/helper-compilation-targets" "^7.10.4"
- "@babel/helper-module-imports" "^7.10.4"
+ "@babel/compat-data" "^7.12.1"
+ "@babel/helper-compilation-targets" "^7.12.1"
+ "@babel/helper-module-imports" "^7.12.1"
"@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-proposal-async-generator-functions" "^7.10.4"
- "@babel/plugin-proposal-class-properties" "^7.10.4"
- "@babel/plugin-proposal-dynamic-import" "^7.10.4"
- "@babel/plugin-proposal-export-namespace-from" "^7.10.4"
- "@babel/plugin-proposal-json-strings" "^7.10.4"
- "@babel/plugin-proposal-logical-assignment-operators" "^7.11.0"
- "@babel/plugin-proposal-nullish-coalescing-operator" "^7.10.4"
- "@babel/plugin-proposal-numeric-separator" "^7.10.4"
- "@babel/plugin-proposal-object-rest-spread" "^7.11.0"
- "@babel/plugin-proposal-optional-catch-binding" "^7.10.4"
- "@babel/plugin-proposal-optional-chaining" "^7.11.0"
- "@babel/plugin-proposal-private-methods" "^7.10.4"
- "@babel/plugin-proposal-unicode-property-regex" "^7.10.4"
+ "@babel/helper-validator-option" "^7.12.1"
+ "@babel/plugin-proposal-async-generator-functions" "^7.12.1"
+ "@babel/plugin-proposal-class-properties" "^7.12.1"
+ "@babel/plugin-proposal-dynamic-import" "^7.12.1"
+ "@babel/plugin-proposal-export-namespace-from" "^7.12.1"
+ "@babel/plugin-proposal-json-strings" "^7.12.1"
+ "@babel/plugin-proposal-logical-assignment-operators" "^7.12.1"
+ "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1"
+ "@babel/plugin-proposal-numeric-separator" "^7.12.1"
+ "@babel/plugin-proposal-object-rest-spread" "^7.12.1"
+ "@babel/plugin-proposal-optional-catch-binding" "^7.12.1"
+ "@babel/plugin-proposal-optional-chaining" "^7.12.1"
+ "@babel/plugin-proposal-private-methods" "^7.12.1"
+ "@babel/plugin-proposal-unicode-property-regex" "^7.12.1"
"@babel/plugin-syntax-async-generators" "^7.8.0"
- "@babel/plugin-syntax-class-properties" "^7.10.4"
+ "@babel/plugin-syntax-class-properties" "^7.12.1"
"@babel/plugin-syntax-dynamic-import" "^7.8.0"
"@babel/plugin-syntax-export-namespace-from" "^7.8.3"
"@babel/plugin-syntax-json-strings" "^7.8.0"
@@ -781,45 +809,42 @@
"@babel/plugin-syntax-object-rest-spread" "^7.8.0"
"@babel/plugin-syntax-optional-catch-binding" "^7.8.0"
"@babel/plugin-syntax-optional-chaining" "^7.8.0"
- "@babel/plugin-syntax-top-level-await" "^7.10.4"
- "@babel/plugin-transform-arrow-functions" "^7.10.4"
- "@babel/plugin-transform-async-to-generator" "^7.10.4"
- "@babel/plugin-transform-block-scoped-functions" "^7.10.4"
- "@babel/plugin-transform-block-scoping" "^7.10.4"
- "@babel/plugin-transform-classes" "^7.10.4"
- "@babel/plugin-transform-computed-properties" "^7.10.4"
- "@babel/plugin-transform-destructuring" "^7.10.4"
- "@babel/plugin-transform-dotall-regex" "^7.10.4"
- "@babel/plugin-transform-duplicate-keys" "^7.10.4"
- "@babel/plugin-transform-exponentiation-operator" "^7.10.4"
- "@babel/plugin-transform-for-of" "^7.10.4"
- "@babel/plugin-transform-function-name" "^7.10.4"
- "@babel/plugin-transform-literals" "^7.10.4"
- "@babel/plugin-transform-member-expression-literals" "^7.10.4"
- "@babel/plugin-transform-modules-amd" "^7.10.4"
- "@babel/plugin-transform-modules-commonjs" "^7.10.4"
- "@babel/plugin-transform-modules-systemjs" "^7.10.4"
- "@babel/plugin-transform-modules-umd" "^7.10.4"
- "@babel/plugin-transform-named-capturing-groups-regex" "^7.10.4"
- "@babel/plugin-transform-new-target" "^7.10.4"
- "@babel/plugin-transform-object-super" "^7.10.4"
- "@babel/plugin-transform-parameters" "^7.10.4"
- "@babel/plugin-transform-property-literals" "^7.10.4"
- "@babel/plugin-transform-regenerator" "^7.10.4"
- "@babel/plugin-transform-reserved-words" "^7.10.4"
- "@babel/plugin-transform-shorthand-properties" "^7.10.4"
- "@babel/plugin-transform-spread" "^7.11.0"
- "@babel/plugin-transform-sticky-regex" "^7.10.4"
- "@babel/plugin-transform-template-literals" "^7.10.4"
- "@babel/plugin-transform-typeof-symbol" "^7.10.4"
- "@babel/plugin-transform-unicode-escapes" "^7.10.4"
- "@babel/plugin-transform-unicode-regex" "^7.10.4"
+ "@babel/plugin-syntax-top-level-await" "^7.12.1"
+ "@babel/plugin-transform-arrow-functions" "^7.12.1"
+ "@babel/plugin-transform-async-to-generator" "^7.12.1"
+ "@babel/plugin-transform-block-scoped-functions" "^7.12.1"
+ "@babel/plugin-transform-block-scoping" "^7.12.1"
+ "@babel/plugin-transform-classes" "^7.12.1"
+ "@babel/plugin-transform-computed-properties" "^7.12.1"
+ "@babel/plugin-transform-destructuring" "^7.12.1"
+ "@babel/plugin-transform-dotall-regex" "^7.12.1"
+ "@babel/plugin-transform-duplicate-keys" "^7.12.1"
+ "@babel/plugin-transform-exponentiation-operator" "^7.12.1"
+ "@babel/plugin-transform-for-of" "^7.12.1"
+ "@babel/plugin-transform-function-name" "^7.12.1"
+ "@babel/plugin-transform-literals" "^7.12.1"
+ "@babel/plugin-transform-member-expression-literals" "^7.12.1"
+ "@babel/plugin-transform-modules-amd" "^7.12.1"
+ "@babel/plugin-transform-modules-commonjs" "^7.12.1"
+ "@babel/plugin-transform-modules-systemjs" "^7.12.1"
+ "@babel/plugin-transform-modules-umd" "^7.12.1"
+ "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.1"
+ "@babel/plugin-transform-new-target" "^7.12.1"
+ "@babel/plugin-transform-object-super" "^7.12.1"
+ "@babel/plugin-transform-parameters" "^7.12.1"
+ "@babel/plugin-transform-property-literals" "^7.12.1"
+ "@babel/plugin-transform-regenerator" "^7.12.1"
+ "@babel/plugin-transform-reserved-words" "^7.12.1"
+ "@babel/plugin-transform-shorthand-properties" "^7.12.1"
+ "@babel/plugin-transform-spread" "^7.12.1"
+ "@babel/plugin-transform-sticky-regex" "^7.12.1"
+ "@babel/plugin-transform-template-literals" "^7.12.1"
+ "@babel/plugin-transform-typeof-symbol" "^7.12.1"
+ "@babel/plugin-transform-unicode-escapes" "^7.12.1"
+ "@babel/plugin-transform-unicode-regex" "^7.12.1"
"@babel/preset-modules" "^0.1.3"
- "@babel/types" "^7.11.5"
- browserslist "^4.12.0"
+ "@babel/types" "^7.12.1"
core-js-compat "^3.6.2"
- invariant "^2.2.2"
- levenary "^1.1.1"
semver "^5.5.0"
"@babel/preset-flow@^7.0.0":
@@ -842,17 +867,17 @@
esutils "^2.0.2"
"@babel/preset-typescript@^7.1.0":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.10.4.tgz#7d5d052e52a682480d6e2cc5aa31be61c8c25e36"
- integrity sha512-SdYnvGPv+bLlwkF2VkJnaX/ni1sMNetcGI1+nThF1gyv6Ph8Qucc4ZZAjM5yZcE/AKRXIOTZz7eSRDWOEjPyRQ==
+ version "7.12.0"
+ resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.12.0.tgz#3fe6b4958ca6fb0e086dc5574a27d0ced99185e8"
+ integrity sha512-2XVy4sy/zkP4gqmXW0TzSh/QwOniN2Cy3srhsD0TRBlMTOmjaYnWCWA6aWopwpcwfYkEKD6jKLLjYMq15zDNWg==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-transform-typescript" "^7.10.4"
+ "@babel/plugin-transform-typescript" "^7.12.0"
"@babel/register@^7.0.0":
- version "7.11.5"
- resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.11.5.tgz#79becf89e0ddd0fba8b92bc279bc0f5d2d7ce2ea"
- integrity sha512-CAml0ioKX+kOAvBQDHa/+t1fgOt3qkTIz0TrRtRAT6XY0m5qYZXR85k6/sLCNPMGhYDlCFHCYuU0ybTJbvlC6w==
+ version "7.12.0"
+ resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.12.0.tgz#fa5fa900bd79380ff508ae963a5766172d3a9e56"
+ integrity sha512-2F2v0qYSAwrGyK9mZ8lIoUluHRzLTgkJ2oRXlLV9GVe/ze/sTFBiOocLRMSJYDB2lLiABlVC+pZHlZ8qihO1Xg==
dependencies:
find-cache-dir "^2.0.0"
lodash "^4.17.19"
@@ -861,9 +886,9 @@
source-map-support "^0.5.16"
"@babel/runtime@^7.11.2", "@babel/runtime@^7.8.4":
- version "7.11.2"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736"
- integrity sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw==
+ version "7.12.0"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.0.tgz#98bd7666186969c04be893d747cf4a6c6c8fa6b0"
+ integrity sha512-lS4QLXQ2Vbw2ubfQjeQcn+BZgZ5+ROHW9f+DWjEp5Y+NHYmkRGKqHSJ1tuhbUauKu2nhZNTBIvsIQ8dXfY5Gjw==
dependencies:
regenerator-runtime "^0.13.4"
@@ -876,25 +901,25 @@
"@babel/parser" "^7.10.4"
"@babel/types" "^7.10.4"
-"@babel/traverse@^7.1.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.11.5":
- version "7.11.5"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.11.5.tgz#be777b93b518eb6d76ee2e1ea1d143daa11e61c3"
- integrity sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==
+"@babel/traverse@^7.1.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.12.0", "@babel/traverse@^7.12.1":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.1.tgz#941395e0c5cc86d5d3e75caa095d3924526f0c1e"
+ integrity sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw==
dependencies:
"@babel/code-frame" "^7.10.4"
- "@babel/generator" "^7.11.5"
+ "@babel/generator" "^7.12.1"
"@babel/helper-function-name" "^7.10.4"
"@babel/helper-split-export-declaration" "^7.11.0"
- "@babel/parser" "^7.11.5"
- "@babel/types" "^7.11.5"
+ "@babel/parser" "^7.12.1"
+ "@babel/types" "^7.12.1"
debug "^4.1.0"
globals "^11.1.0"
lodash "^4.17.19"
-"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.11.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
- version "7.11.5"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.5.tgz#d9de577d01252d77c6800cee039ee64faf75662d"
- integrity sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==
+"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.12.0", "@babel/types@^7.12.1", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.1.tgz#e109d9ab99a8de735be287ee3d6a9947a190c4ae"
+ integrity sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==
dependencies:
"@babel/helper-validator-identifier" "^7.10.4"
lodash "^4.17.19"
@@ -2257,11 +2282,32 @@
resolved "https://registry.yarnpkg.com/@types/ejs/-/ejs-3.0.4.tgz#8851fcdedb96e410fbb24f83b8be6763ef9afa77"
integrity sha512-ZxnwyBGO4KX/82AsFHTX82eMw0PsoBcIngEat+zx0y+3yxoNDJucAihg9nAcrc+g4Cwiv/4WcWsX4oiy0ySrRQ==
+"@types/eslint-scope@^3.7.0":
+ version "3.7.0"
+ resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.0.tgz#4792816e31119ebd506902a482caec4951fabd86"
+ integrity sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==
+ dependencies:
+ "@types/eslint" "*"
+ "@types/estree" "*"
+
"@types/eslint-visitor-keys@^1.0.0":
version "1.0.0"
resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d"
integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==
+"@types/eslint@*":
+ version "7.2.4"
+ resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.2.4.tgz#d12eeed7741d2491b69808576ac2d20c14f74c41"
+ integrity sha512-YCY4kzHMsHoyKspQH+nwSe+70Kep7Vjt2X+dZe5Vs2vkRudqtoFoUIv1RlJmZB8Hbp7McneupoZij4PadxsK5Q==
+ dependencies:
+ "@types/estree" "*"
+ "@types/json-schema" "*"
+
+"@types/estree@*", "@types/estree@^0.0.45":
+ version "0.0.45"
+ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.45.tgz#e9387572998e5ecdac221950dab3e8c3b16af884"
+ integrity sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==
+
"@types/expect@^1.20.4":
version "1.20.4"
resolved "https://registry.yarnpkg.com/@types/expect/-/expect-1.20.4.tgz#8288e51737bf7e3ab5d7c77bfa695883745264e5"
@@ -2340,7 +2386,7 @@
jest-diff "^25.2.1"
pretty-format "^25.2.1"
-"@types/json-schema@*", "@types/json-schema@^7.0.3":
+"@types/json-schema@*", "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.6":
version "7.0.6"
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0"
integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==
@@ -2398,9 +2444,9 @@
"@types/node" "*"
"@types/node@*", "@types/node@>= 8":
- version "14.11.5"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-14.11.5.tgz#fecad41c041cae7f2404ad4b2d0742fdb628b305"
- integrity sha512-jVFzDV6NTbrLMxm4xDSIW/gKnk8rQLF9wAzLWIOg+5nU6ACrIMndeBdXci0FGtqJbP9tQvm6V39eshc96TO2wQ==
+ version "14.11.8"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.11.8.tgz#fe2012f2355e4ce08bca44aeb3abbb21cf88d33f"
+ integrity sha512-KPcKqKm5UKDkaYPTuXSx8wEP7vE9GnuaXIZKijwRYcePpZFDVuy2a57LarFKiORbHOuTOOwYzxVxcUzsh2P2Pw==
"@types/node@13.9.8":
version "13.9.8"
@@ -2470,9 +2516,9 @@
integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==
"@types/yargs@^15.0.0":
- version "15.0.7"
- resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.7.tgz#dad50a7a234a35ef9460737a56024287a3de1d2b"
- integrity sha512-Gf4u3EjaPNcC9cTu4/j2oN14nSVhr8PQ+BvBcBQHAhDZfl0bVIiLgvnRXv/dn58XhTm9UXvBpvJpDlwV65QxOA==
+ version "15.0.8"
+ resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.8.tgz#7644904cad7427eb704331ea9bf1ee5499b82e23"
+ integrity sha512-b0BYzFUzBpOhPjpl1wtAHU994jBeKF4TKVlT7ssFv44T617XNcPdRoG4AzHLVshLzlrF7i3lTelH7UbuNYV58Q==
dependencies:
"@types/yargs-parser" "*"
@@ -2495,9 +2541,9 @@
rxjs ">=6.4.0"
"@types/yeoman-generator@*", "@types/yeoman-generator@^4.11.2":
- version "4.11.2"
- resolved "https://registry.yarnpkg.com/@types/yeoman-generator/-/yeoman-generator-4.11.2.tgz#c46b294a46fc8b3a5c46dff8a8712eaad02a7665"
- integrity sha512-9QYsdVTLlUHg+aiDT1uqWf63oQXedCT4ty5L4KC4nd8gsp1Ef9UdXxpcc4yBU9ciRf4DqE1pViqxc6LTSosdsg==
+ version "4.11.3"
+ resolved "https://registry.yarnpkg.com/@types/yeoman-generator/-/yeoman-generator-4.11.3.tgz#3b4c0040cf0c28237dd9f535a15c620d3f68c5f4"
+ integrity sha512-bZRBRahUEs10YhPC4zTKwX5h1mfoFT4Qvav+z0WyT37SgKK9IgIozn8/k6IF9h9PNkxpAhFcER5llwdzCyFZnw==
dependencies:
"@types/debug" "*"
"@types/ejs" "*"
@@ -2507,9 +2553,9 @@
rxjs ">=6.4.0"
"@types/yeoman-test@^2.0.3":
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/@types/yeoman-test/-/yeoman-test-2.0.4.tgz#4c85e8cf95490411351e1bad57d1a2d6e71a5300"
- integrity sha512-yUj8MGfEDFwhvUVy0JYdlYc+LMmx833am5iWcif2CYxh7L3qPmb+bMg+079i37WuGvvL8bifeDP+9ev4LDVAXA==
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/@types/yeoman-test/-/yeoman-test-2.0.5.tgz#91131a779237b599e477de555b607a2e850b4c71"
+ integrity sha512-BYJFfJ8o341YnOOkzm0Qw3v3C8t/3WSMXTYUepSa7IIBG+PFU14/v+X90llzaNBYjpvDCjhj16H7GY2R874IiQ==
dependencies:
"@types/yeoman-generator" "*"
@@ -2769,7 +2815,7 @@ acorn-walk@^7.1.1:
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
-acorn@^6.0.1, acorn@^6.4.1:
+acorn@^6.0.1:
version "6.4.2"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6"
integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==
@@ -2779,6 +2825,11 @@ acorn@^7.1.0, acorn@^7.1.1:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
+acorn@^8.0.3:
+ version "8.0.4"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.0.4.tgz#7a3ae4191466a6984eee0fe3407a4f3aa9db8354"
+ integrity sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ==
+
agent-base@4, agent-base@^4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee"
@@ -2813,15 +2864,15 @@ ajv-errors@^1.0.0:
resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d"
integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==
-ajv-keywords@^3.1.0, ajv-keywords@^3.4.1:
+ajv-keywords@^3.1.0, ajv-keywords@^3.5.2:
version "3.5.2"
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
-ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3:
- version "6.12.5"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.5.tgz#19b0e8bae8f476e5ba666300387775fb1a00a4da"
- integrity sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==
+ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.5:
+ version "6.12.6"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
+ integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
dependencies:
fast-deep-equal "^3.1.1"
fast-json-stable-stringify "^2.0.0"
@@ -2912,7 +2963,7 @@ anymatch@^2.0.0:
micromatch "^3.1.4"
normalize-path "^2.1.1"
-anymatch@^3.0.3, anymatch@~3.1.1:
+anymatch@^3.0.3:
version "3.1.1"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142"
integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==
@@ -3042,16 +3093,6 @@ asap@^2.0.0:
resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=
-asn1.js@^5.2.0:
- version "5.4.1"
- resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07"
- integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==
- dependencies:
- bn.js "^4.0.0"
- inherits "^2.0.1"
- minimalistic-assert "^1.0.0"
- safer-buffer "^2.1.0"
-
asn1@~0.2.3:
version "0.2.4"
resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136"
@@ -3064,14 +3105,6 @@ assert-plus@1.0.0, assert-plus@^1.0.0:
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
-assert@^1.1.1:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb"
- integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==
- dependencies:
- object-assign "^4.1.1"
- util "0.10.3"
-
assign-symbols@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
@@ -3228,11 +3261,6 @@ balanced-match@^1.0.0:
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
-base64-js@^1.0.2:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1"
- integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==
-
base@^0.11.1:
version "0.11.2"
resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
@@ -3273,21 +3301,11 @@ bfj@^6.1.1:
hoopy "^0.1.4"
tryer "^1.0.1"
-big.js@^5.2.2:
- version "5.2.2"
- resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
- integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
-
binary-extensions@^1.0.0:
version "1.13.1"
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65"
integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==
-binary-extensions@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9"
- integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==
-
binaryextensions@^2.1.2:
version "2.3.0"
resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-2.3.0.tgz#1d269cbf7e6243ea886aa41453c3651ccbe13c22"
@@ -3305,16 +3323,6 @@ bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5:
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
-bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0:
- version "4.11.9"
- resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828"
- integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==
-
-bn.js@^5.1.1:
- version "5.1.3"
- resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b"
- integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==
-
body-parser@1.19.0:
version "1.19.0"
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a"
@@ -3367,18 +3375,13 @@ braces@^2.3.1, braces@^2.3.2:
split-string "^3.0.2"
to-regex "^3.0.1"
-braces@^3.0.1, braces@~3.0.2:
+braces@^3.0.1:
version "3.0.2"
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
dependencies:
fill-range "^7.0.1"
-brorand@^1.0.1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
- integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
-
browser-process-hrtime@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626"
@@ -3391,68 +3394,7 @@ browser-resolve@^1.11.3:
dependencies:
resolve "1.1.7"
-browserify-aes@^1.0.0, browserify-aes@^1.0.4:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
- integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==
- dependencies:
- buffer-xor "^1.0.3"
- cipher-base "^1.0.0"
- create-hash "^1.1.0"
- evp_bytestokey "^1.0.3"
- inherits "^2.0.1"
- safe-buffer "^5.0.1"
-
-browserify-cipher@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0"
- integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==
- dependencies:
- browserify-aes "^1.0.4"
- browserify-des "^1.0.0"
- evp_bytestokey "^1.0.0"
-
-browserify-des@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c"
- integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==
- dependencies:
- cipher-base "^1.0.1"
- des.js "^1.0.0"
- inherits "^2.0.1"
- safe-buffer "^5.1.2"
-
-browserify-rsa@^4.0.0, browserify-rsa@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
- integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=
- dependencies:
- bn.js "^4.1.0"
- randombytes "^2.0.1"
-
-browserify-sign@^4.0.0:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3"
- integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==
- dependencies:
- bn.js "^5.1.1"
- browserify-rsa "^4.0.1"
- create-hash "^1.2.0"
- create-hmac "^1.1.7"
- elliptic "^6.5.3"
- inherits "^2.0.4"
- parse-asn1 "^5.1.5"
- readable-stream "^3.6.0"
- safe-buffer "^5.2.0"
-
-browserify-zlib@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f"
- integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==
- dependencies:
- pako "~1.0.5"
-
-browserslist@^4.12.0, browserslist@^4.8.5:
+browserslist@^4.12.0, browserslist@^4.14.3, browserslist@^4.8.5:
version "4.14.5"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.5.tgz#1c751461a102ddc60e40993639b709be7f2c4015"
integrity sha512-Z+vsCZIvCBvqLoYkBFTwEYH3v5MCQbsAjp50ERycpOjnPmolg1Gjy4+KaWWpm8QOJt9GHkhdqAl14NpCX73CWA==
@@ -3491,25 +3433,6 @@ buffer-indexof@^1.0.0:
resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c"
integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==
-buffer-xor@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
- integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=
-
-buffer@^4.3.0:
- version "4.9.2"
- resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8"
- integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==
- dependencies:
- base64-js "^1.0.2"
- ieee754 "^1.1.4"
- isarray "^1.0.0"
-
-builtin-status-codes@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
- integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=
-
builtins@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88"
@@ -3535,7 +3458,7 @@ bytes@3.1.0:
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
-cacache@^12.0.0, cacache@^12.0.2, cacache@^12.0.3:
+cacache@^12.0.0, cacache@^12.0.3:
version "12.0.4"
resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c"
integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==
@@ -3663,9 +3586,9 @@ camelcase@^5.0.0, camelcase@^5.3.1:
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
caniuse-lite@^1.0.30001135:
- version "1.0.30001144"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001144.tgz#bca0fffde12f97e1127a351fec3bfc1971aa3b3d"
- integrity sha512-4GQTEWNMnVZVOFG3BK0xvGeaDAtiPAbG2N8yuMXuXzx/c2Vd4XoMPO8+E918zeXn5IF0FRVtGShBfkfQea2wHQ==
+ version "1.0.30001148"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001148.tgz#dc97c7ed918ab33bf8706ddd5e387287e015d637"
+ integrity sha512-E66qcd0KMKZHNJQt9hiLZGE3J4zuTqE1OnU53miEVtylFbwOEmeA5OsRu90noZful+XGSQOni1aT2tiqu/9yYw==
capture-exit@^2.0.0:
version "2.0.0"
@@ -3749,21 +3672,6 @@ chokidar@^2.1.8:
optionalDependencies:
fsevents "^1.2.7"
-chokidar@^3.4.1:
- version "3.4.2"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.2.tgz#38dc8e658dec3809741eb3ef7bb0a47fe424232d"
- integrity sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==
- dependencies:
- anymatch "~3.1.1"
- braces "~3.0.2"
- glob-parent "~5.1.0"
- is-binary-path "~2.1.0"
- is-glob "~4.0.1"
- normalize-path "~3.0.0"
- readdirp "~3.4.0"
- optionalDependencies:
- fsevents "~2.1.2"
-
chownr@^1.1.1, chownr@^1.1.2:
version "1.1.4"
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
@@ -3781,14 +3689,6 @@ ci-info@^2.0.0:
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
-cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
- integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==
- dependencies:
- inherits "^2.0.1"
- safe-buffer "^5.0.1"
-
class-utils@^0.3.5:
version "0.3.6"
resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
@@ -4116,21 +4016,11 @@ connect-history-api-fallback@^1.6.0:
resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc"
integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==
-console-browserify@^1.1.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336"
- integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==
-
console-control-strings@^1.0.0, console-control-strings@~1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
-constants-browserify@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
- integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=
-
content-disposition@0.5.3:
version "0.5.3"
resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"
@@ -4299,14 +4189,6 @@ cosmiconfig@^7.0.0:
path-type "^4.0.0"
yaml "^1.10.0"
-create-ecdh@^4.0.0:
- version "4.0.4"
- resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e"
- integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==
- dependencies:
- bn.js "^4.1.0"
- elliptic "^6.5.3"
-
create-error-class@^3.0.0:
version "3.0.2"
resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6"
@@ -4314,29 +4196,6 @@ create-error-class@^3.0.0:
dependencies:
capture-stack-trace "^1.0.0"
-create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
- integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==
- dependencies:
- cipher-base "^1.0.1"
- inherits "^2.0.1"
- md5.js "^1.3.4"
- ripemd160 "^2.0.1"
- sha.js "^2.4.0"
-
-create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
- integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==
- dependencies:
- cipher-base "^1.0.3"
- create-hash "^1.1.0"
- inherits "^2.0.1"
- ripemd160 "^2.0.0"
- safe-buffer "^5.0.1"
- sha.js "^2.4.8"
-
cross-spawn@^6.0.0, cross-spawn@^6.0.5:
version "6.0.5"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
@@ -4348,16 +4207,7 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5:
shebang-command "^1.2.0"
which "^1.2.9"
-cross-spawn@^7.0.0:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.1.tgz#0ab56286e0f7c24e153d04cc2aa027e43a9a5d14"
- integrity sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==
- dependencies:
- path-key "^3.1.0"
- shebang-command "^2.0.0"
- which "^2.0.1"
-
-cross-spawn@^7.0.3:
+cross-spawn@^7.0.0, cross-spawn@^7.0.3:
version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
@@ -4366,23 +4216,6 @@ cross-spawn@^7.0.3:
shebang-command "^2.0.0"
which "^2.0.1"
-crypto-browserify@^3.11.0:
- version "3.12.0"
- resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
- integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==
- dependencies:
- browserify-cipher "^1.0.0"
- browserify-sign "^4.0.0"
- create-ecdh "^4.0.0"
- create-hash "^1.1.0"
- create-hmac "^1.1.0"
- diffie-hellman "^5.0.0"
- inherits "^2.0.1"
- pbkdf2 "^3.0.3"
- public-encrypt "^4.0.0"
- randombytes "^2.0.0"
- randomfill "^1.0.3"
-
cssom@^0.4.1:
version "0.4.4"
resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10"
@@ -4661,14 +4494,6 @@ deprecation@^2.0.0, deprecation@^2.3.1:
resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919"
integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==
-des.js@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843"
- integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==
- dependencies:
- inherits "^2.0.1"
- minimalistic-assert "^1.0.0"
-
destroy@~1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
@@ -4717,15 +4542,6 @@ diff@^4.0.1, diff@^4.0.2:
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
-diffie-hellman@^5.0.0:
- version "5.0.3"
- resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
- integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==
- dependencies:
- bn.js "^4.1.0"
- miller-rabin "^4.0.0"
- randombytes "^2.0.0"
-
dir-glob@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034"
@@ -4775,11 +4591,6 @@ doctrine@^3.0.0:
dependencies:
esutils "^2.0.2"
-domain-browser@^1.1.1:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
- integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==
-
domexception@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90"
@@ -4869,28 +4680,15 @@ ejs@^3.0.1:
jake "^10.6.1"
electron-to-chromium@^1.3.571:
- version "1.3.577"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.577.tgz#9885f3f72c6e3367010b461ff6f2d9624a929720"
- integrity sha512-dSb64JQSFif/pD8mpVAgSFkbVi6YHbK6JeEziwNNmXlr/Ne2rZtseFK5SM7JoWSLf6gP0gVvRGi4/2ZRhSX/rA==
+ version "1.3.579"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.579.tgz#58bf17499de6edf697e1442017d8569bce0d301a"
+ integrity sha512-9HaGm4UDxCtcmIqWWdv79pGgpRZWTqr+zg6kxp0MelSHfe1PNjrI8HXy1HgTSy4p0iQETGt8/ElqKFLW008BSA==
elegant-spinner@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e"
integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=
-elliptic@^6.5.3:
- version "6.5.3"
- resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6"
- integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==
- dependencies:
- bn.js "^4.4.0"
- brorand "^1.0.1"
- hash.js "^1.0.0"
- hmac-drbg "^1.0.0"
- inherits "^2.0.1"
- 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"
@@ -4901,11 +4699,6 @@ emoji-regex@^8.0.0:
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
-emojis-list@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
- integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
-
encodeurl@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
@@ -4925,14 +4718,13 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0:
dependencies:
once "^1.4.0"
-enhanced-resolve@^4.3.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126"
- integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==
+enhanced-resolve@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.2.0.tgz#3db3307a608f236f33aeea79303d32915792cbab"
+ integrity sha512-NZlGLl8DxmZoq0uqPPtJfsCAir68uR047+Udsh1FH4+5ydGQdMurn/A430A1BtxASVmMEuS7/XiJ5OxJ9apAzQ==
dependencies:
- graceful-fs "^4.1.2"
- memory-fs "^0.5.0"
- tapable "^1.0.0"
+ graceful-fs "^4.2.4"
+ tapable "^2.0.0"
enquirer@^2.3.4, enquirer@^2.3.6:
version "2.3.6"
@@ -4946,7 +4738,7 @@ env-paths@^2.2.0:
resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43"
integrity sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==
-envinfo@^7.3.1, envinfo@^7.5.0:
+envinfo@^7.3.1, envinfo@^7.7.3:
version "7.7.3"
resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.7.3.tgz#4b2d8622e3e7366afb8091b23ed95569ea0208cc"
integrity sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA==
@@ -4961,7 +4753,7 @@ errlop@^2.0.0:
resolved "https://registry.yarnpkg.com/errlop/-/errlop-2.2.0.tgz#1ff383f8f917ae328bebb802d6ca69666a42d21b"
integrity sha512-e64Qj9+4aZzjzzFpZC7p5kmm/ccCrbLhAJplhsDXQFs87XTsXwOpH4s1Io2s90Tau/8r2j9f4l/thhDevRjzxw==
-errno@^0.1.3, errno@~0.1.7:
+errno@^0.1.3:
version "0.1.7"
resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618"
integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==
@@ -5039,9 +4831,9 @@ es6-promisify@^5.0.0:
es6-promise "^4.0.3"
escalade@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.0.tgz#e8e2d7c7a8b76f6ee64c2181d6b8151441602d4e"
- integrity sha512-mAk+hPSO8fLDkhV7V0dXazH5pDc6MrjBTPyD3VeKzxnVFjH1MIxbCdqGZB9O8+EwWakZs3ZCbDS4IpRt79V1ig==
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
+ integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
escape-html@~1.0.3:
version "1.0.3"
@@ -5099,15 +4891,7 @@ eslint-plugin-prettier@^3.1.4:
dependencies:
prettier-linter-helpers "^1.0.0"
-eslint-scope@^4.0.3:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848"
- integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==
- dependencies:
- esrecurse "^4.1.0"
- estraverse "^4.1.1"
-
-eslint-scope@^5.0.0:
+eslint-scope@^5.0.0, eslint-scope@^5.1.0:
version "5.1.1"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
@@ -5198,7 +4982,7 @@ esquery@^1.0.1:
dependencies:
estraverse "^5.1.0"
-esrecurse@^4.1.0, esrecurse@^4.3.0:
+esrecurse@^4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
@@ -5235,7 +5019,7 @@ eventemitter3@^4.0.0:
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
-events@^3.0.0:
+events@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379"
integrity sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==
@@ -5247,14 +5031,6 @@ eventsource@^1.0.7:
dependencies:
original "^1.0.0"
-evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02"
- integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==
- dependencies:
- md5.js "^1.3.4"
- safe-buffer "^5.1.1"
-
exec-sh@^0.3.2:
version "0.3.4"
resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5"
@@ -5583,7 +5359,7 @@ finalhandler@~1.1.2:
statuses "~1.5.0"
unpipe "~1.0.0"
-find-cache-dir@^2.0.0, find-cache-dir@^2.1.0:
+find-cache-dir@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7"
integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==
@@ -5802,7 +5578,7 @@ fsevents@^1.2.7:
bindings "^1.5.0"
nan "^2.12.1"
-fsevents@^2.1.2, fsevents@~2.1.2:
+fsevents@^2.1.2:
version "2.1.3"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e"
integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==
@@ -6016,7 +5792,7 @@ glob-parent@^3.1.0:
is-glob "^3.1.0"
path-dirname "^1.0.0"
-glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0:
+glob-parent@^5.0.0, glob-parent@^5.1.0:
version "5.1.1"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229"
integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==
@@ -6028,6 +5804,11 @@ glob-to-regexp@^0.3.0:
resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab"
integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=
+glob-to-regexp@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e"
+ integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
+
glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
version "7.1.6"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
@@ -6317,32 +6098,6 @@ has@^1.0.3:
dependencies:
function-bind "^1.1.1"
-hash-base@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33"
- integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==
- dependencies:
- inherits "^2.0.4"
- readable-stream "^3.6.0"
- safe-buffer "^5.2.0"
-
-hash.js@^1.0.0, hash.js@^1.0.3:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
- integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==
- dependencies:
- inherits "^2.0.3"
- minimalistic-assert "^1.0.1"
-
-hmac-drbg@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
- integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=
- dependencies:
- hash.js "^1.0.3"
- minimalistic-assert "^1.0.0"
- minimalistic-crypto-utils "^1.0.1"
-
homedir-polyfill@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8"
@@ -6475,11 +6230,6 @@ http-signature@~1.2.0:
jsprim "^1.2.2"
sshpk "^1.7.0"
-https-browserify@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
- integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
-
https-proxy-agent@^2.2.3:
version "2.2.4"
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b"
@@ -6530,11 +6280,6 @@ iconv-lite@^0.6.2:
dependencies:
safer-buffer ">= 2.1.2 < 3.0.0"
-ieee754@^1.1.4:
- version "1.1.13"
- resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
- integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==
-
iferr@^0.1.5:
version "0.1.5"
resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
@@ -6636,16 +6381,11 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
-inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3:
+inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3:
version "2.0.4"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
-inherits@2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
- integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=
-
inherits@2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
@@ -6726,13 +6466,6 @@ interpret@^2.0.0:
resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9"
integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==
-invariant@^2.2.2, invariant@^2.2.4:
- version "2.2.4"
- resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
- integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
- dependencies:
- loose-envify "^1.0.0"
-
invert-kv@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02"
@@ -6789,13 +6522,6 @@ is-binary-path@^1.0.0:
dependencies:
binary-extensions "^1.0.0"
-is-binary-path@~2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
- integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
- dependencies:
- binary-extensions "^2.0.0"
-
is-buffer@^1.1.5:
version "1.1.6"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
@@ -6916,7 +6642,7 @@ is-glob@^3.1.0:
dependencies:
is-extglob "^2.1.0"
-is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
+is-glob@^4.0.0, is-glob@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
@@ -7095,7 +6821,7 @@ isarray@0.0.1:
resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=
-isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
+isarray@1.0.0, isarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
@@ -7574,6 +7300,15 @@ jest-worker@^25.5.0:
merge-stream "^2.0.0"
supports-color "^7.0.0"
+jest-worker@^26.5.0:
+ version "26.5.0"
+ resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.5.0.tgz#87deee86dbbc5f98d9919e0dadf2c40e3152fa30"
+ integrity sha512-kTw66Dn4ZX7WpjZ7T/SUDgRhapFRKWmisVAF0Rv4Fu8SLFD7eLbqpLvbxVqYhSgaWa7I+bW7pHnbyfNsH6stug==
+ dependencies:
+ "@types/node" "*"
+ merge-stream "^2.0.0"
+ supports-color "^7.0.0"
+
jest@^25.2.3:
version "25.5.4"
resolved "https://registry.yarnpkg.com/jest/-/jest-25.5.4.tgz#f21107b6489cfe32b076ce2adcadee3587acb9db"
@@ -7583,7 +7318,7 @@ jest@^25.2.3:
import-local "^3.0.2"
jest-cli "^25.5.4"
-"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
+js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
@@ -7714,13 +7449,6 @@ json5@2.x, json5@^2.1.2:
dependencies:
minimist "^1.2.5"
-json5@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
- integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==
- dependencies:
- minimist "^1.2.0"
-
jsonfile@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
@@ -7841,13 +7569,6 @@ leven@^3.1.0:
resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==
-levenary@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/levenary/-/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77"
- integrity sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==
- dependencies:
- leven "^3.1.0"
-
levn@^0.3.0, levn@~0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
@@ -7862,9 +7583,9 @@ lines-and-columns@^1.1.6:
integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
lint-staged@^10.2.11:
- version "10.4.0"
- resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.4.0.tgz#d18628f737328e0bbbf87d183f4020930e9a984e"
- integrity sha512-uaiX4U5yERUSiIEQc329vhCTDDwUcSvKdRLsNomkYLRzijk3v8V9GWm2Nz0RMVB87VcuzLvtgy6OsjoH++QHIg==
+ version "10.4.2"
+ resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.4.2.tgz#9fee4635c4b5ddb845746f237c6d43494ccd21c1"
+ integrity sha512-OLCA9K1hS+Sl179SO6kX0JtnsaKj/MZalEhUj5yAgXsb63qPI/Gfn6Ua1KuZdbfkZNEu3/n5C/obYCu70IMt9g==
dependencies:
chalk "^4.1.0"
cli-truncate "^2.1.0"
@@ -7972,19 +7693,10 @@ load-json-file@^5.3.0:
strip-bom "^3.0.0"
type-fest "^0.3.0"
-loader-runner@^2.4.0:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
- integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==
-
-loader-utils@^1.2.3:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613"
- integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==
- dependencies:
- big.js "^5.2.2"
- emojis-list "^3.0.0"
- json5 "^1.0.1"
+loader-runner@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.1.0.tgz#f70bc0c29edbabdf2043e7ee73ccc3fe1c96b42d"
+ integrity sha512-oR4lB4WvwFoC70ocraKhn5nkKSs23t57h9udUgw8o0iH8hMXeEoRuUgfcvgUwAJ1ZpRqBvcou4N2SMvM1DwMrA==
locate-path@^2.0.0:
version "2.0.0"
@@ -8128,13 +7840,6 @@ lolex@^5.0.0:
dependencies:
"@sinonjs/commons" "^1.7.0"
-loose-envify@^1.0.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
- integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
- dependencies:
- js-tokens "^3.0.0 || ^4.0.0"
-
loud-rejection@^1.0.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
@@ -8250,15 +7955,6 @@ map-visit@^1.0.0:
dependencies:
object-visit "^1.0.0"
-md5.js@^1.3.4:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
- integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==
- dependencies:
- hash-base "^3.0.0"
- inherits "^2.0.1"
- safe-buffer "^5.1.2"
-
media-typer@0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
@@ -8324,14 +8020,6 @@ memory-fs@^0.4.1:
errno "^0.1.3"
readable-stream "^2.0.1"
-memory-fs@^0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c"
- integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==
- dependencies:
- errno "^0.1.3"
- readable-stream "^2.0.1"
-
meow@^3.3.0:
version "3.7.0"
resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
@@ -8444,14 +8132,6 @@ micromatch@^3.1.10, micromatch@^3.1.4:
snapdragon "^0.8.1"
to-regex "^3.0.2"
-miller-rabin@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d"
- integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==
- dependencies:
- bn.js "^4.0.0"
- brorand "^1.0.1"
-
mime-db@1.44.0:
version "1.44.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
@@ -8462,7 +8142,7 @@ mime-db@1.44.0:
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea"
integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==
-mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24:
+mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24:
version "2.1.27"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==
@@ -8504,16 +8184,11 @@ min-indent@^1.0.0:
resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869"
integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==
-minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
+minimalistic-assert@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
-minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
- integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
-
minimatch@^3.0.2, minimatch@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
@@ -8594,7 +8269,7 @@ mkdirp@*, mkdirp@^1.0.0, mkdirp@^1.0.3, mkdirp@^1.0.4:
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
-mkdirp@0.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5:
+mkdirp@0.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.5:
version "0.5.5"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
@@ -8692,9 +8367,9 @@ mz@^2.5.0:
thenify-all "^1.0.0"
nan@^2.12.1:
- version "2.14.1"
- resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01"
- integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==
+ version "2.14.2"
+ resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19"
+ integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==
nanomatch@^1.2.9:
version "1.2.13"
@@ -8723,7 +8398,7 @@ negotiator@0.6.2:
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
-neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1:
+neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.2:
version "2.6.2"
resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
@@ -8792,35 +8467,6 @@ node-int64@^0.4.0:
resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=
-node-libs-browser@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425"
- integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==
- dependencies:
- assert "^1.1.1"
- browserify-zlib "^0.2.0"
- buffer "^4.3.0"
- console-browserify "^1.1.0"
- constants-browserify "^1.0.0"
- crypto-browserify "^3.11.0"
- domain-browser "^1.1.1"
- events "^3.0.0"
- https-browserify "^1.0.0"
- os-browserify "^0.3.0"
- path-browserify "0.0.1"
- process "^0.11.10"
- punycode "^1.2.4"
- querystring-es3 "^0.2.0"
- readable-stream "^2.3.3"
- stream-browserify "^2.0.1"
- stream-http "^2.7.2"
- string_decoder "^1.0.0"
- timers-browserify "^2.0.4"
- tty-browserify "0.0.0"
- url "^0.11.0"
- util "^0.11.0"
- vm-browserify "^1.0.1"
-
node-modules-regexp@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40"
@@ -8867,7 +8513,7 @@ normalize-path@^2.1.1:
dependencies:
remove-trailing-separator "^1.0.1"
-normalize-path@^3.0.0, normalize-path@~3.0.0:
+normalize-path@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
@@ -8987,7 +8633,7 @@ oauth-sign@~0.9.0:
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
-object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
+object-assign@^4.0.1, object-assign@^4.1.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
@@ -9130,11 +8776,6 @@ original@^1.0.0:
dependencies:
url-parse "^1.4.3"
-os-browserify@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
- integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=
-
os-homedir@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
@@ -9342,11 +8983,6 @@ paged-request@^2.0.1:
dependencies:
axios "^0.18.0"
-pako@~1.0.5:
- version "1.0.11"
- resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
- integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==
-
parallel-transform@^1.1.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc"
@@ -9363,17 +8999,6 @@ parent-module@^1.0.0:
dependencies:
callsites "^3.0.0"
-parse-asn1@^5.0.0, parse-asn1@^5.1.5:
- version "5.1.6"
- resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4"
- integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==
- dependencies:
- asn1.js "^5.2.0"
- browserify-aes "^1.0.0"
- evp_bytestokey "^1.0.0"
- pbkdf2 "^3.0.3"
- safe-buffer "^5.1.1"
-
parse-github-repo-url@^1.3.0:
version "1.4.1"
resolved "https://registry.yarnpkg.com/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz#9e7d8bb252a6cb6ba42595060b7bf6df3dbc1f50"
@@ -9442,11 +9067,6 @@ pascalcase@^0.1.1:
resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=
-path-browserify@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a"
- integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==
-
path-dirname@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
@@ -9527,17 +9147,6 @@ path-type@^4.0.0:
resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
-pbkdf2@^3.0.3:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94"
- integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==
- dependencies:
- create-hash "^1.1.2"
- create-hmac "^1.1.4"
- ripemd160 "^2.0.1"
- safe-buffer "^5.0.1"
- sha.js "^2.4.8"
-
performance-now@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
@@ -9659,14 +9268,6 @@ pretty-format@^25.2.1, pretty-format@^25.5.0:
ansi-styles "^4.0.0"
react-is "^16.12.0"
-prettyjson@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/prettyjson/-/prettyjson-1.2.1.tgz#fcffab41d19cab4dfae5e575e64246619b12d289"
- integrity sha1-/P+rQdGcq0365eV15kJGYZsS0ok=
- dependencies:
- colors "^1.1.2"
- minimist "^1.2.0"
-
private@^0.1.8:
version "0.1.8"
resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
@@ -9677,11 +9278,6 @@ process-nextick-args@^2.0.0, process-nextick-args@~2.0.0:
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
-process@^0.11.10:
- version "0.11.10"
- resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
- integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
-
progress@^2.0.0:
version "2.0.3"
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
@@ -9750,18 +9346,6 @@ psl@^1.1.28:
resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
-public-encrypt@^4.0.0:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0"
- integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==
- dependencies:
- bn.js "^4.1.0"
- browserify-rsa "^4.0.0"
- create-hash "^1.1.0"
- parse-asn1 "^5.0.0"
- randombytes "^2.0.1"
- safe-buffer "^5.1.2"
-
pump@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909"
@@ -9792,11 +9376,6 @@ punycode@1.3.2:
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=
-punycode@^1.2.4:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
- integrity sha1-wNWmOycYgArY4esPpSachN1BhF4=
-
punycode@^2.1.0, punycode@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
@@ -9817,11 +9396,6 @@ qs@~6.5.2:
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
-querystring-es3@^0.2.0:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
- integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=
-
querystring@0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
@@ -9842,21 +9416,13 @@ quick-lru@^4.0.1:
resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f"
integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==
-randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0:
+randombytes@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
dependencies:
safe-buffer "^5.1.0"
-randomfill@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458"
- integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==
- dependencies:
- randombytes "^2.0.5"
- safe-buffer "^5.1.0"
-
range-parser@^1.2.1, range-parser@~1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
@@ -9979,7 +9545,7 @@ read@1, read@~1.0.1:
dependencies:
mute-stream "~0.0.4"
-"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, 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.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6:
version "2.3.7"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
@@ -10020,13 +9586,6 @@ readdirp@^2.2.1:
micromatch "^3.1.10"
readable-stream "^2.0.2"
-readdirp@~3.4.0:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada"
- integrity sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==
- dependencies:
- picomatch "^2.2.1"
-
realpath-native@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-2.0.0.tgz#7377ac429b6e1fd599dc38d08ed942d0d7beb866"
@@ -10135,7 +9694,7 @@ regexpp@^3.0.0:
resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2"
integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==
-regexpu-core@^4.7.0:
+regexpu-core@^4.7.1:
version "4.7.1"
resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6"
integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==
@@ -10380,14 +9939,6 @@ rimraf@^3.0.0, rimraf@^3.0.2:
dependencies:
glob "^7.1.3"
-ripemd160@^2.0.0, ripemd160@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
- integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==
- dependencies:
- hash-base "^3.0.0"
- inherits "^2.0.1"
-
rsvp@^4.8.4:
version "4.8.5"
resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734"
@@ -10470,6 +10021,15 @@ schema-utils@^1.0.0:
ajv-errors "^1.0.0"
ajv-keywords "^3.1.0"
+schema-utils@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.0.0.tgz#67502f6aa2b66a2d4032b4279a2944978a0913ef"
+ integrity sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==
+ dependencies:
+ "@types/json-schema" "^7.0.6"
+ ajv "^6.12.5"
+ ajv-keywords "^3.5.2"
+
scoped-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/scoped-regex/-/scoped-regex-1.0.0.tgz#a346bb1acd4207ae70bd7c0c7ca9e566b6baddb8"
@@ -10536,10 +10096,10 @@ send@0.17.1:
range-parser "~1.2.1"
statuses "~1.5.0"
-serialize-javascript@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa"
- integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==
+serialize-javascript@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4"
+ integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==
dependencies:
randombytes "^2.1.0"
@@ -10588,11 +10148,6 @@ set-value@^2.0.0, set-value@^2.0.1:
is-plain-object "^2.0.3"
split-string "^3.0.1"
-setimmediate@^1.0.4:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
- integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
-
setprototypeof@1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656"
@@ -10603,14 +10158,6 @@ setprototypeof@1.1.1:
resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"
integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==
-sha.js@^2.4.0, sha.js@^2.4.8:
- version "2.4.11"
- resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
- integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==
- dependencies:
- inherits "^2.0.1"
- safe-buffer "^5.0.1"
-
shallow-clone@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3"
@@ -10809,7 +10356,7 @@ sort-keys@^2.0.0:
dependencies:
is-plain-obj "^1.0.0"
-source-list-map@^2.0.0:
+source-list-map@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==
@@ -10825,7 +10372,7 @@ source-map-resolve@^0.5.0:
source-map-url "^0.4.0"
urix "^0.1.0"
-source-map-support@^0.5.16, source-map-support@^0.5.6, source-map-support@~0.5.12:
+source-map-support@^0.5.16, source-map-support@^0.5.6, source-map-support@~0.5.19:
version "0.5.19"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==
@@ -10848,7 +10395,7 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1:
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
-source-map@^0.7.3:
+source-map@^0.7.3, source-map@~0.7.2:
version "0.7.3"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
@@ -10973,14 +10520,6 @@ stealthy-require@^1.1.1:
resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=
-stream-browserify@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b"
- integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==
- dependencies:
- inherits "~2.0.1"
- readable-stream "^2.0.2"
-
stream-each@^1.1.0:
version "1.2.3"
resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae"
@@ -10989,17 +10528,6 @@ stream-each@^1.1.0:
end-of-stream "^1.1.0"
stream-shift "^1.0.0"
-stream-http@^2.7.2:
- version "2.8.3"
- resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc"
- integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==
- dependencies:
- builtin-status-codes "^3.0.0"
- inherits "^2.0.1"
- readable-stream "^2.3.6"
- to-arraybuffer "^1.0.0"
- xtend "^4.0.0"
-
stream-shift@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d"
@@ -11074,7 +10602,7 @@ string.prototype.trimstart@^1.0.1:
define-properties "^1.1.3"
es-abstract "^1.17.5"
-string_decoder@^1.0.0, string_decoder@^1.1.1:
+string_decoder@^1.1.1:
version "1.3.0"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
@@ -11264,10 +10792,10 @@ table@^5.2.3:
slice-ansi "^2.1.0"
string-width "^3.0.0"
-tapable@^1.0.0, tapable@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
- integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
+tapable@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.0.0.tgz#a49c3d6a8a2bb606e7db372b82904c970d537a08"
+ integrity sha512-bjzn0C0RWoffnNdTzNi7rNDhs1Zlwk2tRXgk8EiHKAOX1Mag3d6T0Y5zNa7l9CJ+EoUne/0UHdwS8tMbkh9zDg==
tar@^4.4.10, tar@^4.4.12, tar@^4.4.8:
version "4.4.13"
@@ -11321,29 +10849,26 @@ terminal-link@^2.0.0:
ansi-escapes "^4.2.1"
supports-hyperlinks "^2.0.0"
-terser-webpack-plugin@^1.4.3:
- version "1.4.5"
- resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b"
- integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==
+terser-webpack-plugin@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.0.0.tgz#88f58d27d1c8244965c59540d3ccda1598fc958c"
+ integrity sha512-rf7l5a9xamIVX3enQeTl0MY2MNeZClo5yPX/tVPy22oY0nzu0b45h7JqyFi/bygqKWtzXMnml0u12mArhQPsBQ==
dependencies:
- cacache "^12.0.2"
- find-cache-dir "^2.1.0"
- is-wsl "^1.1.0"
- schema-utils "^1.0.0"
- serialize-javascript "^4.0.0"
+ jest-worker "^26.5.0"
+ p-limit "^3.0.2"
+ schema-utils "^3.0.0"
+ serialize-javascript "^5.0.1"
source-map "^0.6.1"
- terser "^4.1.2"
- webpack-sources "^1.4.0"
- worker-farm "^1.7.0"
+ terser "^5.3.5"
-terser@^4.1.2:
- version "4.8.0"
- resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17"
- integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==
+terser@^5.3.5:
+ version "5.3.5"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-5.3.5.tgz#9e080baa0568f96654621b20eb9effa440b1484e"
+ integrity sha512-Qw3CZAMmmfU824AoGKalx+riwocSI5Cs0PoGp9RdSLfmxkmJgyBxqLBP/isDNtFyhHnitikvRMZzyVgeq+U+Tg==
dependencies:
commander "^2.20.0"
- source-map "~0.6.1"
- source-map-support "~0.5.12"
+ source-map "~0.7.2"
+ source-map-support "~0.5.19"
test-exclude@^6.0.0:
version "6.0.0"
@@ -11419,13 +10944,6 @@ timed-out@^4.0.0:
resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=
-timers-browserify@^2.0.4:
- version "2.0.11"
- resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f"
- integrity sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==
- dependencies:
- setimmediate "^1.0.4"
-
tmp@^0.0.33:
version "0.0.33"
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
@@ -11438,11 +10956,6 @@ tmpl@1.0.x:
resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1"
integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=
-to-arraybuffer@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
- integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=
-
to-fast-properties@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
@@ -11556,9 +11069,9 @@ ts-jest@^25.5.1:
yargs-parser "18.x"
tslib@^1.8.1, tslib@^1.9.0:
- version "1.14.0"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.0.tgz#d624983f3e2c5e0b55307c3dd6c86acd737622c6"
- integrity sha512-+Zw5lu0D9tvBMjGP8LpvMb0u2WW2QV3y+D8mO6J+cNzCYIN4sVy43Bf9vl92nqFahutN0I8zHa7cc4vihIshnw==
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
+ integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
tsutils@^3.17.1:
version "3.17.1"
@@ -11567,11 +11080,6 @@ tsutils@^3.17.1:
dependencies:
tslib "^1.8.1"
-tty-browserify@0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
- integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=
-
tunnel-agent@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
@@ -11657,9 +11165,9 @@ typical@^5.0.0, typical@^5.2.0:
integrity sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==
uglify-js@^3.1.4:
- version "3.11.1"
- resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.11.1.tgz#32d274fea8aac333293044afd7f81409d5040d38"
- integrity sha512-OApPSuJcxcnewwjSGGfWOjx3oix5XpmrK9Z2j0fTRlHGoZ49IU6kExfZTM0++fCArOOCet+vIfWwFHbvWqwp6g==
+ version "3.11.2"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.11.2.tgz#9f50325544273c27b20e586def140e7726c525ea"
+ integrity sha512-G440NU6fewtnQftSgqRV1r2A5ChKbU1gqFCJ7I8S7MPpY/eZZfLGefaY6gUZYiWebMaO+txgiQ1ZyLDuNWJulg==
uid-number@0.0.6:
version "0.0.6"
@@ -11827,20 +11335,6 @@ util-promisify@^2.1.0:
dependencies:
object.getownpropertydescriptors "^2.0.3"
-util@0.10.3:
- version "0.10.3"
- resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
- integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk=
- dependencies:
- inherits "2.0.1"
-
-util@^0.11.0:
- version "0.11.1"
- resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61"
- integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==
- dependencies:
- inherits "2.0.3"
-
utils-merge@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
@@ -11917,11 +11411,6 @@ vinyl@^2.0.1, vinyl@^2.2.0:
remove-trailing-separator "^1.0.1"
replace-ext "^1.0.0"
-vm-browserify@^1.0.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
- integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==
-
w3c-hr-time@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd"
@@ -11945,23 +11434,13 @@ walker@^1.0.7, walker@~1.0.5:
dependencies:
makeerror "1.0.x"
-watchpack-chokidar2@^2.0.0:
+watchpack@^2.0.0:
version "2.0.0"
- resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0"
- integrity sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==
- dependencies:
- chokidar "^2.1.8"
-
-watchpack@^1.7.4:
- version "1.7.4"
- resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.4.tgz#6e9da53b3c80bb2d6508188f5b200410866cd30b"
- integrity sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg==
+ resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.0.0.tgz#b12248f32f0fd4799b7be0802ad1f6573a45955c"
+ integrity sha512-xSdCxxYZWNk3VK13bZRYhsQpfa8Vg63zXG+3pyU8ouqSLRCv4IGXIp9Kr226q6GBkGRlZrST2wwKtjfKz2m7Cg==
dependencies:
+ glob-to-regexp "^0.4.1"
graceful-fs "^4.1.2"
- neo-async "^2.5.0"
- optionalDependencies:
- chokidar "^3.4.1"
- watchpack-chokidar2 "^2.0.0"
wbuf@^1.1.0, wbuf@^1.7.3:
version "1.7.3"
@@ -12066,42 +11545,43 @@ webpack-merge@^4.2.2:
dependencies:
lodash "^4.17.15"
-webpack-sources@^1.4.0, webpack-sources@^1.4.1:
- version "1.4.3"
- resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933"
- integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==
+webpack-sources@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.0.1.tgz#1467f6e692ddce91e88b8044c44347b1087bbd4f"
+ integrity sha512-A9oYz7ANQBK5EN19rUXbvNgfdfZf5U2gP0769OXsj9CvYkCR6OHOsd6OKyEy4H38GGxpsQPKIL83NC64QY6Xmw==
dependencies:
- source-list-map "^2.0.0"
- source-map "~0.6.1"
+ source-list-map "^2.0.1"
+ source-map "^0.6.1"
-webpack@^4.44.2:
- version "4.44.2"
- resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.44.2.tgz#6bfe2b0af055c8b2d1e90ed2cd9363f841266b72"
- integrity sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==
+webpack@^5.1.0:
+ version "5.1.3"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.1.3.tgz#a6e4fd250ef2513f94844ae5d8f7570215a2ac49"
+ integrity sha512-bNBF5EOpt5a6NeCBFu0+8KJtG61cVmOb2b/a5tPNRLz3OWgDpHMbmnDkaSm3nf/UQ6ufw4PWYGVsVOAi8UfL2A==
dependencies:
+ "@types/eslint-scope" "^3.7.0"
+ "@types/estree" "^0.0.45"
"@webassemblyjs/ast" "1.9.0"
"@webassemblyjs/helper-module-context" "1.9.0"
"@webassemblyjs/wasm-edit" "1.9.0"
"@webassemblyjs/wasm-parser" "1.9.0"
- acorn "^6.4.1"
- ajv "^6.10.2"
- ajv-keywords "^3.4.1"
+ acorn "^8.0.3"
+ browserslist "^4.14.3"
chrome-trace-event "^1.0.2"
- enhanced-resolve "^4.3.0"
- eslint-scope "^4.0.3"
+ enhanced-resolve "^5.2.0"
+ eslint-scope "^5.1.0"
+ events "^3.2.0"
+ glob-to-regexp "^0.4.1"
+ graceful-fs "^4.2.4"
json-parse-better-errors "^1.0.2"
- loader-runner "^2.4.0"
- loader-utils "^1.2.3"
- memory-fs "^0.4.1"
- micromatch "^3.1.10"
- mkdirp "^0.5.3"
- neo-async "^2.6.1"
- node-libs-browser "^2.2.1"
- schema-utils "^1.0.0"
- tapable "^1.1.3"
- terser-webpack-plugin "^1.4.3"
- watchpack "^1.7.4"
- webpack-sources "^1.4.1"
+ loader-runner "^4.1.0"
+ mime-types "^2.1.27"
+ neo-async "^2.6.2"
+ pkg-dir "^4.2.0"
+ schema-utils "^3.0.0"
+ tapable "^2.0.0"
+ terser-webpack-plugin "^5.0.0"
+ watchpack "^2.0.0"
+ webpack-sources "^2.0.1"
websocket-driver@>=0.5.1:
version "0.7.4"
@@ -12203,13 +11683,6 @@ wordwrapjs@^4.0.0:
reduce-flatten "^2.0.0"
typical "^5.0.0"
-worker-farm@^1.7.0:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8"
- integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==
- dependencies:
- errno "~0.1.7"
-
wrap-ansi@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
@@ -12334,7 +11807,7 @@ xmlchars@^2.1.1:
resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==
-xtend@^4.0.0, xtend@~4.0.1:
+xtend@~4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==