From 9e1efc42d31b823ef7f11841fb50e51fd92faeb9 Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Sun, 26 Jun 2022 09:12:18 +0000
Subject: [PATCH 001/640] Initial commit
---
README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 README.md
diff --git a/README.md b/README.md
new file mode 100644
index 000000000000..dc55f7cd218c
--- /dev/null
+++ b/README.md
@@ -0,0 +1 @@
+# sentry-unplugin
From 3d19c3ca8edebaa6faf6151fe3befb404244e306 Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Sun, 26 Jun 2022 12:56:27 +0200
Subject: [PATCH 002/640] build(unplugin): Add `build` and `build:watch`
commands (#9)
---
.gitignore | 2 +
lerna.json | 7 +
package.json | 17 +
packages/tsconfigs/base-config.json | 17 +
packages/tsconfigs/package.json | 5 +
packages/unplugin/.babelrc.json | 3 +
packages/unplugin/.gitignore | 1 +
packages/unplugin/package.json | 27 +
packages/unplugin/rollup.config.js | 36 +
packages/unplugin/src/index.ts | 5 +
packages/unplugin/tsconfig.json | 8 +
yarn.lock | 6611 +++++++++++++++++++++++++++
12 files changed, 6739 insertions(+)
create mode 100644 .gitignore
create mode 100644 lerna.json
create mode 100644 package.json
create mode 100644 packages/tsconfigs/base-config.json
create mode 100644 packages/tsconfigs/package.json
create mode 100644 packages/unplugin/.babelrc.json
create mode 100644 packages/unplugin/.gitignore
create mode 100644 packages/unplugin/package.json
create mode 100644 packages/unplugin/rollup.config.js
create mode 100644 packages/unplugin/src/index.ts
create mode 100644 packages/unplugin/tsconfig.json
create mode 100644 yarn.lock
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..93cab344de41
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+node_modules
+yarn-error.log
diff --git a/lerna.json b/lerna.json
new file mode 100644
index 000000000000..ad32ca8d6f18
--- /dev/null
+++ b/lerna.json
@@ -0,0 +1,7 @@
+{
+ "lerna": "3.4.0",
+ "version": "7.3.0",
+ "packages": "packages/*",
+ "npmClient": "yarn",
+ "useWorkspaces": true
+}
diff --git a/package.json b/package.json
new file mode 100644
index 000000000000..bc1e81d487a5
--- /dev/null
+++ b/package.json
@@ -0,0 +1,17 @@
+{
+ "name": "sentry-unplugin-root",
+ "version": "0.0.0",
+ "description": "Root of the sentry unplugin monorepo.",
+ "repository": "git@github.com:lforst/sentry-unplugin.git",
+ "private": true,
+ "workspaces": [
+ "packages/*"
+ ],
+ "scripts": {
+ "build": "lerna run --parallel build",
+ "build:watch": "lerna run --parallel build:watch"
+ },
+ "devDependencies": {
+ "lerna": "3.13.4"
+ }
+}
diff --git a/packages/tsconfigs/base-config.json b/packages/tsconfigs/base-config.json
new file mode 100644
index 000000000000..71e1fd48700a
--- /dev/null
+++ b/packages/tsconfigs/base-config.json
@@ -0,0 +1,17 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "compilerOptions": {
+ "moduleResolution": "node",
+ "skipLibCheck": true,
+ "isolatedModules": true,
+ "forceConsistentCasingInFileNames": true,
+
+ "strict": true,
+
+ "noImplicitReturns": true,
+ "noPropertyAccessFromIndexSignature": true,
+ "noUncheckedIndexedAccess": true,
+ "noImplicitOverride": true,
+ "exactOptionalPropertyTypes": false
+ }
+}
diff --git a/packages/tsconfigs/package.json b/packages/tsconfigs/package.json
new file mode 100644
index 000000000000..a64464ad6997
--- /dev/null
+++ b/packages/tsconfigs/package.json
@@ -0,0 +1,5 @@
+{
+ "name": "sentry-unplugin-tsconfigs",
+ "version": "0.0.0",
+ "private": true
+}
diff --git a/packages/unplugin/.babelrc.json b/packages/unplugin/.babelrc.json
new file mode 100644
index 000000000000..0c20c06e021f
--- /dev/null
+++ b/packages/unplugin/.babelrc.json
@@ -0,0 +1,3 @@
+{
+ "presets": ["@babel/env", "@babel/typescript"]
+}
diff --git a/packages/unplugin/.gitignore b/packages/unplugin/.gitignore
new file mode 100644
index 000000000000..1521c8b7652b
--- /dev/null
+++ b/packages/unplugin/.gitignore
@@ -0,0 +1 @@
+dist
diff --git a/packages/unplugin/package.json b/packages/unplugin/package.json
new file mode 100644
index 000000000000..e0c4129153ce
--- /dev/null
+++ b/packages/unplugin/package.json
@@ -0,0 +1,27 @@
+{
+ "name": "sentry-unplugin",
+ "version": "0.0.1",
+ "description": "Sentry unplugin.",
+ "main": "dist/cjs/index.js",
+ "module": "dist/esm/index.js",
+ "repository": "https://github.com/lforst/sentry-unplugin",
+ "scripts": {
+ "build": "run-p build",
+ "build:watch": "run-p build:rollup:watch",
+ "build:rollup": "rollup --config rollup.config.js",
+ "build:rollup:watch": "rollup --config rollup.config.js --watch"
+ },
+ "dependencies": {},
+ "devDependencies": {
+ "@babel/core": "7.18.5",
+ "@babel/preset-env": "7.18.2",
+ "@babel/preset-typescript": "7.17.12",
+ "@rollup/plugin-babel": "5.3.1",
+ "@rollup/plugin-commonjs": "22.0.1",
+ "@rollup/plugin-node-resolve": "13.3.0",
+ "@types/node": "^8",
+ "npm-run-all": "^4.1.5",
+ "rollup": "2.75.7",
+ "sentry-unplugin-tsconfigs": "*"
+ }
+}
diff --git a/packages/unplugin/rollup.config.js b/packages/unplugin/rollup.config.js
new file mode 100644
index 000000000000..fd4ab998e842
--- /dev/null
+++ b/packages/unplugin/rollup.config.js
@@ -0,0 +1,36 @@
+import commonjs from "@rollup/plugin-commonjs";
+import resolve from "@rollup/plugin-node-resolve";
+import babel from "@rollup/plugin-babel";
+import packageJson from "./package.json";
+
+const input = ["src/index.ts"];
+
+const extensions = [".js", ".ts"];
+
+export default {
+ input,
+ external: [...Object.keys(packageJson.dependencies)],
+ plugins: [
+ resolve({ extensions }),
+ commonjs(),
+ babel({
+ extensions,
+ babelHelpers: "bundled",
+ include: ["src/**/*"],
+ }),
+ ],
+ output: [
+ {
+ file: packageJson.module,
+ format: "esm",
+ exports: "named",
+ sourcemap: true,
+ },
+ {
+ file: packageJson.main,
+ format: "cjs",
+ exports: "named",
+ sourcemap: true,
+ },
+ ],
+};
diff --git a/packages/unplugin/src/index.ts b/packages/unplugin/src/index.ts
new file mode 100644
index 000000000000..86fb756c209c
--- /dev/null
+++ b/packages/unplugin/src/index.ts
@@ -0,0 +1,5 @@
+function helloWorld() {
+ console.log("Hello world!");
+}
+
+export { helloWorld };
diff --git a/packages/unplugin/tsconfig.json b/packages/unplugin/tsconfig.json
new file mode 100644
index 000000000000..c99f63d208db
--- /dev/null
+++ b/packages/unplugin/tsconfig.json
@@ -0,0 +1,8 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "sentry-unplugin-tsconfigs/base-config.json",
+ "compilerOptions": {
+ "esModuleInterop": true,
+ "types": ["node"]
+ }
+}
diff --git a/yarn.lock b/yarn.lock
new file mode 100644
index 000000000000..40626e21665e
--- /dev/null
+++ b/yarn.lock
@@ -0,0 +1,6611 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@ampproject/remapping@^2.1.0":
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d"
+ integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==
+ dependencies:
+ "@jridgewell/gen-mapping" "^0.1.0"
+ "@jridgewell/trace-mapping" "^0.3.9"
+
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789"
+ integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==
+ dependencies:
+ "@babel/highlight" "^7.16.7"
+
+"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.17.10":
+ version "7.18.5"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.5.tgz#acac0c839e317038c73137fbb6ef71a1d6238471"
+ integrity sha512-BxhE40PVCBxVEJsSBhB6UWyAuqJRxGsAw8BdHMJ3AKGydcwuWW4kOO3HmqBQAdcq/OP+/DlTVxLvsCzRTnZuGg==
+
+"@babel/core@7.18.5":
+ version "7.18.5"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.5.tgz#c597fa680e58d571c28dda9827669c78cdd7f000"
+ integrity sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ==
+ dependencies:
+ "@ampproject/remapping" "^2.1.0"
+ "@babel/code-frame" "^7.16.7"
+ "@babel/generator" "^7.18.2"
+ "@babel/helper-compilation-targets" "^7.18.2"
+ "@babel/helper-module-transforms" "^7.18.0"
+ "@babel/helpers" "^7.18.2"
+ "@babel/parser" "^7.18.5"
+ "@babel/template" "^7.16.7"
+ "@babel/traverse" "^7.18.5"
+ "@babel/types" "^7.18.4"
+ convert-source-map "^1.7.0"
+ debug "^4.1.0"
+ gensync "^1.0.0-beta.2"
+ json5 "^2.2.1"
+ semver "^6.3.0"
+
+"@babel/generator@^7.18.2":
+ version "7.18.2"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.2.tgz#33873d6f89b21efe2da63fe554460f3df1c5880d"
+ integrity sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==
+ dependencies:
+ "@babel/types" "^7.18.2"
+ "@jridgewell/gen-mapping" "^0.3.0"
+ jsesc "^2.5.1"
+
+"@babel/helper-annotate-as-pure@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862"
+ integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==
+ dependencies:
+ "@babel/types" "^7.16.7"
+
+"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz#38d138561ea207f0f69eb1626a418e4f7e6a580b"
+ integrity sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==
+ dependencies:
+ "@babel/helper-explode-assignable-expression" "^7.16.7"
+ "@babel/types" "^7.16.7"
+
+"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.17.10", "@babel/helper-compilation-targets@^7.18.2":
+ version "7.18.2"
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz#67a85a10cbd5fc7f1457fec2e7f45441dc6c754b"
+ integrity sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==
+ dependencies:
+ "@babel/compat-data" "^7.17.10"
+ "@babel/helper-validator-option" "^7.16.7"
+ browserslist "^4.20.2"
+ semver "^6.3.0"
+
+"@babel/helper-create-class-features-plugin@^7.17.12", "@babel/helper-create-class-features-plugin@^7.18.0":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.0.tgz#fac430912606331cb075ea8d82f9a4c145a4da19"
+ integrity sha512-Kh8zTGR9de3J63e5nS0rQUdRs/kbtwoeQQ0sriS0lItjC96u8XXZN6lKpuyWd2coKSU13py/y+LTmThLuVX0Pg==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.16.7"
+ "@babel/helper-environment-visitor" "^7.16.7"
+ "@babel/helper-function-name" "^7.17.9"
+ "@babel/helper-member-expression-to-functions" "^7.17.7"
+ "@babel/helper-optimise-call-expression" "^7.16.7"
+ "@babel/helper-replace-supers" "^7.16.7"
+ "@babel/helper-split-export-declaration" "^7.16.7"
+
+"@babel/helper-create-regexp-features-plugin@^7.16.7", "@babel/helper-create-regexp-features-plugin@^7.17.12":
+ version "7.17.12"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.12.tgz#bb37ca467f9694bbe55b884ae7a5cc1e0084e4fd"
+ integrity sha512-b2aZrV4zvutr9AIa6/gA3wsZKRwTKYoDxYiFKcESS3Ug2GTXzwBEvMuuFLhCQpEnRXs1zng4ISAXSUxxKBIcxw==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.16.7"
+ regexpu-core "^5.0.1"
+
+"@babel/helper-define-polyfill-provider@^0.3.1":
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz#52411b445bdb2e676869e5a74960d2d3826d2665"
+ integrity sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==
+ dependencies:
+ "@babel/helper-compilation-targets" "^7.13.0"
+ "@babel/helper-module-imports" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/traverse" "^7.13.0"
+ debug "^4.1.1"
+ lodash.debounce "^4.0.8"
+ resolve "^1.14.2"
+ semver "^6.1.2"
+
+"@babel/helper-environment-visitor@^7.16.7", "@babel/helper-environment-visitor@^7.18.2":
+ version "7.18.2"
+ resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz#8a6d2dedb53f6bf248e31b4baf38739ee4a637bd"
+ integrity sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==
+
+"@babel/helper-explode-assignable-expression@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz#12a6d8522fdd834f194e868af6354e8650242b7a"
+ integrity sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==
+ dependencies:
+ "@babel/types" "^7.16.7"
+
+"@babel/helper-function-name@^7.16.7", "@babel/helper-function-name@^7.17.9":
+ version "7.17.9"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12"
+ integrity sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==
+ dependencies:
+ "@babel/template" "^7.16.7"
+ "@babel/types" "^7.17.0"
+
+"@babel/helper-hoist-variables@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246"
+ integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==
+ dependencies:
+ "@babel/types" "^7.16.7"
+
+"@babel/helper-member-expression-to-functions@^7.17.7":
+ version "7.17.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz#a34013b57d8542a8c4ff8ba3f747c02452a4d8c4"
+ integrity sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==
+ dependencies:
+ "@babel/types" "^7.17.0"
+
+"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437"
+ integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==
+ dependencies:
+ "@babel/types" "^7.16.7"
+
+"@babel/helper-module-transforms@^7.18.0":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz#baf05dec7a5875fb9235bd34ca18bad4e21221cd"
+ integrity sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA==
+ dependencies:
+ "@babel/helper-environment-visitor" "^7.16.7"
+ "@babel/helper-module-imports" "^7.16.7"
+ "@babel/helper-simple-access" "^7.17.7"
+ "@babel/helper-split-export-declaration" "^7.16.7"
+ "@babel/helper-validator-identifier" "^7.16.7"
+ "@babel/template" "^7.16.7"
+ "@babel/traverse" "^7.18.0"
+ "@babel/types" "^7.18.0"
+
+"@babel/helper-optimise-call-expression@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2"
+ integrity sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==
+ dependencies:
+ "@babel/types" "^7.16.7"
+
+"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.17.12", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
+ version "7.17.12"
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz#86c2347da5acbf5583ba0a10aed4c9bf9da9cf96"
+ integrity sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==
+
+"@babel/helper-remap-async-to-generator@^7.16.8":
+ version "7.16.8"
+ resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz#29ffaade68a367e2ed09c90901986918d25e57e3"
+ integrity sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.16.7"
+ "@babel/helper-wrap-function" "^7.16.8"
+ "@babel/types" "^7.16.8"
+
+"@babel/helper-replace-supers@^7.16.7", "@babel/helper-replace-supers@^7.18.2":
+ version "7.18.2"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.18.2.tgz#41fdfcc9abaf900e18ba6e5931816d9062a7b2e0"
+ integrity sha512-XzAIyxx+vFnrOxiQrToSUOzUOn0e1J2Li40ntddek1Y69AXUTXoDJ40/D5RdjFu7s7qHiaeoTiempZcbuVXh2Q==
+ dependencies:
+ "@babel/helper-environment-visitor" "^7.18.2"
+ "@babel/helper-member-expression-to-functions" "^7.17.7"
+ "@babel/helper-optimise-call-expression" "^7.16.7"
+ "@babel/traverse" "^7.18.2"
+ "@babel/types" "^7.18.2"
+
+"@babel/helper-simple-access@^7.17.7", "@babel/helper-simple-access@^7.18.2":
+ version "7.18.2"
+ resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz#4dc473c2169ac3a1c9f4a51cfcd091d1c36fcff9"
+ integrity sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ==
+ dependencies:
+ "@babel/types" "^7.18.2"
+
+"@babel/helper-skip-transparent-expression-wrappers@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09"
+ integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==
+ dependencies:
+ "@babel/types" "^7.16.0"
+
+"@babel/helper-split-export-declaration@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b"
+ integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==
+ dependencies:
+ "@babel/types" "^7.16.7"
+
+"@babel/helper-validator-identifier@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad"
+ integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==
+
+"@babel/helper-validator-option@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23"
+ integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==
+
+"@babel/helper-wrap-function@^7.16.8":
+ version "7.16.8"
+ resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz#58afda087c4cd235de92f7ceedebca2c41274200"
+ integrity sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==
+ dependencies:
+ "@babel/helper-function-name" "^7.16.7"
+ "@babel/template" "^7.16.7"
+ "@babel/traverse" "^7.16.8"
+ "@babel/types" "^7.16.8"
+
+"@babel/helpers@^7.18.2":
+ version "7.18.2"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.2.tgz#970d74f0deadc3f5a938bfa250738eb4ac889384"
+ integrity sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg==
+ dependencies:
+ "@babel/template" "^7.16.7"
+ "@babel/traverse" "^7.18.2"
+ "@babel/types" "^7.18.2"
+
+"@babel/highlight@^7.16.7":
+ version "7.17.12"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.12.tgz#257de56ee5afbd20451ac0a75686b6b404257351"
+ integrity sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.16.7"
+ chalk "^2.0.0"
+ js-tokens "^4.0.0"
+
+"@babel/parser@^7.16.7", "@babel/parser@^7.18.5":
+ version "7.18.5"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.5.tgz#337062363436a893a2d22faa60be5bb37091c83c"
+ integrity sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw==
+
+"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.17.12":
+ version "7.17.12"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12.tgz#1dca338caaefca368639c9ffb095afbd4d420b1e"
+ integrity sha512-xCJQXl4EeQ3J9C4yOmpTrtVGmzpm2iSzyxbkZHw7UCnZBftHpF/hpII80uWVyVrc40ytIClHjgWGTG1g/yB+aw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.17.12"
+
+"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.17.12":
+ version "7.17.12"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12.tgz#0d498ec8f0374b1e2eb54b9cb2c4c78714c77753"
+ integrity sha512-/vt0hpIw0x4b6BLKUkwlvEoiGZYYLNZ96CzyHYPbtG2jZGz6LBe7/V+drYrc/d+ovrF9NBi0pmtvmNb/FsWtRQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0"
+ "@babel/plugin-proposal-optional-chaining" "^7.17.12"
+
+"@babel/plugin-proposal-async-generator-functions@^7.17.12":
+ version "7.17.12"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.17.12.tgz#094a417e31ce7e692d84bab06c8e2a607cbeef03"
+ integrity sha512-RWVvqD1ooLKP6IqWTA5GyFVX2isGEgC5iFxKzfYOIy/QEFdxYyCybBDtIGjipHpb9bDWHzcqGqFakf+mVmBTdQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-remap-async-to-generator" "^7.16.8"
+ "@babel/plugin-syntax-async-generators" "^7.8.4"
+
+"@babel/plugin-proposal-class-properties@^7.17.12":
+ version "7.17.12"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.17.12.tgz#84f65c0cc247d46f40a6da99aadd6438315d80a4"
+ integrity sha512-U0mI9q8pW5Q9EaTHFPwSVusPMV/DV9Mm8p7csqROFLtIE9rBF5piLqyrBGigftALrBcsBGu4m38JneAe7ZDLXw==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.17.12"
+ "@babel/helper-plugin-utils" "^7.17.12"
+
+"@babel/plugin-proposal-class-static-block@^7.18.0":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.0.tgz#7d02253156e3c3793bdb9f2faac3a1c05f0ba710"
+ integrity sha512-t+8LsRMMDE74c6sV7KShIw13sqbqd58tlqNrsWoWBTIMw7SVQ0cZ905wLNS/FBCy/3PyooRHLFFlfrUNyyz5lA==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.18.0"
+ "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/plugin-syntax-class-static-block" "^7.14.5"
+
+"@babel/plugin-proposal-dynamic-import@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz#c19c897eaa46b27634a00fee9fb7d829158704b2"
+ integrity sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.16.7"
+ "@babel/plugin-syntax-dynamic-import" "^7.8.3"
+
+"@babel/plugin-proposal-export-namespace-from@^7.17.12":
+ version "7.17.12"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.17.12.tgz#b22864ccd662db9606edb2287ea5fd1709f05378"
+ integrity sha512-j7Ye5EWdwoXOpRmo5QmRyHPsDIe6+u70ZYZrd7uz+ebPYFKfRcLcNu3Ro0vOlJ5zuv8rU7xa+GttNiRzX56snQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
+
+"@babel/plugin-proposal-json-strings@^7.17.12":
+ version "7.17.12"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.17.12.tgz#f4642951792437233216d8c1af370bb0fbff4664"
+ integrity sha512-rKJ+rKBoXwLnIn7n6o6fulViHMrOThz99ybH+hKHcOZbnN14VuMnH9fo2eHE69C8pO4uX1Q7t2HYYIDmv8VYkg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/plugin-syntax-json-strings" "^7.8.3"
+
+"@babel/plugin-proposal-logical-assignment-operators@^7.17.12":
+ version "7.17.12"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.17.12.tgz#c64a1bcb2b0a6d0ed2ff674fd120f90ee4b88a23"
+ integrity sha512-EqFo2s1Z5yy+JeJu7SFfbIUtToJTVlC61/C7WLKDntSw4Sz6JNAIfL7zQ74VvirxpjB5kz/kIx0gCcb+5OEo2Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
+
+"@babel/plugin-proposal-nullish-coalescing-operator@^7.17.12":
+ version "7.17.12"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.17.12.tgz#1e93079bbc2cbc756f6db6a1925157c4a92b94be"
+ integrity sha512-ws/g3FSGVzv+VH86+QvgtuJL/kR67xaEIF2x0iPqdDfYW6ra6JF3lKVBkWynRLcNtIC1oCTfDRVxmm2mKzy+ag==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
+
+"@babel/plugin-proposal-numeric-separator@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz#d6b69f4af63fb38b6ca2558442a7fb191236eba9"
+ integrity sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.16.7"
+ "@babel/plugin-syntax-numeric-separator" "^7.10.4"
+
+"@babel/plugin-proposal-object-rest-spread@^7.18.0":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz#79f2390c892ba2a68ec112eb0d895cfbd11155e8"
+ integrity sha512-nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw==
+ dependencies:
+ "@babel/compat-data" "^7.17.10"
+ "@babel/helper-compilation-targets" "^7.17.10"
+ "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
+ "@babel/plugin-transform-parameters" "^7.17.12"
+
+"@babel/plugin-proposal-optional-catch-binding@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz#c623a430674ffc4ab732fd0a0ae7722b67cb74cf"
+ integrity sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.16.7"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
+
+"@babel/plugin-proposal-optional-chaining@^7.17.12":
+ version "7.17.12"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.17.12.tgz#f96949e9bacace3a9066323a5cf90cfb9de67174"
+ integrity sha512-7wigcOs/Z4YWlK7xxjkvaIw84vGhDv/P1dFGQap0nHkc8gFKY/r+hXc8Qzf5k1gY7CvGIcHqAnOagVKJJ1wVOQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0"
+ "@babel/plugin-syntax-optional-chaining" "^7.8.3"
+
+"@babel/plugin-proposal-private-methods@^7.17.12":
+ version "7.17.12"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.17.12.tgz#c2ca3a80beb7539289938da005ad525a038a819c"
+ integrity sha512-SllXoxo19HmxhDWm3luPz+cPhtoTSKLJE9PXshsfrOzBqs60QP0r8OaJItrPhAj0d7mZMnNF0Y1UUggCDgMz1A==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.17.12"
+ "@babel/helper-plugin-utils" "^7.17.12"
+
+"@babel/plugin-proposal-private-property-in-object@^7.17.12":
+ version "7.17.12"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.17.12.tgz#b02efb7f106d544667d91ae97405a9fd8c93952d"
+ integrity sha512-/6BtVi57CJfrtDNKfK5b66ydK2J5pXUKBKSPD2G1whamMuEnZWgoOIfO8Vf9F/DoD4izBLD/Au4NMQfruzzykg==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.16.7"
+ "@babel/helper-create-class-features-plugin" "^7.17.12"
+ "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
+
+"@babel/plugin-proposal-unicode-property-regex@^7.17.12", "@babel/plugin-proposal-unicode-property-regex@^7.4.4":
+ version "7.17.12"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.17.12.tgz#3dbd7a67bd7f94c8238b394da112d86aaf32ad4d"
+ integrity sha512-Wb9qLjXf3ZazqXA7IvI7ozqRIXIGPtSo+L5coFmEkhTQK18ao4UDDD0zdTGAarmbLj2urpRwrc6893cu5Bfh0A==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.17.12"
+ "@babel/helper-plugin-utils" "^7.17.12"
+
+"@babel/plugin-syntax-async-generators@^7.8.4":
+ version "7.8.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d"
+ integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-class-properties@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10"
+ integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.12.13"
+
+"@babel/plugin-syntax-class-static-block@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406"
+ integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-syntax-dynamic-import@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3"
+ integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-export-namespace-from@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a"
+ integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.3"
+
+"@babel/plugin-syntax-import-assertions@^7.17.12":
+ version "7.17.12"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.17.12.tgz#58096a92b11b2e4e54b24c6a0cc0e5e607abcedd"
+ integrity sha512-n/loy2zkq9ZEM8tEOwON9wTQSTNDTDEz6NujPtJGLU7qObzT1N4c4YZZf8E6ATB2AjNQg/Ib2AIpO03EZaCehw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.17.12"
+
+"@babel/plugin-syntax-json-strings@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a"
+ integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-logical-assignment-operators@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699"
+ integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9"
+ integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-numeric-separator@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97"
+ integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-syntax-object-rest-spread@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871"
+ integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-optional-catch-binding@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1"
+ integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-optional-chaining@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a"
+ integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-private-property-in-object@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad"
+ integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-syntax-top-level-await@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c"
+ integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-syntax-typescript@^7.17.12":
+ version "7.17.12"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.12.tgz#b54fc3be6de734a56b87508f99d6428b5b605a7b"
+ integrity sha512-TYY0SXFiO31YXtNg3HtFwNJHjLsAyIIhAhNWkQ5whPPS7HWUFlg9z0Ta4qAQNjQbP1wsSt/oKkmZ/4/WWdMUpw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.17.12"
+
+"@babel/plugin-transform-arrow-functions@^7.17.12":
+ version "7.17.12"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.17.12.tgz#dddd783b473b1b1537ef46423e3944ff24898c45"
+ integrity sha512-PHln3CNi/49V+mza4xMwrg+WGYevSF1oaiXaC2EQfdp4HWlSjRsrDXWJiQBKpP7749u6vQ9mcry2uuFOv5CXvA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.17.12"
+
+"@babel/plugin-transform-async-to-generator@^7.17.12":
+ version "7.17.12"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.17.12.tgz#dbe5511e6b01eee1496c944e35cdfe3f58050832"
+ integrity sha512-J8dbrWIOO3orDzir57NRsjg4uxucvhby0L/KZuGsWDj0g7twWK3g7JhJhOrXtuXiw8MeiSdJ3E0OW9H8LYEzLQ==
+ dependencies:
+ "@babel/helper-module-imports" "^7.16.7"
+ "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-remap-async-to-generator" "^7.16.8"
+
+"@babel/plugin-transform-block-scoped-functions@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620"
+ integrity sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-transform-block-scoping@^7.17.12":
+ version "7.18.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.4.tgz#7988627b3e9186a13e4d7735dc9c34a056613fb9"
+ integrity sha512-+Hq10ye+jlvLEogSOtq4mKvtk7qwcUQ1f0Mrueai866C82f844Yom2cttfJdMdqRLTxWpsbfbkIkOIfovyUQXw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.17.12"
+
+"@babel/plugin-transform-classes@^7.17.12":
+ version "7.18.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.4.tgz#51310b812a090b846c784e47087fa6457baef814"
+ integrity sha512-e42NSG2mlKWgxKUAD9EJJSkZxR67+wZqzNxLSpc51T8tRU5SLFHsPmgYR5yr7sdgX4u+iHA1C5VafJ6AyImV3A==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.16.7"
+ "@babel/helper-environment-visitor" "^7.18.2"
+ "@babel/helper-function-name" "^7.17.9"
+ "@babel/helper-optimise-call-expression" "^7.16.7"
+ "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-replace-supers" "^7.18.2"
+ "@babel/helper-split-export-declaration" "^7.16.7"
+ globals "^11.1.0"
+
+"@babel/plugin-transform-computed-properties@^7.17.12":
+ version "7.17.12"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.17.12.tgz#bca616a83679698f3258e892ed422546e531387f"
+ integrity sha512-a7XINeplB5cQUWMg1E/GI1tFz3LfK021IjV1rj1ypE+R7jHm+pIHmHl25VNkZxtx9uuYp7ThGk8fur1HHG7PgQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.17.12"
+
+"@babel/plugin-transform-destructuring@^7.18.0":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.0.tgz#dc4f92587e291b4daa78aa20cc2d7a63aa11e858"
+ integrity sha512-Mo69klS79z6KEfrLg/1WkmVnB8javh75HX4pi2btjvlIoasuxilEyjtsQW6XPrubNd7AQy0MMaNIaQE4e7+PQw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.17.12"
+
+"@babel/plugin-transform-dotall-regex@^7.16.7", "@babel/plugin-transform-dotall-regex@^7.4.4":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz#6b2d67686fab15fb6a7fd4bd895d5982cfc81241"
+ integrity sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.16.7"
+ "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-transform-duplicate-keys@^7.17.12":
+ version "7.17.12"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.17.12.tgz#a09aa709a3310013f8e48e0e23bc7ace0f21477c"
+ integrity sha512-EA5eYFUG6xeerdabina/xIoB95jJ17mAkR8ivx6ZSu9frKShBjpOGZPn511MTDTkiCO+zXnzNczvUM69YSf3Zw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.17.12"
+
+"@babel/plugin-transform-exponentiation-operator@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz#efa9862ef97e9e9e5f653f6ddc7b665e8536fe9b"
+ integrity sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==
+ dependencies:
+ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7"
+ "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-transform-for-of@^7.18.1":
+ version "7.18.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.1.tgz#ed14b657e162b72afbbb2b4cdad277bf2bb32036"
+ integrity sha512-+TTB5XwvJ5hZbO8xvl2H4XaMDOAK57zF4miuC9qQJgysPNEAZZ9Z69rdF5LJkozGdZrjBIUAIyKUWRMmebI7vg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.17.12"
+
+"@babel/plugin-transform-function-name@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz#5ab34375c64d61d083d7d2f05c38d90b97ec65cf"
+ integrity sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==
+ dependencies:
+ "@babel/helper-compilation-targets" "^7.16.7"
+ "@babel/helper-function-name" "^7.16.7"
+ "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-transform-literals@^7.17.12":
+ version "7.17.12"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.17.12.tgz#97131fbc6bbb261487105b4b3edbf9ebf9c830ae"
+ integrity sha512-8iRkvaTjJciWycPIZ9k9duu663FT7VrBdNqNgxnVXEFwOIp55JWcZd23VBRySYbnS3PwQ3rGiabJBBBGj5APmQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.17.12"
+
+"@babel/plugin-transform-member-expression-literals@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384"
+ integrity sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-transform-modules-amd@^7.18.0":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.0.tgz#7ef1002e67e36da3155edc8bf1ac9398064c02ed"
+ integrity sha512-h8FjOlYmdZwl7Xm2Ug4iX2j7Qy63NANI+NQVWQzv6r25fqgg7k2dZl03p95kvqNclglHs4FZ+isv4p1uXMA+QA==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.18.0"
+ "@babel/helper-plugin-utils" "^7.17.12"
+ babel-plugin-dynamic-import-node "^2.3.3"
+
+"@babel/plugin-transform-modules-commonjs@^7.18.2":
+ version "7.18.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.2.tgz#1aa8efa2e2a6e818b6a7f2235fceaf09bdb31e9e"
+ integrity sha512-f5A865gFPAJAEE0K7F/+nm5CmAE3y8AWlMBG9unu5j9+tk50UQVK0QS8RNxSp7MJf0wh97uYyLWt3Zvu71zyOQ==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.18.0"
+ "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-simple-access" "^7.18.2"
+ babel-plugin-dynamic-import-node "^2.3.3"
+
+"@babel/plugin-transform-modules-systemjs@^7.18.0":
+ version "7.18.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.5.tgz#87f11c44fbfd3657be000d4897e192d9cb535996"
+ integrity sha512-SEewrhPpcqMF1V7DhnEbhVJLrC+nnYfe1E0piZMZXBpxi9WvZqWGwpsk7JYP7wPWeqaBh4gyKlBhHJu3uz5g4Q==
+ dependencies:
+ "@babel/helper-hoist-variables" "^7.16.7"
+ "@babel/helper-module-transforms" "^7.18.0"
+ "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-validator-identifier" "^7.16.7"
+ babel-plugin-dynamic-import-node "^2.3.3"
+
+"@babel/plugin-transform-modules-umd@^7.18.0":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.0.tgz#56aac64a2c2a1922341129a4597d1fd5c3ff020f"
+ integrity sha512-d/zZ8I3BWli1tmROLxXLc9A6YXvGK8egMxHp+E/rRwMh1Kip0AP77VwZae3snEJ33iiWwvNv2+UIIhfalqhzZA==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.18.0"
+ "@babel/helper-plugin-utils" "^7.17.12"
+
+"@babel/plugin-transform-named-capturing-groups-regex@^7.17.12":
+ version "7.17.12"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.12.tgz#9c4a5a5966e0434d515f2675c227fd8cc8606931"
+ integrity sha512-vWoWFM5CKaTeHrdUJ/3SIOTRV+MBVGybOC9mhJkaprGNt5demMymDW24yC74avb915/mIRe3TgNb/d8idvnCRA==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.17.12"
+ "@babel/helper-plugin-utils" "^7.17.12"
+
+"@babel/plugin-transform-new-target@^7.17.12":
+ version "7.18.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.5.tgz#8c228c4a07501dd12c95c5f23d1622131cc23931"
+ integrity sha512-TuRL5uGW4KXU6OsRj+mLp9BM7pO8e7SGNTEokQRRxHFkXYMFiy2jlKSZPFtI/mKORDzciH+hneskcSOp0gU8hg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.17.12"
+
+"@babel/plugin-transform-object-super@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94"
+ integrity sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.16.7"
+ "@babel/helper-replace-supers" "^7.16.7"
+
+"@babel/plugin-transform-parameters@^7.17.12":
+ version "7.17.12"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.17.12.tgz#eb467cd9586ff5ff115a9880d6fdbd4a846b7766"
+ integrity sha512-6qW4rWo1cyCdq1FkYri7AHpauchbGLXpdwnYsfxFb+KtddHENfsY5JZb35xUwkK5opOLcJ3BNd2l7PhRYGlwIA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.17.12"
+
+"@babel/plugin-transform-property-literals@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55"
+ integrity sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-transform-regenerator@^7.18.0":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.0.tgz#44274d655eb3f1af3f3a574ba819d3f48caf99d5"
+ integrity sha512-C8YdRw9uzx25HSIzwA7EM7YP0FhCe5wNvJbZzjVNHHPGVcDJ3Aie+qGYYdS1oVQgn+B3eAIJbWFLrJ4Jipv7nw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.17.12"
+ regenerator-transform "^0.15.0"
+
+"@babel/plugin-transform-reserved-words@^7.17.12":
+ version "7.17.12"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.17.12.tgz#7dbd349f3cdffba751e817cf40ca1386732f652f"
+ integrity sha512-1KYqwbJV3Co03NIi14uEHW8P50Md6KqFgt0FfpHdK6oyAHQVTosgPuPSiWud1HX0oYJ1hGRRlk0fP87jFpqXZA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.17.12"
+
+"@babel/plugin-transform-shorthand-properties@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a"
+ integrity sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-transform-spread@^7.17.12":
+ version "7.17.12"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.17.12.tgz#c112cad3064299f03ea32afed1d659223935d1f5"
+ integrity sha512-9pgmuQAtFi3lpNUstvG9nGfk9DkrdmWNp9KeKPFmuZCpEnxRzYlS8JgwPjYj+1AWDOSvoGN0H30p1cBOmT/Svg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0"
+
+"@babel/plugin-transform-sticky-regex@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz#c84741d4f4a38072b9a1e2e3fd56d359552e8660"
+ integrity sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-transform-template-literals@^7.18.2":
+ version "7.18.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.2.tgz#31ed6915721864847c48b656281d0098ea1add28"
+ integrity sha512-/cmuBVw9sZBGZVOMkpAEaVLwm4JmK2GZ1dFKOGGpMzEHWFmyZZ59lUU0PdRr8YNYeQdNzTDwuxP2X2gzydTc9g==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.17.12"
+
+"@babel/plugin-transform-typeof-symbol@^7.17.12":
+ version "7.17.12"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.17.12.tgz#0f12f57ac35e98b35b4ed34829948d42bd0e6889"
+ integrity sha512-Q8y+Jp7ZdtSPXCThB6zjQ74N3lj0f6TDh1Hnf5B+sYlzQ8i5Pjp8gW0My79iekSpT4WnI06blqP6DT0OmaXXmw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.17.12"
+
+"@babel/plugin-transform-typescript@^7.17.12":
+ version "7.18.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.18.4.tgz#587eaf6a39edb8c06215e550dc939faeadd750bf"
+ integrity sha512-l4vHuSLUajptpHNEOUDEGsnpl9pfRLsN1XUoDQDD/YBuXTM+v37SHGS+c6n4jdcZy96QtuUuSvZYMLSSsjH8Mw==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.18.0"
+ "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/plugin-syntax-typescript" "^7.17.12"
+
+"@babel/plugin-transform-unicode-escapes@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz#da8717de7b3287a2c6d659750c964f302b31ece3"
+ integrity sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-transform-unicode-regex@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz#0f7aa4a501198976e25e82702574c34cfebe9ef2"
+ integrity sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.16.7"
+ "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/preset-env@7.18.2":
+ version "7.18.2"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.18.2.tgz#f47d3000a098617926e674c945d95a28cb90977a"
+ integrity sha512-PfpdxotV6afmXMU47S08F9ZKIm2bJIQ0YbAAtDfIENX7G1NUAXigLREh69CWDjtgUy7dYn7bsMzkgdtAlmS68Q==
+ dependencies:
+ "@babel/compat-data" "^7.17.10"
+ "@babel/helper-compilation-targets" "^7.18.2"
+ "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-validator-option" "^7.16.7"
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.17.12"
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.17.12"
+ "@babel/plugin-proposal-async-generator-functions" "^7.17.12"
+ "@babel/plugin-proposal-class-properties" "^7.17.12"
+ "@babel/plugin-proposal-class-static-block" "^7.18.0"
+ "@babel/plugin-proposal-dynamic-import" "^7.16.7"
+ "@babel/plugin-proposal-export-namespace-from" "^7.17.12"
+ "@babel/plugin-proposal-json-strings" "^7.17.12"
+ "@babel/plugin-proposal-logical-assignment-operators" "^7.17.12"
+ "@babel/plugin-proposal-nullish-coalescing-operator" "^7.17.12"
+ "@babel/plugin-proposal-numeric-separator" "^7.16.7"
+ "@babel/plugin-proposal-object-rest-spread" "^7.18.0"
+ "@babel/plugin-proposal-optional-catch-binding" "^7.16.7"
+ "@babel/plugin-proposal-optional-chaining" "^7.17.12"
+ "@babel/plugin-proposal-private-methods" "^7.17.12"
+ "@babel/plugin-proposal-private-property-in-object" "^7.17.12"
+ "@babel/plugin-proposal-unicode-property-regex" "^7.17.12"
+ "@babel/plugin-syntax-async-generators" "^7.8.4"
+ "@babel/plugin-syntax-class-properties" "^7.12.13"
+ "@babel/plugin-syntax-class-static-block" "^7.14.5"
+ "@babel/plugin-syntax-dynamic-import" "^7.8.3"
+ "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
+ "@babel/plugin-syntax-import-assertions" "^7.17.12"
+ "@babel/plugin-syntax-json-strings" "^7.8.3"
+ "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
+ "@babel/plugin-syntax-numeric-separator" "^7.10.4"
+ "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
+ "@babel/plugin-syntax-optional-chaining" "^7.8.3"
+ "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
+ "@babel/plugin-syntax-top-level-await" "^7.14.5"
+ "@babel/plugin-transform-arrow-functions" "^7.17.12"
+ "@babel/plugin-transform-async-to-generator" "^7.17.12"
+ "@babel/plugin-transform-block-scoped-functions" "^7.16.7"
+ "@babel/plugin-transform-block-scoping" "^7.17.12"
+ "@babel/plugin-transform-classes" "^7.17.12"
+ "@babel/plugin-transform-computed-properties" "^7.17.12"
+ "@babel/plugin-transform-destructuring" "^7.18.0"
+ "@babel/plugin-transform-dotall-regex" "^7.16.7"
+ "@babel/plugin-transform-duplicate-keys" "^7.17.12"
+ "@babel/plugin-transform-exponentiation-operator" "^7.16.7"
+ "@babel/plugin-transform-for-of" "^7.18.1"
+ "@babel/plugin-transform-function-name" "^7.16.7"
+ "@babel/plugin-transform-literals" "^7.17.12"
+ "@babel/plugin-transform-member-expression-literals" "^7.16.7"
+ "@babel/plugin-transform-modules-amd" "^7.18.0"
+ "@babel/plugin-transform-modules-commonjs" "^7.18.2"
+ "@babel/plugin-transform-modules-systemjs" "^7.18.0"
+ "@babel/plugin-transform-modules-umd" "^7.18.0"
+ "@babel/plugin-transform-named-capturing-groups-regex" "^7.17.12"
+ "@babel/plugin-transform-new-target" "^7.17.12"
+ "@babel/plugin-transform-object-super" "^7.16.7"
+ "@babel/plugin-transform-parameters" "^7.17.12"
+ "@babel/plugin-transform-property-literals" "^7.16.7"
+ "@babel/plugin-transform-regenerator" "^7.18.0"
+ "@babel/plugin-transform-reserved-words" "^7.17.12"
+ "@babel/plugin-transform-shorthand-properties" "^7.16.7"
+ "@babel/plugin-transform-spread" "^7.17.12"
+ "@babel/plugin-transform-sticky-regex" "^7.16.7"
+ "@babel/plugin-transform-template-literals" "^7.18.2"
+ "@babel/plugin-transform-typeof-symbol" "^7.17.12"
+ "@babel/plugin-transform-unicode-escapes" "^7.16.7"
+ "@babel/plugin-transform-unicode-regex" "^7.16.7"
+ "@babel/preset-modules" "^0.1.5"
+ "@babel/types" "^7.18.2"
+ babel-plugin-polyfill-corejs2 "^0.3.0"
+ babel-plugin-polyfill-corejs3 "^0.5.0"
+ babel-plugin-polyfill-regenerator "^0.3.0"
+ core-js-compat "^3.22.1"
+ semver "^6.3.0"
+
+"@babel/preset-modules@^0.1.5":
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9"
+ integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-proposal-unicode-property-regex" "^7.4.4"
+ "@babel/plugin-transform-dotall-regex" "^7.4.4"
+ "@babel/types" "^7.4.4"
+ esutils "^2.0.2"
+
+"@babel/preset-typescript@7.17.12":
+ version "7.17.12"
+ resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.17.12.tgz#40269e0a0084d56fc5731b6c40febe1c9a4a3e8c"
+ integrity sha512-S1ViF8W2QwAKUGJXxP9NAfNaqGDdEBJKpYkxHf5Yy2C4NPPzXGeR3Lhk7G8xJaaLcFTRfNjVbtbVtm8Gb0mqvg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-validator-option" "^7.16.7"
+ "@babel/plugin-transform-typescript" "^7.17.12"
+
+"@babel/runtime@^7.8.4":
+ version "7.18.3"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.3.tgz#c7b654b57f6f63cf7f8b418ac9ca04408c4579f4"
+ integrity sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug==
+ dependencies:
+ regenerator-runtime "^0.13.4"
+
+"@babel/template@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155"
+ integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==
+ dependencies:
+ "@babel/code-frame" "^7.16.7"
+ "@babel/parser" "^7.16.7"
+ "@babel/types" "^7.16.7"
+
+"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.18.0", "@babel/traverse@^7.18.2", "@babel/traverse@^7.18.5":
+ version "7.18.5"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.5.tgz#94a8195ad9642801837988ab77f36e992d9a20cd"
+ integrity sha512-aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA==
+ dependencies:
+ "@babel/code-frame" "^7.16.7"
+ "@babel/generator" "^7.18.2"
+ "@babel/helper-environment-visitor" "^7.18.2"
+ "@babel/helper-function-name" "^7.17.9"
+ "@babel/helper-hoist-variables" "^7.16.7"
+ "@babel/helper-split-export-declaration" "^7.16.7"
+ "@babel/parser" "^7.18.5"
+ "@babel/types" "^7.18.4"
+ debug "^4.1.0"
+ globals "^11.1.0"
+
+"@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.18.0", "@babel/types@^7.18.2", "@babel/types@^7.18.4", "@babel/types@^7.4.4":
+ version "7.18.4"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.4.tgz#27eae9b9fd18e9dccc3f9d6ad051336f307be354"
+ integrity sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.16.7"
+ to-fast-properties "^2.0.0"
+
+"@jridgewell/gen-mapping@^0.1.0":
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996"
+ integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==
+ dependencies:
+ "@jridgewell/set-array" "^1.0.0"
+ "@jridgewell/sourcemap-codec" "^1.4.10"
+
+"@jridgewell/gen-mapping@^0.3.0":
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz#cf92a983c83466b8c0ce9124fadeaf09f7c66ea9"
+ integrity sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==
+ dependencies:
+ "@jridgewell/set-array" "^1.0.0"
+ "@jridgewell/sourcemap-codec" "^1.4.10"
+ "@jridgewell/trace-mapping" "^0.3.9"
+
+"@jridgewell/resolve-uri@^3.0.3":
+ version "3.0.7"
+ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz#30cd49820a962aff48c8fffc5cd760151fca61fe"
+ integrity sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==
+
+"@jridgewell/set-array@^1.0.0":
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.1.tgz#36a6acc93987adcf0ba50c66908bd0b70de8afea"
+ integrity sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==
+
+"@jridgewell/sourcemap-codec@^1.4.10":
+ version "1.4.13"
+ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz#b6461fb0c2964356c469e115f504c95ad97ab88c"
+ integrity sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==
+
+"@jridgewell/trace-mapping@^0.3.9":
+ version "0.3.13"
+ resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz#dcfe3e95f224c8fe97a87a5235defec999aa92ea"
+ integrity sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==
+ dependencies:
+ "@jridgewell/resolve-uri" "^3.0.3"
+ "@jridgewell/sourcemap-codec" "^1.4.10"
+
+"@lerna/add@3.13.3":
+ version "3.13.3"
+ resolved "https://registry.yarnpkg.com/@lerna/add/-/add-3.13.3.tgz#f4c1674839780e458f0426d4f7b6d0a77b9a2ae9"
+ integrity sha512-T3/Lsbo9ZFq+vL3ssaHxA8oKikZAPTJTGFe4CRuQgWCDd/M61+51jeWsngdaHpwzSSRDRjxg8fJTG10y10pnfA==
+ dependencies:
+ "@lerna/bootstrap" "3.13.3"
+ "@lerna/command" "3.13.3"
+ "@lerna/filter-options" "3.13.3"
+ "@lerna/npm-conf" "3.13.0"
+ "@lerna/validation-error" "3.13.0"
+ dedent "^0.7.0"
+ npm-package-arg "^6.1.0"
+ p-map "^1.2.0"
+ pacote "^9.5.0"
+ semver "^5.5.0"
+
+"@lerna/batch-packages@3.13.0":
+ version "3.13.0"
+ resolved "https://registry.yarnpkg.com/@lerna/batch-packages/-/batch-packages-3.13.0.tgz#697fde5be28822af9d9dca2f750250b90a89a000"
+ integrity sha512-TgLBTZ7ZlqilGnzJ3xh1KdAHcySfHytgNRTdG9YomfriTU6kVfp1HrXxKJYVGs7ClPUNt2CTFEOkw0tMBronjw==
+ dependencies:
+ "@lerna/package-graph" "3.13.0"
+ "@lerna/validation-error" "3.13.0"
+ npmlog "^4.1.2"
+
+"@lerna/bootstrap@3.13.3":
+ version "3.13.3"
+ resolved "https://registry.yarnpkg.com/@lerna/bootstrap/-/bootstrap-3.13.3.tgz#a0e5e466de5c100b49d558d39139204fc4db5c95"
+ integrity sha512-2XzijnLHRZOVQh8pwS7+5GR3cG4uh+EiLrWOishCq2TVzkqgjaS3GGBoef7KMCXfWHoLqAZRr/jEdLqfETLVqg==
+ dependencies:
+ "@lerna/batch-packages" "3.13.0"
+ "@lerna/command" "3.13.3"
+ "@lerna/filter-options" "3.13.3"
+ "@lerna/has-npm-version" "3.13.3"
+ "@lerna/npm-install" "3.13.3"
+ "@lerna/package-graph" "3.13.0"
+ "@lerna/pulse-till-done" "3.13.0"
+ "@lerna/rimraf-dir" "3.13.3"
+ "@lerna/run-lifecycle" "3.13.0"
+ "@lerna/run-parallel-batches" "3.13.0"
+ "@lerna/symlink-binary" "3.13.0"
+ "@lerna/symlink-dependencies" "3.13.0"
+ "@lerna/validation-error" "3.13.0"
+ dedent "^0.7.0"
+ get-port "^3.2.0"
+ multimatch "^2.1.0"
+ npm-package-arg "^6.1.0"
+ npmlog "^4.1.2"
+ p-finally "^1.0.0"
+ p-map "^1.2.0"
+ p-map-series "^1.0.0"
+ p-waterfall "^1.0.0"
+ read-package-tree "^5.1.6"
+ semver "^5.5.0"
+
+"@lerna/changed@3.13.4":
+ version "3.13.4"
+ resolved "https://registry.yarnpkg.com/@lerna/changed/-/changed-3.13.4.tgz#c69d8a079999e49611dd58987f08437baee81ad4"
+ integrity sha512-9lfOyRVObasw6L/z7yCSfsEl1QKy0Eamb8t2Krg1deIoAt+cE3JXOdGGC1MhOSli+7f/U9LyLXjJzIOs/pc9fw==
+ dependencies:
+ "@lerna/collect-updates" "3.13.3"
+ "@lerna/command" "3.13.3"
+ "@lerna/listable" "3.13.0"
+ "@lerna/output" "3.13.0"
+ "@lerna/version" "3.13.4"
+
+"@lerna/check-working-tree@3.13.3":
+ version "3.13.3"
+ resolved "https://registry.yarnpkg.com/@lerna/check-working-tree/-/check-working-tree-3.13.3.tgz#836a3ffd4413a29aca92ccca4a115e4f97109992"
+ integrity sha512-LoGZvTkne+V1WpVdCTU0XNzFKsQa2AiAFKksGRT0v8NQj6VAPp0jfVYDayTqwaWt2Ne0OGKOFE79Y5LStOuhaQ==
+ dependencies:
+ "@lerna/describe-ref" "3.13.3"
+ "@lerna/validation-error" "3.13.0"
+
+"@lerna/child-process@3.13.3":
+ version "3.13.3"
+ resolved "https://registry.yarnpkg.com/@lerna/child-process/-/child-process-3.13.3.tgz#6c084ee5cca9fc9e04d6bf4fc3f743ed26ff190c"
+ integrity sha512-3/e2uCLnbU+bydDnDwyadpOmuzazS01EcnOleAnuj9235CU2U97DH6OyoG1EW/fU59x11J+HjIqovh5vBaMQjQ==
+ dependencies:
+ chalk "^2.3.1"
+ execa "^1.0.0"
+ strong-log-transformer "^2.0.0"
+
+"@lerna/clean@3.13.3":
+ version "3.13.3"
+ resolved "https://registry.yarnpkg.com/@lerna/clean/-/clean-3.13.3.tgz#5673a1238e0712d31711e7e4e8cb9641891daaea"
+ integrity sha512-xmNauF1PpmDaKdtA2yuRc23Tru4q7UMO6yB1a/TTwxYPYYsAWG/CBK65bV26J7x4RlZtEv06ztYGMa9zh34UXA==
+ dependencies:
+ "@lerna/command" "3.13.3"
+ "@lerna/filter-options" "3.13.3"
+ "@lerna/prompt" "3.13.0"
+ "@lerna/pulse-till-done" "3.13.0"
+ "@lerna/rimraf-dir" "3.13.3"
+ p-map "^1.2.0"
+ p-map-series "^1.0.0"
+ p-waterfall "^1.0.0"
+
+"@lerna/cli@3.13.0":
+ version "3.13.0"
+ resolved "https://registry.yarnpkg.com/@lerna/cli/-/cli-3.13.0.tgz#3d7b357fdd7818423e9681a7b7f2abd106c8a266"
+ integrity sha512-HgFGlyCZbYaYrjOr3w/EsY18PdvtsTmDfpUQe8HwDjXlPeCCUgliZjXLOVBxSjiOvPeOSwvopwIHKWQmYbwywg==
+ dependencies:
+ "@lerna/global-options" "3.13.0"
+ dedent "^0.7.0"
+ npmlog "^4.1.2"
+ yargs "^12.0.1"
+
+"@lerna/collect-updates@3.13.3":
+ version "3.13.3"
+ resolved "https://registry.yarnpkg.com/@lerna/collect-updates/-/collect-updates-3.13.3.tgz#616648da59f0aff4a8e60257795cc46ca6921edd"
+ integrity sha512-sTpALOAxli/ZS+Mjq6fbmjU9YXqFJ2E4FrE1Ijl4wPC5stXEosg2u0Z1uPY+zVKdM+mOIhLxPVdx83rUgRS+Cg==
+ dependencies:
+ "@lerna/child-process" "3.13.3"
+ "@lerna/describe-ref" "3.13.3"
+ minimatch "^3.0.4"
+ npmlog "^4.1.2"
+ slash "^1.0.0"
+
+"@lerna/command@3.13.3":
+ version "3.13.3"
+ resolved "https://registry.yarnpkg.com/@lerna/command/-/command-3.13.3.tgz#5b20b3f507224573551039e0460bc36c39f7e9d1"
+ integrity sha512-WHFIQCubJV0T8gSLRNr6exZUxTswrh+iAtJCb86SE0Sa+auMPklE8af7w2Yck5GJfewmxSjke3yrjNxQrstx7w==
+ dependencies:
+ "@lerna/child-process" "3.13.3"
+ "@lerna/package-graph" "3.13.0"
+ "@lerna/project" "3.13.1"
+ "@lerna/validation-error" "3.13.0"
+ "@lerna/write-log-file" "3.13.0"
+ dedent "^0.7.0"
+ execa "^1.0.0"
+ is-ci "^1.0.10"
+ lodash "^4.17.5"
+ npmlog "^4.1.2"
+
+"@lerna/conventional-commits@3.13.0":
+ version "3.13.0"
+ resolved "https://registry.yarnpkg.com/@lerna/conventional-commits/-/conventional-commits-3.13.0.tgz#877aa225ca34cca61c31ea02a5a6296af74e1144"
+ integrity sha512-BeAgcNXuocmLhPxnmKU2Vy8YkPd/Uo+vu2i/p3JGsUldzrPC8iF3IDxH7fuXpEFN2Nfogu7KHachd4tchtOppA==
+ dependencies:
+ "@lerna/validation-error" "3.13.0"
+ conventional-changelog-angular "^5.0.3"
+ conventional-changelog-core "^3.1.6"
+ conventional-recommended-bump "^4.0.4"
+ fs-extra "^7.0.0"
+ get-stream "^4.0.0"
+ npm-package-arg "^6.1.0"
+ npmlog "^4.1.2"
+ pify "^3.0.0"
+ semver "^5.5.0"
+
+"@lerna/create-symlink@3.13.0":
+ version "3.13.0"
+ resolved "https://registry.yarnpkg.com/@lerna/create-symlink/-/create-symlink-3.13.0.tgz#e01133082fe040779712c960683cb3a272b67809"
+ integrity sha512-PTvg3jAAJSAtLFoZDsuTMv1wTOC3XYIdtg54k7uxIHsP8Ztpt+vlilY/Cni0THAqEMHvfiToel76Xdta4TU21Q==
+ dependencies:
+ cmd-shim "^2.0.2"
+ fs-extra "^7.0.0"
+ npmlog "^4.1.2"
+
+"@lerna/create@3.13.3":
+ version "3.13.3"
+ resolved "https://registry.yarnpkg.com/@lerna/create/-/create-3.13.3.tgz#6ded142c54b7f3cea86413c3637b067027b7f55d"
+ integrity sha512-4M5xT1AyUMwt1gCDph4BfW3e6fZmt0KjTa3FoXkUotf/w/eqTsc2IQ+ULz2+gOFQmtuNbqIZEOK3J4P9ArJJ/A==
+ dependencies:
+ "@lerna/child-process" "3.13.3"
+ "@lerna/command" "3.13.3"
+ "@lerna/npm-conf" "3.13.0"
+ "@lerna/validation-error" "3.13.0"
+ camelcase "^5.0.0"
+ dedent "^0.7.0"
+ fs-extra "^7.0.0"
+ globby "^8.0.1"
+ init-package-json "^1.10.3"
+ npm-package-arg "^6.1.0"
+ p-reduce "^1.0.0"
+ pacote "^9.5.0"
+ pify "^3.0.0"
+ semver "^5.5.0"
+ slash "^1.0.0"
+ validate-npm-package-license "^3.0.3"
+ validate-npm-package-name "^3.0.0"
+ whatwg-url "^7.0.0"
+
+"@lerna/describe-ref@3.13.3":
+ version "3.13.3"
+ resolved "https://registry.yarnpkg.com/@lerna/describe-ref/-/describe-ref-3.13.3.tgz#13318513613f6a407d37fc5dc025ec2cfb705606"
+ integrity sha512-5KcLTvjdS4gU5evW8ESbZ0BF44NM5HrP3dQNtWnOUSKJRgsES8Gj0lq9AlB2+YglZfjEftFT03uOYOxnKto4Uw==
+ dependencies:
+ "@lerna/child-process" "3.13.3"
+ npmlog "^4.1.2"
+
+"@lerna/diff@3.13.3":
+ version "3.13.3"
+ resolved "https://registry.yarnpkg.com/@lerna/diff/-/diff-3.13.3.tgz#883cb3a83a956dbfc2c17bc9a156468a5d3fae17"
+ integrity sha512-/DRS2keYbnKaAC+5AkDyZRGkP/kT7v1GlUS0JGZeiRDPQ1H6PzhX09EgE5X6nj0Ytrm0sUasDeN++CDVvgaI+A==
+ dependencies:
+ "@lerna/child-process" "3.13.3"
+ "@lerna/command" "3.13.3"
+ "@lerna/validation-error" "3.13.0"
+ npmlog "^4.1.2"
+
+"@lerna/exec@3.13.3":
+ version "3.13.3"
+ resolved "https://registry.yarnpkg.com/@lerna/exec/-/exec-3.13.3.tgz#5d2eda3f6e584f2f15b115e8a4b5bc960ba5de85"
+ integrity sha512-c0bD4XqM96CTPV8+lvkxzE7mkxiFyv/WNM4H01YvvbFAJzk+S4Y7cBtRkIYFTfkFZW3FLo8pEgtG1ONtIdM+tg==
+ dependencies:
+ "@lerna/batch-packages" "3.13.0"
+ "@lerna/child-process" "3.13.3"
+ "@lerna/command" "3.13.3"
+ "@lerna/filter-options" "3.13.3"
+ "@lerna/run-parallel-batches" "3.13.0"
+ "@lerna/validation-error" "3.13.0"
+
+"@lerna/filter-options@3.13.3":
+ version "3.13.3"
+ resolved "https://registry.yarnpkg.com/@lerna/filter-options/-/filter-options-3.13.3.tgz#aa42a4ab78837b8a6c4278ba871d27e92d77c54f"
+ integrity sha512-DbtQX4eRgrBz1wCFWRP99JBD7ODykYme9ykEK79+RrKph40znhJQRlLg4idogj6IsUEzwo1OHjihCzSfnVo6Cg==
+ dependencies:
+ "@lerna/collect-updates" "3.13.3"
+ "@lerna/filter-packages" "3.13.0"
+ dedent "^0.7.0"
+
+"@lerna/filter-packages@3.13.0":
+ version "3.13.0"
+ resolved "https://registry.yarnpkg.com/@lerna/filter-packages/-/filter-packages-3.13.0.tgz#f5371249e7e1a15928e5e88c544a242e0162c21c"
+ integrity sha512-RWiZWyGy3Mp7GRVBn//CacSnE3Kw82PxE4+H6bQ3pDUw/9atXn7NRX+gkBVQIYeKamh7HyumJtyOKq3Pp9BADQ==
+ dependencies:
+ "@lerna/validation-error" "3.13.0"
+ multimatch "^2.1.0"
+ npmlog "^4.1.2"
+
+"@lerna/get-npm-exec-opts@3.13.0":
+ version "3.13.0"
+ resolved "https://registry.yarnpkg.com/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-3.13.0.tgz#d1b552cb0088199fc3e7e126f914e39a08df9ea5"
+ integrity sha512-Y0xWL0rg3boVyJk6An/vurKzubyJKtrxYv2sj4bB8Mc5zZ3tqtv0ccbOkmkXKqbzvNNF7VeUt1OJ3DRgtC/QZw==
+ dependencies:
+ npmlog "^4.1.2"
+
+"@lerna/get-packed@3.13.0":
+ version "3.13.0"
+ resolved "https://registry.yarnpkg.com/@lerna/get-packed/-/get-packed-3.13.0.tgz#335e40d77f3c1855aa248587d3e0b2d8f4b06e16"
+ integrity sha512-EgSim24sjIjqQDC57bgXD9l22/HCS93uQBbGpkzEOzxAVzEgpZVm7Fm1t8BVlRcT2P2zwGnRadIvxTbpQuDPTg==
+ dependencies:
+ fs-extra "^7.0.0"
+ ssri "^6.0.1"
+ tar "^4.4.8"
+
+"@lerna/github-client@3.13.3":
+ version "3.13.3"
+ resolved "https://registry.yarnpkg.com/@lerna/github-client/-/github-client-3.13.3.tgz#bcf9b4ff40bdd104cb40cd257322f052b41bb9ce"
+ integrity sha512-fcJkjab4kX0zcLLSa/DCUNvU3v8wmy2c1lhdIbL7s7gABmDcV0QZq93LhnEee3VkC9UpnJ6GKG4EkD7eIifBnA==
+ dependencies:
+ "@lerna/child-process" "3.13.3"
+ "@octokit/plugin-enterprise-rest" "^2.1.1"
+ "@octokit/rest" "^16.16.0"
+ git-url-parse "^11.1.2"
+ npmlog "^4.1.2"
+
+"@lerna/global-options@3.13.0":
+ version "3.13.0"
+ resolved "https://registry.yarnpkg.com/@lerna/global-options/-/global-options-3.13.0.tgz#217662290db06ad9cf2c49d8e3100ee28eaebae1"
+ integrity sha512-SlZvh1gVRRzYLVluz9fryY1nJpZ0FHDGB66U9tFfvnnxmueckRQxLopn3tXj3NU1kc3QANT2I5BsQkOqZ4TEFQ==
+
+"@lerna/has-npm-version@3.13.3":
+ version "3.13.3"
+ resolved "https://registry.yarnpkg.com/@lerna/has-npm-version/-/has-npm-version-3.13.3.tgz#167e3f602a2fb58f84f93cf5df39705ca6432a2d"
+ integrity sha512-mQzoghRw4dBg0R9FFfHrj0TH0glvXyzdEZmYZ8Isvx5BSuEEwpsryoywuZSdppcvLu8o7NAdU5Tac8cJ/mT52w==
+ dependencies:
+ "@lerna/child-process" "3.13.3"
+ semver "^5.5.0"
+
+"@lerna/import@3.13.4":
+ version "3.13.4"
+ resolved "https://registry.yarnpkg.com/@lerna/import/-/import-3.13.4.tgz#e9a1831b8fed33f3cbeab3b84c722c9371a2eaf7"
+ integrity sha512-dn6eNuPEljWsifBEzJ9B6NoaLwl/Zvof7PBUPA4hRyRlqG5sXRn6F9DnusMTovvSarbicmTURbOokYuotVWQQA==
+ dependencies:
+ "@lerna/child-process" "3.13.3"
+ "@lerna/command" "3.13.3"
+ "@lerna/prompt" "3.13.0"
+ "@lerna/pulse-till-done" "3.13.0"
+ "@lerna/validation-error" "3.13.0"
+ dedent "^0.7.0"
+ fs-extra "^7.0.0"
+ p-map-series "^1.0.0"
+
+"@lerna/init@3.13.3":
+ version "3.13.3"
+ resolved "https://registry.yarnpkg.com/@lerna/init/-/init-3.13.3.tgz#ebd522fee9b9d7d3b2dacb0261eaddb4826851ff"
+ integrity sha512-bK/mp0sF6jT0N+c+xrbMCqN4xRoiZCXQzlYsyACxPK99KH/mpHv7hViZlTYUGlYcymtew6ZC770miv5A9wF9hA==
+ dependencies:
+ "@lerna/child-process" "3.13.3"
+ "@lerna/command" "3.13.3"
+ fs-extra "^7.0.0"
+ p-map "^1.2.0"
+ write-json-file "^2.3.0"
+
+"@lerna/link@3.13.3":
+ version "3.13.3"
+ resolved "https://registry.yarnpkg.com/@lerna/link/-/link-3.13.3.tgz#11124d4a0c8d0b79752fbda3babedfd62dd57847"
+ integrity sha512-IHhtdhA0KlIdevCsq6WHkI2rF3lHWHziJs2mlrEWAKniVrFczbELON1KJAgdJS1k3kAP/WeWVqmIYZ2hJDxMvg==
+ dependencies:
+ "@lerna/command" "3.13.3"
+ "@lerna/package-graph" "3.13.0"
+ "@lerna/symlink-dependencies" "3.13.0"
+ p-map "^1.2.0"
+ slash "^1.0.0"
+
+"@lerna/list@3.13.3":
+ version "3.13.3"
+ resolved "https://registry.yarnpkg.com/@lerna/list/-/list-3.13.3.tgz#fa93864d43cadeb4cd540a4e78a52886c57dbe74"
+ integrity sha512-rLRDsBCkydMq2FL6WY1J/elvnXIjxxRtb72lfKHdvDEqVdquT5Qgt9ci42hwjmcocFwWcFJgF6BZozj5pbc13A==
+ dependencies:
+ "@lerna/command" "3.13.3"
+ "@lerna/filter-options" "3.13.3"
+ "@lerna/listable" "3.13.0"
+ "@lerna/output" "3.13.0"
+
+"@lerna/listable@3.13.0":
+ version "3.13.0"
+ resolved "https://registry.yarnpkg.com/@lerna/listable/-/listable-3.13.0.tgz#babc18442c590b549cf0966d20d75fea066598d4"
+ integrity sha512-liYJ/WBUYP4N4MnSVZuLUgfa/jy3BZ02/1Om7xUY09xGVSuNVNEeB8uZUMSC+nHqFHIsMPZ8QK9HnmZb1E/eTA==
+ dependencies:
+ "@lerna/batch-packages" "3.13.0"
+ chalk "^2.3.1"
+ columnify "^1.5.4"
+
+"@lerna/log-packed@3.13.0":
+ version "3.13.0"
+ resolved "https://registry.yarnpkg.com/@lerna/log-packed/-/log-packed-3.13.0.tgz#497b5f692a8d0e3f669125da97b0dadfd9e480f3"
+ integrity sha512-Rmjrcz+6aM6AEcEVWmurbo8+AnHOvYtDpoeMMJh9IZ9SmZr2ClXzmD7wSvjTQc8BwOaiWjjC/ukcT0UYA2m7wg==
+ dependencies:
+ byte-size "^4.0.3"
+ columnify "^1.5.4"
+ has-unicode "^2.0.1"
+ npmlog "^4.1.2"
+
+"@lerna/npm-conf@3.13.0":
+ version "3.13.0"
+ resolved "https://registry.yarnpkg.com/@lerna/npm-conf/-/npm-conf-3.13.0.tgz#6b434ed75ff757e8c14381b9bbfe5d5ddec134a7"
+ integrity sha512-Jg2kANsGnhg+fbPEzE0X9nX5oviEAvWj0nYyOkcE+cgWuT7W0zpnPXC4hA4C5IPQGhwhhh0IxhWNNHtjTuw53g==
+ dependencies:
+ config-chain "^1.1.11"
+ pify "^3.0.0"
+
+"@lerna/npm-dist-tag@3.13.0":
+ version "3.13.0"
+ resolved "https://registry.yarnpkg.com/@lerna/npm-dist-tag/-/npm-dist-tag-3.13.0.tgz#49ecbe0e82cbe4ad4a8ea6de112982bf6c4e6cd4"
+ integrity sha512-mcuhw34JhSRFrbPn0vedbvgBTvveG52bR2lVE3M3tfE8gmR/cKS/EJFO4AUhfRKGCTFn9rjaSEzlFGYV87pemQ==
+ dependencies:
+ figgy-pudding "^3.5.1"
+ npm-package-arg "^6.1.0"
+ npm-registry-fetch "^3.9.0"
+ npmlog "^4.1.2"
+
+"@lerna/npm-install@3.13.3":
+ version "3.13.3"
+ resolved "https://registry.yarnpkg.com/@lerna/npm-install/-/npm-install-3.13.3.tgz#9b09852732e51c16d2e060ff2fd8bfbbb49cf7ba"
+ integrity sha512-7Jig9MLpwAfcsdQ5UeanAjndChUjiTjTp50zJ+UZz4CbIBIDhoBehvNMTCL2G6pOEC7sGEg6sAqJINAqred6Tg==
+ dependencies:
+ "@lerna/child-process" "3.13.3"
+ "@lerna/get-npm-exec-opts" "3.13.0"
+ fs-extra "^7.0.0"
+ npm-package-arg "^6.1.0"
+ npmlog "^4.1.2"
+ signal-exit "^3.0.2"
+ write-pkg "^3.1.0"
+
+"@lerna/npm-publish@3.13.2":
+ version "3.13.2"
+ resolved "https://registry.yarnpkg.com/@lerna/npm-publish/-/npm-publish-3.13.2.tgz#ad713ca6f91a852687d7d0e1bda7f9c66df21768"
+ integrity sha512-HMucPyEYZfom5tRJL4GsKBRi47yvSS2ynMXYxL3kO0ie+j9J7cb0Ir8NmaAMEd3uJWJVFCPuQarehyfTDZsSxg==
+ dependencies:
+ "@lerna/run-lifecycle" "3.13.0"
+ figgy-pudding "^3.5.1"
+ fs-extra "^7.0.0"
+ libnpmpublish "^1.1.1"
+ npm-package-arg "^6.1.0"
+ npmlog "^4.1.2"
+ pify "^3.0.0"
+ read-package-json "^2.0.13"
+
+"@lerna/npm-run-script@3.13.3":
+ version "3.13.3"
+ resolved "https://registry.yarnpkg.com/@lerna/npm-run-script/-/npm-run-script-3.13.3.tgz#9bb6389ed70cd506905d6b05b6eab336b4266caf"
+ integrity sha512-qR4o9BFt5hI8Od5/DqLalOJydnKpiQFEeN0h9xZi7MwzuX1Ukwh3X22vqsX4YRbipIelSFtrDzleNVUm5jj0ow==
+ dependencies:
+ "@lerna/child-process" "3.13.3"
+ "@lerna/get-npm-exec-opts" "3.13.0"
+ npmlog "^4.1.2"
+
+"@lerna/output@3.13.0":
+ version "3.13.0"
+ resolved "https://registry.yarnpkg.com/@lerna/output/-/output-3.13.0.tgz#3ded7cc908b27a9872228a630d950aedae7a4989"
+ integrity sha512-7ZnQ9nvUDu/WD+bNsypmPG5MwZBwu86iRoiW6C1WBuXXDxM5cnIAC1m2WxHeFnjyMrYlRXM9PzOQ9VDD+C15Rg==
+ dependencies:
+ npmlog "^4.1.2"
+
+"@lerna/pack-directory@3.13.1":
+ version "3.13.1"
+ resolved "https://registry.yarnpkg.com/@lerna/pack-directory/-/pack-directory-3.13.1.tgz#5ad4d0945f86a648f565e24d53c1e01bb3a912d1"
+ integrity sha512-kXnyqrkQbCIZOf1054N88+8h0ItC7tUN5v9ca/aWpx298gsURpxUx/1TIKqijL5TOnHMyIkj0YJmnH/PyBVLKA==
+ dependencies:
+ "@lerna/get-packed" "3.13.0"
+ "@lerna/package" "3.13.0"
+ "@lerna/run-lifecycle" "3.13.0"
+ figgy-pudding "^3.5.1"
+ npm-packlist "^1.4.1"
+ npmlog "^4.1.2"
+ tar "^4.4.8"
+ temp-write "^3.4.0"
+
+"@lerna/package-graph@3.13.0":
+ version "3.13.0"
+ resolved "https://registry.yarnpkg.com/@lerna/package-graph/-/package-graph-3.13.0.tgz#607062f8d2ce22b15f8d4a0623f384736e67f760"
+ integrity sha512-3mRF1zuqFE1HEFmMMAIggXy+f+9cvHhW/jzaPEVyrPNLKsyfJQtpTNzeI04nfRvbAh+Gd2aNksvaW/w3xGJnnw==
+ dependencies:
+ "@lerna/validation-error" "3.13.0"
+ npm-package-arg "^6.1.0"
+ semver "^5.5.0"
+
+"@lerna/package@3.13.0":
+ version "3.13.0"
+ resolved "https://registry.yarnpkg.com/@lerna/package/-/package-3.13.0.tgz#4baeebc49a57fc9b31062cc59f5ee38384429fc8"
+ integrity sha512-kSKO0RJQy093BufCQnkhf1jB4kZnBvL7kK5Ewolhk5gwejN+Jofjd8DGRVUDUJfQ0CkW1o6GbUeZvs8w8VIZDg==
+ dependencies:
+ load-json-file "^4.0.0"
+ npm-package-arg "^6.1.0"
+ write-pkg "^3.1.0"
+
+"@lerna/project@3.13.1":
+ version "3.13.1"
+ resolved "https://registry.yarnpkg.com/@lerna/project/-/project-3.13.1.tgz#bce890f60187bd950bcf36c04b5260642e295e79"
+ integrity sha512-/GoCrpsCCTyb9sizk1+pMBrIYchtb+F1uCOn3cjn9yenyG/MfYEnlfrbV5k/UDud0Ei75YBLbmwCbigHkAKazQ==
+ dependencies:
+ "@lerna/package" "3.13.0"
+ "@lerna/validation-error" "3.13.0"
+ cosmiconfig "^5.1.0"
+ dedent "^0.7.0"
+ dot-prop "^4.2.0"
+ glob-parent "^3.1.0"
+ globby "^8.0.1"
+ load-json-file "^4.0.0"
+ npmlog "^4.1.2"
+ p-map "^1.2.0"
+ resolve-from "^4.0.0"
+ write-json-file "^2.3.0"
+
+"@lerna/prompt@3.13.0":
+ version "3.13.0"
+ resolved "https://registry.yarnpkg.com/@lerna/prompt/-/prompt-3.13.0.tgz#53571462bb3f5399cc1ca6d335a411fe093426a5"
+ integrity sha512-P+lWSFokdyvYpkwC3it9cE0IF2U5yy2mOUbGvvE4iDb9K7TyXGE+7lwtx2thtPvBAfIb7O13POMkv7df03HJeA==
+ dependencies:
+ inquirer "^6.2.0"
+ npmlog "^4.1.2"
+
+"@lerna/publish@3.13.4":
+ version "3.13.4"
+ resolved "https://registry.yarnpkg.com/@lerna/publish/-/publish-3.13.4.tgz#25b678c285110897a7fc5198a35bdfa9db7f9cc1"
+ integrity sha512-v03pabiPlqCDwX6cVNis1PDdT6/jBgkVb5Nl4e8wcJXevIhZw3ClvtI94gSZu/wdoVFX0RMfc8QBVmaimSO0qg==
+ dependencies:
+ "@lerna/batch-packages" "3.13.0"
+ "@lerna/check-working-tree" "3.13.3"
+ "@lerna/child-process" "3.13.3"
+ "@lerna/collect-updates" "3.13.3"
+ "@lerna/command" "3.13.3"
+ "@lerna/describe-ref" "3.13.3"
+ "@lerna/log-packed" "3.13.0"
+ "@lerna/npm-conf" "3.13.0"
+ "@lerna/npm-dist-tag" "3.13.0"
+ "@lerna/npm-publish" "3.13.2"
+ "@lerna/output" "3.13.0"
+ "@lerna/pack-directory" "3.13.1"
+ "@lerna/prompt" "3.13.0"
+ "@lerna/pulse-till-done" "3.13.0"
+ "@lerna/run-lifecycle" "3.13.0"
+ "@lerna/run-parallel-batches" "3.13.0"
+ "@lerna/validation-error" "3.13.0"
+ "@lerna/version" "3.13.4"
+ figgy-pudding "^3.5.1"
+ fs-extra "^7.0.0"
+ libnpmaccess "^3.0.1"
+ npm-package-arg "^6.1.0"
+ npm-registry-fetch "^3.9.0"
+ npmlog "^4.1.2"
+ p-finally "^1.0.0"
+ p-map "^1.2.0"
+ p-pipe "^1.2.0"
+ p-reduce "^1.0.0"
+ pacote "^9.5.0"
+ semver "^5.5.0"
+
+"@lerna/pulse-till-done@3.13.0":
+ version "3.13.0"
+ resolved "https://registry.yarnpkg.com/@lerna/pulse-till-done/-/pulse-till-done-3.13.0.tgz#c8e9ce5bafaf10d930a67d7ed0ccb5d958fe0110"
+ integrity sha512-1SOHpy7ZNTPulzIbargrgaJX387csN7cF1cLOGZiJQA6VqnS5eWs2CIrG8i8wmaUavj2QlQ5oEbRMVVXSsGrzA==
+ dependencies:
+ npmlog "^4.1.2"
+
+"@lerna/resolve-symlink@3.13.0":
+ version "3.13.0"
+ resolved "https://registry.yarnpkg.com/@lerna/resolve-symlink/-/resolve-symlink-3.13.0.tgz#3e6809ef53b63fe914814bfa071cd68012e22fbb"
+ integrity sha512-Lc0USSFxwDxUs5JvIisS8JegjA6SHSAWJCMvi2osZx6wVRkEDlWG2B1JAfXUzCMNfHoZX0/XX9iYZ+4JIpjAtg==
+ dependencies:
+ fs-extra "^7.0.0"
+ npmlog "^4.1.2"
+ read-cmd-shim "^1.0.1"
+
+"@lerna/rimraf-dir@3.13.3":
+ version "3.13.3"
+ resolved "https://registry.yarnpkg.com/@lerna/rimraf-dir/-/rimraf-dir-3.13.3.tgz#3a8e71317fde853893ef0262bc9bba6a180b7227"
+ integrity sha512-d0T1Hxwu3gpYVv73ytSL+/Oy8JitsmvOYUR5ouRSABsmqS7ZZCh5t6FgVDDGVXeuhbw82+vuny1Og6Q0k4ilqw==
+ dependencies:
+ "@lerna/child-process" "3.13.3"
+ npmlog "^4.1.2"
+ path-exists "^3.0.0"
+ rimraf "^2.6.2"
+
+"@lerna/run-lifecycle@3.13.0":
+ version "3.13.0"
+ resolved "https://registry.yarnpkg.com/@lerna/run-lifecycle/-/run-lifecycle-3.13.0.tgz#d8835ee83425edee40f687a55f81b502354d3261"
+ integrity sha512-oyiaL1biZdjpmjh6X/5C4w07wNFyiwXSSHH5GQB4Ay4BPwgq9oNhCcxRoi0UVZlZ1YwzSW8sTwLgj8emkIo3Yg==
+ dependencies:
+ "@lerna/npm-conf" "3.13.0"
+ figgy-pudding "^3.5.1"
+ npm-lifecycle "^2.1.0"
+ npmlog "^4.1.2"
+
+"@lerna/run-parallel-batches@3.13.0":
+ version "3.13.0"
+ resolved "https://registry.yarnpkg.com/@lerna/run-parallel-batches/-/run-parallel-batches-3.13.0.tgz#0276bb4e7cd0995297db82d134ca2bd08d63e311"
+ integrity sha512-bICFBR+cYVF1FFW+Tlm0EhWDioTUTM6dOiVziDEGE1UZha1dFkMYqzqdSf4bQzfLS31UW/KBd/2z8jy2OIjEjg==
+ dependencies:
+ p-map "^1.2.0"
+ p-map-series "^1.0.0"
+
+"@lerna/run@3.13.3":
+ version "3.13.3"
+ resolved "https://registry.yarnpkg.com/@lerna/run/-/run-3.13.3.tgz#0781c82d225ef6e85e28d3e763f7fc090a376a21"
+ integrity sha512-ygnLIfIYS6YY1JHWOM4CsdZiY8kTYPsDFOLAwASlRnlAXF9HiMT08GFXLmMHIblZJ8yJhsM2+QgraCB0WdxzOQ==
+ dependencies:
+ "@lerna/batch-packages" "3.13.0"
+ "@lerna/command" "3.13.3"
+ "@lerna/filter-options" "3.13.3"
+ "@lerna/npm-run-script" "3.13.3"
+ "@lerna/output" "3.13.0"
+ "@lerna/run-parallel-batches" "3.13.0"
+ "@lerna/timer" "3.13.0"
+ "@lerna/validation-error" "3.13.0"
+ p-map "^1.2.0"
+
+"@lerna/symlink-binary@3.13.0":
+ version "3.13.0"
+ resolved "https://registry.yarnpkg.com/@lerna/symlink-binary/-/symlink-binary-3.13.0.tgz#36a9415d468afcb8105750296902f6f000a9680d"
+ integrity sha512-obc4Y6jxywkdaCe+DB0uTxYqP0IQ8mFWvN+k/YMbwH4G2h7M7lCBWgPy8e7xw/50+1II9tT2sxgx+jMus1sTJg==
+ dependencies:
+ "@lerna/create-symlink" "3.13.0"
+ "@lerna/package" "3.13.0"
+ fs-extra "^7.0.0"
+ p-map "^1.2.0"
+
+"@lerna/symlink-dependencies@3.13.0":
+ version "3.13.0"
+ resolved "https://registry.yarnpkg.com/@lerna/symlink-dependencies/-/symlink-dependencies-3.13.0.tgz#76c23ecabda7824db98a0561364f122b457509cf"
+ integrity sha512-7CyN5WYEPkbPLbqHBIQg/YiimBzb5cIGQB0E9IkLs3+racq2vmUNQZn38LOaazQacAA83seB+zWSxlI6H+eXSg==
+ dependencies:
+ "@lerna/create-symlink" "3.13.0"
+ "@lerna/resolve-symlink" "3.13.0"
+ "@lerna/symlink-binary" "3.13.0"
+ fs-extra "^7.0.0"
+ p-finally "^1.0.0"
+ p-map "^1.2.0"
+ p-map-series "^1.0.0"
+
+"@lerna/timer@3.13.0":
+ version "3.13.0"
+ resolved "https://registry.yarnpkg.com/@lerna/timer/-/timer-3.13.0.tgz#bcd0904551db16e08364d6c18e5e2160fc870781"
+ integrity sha512-RHWrDl8U4XNPqY5MQHkToWS9jHPnkLZEt5VD+uunCKTfzlxGnRCr3/zVr8VGy/uENMYpVP3wJa4RKGY6M0vkRw==
+
+"@lerna/validation-error@3.13.0":
+ version "3.13.0"
+ resolved "https://registry.yarnpkg.com/@lerna/validation-error/-/validation-error-3.13.0.tgz#c86b8f07c5ab9539f775bd8a54976e926f3759c3"
+ integrity sha512-SiJP75nwB8GhgwLKQfdkSnDufAaCbkZWJqEDlKOUPUvVOplRGnfL+BPQZH5nvq2BYSRXsksXWZ4UHVnQZI/HYA==
+ dependencies:
+ npmlog "^4.1.2"
+
+"@lerna/version@3.13.4":
+ version "3.13.4"
+ resolved "https://registry.yarnpkg.com/@lerna/version/-/version-3.13.4.tgz#ea23b264bebda425ccbfcdcd1de13ef45a390e59"
+ integrity sha512-pptWUEgN/lUTQZu34+gfH1g4Uhs7TDKRcdZY9A4T9k6RTOwpKC2ceLGiXdeR+ZgQJAey2C4qiE8fo5Z6Rbc6QA==
+ dependencies:
+ "@lerna/batch-packages" "3.13.0"
+ "@lerna/check-working-tree" "3.13.3"
+ "@lerna/child-process" "3.13.3"
+ "@lerna/collect-updates" "3.13.3"
+ "@lerna/command" "3.13.3"
+ "@lerna/conventional-commits" "3.13.0"
+ "@lerna/github-client" "3.13.3"
+ "@lerna/output" "3.13.0"
+ "@lerna/prompt" "3.13.0"
+ "@lerna/run-lifecycle" "3.13.0"
+ "@lerna/validation-error" "3.13.0"
+ chalk "^2.3.1"
+ dedent "^0.7.0"
+ minimatch "^3.0.4"
+ npmlog "^4.1.2"
+ p-map "^1.2.0"
+ p-pipe "^1.2.0"
+ p-reduce "^1.0.0"
+ p-waterfall "^1.0.0"
+ semver "^5.5.0"
+ slash "^1.0.0"
+ temp-write "^3.4.0"
+
+"@lerna/write-log-file@3.13.0":
+ version "3.13.0"
+ resolved "https://registry.yarnpkg.com/@lerna/write-log-file/-/write-log-file-3.13.0.tgz#b78d9e4cfc1349a8be64d91324c4c8199e822a26"
+ integrity sha512-RibeMnDPvlL8bFYW5C8cs4mbI3AHfQef73tnJCQ/SgrXZHehmHnsyWUiE7qDQCAo+B1RfTapvSyFF69iPj326A==
+ dependencies:
+ npmlog "^4.1.2"
+ write-file-atomic "^2.3.0"
+
+"@mrmlnc/readdir-enhanced@^2.2.1":
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde"
+ integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==
+ dependencies:
+ call-me-maybe "^1.0.1"
+ glob-to-regexp "^0.3.0"
+
+"@nodelib/fs.stat@^1.1.2":
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b"
+ integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==
+
+"@octokit/auth-token@^2.4.0":
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.5.0.tgz#27c37ea26c205f28443402477ffd261311f21e36"
+ integrity sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==
+ dependencies:
+ "@octokit/types" "^6.0.3"
+
+"@octokit/endpoint@^6.0.1":
+ version "6.0.12"
+ resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.12.tgz#3b4d47a4b0e79b1027fb8d75d4221928b2d05658"
+ integrity sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==
+ dependencies:
+ "@octokit/types" "^6.0.3"
+ is-plain-object "^5.0.0"
+ universal-user-agent "^6.0.0"
+
+"@octokit/openapi-types@^12.4.0":
+ version "12.4.0"
+ resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-12.4.0.tgz#fd8bf5db72bd566c5ba2cb76754512a9ebe66e71"
+ integrity sha512-Npcb7Pv30b33U04jvcD7l75yLU0mxhuX2Xqrn51YyZ5WTkF04bpbxLaZ6GcaTqu03WZQHoO/Gbfp95NGRueDUA==
+
+"@octokit/plugin-enterprise-rest@^2.1.1":
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-2.2.2.tgz#c0e22067a043e19f96ff9c7832e2a3019f9be75c"
+ integrity sha512-CTZr64jZYhGWNTDGlSJ2mvIlFsm9OEO3LqWn9I/gmoHI4jRBp4kpHoFYNemG4oA75zUAcmbuWblb7jjP877YZw==
+
+"@octokit/plugin-paginate-rest@^1.1.1":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-1.1.2.tgz#004170acf8c2be535aba26727867d692f7b488fc"
+ integrity sha512-jbsSoi5Q1pj63sC16XIUboklNw+8tL9VOnJsWycWYR78TKss5PVpIPb1TUUcMQ+bBh7cY579cVAWmf5qG+dw+Q==
+ dependencies:
+ "@octokit/types" "^2.0.1"
+
+"@octokit/plugin-request-log@^1.0.0":
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85"
+ integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==
+
+"@octokit/plugin-rest-endpoint-methods@2.4.0":
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-2.4.0.tgz#3288ecf5481f68c494dd0602fc15407a59faf61e"
+ integrity sha512-EZi/AWhtkdfAYi01obpX0DF7U6b1VRr30QNQ5xSFPITMdLSfhcBqjamE3F+sKcxPbD7eZuMHu3Qkk2V+JGxBDQ==
+ dependencies:
+ "@octokit/types" "^2.0.1"
+ deprecation "^2.3.1"
+
+"@octokit/request-error@^1.0.2":
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-1.2.1.tgz#ede0714c773f32347576c25649dc013ae6b31801"
+ integrity sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA==
+ dependencies:
+ "@octokit/types" "^2.0.0"
+ deprecation "^2.0.0"
+ once "^1.4.0"
+
+"@octokit/request-error@^2.1.0":
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.1.0.tgz#9e150357831bfc788d13a4fd4b1913d60c74d677"
+ integrity sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==
+ dependencies:
+ "@octokit/types" "^6.0.3"
+ deprecation "^2.0.0"
+ once "^1.4.0"
+
+"@octokit/request@^5.2.0":
+ version "5.6.3"
+ resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.6.3.tgz#19a022515a5bba965ac06c9d1334514eb50c48b0"
+ integrity sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==
+ dependencies:
+ "@octokit/endpoint" "^6.0.1"
+ "@octokit/request-error" "^2.1.0"
+ "@octokit/types" "^6.16.1"
+ is-plain-object "^5.0.0"
+ node-fetch "^2.6.7"
+ universal-user-agent "^6.0.0"
+
+"@octokit/rest@^16.16.0":
+ version "16.43.2"
+ resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-16.43.2.tgz#c53426f1e1d1044dee967023e3279c50993dd91b"
+ integrity sha512-ngDBevLbBTFfrHZeiS7SAMAZ6ssuVmXuya+F/7RaVvlysgGa1JKJkKWY+jV6TCJYcW0OALfJ7nTIGXcBXzycfQ==
+ dependencies:
+ "@octokit/auth-token" "^2.4.0"
+ "@octokit/plugin-paginate-rest" "^1.1.1"
+ "@octokit/plugin-request-log" "^1.0.0"
+ "@octokit/plugin-rest-endpoint-methods" "2.4.0"
+ "@octokit/request" "^5.2.0"
+ "@octokit/request-error" "^1.0.2"
+ atob-lite "^2.0.0"
+ before-after-hook "^2.0.0"
+ btoa-lite "^1.0.0"
+ deprecation "^2.0.0"
+ lodash.get "^4.4.2"
+ lodash.set "^4.3.2"
+ lodash.uniq "^4.5.0"
+ octokit-pagination-methods "^1.1.0"
+ once "^1.4.0"
+ universal-user-agent "^4.0.0"
+
+"@octokit/types@^2.0.0", "@octokit/types@^2.0.1":
+ version "2.16.2"
+ resolved "https://registry.yarnpkg.com/@octokit/types/-/types-2.16.2.tgz#4c5f8da3c6fecf3da1811aef678fda03edac35d2"
+ integrity sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==
+ dependencies:
+ "@types/node" ">= 8"
+
+"@octokit/types@^6.0.3", "@octokit/types@^6.16.1":
+ version "6.37.1"
+ resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.37.1.tgz#600a9c9643f696ba68f229c8d71abbc1040ad6a6"
+ integrity sha512-Q1hXSP2YumHkDdD+V4wFKr7vJ9+8tjocixrTSb75JzJ4GpjSyu5B4kpgrXxO6GOs4nOmVyRwRgS4/RO/Lf9oEA==
+ dependencies:
+ "@octokit/openapi-types" "^12.4.0"
+
+"@rollup/plugin-babel@5.3.1":
+ version "5.3.1"
+ resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz#04bc0608f4aa4b2e4b1aebf284344d0f68fda283"
+ integrity sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==
+ dependencies:
+ "@babel/helper-module-imports" "^7.10.4"
+ "@rollup/pluginutils" "^3.1.0"
+
+"@rollup/plugin-commonjs@22.0.1":
+ version "22.0.1"
+ resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-22.0.1.tgz#f7cb777d20de3eeeaf994f39080115c336bef810"
+ integrity sha512-dGfEZvdjDHObBiP5IvwTKMVeq/tBZGMBHZFMdIV1ClMM/YoWS34xrHFGfag9SN2ZtMgNZRFruqvxZQEa70O6nQ==
+ dependencies:
+ "@rollup/pluginutils" "^3.1.0"
+ commondir "^1.0.1"
+ estree-walker "^2.0.1"
+ glob "^7.1.6"
+ is-reference "^1.2.1"
+ magic-string "^0.25.7"
+ resolve "^1.17.0"
+
+"@rollup/plugin-node-resolve@13.3.0":
+ version "13.3.0"
+ resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz#da1c5c5ce8316cef96a2f823d111c1e4e498801c"
+ integrity sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==
+ dependencies:
+ "@rollup/pluginutils" "^3.1.0"
+ "@types/resolve" "1.17.1"
+ deepmerge "^4.2.2"
+ is-builtin-module "^3.1.0"
+ is-module "^1.0.0"
+ resolve "^1.19.0"
+
+"@rollup/pluginutils@^3.1.0":
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b"
+ integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==
+ dependencies:
+ "@types/estree" "0.0.39"
+ estree-walker "^1.0.1"
+ picomatch "^2.2.2"
+
+"@types/estree@*":
+ version "0.0.52"
+ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.52.tgz#7f1f57ad5b741f3d5b210d3b1f145640d89bf8fe"
+ integrity sha512-BZWrtCU0bMVAIliIV+HJO1f1PR41M7NKjfxrFJwwhKI1KwhwOxYw1SXg9ao+CIMt774nFuGiG6eU+udtbEI9oQ==
+
+"@types/estree@0.0.39":
+ version "0.0.39"
+ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
+ integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
+
+"@types/minimist@^1.2.0":
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c"
+ integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==
+
+"@types/node@*", "@types/node@>= 8":
+ version "18.0.0"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.0.tgz#67c7b724e1bcdd7a8821ce0d5ee184d3b4dd525a"
+ integrity sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA==
+
+"@types/node@^8":
+ version "8.10.66"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.66.tgz#dd035d409df322acc83dff62a602f12a5783bbb3"
+ integrity sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==
+
+"@types/normalize-package-data@^2.4.0":
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301"
+ integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==
+
+"@types/resolve@1.17.1":
+ version "1.17.1"
+ resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6"
+ integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==
+ dependencies:
+ "@types/node" "*"
+
+JSONStream@^1.0.4, JSONStream@^1.3.4:
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0"
+ integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==
+ dependencies:
+ jsonparse "^1.2.0"
+ through ">=2.2.7 <3"
+
+abbrev@1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
+ integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
+
+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"
+ integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==
+ dependencies:
+ es6-promisify "^5.0.0"
+
+agent-base@~4.2.1:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9"
+ integrity sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==
+ dependencies:
+ es6-promisify "^5.0.0"
+
+agentkeepalive@^3.4.1:
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-3.5.2.tgz#a113924dd3fa24a0bc3b78108c450c2abee00f67"
+ integrity sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==
+ dependencies:
+ humanize-ms "^1.2.1"
+
+ajv@^6.12.3:
+ 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"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.2"
+
+ansi-escapes@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
+ integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==
+
+ansi-regex@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
+ integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==
+
+ansi-regex@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1"
+ integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==
+
+ansi-regex@^4.1.0:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed"
+ integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==
+
+ansi-regex@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
+ integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
+
+ansi-styles@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
+ integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
+ dependencies:
+ color-convert "^1.9.0"
+
+aproba@^1.0.3, aproba@^1.1.1:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
+ integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
+
+aproba@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc"
+ integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==
+
+are-we-there-yet@~1.1.2:
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146"
+ integrity sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==
+ dependencies:
+ delegates "^1.0.0"
+ readable-stream "^2.0.6"
+
+argparse@^1.0.7:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
+ integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
+ dependencies:
+ sprintf-js "~1.0.2"
+
+arr-diff@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
+ integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==
+
+arr-flatten@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
+ integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==
+
+arr-union@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
+ integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==
+
+array-differ@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031"
+ integrity sha512-LeZY+DZDRnvP7eMuQ6LHfCzUGxAAIViUBliK24P3hWXL6y4SortgR6Nim6xrkfSLlmH0+k+9NYNwVC2s53ZrYQ==
+
+array-find-index@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
+ integrity sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==
+
+array-ify@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece"
+ integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==
+
+array-union@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
+ integrity sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==
+ dependencies:
+ array-uniq "^1.0.1"
+
+array-uniq@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
+ integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==
+
+array-unique@^0.3.2:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
+ integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==
+
+array.prototype.reduce@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz#8167e80089f78bff70a99e20bd4201d4663b0a6f"
+ integrity sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+ es-abstract "^1.19.2"
+ es-array-method-boxes-properly "^1.0.0"
+ is-string "^1.0.7"
+
+arrify@^1.0.0, arrify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
+ integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==
+
+asap@^2.0.0:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
+ integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==
+
+asn1@~0.2.3:
+ version "0.2.6"
+ resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d"
+ integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==
+ dependencies:
+ safer-buffer "~2.1.0"
+
+assert-plus@1.0.0, assert-plus@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
+ integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==
+
+assign-symbols@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
+ integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==
+
+asynckit@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+ integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
+
+atob-lite@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/atob-lite/-/atob-lite-2.0.0.tgz#0fef5ad46f1bd7a8502c65727f0367d5ee43d696"
+ integrity sha512-LEeSAWeh2Gfa2FtlQE1shxQ8zi5F9GHarrGKz08TMdODD5T4eH6BMsvtnhbWZ+XQn+Gb6om/917ucvRu7l7ukw==
+
+atob@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
+ integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
+
+aws-sign2@~0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
+ integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==
+
+aws4@^1.8.0:
+ version "1.11.0"
+ resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59"
+ integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
+
+babel-plugin-dynamic-import-node@^2.3.3:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3"
+ integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==
+ dependencies:
+ object.assign "^4.1.0"
+
+babel-plugin-polyfill-corejs2@^0.3.0:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz#440f1b70ccfaabc6b676d196239b138f8a2cfba5"
+ integrity sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==
+ dependencies:
+ "@babel/compat-data" "^7.13.11"
+ "@babel/helper-define-polyfill-provider" "^0.3.1"
+ semver "^6.1.1"
+
+babel-plugin-polyfill-corejs3@^0.5.0:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz#aabe4b2fa04a6e038b688c5e55d44e78cd3a5f72"
+ integrity sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==
+ dependencies:
+ "@babel/helper-define-polyfill-provider" "^0.3.1"
+ core-js-compat "^3.21.0"
+
+babel-plugin-polyfill-regenerator@^0.3.0:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz#2c0678ea47c75c8cc2fbb1852278d8fb68233990"
+ integrity sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==
+ dependencies:
+ "@babel/helper-define-polyfill-provider" "^0.3.1"
+
+balanced-match@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
+ integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+
+base@^0.11.1:
+ version "0.11.2"
+ resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
+ integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==
+ dependencies:
+ cache-base "^1.0.1"
+ class-utils "^0.3.5"
+ component-emitter "^1.2.1"
+ define-property "^1.0.0"
+ isobject "^3.0.1"
+ mixin-deep "^1.2.0"
+ pascalcase "^0.1.1"
+
+bcrypt-pbkdf@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
+ integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==
+ dependencies:
+ tweetnacl "^0.14.3"
+
+before-after-hook@^2.0.0:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.2.tgz#a6e8ca41028d90ee2c24222f201c90956091613e"
+ integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==
+
+bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5:
+ version "3.7.2"
+ resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
+ integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
+
+brace-expansion@^1.1.7:
+ version "1.1.11"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
+ integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
+ dependencies:
+ balanced-match "^1.0.0"
+ concat-map "0.0.1"
+
+braces@^2.3.1:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
+ integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==
+ dependencies:
+ arr-flatten "^1.1.0"
+ array-unique "^0.3.2"
+ extend-shallow "^2.0.1"
+ fill-range "^4.0.0"
+ isobject "^3.0.1"
+ repeat-element "^1.1.2"
+ snapdragon "^0.8.1"
+ snapdragon-node "^2.0.1"
+ split-string "^3.0.2"
+ to-regex "^3.0.1"
+
+browserslist@^4.20.2, browserslist@^4.21.0:
+ version "4.21.0"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.0.tgz#7ab19572361a140ecd1e023e2c1ed95edda0cefe"
+ integrity sha512-UQxE0DIhRB5z/zDz9iA03BOfxaN2+GQdBYH/2WrSIWEUrnpzTPJbhqt+umq6r3acaPRTW1FNTkrcp0PXgtFkvA==
+ dependencies:
+ caniuse-lite "^1.0.30001358"
+ electron-to-chromium "^1.4.164"
+ node-releases "^2.0.5"
+ update-browserslist-db "^1.0.0"
+
+btoa-lite@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337"
+ integrity sha512-gvW7InbIyF8AicrqWoptdW08pUxuhq8BEgowNajy9RhiE86fmGAGl+bLKo6oB8QP0CkqHLowfN0oJdKC/J6LbA==
+
+buffer-from@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
+ integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
+
+builtin-modules@^3.0.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6"
+ integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==
+
+builtins@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88"
+ integrity sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==
+
+byline@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/byline/-/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1"
+ integrity sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==
+
+byte-size@^4.0.3:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/byte-size/-/byte-size-4.0.4.tgz#29d381709f41aae0d89c631f1c81aec88cd40b23"
+ integrity sha512-82RPeneC6nqCdSwCX2hZUz3JPOvN5at/nTEw/CMf05Smu3Hrpo9Psb7LjN+k+XndNArG1EY8L4+BM3aTM4BCvw==
+
+cacache@^11.3.3:
+ version "11.3.3"
+ resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.3.tgz#8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc"
+ integrity sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA==
+ dependencies:
+ bluebird "^3.5.5"
+ chownr "^1.1.1"
+ figgy-pudding "^3.5.1"
+ glob "^7.1.4"
+ graceful-fs "^4.1.15"
+ lru-cache "^5.1.1"
+ mississippi "^3.0.0"
+ mkdirp "^0.5.1"
+ move-concurrently "^1.0.1"
+ promise-inflight "^1.0.1"
+ rimraf "^2.6.3"
+ ssri "^6.0.1"
+ unique-filename "^1.1.1"
+ y18n "^4.0.0"
+
+cacache@^12.0.0, cacache@^12.0.2:
+ version "12.0.4"
+ resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c"
+ integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==
+ dependencies:
+ bluebird "^3.5.5"
+ chownr "^1.1.1"
+ figgy-pudding "^3.5.1"
+ glob "^7.1.4"
+ graceful-fs "^4.1.15"
+ infer-owner "^1.0.3"
+ lru-cache "^5.1.1"
+ mississippi "^3.0.0"
+ mkdirp "^0.5.1"
+ move-concurrently "^1.0.1"
+ promise-inflight "^1.0.1"
+ rimraf "^2.6.3"
+ ssri "^6.0.1"
+ unique-filename "^1.1.1"
+ y18n "^4.0.0"
+
+cache-base@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
+ integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==
+ dependencies:
+ collection-visit "^1.0.0"
+ component-emitter "^1.2.1"
+ get-value "^2.0.6"
+ has-value "^1.0.0"
+ isobject "^3.0.1"
+ set-value "^2.0.0"
+ to-object-path "^0.3.0"
+ union-value "^1.0.0"
+ unset-value "^1.0.0"
+
+call-bind@^1.0.0, call-bind@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
+ integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
+ dependencies:
+ function-bind "^1.1.1"
+ get-intrinsic "^1.0.2"
+
+call-me-maybe@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b"
+ integrity sha512-wCyFsDQkKPwwF8BDwOiWNx/9K45L/hvggQiDbve+viMNMQnWhrlYIuBk09offfwCRtCO9P6XwUttufzU11WCVw==
+
+caller-callsite@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134"
+ integrity sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==
+ dependencies:
+ callsites "^2.0.0"
+
+caller-path@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4"
+ integrity sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==
+ dependencies:
+ caller-callsite "^2.0.0"
+
+callsites@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
+ integrity sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==
+
+camelcase-keys@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
+ integrity sha512-bA/Z/DERHKqoEOrp+qeGKw1QlvEQkGZSc0XaY6VnTxZr+Kv1G5zFwttpjv8qxZ/sBPT4nthwZaAcsAZTJlSKXQ==
+ dependencies:
+ camelcase "^2.0.0"
+ map-obj "^1.0.0"
+
+camelcase-keys@^4.0.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77"
+ integrity sha512-Ej37YKYbFUI8QiYlvj9YHb6/Z60dZyPJW0Cs8sFilMbd2lP0bw3ylAq9yJkK4lcTA2dID5fG8LjmJYbO7kWb7Q==
+ dependencies:
+ camelcase "^4.1.0"
+ map-obj "^2.0.0"
+ quick-lru "^1.0.0"
+
+camelcase-keys@^6.2.2:
+ version "6.2.2"
+ resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0"
+ integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==
+ dependencies:
+ camelcase "^5.3.1"
+ map-obj "^4.0.0"
+ quick-lru "^4.0.1"
+
+camelcase@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
+ integrity sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==
+
+camelcase@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
+ integrity sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==
+
+camelcase@^5.0.0, camelcase@^5.3.1:
+ version "5.3.1"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
+ integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
+
+caniuse-lite@^1.0.30001358:
+ version "1.0.30001359"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001359.tgz#a1c1cbe1c2da9e689638813618b4219acbd4925e"
+ integrity sha512-Xln/BAsPzEuiVLgJ2/45IaqD9jShtk3Y33anKb4+yLwQzws3+v6odKfpgES/cDEaZMLzSChpIGdbOYtH9MyuHw==
+
+caseless@~0.12.0:
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
+ integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==
+
+chalk@^2.0.0, chalk@^2.3.1, chalk@^2.4.1, chalk@^2.4.2:
+ version "2.4.2"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
+ integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
+ dependencies:
+ ansi-styles "^3.2.1"
+ escape-string-regexp "^1.0.5"
+ supports-color "^5.3.0"
+
+chardet@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
+ integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
+
+chownr@^1.1.1, chownr@^1.1.2, chownr@^1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
+ integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
+
+ci-info@^1.5.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497"
+ integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==
+
+class-utils@^0.3.5:
+ version "0.3.6"
+ resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
+ integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==
+ dependencies:
+ arr-union "^3.1.0"
+ define-property "^0.2.5"
+ isobject "^3.0.0"
+ static-extend "^0.1.1"
+
+cli-cursor@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
+ integrity sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==
+ dependencies:
+ restore-cursor "^2.0.0"
+
+cli-width@^2.0.0:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48"
+ integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==
+
+cliui@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49"
+ integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==
+ dependencies:
+ string-width "^2.1.1"
+ strip-ansi "^4.0.0"
+ wrap-ansi "^2.0.0"
+
+clone@^1.0.2:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
+ integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==
+
+cmd-shim@^2.0.2:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-2.1.0.tgz#e59a08d4248dda3bb502044083a4db4ac890579a"
+ integrity sha512-A5C0Cyf2H8sKsHqX0tvIWRXw5/PK++3Dc0lDbsugr90nOECLLuSPahVQBG8pgmgiXgm/TzBWMqI2rWdZwHduAw==
+ dependencies:
+ graceful-fs "^4.1.2"
+ mkdirp "~0.5.0"
+
+code-point-at@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
+ integrity sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==
+
+collection-visit@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
+ integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==
+ dependencies:
+ map-visit "^1.0.0"
+ object-visit "^1.0.0"
+
+color-convert@^1.9.0:
+ version "1.9.3"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
+ integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
+ dependencies:
+ color-name "1.1.3"
+
+color-name@1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
+ integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
+
+columnify@^1.5.4:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.6.0.tgz#6989531713c9008bb29735e61e37acf5bd553cf3"
+ integrity sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==
+ dependencies:
+ strip-ansi "^6.0.1"
+ wcwidth "^1.0.0"
+
+combined-stream@^1.0.6, combined-stream@~1.0.6:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
+ integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
+ dependencies:
+ delayed-stream "~1.0.0"
+
+commondir@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
+ integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==
+
+compare-func@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3"
+ integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==
+ dependencies:
+ array-ify "^1.0.0"
+ dot-prop "^5.1.0"
+
+component-emitter@^1.2.1:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
+ integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==
+
+concat-map@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+ integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
+
+concat-stream@^1.5.0:
+ version "1.6.2"
+ resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
+ integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
+ dependencies:
+ buffer-from "^1.0.0"
+ inherits "^2.0.3"
+ readable-stream "^2.2.2"
+ typedarray "^0.0.6"
+
+concat-stream@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1"
+ integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==
+ dependencies:
+ buffer-from "^1.0.0"
+ inherits "^2.0.3"
+ readable-stream "^3.0.2"
+ typedarray "^0.0.6"
+
+config-chain@^1.1.11:
+ version "1.1.13"
+ resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4"
+ integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==
+ dependencies:
+ ini "^1.3.4"
+ proto-list "~1.2.1"
+
+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 sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==
+
+conventional-changelog-angular@^5.0.3:
+ version "5.0.13"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c"
+ integrity sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==
+ dependencies:
+ compare-func "^2.0.0"
+ q "^1.5.1"
+
+conventional-changelog-core@^3.1.6:
+ version "3.2.3"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-3.2.3.tgz#b31410856f431c847086a7dcb4d2ca184a7d88fb"
+ integrity sha512-LMMX1JlxPIq/Ez5aYAYS5CpuwbOk6QFp8O4HLAcZxe3vxoCtABkhfjetk8IYdRB9CDQGwJFLR3Dr55Za6XKgUQ==
+ dependencies:
+ conventional-changelog-writer "^4.0.6"
+ conventional-commits-parser "^3.0.3"
+ dateformat "^3.0.0"
+ get-pkg-repo "^1.0.0"
+ git-raw-commits "2.0.0"
+ git-remote-origin-url "^2.0.0"
+ git-semver-tags "^2.0.3"
+ lodash "^4.2.1"
+ normalize-package-data "^2.3.5"
+ q "^1.5.1"
+ read-pkg "^3.0.0"
+ read-pkg-up "^3.0.0"
+ through2 "^3.0.0"
+
+conventional-changelog-preset-loader@^2.1.1:
+ version "2.3.4"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz#14a855abbffd59027fd602581f1f34d9862ea44c"
+ integrity sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==
+
+conventional-changelog-writer@^4.0.6:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz#1ca7880b75aa28695ad33312a1f2366f4b12659f"
+ integrity sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw==
+ dependencies:
+ compare-func "^2.0.0"
+ conventional-commits-filter "^2.0.7"
+ dateformat "^3.0.0"
+ handlebars "^4.7.6"
+ json-stringify-safe "^5.0.1"
+ lodash "^4.17.15"
+ meow "^8.0.0"
+ semver "^6.0.0"
+ split "^1.0.0"
+ through2 "^4.0.0"
+
+conventional-commits-filter@^2.0.2, conventional-commits-filter@^2.0.7:
+ version "2.0.7"
+ resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz#f8d9b4f182fce00c9af7139da49365b136c8a0b3"
+ integrity sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==
+ dependencies:
+ lodash.ismatch "^4.4.0"
+ modify-values "^1.0.0"
+
+conventional-commits-parser@^3.0.2, conventional-commits-parser@^3.0.3:
+ version "3.2.4"
+ resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz#a7d3b77758a202a9b2293d2112a8d8052c740972"
+ integrity sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==
+ dependencies:
+ JSONStream "^1.0.4"
+ is-text-path "^1.0.1"
+ lodash "^4.17.15"
+ meow "^8.0.0"
+ split2 "^3.0.0"
+ through2 "^4.0.0"
+
+conventional-recommended-bump@^4.0.4:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-4.1.1.tgz#37014fadeda267d0607e2fc81124da840a585127"
+ integrity sha512-JT2vKfSP9kR18RXXf55BRY1O3AHG8FPg5btP3l7LYfcWJsiXI6MCf30DepQ98E8Qhowvgv7a8iev0J1bEDkTFA==
+ dependencies:
+ concat-stream "^2.0.0"
+ conventional-changelog-preset-loader "^2.1.1"
+ conventional-commits-filter "^2.0.2"
+ conventional-commits-parser "^3.0.2"
+ git-raw-commits "2.0.0"
+ git-semver-tags "^2.0.2"
+ meow "^4.0.0"
+ q "^1.5.1"
+
+convert-source-map@^1.7.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369"
+ integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==
+ dependencies:
+ safe-buffer "~5.1.1"
+
+copy-concurrently@^1.0.0:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0"
+ integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==
+ dependencies:
+ aproba "^1.1.1"
+ fs-write-stream-atomic "^1.0.8"
+ iferr "^0.1.5"
+ mkdirp "^0.5.1"
+ rimraf "^2.5.4"
+ run-queue "^1.0.0"
+
+copy-descriptor@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
+ integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==
+
+core-js-compat@^3.21.0, core-js-compat@^3.22.1:
+ version "3.23.3"
+ resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.23.3.tgz#7d8503185be76bb6d8d592c291a4457a8e440aa9"
+ integrity sha512-WSzUs2h2vvmKsacLHNTdpyOC9k43AEhcGoFlVgCY4L7aw98oSBKtPL6vD0/TqZjRWRQYdDSLkzZIni4Crbbiqw==
+ dependencies:
+ browserslist "^4.21.0"
+ semver "7.0.0"
+
+core-util-is@1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
+ integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==
+
+core-util-is@~1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
+ integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
+
+cosmiconfig@^5.1.0:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a"
+ integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==
+ dependencies:
+ import-fresh "^2.0.0"
+ is-directory "^0.3.1"
+ js-yaml "^3.13.1"
+ parse-json "^4.0.0"
+
+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"
+ integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
+ dependencies:
+ nice-try "^1.0.4"
+ path-key "^2.0.1"
+ semver "^5.5.0"
+ shebang-command "^1.2.0"
+ which "^1.2.9"
+
+currently-unhandled@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
+ integrity sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==
+ dependencies:
+ array-find-index "^1.0.1"
+
+cyclist@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9"
+ integrity sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==
+
+dargs@^4.0.1:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17"
+ integrity sha512-jyweV/k0rbv2WK4r9KLayuBrSh2Py0tNmV7LBoSMH4hMQyrG8OPyIOWB2VEx4DJKXWmK4lopYMVvORlDt2S8Aw==
+ dependencies:
+ number-is-nan "^1.0.0"
+
+dashdash@^1.12.0:
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
+ integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==
+ dependencies:
+ assert-plus "^1.0.0"
+
+dateformat@^3.0.0:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae"
+ integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==
+
+debug@3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
+ integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
+ dependencies:
+ ms "2.0.0"
+
+debug@^2.2.0, debug@^2.3.3:
+ version "2.6.9"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+ integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
+ dependencies:
+ ms "2.0.0"
+
+debug@^3.1.0:
+ version "3.2.7"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
+ integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
+ dependencies:
+ ms "^2.1.1"
+
+debug@^4.1.0, debug@^4.1.1:
+ version "4.3.4"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
+ integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
+ dependencies:
+ ms "2.1.2"
+
+debuglog@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492"
+ integrity sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw==
+
+decamelize-keys@^1.0.0, decamelize-keys@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9"
+ integrity sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==
+ dependencies:
+ decamelize "^1.1.0"
+ map-obj "^1.0.0"
+
+decamelize@^1.1.0, decamelize@^1.1.2, decamelize@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
+ integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==
+
+decode-uri-component@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
+ integrity sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==
+
+dedent@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
+ integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==
+
+deepmerge@^4.2.2:
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
+ integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
+
+defaults@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d"
+ integrity sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==
+ dependencies:
+ clone "^1.0.2"
+
+define-properties@^1.1.3, define-properties@^1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1"
+ integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==
+ dependencies:
+ has-property-descriptors "^1.0.0"
+ object-keys "^1.1.1"
+
+define-property@^0.2.5:
+ version "0.2.5"
+ resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
+ integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==
+ dependencies:
+ is-descriptor "^0.1.0"
+
+define-property@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"
+ integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==
+ dependencies:
+ is-descriptor "^1.0.0"
+
+define-property@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d"
+ integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==
+ dependencies:
+ is-descriptor "^1.0.2"
+ isobject "^3.0.1"
+
+delayed-stream@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+ integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
+
+delegates@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
+ integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==
+
+deprecation@^2.0.0, deprecation@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919"
+ integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==
+
+detect-indent@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d"
+ integrity sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==
+
+dezalgo@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.4.tgz#751235260469084c132157dfa857f386d4c33d81"
+ integrity sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==
+ dependencies:
+ asap "^2.0.0"
+ wrappy "1"
+
+dir-glob@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034"
+ integrity sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==
+ dependencies:
+ arrify "^1.0.1"
+ path-type "^3.0.0"
+
+dot-prop@^4.2.0:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.1.tgz#45884194a71fc2cda71cbb4bceb3a4dd2f433ba4"
+ integrity sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==
+ dependencies:
+ is-obj "^1.0.0"
+
+dot-prop@^5.1.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88"
+ integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==
+ dependencies:
+ is-obj "^2.0.0"
+
+duplexer@^0.1.1:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
+ integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==
+
+duplexify@^3.4.2, duplexify@^3.6.0:
+ version "3.7.1"
+ resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309"
+ integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==
+ dependencies:
+ end-of-stream "^1.0.0"
+ inherits "^2.0.1"
+ readable-stream "^2.0.0"
+ stream-shift "^1.0.0"
+
+ecc-jsbn@~0.1.1:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
+ integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==
+ dependencies:
+ jsbn "~0.1.0"
+ safer-buffer "^2.1.0"
+
+electron-to-chromium@^1.4.164:
+ version "1.4.170"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.170.tgz#0415fc489402e09bfbe1f0c99bbf4d73f31d48d4"
+ integrity sha512-rZ8PZLhK4ORPjFqLp9aqC4/S1j4qWFsPPz13xmWdrbBkU/LlxMcok+f+6f8YnQ57MiZwKtOaW15biZZsY5Igvw==
+
+emoji-regex@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
+ integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+
+encoding@^0.1.11:
+ version "0.1.13"
+ resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9"
+ integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==
+ dependencies:
+ iconv-lite "^0.6.2"
+
+end-of-stream@^1.0.0, end-of-stream@^1.1.0:
+ version "1.4.4"
+ resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
+ integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
+ dependencies:
+ once "^1.4.0"
+
+err-code@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960"
+ integrity sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==
+
+error-ex@^1.2.0, error-ex@^1.3.1:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
+ integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
+ dependencies:
+ is-arrayish "^0.2.1"
+
+es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5, es-abstract@^1.20.1:
+ version "1.20.1"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.1.tgz#027292cd6ef44bd12b1913b828116f54787d1814"
+ integrity sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==
+ dependencies:
+ call-bind "^1.0.2"
+ es-to-primitive "^1.2.1"
+ function-bind "^1.1.1"
+ function.prototype.name "^1.1.5"
+ get-intrinsic "^1.1.1"
+ get-symbol-description "^1.0.0"
+ has "^1.0.3"
+ has-property-descriptors "^1.0.0"
+ has-symbols "^1.0.3"
+ internal-slot "^1.0.3"
+ is-callable "^1.2.4"
+ is-negative-zero "^2.0.2"
+ is-regex "^1.1.4"
+ is-shared-array-buffer "^1.0.2"
+ is-string "^1.0.7"
+ is-weakref "^1.0.2"
+ object-inspect "^1.12.0"
+ object-keys "^1.1.1"
+ object.assign "^4.1.2"
+ regexp.prototype.flags "^1.4.3"
+ string.prototype.trimend "^1.0.5"
+ string.prototype.trimstart "^1.0.5"
+ unbox-primitive "^1.0.2"
+
+es-array-method-boxes-properly@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e"
+ integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==
+
+es-to-primitive@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
+ integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
+ dependencies:
+ is-callable "^1.1.4"
+ is-date-object "^1.0.1"
+ is-symbol "^1.0.2"
+
+es6-promise@^4.0.3:
+ version "4.2.8"
+ resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a"
+ integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==
+
+es6-promisify@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203"
+ integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==
+ dependencies:
+ es6-promise "^4.0.3"
+
+escalade@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
+ integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
+
+escape-string-regexp@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+ integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
+
+esprima@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
+ integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
+
+estree-walker@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700"
+ integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==
+
+estree-walker@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
+ integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
+
+esutils@^2.0.2:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
+ integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
+
+execa@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8"
+ integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==
+ dependencies:
+ cross-spawn "^6.0.0"
+ get-stream "^4.0.0"
+ is-stream "^1.1.0"
+ npm-run-path "^2.0.0"
+ p-finally "^1.0.0"
+ signal-exit "^3.0.0"
+ strip-eof "^1.0.0"
+
+expand-brackets@^2.1.4:
+ version "2.1.4"
+ resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
+ integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==
+ dependencies:
+ debug "^2.3.3"
+ define-property "^0.2.5"
+ extend-shallow "^2.0.1"
+ posix-character-classes "^0.1.0"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
+
+extend-shallow@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
+ integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==
+ dependencies:
+ is-extendable "^0.1.0"
+
+extend-shallow@^3.0.0, extend-shallow@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
+ integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==
+ dependencies:
+ assign-symbols "^1.0.0"
+ is-extendable "^1.0.1"
+
+extend@~3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
+ integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
+
+external-editor@^3.0.3:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495"
+ integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==
+ dependencies:
+ chardet "^0.7.0"
+ iconv-lite "^0.4.24"
+ tmp "^0.0.33"
+
+extglob@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
+ integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==
+ dependencies:
+ array-unique "^0.3.2"
+ define-property "^1.0.0"
+ expand-brackets "^2.1.4"
+ extend-shallow "^2.0.1"
+ fragment-cache "^0.2.1"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
+
+extsprintf@1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
+ integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==
+
+extsprintf@^1.2.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07"
+ integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==
+
+fast-deep-equal@^3.1.1:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
+ integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
+
+fast-glob@^2.0.2:
+ version "2.2.7"
+ resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d"
+ integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==
+ dependencies:
+ "@mrmlnc/readdir-enhanced" "^2.2.1"
+ "@nodelib/fs.stat" "^1.1.2"
+ glob-parent "^3.1.0"
+ is-glob "^4.0.0"
+ merge2 "^1.2.3"
+ micromatch "^3.1.10"
+
+fast-json-stable-stringify@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
+ integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
+
+figgy-pudding@^3.4.1, figgy-pudding@^3.5.1:
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e"
+ integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==
+
+figures@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
+ integrity sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==
+ dependencies:
+ escape-string-regexp "^1.0.5"
+
+fill-range@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
+ integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==
+ dependencies:
+ extend-shallow "^2.0.1"
+ is-number "^3.0.0"
+ repeat-string "^1.6.1"
+ to-regex-range "^2.1.0"
+
+filter-obj@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b"
+ integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==
+
+find-up@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
+ integrity sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==
+ dependencies:
+ path-exists "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+find-up@^2.0.0, find-up@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
+ integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==
+ dependencies:
+ locate-path "^2.0.0"
+
+find-up@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
+ integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
+ dependencies:
+ locate-path "^3.0.0"
+
+find-up@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
+ integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
+ dependencies:
+ locate-path "^5.0.0"
+ path-exists "^4.0.0"
+
+flush-write-stream@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8"
+ integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==
+ dependencies:
+ inherits "^2.0.3"
+ readable-stream "^2.3.6"
+
+for-in@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
+ integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==
+
+forever-agent@~0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
+ integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==
+
+form-data@~2.3.2:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
+ integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.6"
+ mime-types "^2.1.12"
+
+fragment-cache@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
+ integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==
+ dependencies:
+ map-cache "^0.2.2"
+
+from2@^2.1.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af"
+ integrity sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==
+ dependencies:
+ inherits "^2.0.1"
+ readable-stream "^2.0.0"
+
+fs-extra@^7.0.0:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9"
+ integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==
+ dependencies:
+ graceful-fs "^4.1.2"
+ jsonfile "^4.0.0"
+ universalify "^0.1.0"
+
+fs-minipass@^1.2.7:
+ version "1.2.7"
+ resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7"
+ integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==
+ dependencies:
+ minipass "^2.6.0"
+
+fs-write-stream-atomic@^1.0.8:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9"
+ integrity sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==
+ dependencies:
+ graceful-fs "^4.1.2"
+ iferr "^0.1.5"
+ imurmurhash "^0.1.4"
+ readable-stream "1 || 2"
+
+fs.realpath@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+ integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
+
+fsevents@~2.3.2:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
+ integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
+
+function-bind@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+ integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+
+function.prototype.name@^1.1.5:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621"
+ integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+ es-abstract "^1.19.0"
+ functions-have-names "^1.2.2"
+
+functions-have-names@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
+ integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
+
+gauge@~2.7.3:
+ version "2.7.4"
+ resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
+ integrity sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==
+ dependencies:
+ aproba "^1.0.3"
+ console-control-strings "^1.0.0"
+ has-unicode "^2.0.0"
+ object-assign "^4.1.0"
+ signal-exit "^3.0.0"
+ string-width "^1.0.1"
+ strip-ansi "^3.0.1"
+ wide-align "^1.1.0"
+
+genfun@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/genfun/-/genfun-5.0.0.tgz#9dd9710a06900a5c4a5bf57aca5da4e52fe76537"
+ integrity sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==
+
+gensync@^1.0.0-beta.2:
+ version "1.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
+ integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
+
+get-caller-file@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
+ integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==
+
+get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598"
+ integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==
+ dependencies:
+ function-bind "^1.1.1"
+ has "^1.0.3"
+ has-symbols "^1.0.3"
+
+get-pkg-repo@^1.0.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz#c73b489c06d80cc5536c2c853f9e05232056972d"
+ integrity sha512-xPCyvcEOxCJDxhBfXDNH+zA7mIRGb2aY1gIUJWsZkpJbp1BLHl+/Sycg26Dv+ZbZAJkO61tzbBtqHUi30NGBvg==
+ dependencies:
+ hosted-git-info "^2.1.4"
+ meow "^3.3.0"
+ normalize-package-data "^2.3.0"
+ parse-github-repo-url "^1.3.0"
+ through2 "^2.0.0"
+
+get-port@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc"
+ integrity sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==
+
+get-stdin@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
+ integrity sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==
+
+get-stream@^4.0.0, get-stream@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
+ integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
+ dependencies:
+ pump "^3.0.0"
+
+get-symbol-description@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6"
+ integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==
+ dependencies:
+ call-bind "^1.0.2"
+ get-intrinsic "^1.1.1"
+
+get-value@^2.0.3, get-value@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
+ integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==
+
+getpass@^0.1.1:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
+ integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==
+ dependencies:
+ assert-plus "^1.0.0"
+
+git-raw-commits@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.0.tgz#d92addf74440c14bcc5c83ecce3fb7f8a79118b5"
+ integrity sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg==
+ dependencies:
+ dargs "^4.0.1"
+ lodash.template "^4.0.2"
+ meow "^4.0.0"
+ split2 "^2.0.0"
+ through2 "^2.0.0"
+
+git-remote-origin-url@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f"
+ integrity sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==
+ dependencies:
+ gitconfiglocal "^1.0.0"
+ pify "^2.3.0"
+
+git-semver-tags@^2.0.2, git-semver-tags@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-2.0.3.tgz#48988a718acf593800f99622a952a77c405bfa34"
+ integrity sha512-tj4FD4ww2RX2ae//jSrXZzrocla9db5h0V7ikPl1P/WwoZar9epdUhwR7XHXSgc+ZkNq72BEEerqQuicoEQfzA==
+ dependencies:
+ meow "^4.0.0"
+ semver "^6.0.0"
+
+git-up@^4.0.0:
+ version "4.0.5"
+ resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.5.tgz#e7bb70981a37ea2fb8fe049669800a1f9a01d759"
+ integrity sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA==
+ dependencies:
+ is-ssh "^1.3.0"
+ parse-url "^6.0.0"
+
+git-url-parse@^11.1.2:
+ version "11.6.0"
+ resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-11.6.0.tgz#c634b8de7faa66498a2b88932df31702c67df605"
+ integrity sha512-WWUxvJs5HsyHL6L08wOusa/IXYtMuCAhrMmnTjQPpBU0TTHyDhnOATNH3xNQz7YOQUsqIIPTGr4xiVti1Hsk5g==
+ dependencies:
+ git-up "^4.0.0"
+
+gitconfiglocal@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b"
+ integrity sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==
+ dependencies:
+ ini "^1.3.2"
+
+glob-parent@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
+ integrity sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==
+ dependencies:
+ is-glob "^3.1.0"
+ path-dirname "^1.0.0"
+
+glob-to-regexp@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab"
+ integrity sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==
+
+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.2.3"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
+ integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.1.1"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+globals@^11.1.0:
+ version "11.12.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
+ integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
+
+globby@^8.0.1:
+ version "8.0.2"
+ resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d"
+ integrity sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==
+ dependencies:
+ array-union "^1.0.1"
+ dir-glob "2.0.0"
+ fast-glob "^2.0.2"
+ glob "^7.1.2"
+ ignore "^3.3.5"
+ pify "^3.0.0"
+ slash "^1.0.0"
+
+graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6:
+ version "4.2.10"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
+ integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
+
+handlebars@^4.7.6:
+ version "4.7.7"
+ resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1"
+ integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==
+ dependencies:
+ minimist "^1.2.5"
+ neo-async "^2.6.0"
+ source-map "^0.6.1"
+ wordwrap "^1.0.0"
+ optionalDependencies:
+ uglify-js "^3.1.4"
+
+har-schema@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
+ integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==
+
+har-validator@~5.1.3:
+ version "5.1.5"
+ resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd"
+ integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==
+ dependencies:
+ ajv "^6.12.3"
+ har-schema "^2.0.0"
+
+hard-rejection@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883"
+ integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==
+
+has-bigints@^1.0.1, has-bigints@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa"
+ integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==
+
+has-flag@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
+ integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
+
+has-property-descriptors@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861"
+ integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==
+ dependencies:
+ get-intrinsic "^1.1.1"
+
+has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
+ integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
+
+has-tostringtag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25"
+ integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==
+ dependencies:
+ has-symbols "^1.0.2"
+
+has-unicode@^2.0.0, has-unicode@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
+ integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==
+
+has-value@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
+ integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==
+ dependencies:
+ get-value "^2.0.3"
+ has-values "^0.1.4"
+ isobject "^2.0.0"
+
+has-value@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177"
+ integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==
+ dependencies:
+ get-value "^2.0.6"
+ has-values "^1.0.0"
+ isobject "^3.0.0"
+
+has-values@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771"
+ integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==
+
+has-values@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f"
+ integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==
+ dependencies:
+ is-number "^3.0.0"
+ kind-of "^4.0.0"
+
+has@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
+ integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+ dependencies:
+ function-bind "^1.1.1"
+
+hosted-git-info@^2.1.4, hosted-git-info@^2.7.1:
+ version "2.8.9"
+ resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9"
+ integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==
+
+hosted-git-info@^4.0.1:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224"
+ integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==
+ dependencies:
+ lru-cache "^6.0.0"
+
+http-cache-semantics@^3.8.1:
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2"
+ integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==
+
+http-proxy-agent@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405"
+ integrity sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==
+ dependencies:
+ agent-base "4"
+ debug "3.1.0"
+
+http-signature@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
+ integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==
+ dependencies:
+ assert-plus "^1.0.0"
+ jsprim "^1.2.2"
+ sshpk "^1.7.0"
+
+https-proxy-agent@^2.2.1, 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"
+ integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==
+ dependencies:
+ agent-base "^4.3.0"
+ debug "^3.1.0"
+
+humanize-ms@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed"
+ integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==
+ dependencies:
+ ms "^2.0.0"
+
+iconv-lite@^0.4.24:
+ version "0.4.24"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
+ integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
+ dependencies:
+ safer-buffer ">= 2.1.2 < 3"
+
+iconv-lite@^0.6.2:
+ version "0.6.3"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501"
+ integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
+ dependencies:
+ safer-buffer ">= 2.1.2 < 3.0.0"
+
+iferr@^0.1.5:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
+ integrity sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==
+
+ignore-walk@^3.0.1:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.4.tgz#c9a09f69b7c7b479a5d74ac1a3c0d4236d2a6335"
+ integrity sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==
+ dependencies:
+ minimatch "^3.0.4"
+
+ignore@^3.3.5:
+ version "3.3.10"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
+ integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==
+
+import-fresh@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546"
+ integrity sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==
+ dependencies:
+ caller-path "^2.0.0"
+ resolve-from "^3.0.0"
+
+import-local@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/import-local/-/import-local-1.0.0.tgz#5e4ffdc03f4fe6c009c6729beb29631c2f8227bc"
+ integrity sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==
+ dependencies:
+ pkg-dir "^2.0.0"
+ resolve-cwd "^2.0.0"
+
+imurmurhash@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+ integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
+
+indent-string@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
+ integrity sha512-aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg==
+ dependencies:
+ repeating "^2.0.0"
+
+indent-string@^3.0.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289"
+ integrity sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==
+
+indent-string@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
+ integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
+
+infer-owner@^1.0.3, infer-owner@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467"
+ integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==
+
+inflight@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
+ dependencies:
+ once "^1.3.0"
+ wrappy "1"
+
+inherits@2, 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==
+
+ini@^1.3.2, ini@^1.3.4:
+ version "1.3.8"
+ resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
+ integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
+
+init-package-json@^1.10.3:
+ version "1.10.3"
+ resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-1.10.3.tgz#45ffe2f610a8ca134f2bd1db5637b235070f6cbe"
+ integrity sha512-zKSiXKhQveNteyhcj1CoOP8tqp1QuxPIPBl8Bid99DGLFqA1p87M6lNgfjJHSBoWJJlidGOv5rWjyYKEB3g2Jw==
+ dependencies:
+ glob "^7.1.1"
+ npm-package-arg "^4.0.0 || ^5.0.0 || ^6.0.0"
+ promzard "^0.3.0"
+ read "~1.0.1"
+ read-package-json "1 || 2"
+ semver "2.x || 3.x || 4 || 5"
+ validate-npm-package-license "^3.0.1"
+ validate-npm-package-name "^3.0.0"
+
+inquirer@^6.2.0:
+ version "6.5.2"
+ resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca"
+ integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==
+ dependencies:
+ ansi-escapes "^3.2.0"
+ chalk "^2.4.2"
+ cli-cursor "^2.1.0"
+ cli-width "^2.0.0"
+ external-editor "^3.0.3"
+ figures "^2.0.0"
+ lodash "^4.17.12"
+ mute-stream "0.0.7"
+ run-async "^2.2.0"
+ rxjs "^6.4.0"
+ string-width "^2.1.0"
+ strip-ansi "^5.1.0"
+ through "^2.3.6"
+
+internal-slot@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c"
+ integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==
+ dependencies:
+ get-intrinsic "^1.1.0"
+ has "^1.0.3"
+ side-channel "^1.0.4"
+
+invert-kv@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02"
+ integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==
+
+ip@1.1.5:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a"
+ integrity sha512-rBtCAQAJm8A110nbwn6YdveUnuZH3WrC36IwkRXxDnq53JvXA2NVQvB7IHyKomxK1MJ4VDNw3UtFDdXQ+AvLYA==
+
+is-accessor-descriptor@^0.1.6:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
+ integrity sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==
+ dependencies:
+ kind-of "^3.0.2"
+
+is-accessor-descriptor@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656"
+ integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==
+ dependencies:
+ kind-of "^6.0.0"
+
+is-arrayish@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
+ integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
+
+is-bigint@^1.0.1:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3"
+ integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==
+ dependencies:
+ has-bigints "^1.0.1"
+
+is-boolean-object@^1.1.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719"
+ integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==
+ dependencies:
+ call-bind "^1.0.2"
+ has-tostringtag "^1.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"
+ integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
+
+is-builtin-module@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.1.0.tgz#6fdb24313b1c03b75f8b9711c0feb8c30b903b00"
+ integrity sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==
+ dependencies:
+ builtin-modules "^3.0.0"
+
+is-callable@^1.1.4, is-callable@^1.2.4:
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945"
+ integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==
+
+is-ci@^1.0.10:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c"
+ integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==
+ dependencies:
+ ci-info "^1.5.0"
+
+is-core-module@^2.5.0, is-core-module@^2.9.0:
+ version "2.9.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69"
+ integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==
+ dependencies:
+ has "^1.0.3"
+
+is-data-descriptor@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
+ integrity sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==
+ dependencies:
+ kind-of "^3.0.2"
+
+is-data-descriptor@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7"
+ integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==
+ dependencies:
+ kind-of "^6.0.0"
+
+is-date-object@^1.0.1:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f"
+ integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==
+ dependencies:
+ has-tostringtag "^1.0.0"
+
+is-descriptor@^0.1.0:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
+ integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==
+ dependencies:
+ is-accessor-descriptor "^0.1.6"
+ is-data-descriptor "^0.1.4"
+ kind-of "^5.0.0"
+
+is-descriptor@^1.0.0, is-descriptor@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec"
+ integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==
+ dependencies:
+ is-accessor-descriptor "^1.0.0"
+ is-data-descriptor "^1.0.0"
+ kind-of "^6.0.2"
+
+is-directory@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
+ integrity sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==
+
+is-extendable@^0.1.0, is-extendable@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
+ integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==
+
+is-extendable@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
+ integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==
+ dependencies:
+ is-plain-object "^2.0.4"
+
+is-extglob@^2.1.0, is-extglob@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+ integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
+
+is-finite@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3"
+ integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==
+
+is-fullwidth-code-point@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
+ integrity sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==
+ dependencies:
+ number-is-nan "^1.0.0"
+
+is-fullwidth-code-point@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
+ integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==
+
+is-fullwidth-code-point@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
+ integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
+
+is-glob@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
+ integrity sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==
+ dependencies:
+ is-extglob "^2.1.0"
+
+is-glob@^4.0.0:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
+ integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
+ dependencies:
+ is-extglob "^2.1.1"
+
+is-module@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
+ integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==
+
+is-negative-zero@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150"
+ integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==
+
+is-number-object@^1.0.4:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc"
+ integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==
+ dependencies:
+ has-tostringtag "^1.0.0"
+
+is-number@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
+ integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==
+ dependencies:
+ kind-of "^3.0.2"
+
+is-obj@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
+ integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==
+
+is-obj@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
+ integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
+
+is-plain-obj@^1.0.0, is-plain-obj@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
+ integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==
+
+is-plain-object@^2.0.3, is-plain-object@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
+ integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
+ dependencies:
+ isobject "^3.0.1"
+
+is-plain-object@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344"
+ integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==
+
+is-reference@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7"
+ integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==
+ dependencies:
+ "@types/estree" "*"
+
+is-regex@^1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"
+ integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==
+ dependencies:
+ call-bind "^1.0.2"
+ has-tostringtag "^1.0.0"
+
+is-shared-array-buffer@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79"
+ integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==
+ dependencies:
+ call-bind "^1.0.2"
+
+is-ssh@^1.3.0:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.3.tgz#7f133285ccd7f2c2c7fc897b771b53d95a2b2c7e"
+ integrity sha512-NKzJmQzJfEEma3w5cJNcUMxoXfDjz0Zj0eyCalHn2E6VOwlzjZo0yuO2fcBSf8zhFuVCL/82/r5gRcoi6aEPVQ==
+ dependencies:
+ protocols "^1.1.0"
+
+is-stream@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
+ integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==
+
+is-string@^1.0.5, is-string@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd"
+ integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==
+ dependencies:
+ has-tostringtag "^1.0.0"
+
+is-symbol@^1.0.2, is-symbol@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c"
+ integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==
+ dependencies:
+ has-symbols "^1.0.2"
+
+is-text-path@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e"
+ integrity sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==
+ dependencies:
+ text-extensions "^1.0.0"
+
+is-typedarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
+ integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==
+
+is-utf8@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
+ integrity sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==
+
+is-weakref@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2"
+ integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==
+ dependencies:
+ call-bind "^1.0.2"
+
+is-windows@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
+ integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
+
+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 sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
+
+isexe@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+ integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
+
+isobject@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
+ integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==
+ dependencies:
+ isarray "1.0.0"
+
+isobject@^3.0.0, isobject@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
+ integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==
+
+isstream@~0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
+ integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==
+
+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==
+
+js-yaml@^3.13.1:
+ version "3.14.1"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
+ integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
+ dependencies:
+ argparse "^1.0.7"
+ esprima "^4.0.0"
+
+jsbn@~0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
+ integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==
+
+jsesc@^2.5.1:
+ version "2.5.2"
+ resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
+ integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
+
+jsesc@~0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
+ integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==
+
+json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
+ integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
+
+json-parse-even-better-errors@^2.3.0:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
+ integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
+
+json-schema-traverse@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
+ integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
+
+json-schema@0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5"
+ integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==
+
+json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
+ integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==
+
+json5@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c"
+ integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==
+
+jsonfile@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
+ integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
+jsonparse@^1.2.0:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280"
+ integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==
+
+jsprim@^1.2.2:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb"
+ integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==
+ dependencies:
+ assert-plus "1.0.0"
+ extsprintf "1.3.0"
+ json-schema "0.4.0"
+ verror "1.10.0"
+
+kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
+ integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==
+ dependencies:
+ is-buffer "^1.1.5"
+
+kind-of@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
+ integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==
+ dependencies:
+ is-buffer "^1.1.5"
+
+kind-of@^5.0.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
+ integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
+
+kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
+ integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
+
+lcid@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf"
+ integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==
+ dependencies:
+ invert-kv "^2.0.0"
+
+lerna@3.13.4:
+ version "3.13.4"
+ resolved "https://registry.yarnpkg.com/lerna/-/lerna-3.13.4.tgz#03026c11c5643f341fda42e4fb1882e2df35e6cb"
+ integrity sha512-qTp22nlpcgVrJGZuD7oHnFbTk72j2USFimc2Pj4kC0/rXmcU2xPtCiyuxLl8y6/6Lj5g9kwEuvKDZtSXujjX/A==
+ dependencies:
+ "@lerna/add" "3.13.3"
+ "@lerna/bootstrap" "3.13.3"
+ "@lerna/changed" "3.13.4"
+ "@lerna/clean" "3.13.3"
+ "@lerna/cli" "3.13.0"
+ "@lerna/create" "3.13.3"
+ "@lerna/diff" "3.13.3"
+ "@lerna/exec" "3.13.3"
+ "@lerna/import" "3.13.4"
+ "@lerna/init" "3.13.3"
+ "@lerna/link" "3.13.3"
+ "@lerna/list" "3.13.3"
+ "@lerna/publish" "3.13.4"
+ "@lerna/run" "3.13.3"
+ "@lerna/version" "3.13.4"
+ import-local "^1.0.0"
+ npmlog "^4.1.2"
+
+libnpmaccess@^3.0.1:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-3.0.2.tgz#8b2d72345ba3bef90d3b4f694edd5c0417f58923"
+ integrity sha512-01512AK7MqByrI2mfC7h5j8N9V4I7MHJuk9buo8Gv+5QgThpOgpjB7sQBDDkeZqRteFb1QM/6YNdHfG7cDvfAQ==
+ dependencies:
+ aproba "^2.0.0"
+ get-stream "^4.0.0"
+ npm-package-arg "^6.1.0"
+ npm-registry-fetch "^4.0.0"
+
+libnpmpublish@^1.1.1:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-1.1.3.tgz#e3782796722d79eef1a0a22944c117e0c4ca4280"
+ integrity sha512-/3LsYqVc52cHXBmu26+J8Ed7sLs/hgGVFMH1mwYpL7Qaynb9RenpKqIKu0sJ130FB9PMkpMlWjlbtU8A4m7CQw==
+ dependencies:
+ aproba "^2.0.0"
+ figgy-pudding "^3.5.1"
+ get-stream "^4.0.0"
+ lodash.clonedeep "^4.5.0"
+ normalize-package-data "^2.4.0"
+ npm-package-arg "^6.1.0"
+ npm-registry-fetch "^4.0.0"
+ semver "^5.5.1"
+ ssri "^6.0.1"
+
+lines-and-columns@^1.1.6:
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
+ integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
+
+load-json-file@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
+ integrity sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^2.2.0"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+ strip-bom "^2.0.0"
+
+load-json-file@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b"
+ integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^4.0.0"
+ pify "^3.0.0"
+ strip-bom "^3.0.0"
+
+locate-path@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
+ integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==
+ dependencies:
+ p-locate "^2.0.0"
+ path-exists "^3.0.0"
+
+locate-path@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
+ integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
+ dependencies:
+ p-locate "^3.0.0"
+ path-exists "^3.0.0"
+
+locate-path@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
+ integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
+ dependencies:
+ p-locate "^4.1.0"
+
+lodash._reinterpolate@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
+ integrity sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==
+
+lodash.clonedeep@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
+ integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==
+
+lodash.debounce@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
+ integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
+
+lodash.get@^4.4.2:
+ version "4.4.2"
+ resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
+ integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==
+
+lodash.ismatch@^4.4.0:
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37"
+ integrity sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==
+
+lodash.set@^4.3.2:
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23"
+ integrity sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==
+
+lodash.sortby@^4.7.0:
+ version "4.7.0"
+ resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
+ integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==
+
+lodash.template@^4.0.2:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab"
+ integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==
+ dependencies:
+ lodash._reinterpolate "^3.0.0"
+ lodash.templatesettings "^4.0.0"
+
+lodash.templatesettings@^4.0.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33"
+ integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==
+ dependencies:
+ lodash._reinterpolate "^3.0.0"
+
+lodash.uniq@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
+ integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==
+
+lodash@^4.17.12, lodash@^4.17.15, lodash@^4.17.5, lodash@^4.2.1:
+ version "4.17.21"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
+ integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+
+loud-rejection@^1.0.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
+ integrity sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==
+ dependencies:
+ currently-unhandled "^0.4.1"
+ signal-exit "^3.0.0"
+
+lru-cache@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
+ integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
+ dependencies:
+ yallist "^3.0.2"
+
+lru-cache@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
+ integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
+ dependencies:
+ yallist "^4.0.0"
+
+macos-release@^2.2.0:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.5.0.tgz#067c2c88b5f3fb3c56a375b2ec93826220fa1ff2"
+ integrity sha512-EIgv+QZ9r+814gjJj0Bt5vSLJLzswGmSUbUpbi9AIr/fsN2IWFBl2NucV9PAiek+U1STK468tEkxmVYUtuAN3g==
+
+magic-string@^0.25.7:
+ version "0.25.9"
+ resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c"
+ integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==
+ dependencies:
+ sourcemap-codec "^1.4.8"
+
+make-dir@^1.0.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c"
+ integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==
+ dependencies:
+ pify "^3.0.0"
+
+make-fetch-happen@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-4.0.2.tgz#2d156b11696fb32bffbafe1ac1bc085dd6c78a79"
+ integrity sha512-YMJrAjHSb/BordlsDEcVcPyTbiJKkzqMf48N8dAJZT9Zjctrkb6Yg4TY9Sq2AwSIQJFn5qBBKVTYt3vP5FMIHA==
+ dependencies:
+ agentkeepalive "^3.4.1"
+ cacache "^11.3.3"
+ http-cache-semantics "^3.8.1"
+ http-proxy-agent "^2.1.0"
+ https-proxy-agent "^2.2.1"
+ lru-cache "^5.1.1"
+ mississippi "^3.0.0"
+ node-fetch-npm "^2.0.2"
+ promise-retry "^1.1.1"
+ socks-proxy-agent "^4.0.0"
+ ssri "^6.0.0"
+
+make-fetch-happen@^5.0.0:
+ version "5.0.2"
+ resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz#aa8387104f2687edca01c8687ee45013d02d19bd"
+ integrity sha512-07JHC0r1ykIoruKO8ifMXu+xEU8qOXDFETylktdug6vJDACnP+HKevOu3PXyNPzFyTSlz8vrBYlBO1JZRe8Cag==
+ dependencies:
+ agentkeepalive "^3.4.1"
+ cacache "^12.0.0"
+ http-cache-semantics "^3.8.1"
+ http-proxy-agent "^2.1.0"
+ https-proxy-agent "^2.2.3"
+ lru-cache "^5.1.1"
+ mississippi "^3.0.0"
+ node-fetch-npm "^2.0.2"
+ promise-retry "^1.1.1"
+ socks-proxy-agent "^4.0.0"
+ ssri "^6.0.0"
+
+map-age-cleaner@^0.1.1:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a"
+ integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==
+ dependencies:
+ p-defer "^1.0.0"
+
+map-cache@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
+ integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==
+
+map-obj@^1.0.0, map-obj@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
+ integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==
+
+map-obj@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9"
+ integrity sha512-TzQSV2DiMYgoF5RycneKVUzIa9bQsj/B3tTgsE3dOGqlzHnGIDaC7XBE7grnA+8kZPnfqSGFe95VHc2oc0VFUQ==
+
+map-obj@^4.0.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a"
+ integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==
+
+map-visit@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
+ integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==
+ dependencies:
+ object-visit "^1.0.0"
+
+mem@^4.0.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178"
+ integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==
+ dependencies:
+ map-age-cleaner "^0.1.1"
+ mimic-fn "^2.0.0"
+ p-is-promise "^2.0.0"
+
+memorystream@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2"
+ integrity sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==
+
+meow@^3.3.0:
+ version "3.7.0"
+ resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
+ integrity sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA==
+ dependencies:
+ camelcase-keys "^2.0.0"
+ decamelize "^1.1.2"
+ loud-rejection "^1.0.0"
+ map-obj "^1.0.1"
+ minimist "^1.1.3"
+ normalize-package-data "^2.3.4"
+ object-assign "^4.0.1"
+ read-pkg-up "^1.0.1"
+ redent "^1.0.0"
+ trim-newlines "^1.0.0"
+
+meow@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/meow/-/meow-4.0.1.tgz#d48598f6f4b1472f35bf6317a95945ace347f975"
+ integrity sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==
+ dependencies:
+ camelcase-keys "^4.0.0"
+ decamelize-keys "^1.0.0"
+ loud-rejection "^1.0.0"
+ minimist "^1.1.3"
+ minimist-options "^3.0.1"
+ normalize-package-data "^2.3.4"
+ read-pkg-up "^3.0.0"
+ redent "^2.0.0"
+ trim-newlines "^2.0.0"
+
+meow@^8.0.0:
+ version "8.1.2"
+ resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897"
+ integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==
+ dependencies:
+ "@types/minimist" "^1.2.0"
+ camelcase-keys "^6.2.2"
+ decamelize-keys "^1.1.0"
+ hard-rejection "^2.1.0"
+ minimist-options "4.1.0"
+ normalize-package-data "^3.0.0"
+ read-pkg-up "^7.0.1"
+ redent "^3.0.0"
+ trim-newlines "^3.0.0"
+ type-fest "^0.18.0"
+ yargs-parser "^20.2.3"
+
+merge2@^1.2.3:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
+ integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
+
+micromatch@^3.1.10:
+ version "3.1.10"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
+ integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
+ dependencies:
+ arr-diff "^4.0.0"
+ array-unique "^0.3.2"
+ braces "^2.3.1"
+ define-property "^2.0.2"
+ extend-shallow "^3.0.2"
+ extglob "^2.0.4"
+ fragment-cache "^0.2.1"
+ kind-of "^6.0.2"
+ nanomatch "^1.2.9"
+ object.pick "^1.3.0"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.2"
+
+mime-db@1.52.0:
+ version "1.52.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
+ integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
+
+mime-types@^2.1.12, mime-types@~2.1.19:
+ version "2.1.35"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
+ integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
+ dependencies:
+ mime-db "1.52.0"
+
+mimic-fn@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
+ integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==
+
+mimic-fn@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
+ integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
+
+min-indent@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869"
+ integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==
+
+minimatch@^3.0.0, minimatch@^3.0.4, minimatch@^3.1.1:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
+ integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
+ dependencies:
+ brace-expansion "^1.1.7"
+
+minimist-options@4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619"
+ integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==
+ dependencies:
+ arrify "^1.0.1"
+ is-plain-obj "^1.1.0"
+ kind-of "^6.0.3"
+
+minimist-options@^3.0.1:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954"
+ integrity sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==
+ dependencies:
+ arrify "^1.0.1"
+ is-plain-obj "^1.1.0"
+
+minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6:
+ version "1.2.6"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
+ integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
+
+minipass@^2.3.5, minipass@^2.6.0, minipass@^2.9.0:
+ version "2.9.0"
+ resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6"
+ integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==
+ dependencies:
+ safe-buffer "^5.1.2"
+ yallist "^3.0.0"
+
+minizlib@^1.3.3:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d"
+ integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==
+ dependencies:
+ minipass "^2.9.0"
+
+mississippi@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022"
+ integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==
+ dependencies:
+ concat-stream "^1.5.0"
+ duplexify "^3.4.2"
+ end-of-stream "^1.1.0"
+ flush-write-stream "^1.0.0"
+ from2 "^2.1.0"
+ parallel-transform "^1.1.0"
+ pump "^3.0.0"
+ pumpify "^1.3.3"
+ stream-each "^1.1.0"
+ through2 "^2.0.0"
+
+mixin-deep@^1.2.0:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566"
+ integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==
+ dependencies:
+ for-in "^1.0.2"
+ is-extendable "^1.0.1"
+
+mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.5, mkdirp@~0.5.0:
+ version "0.5.6"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6"
+ integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==
+ dependencies:
+ minimist "^1.2.6"
+
+modify-values@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022"
+ integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==
+
+move-concurrently@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
+ integrity sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==
+ dependencies:
+ aproba "^1.1.1"
+ copy-concurrently "^1.0.0"
+ fs-write-stream-atomic "^1.0.8"
+ mkdirp "^0.5.1"
+ rimraf "^2.5.4"
+ run-queue "^1.0.3"
+
+ms@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+ integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
+
+ms@2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
+ integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+
+ms@^2.0.0, ms@^2.1.1:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
+ integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+
+multimatch@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b"
+ integrity sha512-0mzK8ymiWdehTBiJh0vClAzGyQbdtyWqzSVx//EK4N/D+599RFlGfTAsKw2zMSABtDG9C6Ul2+t8f2Lbdjf5mA==
+ dependencies:
+ array-differ "^1.0.0"
+ array-union "^1.0.1"
+ arrify "^1.0.0"
+ minimatch "^3.0.0"
+
+mute-stream@0.0.7:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
+ integrity sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==
+
+mute-stream@~0.0.4:
+ version "0.0.8"
+ resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
+ integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
+
+nanomatch@^1.2.9:
+ version "1.2.13"
+ resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
+ integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==
+ dependencies:
+ arr-diff "^4.0.0"
+ array-unique "^0.3.2"
+ define-property "^2.0.2"
+ extend-shallow "^3.0.2"
+ fragment-cache "^0.2.1"
+ is-windows "^1.0.2"
+ kind-of "^6.0.2"
+ object.pick "^1.3.0"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
+
+neo-async@^2.6.0:
+ version "2.6.2"
+ resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
+ integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
+
+nice-try@^1.0.4:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
+ integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
+
+node-fetch-npm@^2.0.2:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz#6507d0e17a9ec0be3bec516958a497cec54bf5a4"
+ integrity sha512-iOuIQDWDyjhv9qSDrj9aq/klt6F9z1p2otB3AV7v3zBDcL/x+OfGsvGQZZCcMZbUf4Ujw1xGNQkjvGnVT22cKg==
+ dependencies:
+ encoding "^0.1.11"
+ json-parse-better-errors "^1.0.0"
+ safe-buffer "^5.1.1"
+
+node-fetch@^2.6.7:
+ version "2.6.7"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad"
+ integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==
+ dependencies:
+ whatwg-url "^5.0.0"
+
+node-gyp@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-4.0.0.tgz#972654af4e5dd0cd2a19081b4b46fe0442ba6f45"
+ integrity sha512-2XiryJ8sICNo6ej8d0idXDEMKfVfFK7kekGCtJAuelGsYHQxhj13KTf95swTCN2dZ/4lTfZ84Fu31jqJEEgjWA==
+ dependencies:
+ glob "^7.0.3"
+ graceful-fs "^4.1.2"
+ mkdirp "^0.5.0"
+ nopt "2 || 3"
+ npmlog "0 || 1 || 2 || 3 || 4"
+ osenv "0"
+ request "^2.87.0"
+ rimraf "2"
+ semver "~5.3.0"
+ tar "^4.4.8"
+ which "1"
+
+node-releases@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.5.tgz#280ed5bc3eba0d96ce44897d8aee478bfb3d9666"
+ integrity sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==
+
+"nopt@2 || 3":
+ version "3.0.6"
+ resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
+ integrity sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==
+ dependencies:
+ abbrev "1"
+
+normalize-package-data@^2.0.0, normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5, normalize-package-data@^2.4.0, normalize-package-data@^2.5.0:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
+ integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
+ dependencies:
+ hosted-git-info "^2.1.4"
+ resolve "^1.10.0"
+ semver "2 || 3 || 4 || 5"
+ validate-npm-package-license "^3.0.1"
+
+normalize-package-data@^3.0.0:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e"
+ integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==
+ dependencies:
+ hosted-git-info "^4.0.1"
+ is-core-module "^2.5.0"
+ semver "^7.3.4"
+ validate-npm-package-license "^3.0.1"
+
+normalize-url@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a"
+ integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==
+
+npm-bundled@^1.0.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1"
+ integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==
+ dependencies:
+ npm-normalize-package-bin "^1.0.1"
+
+npm-lifecycle@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/npm-lifecycle/-/npm-lifecycle-2.1.1.tgz#0027c09646f0fd346c5c93377bdaba59c6748fdf"
+ integrity sha512-+Vg6I60Z75V/09pdcH5iUo/99Q/vop35PaI99elvxk56azSVVsdsSsS/sXqKDNwbRRNN1qSxkcO45ZOu0yOWew==
+ dependencies:
+ byline "^5.0.0"
+ graceful-fs "^4.1.15"
+ node-gyp "^4.0.0"
+ resolve-from "^4.0.0"
+ slide "^1.1.6"
+ uid-number "0.0.6"
+ umask "^1.1.0"
+ which "^1.3.1"
+
+npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2"
+ integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==
+
+"npm-package-arg@^4.0.0 || ^5.0.0 || ^6.0.0", npm-package-arg@^6.0.0, npm-package-arg@^6.1.0:
+ version "6.1.1"
+ resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.1.1.tgz#02168cb0a49a2b75bf988a28698de7b529df5cb7"
+ integrity sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==
+ dependencies:
+ hosted-git-info "^2.7.1"
+ osenv "^0.1.5"
+ semver "^5.6.0"
+ validate-npm-package-name "^3.0.0"
+
+npm-packlist@^1.1.12, npm-packlist@^1.4.1:
+ version "1.4.8"
+ resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e"
+ integrity sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==
+ dependencies:
+ ignore-walk "^3.0.1"
+ npm-bundled "^1.0.1"
+ npm-normalize-package-bin "^1.0.1"
+
+npm-pick-manifest@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz#f4d9e5fd4be2153e5f4e5f9b7be8dc419a99abb7"
+ integrity sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==
+ dependencies:
+ figgy-pudding "^3.5.1"
+ npm-package-arg "^6.0.0"
+ semver "^5.4.1"
+
+npm-registry-fetch@^3.9.0:
+ version "3.9.1"
+ resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-3.9.1.tgz#00ff6e4e35d3f75a172b332440b53e93f4cb67de"
+ integrity sha512-VQCEZlydXw4AwLROAXWUR7QDfe2Y8Id/vpAgp6TI1/H78a4SiQ1kQrKZALm5/zxM5n4HIi+aYb+idUAV/RuY0Q==
+ dependencies:
+ JSONStream "^1.3.4"
+ bluebird "^3.5.1"
+ figgy-pudding "^3.4.1"
+ lru-cache "^5.1.1"
+ make-fetch-happen "^4.0.2"
+ npm-package-arg "^6.1.0"
+
+npm-registry-fetch@^4.0.0:
+ version "4.0.7"
+ resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-4.0.7.tgz#57951bf6541e0246b34c9f9a38ab73607c9449d7"
+ integrity sha512-cny9v0+Mq6Tjz+e0erFAB+RYJ/AVGzkjnISiobqP8OWj9c9FLoZZu8/SPSKJWE17F1tk4018wfjV+ZbIbqC7fQ==
+ dependencies:
+ JSONStream "^1.3.4"
+ bluebird "^3.5.1"
+ figgy-pudding "^3.4.1"
+ lru-cache "^5.1.1"
+ make-fetch-happen "^5.0.0"
+ npm-package-arg "^6.1.0"
+ safe-buffer "^5.2.0"
+
+npm-run-all@^4.1.5:
+ version "4.1.5"
+ resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba"
+ integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==
+ dependencies:
+ ansi-styles "^3.2.1"
+ chalk "^2.4.1"
+ cross-spawn "^6.0.5"
+ memorystream "^0.3.1"
+ minimatch "^3.0.4"
+ pidtree "^0.3.0"
+ read-pkg "^3.0.0"
+ shell-quote "^1.6.1"
+ string.prototype.padend "^3.0.0"
+
+npm-run-path@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
+ integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==
+ dependencies:
+ path-key "^2.0.0"
+
+"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
+ integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
+ dependencies:
+ are-we-there-yet "~1.1.2"
+ console-control-strings "~1.1.0"
+ gauge "~2.7.3"
+ set-blocking "~2.0.0"
+
+number-is-nan@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
+ integrity sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==
+
+oauth-sign@~0.9.0:
+ version "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:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+ integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
+
+object-copy@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
+ integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==
+ dependencies:
+ copy-descriptor "^0.1.0"
+ define-property "^0.2.5"
+ kind-of "^3.0.3"
+
+object-inspect@^1.12.0, object-inspect@^1.9.0:
+ version "1.12.2"
+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea"
+ integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==
+
+object-keys@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
+ integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
+
+object-visit@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
+ integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==
+ dependencies:
+ isobject "^3.0.0"
+
+object.assign@^4.1.0, object.assign@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940"
+ integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==
+ dependencies:
+ call-bind "^1.0.0"
+ define-properties "^1.1.3"
+ has-symbols "^1.0.1"
+ object-keys "^1.1.1"
+
+object.getownpropertydescriptors@^2.0.3:
+ version "2.1.4"
+ resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz#7965e6437a57278b587383831a9b829455a4bc37"
+ integrity sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ==
+ dependencies:
+ array.prototype.reduce "^1.0.4"
+ call-bind "^1.0.2"
+ define-properties "^1.1.4"
+ es-abstract "^1.20.1"
+
+object.pick@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
+ integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==
+ dependencies:
+ isobject "^3.0.1"
+
+octokit-pagination-methods@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz#cf472edc9d551055f9ef73f6e42b4dbb4c80bea4"
+ integrity sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ==
+
+once@^1.3.0, once@^1.3.1, once@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
+ dependencies:
+ wrappy "1"
+
+onetime@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
+ integrity sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==
+ dependencies:
+ mimic-fn "^1.0.0"
+
+os-homedir@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
+ integrity sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==
+
+os-locale@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a"
+ integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==
+ dependencies:
+ execa "^1.0.0"
+ lcid "^2.0.0"
+ mem "^4.0.0"
+
+os-name@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/os-name/-/os-name-3.1.0.tgz#dec19d966296e1cd62d701a5a66ee1ddeae70801"
+ integrity sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==
+ dependencies:
+ macos-release "^2.2.0"
+ windows-release "^3.1.0"
+
+os-tmpdir@^1.0.0, os-tmpdir@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
+ integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==
+
+osenv@0, osenv@^0.1.5:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
+ integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==
+ dependencies:
+ os-homedir "^1.0.0"
+ os-tmpdir "^1.0.0"
+
+p-defer@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c"
+ integrity sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==
+
+p-finally@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
+ integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==
+
+p-is-promise@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e"
+ integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==
+
+p-limit@^1.1.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
+ integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==
+ dependencies:
+ p-try "^1.0.0"
+
+p-limit@^2.0.0, p-limit@^2.2.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
+ integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
+ dependencies:
+ p-try "^2.0.0"
+
+p-locate@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
+ integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==
+ dependencies:
+ p-limit "^1.1.0"
+
+p-locate@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
+ integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
+ dependencies:
+ p-limit "^2.0.0"
+
+p-locate@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
+ integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
+ dependencies:
+ p-limit "^2.2.0"
+
+p-map-series@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/p-map-series/-/p-map-series-1.0.0.tgz#bf98fe575705658a9e1351befb85ae4c1f07bdca"
+ integrity sha512-4k9LlvY6Bo/1FcIdV33wqZQES0Py+iKISU9Uc8p8AjWoZPnFKMpVIVD3s0EYn4jzLh1I+WeUZkJ0Yoa4Qfw3Kg==
+ dependencies:
+ p-reduce "^1.0.0"
+
+p-map@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b"
+ integrity sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==
+
+p-pipe@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/p-pipe/-/p-pipe-1.2.0.tgz#4b1a11399a11520a67790ee5a0c1d5881d6befe9"
+ integrity sha512-IA8SqjIGA8l9qOksXJvsvkeQ+VGb0TAzNCzvKvz9wt5wWLqfWbV6fXy43gpR2L4Te8sOq3S+Ql9biAaMKPdbtw==
+
+p-reduce@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa"
+ integrity sha512-3Tx1T3oM1xO/Y8Gj0sWyE78EIJZ+t+aEmXUdvQgvGmSMri7aPTHoovbXEreWKkL5j21Er60XAWLTzKbAKYOujQ==
+
+p-try@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
+ integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==
+
+p-try@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
+ integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
+
+p-waterfall@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/p-waterfall/-/p-waterfall-1.0.0.tgz#7ed94b3ceb3332782353af6aae11aa9fc235bb00"
+ integrity sha512-KeXddIp6jBT8qzyxfQGOGzNYc/7ftxKtRc5Uggre02yvbZrSBHE2M2C842/WizMBFD4s0Ngwz3QFOit2A+Ezrg==
+ dependencies:
+ p-reduce "^1.0.0"
+
+pacote@^9.5.0:
+ version "9.5.12"
+ resolved "https://registry.yarnpkg.com/pacote/-/pacote-9.5.12.tgz#1e11dd7a8d736bcc36b375a9804d41bb0377bf66"
+ integrity sha512-BUIj/4kKbwWg4RtnBncXPJd15piFSVNpTzY0rysSr3VnMowTYgkGKcaHrbReepAkjTr8lH2CVWRi58Spg2CicQ==
+ dependencies:
+ bluebird "^3.5.3"
+ cacache "^12.0.2"
+ chownr "^1.1.2"
+ figgy-pudding "^3.5.1"
+ get-stream "^4.1.0"
+ glob "^7.1.3"
+ infer-owner "^1.0.4"
+ lru-cache "^5.1.1"
+ make-fetch-happen "^5.0.0"
+ minimatch "^3.0.4"
+ minipass "^2.3.5"
+ mississippi "^3.0.0"
+ mkdirp "^0.5.1"
+ normalize-package-data "^2.4.0"
+ npm-normalize-package-bin "^1.0.0"
+ npm-package-arg "^6.1.0"
+ npm-packlist "^1.1.12"
+ npm-pick-manifest "^3.0.0"
+ npm-registry-fetch "^4.0.0"
+ osenv "^0.1.5"
+ promise-inflight "^1.0.1"
+ promise-retry "^1.1.1"
+ protoduck "^5.0.1"
+ rimraf "^2.6.2"
+ safe-buffer "^5.1.2"
+ semver "^5.6.0"
+ ssri "^6.0.1"
+ tar "^4.4.10"
+ unique-filename "^1.1.1"
+ which "^1.3.1"
+
+parallel-transform@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc"
+ integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==
+ dependencies:
+ cyclist "^1.0.1"
+ inherits "^2.0.3"
+ readable-stream "^2.1.5"
+
+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"
+ integrity sha512-bSWyzBKqcSL4RrncTpGsEKoJ7H8a4L3++ifTAbTFeMHyq2wRV+42DGmQcHIrJIvdcacjIOxEuKH/w4tthF17gg==
+
+parse-json@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
+ integrity sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==
+ dependencies:
+ error-ex "^1.2.0"
+
+parse-json@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
+ integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==
+ dependencies:
+ error-ex "^1.3.1"
+ json-parse-better-errors "^1.0.1"
+
+parse-json@^5.0.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
+ integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ error-ex "^1.3.1"
+ json-parse-even-better-errors "^2.3.0"
+ lines-and-columns "^1.1.6"
+
+parse-path@^4.0.0:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-4.0.4.tgz#4bf424e6b743fb080831f03b536af9fc43f0ffea"
+ integrity sha512-Z2lWUis7jlmXC1jeOG9giRO2+FsuyNipeQ43HAjqAZjwSe3SEf+q/84FGPHoso3kyntbxa4c4i77t3m6fGf8cw==
+ dependencies:
+ is-ssh "^1.3.0"
+ protocols "^1.4.0"
+ qs "^6.9.4"
+ query-string "^6.13.8"
+
+parse-url@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-6.0.0.tgz#f5dd262a7de9ec00914939220410b66cff09107d"
+ integrity sha512-cYyojeX7yIIwuJzledIHeLUBVJ6COVLeT4eF+2P6aKVzwvgKQPndCBv3+yQ7pcWjqToYwaligxzSYNNmGoMAvw==
+ dependencies:
+ is-ssh "^1.3.0"
+ normalize-url "^6.1.0"
+ parse-path "^4.0.0"
+ protocols "^1.4.0"
+
+pascalcase@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
+ integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==
+
+path-dirname@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
+ integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==
+
+path-exists@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
+ integrity sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==
+ dependencies:
+ pinkie-promise "^2.0.0"
+
+path-exists@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
+ integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==
+
+path-exists@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
+ integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
+
+path-is-absolute@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+ integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
+
+path-key@^2.0.0, path-key@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
+ integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==
+
+path-parse@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+
+path-type@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
+ integrity sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==
+ dependencies:
+ graceful-fs "^4.1.2"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+path-type@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f"
+ integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==
+ dependencies:
+ pify "^3.0.0"
+
+performance-now@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
+ integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==
+
+picocolors@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
+ integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
+
+picomatch@^2.2.2:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
+ integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
+
+pidtree@^0.3.0:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a"
+ integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==
+
+pify@^2.0.0, pify@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
+ integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==
+
+pify@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
+ integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==
+
+pinkie-promise@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
+ integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==
+ dependencies:
+ pinkie "^2.0.0"
+
+pinkie@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
+ integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==
+
+pkg-dir@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b"
+ integrity sha512-ojakdnUgL5pzJYWw2AIDEupaQCX5OPbM688ZevubICjdIX01PRSYKqm33fJoCOJBRseYCTUlQRnBNX+Pchaejw==
+ dependencies:
+ find-up "^2.1.0"
+
+posix-character-classes@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
+ integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==
+
+process-nextick-args@~2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
+ integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
+
+promise-inflight@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
+ integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==
+
+promise-retry@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-1.1.1.tgz#6739e968e3051da20ce6497fb2b50f6911df3d6d"
+ integrity sha512-StEy2osPr28o17bIW776GtwO6+Q+M9zPiZkYfosciUUMYqjhU/ffwRAH0zN2+uvGyUsn8/YICIHRzLbPacpZGw==
+ dependencies:
+ err-code "^1.0.0"
+ retry "^0.10.0"
+
+promzard@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee"
+ integrity sha512-JZeYqd7UAcHCwI+sTOeUDYkvEU+1bQ7iE0UT1MgB/tERkAPkesW46MrpIySzODi+owTjZtiF8Ay5j9m60KmMBw==
+ dependencies:
+ read "1"
+
+proto-list@~1.2.1:
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
+ integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==
+
+protocols@^1.1.0, protocols@^1.4.0:
+ version "1.4.8"
+ resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.8.tgz#48eea2d8f58d9644a4a32caae5d5db290a075ce8"
+ integrity sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==
+
+protoduck@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/protoduck/-/protoduck-5.0.1.tgz#03c3659ca18007b69a50fd82a7ebcc516261151f"
+ integrity sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg==
+ dependencies:
+ genfun "^5.0.0"
+
+psl@^1.1.28:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
+ integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
+
+pump@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909"
+ integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==
+ dependencies:
+ end-of-stream "^1.1.0"
+ once "^1.3.1"
+
+pump@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
+ integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
+ dependencies:
+ end-of-stream "^1.1.0"
+ once "^1.3.1"
+
+pumpify@^1.3.3:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce"
+ integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==
+ dependencies:
+ duplexify "^3.6.0"
+ inherits "^2.0.3"
+ pump "^2.0.0"
+
+punycode@^2.1.0, punycode@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
+ integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
+
+q@^1.5.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
+ integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==
+
+qs@^6.9.4:
+ version "6.10.5"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.5.tgz#974715920a80ff6a262264acd2c7e6c2a53282b4"
+ integrity sha512-O5RlPh0VFtR78y79rgcgKK4wbAI0C5zGVLztOIdpWX6ep368q5Hv6XRxDvXuZ9q3C6v+e3n8UfZZJw7IIG27eQ==
+ dependencies:
+ side-channel "^1.0.4"
+
+qs@~6.5.2:
+ version "6.5.3"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad"
+ integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==
+
+query-string@^6.13.8:
+ version "6.14.1"
+ resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.14.1.tgz#7ac2dca46da7f309449ba0f86b1fd28255b0c86a"
+ integrity sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==
+ dependencies:
+ decode-uri-component "^0.2.0"
+ filter-obj "^1.1.0"
+ split-on-first "^1.0.0"
+ strict-uri-encode "^2.0.0"
+
+quick-lru@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8"
+ integrity sha512-tRS7sTgyxMXtLum8L65daJnHUhfDUgboRdcWW2bR9vBfrj2+O5HSMbQOJfJJjIVSPFqbBCF37FpwWXGitDc5tA==
+
+quick-lru@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f"
+ integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==
+
+read-cmd-shim@^1.0.1:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.5.tgz#87e43eba50098ba5a32d0ceb583ab8e43b961c16"
+ integrity sha512-v5yCqQ/7okKoZZkBQUAfTsQ3sVJtXdNfbPnI5cceppoxEVLYA3k+VtV2omkeo8MS94JCy4fSiUwlRBAwCVRPUA==
+ dependencies:
+ graceful-fs "^4.1.2"
+
+"read-package-json@1 || 2", read-package-json@^2.0.0, read-package-json@^2.0.13:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.1.2.tgz#6992b2b66c7177259feb8eaac73c3acd28b9222a"
+ integrity sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA==
+ dependencies:
+ glob "^7.1.1"
+ json-parse-even-better-errors "^2.3.0"
+ normalize-package-data "^2.0.0"
+ npm-normalize-package-bin "^1.0.0"
+
+read-package-tree@^5.1.6:
+ version "5.3.1"
+ resolved "https://registry.yarnpkg.com/read-package-tree/-/read-package-tree-5.3.1.tgz#a32cb64c7f31eb8a6f31ef06f9cedf74068fe636"
+ integrity sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==
+ dependencies:
+ read-package-json "^2.0.0"
+ readdir-scoped-modules "^1.0.0"
+ util-promisify "^2.1.0"
+
+read-pkg-up@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
+ integrity sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==
+ dependencies:
+ find-up "^1.0.0"
+ read-pkg "^1.0.0"
+
+read-pkg-up@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07"
+ integrity sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==
+ dependencies:
+ find-up "^2.0.0"
+ read-pkg "^3.0.0"
+
+read-pkg-up@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507"
+ integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==
+ dependencies:
+ find-up "^4.1.0"
+ read-pkg "^5.2.0"
+ type-fest "^0.8.1"
+
+read-pkg@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
+ integrity sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==
+ dependencies:
+ load-json-file "^1.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^1.0.0"
+
+read-pkg@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389"
+ integrity sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==
+ dependencies:
+ load-json-file "^4.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^3.0.0"
+
+read-pkg@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc"
+ integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==
+ dependencies:
+ "@types/normalize-package-data" "^2.4.0"
+ normalize-package-data "^2.5.0"
+ parse-json "^5.0.0"
+ type-fest "^0.6.0"
+
+read@1, read@~1.0.1:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4"
+ integrity sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==
+ dependencies:
+ mute-stream "~0.0.4"
+
+"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, 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==
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.3"
+ isarray "~1.0.0"
+ process-nextick-args "~2.0.0"
+ safe-buffer "~5.1.1"
+ string_decoder "~1.1.1"
+ util-deprecate "~1.0.1"
+
+"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
+ integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
+ dependencies:
+ inherits "^2.0.3"
+ string_decoder "^1.1.1"
+ util-deprecate "^1.0.1"
+
+readdir-scoped-modules@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309"
+ integrity sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==
+ dependencies:
+ debuglog "^1.0.1"
+ dezalgo "^1.0.0"
+ graceful-fs "^4.1.2"
+ once "^1.3.0"
+
+redent@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
+ integrity sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g==
+ dependencies:
+ indent-string "^2.1.0"
+ strip-indent "^1.0.1"
+
+redent@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa"
+ integrity sha512-XNwrTx77JQCEMXTeb8movBKuK75MgH0RZkujNuDKCezemx/voapl9i2gCSi8WWm8+ox5ycJi1gxF22fR7c0Ciw==
+ dependencies:
+ indent-string "^3.0.0"
+ strip-indent "^2.0.0"
+
+redent@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f"
+ integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==
+ dependencies:
+ indent-string "^4.0.0"
+ strip-indent "^3.0.0"
+
+regenerate-unicode-properties@^10.0.1:
+ version "10.0.1"
+ resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz#7f442732aa7934a3740c779bb9b3340dccc1fb56"
+ integrity sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==
+ dependencies:
+ regenerate "^1.4.2"
+
+regenerate@^1.4.2:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a"
+ integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
+
+regenerator-runtime@^0.13.4:
+ version "0.13.9"
+ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52"
+ integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==
+
+regenerator-transform@^0.15.0:
+ version "0.15.0"
+ resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.0.tgz#cbd9ead5d77fae1a48d957cf889ad0586adb6537"
+ integrity sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==
+ dependencies:
+ "@babel/runtime" "^7.8.4"
+
+regex-not@^1.0.0, regex-not@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c"
+ integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==
+ dependencies:
+ extend-shallow "^3.0.2"
+ safe-regex "^1.1.0"
+
+regexp.prototype.flags@^1.4.3:
+ version "1.4.3"
+ resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac"
+ integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+ functions-have-names "^1.2.2"
+
+regexpu-core@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.0.1.tgz#c531122a7840de743dcf9c83e923b5560323ced3"
+ integrity sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==
+ dependencies:
+ regenerate "^1.4.2"
+ regenerate-unicode-properties "^10.0.1"
+ regjsgen "^0.6.0"
+ regjsparser "^0.8.2"
+ unicode-match-property-ecmascript "^2.0.0"
+ unicode-match-property-value-ecmascript "^2.0.0"
+
+regjsgen@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.6.0.tgz#83414c5354afd7d6627b16af5f10f41c4e71808d"
+ integrity sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==
+
+regjsparser@^0.8.2:
+ version "0.8.4"
+ resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.8.4.tgz#8a14285ffcc5de78c5b95d62bbf413b6bc132d5f"
+ integrity sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==
+ dependencies:
+ jsesc "~0.5.0"
+
+repeat-element@^1.1.2:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9"
+ integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==
+
+repeat-string@^1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
+ integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==
+
+repeating@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
+ integrity sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==
+ dependencies:
+ is-finite "^1.0.0"
+
+request@^2.87.0:
+ version "2.88.2"
+ resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
+ integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
+ dependencies:
+ aws-sign2 "~0.7.0"
+ aws4 "^1.8.0"
+ caseless "~0.12.0"
+ combined-stream "~1.0.6"
+ extend "~3.0.2"
+ forever-agent "~0.6.1"
+ form-data "~2.3.2"
+ har-validator "~5.1.3"
+ http-signature "~1.2.0"
+ is-typedarray "~1.0.0"
+ isstream "~0.1.2"
+ json-stringify-safe "~5.0.1"
+ mime-types "~2.1.19"
+ oauth-sign "~0.9.0"
+ performance-now "^2.1.0"
+ qs "~6.5.2"
+ safe-buffer "^5.1.2"
+ tough-cookie "~2.5.0"
+ tunnel-agent "^0.6.0"
+ uuid "^3.3.2"
+
+require-directory@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
+ integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
+
+require-main-filename@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
+ integrity sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==
+
+resolve-cwd@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a"
+ integrity sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg==
+ dependencies:
+ resolve-from "^3.0.0"
+
+resolve-from@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
+ integrity sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==
+
+resolve-from@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
+ integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
+
+resolve-url@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
+ integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==
+
+resolve@^1.10.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0:
+ version "1.22.1"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
+ integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
+ dependencies:
+ is-core-module "^2.9.0"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
+
+restore-cursor@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
+ integrity sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==
+ dependencies:
+ onetime "^2.0.0"
+ signal-exit "^3.0.2"
+
+ret@~0.1.10:
+ version "0.1.15"
+ resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
+ integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
+
+retry@^0.10.0:
+ version "0.10.1"
+ resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4"
+ integrity sha512-ZXUSQYTHdl3uS7IuCehYfMzKyIDBNoAuUblvy5oGO5UJSUTmStUUVPXbA9Qxd173Bgre53yCQczQuHgRWAdvJQ==
+
+rimraf@2, rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3:
+ version "2.7.1"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
+ integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
+ dependencies:
+ glob "^7.1.3"
+
+rollup@2.75.7:
+ version "2.75.7"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.75.7.tgz#221ff11887ae271e37dcc649ba32ce1590aaa0b9"
+ integrity sha512-VSE1iy0eaAYNCxEXaleThdFXqZJ42qDBatAwrfnPlENEZ8erQ+0LYX4JXOLPceWfZpV1VtZwZ3dFCuOZiSyFtQ==
+ optionalDependencies:
+ fsevents "~2.3.2"
+
+run-async@^2.2.0:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
+ integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==
+
+run-queue@^1.0.0, run-queue@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47"
+ integrity sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==
+ dependencies:
+ aproba "^1.1.1"
+
+rxjs@^6.4.0:
+ version "6.6.7"
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9"
+ integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==
+ dependencies:
+ tslib "^1.9.0"
+
+safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
+ integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+
+safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
+ integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
+
+safe-regex@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
+ integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==
+ dependencies:
+ ret "~0.1.10"
+
+"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
+ integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
+
+"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0:
+ version "5.7.1"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
+ integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
+
+semver@7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
+ integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
+
+semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0:
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
+ integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
+
+semver@^7.3.4:
+ version "7.3.7"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f"
+ integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==
+ dependencies:
+ lru-cache "^6.0.0"
+
+semver@~5.3.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
+ integrity sha512-mfmm3/H9+67MCVix1h+IXTpDwL6710LyHuk7+cWC9T1mE0qz4iHhh6r4hU2wrIT9iTsAAC2XQRvfblL028cpLw==
+
+set-blocking@^2.0.0, set-blocking@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
+ integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==
+
+set-value@^2.0.0, set-value@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b"
+ integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==
+ dependencies:
+ extend-shallow "^2.0.1"
+ is-extendable "^0.1.1"
+ is-plain-object "^2.0.3"
+ split-string "^3.0.1"
+
+shebang-command@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
+ integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==
+ dependencies:
+ shebang-regex "^1.0.0"
+
+shebang-regex@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
+ integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==
+
+shell-quote@^1.6.1:
+ version "1.7.3"
+ resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123"
+ integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==
+
+side-channel@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
+ integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==
+ dependencies:
+ call-bind "^1.0.0"
+ get-intrinsic "^1.0.2"
+ object-inspect "^1.9.0"
+
+signal-exit@^3.0.0, signal-exit@^3.0.2:
+ version "3.0.7"
+ resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
+ integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
+
+slash@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
+ integrity sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==
+
+slide@^1.1.6:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707"
+ integrity sha512-NwrtjCg+lZoqhFU8fOwl4ay2ei8PaqCBOUV3/ektPY9trO1yQ1oXEfmHAhKArUVUr/hOHvy5f6AdP17dCM0zMw==
+
+smart-buffer@^4.1.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae"
+ integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==
+
+snapdragon-node@^2.0.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
+ integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==
+ dependencies:
+ define-property "^1.0.0"
+ isobject "^3.0.0"
+ snapdragon-util "^3.0.1"
+
+snapdragon-util@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2"
+ integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==
+ dependencies:
+ kind-of "^3.2.0"
+
+snapdragon@^0.8.1:
+ version "0.8.2"
+ resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d"
+ integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==
+ dependencies:
+ base "^0.11.1"
+ debug "^2.2.0"
+ define-property "^0.2.5"
+ extend-shallow "^2.0.1"
+ map-cache "^0.2.2"
+ source-map "^0.5.6"
+ source-map-resolve "^0.5.0"
+ use "^3.1.0"
+
+socks-proxy-agent@^4.0.0:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz#3c8991f3145b2799e70e11bd5fbc8b1963116386"
+ integrity sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==
+ dependencies:
+ agent-base "~4.2.1"
+ socks "~2.3.2"
+
+socks@~2.3.2:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/socks/-/socks-2.3.3.tgz#01129f0a5d534d2b897712ed8aceab7ee65d78e3"
+ integrity sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==
+ dependencies:
+ ip "1.1.5"
+ smart-buffer "^4.1.0"
+
+sort-keys@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128"
+ integrity sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==
+ dependencies:
+ is-plain-obj "^1.0.0"
+
+source-map-resolve@^0.5.0:
+ version "0.5.3"
+ resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a"
+ integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==
+ dependencies:
+ atob "^2.1.2"
+ decode-uri-component "^0.2.0"
+ resolve-url "^0.2.1"
+ source-map-url "^0.4.0"
+ urix "^0.1.0"
+
+source-map-url@^0.4.0:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56"
+ integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==
+
+source-map@^0.5.6:
+ version "0.5.7"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
+ integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==
+
+source-map@^0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
+ integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+
+sourcemap-codec@^1.4.8:
+ version "1.4.8"
+ resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
+ integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
+
+spdx-correct@^3.0.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9"
+ integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==
+ dependencies:
+ spdx-expression-parse "^3.0.0"
+ spdx-license-ids "^3.0.0"
+
+spdx-exceptions@^2.1.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d"
+ integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==
+
+spdx-expression-parse@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679"
+ integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==
+ dependencies:
+ spdx-exceptions "^2.1.0"
+ spdx-license-ids "^3.0.0"
+
+spdx-license-ids@^3.0.0:
+ version "3.0.11"
+ resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95"
+ integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==
+
+split-on-first@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f"
+ integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==
+
+split-string@^3.0.1, split-string@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
+ integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==
+ dependencies:
+ extend-shallow "^3.0.0"
+
+split2@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/split2/-/split2-2.2.0.tgz#186b2575bcf83e85b7d18465756238ee4ee42493"
+ integrity sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==
+ dependencies:
+ through2 "^2.0.2"
+
+split2@^3.0.0:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f"
+ integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==
+ dependencies:
+ readable-stream "^3.0.0"
+
+split@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9"
+ integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==
+ dependencies:
+ through "2"
+
+sprintf-js@~1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
+ integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
+
+sshpk@^1.7.0:
+ version "1.17.0"
+ resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5"
+ integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==
+ dependencies:
+ asn1 "~0.2.3"
+ assert-plus "^1.0.0"
+ bcrypt-pbkdf "^1.0.0"
+ dashdash "^1.12.0"
+ ecc-jsbn "~0.1.1"
+ getpass "^0.1.1"
+ jsbn "~0.1.0"
+ safer-buffer "^2.0.2"
+ tweetnacl "~0.14.0"
+
+ssri@^6.0.0, ssri@^6.0.1:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5"
+ integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==
+ dependencies:
+ figgy-pudding "^3.5.1"
+
+static-extend@^0.1.1:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
+ integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==
+ dependencies:
+ define-property "^0.2.5"
+ object-copy "^0.1.0"
+
+stream-each@^1.1.0:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae"
+ integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==
+ dependencies:
+ end-of-stream "^1.1.0"
+ stream-shift "^1.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"
+ integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==
+
+strict-uri-encode@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546"
+ integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==
+
+string-width@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
+ integrity sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==
+ dependencies:
+ code-point-at "^1.0.0"
+ is-fullwidth-code-point "^1.0.0"
+ strip-ansi "^3.0.0"
+
+"string-width@^1.0.2 || 2 || 3 || 4":
+ version "4.2.3"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
+ integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
+ dependencies:
+ emoji-regex "^8.0.0"
+ is-fullwidth-code-point "^3.0.0"
+ strip-ansi "^6.0.1"
+
+string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
+ integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
+ dependencies:
+ is-fullwidth-code-point "^2.0.0"
+ strip-ansi "^4.0.0"
+
+string.prototype.padend@^3.0.0:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.3.tgz#997a6de12c92c7cb34dc8a201a6c53d9bd88a5f1"
+ integrity sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+ es-abstract "^1.19.1"
+
+string.prototype.trimend@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0"
+ integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.4"
+ es-abstract "^1.19.5"
+
+string.prototype.trimstart@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef"
+ integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.4"
+ es-abstract "^1.19.5"
+
+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==
+ dependencies:
+ safe-buffer "~5.2.0"
+
+string_decoder@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
+ integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
+ dependencies:
+ safe-buffer "~5.1.0"
+
+strip-ansi@^3.0.0, strip-ansi@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
+ integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==
+ dependencies:
+ ansi-regex "^2.0.0"
+
+strip-ansi@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
+ integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==
+ dependencies:
+ ansi-regex "^3.0.0"
+
+strip-ansi@^5.1.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
+ integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
+ dependencies:
+ ansi-regex "^4.1.0"
+
+strip-ansi@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
+ integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
+ dependencies:
+ ansi-regex "^5.0.1"
+
+strip-bom@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
+ integrity sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==
+ dependencies:
+ is-utf8 "^0.2.0"
+
+strip-bom@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
+ integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==
+
+strip-eof@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
+ integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==
+
+strip-indent@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
+ integrity sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA==
+ dependencies:
+ get-stdin "^4.0.1"
+
+strip-indent@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68"
+ integrity sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==
+
+strip-indent@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001"
+ integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==
+ dependencies:
+ min-indent "^1.0.0"
+
+strong-log-transformer@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10"
+ integrity sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==
+ dependencies:
+ duplexer "^0.1.1"
+ minimist "^1.2.0"
+ through "^2.3.4"
+
+supports-color@^5.3.0:
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
+ integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
+ dependencies:
+ has-flag "^3.0.0"
+
+supports-preserve-symlinks-flag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
+ integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+
+tar@^4.4.10, tar@^4.4.8:
+ version "4.4.19"
+ resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3"
+ integrity sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==
+ dependencies:
+ chownr "^1.1.4"
+ fs-minipass "^1.2.7"
+ minipass "^2.9.0"
+ minizlib "^1.3.3"
+ mkdirp "^0.5.5"
+ safe-buffer "^5.2.1"
+ yallist "^3.1.1"
+
+temp-dir@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d"
+ integrity sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==
+
+temp-write@^3.4.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/temp-write/-/temp-write-3.4.0.tgz#8cff630fb7e9da05f047c74ce4ce4d685457d492"
+ integrity sha512-P8NK5aNqcGQBC37i/8pL/K9tFgx14CF2vdwluD/BA/dGWGD4T4E59TE7dAxPyb2wusts2FhMp36EiopBBsGJ2Q==
+ dependencies:
+ graceful-fs "^4.1.2"
+ is-stream "^1.1.0"
+ make-dir "^1.0.0"
+ pify "^3.0.0"
+ temp-dir "^1.0.0"
+ uuid "^3.0.1"
+
+text-extensions@^1.0.0:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26"
+ integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==
+
+through2@^2.0.0, through2@^2.0.2:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
+ integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
+ dependencies:
+ readable-stream "~2.3.6"
+ xtend "~4.0.1"
+
+through2@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4"
+ integrity sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==
+ dependencies:
+ inherits "^2.0.4"
+ readable-stream "2 || 3"
+
+through2@^4.0.0:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764"
+ integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==
+ dependencies:
+ readable-stream "3"
+
+through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6:
+ version "2.3.8"
+ resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
+ integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
+
+tmp@^0.0.33:
+ version "0.0.33"
+ resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
+ integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==
+ dependencies:
+ os-tmpdir "~1.0.2"
+
+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"
+ integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==
+
+to-object-path@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
+ integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==
+ dependencies:
+ kind-of "^3.0.2"
+
+to-regex-range@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
+ integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==
+ dependencies:
+ is-number "^3.0.0"
+ repeat-string "^1.6.1"
+
+to-regex@^3.0.1, to-regex@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
+ integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==
+ dependencies:
+ define-property "^2.0.2"
+ extend-shallow "^3.0.2"
+ regex-not "^1.0.2"
+ safe-regex "^1.1.0"
+
+tough-cookie@~2.5.0:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
+ integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
+ dependencies:
+ psl "^1.1.28"
+ punycode "^2.1.1"
+
+tr46@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09"
+ integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==
+ dependencies:
+ punycode "^2.1.0"
+
+tr46@~0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
+ integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
+
+trim-newlines@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
+ integrity sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw==
+
+trim-newlines@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20"
+ integrity sha512-MTBWv3jhVjTU7XR3IQHllbiJs8sc75a80OEhB6or/q7pLTWgQ0bMGQXXYQSrSuXe6WiKWDZ5txXY5P59a/coVA==
+
+trim-newlines@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144"
+ integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==
+
+tslib@^1.9.0:
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
+ integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
+
+tunnel-agent@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
+ integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==
+ dependencies:
+ safe-buffer "^5.0.1"
+
+tweetnacl@^0.14.3, tweetnacl@~0.14.0:
+ version "0.14.5"
+ resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
+ integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==
+
+type-fest@^0.18.0:
+ version "0.18.1"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f"
+ integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==
+
+type-fest@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b"
+ integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==
+
+type-fest@^0.8.1:
+ version "0.8.1"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
+ integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
+
+typedarray@^0.0.6:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
+ integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==
+
+uglify-js@^3.1.4:
+ version "3.16.1"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.16.1.tgz#0e7ec928b3d0b1e1d952bce634c384fd56377317"
+ integrity sha512-X5BGTIDH8U6IQ1TIRP62YC36k+ULAa1d59BxlWvPUJ1NkW5L3FwcGfEzuVvGmhJFBu0YJ5Ge25tmRISqCmLiRQ==
+
+uid-number@0.0.6:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
+ integrity sha512-c461FXIljswCuscZn67xq9PpszkPT6RjheWFQTgCyabJrTUozElanb0YEqv2UGgk247YpcJkFBuSGNvBlpXM9w==
+
+umask@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/umask/-/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d"
+ integrity sha512-lE/rxOhmiScJu9L6RTNVgB/zZbF+vGC0/p6D3xnkAePI2o0sMyFG966iR5Ki50OI/0mNi2yaRnxfLsPmEZF/JA==
+
+unbox-primitive@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e"
+ integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==
+ dependencies:
+ call-bind "^1.0.2"
+ has-bigints "^1.0.2"
+ has-symbols "^1.0.3"
+ which-boxed-primitive "^1.0.2"
+
+unicode-canonical-property-names-ecmascript@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc"
+ integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==
+
+unicode-match-property-ecmascript@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3"
+ integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==
+ dependencies:
+ unicode-canonical-property-names-ecmascript "^2.0.0"
+ unicode-property-aliases-ecmascript "^2.0.0"
+
+unicode-match-property-value-ecmascript@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714"
+ integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==
+
+unicode-property-aliases-ecmascript@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8"
+ integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==
+
+union-value@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847"
+ integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==
+ dependencies:
+ arr-union "^3.1.0"
+ get-value "^2.0.6"
+ is-extendable "^0.1.1"
+ set-value "^2.0.1"
+
+unique-filename@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230"
+ integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==
+ dependencies:
+ unique-slug "^2.0.0"
+
+unique-slug@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c"
+ integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==
+ dependencies:
+ imurmurhash "^0.1.4"
+
+universal-user-agent@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-4.0.1.tgz#fd8d6cb773a679a709e967ef8288a31fcc03e557"
+ integrity sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg==
+ dependencies:
+ os-name "^3.1.0"
+
+universal-user-agent@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee"
+ integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==
+
+universalify@^0.1.0:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
+ integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
+
+unset-value@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
+ integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==
+ dependencies:
+ has-value "^0.3.1"
+ isobject "^3.0.0"
+
+update-browserslist-db@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.4.tgz#dbfc5a789caa26b1db8990796c2c8ebbce304824"
+ integrity sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA==
+ dependencies:
+ escalade "^3.1.1"
+ picocolors "^1.0.0"
+
+uri-js@^4.2.2:
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
+ integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
+ dependencies:
+ punycode "^2.1.0"
+
+urix@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
+ integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==
+
+use@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
+ integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
+
+util-deprecate@^1.0.1, util-deprecate@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+ integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
+
+util-promisify@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/util-promisify/-/util-promisify-2.1.0.tgz#3c2236476c4d32c5ff3c47002add7c13b9a82a53"
+ integrity sha512-K+5eQPYs14b3+E+hmE2J6gCZ4JmMl9DbYS6BeP2CHq6WMuNxErxf5B/n0fz85L8zUuoO6rIzNNmIQDu/j+1OcA==
+ dependencies:
+ object.getownpropertydescriptors "^2.0.3"
+
+uuid@^3.0.1, uuid@^3.3.2:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
+ integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
+
+validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.3:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
+ integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==
+ dependencies:
+ spdx-correct "^3.0.0"
+ spdx-expression-parse "^3.0.0"
+
+validate-npm-package-name@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e"
+ integrity sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==
+ dependencies:
+ builtins "^1.0.3"
+
+verror@1.10.0:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
+ integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==
+ dependencies:
+ assert-plus "^1.0.0"
+ core-util-is "1.0.2"
+ extsprintf "^1.2.0"
+
+wcwidth@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
+ integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==
+ dependencies:
+ defaults "^1.0.3"
+
+webidl-conversions@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
+ integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
+
+webidl-conversions@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
+ integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==
+
+whatwg-url@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
+ integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
+ dependencies:
+ tr46 "~0.0.3"
+ webidl-conversions "^3.0.0"
+
+whatwg-url@^7.0.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06"
+ integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==
+ dependencies:
+ lodash.sortby "^4.7.0"
+ tr46 "^1.0.1"
+ webidl-conversions "^4.0.2"
+
+which-boxed-primitive@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6"
+ integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==
+ dependencies:
+ is-bigint "^1.0.1"
+ is-boolean-object "^1.1.0"
+ is-number-object "^1.0.4"
+ is-string "^1.0.5"
+ is-symbol "^1.0.3"
+
+which-module@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
+ integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==
+
+which@1, which@^1.2.9, which@^1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
+ integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
+ dependencies:
+ isexe "^2.0.0"
+
+wide-align@^1.1.0:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3"
+ integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==
+ dependencies:
+ string-width "^1.0.2 || 2 || 3 || 4"
+
+windows-release@^3.1.0:
+ version "3.3.3"
+ resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-3.3.3.tgz#1c10027c7225743eec6b89df160d64c2e0293999"
+ integrity sha512-OSOGH1QYiW5yVor9TtmXKQvt2vjQqbYS+DqmsZw+r7xDwLXEeT3JGW0ZppFmHx4diyXmxt238KFR3N9jzevBRg==
+ dependencies:
+ execa "^1.0.0"
+
+wordwrap@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
+ integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==
+
+wrap-ansi@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
+ integrity sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==
+ dependencies:
+ string-width "^1.0.1"
+ strip-ansi "^3.0.1"
+
+wrappy@1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+ integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
+
+write-file-atomic@^2.0.0, write-file-atomic@^2.3.0:
+ version "2.4.3"
+ resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481"
+ integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==
+ dependencies:
+ graceful-fs "^4.1.11"
+ imurmurhash "^0.1.4"
+ signal-exit "^3.0.2"
+
+write-json-file@^2.2.0, write-json-file@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-2.3.0.tgz#2b64c8a33004d54b8698c76d585a77ceb61da32f"
+ integrity sha512-84+F0igFp2dPD6UpAQjOUX3CdKUOqUzn6oE9sDBNzUXINR5VceJ1rauZltqQB/bcYsx3EpKys4C7/PivKUAiWQ==
+ dependencies:
+ detect-indent "^5.0.0"
+ graceful-fs "^4.1.2"
+ make-dir "^1.0.0"
+ pify "^3.0.0"
+ sort-keys "^2.0.0"
+ write-file-atomic "^2.0.0"
+
+write-pkg@^3.1.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-3.2.0.tgz#0e178fe97820d389a8928bc79535dbe68c2cff21"
+ integrity sha512-tX2ifZ0YqEFOF1wjRW2Pk93NLsj02+n1UP5RvO6rCs0K6R2g1padvf006cY74PQJKMGS2r42NK7FD0dG6Y6paw==
+ dependencies:
+ sort-keys "^2.0.0"
+ write-json-file "^2.2.0"
+
+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==
+
+"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf"
+ integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==
+
+yallist@^3.0.0, yallist@^3.0.2, yallist@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
+ integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
+
+yallist@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
+ integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
+
+yargs-parser@^11.1.1:
+ version "11.1.1"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4"
+ integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==
+ dependencies:
+ camelcase "^5.0.0"
+ decamelize "^1.2.0"
+
+yargs-parser@^20.2.3:
+ version "20.2.9"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
+ integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
+
+yargs@^12.0.1:
+ version "12.0.5"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13"
+ integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==
+ dependencies:
+ cliui "^4.0.0"
+ decamelize "^1.2.0"
+ find-up "^3.0.0"
+ get-caller-file "^1.0.1"
+ os-locale "^3.0.0"
+ require-directory "^2.1.1"
+ require-main-filename "^1.0.1"
+ set-blocking "^2.0.0"
+ string-width "^2.0.0"
+ which-module "^2.0.0"
+ y18n "^3.2.1 || ^4.0.0"
+ yargs-parser "^11.1.1"
From 18005a4f04e53e4e0ddf085fcf9e90ae843c3710 Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Sun, 26 Jun 2022 14:36:32 +0200
Subject: [PATCH 003/640] build: Add GH action to check for successful build
(#10)
---
.github/workflows/checks.yml | 21 +++++++++++++++++++++
packages/unplugin/package.json | 2 +-
2 files changed, 22 insertions(+), 1 deletion(-)
create mode 100644 .github/workflows/checks.yml
diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml
new file mode 100644
index 000000000000..6c9d891b20dc
--- /dev/null
+++ b/.github/workflows/checks.yml
@@ -0,0 +1,21 @@
+name: Checks
+
+on:
+ push:
+ branches: [main]
+ pull_request:
+
+env:
+ DEFAULT_NODE_VERSION: "16.15.1"
+
+jobs:
+ build:
+ name: build
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-node@v3
+ with:
+ node-version: ${{ env.DEFAULT_NODE_VERSION }}
+ - run: yarn --frozen-lockfile
+ - run: yarn build
diff --git a/packages/unplugin/package.json b/packages/unplugin/package.json
index e0c4129153ce..1b96b01893f3 100644
--- a/packages/unplugin/package.json
+++ b/packages/unplugin/package.json
@@ -6,7 +6,7 @@
"module": "dist/esm/index.js",
"repository": "https://github.com/lforst/sentry-unplugin",
"scripts": {
- "build": "run-p build",
+ "build": "run-p build:rollup",
"build:watch": "run-p build:rollup:watch",
"build:rollup": "rollup --config rollup.config.js",
"build:rollup:watch": "rollup --config rollup.config.js --watch"
From ce25bccd509470edf035f4e27e7cd8dba10b2a5e Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Sun, 26 Jun 2022 12:48:01 +0000
Subject: [PATCH 004/640] build(unplugin): Build types
---
packages/unplugin/package.json | 12 ++++++++----
packages/unplugin/tsconfig.json | 1 +
packages/unplugin/tsconfig.types.json | 10 ++++++++++
yarn.lock | 5 +++++
4 files changed, 24 insertions(+), 4 deletions(-)
create mode 100644 packages/unplugin/tsconfig.types.json
diff --git a/packages/unplugin/package.json b/packages/unplugin/package.json
index 1b96b01893f3..2353a4e14011 100644
--- a/packages/unplugin/package.json
+++ b/packages/unplugin/package.json
@@ -4,12 +4,15 @@
"description": "Sentry unplugin.",
"main": "dist/cjs/index.js",
"module": "dist/esm/index.js",
+ "types": "dist/types/index.d.ts",
"repository": "https://github.com/lforst/sentry-unplugin",
"scripts": {
- "build": "run-p build:rollup",
- "build:watch": "run-p build:rollup:watch",
+ "build": "run-p build:rollup build:types",
+ "build:watch": "run-p build:rollup:watch build:types:watch",
"build:rollup": "rollup --config rollup.config.js",
- "build:rollup:watch": "rollup --config rollup.config.js --watch"
+ "build:rollup:watch": "rollup --config rollup.config.js --watch --no-watch.clearScreen",
+ "build:types": "tsc --project tsconfig.types.json",
+ "build:types:watch": "tsc --project tsconfig.types.json --watch --preserveWatchOutput"
},
"dependencies": {},
"devDependencies": {
@@ -22,6 +25,7 @@
"@types/node": "^8",
"npm-run-all": "^4.1.5",
"rollup": "2.75.7",
- "sentry-unplugin-tsconfigs": "*"
+ "sentry-unplugin-tsconfigs": "*",
+ "typescript": "^4.7.4"
}
}
diff --git a/packages/unplugin/tsconfig.json b/packages/unplugin/tsconfig.json
index c99f63d208db..a110dfd8d42b 100644
--- a/packages/unplugin/tsconfig.json
+++ b/packages/unplugin/tsconfig.json
@@ -1,6 +1,7 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"extends": "sentry-unplugin-tsconfigs/base-config.json",
+ "include": ["./src/**/*"],
"compilerOptions": {
"esModuleInterop": true,
"types": ["node"]
diff --git a/packages/unplugin/tsconfig.types.json b/packages/unplugin/tsconfig.types.json
new file mode 100644
index 000000000000..10d65ba754f2
--- /dev/null
+++ b/packages/unplugin/tsconfig.types.json
@@ -0,0 +1,10 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "./tsconfig.json",
+ "compilerOptions": {
+ "rootDir": "./src",
+ "declaration": true,
+ "emitDeclarationOnly": true,
+ "declarationDir": "./dist/types"
+ }
+}
diff --git a/yarn.lock b/yarn.lock
index 40626e21665e..6ddc8af50364 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -6278,6 +6278,11 @@ typedarray@^0.0.6:
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==
+typescript@^4.7.4:
+ version "4.7.4"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235"
+ integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==
+
uglify-js@^3.1.4:
version "3.16.1"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.16.1.tgz#0e7ec928b3d0b1e1d952bce634c384fd56377317"
From 2d03a15efd4be392f65d808962785ada48b79402 Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Sun, 26 Jun 2022 12:52:22 +0000
Subject: [PATCH 005/640] build(unplugin): Add type check
---
.github/workflows/checks.yml | 11 +++++++++++
package.json | 3 ++-
packages/unplugin/package.json | 3 ++-
3 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml
index 6c9d891b20dc..209e837f5453 100644
--- a/.github/workflows/checks.yml
+++ b/.github/workflows/checks.yml
@@ -19,3 +19,14 @@ jobs:
node-version: ${{ env.DEFAULT_NODE_VERSION }}
- run: yarn --frozen-lockfile
- run: yarn build
+
+ type-check:
+ name: check typing
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-node@v3
+ with:
+ node-version: ${{ env.DEFAULT_NODE_VERSION }}
+ - run: yarn --frozen-lockfile
+ - run: yarn check:types
diff --git a/package.json b/package.json
index bc1e81d487a5..843098c6ba49 100644
--- a/package.json
+++ b/package.json
@@ -9,7 +9,8 @@
],
"scripts": {
"build": "lerna run --parallel build",
- "build:watch": "lerna run --parallel build:watch"
+ "build:watch": "lerna run --parallel build:watch",
+ "check:types": "lerna run --parallel check:types"
},
"devDependencies": {
"lerna": "3.13.4"
diff --git a/packages/unplugin/package.json b/packages/unplugin/package.json
index 2353a4e14011..13849863b1f0 100644
--- a/packages/unplugin/package.json
+++ b/packages/unplugin/package.json
@@ -12,7 +12,8 @@
"build:rollup": "rollup --config rollup.config.js",
"build:rollup:watch": "rollup --config rollup.config.js --watch --no-watch.clearScreen",
"build:types": "tsc --project tsconfig.types.json",
- "build:types:watch": "tsc --project tsconfig.types.json --watch --preserveWatchOutput"
+ "build:types:watch": "tsc --project tsconfig.types.json --watch --preserveWatchOutput",
+ "check:types": "tsc --project tsconfig.json --noEmit"
},
"dependencies": {},
"devDependencies": {
From 5d7f69c54f240b26d4584c5665342db68fdc066f Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Sun, 26 Jun 2022 15:23:49 +0200
Subject: [PATCH 006/640] build: Add prettier (#12)
build: Add prettier
---
.github/workflows/checks.yml | 13 ++-
.husky/pre-commit | 4 +
.prettierrc.json | 3 +
package.json | 10 +-
yarn.lock | 193 ++++++++++++++++++++++++++++++++++-
5 files changed, 219 insertions(+), 4 deletions(-)
create mode 100755 .husky/pre-commit
create mode 100644 .prettierrc.json
diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml
index 209e837f5453..36c78ee2b63a 100644
--- a/.github/workflows/checks.yml
+++ b/.github/workflows/checks.yml
@@ -21,7 +21,7 @@ jobs:
- run: yarn build
type-check:
- name: check typing
+ name: Check typing
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
@@ -30,3 +30,14 @@ jobs:
node-version: ${{ env.DEFAULT_NODE_VERSION }}
- run: yarn --frozen-lockfile
- run: yarn check:types
+
+ formatting-check:
+ name: Check formatting
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-node@v3
+ with:
+ node-version: ${{ env.DEFAULT_NODE_VERSION }}
+ - run: yarn --frozen-lockfile
+ - run: yarn check:formatting
diff --git a/.husky/pre-commit b/.husky/pre-commit
new file mode 100755
index 000000000000..0da96d6baa59
--- /dev/null
+++ b/.husky/pre-commit
@@ -0,0 +1,4 @@
+#!/usr/bin/env sh
+. "$(dirname -- "$0")/_/husky.sh"
+
+npx pretty-quick --staged
diff --git a/.prettierrc.json b/.prettierrc.json
new file mode 100644
index 000000000000..de753c537d23
--- /dev/null
+++ b/.prettierrc.json
@@ -0,0 +1,3 @@
+{
+ "printWidth": 100
+}
diff --git a/package.json b/package.json
index 843098c6ba49..c8b7b8b66644 100644
--- a/package.json
+++ b/package.json
@@ -10,9 +10,15 @@
"scripts": {
"build": "lerna run --parallel build",
"build:watch": "lerna run --parallel build:watch",
- "check:types": "lerna run --parallel check:types"
+ "check:types": "lerna run --parallel check:types",
+ "check:formatting": "prettier --check .",
+ "fix:formatting": "prettier --write .",
+ "prepare": "husky install"
},
"devDependencies": {
- "lerna": "3.13.4"
+ "husky": "^8.0.0",
+ "lerna": "3.13.4",
+ "prettier": "^2.7.1",
+ "pretty-quick": "^3.1.3"
}
}
diff --git a/yarn.lock b/yarn.lock
index 6ddc8af50364..87fec13f1a2e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1759,6 +1759,11 @@
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
+"@types/minimatch@^3.0.3":
+ version "3.0.5"
+ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40"
+ integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==
+
"@types/minimist@^1.2.0":
version "1.2.2"
resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c"
@@ -1862,6 +1867,13 @@ ansi-styles@^3.2.1:
dependencies:
color-convert "^1.9.0"
+ansi-styles@^4.1.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
+ integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
+ dependencies:
+ color-convert "^2.0.1"
+
aproba@^1.0.3, aproba@^1.1.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
@@ -1907,6 +1919,11 @@ array-differ@^1.0.0:
resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031"
integrity sha512-LeZY+DZDRnvP7eMuQ6LHfCzUGxAAIViUBliK24P3hWXL6y4SortgR6Nim6xrkfSLlmH0+k+9NYNwVC2s53ZrYQ==
+array-differ@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b"
+ integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==
+
array-find-index@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
@@ -1924,6 +1941,11 @@ array-union@^1.0.1:
dependencies:
array-uniq "^1.0.1"
+array-union@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
+ integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
+
array-uniq@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
@@ -1950,6 +1972,11 @@ arrify@^1.0.0, arrify@^1.0.1:
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==
+arrify@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa"
+ integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==
+
asap@^2.0.0:
version "2.0.6"
resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
@@ -2275,6 +2302,14 @@ chalk@^2.0.0, chalk@^2.3.1, chalk@^2.4.1, chalk@^2.4.2:
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
+chalk@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
+ integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
chardet@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
@@ -2354,11 +2389,23 @@ color-convert@^1.9.0:
dependencies:
color-name "1.1.3"
+color-convert@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
+ integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+ dependencies:
+ color-name "~1.1.4"
+
color-name@1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
+color-name@~1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
+ integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
columnify@^1.5.4:
version "1.6.0"
resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.6.0.tgz#6989531713c9008bb29735e61e37acf5bd553cf3"
@@ -2575,6 +2622,15 @@ 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.3"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
+ integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
+ dependencies:
+ path-key "^3.1.0"
+ shebang-command "^2.0.0"
+ which "^2.0.1"
+
currently-unhandled@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
@@ -2911,6 +2967,21 @@ execa@^1.0.0:
signal-exit "^3.0.0"
strip-eof "^1.0.0"
+execa@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a"
+ integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==
+ dependencies:
+ cross-spawn "^7.0.0"
+ get-stream "^5.0.0"
+ human-signals "^1.1.1"
+ is-stream "^2.0.0"
+ merge-stream "^2.0.0"
+ npm-run-path "^4.0.0"
+ onetime "^5.1.0"
+ signal-exit "^3.0.2"
+ strip-final-newline "^2.0.0"
+
expand-brackets@^2.1.4:
version "2.1.4"
resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
@@ -3220,6 +3291,13 @@ get-stream@^4.0.0, get-stream@^4.1.0:
dependencies:
pump "^3.0.0"
+get-stream@^5.0.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
+ integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==
+ dependencies:
+ pump "^3.0.0"
+
get-symbol-description@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6"
@@ -3377,6 +3455,11 @@ has-flag@^3.0.0:
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
+has-flag@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
+ integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+
has-property-descriptors@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861"
@@ -3481,6 +3564,11 @@ https-proxy-agent@^2.2.1, https-proxy-agent@^2.2.3:
agent-base "^4.3.0"
debug "^3.1.0"
+human-signals@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
+ integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==
+
humanize-ms@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed"
@@ -3488,6 +3576,11 @@ humanize-ms@^1.2.1:
dependencies:
ms "^2.0.0"
+husky@^8.0.0:
+ version "8.0.1"
+ resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.1.tgz#511cb3e57de3e3190514ae49ed50f6bc3f50b3e9"
+ integrity sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==
+
iconv-lite@^0.4.24:
version "0.4.24"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
@@ -3519,6 +3612,11 @@ ignore@^3.3.5:
resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==
+ignore@^5.1.4:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a"
+ integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==
+
import-fresh@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546"
@@ -3879,6 +3977,11 @@ is-stream@^1.1.0:
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==
+is-stream@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
+ integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
+
is-string@^1.0.5, is-string@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd"
@@ -4388,6 +4491,11 @@ meow@^8.0.0:
type-fest "^0.18.0"
yargs-parser "^20.2.3"
+merge-stream@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
+ integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
+
merge2@^1.2.3:
version "1.4.1"
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
@@ -4429,7 +4537,7 @@ mimic-fn@^1.0.0:
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==
-mimic-fn@^2.0.0:
+mimic-fn@^2.0.0, mimic-fn@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
@@ -4531,6 +4639,11 @@ move-concurrently@^1.0.1:
rimraf "^2.5.4"
run-queue "^1.0.3"
+mri@^1.1.5:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b"
+ integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==
+
ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
@@ -4556,6 +4669,17 @@ multimatch@^2.1.0:
arrify "^1.0.0"
minimatch "^3.0.0"
+multimatch@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-4.0.0.tgz#8c3c0f6e3e8449ada0af3dd29efb491a375191b3"
+ integrity sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==
+ dependencies:
+ "@types/minimatch" "^3.0.3"
+ array-differ "^3.0.0"
+ array-union "^2.1.0"
+ arrify "^2.0.1"
+ minimatch "^3.0.4"
+
mute-stream@0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
@@ -4764,6 +4888,13 @@ npm-run-path@^2.0.0:
dependencies:
path-key "^2.0.0"
+npm-run-path@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
+ integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
+ dependencies:
+ path-key "^3.0.0"
+
"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
@@ -4861,6 +4992,13 @@ onetime@^2.0.0:
dependencies:
mimic-fn "^1.0.0"
+onetime@^5.1.0:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
+ integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
+ dependencies:
+ mimic-fn "^2.1.0"
+
os-homedir@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
@@ -5117,6 +5255,11 @@ path-key@^2.0.0, path-key@^2.0.1:
resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==
+path-key@^3.0.0, path-key@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
+ integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
+
path-parse@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
@@ -5192,6 +5335,23 @@ posix-character-classes@^0.1.0:
resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==
+prettier@^2.7.1:
+ version "2.7.1"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64"
+ integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==
+
+pretty-quick@^3.1.3:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/pretty-quick/-/pretty-quick-3.1.3.tgz#15281108c0ddf446675157ca40240099157b638e"
+ integrity sha512-kOCi2FJabvuh1as9enxYmrnBC6tVMoVOenMaBqRfsvBHB0cbpYHjdQEpSglpASDFEXVwplpcGR4CLEaisYAFcA==
+ dependencies:
+ chalk "^3.0.0"
+ execa "^4.0.0"
+ find-up "^4.1.0"
+ ignore "^5.1.4"
+ mri "^1.1.5"
+ multimatch "^4.0.0"
+
process-nextick-args@~2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
@@ -5719,11 +5879,23 @@ shebang-command@^1.2.0:
dependencies:
shebang-regex "^1.0.0"
+shebang-command@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
+ integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
+ dependencies:
+ shebang-regex "^3.0.0"
+
shebang-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==
+shebang-regex@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
+ integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
+
shell-quote@^1.6.1:
version "1.7.3"
resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123"
@@ -6066,6 +6238,11 @@ strip-eof@^1.0.0:
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==
+strip-final-newline@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
+ integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
+
strip-indent@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
@@ -6101,6 +6278,13 @@ supports-color@^5.3.0:
dependencies:
has-flag "^3.0.0"
+supports-color@^7.1.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
+ integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
+ dependencies:
+ has-flag "^4.0.0"
+
supports-preserve-symlinks-flag@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
@@ -6503,6 +6687,13 @@ which@1, which@^1.2.9, which@^1.3.1:
dependencies:
isexe "^2.0.0"
+which@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
+ integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
+ dependencies:
+ isexe "^2.0.0"
+
wide-align@^1.1.0:
version "1.1.5"
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3"
From c4764f3d1319543bb99bfd494572e0bb91aa5948 Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Sun, 26 Jun 2022 15:55:27 +0200
Subject: [PATCH 007/640] test(unplugin): Add unit test setup (#13)
---
.github/workflows/checks.yml | 17 +-
package.json | 1 +
packages/unplugin/jest.config.js | 6 +
packages/unplugin/package.json | 11 +-
packages/unplugin/test/example.test.ts | 5 +
packages/unplugin/test/tsconfig.json | 8 +
...sconfig.types.json => types.tsconfig.json} | 0
yarn.lock | 1473 ++++++++++++++++-
8 files changed, 1479 insertions(+), 42 deletions(-)
create mode 100644 packages/unplugin/jest.config.js
create mode 100644 packages/unplugin/test/example.test.ts
create mode 100644 packages/unplugin/test/tsconfig.json
rename packages/unplugin/{tsconfig.types.json => types.tsconfig.json} (100%)
diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml
index 36c78ee2b63a..c74cccec765f 100644
--- a/.github/workflows/checks.yml
+++ b/.github/workflows/checks.yml
@@ -10,7 +10,7 @@ env:
jobs:
build:
- name: build
+ name: Build packages
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
@@ -21,7 +21,7 @@ jobs:
- run: yarn build
type-check:
- name: Check typing
+ name: Typing check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
@@ -32,7 +32,18 @@ jobs:
- run: yarn check:types
formatting-check:
- name: Check formatting
+ name: Formatting check
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-node@v3
+ with:
+ node-version: ${{ env.DEFAULT_NODE_VERSION }}
+ - run: yarn --frozen-lockfile
+ - run: yarn check:formatting
+
+ test:
+ name: Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
diff --git a/package.json b/package.json
index c8b7b8b66644..d2fc3b2e1c74 100644
--- a/package.json
+++ b/package.json
@@ -11,6 +11,7 @@
"build": "lerna run --parallel build",
"build:watch": "lerna run --parallel build:watch",
"check:types": "lerna run --parallel check:types",
+ "test": "lerna run --parallel test",
"check:formatting": "prettier --check .",
"fix:formatting": "prettier --write .",
"prepare": "husky install"
diff --git a/packages/unplugin/jest.config.js b/packages/unplugin/jest.config.js
new file mode 100644
index 000000000000..160178bbd22f
--- /dev/null
+++ b/packages/unplugin/jest.config.js
@@ -0,0 +1,6 @@
+module.exports = {
+ testEnvironment: "node",
+ transform: {
+ "^.+\\.(t|j)sx?$": ["@swc/jest"],
+ },
+};
diff --git a/packages/unplugin/package.json b/packages/unplugin/package.json
index 13849863b1f0..438b2d4f4ccf 100644
--- a/packages/unplugin/package.json
+++ b/packages/unplugin/package.json
@@ -11,9 +11,10 @@
"build:watch": "run-p build:rollup:watch build:types:watch",
"build:rollup": "rollup --config rollup.config.js",
"build:rollup:watch": "rollup --config rollup.config.js --watch --no-watch.clearScreen",
- "build:types": "tsc --project tsconfig.types.json",
- "build:types:watch": "tsc --project tsconfig.types.json --watch --preserveWatchOutput",
- "check:types": "tsc --project tsconfig.json --noEmit"
+ "build:types": "tsc --project types.tsconfig.json",
+ "build:types:watch": "tsc --project types.tsconfig.json --watch --preserveWatchOutput",
+ "check:types": "tsc --project tsconfig.json --noEmit",
+ "test": "jest"
},
"dependencies": {},
"devDependencies": {
@@ -23,7 +24,11 @@
"@rollup/plugin-babel": "5.3.1",
"@rollup/plugin-commonjs": "22.0.1",
"@rollup/plugin-node-resolve": "13.3.0",
+ "@swc/core": "^1.2.205",
+ "@swc/jest": "^0.2.21",
+ "@types/jest": "^28.1.3",
"@types/node": "^8",
+ "jest": "^28.1.1",
"npm-run-all": "^4.1.5",
"rollup": "2.75.7",
"sentry-unplugin-tsconfigs": "*",
diff --git a/packages/unplugin/test/example.test.ts b/packages/unplugin/test/example.test.ts
new file mode 100644
index 000000000000..633e33fac47a
--- /dev/null
+++ b/packages/unplugin/test/example.test.ts
@@ -0,0 +1,5 @@
+import { helloWorld } from "../src";
+
+test("example", () => {
+ expect(helloWorld).toBeTruthy();
+});
diff --git a/packages/unplugin/test/tsconfig.json b/packages/unplugin/test/tsconfig.json
new file mode 100644
index 000000000000..2b2ad253197e
--- /dev/null
+++ b/packages/unplugin/test/tsconfig.json
@@ -0,0 +1,8 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "../tsconfig.json",
+ "include": ["../src/**/*", "./**/*"],
+ "compilerOptions": {
+ "types": ["node", "jest"]
+ }
+}
diff --git a/packages/unplugin/tsconfig.types.json b/packages/unplugin/types.tsconfig.json
similarity index 100%
rename from packages/unplugin/tsconfig.types.json
rename to packages/unplugin/types.tsconfig.json
diff --git a/yarn.lock b/yarn.lock
index 87fec13f1a2e..1899d5101afb 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -10,7 +10,7 @@
"@jridgewell/gen-mapping" "^0.1.0"
"@jridgewell/trace-mapping" "^0.3.9"
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7":
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7":
version "7.16.7"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789"
integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==
@@ -22,7 +22,7 @@
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.5.tgz#acac0c839e317038c73137fbb6ef71a1d6238471"
integrity sha512-BxhE40PVCBxVEJsSBhB6UWyAuqJRxGsAw8BdHMJ3AKGydcwuWW4kOO3HmqBQAdcq/OP+/DlTVxLvsCzRTnZuGg==
-"@babel/core@7.18.5":
+"@babel/core@7.18.5", "@babel/core@^7.11.6", "@babel/core@^7.12.3":
version "7.18.5"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.5.tgz#c597fa680e58d571c28dda9827669c78cdd7f000"
integrity sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ==
@@ -43,7 +43,7 @@
json5 "^2.2.1"
semver "^6.3.0"
-"@babel/generator@^7.18.2":
+"@babel/generator@^7.18.2", "@babel/generator@^7.7.2":
version "7.18.2"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.2.tgz#33873d6f89b21efe2da63fe554460f3df1c5880d"
integrity sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==
@@ -258,7 +258,7 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
-"@babel/parser@^7.16.7", "@babel/parser@^7.18.5":
+"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.18.5":
version "7.18.5"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.5.tgz#337062363436a893a2d22faa60be5bb37091c83c"
integrity sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw==
@@ -414,7 +414,14 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-class-properties@^7.12.13":
+"@babel/plugin-syntax-bigint@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea"
+ integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3":
version "7.12.13"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10"
integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==
@@ -449,6 +456,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.17.12"
+"@babel/plugin-syntax-import-meta@^7.8.3":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51"
+ integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
"@babel/plugin-syntax-json-strings@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a"
@@ -456,7 +470,7 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-logical-assignment-operators@^7.10.4":
+"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699"
integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==
@@ -470,7 +484,7 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-numeric-separator@^7.10.4":
+"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97"
integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==
@@ -505,14 +519,14 @@
dependencies:
"@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-syntax-top-level-await@^7.14.5":
+"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c"
integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==
dependencies:
"@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-syntax-typescript@^7.17.12":
+"@babel/plugin-syntax-typescript@^7.17.12", "@babel/plugin-syntax-typescript@^7.7.2":
version "7.17.12"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.12.tgz#b54fc3be6de734a56b87508f99d6428b5b605a7b"
integrity sha512-TYY0SXFiO31YXtNg3HtFwNJHjLsAyIIhAhNWkQ5whPPS7HWUFlg9z0Ta4qAQNjQbP1wsSt/oKkmZ/4/WWdMUpw==
@@ -888,7 +902,7 @@
dependencies:
regenerator-runtime "^0.13.4"
-"@babel/template@^7.16.7":
+"@babel/template@^7.16.7", "@babel/template@^7.3.3":
version "7.16.7"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155"
integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==
@@ -897,7 +911,7 @@
"@babel/parser" "^7.16.7"
"@babel/types" "^7.16.7"
-"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.18.0", "@babel/traverse@^7.18.2", "@babel/traverse@^7.18.5":
+"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.18.0", "@babel/traverse@^7.18.2", "@babel/traverse@^7.18.5", "@babel/traverse@^7.7.2":
version "7.18.5"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.5.tgz#94a8195ad9642801837988ab77f36e992d9a20cd"
integrity sha512-aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA==
@@ -913,7 +927,7 @@
debug "^4.1.0"
globals "^11.1.0"
-"@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.18.0", "@babel/types@^7.18.2", "@babel/types@^7.18.4", "@babel/types@^7.4.4":
+"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.18.0", "@babel/types@^7.18.2", "@babel/types@^7.18.4", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
version "7.18.4"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.4.tgz#27eae9b9fd18e9dccc3f9d6ad051336f307be354"
integrity sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==
@@ -921,6 +935,238 @@
"@babel/helper-validator-identifier" "^7.16.7"
to-fast-properties "^2.0.0"
+"@bcoe/v8-coverage@^0.2.3":
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
+ integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
+
+"@istanbuljs/load-nyc-config@^1.0.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced"
+ integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==
+ dependencies:
+ camelcase "^5.3.1"
+ find-up "^4.1.0"
+ get-package-type "^0.1.0"
+ js-yaml "^3.13.1"
+ resolve-from "^5.0.0"
+
+"@istanbuljs/schema@^0.1.2":
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98"
+ integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==
+
+"@jest/console@^28.1.1":
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/@jest/console/-/console-28.1.1.tgz#305f8ca50b6e70413839f54c0e002b60a0f2fd7d"
+ integrity sha512-0RiUocPVFEm3WRMOStIHbRWllG6iW6E3/gUPnf4lkrVFyXIIDeCe+vlKeYyFOMhB2EPE6FLFCNADSOOQMaqvyA==
+ dependencies:
+ "@jest/types" "^28.1.1"
+ "@types/node" "*"
+ chalk "^4.0.0"
+ jest-message-util "^28.1.1"
+ jest-util "^28.1.1"
+ slash "^3.0.0"
+
+"@jest/core@^28.1.1":
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/@jest/core/-/core-28.1.1.tgz#086830bec6267accf9af5ca76f794858e9f9f092"
+ integrity sha512-3pYsBoZZ42tXMdlcFeCc/0j9kOlK7MYuXs2B1QbvDgMoW1K9NJ4G/VYvIbMb26iqlkTfPHo7SC2JgjDOk/mxXw==
+ dependencies:
+ "@jest/console" "^28.1.1"
+ "@jest/reporters" "^28.1.1"
+ "@jest/test-result" "^28.1.1"
+ "@jest/transform" "^28.1.1"
+ "@jest/types" "^28.1.1"
+ "@types/node" "*"
+ ansi-escapes "^4.2.1"
+ chalk "^4.0.0"
+ ci-info "^3.2.0"
+ exit "^0.1.2"
+ graceful-fs "^4.2.9"
+ jest-changed-files "^28.0.2"
+ jest-config "^28.1.1"
+ jest-haste-map "^28.1.1"
+ jest-message-util "^28.1.1"
+ jest-regex-util "^28.0.2"
+ jest-resolve "^28.1.1"
+ jest-resolve-dependencies "^28.1.1"
+ jest-runner "^28.1.1"
+ jest-runtime "^28.1.1"
+ jest-snapshot "^28.1.1"
+ jest-util "^28.1.1"
+ jest-validate "^28.1.1"
+ jest-watcher "^28.1.1"
+ micromatch "^4.0.4"
+ pretty-format "^28.1.1"
+ rimraf "^3.0.0"
+ slash "^3.0.0"
+ strip-ansi "^6.0.0"
+
+"@jest/create-cache-key-function@^27.4.2":
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-27.5.1.tgz#7448fae15602ea95c828f5eceed35c202a820b31"
+ integrity sha512-dmH1yW+makpTSURTy8VzdUwFnfQh1G8R+DxO2Ho2FFmBbKFEVm+3jWdvFhE2VqB/LATCTokkP0dotjyQyw5/AQ==
+ dependencies:
+ "@jest/types" "^27.5.1"
+
+"@jest/environment@^28.1.1":
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-28.1.1.tgz#c4cbf85283278d768f816ebd1a258ea6f9e39d4f"
+ integrity sha512-9auVQ2GzQ7nrU+lAr8KyY838YahElTX9HVjbQPPS2XjlxQ+na18G113OoBhyBGBtD6ZnO/SrUy5WR8EzOj1/Uw==
+ dependencies:
+ "@jest/fake-timers" "^28.1.1"
+ "@jest/types" "^28.1.1"
+ "@types/node" "*"
+ jest-mock "^28.1.1"
+
+"@jest/expect-utils@^28.1.1":
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-28.1.1.tgz#d84c346025b9f6f3886d02c48a6177e2b0360587"
+ integrity sha512-n/ghlvdhCdMI/hTcnn4qV57kQuV9OTsZzH1TTCVARANKhl6hXJqLKUkwX69ftMGpsbpt96SsDD8n8LD2d9+FRw==
+ dependencies:
+ jest-get-type "^28.0.2"
+
+"@jest/expect@^28.1.1":
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-28.1.1.tgz#ea4fcc8504b45835029221c0dc357c622a761326"
+ integrity sha512-/+tQprrFoT6lfkMj4mW/mUIfAmmk/+iQPmg7mLDIFOf2lyf7EBHaS+x3RbeR0VZVMe55IvX7QRoT/2aK3AuUXg==
+ dependencies:
+ expect "^28.1.1"
+ jest-snapshot "^28.1.1"
+
+"@jest/fake-timers@^28.1.1":
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-28.1.1.tgz#47ce33296ab9d680c76076d51ddbe65ceb3337f1"
+ integrity sha512-BY/3+TyLs5+q87rGWrGUY5f8e8uC3LsVHS9Diz8+FV3ARXL4sNnkLlIB8dvDvRrp+LUCGM+DLqlsYubizGUjIA==
+ dependencies:
+ "@jest/types" "^28.1.1"
+ "@sinonjs/fake-timers" "^9.1.1"
+ "@types/node" "*"
+ jest-message-util "^28.1.1"
+ jest-mock "^28.1.1"
+ jest-util "^28.1.1"
+
+"@jest/globals@^28.1.1":
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-28.1.1.tgz#c0a7977f85e26279cc090d9adcdf82b8a34c4061"
+ integrity sha512-dEgl/6v7ToB4vXItdvcltJBgny0xBE6xy6IYQrPJAJggdEinGxCDMivNv7sFzPcTITGquXD6UJwYxfJ/5ZwDSg==
+ dependencies:
+ "@jest/environment" "^28.1.1"
+ "@jest/expect" "^28.1.1"
+ "@jest/types" "^28.1.1"
+
+"@jest/reporters@^28.1.1":
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-28.1.1.tgz#9389f4bb3cce4d9b586f6195f83c79cd2a1c8662"
+ integrity sha512-597Zj4D4d88sZrzM4atEGLuO7SdA/YrOv9SRXHXRNC+/FwPCWxZhBAEzhXoiJzfRwn8zes/EjS8Lo6DouGN5Gg==
+ dependencies:
+ "@bcoe/v8-coverage" "^0.2.3"
+ "@jest/console" "^28.1.1"
+ "@jest/test-result" "^28.1.1"
+ "@jest/transform" "^28.1.1"
+ "@jest/types" "^28.1.1"
+ "@jridgewell/trace-mapping" "^0.3.7"
+ "@types/node" "*"
+ chalk "^4.0.0"
+ collect-v8-coverage "^1.0.0"
+ exit "^0.1.2"
+ glob "^7.1.3"
+ graceful-fs "^4.2.9"
+ istanbul-lib-coverage "^3.0.0"
+ istanbul-lib-instrument "^5.1.0"
+ istanbul-lib-report "^3.0.0"
+ istanbul-lib-source-maps "^4.0.0"
+ istanbul-reports "^3.1.3"
+ jest-message-util "^28.1.1"
+ jest-util "^28.1.1"
+ jest-worker "^28.1.1"
+ slash "^3.0.0"
+ string-length "^4.0.1"
+ strip-ansi "^6.0.0"
+ terminal-link "^2.0.0"
+ v8-to-istanbul "^9.0.0"
+
+"@jest/schemas@^28.0.2":
+ version "28.0.2"
+ resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-28.0.2.tgz#08c30df6a8d07eafea0aef9fb222c5e26d72e613"
+ integrity sha512-YVDJZjd4izeTDkij00vHHAymNXQ6WWsdChFRK86qck6Jpr3DCL5W3Is3vslviRlP+bLuMYRLbdp98amMvqudhA==
+ dependencies:
+ "@sinclair/typebox" "^0.23.3"
+
+"@jest/source-map@^28.0.2":
+ version "28.0.2"
+ resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-28.0.2.tgz#914546f4410b67b1d42c262a1da7e0406b52dc90"
+ integrity sha512-Y9dxC8ZpN3kImkk0LkK5XCEneYMAXlZ8m5bflmSL5vrwyeUpJfentacCUg6fOb8NOpOO7hz2+l37MV77T6BFPw==
+ dependencies:
+ "@jridgewell/trace-mapping" "^0.3.7"
+ callsites "^3.0.0"
+ graceful-fs "^4.2.9"
+
+"@jest/test-result@^28.1.1":
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-28.1.1.tgz#c6f18d1bbb01aa88925dd687872a75f8414b317a"
+ integrity sha512-hPmkugBktqL6rRzwWAtp1JtYT4VHwv8OQ+9lE5Gymj6dHzubI/oJHMUpPOt8NrdVWSrz9S7bHjJUmv2ggFoUNQ==
+ dependencies:
+ "@jest/console" "^28.1.1"
+ "@jest/types" "^28.1.1"
+ "@types/istanbul-lib-coverage" "^2.0.0"
+ collect-v8-coverage "^1.0.0"
+
+"@jest/test-sequencer@^28.1.1":
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-28.1.1.tgz#f594ee2331df75000afe0d1ae3237630ecec732e"
+ integrity sha512-nuL+dNSVMcWB7OOtgb0EGH5AjO4UBCt68SLP08rwmC+iRhyuJWS9MtZ/MpipxFwKAlHFftbMsydXqWre8B0+XA==
+ dependencies:
+ "@jest/test-result" "^28.1.1"
+ graceful-fs "^4.2.9"
+ jest-haste-map "^28.1.1"
+ slash "^3.0.0"
+
+"@jest/transform@^28.1.1":
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-28.1.1.tgz#83541f2a3f612077c8501f49cc4e205d4e4a6b27"
+ integrity sha512-PkfaTUuvjUarl1EDr5ZQcCA++oXkFCP9QFUkG0yVKVmNObjhrqDy0kbMpMebfHWm3CCDHjYNem9eUSH8suVNHQ==
+ dependencies:
+ "@babel/core" "^7.11.6"
+ "@jest/types" "^28.1.1"
+ "@jridgewell/trace-mapping" "^0.3.7"
+ babel-plugin-istanbul "^6.1.1"
+ chalk "^4.0.0"
+ convert-source-map "^1.4.0"
+ fast-json-stable-stringify "^2.0.0"
+ graceful-fs "^4.2.9"
+ jest-haste-map "^28.1.1"
+ jest-regex-util "^28.0.2"
+ jest-util "^28.1.1"
+ micromatch "^4.0.4"
+ pirates "^4.0.4"
+ slash "^3.0.0"
+ write-file-atomic "^4.0.1"
+
+"@jest/types@^27.5.1":
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80"
+ integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==
+ dependencies:
+ "@types/istanbul-lib-coverage" "^2.0.0"
+ "@types/istanbul-reports" "^3.0.0"
+ "@types/node" "*"
+ "@types/yargs" "^16.0.0"
+ chalk "^4.0.0"
+
+"@jest/types@^28.1.1":
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/@jest/types/-/types-28.1.1.tgz#d059bbc80e6da6eda9f081f293299348bd78ee0b"
+ integrity sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==
+ dependencies:
+ "@jest/schemas" "^28.0.2"
+ "@types/istanbul-lib-coverage" "^2.0.0"
+ "@types/istanbul-reports" "^3.0.0"
+ "@types/node" "*"
+ "@types/yargs" "^17.0.8"
+ chalk "^4.0.0"
+
"@jridgewell/gen-mapping@^0.1.0":
version "0.1.1"
resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996"
@@ -953,7 +1199,7 @@
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz#b6461fb0c2964356c469e115f504c95ad97ab88c"
integrity sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==
-"@jridgewell/trace-mapping@^0.3.9":
+"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.7", "@jridgewell/trace-mapping@^0.3.9":
version "0.3.13"
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz#dcfe3e95f224c8fe97a87a5235defec999aa92ea"
integrity sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==
@@ -1749,6 +1995,149 @@
estree-walker "^1.0.1"
picomatch "^2.2.2"
+"@sinclair/typebox@^0.23.3":
+ version "0.23.5"
+ resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.23.5.tgz#93f7b9f4e3285a7a9ade7557d9a8d36809cbc47d"
+ integrity sha512-AFBVi/iT4g20DHoujvMH1aEDn8fGJh4xsRGCP6d8RpLPMqsNPvW01Jcn0QysXTsg++/xj25NmJsGyH9xug/wKg==
+
+"@sinonjs/commons@^1.7.0":
+ version "1.8.3"
+ resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d"
+ integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==
+ dependencies:
+ type-detect "4.0.8"
+
+"@sinonjs/fake-timers@^9.1.1":
+ version "9.1.2"
+ resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz#4eaab737fab77332ab132d396a3c0d364bd0ea8c"
+ integrity sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==
+ dependencies:
+ "@sinonjs/commons" "^1.7.0"
+
+"@swc/core-android-arm-eabi@1.2.205":
+ version "1.2.205"
+ resolved "https://registry.yarnpkg.com/@swc/core-android-arm-eabi/-/core-android-arm-eabi-1.2.205.tgz#d8ca076cbfbe92f17297de0e6b2754a7ae3a8e2f"
+ integrity sha512-HfiuVA1JDHMSRQ8nE1DcemUgZ1PKaPwit4i7q3xin0NVbVHY1xkJyQFuLVh3VxTvGKKkF3hi8GJMVQgOXWL6kg==
+
+"@swc/core-android-arm64@1.2.205":
+ version "1.2.205"
+ resolved "https://registry.yarnpkg.com/@swc/core-android-arm64/-/core-android-arm64-1.2.205.tgz#cb822dad076b1c30b990a2037147ae42f66bf98e"
+ integrity sha512-sRGZBV2dOnmh8gWWFo9HVOHdKa33zIsF8/8oYEGtq+2/s96UlAKltO2AA7HH9RaO/fT1tzBZStp+fEMUhDk/FA==
+
+"@swc/core-darwin-arm64@1.2.205":
+ version "1.2.205"
+ resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.2.205.tgz#1a3340e21459cdeea2224057ddf031a330782424"
+ integrity sha512-JwVDfKS7vp7zzOQXWNwwcF41h4r3DWEpK6DQjz18WJyS1VVOcpVQGyuE7kSPjcnG01ZxBL9JPwwT353i/8IwDg==
+
+"@swc/core-darwin-x64@1.2.205":
+ version "1.2.205"
+ resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.2.205.tgz#7a6552acd42482ecb84b1c90c0defad408ac81cc"
+ integrity sha512-malz2I+w6xFF1QyTmPGt0Y0NEMbUcrvfr5gUfZDGjxMhPPlS7k6fXucuZxVr9VVaM+JGq1SidVODmZ84jb1qHg==
+
+"@swc/core-freebsd-x64@1.2.205":
+ version "1.2.205"
+ resolved "https://registry.yarnpkg.com/@swc/core-freebsd-x64/-/core-freebsd-x64-1.2.205.tgz#d58f48d5de9a2babd609802338bd8e8934fec39a"
+ integrity sha512-/nZrG1z0T7h97AsOb/wOtYlnh4WEuNppv3XKQIMPj32YNQdMBVgpybVTVRIs1GQGZMd1/7jAy5BVQcwQjUbrLg==
+
+"@swc/core-linux-arm-gnueabihf@1.2.205":
+ version "1.2.205"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.2.205.tgz#33f7f639ab64dc8c9229a2e63fc025db50905345"
+ integrity sha512-mTA3vETMdBmpecUyI9waZYsp7FABhew4e81psspmFpDyfty0SLISWZDnvPAn0pSnb2fWhzKwDC5kdXHKUmLJuA==
+
+"@swc/core-linux-arm64-gnu@1.2.205":
+ version "1.2.205"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.2.205.tgz#ab3aef46cb3792368cfdb1ff1fa9af4df0664e17"
+ integrity sha512-qGzFGryeQE+O5SFK7Nn2ESqCEnv00rnzhf11WZF9V71EZ15amIhmbcwHqvFpoRSDw8hZnqoGqfPRfoJbouptnA==
+
+"@swc/core-linux-arm64-musl@1.2.205":
+ version "1.2.205"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.2.205.tgz#20e79f0a3cfbe0d803ad256fd422ee17b52e3464"
+ integrity sha512-uLJoX9L/4Xg3sLMjAbIhzbTe5gD/MBA8VETBeEkLtgb7a0ys1kvn9xQ6qLw6A71amEPlI+VABnoTRdUEaBSV9Q==
+
+"@swc/core-linux-x64-gnu@1.2.205":
+ version "1.2.205"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.2.205.tgz#7e698ca21854a038f973ed5cb2d195ae00b0707a"
+ integrity sha512-gQsjcYlkWKP1kceQIsoHGrOrG7ygW3ojNsSnYoZ5DG5PipRA4eeUfO9YIfrmoa29LiVNjmRPfUJa8O1UHDG5ew==
+
+"@swc/core-linux-x64-musl@1.2.205":
+ version "1.2.205"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.2.205.tgz#e9aeb2bdf4aad466d1250d67aade0984cd6c4812"
+ integrity sha512-LR5ukqBltQc++2eX3qEj/H8KtOt0V3CmtgXNOiNCUxvPDT8mYz/8MJhYOrofonND0RKfXyyPW7dRxg62ceTLSQ==
+
+"@swc/core-win32-arm64-msvc@1.2.205":
+ version "1.2.205"
+ resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.2.205.tgz#c46bf0adc703d199fd1eeef4a811913cb0e74164"
+ integrity sha512-NjcLWm4mOy78LAEt7pqFl+SLcCyqnSlUP729XRd1uRvKwt1Cwch5SQRdoaFqwf1DaEQy4H4iuGPynkfarlb1kQ==
+
+"@swc/core-win32-ia32-msvc@1.2.205":
+ version "1.2.205"
+ resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.2.205.tgz#f1aa4a72670c6367282e39f81052d51287b23497"
+ integrity sha512-+6byrRxIXgZ0zmLL6ZeX1HBBrAqvCy8MR5Yz0SO26jR8OPZXJCgZXL9BTsZO+YEG4f32ZOlZh3nnHCl6Dcb4GA==
+
+"@swc/core-win32-x64-msvc@1.2.205":
+ version "1.2.205"
+ resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.2.205.tgz#626b979203510c43c7f5a8014881a2c08426bf33"
+ integrity sha512-RRSkyAol0c7sU9gejtrpF8TLmdYdBjLutcmQHtLKbWTm74ZLidZpF28G0J2tD7HNmzQnMpLzyoT1jW9JgLwzVg==
+
+"@swc/core@^1.2.205":
+ version "1.2.205"
+ resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.2.205.tgz#b786644c1752bc9206bcd30b05a4f365ef60eed3"
+ integrity sha512-evq0/tFyYdYgOhKb//+G93fxe9zwFxtme7NL7wSiEF8+4/ON4Y5AI9eHLoqddXqs3W8Y0HQi+rJmlrkCibrseA==
+ optionalDependencies:
+ "@swc/core-android-arm-eabi" "1.2.205"
+ "@swc/core-android-arm64" "1.2.205"
+ "@swc/core-darwin-arm64" "1.2.205"
+ "@swc/core-darwin-x64" "1.2.205"
+ "@swc/core-freebsd-x64" "1.2.205"
+ "@swc/core-linux-arm-gnueabihf" "1.2.205"
+ "@swc/core-linux-arm64-gnu" "1.2.205"
+ "@swc/core-linux-arm64-musl" "1.2.205"
+ "@swc/core-linux-x64-gnu" "1.2.205"
+ "@swc/core-linux-x64-musl" "1.2.205"
+ "@swc/core-win32-arm64-msvc" "1.2.205"
+ "@swc/core-win32-ia32-msvc" "1.2.205"
+ "@swc/core-win32-x64-msvc" "1.2.205"
+
+"@swc/jest@^0.2.21":
+ version "0.2.21"
+ resolved "https://registry.yarnpkg.com/@swc/jest/-/jest-0.2.21.tgz#e8c4e234016a914f4cfbb7d75844860a250c1d1c"
+ integrity sha512-/+NcExiZbxXANNhNPnIdFuGq62CeumulLS1bngwqIXd8H7d96LFUfrYzdt8tlTwLMel8tFtQ5aRjzVkyOTyPDw==
+ dependencies:
+ "@jest/create-cache-key-function" "^27.4.2"
+
+"@types/babel__core@^7.1.14":
+ version "7.1.19"
+ resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460"
+ integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==
+ dependencies:
+ "@babel/parser" "^7.1.0"
+ "@babel/types" "^7.0.0"
+ "@types/babel__generator" "*"
+ "@types/babel__template" "*"
+ "@types/babel__traverse" "*"
+
+"@types/babel__generator@*":
+ version "7.6.4"
+ resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7"
+ integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==
+ dependencies:
+ "@babel/types" "^7.0.0"
+
+"@types/babel__template@*":
+ version "7.4.1"
+ resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969"
+ integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==
+ dependencies:
+ "@babel/parser" "^7.1.0"
+ "@babel/types" "^7.0.0"
+
+"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6":
+ version "7.17.1"
+ resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.17.1.tgz#1a0e73e8c28c7e832656db372b779bfd2ef37314"
+ integrity sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==
+ dependencies:
+ "@babel/types" "^7.3.0"
+
"@types/estree@*":
version "0.0.52"
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.52.tgz#7f1f57ad5b741f3d5b210d3b1f145640d89bf8fe"
@@ -1759,6 +2148,40 @@
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
+"@types/graceful-fs@^4.1.3":
+ version "4.1.5"
+ resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15"
+ integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==
+ dependencies:
+ "@types/node" "*"
+
+"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1":
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44"
+ integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==
+
+"@types/istanbul-lib-report@*":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686"
+ integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==
+ dependencies:
+ "@types/istanbul-lib-coverage" "*"
+
+"@types/istanbul-reports@^3.0.0":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff"
+ integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==
+ dependencies:
+ "@types/istanbul-lib-report" "*"
+
+"@types/jest@^28.1.3":
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/@types/jest/-/jest-28.1.3.tgz#52f3f3e50ce59191ff5fbb1084896cc0cf30c9ce"
+ integrity sha512-Tsbjk8Y2hkBaY/gJsataeb4q9Mubw9EOz7+4RjPkzD5KjTvHHs7cpws22InaoXxAVAhF5HfFbzJjo6oKWqSZLw==
+ dependencies:
+ jest-matcher-utils "^28.0.0"
+ pretty-format "^28.0.0"
+
"@types/minimatch@^3.0.3":
version "3.0.5"
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40"
@@ -1784,6 +2207,11 @@
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301"
integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==
+"@types/prettier@^2.1.5":
+ version "2.6.3"
+ resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.6.3.tgz#68ada76827b0010d0db071f739314fa429943d0a"
+ integrity sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==
+
"@types/resolve@1.17.1":
version "1.17.1"
resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6"
@@ -1791,6 +2219,30 @@
dependencies:
"@types/node" "*"
+"@types/stack-utils@^2.0.0":
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c"
+ integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==
+
+"@types/yargs-parser@*":
+ version "21.0.0"
+ resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b"
+ integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==
+
+"@types/yargs@^16.0.0":
+ version "16.0.4"
+ resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977"
+ integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==
+ dependencies:
+ "@types/yargs-parser" "*"
+
+"@types/yargs@^17.0.8":
+ version "17.0.10"
+ resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.10.tgz#591522fce85d8739bca7b8bb90d048e4478d186a"
+ integrity sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==
+ dependencies:
+ "@types/yargs-parser" "*"
+
JSONStream@^1.0.4, JSONStream@^1.3.4:
version "1.3.5"
resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0"
@@ -1840,6 +2292,13 @@ ansi-escapes@^3.2.0:
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==
+ansi-escapes@^4.2.1:
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e"
+ integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==
+ dependencies:
+ type-fest "^0.21.3"
+
ansi-regex@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
@@ -1867,13 +2326,26 @@ ansi-styles@^3.2.1:
dependencies:
color-convert "^1.9.0"
-ansi-styles@^4.1.0:
+ansi-styles@^4.0.0, ansi-styles@^4.1.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
dependencies:
color-convert "^2.0.1"
+ansi-styles@^5.0.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b"
+ integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==
+
+anymatch@^3.0.3:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
+ integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
+ dependencies:
+ normalize-path "^3.0.0"
+ picomatch "^2.0.4"
+
aproba@^1.0.3, aproba@^1.1.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
@@ -2024,6 +2496,19 @@ aws4@^1.8.0:
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59"
integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
+babel-jest@^28.1.1:
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-28.1.1.tgz#2a3a4ae50964695b2d694ccffe4bec537c5a3586"
+ integrity sha512-MEt0263viUdAkTq5D7upHPNxvt4n9uLUGa6pPz3WviNBMtOmStb1lIXS3QobnoqM+qnH+vr4EKlvhe8QcmxIYw==
+ dependencies:
+ "@jest/transform" "^28.1.1"
+ "@types/babel__core" "^7.1.14"
+ babel-plugin-istanbul "^6.1.1"
+ babel-preset-jest "^28.1.1"
+ chalk "^4.0.0"
+ graceful-fs "^4.2.9"
+ slash "^3.0.0"
+
babel-plugin-dynamic-import-node@^2.3.3:
version "2.3.3"
resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3"
@@ -2031,6 +2516,27 @@ babel-plugin-dynamic-import-node@^2.3.3:
dependencies:
object.assign "^4.1.0"
+babel-plugin-istanbul@^6.1.1:
+ version "6.1.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73"
+ integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@istanbuljs/load-nyc-config" "^1.0.0"
+ "@istanbuljs/schema" "^0.1.2"
+ istanbul-lib-instrument "^5.0.4"
+ test-exclude "^6.0.0"
+
+babel-plugin-jest-hoist@^28.1.1:
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.1.tgz#5e055cdcc47894f28341f87f5e35aad2df680b11"
+ integrity sha512-NovGCy5Hn25uMJSAU8FaHqzs13cFoOI4lhIujiepssjCKRsAo3TA734RDWSGxuFTsUJXerYOqQQodlxgmtqbzw==
+ dependencies:
+ "@babel/template" "^7.3.3"
+ "@babel/types" "^7.3.3"
+ "@types/babel__core" "^7.1.14"
+ "@types/babel__traverse" "^7.0.6"
+
babel-plugin-polyfill-corejs2@^0.3.0:
version "0.3.1"
resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz#440f1b70ccfaabc6b676d196239b138f8a2cfba5"
@@ -2055,6 +2561,32 @@ babel-plugin-polyfill-regenerator@^0.3.0:
dependencies:
"@babel/helper-define-polyfill-provider" "^0.3.1"
+babel-preset-current-node-syntax@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b"
+ integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==
+ dependencies:
+ "@babel/plugin-syntax-async-generators" "^7.8.4"
+ "@babel/plugin-syntax-bigint" "^7.8.3"
+ "@babel/plugin-syntax-class-properties" "^7.8.3"
+ "@babel/plugin-syntax-import-meta" "^7.8.3"
+ "@babel/plugin-syntax-json-strings" "^7.8.3"
+ "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
+ "@babel/plugin-syntax-numeric-separator" "^7.8.3"
+ "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
+ "@babel/plugin-syntax-optional-chaining" "^7.8.3"
+ "@babel/plugin-syntax-top-level-await" "^7.8.3"
+
+babel-preset-jest@^28.1.1:
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-28.1.1.tgz#5b6e5e69f963eb2d70f739c607b8f723c0ee75e4"
+ integrity sha512-FCq9Oud0ReTeWtcneYf/48981aTfXYuB9gbU4rBNNJVBSQ6ssv7E6v/qvbBxtOWwZFXjLZwpg+W3q7J6vhH25g==
+ dependencies:
+ babel-plugin-jest-hoist "^28.1.1"
+ babel-preset-current-node-syntax "^1.0.0"
+
balanced-match@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
@@ -2114,6 +2646,13 @@ braces@^2.3.1:
split-string "^3.0.2"
to-regex "^3.0.1"
+braces@^3.0.2:
+ 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"
+
browserslist@^4.20.2, browserslist@^4.21.0:
version "4.21.0"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.0.tgz#7ab19572361a140ecd1e023e2c1ed95edda0cefe"
@@ -2124,6 +2663,20 @@ browserslist@^4.20.2, browserslist@^4.21.0:
node-releases "^2.0.5"
update-browserslist-db "^1.0.0"
+bs-logger@0.x:
+ version "0.2.6"
+ resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8"
+ integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==
+ dependencies:
+ fast-json-stable-stringify "2.x"
+
+bser@2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05"
+ integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==
+ dependencies:
+ node-int64 "^0.4.0"
+
btoa-lite@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337"
@@ -2242,6 +2795,11 @@ callsites@^2.0.0:
resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
integrity sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==
+callsites@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
+ integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
+
camelcase-keys@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
@@ -2283,6 +2841,11 @@ camelcase@^5.0.0, camelcase@^5.3.1:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
+camelcase@^6.2.0:
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
+ integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
+
caniuse-lite@^1.0.30001358:
version "1.0.30001359"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001359.tgz#a1c1cbe1c2da9e689638813618b4219acbd4925e"
@@ -2310,6 +2873,19 @@ chalk@^3.0.0:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
+chalk@^4.0.0:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
+ integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
+char-regex@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf"
+ integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==
+
chardet@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
@@ -2325,6 +2901,16 @@ ci-info@^1.5.0:
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497"
integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==
+ci-info@^3.2.0:
+ version "3.3.2"
+ resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.2.tgz#6d2967ffa407466481c6c90b6e16b3098f080128"
+ integrity sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==
+
+cjs-module-lexer@^1.0.0:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40"
+ integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==
+
class-utils@^0.3.5:
version "0.3.6"
resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
@@ -2356,6 +2942,15 @@ cliui@^4.0.0:
strip-ansi "^4.0.0"
wrap-ansi "^2.0.0"
+cliui@^7.0.2:
+ version "7.0.4"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
+ integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==
+ dependencies:
+ string-width "^4.2.0"
+ strip-ansi "^6.0.0"
+ wrap-ansi "^7.0.0"
+
clone@^1.0.2:
version "1.0.4"
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
@@ -2369,11 +2964,21 @@ cmd-shim@^2.0.2:
graceful-fs "^4.1.2"
mkdirp "~0.5.0"
+co@^4.6.0:
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
+ integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==
+
code-point-at@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
integrity sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==
+collect-v8-coverage@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59"
+ integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==
+
collection-visit@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
@@ -2559,7 +3164,7 @@ conventional-recommended-bump@^4.0.4:
meow "^4.0.0"
q "^1.5.1"
-convert-source-map@^1.7.0:
+convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0:
version "1.8.0"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369"
integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==
@@ -2622,7 +3227,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:
+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==
@@ -2780,6 +3385,11 @@ detect-indent@^5.0.0:
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d"
integrity sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==
+detect-newline@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651"
+ integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==
+
dezalgo@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.4.tgz#751235260469084c132157dfa857f386d4c33d81"
@@ -2788,6 +3398,11 @@ dezalgo@^1.0.0:
asap "^2.0.0"
wrappy "1"
+diff-sequences@^28.1.1:
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-28.1.1.tgz#9989dc731266dc2903457a70e996f3a041913ac6"
+ integrity sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==
+
dir-glob@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034"
@@ -2838,6 +3453,11 @@ electron-to-chromium@^1.4.164:
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.170.tgz#0415fc489402e09bfbe1f0c99bbf4d73f31d48d4"
integrity sha512-rZ8PZLhK4ORPjFqLp9aqC4/S1j4qWFsPPz13xmWdrbBkU/LlxMcok+f+6f8YnQ57MiZwKtOaW15biZZsY5Igvw==
+emittery@^0.10.2:
+ version "0.10.2"
+ resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.2.tgz#902eec8aedb8c41938c46e9385e9db7e03182933"
+ integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==
+
emoji-regex@^8.0.0:
version "8.0.0"
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
@@ -2934,6 +3554,11 @@ escape-string-regexp@^1.0.5:
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
+escape-string-regexp@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344"
+ integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
+
esprima@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
@@ -2982,6 +3607,26 @@ execa@^4.0.0:
signal-exit "^3.0.2"
strip-final-newline "^2.0.0"
+execa@^5.0.0:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
+ integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
+ dependencies:
+ cross-spawn "^7.0.3"
+ get-stream "^6.0.0"
+ human-signals "^2.1.0"
+ is-stream "^2.0.0"
+ merge-stream "^2.0.0"
+ npm-run-path "^4.0.1"
+ onetime "^5.1.2"
+ signal-exit "^3.0.3"
+ strip-final-newline "^2.0.0"
+
+exit@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
+ integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==
+
expand-brackets@^2.1.4:
version "2.1.4"
resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
@@ -2995,6 +3640,17 @@ expand-brackets@^2.1.4:
snapdragon "^0.8.1"
to-regex "^3.0.1"
+expect@^28.1.1:
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/expect/-/expect-28.1.1.tgz#ca6fff65f6517cf7220c2e805a49c19aea30b420"
+ integrity sha512-/AANEwGL0tWBwzLNOvO0yUdy2D52jVdNXppOqswC49sxMN2cPWsGCQdzuIf9tj6hHoBQzNvx75JUYuQAckPo3w==
+ dependencies:
+ "@jest/expect-utils" "^28.1.1"
+ jest-get-type "^28.0.2"
+ jest-matcher-utils "^28.1.1"
+ jest-message-util "^28.1.1"
+ jest-util "^28.1.1"
+
extend-shallow@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
@@ -3065,11 +3721,18 @@ fast-glob@^2.0.2:
merge2 "^1.2.3"
micromatch "^3.1.10"
-fast-json-stable-stringify@^2.0.0:
+fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
+fb-watchman@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85"
+ integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==
+ dependencies:
+ bser "2.1.1"
+
figgy-pudding@^3.4.1, figgy-pudding@^3.5.1:
version "3.5.2"
resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e"
@@ -3092,6 +3755,13 @@ fill-range@^4.0.0:
repeat-string "^1.6.1"
to-regex-range "^2.1.0"
+fill-range@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
+ integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
+ dependencies:
+ to-regex-range "^5.0.1"
+
filter-obj@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b"
@@ -3119,7 +3789,7 @@ find-up@^3.0.0:
dependencies:
locate-path "^3.0.0"
-find-up@^4.1.0:
+find-up@^4.0.0, find-up@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
@@ -3200,7 +3870,7 @@ fs.realpath@^1.0.0:
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
-fsevents@~2.3.2:
+fsevents@^2.3.2, fsevents@~2.3.2:
version "2.3.2"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
@@ -3254,6 +3924,11 @@ get-caller-file@^1.0.1:
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==
+get-caller-file@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
+ integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
+
get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1:
version "1.1.2"
resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598"
@@ -3263,6 +3938,11 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1:
has "^1.0.3"
has-symbols "^1.0.3"
+get-package-type@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
+ integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
+
get-pkg-repo@^1.0.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz#c73b489c06d80cc5536c2c853f9e05232056972d"
@@ -3298,6 +3978,11 @@ get-stream@^5.0.0:
dependencies:
pump "^3.0.0"
+get-stream@^6.0.0:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
+ integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
+
get-symbol-description@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6"
@@ -3410,7 +4095,7 @@ globby@^8.0.1:
pify "^3.0.0"
slash "^1.0.0"
-graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6:
+graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.9:
version "4.2.10"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
@@ -3534,6 +4219,11 @@ hosted-git-info@^4.0.1:
dependencies:
lru-cache "^6.0.0"
+html-escaper@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
+ integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
+
http-cache-semantics@^3.8.1:
version "3.8.1"
resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2"
@@ -3569,6 +4259,11 @@ human-signals@^1.1.1:
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==
+human-signals@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
+ integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
+
humanize-ms@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed"
@@ -3633,6 +4328,14 @@ import-local@^1.0.0:
pkg-dir "^2.0.0"
resolve-cwd "^2.0.0"
+import-local@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4"
+ integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==
+ dependencies:
+ pkg-dir "^4.2.0"
+ resolve-cwd "^3.0.0"
+
imurmurhash@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
@@ -3878,6 +4581,11 @@ is-fullwidth-code-point@^3.0.0:
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
+is-generator-fn@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118"
+ integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==
+
is-glob@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
@@ -3916,6 +4624,11 @@ is-number@^3.0.0:
dependencies:
kind-of "^3.0.2"
+is-number@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
+ integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+
is-obj@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
@@ -4052,6 +4765,406 @@ isstream@~0.1.2:
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==
+istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3"
+ integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==
+
+istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz#31d18bdd127f825dd02ea7bfdfd906f8ab840e9f"
+ integrity sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==
+ dependencies:
+ "@babel/core" "^7.12.3"
+ "@babel/parser" "^7.14.7"
+ "@istanbuljs/schema" "^0.1.2"
+ istanbul-lib-coverage "^3.2.0"
+ semver "^6.3.0"
+
+istanbul-lib-report@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6"
+ integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==
+ dependencies:
+ istanbul-lib-coverage "^3.0.0"
+ make-dir "^3.0.0"
+ supports-color "^7.1.0"
+
+istanbul-lib-source-maps@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551"
+ integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==
+ dependencies:
+ debug "^4.1.1"
+ istanbul-lib-coverage "^3.0.0"
+ source-map "^0.6.1"
+
+istanbul-reports@^3.1.3:
+ version "3.1.4"
+ resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.4.tgz#1b6f068ecbc6c331040aab5741991273e609e40c"
+ integrity sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==
+ dependencies:
+ html-escaper "^2.0.0"
+ istanbul-lib-report "^3.0.0"
+
+jest-changed-files@^28.0.2:
+ version "28.0.2"
+ resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-28.0.2.tgz#7d7810660a5bd043af9e9cfbe4d58adb05e91531"
+ integrity sha512-QX9u+5I2s54ZnGoMEjiM2WeBvJR2J7w/8ZUmH2um/WLAuGAYFQcsVXY9+1YL6k0H/AGUdH8pXUAv6erDqEsvIA==
+ dependencies:
+ execa "^5.0.0"
+ throat "^6.0.1"
+
+jest-circus@^28.1.1:
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-28.1.1.tgz#3d27da6a974d85a466dc0cdc6ddeb58daaa57bb4"
+ integrity sha512-75+BBVTsL4+p2w198DQpCeyh1RdaS2lhEG87HkaFX/UG0gJExVq2skG2pT7XZEGBubNj2CytcWSPan4QEPNosw==
+ dependencies:
+ "@jest/environment" "^28.1.1"
+ "@jest/expect" "^28.1.1"
+ "@jest/test-result" "^28.1.1"
+ "@jest/types" "^28.1.1"
+ "@types/node" "*"
+ chalk "^4.0.0"
+ co "^4.6.0"
+ dedent "^0.7.0"
+ is-generator-fn "^2.0.0"
+ jest-each "^28.1.1"
+ jest-matcher-utils "^28.1.1"
+ jest-message-util "^28.1.1"
+ jest-runtime "^28.1.1"
+ jest-snapshot "^28.1.1"
+ jest-util "^28.1.1"
+ pretty-format "^28.1.1"
+ slash "^3.0.0"
+ stack-utils "^2.0.3"
+ throat "^6.0.1"
+
+jest-cli@^28.1.1:
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-28.1.1.tgz#23ddfde8940e1818585ae4a568877b33b0e51cfe"
+ integrity sha512-+sUfVbJqb1OjBZ0OdBbI6OWfYM1i7bSfzYy6gze1F1w3OKWq8ZTEKkZ8a7ZQPq6G/G1qMh/uKqpdWhgl11NFQQ==
+ dependencies:
+ "@jest/core" "^28.1.1"
+ "@jest/test-result" "^28.1.1"
+ "@jest/types" "^28.1.1"
+ chalk "^4.0.0"
+ exit "^0.1.2"
+ graceful-fs "^4.2.9"
+ import-local "^3.0.2"
+ jest-config "^28.1.1"
+ jest-util "^28.1.1"
+ jest-validate "^28.1.1"
+ prompts "^2.0.1"
+ yargs "^17.3.1"
+
+jest-config@^28.1.1:
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-28.1.1.tgz#e90b97b984f14a6c24a221859e81b258990fce2f"
+ integrity sha512-tASynMhS+jVV85zKvjfbJ8nUyJS/jUSYZ5KQxLUN2ZCvcQc/OmhQl2j6VEL3ezQkNofxn5pQ3SPYWPHb0unTZA==
+ dependencies:
+ "@babel/core" "^7.11.6"
+ "@jest/test-sequencer" "^28.1.1"
+ "@jest/types" "^28.1.1"
+ babel-jest "^28.1.1"
+ chalk "^4.0.0"
+ ci-info "^3.2.0"
+ deepmerge "^4.2.2"
+ glob "^7.1.3"
+ graceful-fs "^4.2.9"
+ jest-circus "^28.1.1"
+ jest-environment-node "^28.1.1"
+ jest-get-type "^28.0.2"
+ jest-regex-util "^28.0.2"
+ jest-resolve "^28.1.1"
+ jest-runner "^28.1.1"
+ jest-util "^28.1.1"
+ jest-validate "^28.1.1"
+ micromatch "^4.0.4"
+ parse-json "^5.2.0"
+ pretty-format "^28.1.1"
+ slash "^3.0.0"
+ strip-json-comments "^3.1.1"
+
+jest-diff@^28.1.1:
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-28.1.1.tgz#1a3eedfd81ae79810931c63a1d0f201b9120106c"
+ integrity sha512-/MUUxeR2fHbqHoMMiffe/Afm+U8U4olFRJ0hiVG2lZatPJcnGxx292ustVu7bULhjV65IYMxRdploAKLbcrsyg==
+ dependencies:
+ chalk "^4.0.0"
+ diff-sequences "^28.1.1"
+ jest-get-type "^28.0.2"
+ pretty-format "^28.1.1"
+
+jest-docblock@^28.1.1:
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-28.1.1.tgz#6f515c3bf841516d82ecd57a62eed9204c2f42a8"
+ integrity sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==
+ dependencies:
+ detect-newline "^3.0.0"
+
+jest-each@^28.1.1:
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-28.1.1.tgz#ba5238dacf4f31d9fe23ddc2c44c01e7c23885c4"
+ integrity sha512-A042rqh17ZvEhRceDMi784ppoXR7MWGDEKTXEZXb4svt0eShMZvijGxzKsx+yIjeE8QYmHPrnHiTSQVhN4nqaw==
+ dependencies:
+ "@jest/types" "^28.1.1"
+ chalk "^4.0.0"
+ jest-get-type "^28.0.2"
+ jest-util "^28.1.1"
+ pretty-format "^28.1.1"
+
+jest-environment-node@^28.1.1:
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-28.1.1.tgz#1c86c59003a7d319fa06ea3b1bbda6c193715c67"
+ integrity sha512-2aV/eeY/WNgUUJrrkDJ3cFEigjC5fqT1+fCclrY6paqJ5zVPoM//sHmfgUUp7WLYxIdbPwMiVIzejpN56MxnNA==
+ dependencies:
+ "@jest/environment" "^28.1.1"
+ "@jest/fake-timers" "^28.1.1"
+ "@jest/types" "^28.1.1"
+ "@types/node" "*"
+ jest-mock "^28.1.1"
+ jest-util "^28.1.1"
+
+jest-get-type@^28.0.2:
+ version "28.0.2"
+ resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-28.0.2.tgz#34622e628e4fdcd793d46db8a242227901fcf203"
+ integrity sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==
+
+jest-haste-map@^28.1.1:
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-28.1.1.tgz#471685f1acd365a9394745bb97c8fc16289adca3"
+ integrity sha512-ZrRSE2o3Ezh7sb1KmeLEZRZ4mgufbrMwolcFHNRSjKZhpLa8TdooXOOFlSwoUzlbVs1t0l7upVRW2K7RWGHzbQ==
+ dependencies:
+ "@jest/types" "^28.1.1"
+ "@types/graceful-fs" "^4.1.3"
+ "@types/node" "*"
+ anymatch "^3.0.3"
+ fb-watchman "^2.0.0"
+ graceful-fs "^4.2.9"
+ jest-regex-util "^28.0.2"
+ jest-util "^28.1.1"
+ jest-worker "^28.1.1"
+ micromatch "^4.0.4"
+ walker "^1.0.8"
+ optionalDependencies:
+ fsevents "^2.3.2"
+
+jest-leak-detector@^28.1.1:
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-28.1.1.tgz#537f37afd610a4b3f4cab15e06baf60484548efb"
+ integrity sha512-4jvs8V8kLbAaotE+wFR7vfUGf603cwYtFf1/PYEsyX2BAjSzj8hQSVTP6OWzseTl0xL6dyHuKs2JAks7Pfubmw==
+ dependencies:
+ jest-get-type "^28.0.2"
+ pretty-format "^28.1.1"
+
+jest-matcher-utils@^28.0.0, jest-matcher-utils@^28.1.1:
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-28.1.1.tgz#a7c4653c2b782ec96796eb3088060720f1e29304"
+ integrity sha512-NPJPRWrbmR2nAJ+1nmnfcKKzSwgfaciCCrYZzVnNoxVoyusYWIjkBMNvu0RHJe7dNj4hH3uZOPZsQA+xAYWqsw==
+ dependencies:
+ chalk "^4.0.0"
+ jest-diff "^28.1.1"
+ jest-get-type "^28.0.2"
+ pretty-format "^28.1.1"
+
+jest-message-util@^28.1.1:
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-28.1.1.tgz#60aa0b475cfc08c8a9363ed2fb9108514dd9ab89"
+ integrity sha512-xoDOOT66fLfmTRiqkoLIU7v42mal/SqwDKvfmfiWAdJMSJiU+ozgluO7KbvoAgiwIrrGZsV7viETjc8GNrA/IQ==
+ dependencies:
+ "@babel/code-frame" "^7.12.13"
+ "@jest/types" "^28.1.1"
+ "@types/stack-utils" "^2.0.0"
+ chalk "^4.0.0"
+ graceful-fs "^4.2.9"
+ micromatch "^4.0.4"
+ pretty-format "^28.1.1"
+ slash "^3.0.0"
+ stack-utils "^2.0.3"
+
+jest-mock@^28.1.1:
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-28.1.1.tgz#37903d269427fa1ef5b2447be874e1c62a39a371"
+ integrity sha512-bDCb0FjfsmKweAvE09dZT59IMkzgN0fYBH6t5S45NoJfd2DHkS3ySG2K+hucortryhO3fVuXdlxWcbtIuV/Skw==
+ dependencies:
+ "@jest/types" "^28.1.1"
+ "@types/node" "*"
+
+jest-pnp-resolver@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c"
+ integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==
+
+jest-regex-util@^28.0.2:
+ version "28.0.2"
+ resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-28.0.2.tgz#afdc377a3b25fb6e80825adcf76c854e5bf47ead"
+ integrity sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==
+
+jest-resolve-dependencies@^28.1.1:
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.1.tgz#3dffaaa56f4b41bc6b61053899d1756401763a27"
+ integrity sha512-p8Y150xYJth4EXhOuB8FzmS9r8IGLEioiaetgdNGb9VHka4fl0zqWlVe4v7mSkYOuEUg2uB61iE+zySDgrOmgQ==
+ dependencies:
+ jest-regex-util "^28.0.2"
+ jest-snapshot "^28.1.1"
+
+jest-resolve@^28.1.1:
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-28.1.1.tgz#bc2eaf384abdcc1aaf3ba7c50d1adf01e59095e5"
+ integrity sha512-/d1UbyUkf9nvsgdBildLe6LAD4DalgkgZcKd0nZ8XUGPyA/7fsnaQIlKVnDiuUXv/IeZhPEDrRJubVSulxrShA==
+ dependencies:
+ chalk "^4.0.0"
+ graceful-fs "^4.2.9"
+ jest-haste-map "^28.1.1"
+ jest-pnp-resolver "^1.2.2"
+ jest-util "^28.1.1"
+ jest-validate "^28.1.1"
+ resolve "^1.20.0"
+ resolve.exports "^1.1.0"
+ slash "^3.0.0"
+
+jest-runner@^28.1.1:
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-28.1.1.tgz#9ecdb3f27a00059986797aa6b012ba8306aa436c"
+ integrity sha512-W5oFUiDBgTsCloTAj6q95wEvYDB0pxIhY6bc5F26OucnwBN+K58xGTGbliSMI4ChQal5eANDF+xvELaYkJxTmA==
+ dependencies:
+ "@jest/console" "^28.1.1"
+ "@jest/environment" "^28.1.1"
+ "@jest/test-result" "^28.1.1"
+ "@jest/transform" "^28.1.1"
+ "@jest/types" "^28.1.1"
+ "@types/node" "*"
+ chalk "^4.0.0"
+ emittery "^0.10.2"
+ graceful-fs "^4.2.9"
+ jest-docblock "^28.1.1"
+ jest-environment-node "^28.1.1"
+ jest-haste-map "^28.1.1"
+ jest-leak-detector "^28.1.1"
+ jest-message-util "^28.1.1"
+ jest-resolve "^28.1.1"
+ jest-runtime "^28.1.1"
+ jest-util "^28.1.1"
+ jest-watcher "^28.1.1"
+ jest-worker "^28.1.1"
+ source-map-support "0.5.13"
+ throat "^6.0.1"
+
+jest-runtime@^28.1.1:
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-28.1.1.tgz#569e1dc3c36c6c4c0b29516c1c49b6ad580abdaf"
+ integrity sha512-J89qEJWW0leOsqyi0D9zHpFEYHwwafFdS9xgvhFHtIdRghbadodI0eA+DrthK/1PebBv3Px8mFSMGKrtaVnleg==
+ dependencies:
+ "@jest/environment" "^28.1.1"
+ "@jest/fake-timers" "^28.1.1"
+ "@jest/globals" "^28.1.1"
+ "@jest/source-map" "^28.0.2"
+ "@jest/test-result" "^28.1.1"
+ "@jest/transform" "^28.1.1"
+ "@jest/types" "^28.1.1"
+ chalk "^4.0.0"
+ cjs-module-lexer "^1.0.0"
+ collect-v8-coverage "^1.0.0"
+ execa "^5.0.0"
+ glob "^7.1.3"
+ graceful-fs "^4.2.9"
+ jest-haste-map "^28.1.1"
+ jest-message-util "^28.1.1"
+ jest-mock "^28.1.1"
+ jest-regex-util "^28.0.2"
+ jest-resolve "^28.1.1"
+ jest-snapshot "^28.1.1"
+ jest-util "^28.1.1"
+ slash "^3.0.0"
+ strip-bom "^4.0.0"
+
+jest-snapshot@^28.1.1:
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-28.1.1.tgz#ab825c16c8d8b5e883bd57eee6ca8748c42ab848"
+ integrity sha512-1KjqHJ98adRcbIdMizjF5DipwZFbvxym/kFO4g4fVZCZRxH/dqV8TiBFCa6rqic3p0karsy8RWS1y4E07b7P0A==
+ dependencies:
+ "@babel/core" "^7.11.6"
+ "@babel/generator" "^7.7.2"
+ "@babel/plugin-syntax-typescript" "^7.7.2"
+ "@babel/traverse" "^7.7.2"
+ "@babel/types" "^7.3.3"
+ "@jest/expect-utils" "^28.1.1"
+ "@jest/transform" "^28.1.1"
+ "@jest/types" "^28.1.1"
+ "@types/babel__traverse" "^7.0.6"
+ "@types/prettier" "^2.1.5"
+ babel-preset-current-node-syntax "^1.0.0"
+ chalk "^4.0.0"
+ expect "^28.1.1"
+ graceful-fs "^4.2.9"
+ jest-diff "^28.1.1"
+ jest-get-type "^28.0.2"
+ jest-haste-map "^28.1.1"
+ jest-matcher-utils "^28.1.1"
+ jest-message-util "^28.1.1"
+ jest-util "^28.1.1"
+ natural-compare "^1.4.0"
+ pretty-format "^28.1.1"
+ semver "^7.3.5"
+
+jest-util@^28.0.0, jest-util@^28.1.1:
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-28.1.1.tgz#ff39e436a1aca397c0ab998db5a51ae2b7080d05"
+ integrity sha512-FktOu7ca1DZSyhPAxgxB6hfh2+9zMoJ7aEQA759Z6p45NuO8mWcqujH+UdHlCm/V6JTWwDztM2ITCzU1ijJAfw==
+ dependencies:
+ "@jest/types" "^28.1.1"
+ "@types/node" "*"
+ chalk "^4.0.0"
+ ci-info "^3.2.0"
+ graceful-fs "^4.2.9"
+ picomatch "^2.2.3"
+
+jest-validate@^28.1.1:
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-28.1.1.tgz#59b7b339b3c85b5144bd0c06ad3600f503a4acc8"
+ integrity sha512-Kpf6gcClqFCIZ4ti5++XemYJWUPCFUW+N2gknn+KgnDf549iLul3cBuKVe1YcWRlaF8tZV8eJCap0eECOEE3Ug==
+ dependencies:
+ "@jest/types" "^28.1.1"
+ camelcase "^6.2.0"
+ chalk "^4.0.0"
+ jest-get-type "^28.0.2"
+ leven "^3.1.0"
+ pretty-format "^28.1.1"
+
+jest-watcher@^28.1.1:
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-28.1.1.tgz#533597fb3bfefd52b5cd115cd916cffd237fb60c"
+ integrity sha512-RQIpeZ8EIJMxbQrXpJQYIIlubBnB9imEHsxxE41f54ZwcqWLysL/A0ZcdMirf+XsMn3xfphVQVV4EW0/p7i7Ug==
+ dependencies:
+ "@jest/test-result" "^28.1.1"
+ "@jest/types" "^28.1.1"
+ "@types/node" "*"
+ ansi-escapes "^4.2.1"
+ chalk "^4.0.0"
+ emittery "^0.10.2"
+ jest-util "^28.1.1"
+ string-length "^4.0.1"
+
+jest-worker@^28.1.1:
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-28.1.1.tgz#3480c73247171dfd01eda77200f0063ab6a3bf28"
+ integrity sha512-Au7slXB08C6h+xbJPp7VIb6U0XX5Kc9uel/WFc6/rcTzGiaVCBRngBExSYuXSLFPULPSYU3cJ3ybS988lNFQhQ==
+ dependencies:
+ "@types/node" "*"
+ merge-stream "^2.0.0"
+ supports-color "^8.0.0"
+
+jest@^28.1.1:
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/jest/-/jest-28.1.1.tgz#3c39a3a09791e16e9ef283597d24ab19a0df701e"
+ integrity sha512-qw9YHBnjt6TCbIDMPMpJZqf9E12rh6869iZaN08/vpOGgHJSAaLLUn6H8W3IAEuy34Ls3rct064mZLETkxJ2XA==
+ dependencies:
+ "@jest/core" "^28.1.1"
+ "@jest/types" "^28.1.1"
+ import-local "^3.0.2"
+ jest-cli "^28.1.1"
+
js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
@@ -4156,6 +5269,11 @@ kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3:
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
+kleur@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
+ integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
+
lcid@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf"
@@ -4186,6 +5304,11 @@ lerna@3.13.4:
import-local "^1.0.0"
npmlog "^4.1.2"
+leven@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
+ integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==
+
libnpmaccess@^3.0.1:
version "3.0.2"
resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-3.0.2.tgz#8b2d72345ba3bef90d3b4f694edd5c0417f58923"
@@ -4285,6 +5408,11 @@ lodash.ismatch@^4.4.0:
resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37"
integrity sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==
+lodash.memoize@4.x:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
+ integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==
+
lodash.set@^4.3.2:
version "4.3.2"
resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23"
@@ -4361,6 +5489,18 @@ make-dir@^1.0.0:
dependencies:
pify "^3.0.0"
+make-dir@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
+ integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
+ dependencies:
+ semver "^6.0.0"
+
+make-error@1.x:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
+ integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
+
make-fetch-happen@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-4.0.2.tgz#2d156b11696fb32bffbafe1ac1bc085dd6c78a79"
@@ -4395,6 +5535,13 @@ make-fetch-happen@^5.0.0:
socks-proxy-agent "^4.0.0"
ssri "^6.0.0"
+makeerror@1.0.12:
+ version "1.0.12"
+ resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a"
+ integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==
+ dependencies:
+ tmpl "1.0.5"
+
map-age-cleaner@^0.1.1:
version "0.1.3"
resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a"
@@ -4520,6 +5667,14 @@ micromatch@^3.1.10:
snapdragon "^0.8.1"
to-regex "^3.0.2"
+micromatch@^4.0.4:
+ version "4.0.5"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
+ integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
+ dependencies:
+ braces "^3.0.2"
+ picomatch "^2.3.1"
+
mime-db@1.52.0:
version "1.52.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
@@ -4707,6 +5862,11 @@ nanomatch@^1.2.9:
snapdragon "^0.8.1"
to-regex "^3.0.1"
+natural-compare@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
+ integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
+
neo-async@^2.6.0:
version "2.6.2"
resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
@@ -4750,6 +5910,11 @@ node-gyp@^4.0.0:
tar "^4.4.8"
which "1"
+node-int64@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
+ integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==
+
node-releases@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.5.tgz#280ed5bc3eba0d96ce44897d8aee478bfb3d9666"
@@ -4782,6 +5947,11 @@ normalize-package-data@^3.0.0:
semver "^7.3.4"
validate-npm-package-license "^3.0.1"
+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==
+
normalize-url@^6.1.0:
version "6.1.0"
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a"
@@ -4888,7 +6058,7 @@ npm-run-path@^2.0.0:
dependencies:
path-key "^2.0.0"
-npm-run-path@^4.0.0:
+npm-run-path@^4.0.0, npm-run-path@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
@@ -4992,7 +6162,7 @@ onetime@^2.0.0:
dependencies:
mimic-fn "^1.0.0"
-onetime@^5.1.0:
+onetime@^5.1.0, onetime@^5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
@@ -5188,7 +6358,7 @@ parse-json@^4.0.0:
error-ex "^1.3.1"
json-parse-better-errors "^1.0.1"
-parse-json@^5.0.0:
+parse-json@^5.0.0, parse-json@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
@@ -5291,7 +6461,7 @@ picocolors@^1.0.0:
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
-picomatch@^2.2.2:
+picomatch@^2.0.4, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
@@ -5323,6 +6493,11 @@ pinkie@^2.0.0:
resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==
+pirates@^4.0.4:
+ version "4.0.5"
+ resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b"
+ integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==
+
pkg-dir@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b"
@@ -5330,6 +6505,13 @@ pkg-dir@^2.0.0:
dependencies:
find-up "^2.1.0"
+pkg-dir@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
+ integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
+ dependencies:
+ find-up "^4.0.0"
+
posix-character-classes@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
@@ -5340,6 +6522,16 @@ prettier@^2.7.1:
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64"
integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==
+pretty-format@^28.0.0, pretty-format@^28.1.1:
+ version "28.1.1"
+ resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-28.1.1.tgz#f731530394e0f7fcd95aba6b43c50e02d86b95cb"
+ integrity sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==
+ dependencies:
+ "@jest/schemas" "^28.0.2"
+ ansi-regex "^5.0.1"
+ ansi-styles "^5.0.0"
+ react-is "^18.0.0"
+
pretty-quick@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/pretty-quick/-/pretty-quick-3.1.3.tgz#15281108c0ddf446675157ca40240099157b638e"
@@ -5370,6 +6562,14 @@ promise-retry@^1.1.1:
err-code "^1.0.0"
retry "^0.10.0"
+prompts@^2.0.1:
+ version "2.4.2"
+ resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069"
+ integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==
+ dependencies:
+ kleur "^3.0.3"
+ sisteransi "^1.0.5"
+
promzard@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee"
@@ -5466,6 +6666,11 @@ quick-lru@^4.0.1:
resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f"
integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==
+react-is@^18.0.0:
+ version "18.2.0"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b"
+ integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
+
read-cmd-shim@^1.0.1:
version "1.0.5"
resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.5.tgz#87e43eba50098ba5a32d0ceb583ab8e43b961c16"
@@ -5733,6 +6938,13 @@ resolve-cwd@^2.0.0:
dependencies:
resolve-from "^3.0.0"
+resolve-cwd@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d"
+ integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==
+ dependencies:
+ resolve-from "^5.0.0"
+
resolve-from@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
@@ -5743,12 +6955,22 @@ resolve-from@^4.0.0:
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
+resolve-from@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
+ integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
+
resolve-url@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==
-resolve@^1.10.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0:
+resolve.exports@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9"
+ integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==
+
+resolve@^1.10.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.20.0:
version "1.22.1"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
@@ -5782,6 +7004,13 @@ rimraf@2, rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3:
dependencies:
glob "^7.1.3"
+rimraf@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
+ integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
+ dependencies:
+ glob "^7.1.3"
+
rollup@2.75.7:
version "2.75.7"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.75.7.tgz#221ff11887ae271e37dcc649ba32ce1590aaa0b9"
@@ -5840,18 +7069,18 @@ semver@7.0.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
-semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0:
- version "6.3.0"
- resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
- integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
-
-semver@^7.3.4:
+semver@7.x, semver@^7.3.4, semver@^7.3.5:
version "7.3.7"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f"
integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==
dependencies:
lru-cache "^6.0.0"
+semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0:
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
+ integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
+
semver@~5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
@@ -5910,16 +7139,26 @@ side-channel@^1.0.4:
get-intrinsic "^1.0.2"
object-inspect "^1.9.0"
-signal-exit@^3.0.0, signal-exit@^3.0.2:
+signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7:
version "3.0.7"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
+sisteransi@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed"
+ integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==
+
slash@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
integrity sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==
+slash@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
+ integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
+
slide@^1.1.6:
version "1.1.6"
resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707"
@@ -5994,6 +7233,14 @@ source-map-resolve@^0.5.0:
source-map-url "^0.4.0"
urix "^0.1.0"
+source-map-support@0.5.13:
+ version "0.5.13"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932"
+ integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==
+ dependencies:
+ buffer-from "^1.0.0"
+ source-map "^0.6.0"
+
source-map-url@^0.4.0:
version "0.4.1"
resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56"
@@ -6004,7 +7251,7 @@ source-map@^0.5.6:
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==
-source-map@^0.6.1:
+source-map@^0.6.0, source-map@^0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
@@ -6100,6 +7347,13 @@ ssri@^6.0.0, ssri@^6.0.1:
dependencies:
figgy-pudding "^3.5.1"
+stack-utils@^2.0.3:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5"
+ integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==
+ dependencies:
+ escape-string-regexp "^2.0.0"
+
static-extend@^0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
@@ -6126,6 +7380,14 @@ strict-uri-encode@^2.0.0:
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546"
integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==
+string-length@^4.0.1:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a"
+ integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==
+ dependencies:
+ char-regex "^1.0.2"
+ strip-ansi "^6.0.0"
+
string-width@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
@@ -6135,7 +7397,7 @@ string-width@^1.0.1:
is-fullwidth-code-point "^1.0.0"
strip-ansi "^3.0.0"
-"string-width@^1.0.2 || 2 || 3 || 4":
+"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
version "4.2.3"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -6214,7 +7476,7 @@ strip-ansi@^5.1.0:
dependencies:
ansi-regex "^4.1.0"
-strip-ansi@^6.0.1:
+strip-ansi@^6.0.0, strip-ansi@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
@@ -6233,6 +7495,11 @@ strip-bom@^3.0.0:
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==
+strip-bom@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878"
+ integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==
+
strip-eof@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
@@ -6262,6 +7529,11 @@ strip-indent@^3.0.0:
dependencies:
min-indent "^1.0.0"
+strip-json-comments@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
+ integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
+
strong-log-transformer@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10"
@@ -6278,13 +7550,28 @@ supports-color@^5.3.0:
dependencies:
has-flag "^3.0.0"
-supports-color@^7.1.0:
+supports-color@^7.0.0, supports-color@^7.1.0:
version "7.2.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
dependencies:
has-flag "^4.0.0"
+supports-color@^8.0.0:
+ version "8.1.1"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
+ integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
+ dependencies:
+ has-flag "^4.0.0"
+
+supports-hyperlinks@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb"
+ integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==
+ dependencies:
+ has-flag "^4.0.0"
+ supports-color "^7.0.0"
+
supports-preserve-symlinks-flag@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
@@ -6320,11 +7607,33 @@ temp-write@^3.4.0:
temp-dir "^1.0.0"
uuid "^3.0.1"
+terminal-link@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994"
+ integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==
+ dependencies:
+ ansi-escapes "^4.2.1"
+ supports-hyperlinks "^2.0.0"
+
+test-exclude@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e"
+ integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==
+ dependencies:
+ "@istanbuljs/schema" "^0.1.2"
+ glob "^7.1.4"
+ minimatch "^3.0.4"
+
text-extensions@^1.0.0:
version "1.9.0"
resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26"
integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==
+throat@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375"
+ integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==
+
through2@^2.0.0, through2@^2.0.2:
version "2.0.5"
resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
@@ -6360,6 +7669,11 @@ tmp@^0.0.33:
dependencies:
os-tmpdir "~1.0.2"
+tmpl@1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc"
+ integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==
+
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"
@@ -6380,6 +7694,13 @@ to-regex-range@^2.1.0:
is-number "^3.0.0"
repeat-string "^1.6.1"
+to-regex-range@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
+ integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
+ dependencies:
+ is-number "^7.0.0"
+
to-regex@^3.0.1, to-regex@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
@@ -6425,6 +7746,20 @@ trim-newlines@^3.0.0:
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144"
integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==
+ts-jest@^28.0.5:
+ version "28.0.5"
+ resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-28.0.5.tgz#31776f768fba6dfc8c061d488840ed0c8eeac8b9"
+ integrity sha512-Sx9FyP9pCY7pUzQpy4FgRZf2bhHY3za576HMKJFs+OnQ9jS96Du5vNsDKkyedQkik+sEabbKAnCliv9BEsHZgQ==
+ dependencies:
+ bs-logger "0.x"
+ fast-json-stable-stringify "2.x"
+ jest-util "^28.0.0"
+ json5 "^2.2.1"
+ lodash.memoize "4.x"
+ make-error "1.x"
+ semver "7.x"
+ yargs-parser "^21.0.1"
+
tslib@^1.9.0:
version "1.14.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
@@ -6442,11 +7777,21 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0:
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==
+type-detect@4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
+ integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
+
type-fest@^0.18.0:
version "0.18.1"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f"
integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==
+type-fest@^0.21.3:
+ version "0.21.3"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"
+ integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
+
type-fest@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b"
@@ -6606,6 +7951,15 @@ uuid@^3.0.1, uuid@^3.3.2:
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
+v8-to-istanbul@^9.0.0:
+ version "9.0.1"
+ resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz#b6f994b0b5d4ef255e17a0d17dc444a9f5132fa4"
+ integrity sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==
+ dependencies:
+ "@jridgewell/trace-mapping" "^0.3.12"
+ "@types/istanbul-lib-coverage" "^2.0.1"
+ convert-source-map "^1.6.0"
+
validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.3:
version "3.0.4"
resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
@@ -6630,6 +7984,13 @@ verror@1.10.0:
core-util-is "1.0.2"
extsprintf "^1.2.0"
+walker@^1.0.8:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f"
+ integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==
+ dependencies:
+ makeerror "1.0.12"
+
wcwidth@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
@@ -6721,6 +8082,15 @@ wrap-ansi@^2.0.0:
string-width "^1.0.1"
strip-ansi "^3.0.1"
+wrap-ansi@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
+ integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
+ dependencies:
+ ansi-styles "^4.0.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
@@ -6735,6 +8105,14 @@ write-file-atomic@^2.0.0, write-file-atomic@^2.3.0:
imurmurhash "^0.1.4"
signal-exit "^3.0.2"
+write-file-atomic@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.1.tgz#9faa33a964c1c85ff6f849b80b42a88c2c537c8f"
+ integrity sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==
+ dependencies:
+ imurmurhash "^0.1.4"
+ signal-exit "^3.0.7"
+
write-json-file@^2.2.0, write-json-file@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-2.3.0.tgz#2b64c8a33004d54b8698c76d585a77ceb61da32f"
@@ -6765,6 +8143,11 @@ xtend@~4.0.1:
resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf"
integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==
+y18n@^5.0.5:
+ version "5.0.8"
+ resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
+ integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
+
yallist@^3.0.0, yallist@^3.0.2, yallist@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
@@ -6788,6 +8171,11 @@ yargs-parser@^20.2.3:
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
+yargs-parser@^21.0.0, yargs-parser@^21.0.1:
+ version "21.0.1"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35"
+ integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==
+
yargs@^12.0.1:
version "12.0.5"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13"
@@ -6805,3 +8193,16 @@ yargs@^12.0.1:
which-module "^2.0.0"
y18n "^3.2.1 || ^4.0.0"
yargs-parser "^11.1.1"
+
+yargs@^17.3.1:
+ version "17.5.1"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e"
+ integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==
+ dependencies:
+ cliui "^7.0.2"
+ escalade "^3.1.1"
+ get-caller-file "^2.0.5"
+ require-directory "^2.1.1"
+ string-width "^4.2.3"
+ y18n "^5.0.5"
+ yargs-parser "^21.0.0"
From d5c244e16b22f48c023e3a90657897b110be08b1 Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Sun, 26 Jun 2022 15:57:41 +0200
Subject: [PATCH 008/640] build: Enable libcheck in tsconfigs (#14)
---
packages/tsconfigs/base-config.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/tsconfigs/base-config.json b/packages/tsconfigs/base-config.json
index 71e1fd48700a..811e5b15f514 100644
--- a/packages/tsconfigs/base-config.json
+++ b/packages/tsconfigs/base-config.json
@@ -2,7 +2,7 @@
"$schema": "https://json.schemastore.org/tsconfig",
"compilerOptions": {
"moduleResolution": "node",
- "skipLibCheck": true,
+ "skipLibCheck": false,
"isolatedModules": true,
"forceConsistentCasingInFileNames": true,
From 811fae9925d8773231a3c96a819b323ca783680e Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Sun, 26 Jun 2022 16:29:34 +0200
Subject: [PATCH 009/640] build: Add eslint setup (#15)
---
.github/workflows/checks.yml | 11 +
package.json | 1 +
packages/eslint-configs/base.js | 19 +
packages/eslint-configs/jest.js | 13 +
packages/eslint-configs/package.json | 19 +
packages/unplugin/.eslintrc.js | 20 +
packages/unplugin/package.json | 5 +-
packages/unplugin/src/index.ts | 1 +
yarn.lock | 721 +++++++++++++++++++++++++--
9 files changed, 756 insertions(+), 54 deletions(-)
create mode 100644 packages/eslint-configs/base.js
create mode 100644 packages/eslint-configs/jest.js
create mode 100644 packages/eslint-configs/package.json
create mode 100644 packages/unplugin/.eslintrc.js
diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml
index c74cccec765f..9559b098315c 100644
--- a/.github/workflows/checks.yml
+++ b/.github/workflows/checks.yml
@@ -52,3 +52,14 @@ jobs:
node-version: ${{ env.DEFAULT_NODE_VERSION }}
- run: yarn --frozen-lockfile
- run: yarn check:formatting
+
+ lint:
+ name: Linter check
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-node@v3
+ with:
+ node-version: ${{ env.DEFAULT_NODE_VERSION }}
+ - run: yarn --frozen-lockfile
+ - run: yarn lint
diff --git a/package.json b/package.json
index d2fc3b2e1c74..6a817f611763 100644
--- a/package.json
+++ b/package.json
@@ -12,6 +12,7 @@
"build:watch": "lerna run --parallel build:watch",
"check:types": "lerna run --parallel check:types",
"test": "lerna run --parallel test",
+ "lint": "lerna run --parallel lint",
"check:formatting": "prettier --check .",
"fix:formatting": "prettier --write .",
"prepare": "husky install"
diff --git a/packages/eslint-configs/base.js b/packages/eslint-configs/base.js
new file mode 100644
index 000000000000..f53dbcf03858
--- /dev/null
+++ b/packages/eslint-configs/base.js
@@ -0,0 +1,19 @@
+/** @type {import('eslint').ESLint.Options} */
+module.exports = {
+ parser: "@typescript-eslint/parser",
+ plugins: ["@typescript-eslint"],
+ extends: [
+ "eslint:recommended",
+ "plugin:@typescript-eslint/recommended",
+ "plugin:@typescript-eslint/recommended-requiring-type-checking",
+ "prettier",
+ ],
+ rules: {
+ "no-console": "error",
+ "@typescript-eslint/no-unused-vars": [
+ "error",
+ { argsIgnorePattern: "^_", caughtErrorsIgnorePattern: "^_" },
+ ],
+ "no-undef": "error", // https://github.com/typescript-eslint/typescript-eslint/issues/4580#issuecomment-1047144015
+ },
+};
diff --git a/packages/eslint-configs/jest.js b/packages/eslint-configs/jest.js
new file mode 100644
index 000000000000..37b0cb5cc725
--- /dev/null
+++ b/packages/eslint-configs/jest.js
@@ -0,0 +1,13 @@
+/** @type {import('eslint').ESLint.Options} */
+module.exports = {
+ overrides: [
+ {
+ files: ["*.test.js", "*.test.ts", "**/__tests__/**/*.ts", "**/__tests__/**/*.js"],
+ plugins: ["jest"],
+ extends: ["plugin:jest/recommended", "plugin:jest/style"],
+ env: {
+ "jest/globals": true,
+ },
+ },
+ ],
+};
diff --git a/packages/eslint-configs/package.json b/packages/eslint-configs/package.json
new file mode 100644
index 000000000000..bdbdec961fde
--- /dev/null
+++ b/packages/eslint-configs/package.json
@@ -0,0 +1,19 @@
+{
+ "name": "eslint-config-local",
+ "version": "0.0.0",
+ "private": true,
+ "peerDependencies": {
+ "eslint": "^8.14.0"
+ },
+ "dependencies": {
+ "@typescript-eslint/eslint-plugin": "^5.13.0",
+ "@typescript-eslint/parser": "^5.13.0",
+ "eslint-config-prettier": "^8.3.0",
+ "eslint-plugin-jest": "^25.3.0",
+ "eslint-plugin-react": "^7.29.4",
+ "eslint-plugin-react-hooks": "^4.4.0"
+ },
+ "devDependencies": {
+ "eslint": "^8.14.0"
+ }
+}
diff --git a/packages/unplugin/.eslintrc.js b/packages/unplugin/.eslintrc.js
new file mode 100644
index 000000000000..378f4e403c5e
--- /dev/null
+++ b/packages/unplugin/.eslintrc.js
@@ -0,0 +1,20 @@
+const jestPackageJson = require("jest/package.json");
+
+/** @type {import('eslint').ESLint.Options} */
+module.exports = {
+ root: true,
+ extends: ["local/jest", "local/base"],
+ ignorePatterns: [".eslintrc.js", "dist", "jest.config.js", "rollup.config.js"],
+ parserOptions: {
+ tsconfigRootDir: __dirname,
+ project: ["./tsconfig.json", "./test/tsconfig.json"],
+ },
+ env: {
+ node: true,
+ },
+ settings: {
+ jest: {
+ version: jestPackageJson.version,
+ },
+ },
+};
diff --git a/packages/unplugin/package.json b/packages/unplugin/package.json
index 438b2d4f4ccf..70ecd94450e6 100644
--- a/packages/unplugin/package.json
+++ b/packages/unplugin/package.json
@@ -14,7 +14,8 @@
"build:types": "tsc --project types.tsconfig.json",
"build:types:watch": "tsc --project types.tsconfig.json --watch --preserveWatchOutput",
"check:types": "tsc --project tsconfig.json --noEmit",
- "test": "jest"
+ "test": "jest",
+ "lint": "eslint ./src ./test --max-warnings=0"
},
"dependencies": {},
"devDependencies": {
@@ -28,6 +29,8 @@
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
"@types/node": "^8",
+ "eslint": "^8.18.0",
+ "eslint-config-local": "*",
"jest": "^28.1.1",
"npm-run-all": "^4.1.5",
"rollup": "2.75.7",
diff --git a/packages/unplugin/src/index.ts b/packages/unplugin/src/index.ts
index 86fb756c209c..1e4207008f6c 100644
--- a/packages/unplugin/src/index.ts
+++ b/packages/unplugin/src/index.ts
@@ -1,4 +1,5 @@
function helloWorld() {
+ // eslint-disable-next-line no-console
console.log("Hello world!");
}
diff --git a/yarn.lock b/yarn.lock
index 1899d5101afb..27cf36c084ac 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -940,6 +940,35 @@
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
+"@eslint/eslintrc@^1.3.0":
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.0.tgz#29f92c30bb3e771e4a2048c95fa6855392dfac4f"
+ integrity sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==
+ dependencies:
+ ajv "^6.12.4"
+ debug "^4.3.2"
+ espree "^9.3.2"
+ globals "^13.15.0"
+ ignore "^5.2.0"
+ import-fresh "^3.2.1"
+ js-yaml "^4.1.0"
+ minimatch "^3.1.2"
+ strip-json-comments "^3.1.1"
+
+"@humanwhocodes/config-array@^0.9.2":
+ version "0.9.5"
+ resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz#2cbaf9a89460da24b5ca6531b8bbfc23e1df50c7"
+ integrity sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==
+ dependencies:
+ "@humanwhocodes/object-schema" "^1.2.1"
+ debug "^4.1.1"
+ minimatch "^3.0.4"
+
+"@humanwhocodes/object-schema@^1.2.1":
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
+ integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
+
"@istanbuljs/load-nyc-config@^1.0.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced"
@@ -1836,11 +1865,32 @@
call-me-maybe "^1.0.1"
glob-to-regexp "^0.3.0"
+"@nodelib/fs.scandir@2.1.5":
+ version "2.1.5"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
+ integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
+ dependencies:
+ "@nodelib/fs.stat" "2.0.5"
+ run-parallel "^1.1.9"
+
+"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
+ integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
+
"@nodelib/fs.stat@^1.1.2":
version "1.1.3"
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b"
integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==
+"@nodelib/fs.walk@^1.2.3":
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
+ integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
+ dependencies:
+ "@nodelib/fs.scandir" "2.1.5"
+ fastq "^1.6.0"
+
"@octokit/auth-token@^2.4.0":
version "2.5.0"
resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.5.0.tgz#27c37ea26c205f28443402477ffd261311f21e36"
@@ -2182,6 +2232,11 @@
jest-matcher-utils "^28.0.0"
pretty-format "^28.0.0"
+"@types/json-schema@^7.0.9":
+ version "7.0.11"
+ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3"
+ integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==
+
"@types/minimatch@^3.0.3":
version "3.0.5"
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40"
@@ -2243,6 +2298,93 @@
dependencies:
"@types/yargs-parser" "*"
+"@typescript-eslint/eslint-plugin@^5.13.0":
+ version "5.29.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.29.0.tgz#c67794d2b0fd0b4a47f50266088acdc52a08aab6"
+ integrity sha512-kgTsISt9pM53yRFQmLZ4npj99yGl3x3Pl7z4eA66OuTzAGC4bQB5H5fuLwPnqTKU3yyrrg4MIhjF17UYnL4c0w==
+ dependencies:
+ "@typescript-eslint/scope-manager" "5.29.0"
+ "@typescript-eslint/type-utils" "5.29.0"
+ "@typescript-eslint/utils" "5.29.0"
+ debug "^4.3.4"
+ functional-red-black-tree "^1.0.1"
+ ignore "^5.2.0"
+ regexpp "^3.2.0"
+ semver "^7.3.7"
+ tsutils "^3.21.0"
+
+"@typescript-eslint/experimental-utils@^5.0.0":
+ version "5.29.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.29.0.tgz#abed79020f623ac4fb76c7fdf917552a17171704"
+ integrity sha512-H4fqOVYiH6R15NjtMO2LVBZgzXgzjdPEXYb7x/meg4QbXsptLxdq8YlHK2NZOFKipuInY4sAPY5a6SQ/53s3dw==
+ dependencies:
+ "@typescript-eslint/utils" "5.29.0"
+
+"@typescript-eslint/parser@^5.13.0":
+ version "5.29.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.29.0.tgz#41314b195b34d44ff38220caa55f3f93cfca43cf"
+ integrity sha512-ruKWTv+x0OOxbzIw9nW5oWlUopvP/IQDjB5ZqmTglLIoDTctLlAJpAQFpNPJP/ZI7hTT9sARBosEfaKbcFuECw==
+ dependencies:
+ "@typescript-eslint/scope-manager" "5.29.0"
+ "@typescript-eslint/types" "5.29.0"
+ "@typescript-eslint/typescript-estree" "5.29.0"
+ debug "^4.3.4"
+
+"@typescript-eslint/scope-manager@5.29.0":
+ version "5.29.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.29.0.tgz#2a6a32e3416cb133e9af8dcf54bf077a916aeed3"
+ integrity sha512-etbXUT0FygFi2ihcxDZjz21LtC+Eps9V2xVx09zFoN44RRHPrkMflidGMI+2dUs821zR1tDS6Oc9IXxIjOUZwA==
+ dependencies:
+ "@typescript-eslint/types" "5.29.0"
+ "@typescript-eslint/visitor-keys" "5.29.0"
+
+"@typescript-eslint/type-utils@5.29.0":
+ version "5.29.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.29.0.tgz#241918001d164044020b37d26d5b9f4e37cc3d5d"
+ integrity sha512-JK6bAaaiJozbox3K220VRfCzLa9n0ib/J+FHIwnaV3Enw/TO267qe0pM1b1QrrEuy6xun374XEAsRlA86JJnyg==
+ dependencies:
+ "@typescript-eslint/utils" "5.29.0"
+ debug "^4.3.4"
+ tsutils "^3.21.0"
+
+"@typescript-eslint/types@5.29.0":
+ version "5.29.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.29.0.tgz#7861d3d288c031703b2d97bc113696b4d8c19aab"
+ integrity sha512-X99VbqvAXOMdVyfFmksMy3u8p8yoRGITgU1joBJPzeYa0rhdf5ok9S56/itRoUSh99fiDoMtarSIJXo7H/SnOg==
+
+"@typescript-eslint/typescript-estree@5.29.0":
+ version "5.29.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.29.0.tgz#e83d19aa7fd2e74616aab2f25dfbe4de4f0b5577"
+ integrity sha512-mQvSUJ/JjGBdvo+1LwC+GY2XmSYjK1nAaVw2emp/E61wEVYEyibRHCqm1I1vEKbXCpUKuW4G7u9ZCaZhJbLoNQ==
+ dependencies:
+ "@typescript-eslint/types" "5.29.0"
+ "@typescript-eslint/visitor-keys" "5.29.0"
+ debug "^4.3.4"
+ globby "^11.1.0"
+ is-glob "^4.0.3"
+ semver "^7.3.7"
+ tsutils "^3.21.0"
+
+"@typescript-eslint/utils@5.29.0":
+ version "5.29.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.29.0.tgz#775046effd5019667bd086bcf326acbe32cd0082"
+ integrity sha512-3Eos6uP1nyLOBayc/VUdKZikV90HahXE5Dx9L5YlSd/7ylQPXhLk1BYb29SDgnBnTp+jmSZUU0QxUiyHgW4p7A==
+ dependencies:
+ "@types/json-schema" "^7.0.9"
+ "@typescript-eslint/scope-manager" "5.29.0"
+ "@typescript-eslint/types" "5.29.0"
+ "@typescript-eslint/typescript-estree" "5.29.0"
+ eslint-scope "^5.1.1"
+ eslint-utils "^3.0.0"
+
+"@typescript-eslint/visitor-keys@5.29.0":
+ version "5.29.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.29.0.tgz#7a4749fa7ef5160c44a451bf060ac1dc6dfb77ee"
+ integrity sha512-Hpb/mCWsjILvikMQoZIE3voc9wtQcS0A9FUw3h8bhr9UxBdtI/tw1ZDZUOXHXLOVMedKCH5NxyzATwnU78bWCQ==
+ dependencies:
+ "@typescript-eslint/types" "5.29.0"
+ eslint-visitor-keys "^3.3.0"
+
JSONStream@^1.0.4, JSONStream@^1.3.4:
version "1.3.5"
resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0"
@@ -2256,6 +2398,16 @@ abbrev@1:
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
+acorn-jsx@^5.3.2:
+ version "5.3.2"
+ resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
+ integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
+
+acorn@^8.7.1:
+ version "8.7.1"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30"
+ integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==
+
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"
@@ -2277,7 +2429,7 @@ agentkeepalive@^3.4.1:
dependencies:
humanize-ms "^1.2.1"
-ajv@^6.12.3:
+ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4:
version "6.12.6"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
@@ -2371,6 +2523,11 @@ argparse@^1.0.7:
dependencies:
sprintf-js "~1.0.2"
+argparse@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
+ integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
+
arr-diff@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
@@ -2406,6 +2563,17 @@ array-ify@^1.0.0:
resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece"
integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==
+array-includes@^3.1.5:
+ version "3.1.5"
+ resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb"
+ integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.4"
+ es-abstract "^1.19.5"
+ get-intrinsic "^1.1.1"
+ is-string "^1.0.7"
+
array-union@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
@@ -2428,6 +2596,16 @@ array-unique@^0.3.2:
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==
+array.prototype.flatmap@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz#a7e8ed4225f4788a70cd910abcf0791e76a5534f"
+ integrity sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+ es-abstract "^1.19.2"
+ es-shim-unscopables "^1.0.0"
+
array.prototype.reduce@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz#8167e80089f78bff70a99e20bd4201d4663b0a6f"
@@ -2663,13 +2841,6 @@ browserslist@^4.20.2, browserslist@^4.21.0:
node-releases "^2.0.5"
update-browserslist-db "^1.0.0"
-bs-logger@0.x:
- version "0.2.6"
- resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8"
- integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==
- dependencies:
- fast-json-stable-stringify "2.x"
-
bser@2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05"
@@ -3227,7 +3398,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, cross-spawn@^7.0.3:
+cross-spawn@^7.0.0, cross-spawn@^7.0.2, 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==
@@ -3288,7 +3459,7 @@ debug@^3.1.0:
dependencies:
ms "^2.1.1"
-debug@^4.1.0, debug@^4.1.1:
+debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4:
version "4.3.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
@@ -3323,6 +3494,11 @@ dedent@^0.7.0:
resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==
+deep-is@^0.1.3:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
+ integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
+
deepmerge@^4.2.2:
version "4.2.2"
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
@@ -3411,6 +3587,27 @@ dir-glob@2.0.0:
arrify "^1.0.1"
path-type "^3.0.0"
+dir-glob@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
+ integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
+ dependencies:
+ path-type "^4.0.0"
+
+doctrine@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
+ integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==
+ dependencies:
+ esutils "^2.0.2"
+
+doctrine@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
+ integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
+ dependencies:
+ esutils "^2.0.2"
+
dot-prop@^4.2.0:
version "4.2.1"
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.1.tgz#45884194a71fc2cda71cbb4bceb3a4dd2f433ba4"
@@ -3523,6 +3720,13 @@ es-array-method-boxes-properly@^1.0.0:
resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e"
integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==
+es-shim-unscopables@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241"
+ integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==
+ dependencies:
+ has "^1.0.3"
+
es-to-primitive@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
@@ -3559,11 +3763,160 @@ escape-string-regexp@^2.0.0:
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344"
integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
+escape-string-regexp@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
+ integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
+
+eslint-config-prettier@^8.3.0:
+ version "8.5.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1"
+ integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==
+
+eslint-plugin-jest@^25.3.0:
+ version "25.7.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz#ff4ac97520b53a96187bad9c9814e7d00de09a6a"
+ integrity sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==
+ dependencies:
+ "@typescript-eslint/experimental-utils" "^5.0.0"
+
+eslint-plugin-react-hooks@^4.4.0:
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3"
+ integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==
+
+eslint-plugin-react@^7.29.4:
+ version "7.30.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.30.1.tgz#2be4ab23ce09b5949c6631413ba64b2810fd3e22"
+ integrity sha512-NbEvI9jtqO46yJA3wcRF9Mo0lF9T/jhdHqhCHXiXtD+Zcb98812wvokjWpU7Q4QH5edo6dmqrukxVvWWXHlsUg==
+ dependencies:
+ array-includes "^3.1.5"
+ array.prototype.flatmap "^1.3.0"
+ doctrine "^2.1.0"
+ estraverse "^5.3.0"
+ jsx-ast-utils "^2.4.1 || ^3.0.0"
+ minimatch "^3.1.2"
+ object.entries "^1.1.5"
+ object.fromentries "^2.0.5"
+ object.hasown "^1.1.1"
+ object.values "^1.1.5"
+ prop-types "^15.8.1"
+ resolve "^2.0.0-next.3"
+ semver "^6.3.0"
+ string.prototype.matchall "^4.0.7"
+
+eslint-scope@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
+ integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
+ dependencies:
+ esrecurse "^4.3.0"
+ estraverse "^4.1.1"
+
+eslint-scope@^7.1.1:
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642"
+ integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==
+ dependencies:
+ esrecurse "^4.3.0"
+ estraverse "^5.2.0"
+
+eslint-utils@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672"
+ integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==
+ dependencies:
+ eslint-visitor-keys "^2.0.0"
+
+eslint-visitor-keys@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
+ integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
+
+eslint-visitor-keys@^3.3.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826"
+ integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
+
+eslint@^8.14.0, eslint@^8.18.0:
+ version "8.18.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.18.0.tgz#78d565d16c993d0b73968c523c0446b13da784fd"
+ integrity sha512-As1EfFMVk7Xc6/CvhssHUjsAQSkpfXvUGMFC3ce8JDe6WvqCgRrLOBQbVpsBFr1X1V+RACOadnzVvcUS5ni2bA==
+ dependencies:
+ "@eslint/eslintrc" "^1.3.0"
+ "@humanwhocodes/config-array" "^0.9.2"
+ ajv "^6.10.0"
+ chalk "^4.0.0"
+ cross-spawn "^7.0.2"
+ debug "^4.3.2"
+ doctrine "^3.0.0"
+ escape-string-regexp "^4.0.0"
+ eslint-scope "^7.1.1"
+ eslint-utils "^3.0.0"
+ eslint-visitor-keys "^3.3.0"
+ espree "^9.3.2"
+ esquery "^1.4.0"
+ esutils "^2.0.2"
+ fast-deep-equal "^3.1.3"
+ file-entry-cache "^6.0.1"
+ functional-red-black-tree "^1.0.1"
+ glob-parent "^6.0.1"
+ globals "^13.15.0"
+ ignore "^5.2.0"
+ import-fresh "^3.0.0"
+ imurmurhash "^0.1.4"
+ is-glob "^4.0.0"
+ js-yaml "^4.1.0"
+ json-stable-stringify-without-jsonify "^1.0.1"
+ levn "^0.4.1"
+ lodash.merge "^4.6.2"
+ minimatch "^3.1.2"
+ natural-compare "^1.4.0"
+ optionator "^0.9.1"
+ regexpp "^3.2.0"
+ strip-ansi "^6.0.1"
+ strip-json-comments "^3.1.0"
+ text-table "^0.2.0"
+ v8-compile-cache "^2.0.3"
+
+espree@^9.3.2:
+ version "9.3.2"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.2.tgz#f58f77bd334731182801ced3380a8cc859091596"
+ integrity sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==
+ dependencies:
+ acorn "^8.7.1"
+ acorn-jsx "^5.3.2"
+ eslint-visitor-keys "^3.3.0"
+
esprima@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
+esquery@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5"
+ integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==
+ dependencies:
+ estraverse "^5.1.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==
+ dependencies:
+ estraverse "^5.2.0"
+
+estraverse@^4.1.1:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
+ integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
+
+estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
+ integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
+
estree-walker@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700"
@@ -3704,7 +4057,7 @@ extsprintf@^1.2.0:
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07"
integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==
-fast-deep-equal@^3.1.1:
+fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
@@ -3721,11 +4074,34 @@ fast-glob@^2.0.2:
merge2 "^1.2.3"
micromatch "^3.1.10"
-fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0:
+fast-glob@^3.2.9:
+ version "3.2.11"
+ resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9"
+ integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==
+ dependencies:
+ "@nodelib/fs.stat" "^2.0.2"
+ "@nodelib/fs.walk" "^1.2.3"
+ glob-parent "^5.1.2"
+ merge2 "^1.3.0"
+ micromatch "^4.0.4"
+
+fast-json-stable-stringify@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
+fast-levenshtein@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
+ integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
+
+fastq@^1.6.0:
+ version "1.13.0"
+ resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c"
+ integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==
+ dependencies:
+ reusify "^1.0.4"
+
fb-watchman@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85"
@@ -3745,6 +4121,13 @@ figures@^2.0.0:
dependencies:
escape-string-regexp "^1.0.5"
+file-entry-cache@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
+ integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
+ dependencies:
+ flat-cache "^3.0.4"
+
fill-range@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
@@ -3797,6 +4180,19 @@ find-up@^4.0.0, find-up@^4.1.0:
locate-path "^5.0.0"
path-exists "^4.0.0"
+flat-cache@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
+ integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==
+ dependencies:
+ flatted "^3.1.0"
+ rimraf "^3.0.2"
+
+flatted@^3.1.0:
+ version "3.2.5"
+ resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3"
+ integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==
+
flush-write-stream@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8"
@@ -3890,6 +4286,11 @@ function.prototype.name@^1.1.5:
es-abstract "^1.19.0"
functions-have-names "^1.2.2"
+functional-red-black-tree@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
+ integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==
+
functions-have-names@^1.2.2:
version "1.2.3"
resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
@@ -4060,6 +4461,20 @@ glob-parent@^3.1.0:
is-glob "^3.1.0"
path-dirname "^1.0.0"
+glob-parent@^5.1.2:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
+ integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
+ dependencies:
+ is-glob "^4.0.1"
+
+glob-parent@^6.0.1:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
+ integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
+ dependencies:
+ is-glob "^4.0.3"
+
glob-to-regexp@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab"
@@ -4082,6 +4497,25 @@ globals@^11.1.0:
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
+globals@^13.15.0:
+ version "13.15.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-13.15.0.tgz#38113218c907d2f7e98658af246cef8b77e90bac"
+ integrity sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==
+ dependencies:
+ type-fest "^0.20.2"
+
+globby@^11.1.0:
+ version "11.1.0"
+ resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
+ integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
+ dependencies:
+ array-union "^2.1.0"
+ dir-glob "^3.0.1"
+ fast-glob "^3.2.9"
+ ignore "^5.2.0"
+ merge2 "^1.4.1"
+ slash "^3.0.0"
+
globby@^8.0.1:
version "8.0.2"
resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d"
@@ -4307,7 +4741,7 @@ ignore@^3.3.5:
resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==
-ignore@^5.1.4:
+ignore@^5.1.4, ignore@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a"
integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==
@@ -4320,6 +4754,14 @@ import-fresh@^2.0.0:
caller-path "^2.0.0"
resolve-from "^3.0.0"
+import-fresh@^3.0.0, import-fresh@^3.2.1:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
+ integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
+ dependencies:
+ parent-module "^1.0.0"
+ resolve-from "^4.0.0"
+
import-local@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/import-local/-/import-local-1.0.0.tgz#5e4ffdc03f4fe6c009c6729beb29631c2f8227bc"
@@ -4593,7 +5035,7 @@ is-glob@^3.1.0:
dependencies:
is-extglob "^2.1.0"
-is-glob@^4.0.0:
+is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
@@ -5108,7 +5550,7 @@ jest-snapshot@^28.1.1:
pretty-format "^28.1.1"
semver "^7.3.5"
-jest-util@^28.0.0, jest-util@^28.1.1:
+jest-util@^28.1.1:
version "28.1.1"
resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-28.1.1.tgz#ff39e436a1aca397c0ab998db5a51ae2b7080d05"
integrity sha512-FktOu7ca1DZSyhPAxgxB6hfh2+9zMoJ7aEQA759Z6p45NuO8mWcqujH+UdHlCm/V6JTWwDztM2ITCzU1ijJAfw==
@@ -5165,7 +5607,7 @@ jest@^28.1.1:
import-local "^3.0.2"
jest-cli "^28.1.1"
-js-tokens@^4.0.0:
+"js-tokens@^3.0.0 || ^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==
@@ -5178,6 +5620,13 @@ js-yaml@^3.13.1:
argparse "^1.0.7"
esprima "^4.0.0"
+js-yaml@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
+ integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
+ dependencies:
+ argparse "^2.0.1"
+
jsbn@~0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
@@ -5213,6 +5662,11 @@ json-schema@0.4.0:
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5"
integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==
+json-stable-stringify-without-jsonify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
+ integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
+
json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
@@ -5245,6 +5699,14 @@ jsprim@^1.2.2:
json-schema "0.4.0"
verror "1.10.0"
+"jsx-ast-utils@^2.4.1 || ^3.0.0":
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.1.tgz#a3e0f1cb7e230954eab4dcbce9f6288a78f8ba44"
+ integrity sha512-pxrjmNpeRw5wwVeWyEAk7QJu2GnBO3uzPFmHCKJJFPKK2Cy0cWL23krGtLdnMmbIi6/FjlrQpPyfQI19ByPOhQ==
+ dependencies:
+ array-includes "^3.1.5"
+ object.assign "^4.1.2"
+
kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
version "3.2.2"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
@@ -5309,6 +5771,14 @@ 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==
+levn@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
+ integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
+ dependencies:
+ prelude-ls "^1.2.1"
+ type-check "~0.4.0"
+
libnpmaccess@^3.0.1:
version "3.0.2"
resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-3.0.2.tgz#8b2d72345ba3bef90d3b4f694edd5c0417f58923"
@@ -5408,10 +5878,10 @@ lodash.ismatch@^4.4.0:
resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37"
integrity sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==
-lodash.memoize@4.x:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
- integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==
+lodash.merge@^4.6.2:
+ version "4.6.2"
+ resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
+ integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
lodash.set@^4.3.2:
version "4.3.2"
@@ -5448,6 +5918,13 @@ lodash@^4.17.12, lodash@^4.17.15, lodash@^4.17.5, lodash@^4.2.1:
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+loose-envify@^1.4.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"
@@ -5496,11 +5973,6 @@ make-dir@^3.0.0:
dependencies:
semver "^6.0.0"
-make-error@1.x:
- version "1.3.6"
- resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
- integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
-
make-fetch-happen@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-4.0.2.tgz#2d156b11696fb32bffbafe1ac1bc085dd6c78a79"
@@ -5643,7 +6115,7 @@ merge-stream@^2.0.0:
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
-merge2@^1.2.3:
+merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
@@ -5702,7 +6174,7 @@ 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==
-minimatch@^3.0.0, minimatch@^3.0.4, minimatch@^3.1.1:
+minimatch@^3.0.0, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
@@ -6085,7 +6557,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.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
@@ -6126,6 +6598,24 @@ object.assign@^4.1.0, object.assign@^4.1.2:
has-symbols "^1.0.1"
object-keys "^1.1.1"
+object.entries@^1.1.5:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861"
+ integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+ es-abstract "^1.19.1"
+
+object.fromentries@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251"
+ integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+ es-abstract "^1.19.1"
+
object.getownpropertydescriptors@^2.0.3:
version "2.1.4"
resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz#7965e6437a57278b587383831a9b829455a4bc37"
@@ -6136,6 +6626,14 @@ object.getownpropertydescriptors@^2.0.3:
define-properties "^1.1.4"
es-abstract "^1.20.1"
+object.hasown@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.1.tgz#ad1eecc60d03f49460600430d97f23882cf592a3"
+ integrity sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==
+ dependencies:
+ define-properties "^1.1.4"
+ es-abstract "^1.19.5"
+
object.pick@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
@@ -6143,6 +6641,15 @@ object.pick@^1.3.0:
dependencies:
isobject "^3.0.1"
+object.values@^1.1.5:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac"
+ integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+ es-abstract "^1.19.1"
+
octokit-pagination-methods@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz#cf472edc9d551055f9ef73f6e42b4dbb4c80bea4"
@@ -6169,6 +6676,18 @@ onetime@^5.1.0, onetime@^5.1.2:
dependencies:
mimic-fn "^2.1.0"
+optionator@^0.9.1:
+ version "0.9.1"
+ resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
+ integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
+ dependencies:
+ deep-is "^0.1.3"
+ fast-levenshtein "^2.0.6"
+ levn "^0.4.1"
+ prelude-ls "^1.2.1"
+ type-check "^0.4.0"
+ word-wrap "^1.2.3"
+
os-homedir@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
@@ -6338,6 +6857,13 @@ parallel-transform@^1.1.0:
inherits "^2.0.3"
readable-stream "^2.1.5"
+parent-module@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
+ integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
+ dependencies:
+ callsites "^3.0.0"
+
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"
@@ -6451,6 +6977,11 @@ path-type@^3.0.0:
dependencies:
pify "^3.0.0"
+path-type@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
+ integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
+
performance-now@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
@@ -6517,6 +7048,11 @@ posix-character-classes@^0.1.0:
resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==
+prelude-ls@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
+ integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
+
prettier@^2.7.1:
version "2.7.1"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64"
@@ -6577,6 +7113,15 @@ promzard@^0.3.0:
dependencies:
read "1"
+prop-types@^15.8.1:
+ version "15.8.1"
+ resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
+ integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
+ dependencies:
+ loose-envify "^1.4.0"
+ object-assign "^4.1.1"
+ react-is "^16.13.1"
+
proto-list@~1.2.1:
version "1.2.4"
resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
@@ -6656,6 +7201,11 @@ query-string@^6.13.8:
split-on-first "^1.0.0"
strict-uri-encode "^2.0.0"
+queue-microtask@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
+ integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
+
quick-lru@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8"
@@ -6666,6 +7216,11 @@ quick-lru@^4.0.1:
resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f"
integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==
+react-is@^16.13.1:
+ version "16.13.1"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
+ integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
+
react-is@^18.0.0:
version "18.2.0"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b"
@@ -6845,7 +7400,7 @@ regex-not@^1.0.0, regex-not@^1.0.2:
extend-shallow "^3.0.2"
safe-regex "^1.1.0"
-regexp.prototype.flags@^1.4.3:
+regexp.prototype.flags@^1.4.1, regexp.prototype.flags@^1.4.3:
version "1.4.3"
resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac"
integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==
@@ -6854,6 +7409,11 @@ regexp.prototype.flags@^1.4.3:
define-properties "^1.1.3"
functions-have-names "^1.2.2"
+regexpp@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
+ integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
+
regexpu-core@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.0.1.tgz#c531122a7840de743dcf9c83e923b5560323ced3"
@@ -6979,6 +7539,15 @@ resolve@^1.10.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.2
path-parse "^1.0.7"
supports-preserve-symlinks-flag "^1.0.0"
+resolve@^2.0.0-next.3:
+ version "2.0.0-next.4"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660"
+ integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==
+ dependencies:
+ is-core-module "^2.9.0"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
+
restore-cursor@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
@@ -6997,6 +7566,11 @@ retry@^0.10.0:
resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4"
integrity sha512-ZXUSQYTHdl3uS7IuCehYfMzKyIDBNoAuUblvy5oGO5UJSUTmStUUVPXbA9Qxd173Bgre53yCQczQuHgRWAdvJQ==
+reusify@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
+ integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
+
rimraf@2, rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3:
version "2.7.1"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
@@ -7004,7 +7578,7 @@ rimraf@2, rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3:
dependencies:
glob "^7.1.3"
-rimraf@^3.0.0:
+rimraf@^3.0.0, rimraf@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
@@ -7023,6 +7597,13 @@ run-async@^2.2.0:
resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==
+run-parallel@^1.1.9:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
+ integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
+ dependencies:
+ queue-microtask "^1.2.2"
+
run-queue@^1.0.0, run-queue@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47"
@@ -7069,18 +7650,18 @@ semver@7.0.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
-semver@7.x, semver@^7.3.4, semver@^7.3.5:
+semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0:
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
+ integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
+
+semver@^7.3.4, semver@^7.3.5, semver@^7.3.7:
version "7.3.7"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f"
integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==
dependencies:
lru-cache "^6.0.0"
-semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0:
- version "6.3.0"
- resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
- integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
-
semver@~5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
@@ -7414,6 +7995,20 @@ string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1:
is-fullwidth-code-point "^2.0.0"
strip-ansi "^4.0.0"
+string.prototype.matchall@^4.0.7:
+ version "4.0.7"
+ resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz#8e6ecb0d8a1fb1fda470d81acecb2dba057a481d"
+ integrity sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+ es-abstract "^1.19.1"
+ get-intrinsic "^1.1.1"
+ has-symbols "^1.0.3"
+ internal-slot "^1.0.3"
+ regexp.prototype.flags "^1.4.1"
+ side-channel "^1.0.4"
+
string.prototype.padend@^3.0.0:
version "3.1.3"
resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.3.tgz#997a6de12c92c7cb34dc8a201a6c53d9bd88a5f1"
@@ -7529,7 +8124,7 @@ strip-indent@^3.0.0:
dependencies:
min-indent "^1.0.0"
-strip-json-comments@^3.1.1:
+strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
@@ -7629,6 +8224,11 @@ text-extensions@^1.0.0:
resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26"
integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==
+text-table@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
+ integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
+
throat@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375"
@@ -7746,25 +8346,18 @@ trim-newlines@^3.0.0:
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144"
integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==
-ts-jest@^28.0.5:
- version "28.0.5"
- resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-28.0.5.tgz#31776f768fba6dfc8c061d488840ed0c8eeac8b9"
- integrity sha512-Sx9FyP9pCY7pUzQpy4FgRZf2bhHY3za576HMKJFs+OnQ9jS96Du5vNsDKkyedQkik+sEabbKAnCliv9BEsHZgQ==
- dependencies:
- bs-logger "0.x"
- fast-json-stable-stringify "2.x"
- jest-util "^28.0.0"
- json5 "^2.2.1"
- lodash.memoize "4.x"
- make-error "1.x"
- semver "7.x"
- yargs-parser "^21.0.1"
-
-tslib@^1.9.0:
+tslib@^1.8.1, tslib@^1.9.0:
version "1.14.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
+tsutils@^3.21.0:
+ version "3.21.0"
+ resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
+ integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==
+ dependencies:
+ tslib "^1.8.1"
+
tunnel-agent@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
@@ -7777,6 +8370,13 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0:
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==
+type-check@^0.4.0, type-check@~0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
+ integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
+ dependencies:
+ prelude-ls "^1.2.1"
+
type-detect@4.0.8:
version "4.0.8"
resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
@@ -7787,6 +8387,11 @@ type-fest@^0.18.0:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f"
integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==
+type-fest@^0.20.2:
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
+ integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
+
type-fest@^0.21.3:
version "0.21.3"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"
@@ -7951,6 +8556,11 @@ uuid@^3.0.1, uuid@^3.3.2:
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
+v8-compile-cache@^2.0.3:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
+ integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
+
v8-to-istanbul@^9.0.0:
version "9.0.1"
resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz#b6f994b0b5d4ef255e17a0d17dc444a9f5132fa4"
@@ -8069,6 +8679,11 @@ windows-release@^3.1.0:
dependencies:
execa "^1.0.0"
+word-wrap@^1.2.3:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
+ integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
+
wordwrap@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
@@ -8171,7 +8786,7 @@ yargs-parser@^20.2.3:
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
-yargs-parser@^21.0.0, yargs-parser@^21.0.1:
+yargs-parser@^21.0.0:
version "21.0.1"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35"
integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==
From 9a1dd17f824e7b5ca385f293d35de444167808ad Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Sat, 2 Jul 2022 11:03:37 +0200
Subject: [PATCH 010/640] meta: Add devcontainer/codespaces setup (#16)
---
.devcontainer/Dockerfile | 10 +++++++++
.devcontainer/devcontainer.json | 36 +++++++++++++++++++++++++++++++++
2 files changed, 46 insertions(+)
create mode 100644 .devcontainer/Dockerfile
create mode 100644 .devcontainer/devcontainer.json
diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
new file mode 100644
index 000000000000..9c5afb39c8ce
--- /dev/null
+++ b/.devcontainer/Dockerfile
@@ -0,0 +1,10 @@
+# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.238.1/containers/debian/.devcontainer/base.Dockerfile
+
+# [Choice] Debian version (use bullseye on local arm64/Apple Silicon): bullseye, buster
+ARG VARIANT="buster"
+FROM mcr.microsoft.com/vscode/devcontainers/base:0-${VARIANT}
+
+# ** [Optional] Uncomment this section to install additional packages. **
+# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
+# && apt-get -y install --no-install-recommends
+
diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
new file mode 100644
index 000000000000..4bb1ca32196e
--- /dev/null
+++ b/.devcontainer/devcontainer.json
@@ -0,0 +1,36 @@
+// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
+// https://github.com/microsoft/vscode-dev-containers/tree/v0.238.1/containers/debian
+{
+ "name": "Debian",
+ "build": {
+ "dockerfile": "Dockerfile",
+ // Update 'VARIANT' to pick an Debian version: bullseye, buster
+ // Use bullseye on local arm64/Apple Silicon.
+ "args": { "VARIANT": "bullseye" }
+ },
+
+ // Use 'forwardPorts' to make a list of ports inside the container available locally.
+ // "forwardPorts": [],
+
+ // Uncomment to use the Docker CLI from inside the container. See https://aka.ms/vscode-remote/samples/docker-from-docker.
+ // "mounts": [ "source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind" ],
+
+ // Uncomment when using a ptrace-based debugger like C++, Go, and Rust
+ // "runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ],
+ "postCreateCommand": "yarn",
+
+ // Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
+ "remoteUser": "vscode",
+ "features": {
+ "docker-in-docker": "20.10",
+ "git": "os-provided",
+ "github-cli": "latest",
+ "node": "18",
+ "java": "17"
+ },
+ "customizations": {
+ "vscode": {
+ "extensions": ["esbenp.prettier-vscode", "SonarSource.sonarlint-vscode"]
+ }
+ }
+}
From c6fef20990c7a617b5debd161830aafcf7a38b90 Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Sat, 2 Jul 2022 11:23:51 +0200
Subject: [PATCH 011/640] build(unplugin): Shuffle tsconfigs around (#17)
---
packages/unplugin/.eslintrc.js | 2 +-
packages/unplugin/package.json | 4 +++-
packages/unplugin/{ => src}/tsconfig.json | 2 +-
packages/unplugin/test/tsconfig.json | 2 +-
packages/unplugin/types.tsconfig.json | 3 ++-
5 files changed, 8 insertions(+), 5 deletions(-)
rename packages/unplugin/{ => src}/tsconfig.json (87%)
diff --git a/packages/unplugin/.eslintrc.js b/packages/unplugin/.eslintrc.js
index 378f4e403c5e..fe53c9eb2e89 100644
--- a/packages/unplugin/.eslintrc.js
+++ b/packages/unplugin/.eslintrc.js
@@ -7,7 +7,7 @@ module.exports = {
ignorePatterns: [".eslintrc.js", "dist", "jest.config.js", "rollup.config.js"],
parserOptions: {
tsconfigRootDir: __dirname,
- project: ["./tsconfig.json", "./test/tsconfig.json"],
+ project: ["./src/tsconfig.json", "./test/tsconfig.json"],
},
env: {
node: true,
diff --git a/packages/unplugin/package.json b/packages/unplugin/package.json
index 70ecd94450e6..099738f888d5 100644
--- a/packages/unplugin/package.json
+++ b/packages/unplugin/package.json
@@ -13,7 +13,9 @@
"build:rollup:watch": "rollup --config rollup.config.js --watch --no-watch.clearScreen",
"build:types": "tsc --project types.tsconfig.json",
"build:types:watch": "tsc --project types.tsconfig.json --watch --preserveWatchOutput",
- "check:types": "tsc --project tsconfig.json --noEmit",
+ "check:types": "run-p check:types:src check:types:test",
+ "check:types:src": "tsc --project ./src/tsconfig.json --noEmit",
+ "check:types:test": "tsc --project ./test/tsconfig.json --noEmit",
"test": "jest",
"lint": "eslint ./src ./test --max-warnings=0"
},
diff --git a/packages/unplugin/tsconfig.json b/packages/unplugin/src/tsconfig.json
similarity index 87%
rename from packages/unplugin/tsconfig.json
rename to packages/unplugin/src/tsconfig.json
index a110dfd8d42b..9e6452f79c77 100644
--- a/packages/unplugin/tsconfig.json
+++ b/packages/unplugin/src/tsconfig.json
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"extends": "sentry-unplugin-tsconfigs/base-config.json",
- "include": ["./src/**/*"],
+ "include": ["./**/*"],
"compilerOptions": {
"esModuleInterop": true,
"types": ["node"]
diff --git a/packages/unplugin/test/tsconfig.json b/packages/unplugin/test/tsconfig.json
index 2b2ad253197e..440aa770a89c 100644
--- a/packages/unplugin/test/tsconfig.json
+++ b/packages/unplugin/test/tsconfig.json
@@ -1,6 +1,6 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
- "extends": "../tsconfig.json",
+ "extends": "sentry-unplugin-tsconfigs/base-config.json",
"include": ["../src/**/*", "./**/*"],
"compilerOptions": {
"types": ["node", "jest"]
diff --git a/packages/unplugin/types.tsconfig.json b/packages/unplugin/types.tsconfig.json
index 10d65ba754f2..fb161bc4ab78 100644
--- a/packages/unplugin/types.tsconfig.json
+++ b/packages/unplugin/types.tsconfig.json
@@ -1,6 +1,7 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
- "extends": "./tsconfig.json",
+ "extends": "./src/tsconfig.json",
+ "include": ["./src/**/*"],
"compilerOptions": {
"rootDir": "./src",
"declaration": true,
From 011b558e127f3c95290ab1cde3b77d660bfc4eec Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Sun, 31 Jul 2022 10:24:16 +0200
Subject: [PATCH 012/640] feat(unplugin): Add proof of concept (#19)
---
packages/tsconfigs/base-config.json | 2 +-
packages/unplugin/package.json | 7 ++-
packages/unplugin/rollup.config.js | 5 +-
packages/unplugin/src/index.ts | 83 ++++++++++++++++++++++++--
packages/unplugin/src/tsconfig.json | 3 +-
packages/unplugin/test/example.test.ts | 4 +-
yarn.lock | 81 +++++++++++++++++++++----
7 files changed, 163 insertions(+), 22 deletions(-)
diff --git a/packages/tsconfigs/base-config.json b/packages/tsconfigs/base-config.json
index 811e5b15f514..71e1fd48700a 100644
--- a/packages/tsconfigs/base-config.json
+++ b/packages/tsconfigs/base-config.json
@@ -2,7 +2,7 @@
"$schema": "https://json.schemastore.org/tsconfig",
"compilerOptions": {
"moduleResolution": "node",
- "skipLibCheck": false,
+ "skipLibCheck": true,
"isolatedModules": true,
"forceConsistentCasingInFileNames": true,
diff --git a/packages/unplugin/package.json b/packages/unplugin/package.json
index 099738f888d5..ff75b761d56f 100644
--- a/packages/unplugin/package.json
+++ b/packages/unplugin/package.json
@@ -1,5 +1,5 @@
{
- "name": "sentry-unplugin",
+ "name": "@sentry/unplugin",
"version": "0.0.1",
"description": "Sentry unplugin.",
"main": "dist/cjs/index.js",
@@ -19,7 +19,10 @@
"test": "jest",
"lint": "eslint ./src ./test --max-warnings=0"
},
- "dependencies": {},
+ "dependencies": {
+ "magic-string": "^0.26.2",
+ "unplugin": "^0.7.2"
+ },
"devDependencies": {
"@babel/core": "7.18.5",
"@babel/preset-env": "7.18.2",
diff --git a/packages/unplugin/rollup.config.js b/packages/unplugin/rollup.config.js
index fd4ab998e842..112364f4b530 100644
--- a/packages/unplugin/rollup.config.js
+++ b/packages/unplugin/rollup.config.js
@@ -9,9 +9,10 @@ const extensions = [".js", ".ts"];
export default {
input,
- external: [...Object.keys(packageJson.dependencies)],
+ // external: [...Object.keys(packageJson.dependencies)],
+ external: ["path", "unplugin"],
plugins: [
- resolve({ extensions }),
+ resolve({ extensions, preferBuiltins: true }),
commonjs(),
babel({
extensions,
diff --git a/packages/unplugin/src/index.ts b/packages/unplugin/src/index.ts
index 1e4207008f6c..16fe080f57c5 100644
--- a/packages/unplugin/src/index.ts
+++ b/packages/unplugin/src/index.ts
@@ -1,6 +1,81 @@
-function helloWorld() {
- // eslint-disable-next-line no-console
- console.log("Hello world!");
+import { createUnplugin } from "unplugin";
+import MagicString from "magic-string";
+import * as path from "path";
+
+function generateGlobalInjectorCode({ release }: { release: string }) {
+ return `
+ var _global =
+ typeof window !== 'undefined' ?
+ window :
+ typeof global !== 'undefined' ?
+ global :
+ typeof self !== 'undefined' ?
+ self :
+ {};
+
+ _global.SENTRY_RELEASE={id:"${release}"};`;
+}
+
+// TODO: Replace this function with actual logic
+function getReleaseName() {
+ return "default";
}
-export { helloWorld };
+export interface Options {
+ debugLogging?: boolean;
+}
+
+const unplugin = createUnplugin((options) => {
+ function debugLog(message: string) {
+ if (options?.debugLogging) {
+ // eslint-disable-next-line no-console
+ console.log(`[Sentry-plugin] ${message}`);
+ }
+ }
+
+ const entrypoints = new Set();
+
+ return {
+ name: "sentry-plugin",
+ enforce: "pre", // needed for Vite to call resolveId hook
+ resolveId(id, _importer, { isEntry }) {
+ debugLog(
+ `Called "resolveId": ${JSON.stringify({ id, importer: _importer, options: { isEntry } })}`
+ );
+
+ if (isEntry) {
+ const entrypoint = path.normalize(path.isAbsolute(id) ? id : path.join(process.cwd(), id));
+ entrypoints.add(entrypoint);
+ debugLog(`Added entrypoint: ${entrypoint}`);
+ }
+
+ return undefined;
+ },
+ transformInclude(id) {
+ const shouldTransform = entrypoints.has(id);
+
+ debugLog(`Called "transformInclude": ${JSON.stringify({ id })}`);
+ debugLog(`Will transform "${id}": ${String(shouldTransform)}`);
+
+ return shouldTransform;
+ },
+ transform(code, id) {
+ if (entrypoints.has(path.normalize(id))) {
+ const ms = new MagicString(code);
+ ms.prepend(generateGlobalInjectorCode({ release: getReleaseName() }));
+ return {
+ code: ms.toString(),
+ map: ms.generateMap(),
+ };
+ } else {
+ // Don't transform
+ return undefined;
+ }
+ },
+ };
+});
+
+export const sentryVitePlugin = unplugin.vite;
+export const sentryRollupPlugin = unplugin.rollup;
+export const sentryWebpackPlugin = unplugin.webpack;
+export const sentryEsbuildPlugin = unplugin.esbuild;
diff --git a/packages/unplugin/src/tsconfig.json b/packages/unplugin/src/tsconfig.json
index 9e6452f79c77..55c9df824444 100644
--- a/packages/unplugin/src/tsconfig.json
+++ b/packages/unplugin/src/tsconfig.json
@@ -4,6 +4,7 @@
"include": ["./**/*"],
"compilerOptions": {
"esModuleInterop": true,
- "types": ["node"]
+ "types": ["node"],
+ "lib": ["ES2020"]
}
}
diff --git a/packages/unplugin/test/example.test.ts b/packages/unplugin/test/example.test.ts
index 633e33fac47a..9d6b3cdb2a09 100644
--- a/packages/unplugin/test/example.test.ts
+++ b/packages/unplugin/test/example.test.ts
@@ -1,5 +1,5 @@
-import { helloWorld } from "../src";
+import { sentryRollupPlugin } from "../src/index";
test("example", () => {
- expect(helloWorld).toBeTruthy();
+ expect(sentryRollupPlugin).toBeDefined();
});
diff --git a/yarn.lock b/yarn.lock
index 27cf36c084ac..8f24d3573da6 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2490,7 +2490,7 @@ ansi-styles@^5.0.0:
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b"
integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==
-anymatch@^3.0.3:
+anymatch@^3.0.3, anymatch@~3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
@@ -2795,6 +2795,11 @@ before-after-hook@^2.0.0:
resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.2.tgz#a6e8ca41028d90ee2c24222f201c90956091613e"
integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==
+binary-extensions@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
+ integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
+
bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5:
version "3.7.2"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
@@ -2824,7 +2829,7 @@ braces@^2.3.1:
split-string "^3.0.2"
to-regex "^3.0.1"
-braces@^3.0.2:
+braces@^3.0.2, braces@~3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
@@ -3062,6 +3067,21 @@ chardet@^0.7.0:
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
+chokidar@^3.5.3:
+ version "3.5.3"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
+ integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
+ dependencies:
+ anymatch "~3.1.2"
+ braces "~3.0.2"
+ glob-parent "~5.1.2"
+ is-binary-path "~2.1.0"
+ is-glob "~4.0.1"
+ normalize-path "~3.0.0"
+ readdirp "~3.6.0"
+ optionalDependencies:
+ fsevents "~2.3.2"
+
chownr@^1.1.1, chownr@^1.1.2, chownr@^1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
@@ -4461,7 +4481,7 @@ glob-parent@^3.1.0:
is-glob "^3.1.0"
path-dirname "^1.0.0"
-glob-parent@^5.1.2:
+glob-parent@^5.1.2, glob-parent@~5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
@@ -4901,6 +4921,13 @@ is-bigint@^1.0.1:
dependencies:
has-bigints "^1.0.1"
+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-boolean-object@^1.1.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719"
@@ -5035,7 +5062,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.3:
+is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
version "4.0.3"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
@@ -5959,6 +5986,13 @@ magic-string@^0.25.7:
dependencies:
sourcemap-codec "^1.4.8"
+magic-string@^0.26.2:
+ version "0.26.2"
+ resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.2.tgz#5331700e4158cd6befda738bb6b0c7b93c0d4432"
+ integrity sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==
+ dependencies:
+ sourcemap-codec "^1.4.8"
+
make-dir@^1.0.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c"
@@ -6419,7 +6453,7 @@ normalize-package-data@^3.0.0:
semver "^7.3.4"
validate-npm-package-license "^3.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==
@@ -6992,7 +7026,7 @@ picocolors@^1.0.0:
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
-picomatch@^2.0.4, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.1:
+picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
@@ -7344,6 +7378,13 @@ readdir-scoped-modules@^1.0.0:
graceful-fs "^4.1.2"
once "^1.3.0"
+readdirp@~3.6.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
+ integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
+ dependencies:
+ picomatch "^2.2.1"
+
redent@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
@@ -8412,10 +8453,10 @@ typedarray@^0.0.6:
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==
-typescript@^4.7.4:
- version "4.7.4"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235"
- integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==
+typescript@4.6.3:
+ version "4.6.3"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.3.tgz#eefeafa6afdd31d725584c67a0eaba80f6fc6c6c"
+ integrity sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==
uglify-js@^3.1.4:
version "3.16.1"
@@ -8506,6 +8547,16 @@ universalify@^0.1.0:
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
+unplugin@^0.7.2:
+ version "0.7.2"
+ resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-0.7.2.tgz#4127012fdc2c84ea4ce03ce75e3d4f54ea47bba1"
+ integrity sha512-m7thX4jP8l5sETpLdUASoDOGOcHaOVtgNyrYlToyQUvILUtEzEnngRBrHnAX3IKqooJVmXpoa/CwQ/QqzvGaHQ==
+ dependencies:
+ acorn "^8.7.1"
+ chokidar "^3.5.3"
+ webpack-sources "^3.2.3"
+ webpack-virtual-modules "^0.4.4"
+
unset-value@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
@@ -8618,6 +8669,16 @@ webidl-conversions@^4.0.2:
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==
+webpack-sources@^3.2.3:
+ version "3.2.3"
+ resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde"
+ integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
+
+webpack-virtual-modules@^0.4.4:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.4.4.tgz#a19fcf371923c59c4712d63d7d194b1e4d8262cc"
+ integrity sha512-h9atBP/bsZohWpHnr+2sic8Iecb60GxftXsWNLLLSqewgIsGzByd2gcIID4nXcG+3tNe4GQG3dLcff3kXupdRA==
+
whatwg-url@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
From c6315eaf04aff38118d8015df495722f717944ba Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Sun, 31 Jul 2022 11:22:05 +0200
Subject: [PATCH 013/640] chore(playground): Add playground scripts (#18)
chore: Add playground scripts
---
package.json | 2 +-
packages/playground/.gitignore | 1 +
packages/playground/build-esbuild.js | 12 +
packages/playground/build-webpack4.js | 25 +
packages/playground/build-webpack5.js | 27 +
packages/playground/package.json | 25 +
packages/playground/rollup.config.js | 19 +
packages/playground/src/entrypoint1.js | 12 +
packages/playground/src/entrypoint2.js | 16 +
packages/playground/src/get-global.js | 3 +
packages/playground/src/hello-world.js | 3 +
packages/playground/vite.config.js | 18 +
packages/tsconfigs/base-config.json | 2 +-
packages/unplugin/package.json | 5 +-
packages/unplugin/src/index.ts | 12 +-
packages/unplugin/src/tsconfig.json | 2 +-
packages/unplugin/test/tsconfig.json | 2 +-
yarn.lock | 1686 +++++++++++++++++++++++-
18 files changed, 1831 insertions(+), 41 deletions(-)
create mode 100644 packages/playground/.gitignore
create mode 100644 packages/playground/build-esbuild.js
create mode 100644 packages/playground/build-webpack4.js
create mode 100644 packages/playground/build-webpack5.js
create mode 100644 packages/playground/package.json
create mode 100644 packages/playground/rollup.config.js
create mode 100644 packages/playground/src/entrypoint1.js
create mode 100644 packages/playground/src/entrypoint2.js
create mode 100644 packages/playground/src/get-global.js
create mode 100644 packages/playground/src/hello-world.js
create mode 100644 packages/playground/vite.config.js
diff --git a/package.json b/package.json
index 6a817f611763..eade3485451e 100644
--- a/package.json
+++ b/package.json
@@ -8,7 +8,7 @@
"packages/*"
],
"scripts": {
- "build": "lerna run --parallel build",
+ "build": "lerna run --stream build",
"build:watch": "lerna run --parallel build:watch",
"check:types": "lerna run --parallel check:types",
"test": "lerna run --parallel test",
diff --git a/packages/playground/.gitignore b/packages/playground/.gitignore
new file mode 100644
index 000000000000..89f9ac04aac6
--- /dev/null
+++ b/packages/playground/.gitignore
@@ -0,0 +1 @@
+out/
diff --git a/packages/playground/build-esbuild.js b/packages/playground/build-esbuild.js
new file mode 100644
index 000000000000..80703d13154e
--- /dev/null
+++ b/packages/playground/build-esbuild.js
@@ -0,0 +1,12 @@
+const { sentryEsbuildPlugin } = require("@sentry/unplugin");
+const { build } = require("esbuild");
+
+build({
+ entryPoints: ["./src/entrypoint1.js"],
+ outdir: "./out/esbuild",
+ plugins: [sentryEsbuildPlugin()],
+ minify: true,
+ bundle: true,
+ format: "cjs",
+ sourcemap: true, // currently we break source maps :(, we need to fix this upstream in unplugin
+});
diff --git a/packages/playground/build-webpack4.js b/packages/playground/build-webpack4.js
new file mode 100644
index 000000000000..231743630c59
--- /dev/null
+++ b/packages/playground/build-webpack4.js
@@ -0,0 +1,25 @@
+// @ts-check
+const path = require("path");
+const webpack4 = require("webpack4");
+const { sentryWebpackPlugin } = require("@sentry/unplugin");
+
+webpack4(
+ {
+ mode: "production",
+ entry: "./src/entrypoint1.js",
+ cache: false,
+ output: {
+ path: path.resolve(__dirname, `./out/webpack4`),
+ filename: "index.js",
+ library: "ExampleBundle",
+ libraryTarget: "commonjs",
+ },
+ plugins: [sentryWebpackPlugin()],
+ devtool: "source-map",
+ },
+ (err) => {
+ if (err) {
+ throw err;
+ }
+ }
+);
diff --git a/packages/playground/build-webpack5.js b/packages/playground/build-webpack5.js
new file mode 100644
index 000000000000..495384d13d19
--- /dev/null
+++ b/packages/playground/build-webpack5.js
@@ -0,0 +1,27 @@
+// @ts-check
+const path = require("path");
+const webpack5 = require("webpack");
+const { sentryWebpackPlugin } = require("@sentry/unplugin");
+
+webpack5(
+ {
+ cache: false,
+ entry: "./src/entrypoint1.js",
+ output: {
+ filename: "index.js",
+ path: path.resolve(__dirname, `./out/webpack5`),
+ library: {
+ type: "commonjs",
+ name: "ExampleBundle",
+ },
+ },
+ mode: "production",
+ plugins: [sentryWebpackPlugin()],
+ devtool: "source-map",
+ },
+ (err) => {
+ if (err) {
+ throw err;
+ }
+ }
+);
diff --git a/packages/playground/package.json b/packages/playground/package.json
new file mode 100644
index 000000000000..88e5265e5a87
--- /dev/null
+++ b/packages/playground/package.json
@@ -0,0 +1,25 @@
+{
+ "name": "playground",
+ "version": "1.0.0",
+ "main": "index.js",
+ "author": "Luca Forstner",
+ "license": "MIT",
+ "private": true,
+ "scripts": {
+ "build": "run-p build:rollup build:vite build:webpack4 build:webpack5 build:esbuild",
+ "build:rollup": "rollup --config rollup.config.js",
+ "build:vite": "vite build --config vite.config.js",
+ "build:webpack4": "node build-webpack4.js",
+ "build:webpack5": "node build-webpack5.js",
+ "build:esbuild": "node build-esbuild.js"
+ },
+ "dependencies": {
+ "@sentry/unplugin": "*",
+ "esbuild": "0.14.49",
+ "rollup": "2.77.0",
+ "vite": "3.0.0",
+ "webpack4": "npm:webpack@4.46.0",
+ "webpack": "5.74.0",
+ "npm-run-all": "4.1.5"
+ }
+}
diff --git a/packages/playground/rollup.config.js b/packages/playground/rollup.config.js
new file mode 100644
index 000000000000..67a529a70ed3
--- /dev/null
+++ b/packages/playground/rollup.config.js
@@ -0,0 +1,19 @@
+// @ts-check
+import commonjs from "@rollup/plugin-commonjs";
+import resolve from "@rollup/plugin-node-resolve";
+import { sentryRollupPlugin } from "@sentry/unplugin";
+
+const input = ["src/entrypoint1.js"];
+
+const extensions = [".js"];
+
+export default {
+ input,
+ plugins: [resolve({ extensions }), commonjs(), sentryRollupPlugin()],
+ output: {
+ dir: "./out/rollup",
+ format: "cjs",
+ exports: "named",
+ sourcemap: true,
+ },
+};
diff --git a/packages/playground/src/entrypoint1.js b/packages/playground/src/entrypoint1.js
new file mode 100644
index 000000000000..108d933192b2
--- /dev/null
+++ b/packages/playground/src/entrypoint1.js
@@ -0,0 +1,12 @@
+import { getGlobal } from "./get-global";
+import { helloWorld } from "./hello-world";
+export { getGlobal } from "./get-global";
+
+console.log("entrypoint1.js loaded");
+
+export function main() {
+ console.log("called main (entrypoint1.js)");
+ helloWorld();
+}
+
+console.log("global:", getGlobal());
diff --git a/packages/playground/src/entrypoint2.js b/packages/playground/src/entrypoint2.js
new file mode 100644
index 000000000000..daab1c5e4b28
--- /dev/null
+++ b/packages/playground/src/entrypoint2.js
@@ -0,0 +1,16 @@
+import { main as main1 } from "./entrypoint1";
+export { getGlobal } from "./get-global";
+
+console.log("entrypoint2.js loaded");
+
+export function main() {
+ console.log("called main (entrypoint2.js)");
+ main1();
+}
+
+const asdf = () => {
+ console.log("defualt called (entrypoint2.js)");
+};
+
+console.log("global:", getGlobal());
+export { asdf as default };
diff --git a/packages/playground/src/get-global.js b/packages/playground/src/get-global.js
new file mode 100644
index 000000000000..59cb11384f1a
--- /dev/null
+++ b/packages/playground/src/get-global.js
@@ -0,0 +1,3 @@
+export function getGlobal() {
+ return global.SENTRY_RELEASE;
+}
diff --git a/packages/playground/src/hello-world.js b/packages/playground/src/hello-world.js
new file mode 100644
index 000000000000..5117dc2bf1b1
--- /dev/null
+++ b/packages/playground/src/hello-world.js
@@ -0,0 +1,3 @@
+export function helloWorld() {
+ console.log("Hello world!");
+}
diff --git a/packages/playground/vite.config.js b/packages/playground/vite.config.js
new file mode 100644
index 000000000000..1632e01f806c
--- /dev/null
+++ b/packages/playground/vite.config.js
@@ -0,0 +1,18 @@
+// @ts-check
+import { sentryVitePlugin } from "@sentry/unplugin";
+import { defineConfig } from "vite";
+import * as path from "path";
+
+export default defineConfig({
+ build: {
+ outDir: "./out/vite",
+ lib: {
+ entry: path.resolve(__dirname, "./src/entrypoint1.js"),
+ name: "ExampleBundle",
+ fileName: "index",
+ formats: ["cjs"],
+ },
+ sourcemap: true,
+ },
+ plugins: [sentryVitePlugin()],
+});
diff --git a/packages/tsconfigs/base-config.json b/packages/tsconfigs/base-config.json
index 71e1fd48700a..811e5b15f514 100644
--- a/packages/tsconfigs/base-config.json
+++ b/packages/tsconfigs/base-config.json
@@ -2,7 +2,7 @@
"$schema": "https://json.schemastore.org/tsconfig",
"compilerOptions": {
"moduleResolution": "node",
- "skipLibCheck": true,
+ "skipLibCheck": false,
"isolatedModules": true,
"forceConsistentCasingInFileNames": true,
diff --git a/packages/unplugin/package.json b/packages/unplugin/package.json
index ff75b761d56f..c2ed6434d7ab 100644
--- a/packages/unplugin/package.json
+++ b/packages/unplugin/package.json
@@ -7,7 +7,7 @@
"types": "dist/types/index.d.ts",
"repository": "https://github.com/lforst/sentry-unplugin",
"scripts": {
- "build": "run-p build:rollup build:types",
+ "build": "rimraf ./out && run-p build:rollup build:types",
"build:watch": "run-p build:rollup:watch build:types:watch",
"build:rollup": "rollup --config rollup.config.js",
"build:rollup:watch": "rollup --config rollup.config.js --watch --no-watch.clearScreen",
@@ -33,11 +33,12 @@
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
- "@types/node": "^8",
+ "@types/node": "^18.6.3",
"eslint": "^8.18.0",
"eslint-config-local": "*",
"jest": "^28.1.1",
"npm-run-all": "^4.1.5",
+ "rimraf": "^3.0.2",
"rollup": "2.75.7",
"sentry-unplugin-tsconfigs": "*",
"typescript": "^4.7.4"
diff --git a/packages/unplugin/src/index.ts b/packages/unplugin/src/index.ts
index 16fe080f57c5..280a20d05443 100644
--- a/packages/unplugin/src/index.ts
+++ b/packages/unplugin/src/index.ts
@@ -75,7 +75,11 @@ const unplugin = createUnplugin((options) => {
};
});
-export const sentryVitePlugin = unplugin.vite;
-export const sentryRollupPlugin = unplugin.rollup;
-export const sentryWebpackPlugin = unplugin.webpack;
-export const sentryEsbuildPlugin = unplugin.esbuild;
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
+export const sentryVitePlugin: (options?: Options | undefined) => any = unplugin.vite;
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
+export const sentryRollupPlugin: (options?: Options | undefined) => any = unplugin.rollup;
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
+export const sentryWebpackPlugin: (options?: Options | undefined) => any = unplugin.webpack;
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
+export const sentryEsbuildPlugin: (options?: Options | undefined) => any = unplugin.esbuild;
diff --git a/packages/unplugin/src/tsconfig.json b/packages/unplugin/src/tsconfig.json
index 55c9df824444..32067f493a24 100644
--- a/packages/unplugin/src/tsconfig.json
+++ b/packages/unplugin/src/tsconfig.json
@@ -5,6 +5,6 @@
"compilerOptions": {
"esModuleInterop": true,
"types": ["node"],
- "lib": ["ES2020"]
+ "lib": ["ES2020", "DOM"] // es2020 needed for "new Set()", DOM needed for various bundler types
}
}
diff --git a/packages/unplugin/test/tsconfig.json b/packages/unplugin/test/tsconfig.json
index 440aa770a89c..b73d9b533da9 100644
--- a/packages/unplugin/test/tsconfig.json
+++ b/packages/unplugin/test/tsconfig.json
@@ -1,6 +1,6 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
- "extends": "sentry-unplugin-tsconfigs/base-config.json",
+ "extends": "../src/tsconfig.json",
"include": ["../src/**/*", "./**/*"],
"compilerOptions": {
"types": ["node", "jest"]
diff --git a/yarn.lock b/yarn.lock
index 8f24d3573da6..04b26a618bd7 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1223,6 +1223,14 @@
resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.1.tgz#36a6acc93987adcf0ba50c66908bd0b70de8afea"
integrity sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==
+"@jridgewell/source-map@^0.3.2":
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb"
+ integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==
+ dependencies:
+ "@jridgewell/gen-mapping" "^0.3.0"
+ "@jridgewell/trace-mapping" "^0.3.9"
+
"@jridgewell/sourcemap-codec@^1.4.10":
version "1.4.13"
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz#b6461fb0c2964356c469e115f504c95ad97ab88c"
@@ -2188,6 +2196,22 @@
dependencies:
"@babel/types" "^7.3.0"
+"@types/eslint-scope@^3.7.3":
+ version "3.7.4"
+ resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16"
+ integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==
+ dependencies:
+ "@types/eslint" "*"
+ "@types/estree" "*"
+
+"@types/eslint@*":
+ version "8.4.5"
+ resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.5.tgz#acdfb7dd36b91cc5d812d7c093811a8f3d9b31e4"
+ integrity sha512-dhsC09y1gpJWnK+Ff4SGvCuSnk9DaU0BJZSzOwa6GVSg65XtTugLBITDAAzRU5duGBoXBHpdR/9jHGxJjNflJQ==
+ dependencies:
+ "@types/estree" "*"
+ "@types/json-schema" "*"
+
"@types/estree@*":
version "0.0.52"
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.52.tgz#7f1f57ad5b741f3d5b210d3b1f145640d89bf8fe"
@@ -2198,6 +2222,11 @@
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
+"@types/estree@^0.0.51":
+ version "0.0.51"
+ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40"
+ integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==
+
"@types/graceful-fs@^4.1.3":
version "4.1.5"
resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15"
@@ -2232,7 +2261,7 @@
jest-matcher-utils "^28.0.0"
pretty-format "^28.0.0"
-"@types/json-schema@^7.0.9":
+"@types/json-schema@*", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9":
version "7.0.11"
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3"
integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==
@@ -2252,10 +2281,10 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.0.tgz#67c7b724e1bcdd7a8821ce0d5ee184d3b4dd525a"
integrity sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA==
-"@types/node@^8":
- version "8.10.66"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.66.tgz#dd035d409df322acc83dff62a602f12a5783bbb3"
- integrity sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==
+"@types/node@^18.6.3":
+ version "18.6.3"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.6.3.tgz#4e4a95b6fe44014563ceb514b2598b3e623d1c98"
+ integrity sha512-6qKpDtoaYLM+5+AFChLhHermMQxc3TOEFIDzrZLPRGHPrLEwqFkkT5Kx3ju05g6X7uDPazz3jHbKPX0KzCjntg==
"@types/normalize-package-data@^2.4.0":
version "2.4.1"
@@ -2279,6 +2308,15 @@
resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c"
integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==
+"@types/webpack@^5.28.0":
+ version "5.28.0"
+ resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-5.28.0.tgz#78dde06212f038d77e54116cfe69e88ae9ed2c03"
+ integrity sha512-8cP0CzcxUiFuA9xGJkfeVpqmWTk9nx6CWwamRGCj95ph1SmlRRk9KlCZ6avhCbZd4L68LvYT6l1kpdEnQXrF8w==
+ dependencies:
+ "@types/node" "*"
+ tapable "^2.2.0"
+ webpack "^5"
+
"@types/yargs-parser@*":
version "21.0.0"
resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b"
@@ -2385,6 +2423,282 @@
"@typescript-eslint/types" "5.29.0"
eslint-visitor-keys "^3.3.0"
+"@webassemblyjs/ast@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7"
+ integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==
+ dependencies:
+ "@webassemblyjs/helper-numbers" "1.11.1"
+ "@webassemblyjs/helper-wasm-bytecode" "1.11.1"
+
+"@webassemblyjs/ast@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964"
+ integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==
+ dependencies:
+ "@webassemblyjs/helper-module-context" "1.9.0"
+ "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
+ "@webassemblyjs/wast-parser" "1.9.0"
+
+"@webassemblyjs/floating-point-hex-parser@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f"
+ integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==
+
+"@webassemblyjs/floating-point-hex-parser@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4"
+ integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==
+
+"@webassemblyjs/helper-api-error@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16"
+ integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==
+
+"@webassemblyjs/helper-api-error@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2"
+ integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==
+
+"@webassemblyjs/helper-buffer@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5"
+ integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==
+
+"@webassemblyjs/helper-buffer@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00"
+ integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==
+
+"@webassemblyjs/helper-code-frame@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27"
+ integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==
+ dependencies:
+ "@webassemblyjs/wast-printer" "1.9.0"
+
+"@webassemblyjs/helper-fsm@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8"
+ integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==
+
+"@webassemblyjs/helper-module-context@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07"
+ integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+
+"@webassemblyjs/helper-numbers@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae"
+ integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==
+ dependencies:
+ "@webassemblyjs/floating-point-hex-parser" "1.11.1"
+ "@webassemblyjs/helper-api-error" "1.11.1"
+ "@xtuc/long" "4.2.2"
+
+"@webassemblyjs/helper-wasm-bytecode@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1"
+ integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==
+
+"@webassemblyjs/helper-wasm-bytecode@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790"
+ integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==
+
+"@webassemblyjs/helper-wasm-section@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a"
+ integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==
+ dependencies:
+ "@webassemblyjs/ast" "1.11.1"
+ "@webassemblyjs/helper-buffer" "1.11.1"
+ "@webassemblyjs/helper-wasm-bytecode" "1.11.1"
+ "@webassemblyjs/wasm-gen" "1.11.1"
+
+"@webassemblyjs/helper-wasm-section@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346"
+ integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-buffer" "1.9.0"
+ "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
+ "@webassemblyjs/wasm-gen" "1.9.0"
+
+"@webassemblyjs/ieee754@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614"
+ integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==
+ dependencies:
+ "@xtuc/ieee754" "^1.2.0"
+
+"@webassemblyjs/ieee754@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4"
+ integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==
+ dependencies:
+ "@xtuc/ieee754" "^1.2.0"
+
+"@webassemblyjs/leb128@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5"
+ integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==
+ dependencies:
+ "@xtuc/long" "4.2.2"
+
+"@webassemblyjs/leb128@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95"
+ integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==
+ dependencies:
+ "@xtuc/long" "4.2.2"
+
+"@webassemblyjs/utf8@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff"
+ integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==
+
+"@webassemblyjs/utf8@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab"
+ integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==
+
+"@webassemblyjs/wasm-edit@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6"
+ integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==
+ dependencies:
+ "@webassemblyjs/ast" "1.11.1"
+ "@webassemblyjs/helper-buffer" "1.11.1"
+ "@webassemblyjs/helper-wasm-bytecode" "1.11.1"
+ "@webassemblyjs/helper-wasm-section" "1.11.1"
+ "@webassemblyjs/wasm-gen" "1.11.1"
+ "@webassemblyjs/wasm-opt" "1.11.1"
+ "@webassemblyjs/wasm-parser" "1.11.1"
+ "@webassemblyjs/wast-printer" "1.11.1"
+
+"@webassemblyjs/wasm-edit@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf"
+ integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-buffer" "1.9.0"
+ "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
+ "@webassemblyjs/helper-wasm-section" "1.9.0"
+ "@webassemblyjs/wasm-gen" "1.9.0"
+ "@webassemblyjs/wasm-opt" "1.9.0"
+ "@webassemblyjs/wasm-parser" "1.9.0"
+ "@webassemblyjs/wast-printer" "1.9.0"
+
+"@webassemblyjs/wasm-gen@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76"
+ integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==
+ dependencies:
+ "@webassemblyjs/ast" "1.11.1"
+ "@webassemblyjs/helper-wasm-bytecode" "1.11.1"
+ "@webassemblyjs/ieee754" "1.11.1"
+ "@webassemblyjs/leb128" "1.11.1"
+ "@webassemblyjs/utf8" "1.11.1"
+
+"@webassemblyjs/wasm-gen@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c"
+ integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
+ "@webassemblyjs/ieee754" "1.9.0"
+ "@webassemblyjs/leb128" "1.9.0"
+ "@webassemblyjs/utf8" "1.9.0"
+
+"@webassemblyjs/wasm-opt@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2"
+ integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==
+ dependencies:
+ "@webassemblyjs/ast" "1.11.1"
+ "@webassemblyjs/helper-buffer" "1.11.1"
+ "@webassemblyjs/wasm-gen" "1.11.1"
+ "@webassemblyjs/wasm-parser" "1.11.1"
+
+"@webassemblyjs/wasm-opt@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61"
+ integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-buffer" "1.9.0"
+ "@webassemblyjs/wasm-gen" "1.9.0"
+ "@webassemblyjs/wasm-parser" "1.9.0"
+
+"@webassemblyjs/wasm-parser@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199"
+ integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==
+ dependencies:
+ "@webassemblyjs/ast" "1.11.1"
+ "@webassemblyjs/helper-api-error" "1.11.1"
+ "@webassemblyjs/helper-wasm-bytecode" "1.11.1"
+ "@webassemblyjs/ieee754" "1.11.1"
+ "@webassemblyjs/leb128" "1.11.1"
+ "@webassemblyjs/utf8" "1.11.1"
+
+"@webassemblyjs/wasm-parser@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e"
+ integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-api-error" "1.9.0"
+ "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
+ "@webassemblyjs/ieee754" "1.9.0"
+ "@webassemblyjs/leb128" "1.9.0"
+ "@webassemblyjs/utf8" "1.9.0"
+
+"@webassemblyjs/wast-parser@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914"
+ integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/floating-point-hex-parser" "1.9.0"
+ "@webassemblyjs/helper-api-error" "1.9.0"
+ "@webassemblyjs/helper-code-frame" "1.9.0"
+ "@webassemblyjs/helper-fsm" "1.9.0"
+ "@xtuc/long" "4.2.2"
+
+"@webassemblyjs/wast-printer@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0"
+ integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==
+ dependencies:
+ "@webassemblyjs/ast" "1.11.1"
+ "@xtuc/long" "4.2.2"
+
+"@webassemblyjs/wast-printer@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899"
+ integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/wast-parser" "1.9.0"
+ "@xtuc/long" "4.2.2"
+
+"@xtuc/ieee754@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
+ integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==
+
+"@xtuc/long@4.2.2":
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d"
+ integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
+
JSONStream@^1.0.4, JSONStream@^1.3.4:
version "1.3.5"
resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0"
@@ -2398,11 +2712,26 @@ abbrev@1:
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
+acorn-import-assertions@^1.7.6:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9"
+ integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==
+
acorn-jsx@^5.3.2:
version "5.3.2"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
+acorn@^6.4.1:
+ version "6.4.2"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6"
+ integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==
+
+acorn@^8.5.0:
+ version "8.8.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8"
+ integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==
+
acorn@^8.7.1:
version "8.7.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30"
@@ -2429,7 +2758,17 @@ agentkeepalive@^3.4.1:
dependencies:
humanize-ms "^1.2.1"
-ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4:
+ajv-errors@^1.0.0:
+ version "1.0.1"
+ 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.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, ajv@^6.12.4, 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==
@@ -2490,6 +2829,14 @@ ansi-styles@^5.0.0:
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b"
integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==
+anymatch@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
+ integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==
+ dependencies:
+ micromatch "^3.1.4"
+ normalize-path "^2.1.1"
+
anymatch@^3.0.3, anymatch@~3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
@@ -2632,6 +2979,16 @@ asap@^2.0.0:
resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==
+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.6"
resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d"
@@ -2644,11 +3001,24 @@ 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 sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==
+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"
integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==
+async-each@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
+ integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==
+
asynckit@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
@@ -2770,6 +3140,11 @@ balanced-match@^1.0.0:
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+base64-js@^1.0.2:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
+ integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
+
base@^0.11.1:
version "0.11.2"
resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
@@ -2795,16 +3170,43 @@ before-after-hook@^2.0.0:
resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.2.tgz#a6e8ca41028d90ee2c24222f201c90956091613e"
integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==
+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.2.0"
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
+bindings@^1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df"
+ integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==
+ dependencies:
+ file-uri-to-path "1.0.0"
+
bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5:
version "3.7.2"
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.11.9:
+ version "4.12.0"
+ resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88"
+ integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==
+
+bn.js@^5.0.0, bn.js@^5.1.1:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70"
+ integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==
+
brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
@@ -2813,7 +3215,7 @@ brace-expansion@^1.1.7:
balanced-match "^1.0.0"
concat-map "0.0.1"
-braces@^2.3.1:
+braces@^2.3.1, braces@^2.3.2:
version "2.3.2"
resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==
@@ -2836,6 +3238,82 @@ braces@^3.0.2, braces@~3.0.2:
dependencies:
fill-range "^7.0.1"
+brorand@^1.0.1, brorand@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
+ integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==
+
+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.1.0"
+ resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d"
+ integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==
+ dependencies:
+ bn.js "^5.0.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.14.5:
+ version "4.21.3"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.3.tgz#5df277694eb3c48bc5c4b05af3e8b7e09c5a6d1a"
+ integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==
+ dependencies:
+ caniuse-lite "^1.0.30001370"
+ electron-to-chromium "^1.4.202"
+ node-releases "^2.0.6"
+ update-browserslist-db "^1.0.5"
+
browserslist@^4.20.2, browserslist@^4.21.0:
version "4.21.0"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.0.tgz#7ab19572361a140ecd1e023e2c1ed95edda0cefe"
@@ -2863,11 +3341,30 @@ buffer-from@^1.0.0:
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
+buffer-xor@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
+ integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==
+
+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-modules@^3.0.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6"
integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==
+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 sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==
+
builtins@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88"
@@ -3027,6 +3524,11 @@ caniuse-lite@^1.0.30001358:
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001359.tgz#a1c1cbe1c2da9e689638813618b4219acbd4925e"
integrity sha512-Xln/BAsPzEuiVLgJ2/45IaqD9jShtk3Y33anKb4+yLwQzws3+v6odKfpgES/cDEaZMLzSChpIGdbOYtH9MyuHw==
+caniuse-lite@^1.0.30001370:
+ version "1.0.30001373"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001373.tgz#2dc3bc3bfcb5d5a929bec11300883040d7b4b4be"
+ integrity sha512-pJYArGHrPp3TUqQzFYRmP/lwJlj8RCbVe3Gd3eJQkAV8SAC6b19XS9BjMvRdvaS8RMkaTN8ZhoHP6S1y8zzwEQ==
+
caseless@~0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
@@ -3067,7 +3569,26 @@ chardet@^0.7.0:
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
-chokidar@^3.5.3:
+chokidar@^2.1.8:
+ version "2.1.8"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
+ integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==
+ dependencies:
+ anymatch "^2.0.0"
+ async-each "^1.0.1"
+ braces "^2.3.2"
+ glob-parent "^3.1.0"
+ inherits "^2.0.3"
+ is-binary-path "^1.0.0"
+ is-glob "^4.0.0"
+ normalize-path "^3.0.0"
+ path-is-absolute "^1.0.0"
+ readdirp "^2.2.1"
+ upath "^1.1.1"
+ optionalDependencies:
+ fsevents "^1.2.7"
+
+chokidar@^3.4.1, chokidar@^3.5.3:
version "3.5.3"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
@@ -3087,6 +3608,11 @@ chownr@^1.1.1, chownr@^1.1.2, chownr@^1.1.4:
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
+chrome-trace-event@^1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac"
+ integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==
+
ci-info@^1.5.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497"
@@ -3097,6 +3623,14 @@ ci-info@^3.2.0:
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.2.tgz#6d2967ffa407466481c6c90b6e16b3098f080128"
integrity sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==
+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"
+
cjs-module-lexer@^1.0.0:
version "1.2.2"
resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40"
@@ -3217,6 +3751,11 @@ combined-stream@^1.0.6, combined-stream@~1.0.6:
dependencies:
delayed-stream "~1.0.0"
+commander@^2.20.0:
+ version "2.20.3"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
+ integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
+
commondir@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
@@ -3268,11 +3807,21 @@ config-chain@^1.1.11:
ini "^1.3.4"
proto-list "~1.2.1"
+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 sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==
+constants-browserify@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
+ integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==
+
conventional-changelog-angular@^5.0.3:
version "5.0.13"
resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c"
@@ -3407,6 +3956,37 @@ cosmiconfig@^5.1.0:
js-yaml "^3.13.1"
parse-json "^4.0.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-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"
@@ -3427,6 +4007,23 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2, 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"
+
currently-unhandled@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
@@ -3576,6 +4173,14 @@ 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"
+
detect-indent@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d"
@@ -3599,6 +4204,15 @@ diff-sequences@^28.1.1:
resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-28.1.1.tgz#9989dc731266dc2903457a70e996f3a041913ac6"
integrity sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==
+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"
@@ -3628,6 +4242,11 @@ 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==
+
dot-prop@^4.2.0:
version "4.2.1"
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.1.tgz#45884194a71fc2cda71cbb4bceb3a4dd2f433ba4"
@@ -3670,6 +4289,24 @@ electron-to-chromium@^1.4.164:
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.170.tgz#0415fc489402e09bfbe1f0c99bbf4d73f31d48d4"
integrity sha512-rZ8PZLhK4ORPjFqLp9aqC4/S1j4qWFsPPz13xmWdrbBkU/LlxMcok+f+6f8YnQ57MiZwKtOaW15biZZsY5Igvw==
+electron-to-chromium@^1.4.202:
+ version "1.4.206"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.206.tgz#580ff85b54d7ec0c05f20b1e37ea0becdd7b0ee4"
+ integrity sha512-h+Fadt1gIaQ06JaIiyqPsBjJ08fV5Q7md+V8bUvQW/9OvXfL2LRICTz2EcnnCP7QzrFTS6/27MRV6Bl9Yn97zA==
+
+elliptic@^6.5.3:
+ version "6.5.4"
+ resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb"
+ integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==
+ dependencies:
+ bn.js "^4.11.9"
+ brorand "^1.1.0"
+ hash.js "^1.0.0"
+ hmac-drbg "^1.0.1"
+ inherits "^2.0.4"
+ minimalistic-assert "^1.0.1"
+ minimalistic-crypto-utils "^1.0.1"
+
emittery@^0.10.2:
version "0.10.2"
resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.2.tgz#902eec8aedb8c41938c46e9385e9db7e03182933"
@@ -3680,6 +4317,11 @@ 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==
+
encoding@^0.1.11:
version "0.1.13"
resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9"
@@ -3694,11 +4336,35 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0:
dependencies:
once "^1.4.0"
+enhanced-resolve@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec"
+ integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==
+ dependencies:
+ graceful-fs "^4.1.2"
+ memory-fs "^0.5.0"
+ tapable "^1.0.0"
+
+enhanced-resolve@^5.10.0:
+ version "5.10.0"
+ resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz#0dc579c3bb2a1032e357ac45b8f3a6f3ad4fb1e6"
+ integrity sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==
+ dependencies:
+ graceful-fs "^4.2.4"
+ tapable "^2.2.0"
+
err-code@^1.0.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960"
integrity sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==
+errno@^0.1.3, errno@~0.1.7:
+ version "0.1.8"
+ resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f"
+ integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==
+ dependencies:
+ prr "~1.0.1"
+
error-ex@^1.2.0, error-ex@^1.3.1:
version "1.3.2"
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
@@ -3740,6 +4406,11 @@ es-array-method-boxes-properly@^1.0.0:
resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e"
integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==
+es-module-lexer@^0.9.0:
+ version "0.9.3"
+ resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19"
+ integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==
+
es-shim-unscopables@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241"
@@ -3768,6 +4439,258 @@ es6-promisify@^5.0.0:
dependencies:
es6-promise "^4.0.3"
+esbuild-android-64@0.14.49:
+ version "0.14.49"
+ resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.49.tgz#9e4682c36dcf6e7b71b73d2a3723a96e0fdc5054"
+ integrity sha512-vYsdOTD+yi+kquhBiFWl3tyxnj2qZJsl4tAqwhT90ktUdnyTizgle7TjNx6Ar1bN7wcwWqZ9QInfdk2WVagSww==
+
+esbuild-android-64@0.14.51:
+ version "0.14.51"
+ resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.51.tgz#414a087cb0de8db1e347ecca6c8320513de433db"
+ integrity sha512-6FOuKTHnC86dtrKDmdSj2CkcKF8PnqkaIXqvgydqfJmqBazCPdw+relrMlhGjkvVdiiGV70rpdnyFmA65ekBCQ==
+
+esbuild-android-arm64@0.14.49:
+ version "0.14.49"
+ resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.49.tgz#9861b1f7e57d1dd1f23eeef6198561c5f34b51f6"
+ integrity sha512-g2HGr/hjOXCgSsvQZ1nK4nW/ei8JUx04Li74qub9qWrStlysaVmadRyTVuW32FGIpLQyc5sUjjZopj49eGGM2g==
+
+esbuild-android-arm64@0.14.51:
+ version "0.14.51"
+ resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.51.tgz#55de3bce2aab72bcd2b606da4318ad00fb9c8151"
+ integrity sha512-vBtp//5VVkZWmYYvHsqBRCMMi1MzKuMIn5XDScmnykMTu9+TD9v0NMEDqQxvtFToeYmojdo5UCV2vzMQWJcJ4A==
+
+esbuild-darwin-64@0.14.49:
+ version "0.14.49"
+ resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.49.tgz#fd30a5ebe28704a3a117126c60f98096c067c8d1"
+ integrity sha512-3rvqnBCtX9ywso5fCHixt2GBCUsogNp9DjGmvbBohh31Ces34BVzFltMSxJpacNki96+WIcX5s/vum+ckXiLYg==
+
+esbuild-darwin-64@0.14.51:
+ version "0.14.51"
+ resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.51.tgz#4259f23ed6b4cea2ec8a28d87b7fb9801f093754"
+ integrity sha512-YFmXPIOvuagDcwCejMRtCDjgPfnDu+bNeh5FU2Ryi68ADDVlWEpbtpAbrtf/lvFTWPexbgyKgzppNgsmLPr8PA==
+
+esbuild-darwin-arm64@0.14.49:
+ version "0.14.49"
+ resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.49.tgz#c04a3a57dad94a972c66a697a68a25aa25947f41"
+ integrity sha512-XMaqDxO846srnGlUSJnwbijV29MTKUATmOLyQSfswbK/2X5Uv28M9tTLUJcKKxzoo9lnkYPsx2o8EJcTYwCs/A==
+
+esbuild-darwin-arm64@0.14.51:
+ version "0.14.51"
+ resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.51.tgz#d77b4366a71d84e530ba019d540b538b295d494a"
+ integrity sha512-juYD0QnSKwAMfzwKdIF6YbueXzS6N7y4GXPDeDkApz/1RzlT42mvX9jgNmyOlWKN7YzQAYbcUEJmZJYQGdf2ow==
+
+esbuild-freebsd-64@0.14.49:
+ version "0.14.49"
+ resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.49.tgz#c404dbd66c98451395b1eef0fa38b73030a7be82"
+ integrity sha512-NJ5Q6AjV879mOHFri+5lZLTp5XsO2hQ+KSJYLbfY9DgCu8s6/Zl2prWXVANYTeCDLlrIlNNYw8y34xqyLDKOmQ==
+
+esbuild-freebsd-64@0.14.51:
+ version "0.14.51"
+ resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.51.tgz#27b6587b3639f10519c65e07219d249b01f2ad38"
+ integrity sha512-cLEI/aXjb6vo5O2Y8rvVSQ7smgLldwYY5xMxqh/dQGfWO+R1NJOFsiax3IS4Ng300SVp7Gz3czxT6d6qf2cw0g==
+
+esbuild-freebsd-arm64@0.14.49:
+ version "0.14.49"
+ resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.49.tgz#b62cec96138ebc5937240ce3e1b97902963ea74a"
+ integrity sha512-lFLtgXnAc3eXYqj5koPlBZvEbBSOSUbWO3gyY/0+4lBdRqELyz4bAuamHvmvHW5swJYL7kngzIZw6kdu25KGOA==
+
+esbuild-freebsd-arm64@0.14.51:
+ version "0.14.51"
+ resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.51.tgz#63c435917e566808c71fafddc600aca4d78be1ec"
+ integrity sha512-TcWVw/rCL2F+jUgRkgLa3qltd5gzKjIMGhkVybkjk6PJadYInPtgtUBp1/hG+mxyigaT7ib+od1Xb84b+L+1Mg==
+
+esbuild-linux-32@0.14.49:
+ version "0.14.49"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.49.tgz#495b1cc011b8c64d8bbaf65509c1e7135eb9ddbf"
+ integrity sha512-zTTH4gr2Kb8u4QcOpTDVn7Z8q7QEIvFl/+vHrI3cF6XOJS7iEI1FWslTo3uofB2+mn6sIJEQD9PrNZKoAAMDiA==
+
+esbuild-linux-32@0.14.51:
+ version "0.14.51"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.51.tgz#c3da774143a37e7f11559b9369d98f11f997a5d9"
+ integrity sha512-RFqpyC5ChyWrjx8Xj2K0EC1aN0A37H6OJfmUXIASEqJoHcntuV3j2Efr9RNmUhMfNE6yEj2VpYuDteZLGDMr0w==
+
+esbuild-linux-64@0.14.49:
+ version "0.14.49"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.49.tgz#3f28dd8f986e6ff42f38888ee435a9b1fb916a56"
+ integrity sha512-hYmzRIDzFfLrB5c1SknkxzM8LdEUOusp6M2TnuQZJLRtxTgyPnZZVtyMeCLki0wKgYPXkFsAVhi8vzo2mBNeTg==
+
+esbuild-linux-64@0.14.51:
+ version "0.14.51"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.51.tgz#5d92b67f674e02ae0b4a9de9a757ba482115c4ae"
+ integrity sha512-dxjhrqo5i7Rq6DXwz5v+MEHVs9VNFItJmHBe1CxROWNf4miOGoQhqSG8StStbDkQ1Mtobg6ng+4fwByOhoQoeA==
+
+esbuild-linux-arm64@0.14.49:
+ version "0.14.49"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.49.tgz#a52e99ae30246566dc5f33e835aa6ca98ef70e33"
+ integrity sha512-KLQ+WpeuY+7bxukxLz5VgkAAVQxUv67Ft4DmHIPIW+2w3ObBPQhqNoeQUHxopoW/aiOn3m99NSmSV+bs4BSsdA==
+
+esbuild-linux-arm64@0.14.51:
+ version "0.14.51"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.51.tgz#dac84740516e859d8b14e1ecc478dd5241b10c93"
+ integrity sha512-D9rFxGutoqQX3xJPxqd6o+kvYKeIbM0ifW2y0bgKk5HPgQQOo2k9/2Vpto3ybGYaFPCE5qTGtqQta9PoP6ZEzw==
+
+esbuild-linux-arm@0.14.49:
+ version "0.14.49"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.49.tgz#7c33d05a64ec540cf7474834adaa57b3167bbe97"
+ integrity sha512-iE3e+ZVv1Qz1Sy0gifIsarJMQ89Rpm9mtLSRtG3AH0FPgAzQ5Z5oU6vYzhc/3gSPi2UxdCOfRhw2onXuFw/0lg==
+
+esbuild-linux-arm@0.14.51:
+ version "0.14.51"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.51.tgz#b3ae7000696cd53ed95b2b458554ff543a60e106"
+ integrity sha512-LsJynDxYF6Neg7ZC7748yweCDD+N8ByCv22/7IAZglIEniEkqdF4HCaa49JNDLw1UQGlYuhOB8ZT/MmcSWzcWg==
+
+esbuild-linux-mips64le@0.14.49:
+ version "0.14.49"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.49.tgz#ed062bd844b587be649443831eb84ba304685f25"
+ integrity sha512-n+rGODfm8RSum5pFIqFQVQpYBw+AztL8s6o9kfx7tjfK0yIGF6tm5HlG6aRjodiiKkH2xAiIM+U4xtQVZYU4rA==
+
+esbuild-linux-mips64le@0.14.51:
+ version "0.14.51"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.51.tgz#dad10770fac94efa092b5a0643821c955a9dd385"
+ integrity sha512-vS54wQjy4IinLSlb5EIlLoln8buh1yDgliP4CuEHumrPk4PvvP4kTRIG4SzMXm6t19N0rIfT4bNdAxzJLg2k6A==
+
+esbuild-linux-ppc64le@0.14.49:
+ version "0.14.49"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.49.tgz#c0786fb5bddffd90c10a2078181513cbaf077958"
+ integrity sha512-WP9zR4HX6iCBmMFH+XHHng2LmdoIeUmBpL4aL2TR8ruzXyT4dWrJ5BSbT8iNo6THN8lod6GOmYDLq/dgZLalGw==
+
+esbuild-linux-ppc64le@0.14.51:
+ version "0.14.51"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.51.tgz#b68c2f8294d012a16a88073d67e976edd4850ae0"
+ integrity sha512-xcdd62Y3VfGoyphNP/aIV9LP+RzFw5M5Z7ja+zdpQHHvokJM7d0rlDRMN+iSSwvUymQkqZO+G/xjb4/75du8BQ==
+
+esbuild-linux-riscv64@0.14.49:
+ version "0.14.49"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.49.tgz#579b0e7cc6fce4bfc698e991a52503bb616bec49"
+ integrity sha512-h66ORBz+Dg+1KgLvzTVQEA1LX4XBd1SK0Fgbhhw4akpG/YkN8pS6OzYI/7SGENiN6ao5hETRDSkVcvU9NRtkMQ==
+
+esbuild-linux-riscv64@0.14.51:
+ version "0.14.51"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.51.tgz#608a318b8697123e44c1e185cdf6708e3df50b93"
+ integrity sha512-syXHGak9wkAnFz0gMmRBoy44JV0rp4kVCEA36P5MCeZcxFq8+fllBC2t6sKI23w3qd8Vwo9pTADCgjTSf3L3rA==
+
+esbuild-linux-s390x@0.14.49:
+ version "0.14.49"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.49.tgz#09eb15c753e249a500b4e28d07c5eef7524a9740"
+ integrity sha512-DhrUoFVWD+XmKO1y7e4kNCqQHPs6twz6VV6Uezl/XHYGzM60rBewBF5jlZjG0nCk5W/Xy6y1xWeopkrhFFM0sQ==
+
+esbuild-linux-s390x@0.14.51:
+ version "0.14.51"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.51.tgz#c9e7791170a3295dba79b93aa452beb9838a8625"
+ integrity sha512-kFAJY3dv+Wq8o28K/C7xkZk/X34rgTwhknSsElIqoEo8armCOjMJ6NsMxm48KaWY2h2RUYGtQmr+RGuUPKBhyw==
+
+esbuild-netbsd-64@0.14.49:
+ version "0.14.49"
+ resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.49.tgz#f7337cd2bddb7cc9d100d19156f36c9ca117b58d"
+ integrity sha512-BXaUwFOfCy2T+hABtiPUIpWjAeWK9P8O41gR4Pg73hpzoygVGnj0nI3YK4SJhe52ELgtdgWP/ckIkbn2XaTxjQ==
+
+esbuild-netbsd-64@0.14.51:
+ version "0.14.51"
+ resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.51.tgz#0abd40b8c2e37fda6f5cc41a04cb2b690823d891"
+ integrity sha512-ZZBI7qrR1FevdPBVHz/1GSk1x5GDL/iy42Zy8+neEm/HA7ma+hH/bwPEjeHXKWUDvM36CZpSL/fn1/y9/Hb+1A==
+
+esbuild-openbsd-64@0.14.49:
+ version "0.14.49"
+ resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.49.tgz#1f8bdc49f8a44396e73950a3fb6b39828563631d"
+ integrity sha512-lP06UQeLDGmVPw9Rg437Btu6J9/BmyhdoefnQ4gDEJTtJvKtQaUcOQrhjTq455ouZN4EHFH1h28WOJVANK41kA==
+
+esbuild-openbsd-64@0.14.51:
+ version "0.14.51"
+ resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.51.tgz#4adba0b7ea7eb1428bb00d8e94c199a949b130e8"
+ integrity sha512-7R1/p39M+LSVQVgDVlcY1KKm6kFKjERSX1lipMG51NPcspJD1tmiZSmmBXoY5jhHIu6JL1QkFDTx94gMYK6vfA==
+
+esbuild-sunos-64@0.14.49:
+ version "0.14.49"
+ resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.49.tgz#47d042739365b61aa8ca642adb69534a8eef9f7a"
+ integrity sha512-4c8Zowp+V3zIWje329BeLbGh6XI9c/rqARNaj5yPHdC61pHI9UNdDxT3rePPJeWcEZVKjkiAS6AP6kiITp7FSw==
+
+esbuild-sunos-64@0.14.51:
+ version "0.14.51"
+ resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.51.tgz#4b8a6d97dfedda30a6e39607393c5c90ebf63891"
+ integrity sha512-HoHaCswHxLEYN8eBTtyO0bFEWvA3Kdb++hSQ/lLG7TyKF69TeSG0RNoBRAs45x/oCeWaTDntEZlYwAfQlhEtJA==
+
+esbuild-windows-32@0.14.49:
+ version "0.14.49"
+ resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.49.tgz#79198c88ec9bde163c18a6b430c34eab098ec21a"
+ integrity sha512-q7Rb+J9yHTeKr9QTPDYkqfkEj8/kcKz9lOabDuvEXpXuIcosWCJgo5Z7h/L4r7rbtTH4a8U2FGKb6s1eeOHmJA==
+
+esbuild-windows-32@0.14.51:
+ version "0.14.51"
+ resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.51.tgz#d31d8ca0c1d314fb1edea163685a423b62e9ac17"
+ integrity sha512-4rtwSAM35A07CBt1/X8RWieDj3ZUHQqUOaEo5ZBs69rt5WAFjP4aqCIobdqOy4FdhYw1yF8Z0xFBTyc9lgPtEg==
+
+esbuild-windows-64@0.14.49:
+ version "0.14.49"
+ resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.49.tgz#b36b230d18d1ee54008e08814c4799c7806e8c79"
+ integrity sha512-+Cme7Ongv0UIUTniPqfTX6mJ8Deo7VXw9xN0yJEN1lQMHDppTNmKwAM3oGbD/Vqff+07K2gN0WfNkMohmG+dVw==
+
+esbuild-windows-64@0.14.51:
+ version "0.14.51"
+ resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.51.tgz#7d3c09c8652d222925625637bdc7e6c223e0085d"
+ integrity sha512-HoN/5HGRXJpWODprGCgKbdMvrC3A2gqvzewu2eECRw2sYxOUoh2TV1tS+G7bHNapPGI79woQJGV6pFH7GH7qnA==
+
+esbuild-windows-arm64@0.14.49:
+ version "0.14.49"
+ resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.49.tgz#d83c03ff6436caf3262347cfa7e16b0a8049fae7"
+ integrity sha512-v+HYNAXzuANrCbbLFJ5nmO3m5y2PGZWLe3uloAkLt87aXiO2mZr3BTmacZdjwNkNEHuH3bNtN8cak+mzVjVPfA==
+
+esbuild-windows-arm64@0.14.51:
+ version "0.14.51"
+ resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.51.tgz#0220d2304bfdc11bc27e19b2aaf56edf183e4ae9"
+ integrity sha512-JQDqPjuOH7o+BsKMSddMfmVJXrnYZxXDHsoLHc0xgmAZkOOCflRmC43q31pk79F9xuyWY45jDBPolb5ZgGOf9g==
+
+esbuild@0.14.49:
+ version "0.14.49"
+ resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.49.tgz#b82834760eba2ddc17b44f05cfcc0aaca2bae492"
+ integrity sha512-/TlVHhOaq7Yz8N1OJrjqM3Auzo5wjvHFLk+T8pIue+fhnhIMpfAzsG6PLVMbFveVxqD2WOp3QHei+52IMUNmCw==
+ optionalDependencies:
+ esbuild-android-64 "0.14.49"
+ esbuild-android-arm64 "0.14.49"
+ esbuild-darwin-64 "0.14.49"
+ esbuild-darwin-arm64 "0.14.49"
+ esbuild-freebsd-64 "0.14.49"
+ esbuild-freebsd-arm64 "0.14.49"
+ esbuild-linux-32 "0.14.49"
+ esbuild-linux-64 "0.14.49"
+ esbuild-linux-arm "0.14.49"
+ esbuild-linux-arm64 "0.14.49"
+ esbuild-linux-mips64le "0.14.49"
+ esbuild-linux-ppc64le "0.14.49"
+ esbuild-linux-riscv64 "0.14.49"
+ esbuild-linux-s390x "0.14.49"
+ esbuild-netbsd-64 "0.14.49"
+ esbuild-openbsd-64 "0.14.49"
+ esbuild-sunos-64 "0.14.49"
+ esbuild-windows-32 "0.14.49"
+ esbuild-windows-64 "0.14.49"
+ esbuild-windows-arm64 "0.14.49"
+
+esbuild@^0.14.47:
+ version "0.14.51"
+ resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.51.tgz#1c8ecbc8db3710da03776211dc3ee3448f7aa51e"
+ integrity sha512-+CvnDitD7Q5sT7F+FM65sWkF8wJRf+j9fPcprxYV4j+ohmzVj2W7caUqH2s5kCaCJAfcAICjSlKhDCcvDpU7nw==
+ optionalDependencies:
+ esbuild-android-64 "0.14.51"
+ esbuild-android-arm64 "0.14.51"
+ esbuild-darwin-64 "0.14.51"
+ esbuild-darwin-arm64 "0.14.51"
+ esbuild-freebsd-64 "0.14.51"
+ esbuild-freebsd-arm64 "0.14.51"
+ esbuild-linux-32 "0.14.51"
+ esbuild-linux-64 "0.14.51"
+ esbuild-linux-arm "0.14.51"
+ esbuild-linux-arm64 "0.14.51"
+ esbuild-linux-mips64le "0.14.51"
+ esbuild-linux-ppc64le "0.14.51"
+ esbuild-linux-riscv64 "0.14.51"
+ esbuild-linux-s390x "0.14.51"
+ esbuild-netbsd-64 "0.14.51"
+ esbuild-openbsd-64 "0.14.51"
+ esbuild-sunos-64 "0.14.51"
+ esbuild-windows-32 "0.14.51"
+ esbuild-windows-64 "0.14.51"
+ esbuild-windows-arm64 "0.14.51"
+
escalade@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
@@ -3825,7 +4748,7 @@ eslint-plugin-react@^7.29.4:
semver "^6.3.0"
string.prototype.matchall "^4.0.7"
-eslint-scope@^5.1.1:
+eslint-scope@5.1.1, eslint-scope@^5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
@@ -3833,6 +4756,14 @@ eslint-scope@^5.1.1:
esrecurse "^4.3.0"
estraverse "^4.1.1"
+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@^7.1.1:
version "7.1.1"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642"
@@ -3920,7 +4851,7 @@ esquery@^1.4.0:
dependencies:
estraverse "^5.1.0"
-esrecurse@^4.3.0:
+esrecurse@^4.1.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==
@@ -3952,6 +4883,19 @@ esutils@^2.0.2:
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
+events@^3.0.0, events@^3.2.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
+ integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
+
+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"
+
execa@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8"
@@ -4148,6 +5092,11 @@ file-entry-cache@^6.0.1:
dependencies:
flat-cache "^3.0.4"
+file-uri-to-path@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
+ integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
+
fill-range@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
@@ -4170,6 +5119,15 @@ filter-obj@^1.1.0:
resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b"
integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==
+find-cache-dir@^2.1.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==
+ dependencies:
+ commondir "^1.0.1"
+ make-dir "^2.0.0"
+ pkg-dir "^3.0.0"
+
find-up@^1.0.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
@@ -4286,6 +5244,14 @@ fs.realpath@^1.0.0:
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
+fsevents@^1.2.7:
+ version "1.2.13"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38"
+ integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==
+ dependencies:
+ bindings "^1.5.0"
+ nan "^2.12.1"
+
fsevents@^2.3.2, fsevents@~2.3.2:
version "2.3.2"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
@@ -4500,6 +5466,11 @@ glob-to-regexp@^0.3.0:
resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab"
integrity sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==
+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.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
version "7.2.3"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
@@ -4549,7 +5520,7 @@ globby@^8.0.1:
pify "^3.0.0"
slash "^1.0.0"
-graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.9:
+graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.4, graceful-fs@^4.2.9:
version "4.2.10"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
@@ -4661,6 +5632,32 @@ 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.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
+ integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==
+ dependencies:
+ hash.js "^1.0.3"
+ minimalistic-assert "^1.0.0"
+ minimalistic-crypto-utils "^1.0.1"
+
hosted-git-info@^2.1.4, hosted-git-info@^2.7.1:
version "2.8.9"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9"
@@ -4700,6 +5697,11 @@ 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 sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==
+
https-proxy-agent@^2.2.1, 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"
@@ -4744,6 +5746,11 @@ iconv-lite@^0.6.2:
dependencies:
safer-buffer ">= 2.1.2 < 3.0.0"
+ieee754@^1.1.4:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
+ integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
+
iferr@^0.1.5:
version "0.1.5"
resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
@@ -4833,11 +5840,21 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
-inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3:
+inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, 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 sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==
+
+inherits@2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
+ integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==
+
ini@^1.3.2, ini@^1.3.4:
version "1.3.8"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
@@ -4921,6 +5938,13 @@ is-bigint@^1.0.1:
dependencies:
has-bigints "^1.0.1"
+is-binary-path@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
+ integrity sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==
+ 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"
@@ -5207,7 +6231,12 @@ is-windows@^1.0.2:
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
-isarray@1.0.0, isarray@~1.0.0:
+is-wsl@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d"
+ integrity sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==
+
+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 sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
@@ -5615,6 +6644,15 @@ jest-watcher@^28.1.1:
jest-util "^28.1.1"
string-length "^4.0.1"
+jest-worker@^27.4.5:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0"
+ integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==
+ dependencies:
+ "@types/node" "*"
+ merge-stream "^2.0.0"
+ supports-color "^8.0.0"
+
jest-worker@^28.1.1:
version "28.1.1"
resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-28.1.1.tgz#3480c73247171dfd01eda77200f0063ab6a3bf28"
@@ -5669,12 +6707,12 @@ jsesc@~0.5.0:
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==
-json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1:
+json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
-json-parse-even-better-errors@^2.3.0:
+json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
@@ -5699,6 +6737,13 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1:
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==
+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"
+
json5@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c"
@@ -5857,6 +6902,25 @@ load-json-file@^4.0.0:
pify "^3.0.0"
strip-bom "^3.0.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-runner@^4.2.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1"
+ integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==
+
+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"
+
locate-path@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
@@ -6000,6 +7064,14 @@ make-dir@^1.0.0:
dependencies:
pify "^3.0.0"
+make-dir@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
+ integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==
+ dependencies:
+ pify "^4.0.1"
+ semver "^5.6.0"
+
make-dir@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
@@ -6082,6 +7154,15 @@ 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"
+
mem@^4.0.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178"
@@ -6091,6 +7172,22 @@ mem@^4.0.0:
mimic-fn "^2.0.0"
p-is-promise "^2.0.0"
+memory-fs@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
+ integrity sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==
+ dependencies:
+ 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"
+
memorystream@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2"
@@ -6154,7 +7251,7 @@ merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1:
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
-micromatch@^3.1.10:
+micromatch@^3.1.10, micromatch@^3.1.4:
version "3.1.10"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
@@ -6181,12 +7278,20 @@ micromatch@^4.0.4:
braces "^3.0.2"
picomatch "^2.3.1"
+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.52.0:
version "1.52.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
-mime-types@^2.1.12, mime-types@~2.1.19:
+mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.19:
version "2.1.35"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
@@ -6208,6 +7313,16 @@ 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:
+ 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.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
+ integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==
+
minimatch@^3.0.0, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
@@ -6276,7 +7391,7 @@ mixin-deep@^1.2.0:
for-in "^1.0.2"
is-extendable "^1.0.1"
-mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.5, mkdirp@~0.5.0:
+mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.0:
version "0.5.6"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6"
integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==
@@ -6351,6 +7466,16 @@ mute-stream@~0.0.4:
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
+nan@^2.12.1:
+ version "2.16.0"
+ resolved "https://registry.yarnpkg.com/nan/-/nan-2.16.0.tgz#664f43e45460fb98faf00edca0bb0d7b8dce7916"
+ integrity sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==
+
+nanoid@^3.3.4:
+ version "3.3.4"
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
+ integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
+
nanomatch@^1.2.9:
version "1.2.13"
resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
@@ -6373,7 +7498,7 @@ natural-compare@^1.4.0:
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
-neo-async@^2.6.0:
+neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1, 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==
@@ -6421,11 +7546,45 @@ node-int64@^0.4.0:
resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==
+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-releases@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.5.tgz#280ed5bc3eba0d96ce44897d8aee478bfb3d9666"
integrity sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==
+node-releases@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503"
+ integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==
+
"nopt@2 || 3":
version "3.0.6"
resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
@@ -6453,6 +7612,13 @@ normalize-package-data@^3.0.0:
semver "^7.3.4"
validate-npm-package-license "^3.0.1"
+normalize-path@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
+ integrity sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==
+ dependencies:
+ remove-trailing-separator "^1.0.1"
+
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"
@@ -6542,7 +7708,7 @@ npm-registry-fetch@^4.0.0:
npm-package-arg "^6.1.0"
safe-buffer "^5.2.0"
-npm-run-all@^4.1.5:
+npm-run-all@4.1.5, npm-run-all@^4.1.5:
version "4.1.5"
resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba"
integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==
@@ -6722,6 +7888,11 @@ optionator@^0.9.1:
type-check "^0.4.0"
word-wrap "^1.2.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 sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==
+
os-homedir@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
@@ -6882,6 +8053,11 @@ pacote@^9.5.0:
unique-filename "^1.1.1"
which "^1.3.1"
+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"
@@ -6898,6 +8074,17 @@ 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"
@@ -6953,6 +8140,11 @@ pascalcase@^0.1.1:
resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==
+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"
@@ -7016,6 +8208,17 @@ 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.2"
+ resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075"
+ integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==
+ 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"
@@ -7046,6 +8249,11 @@ pify@^3.0.0:
resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==
+pify@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
+ integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
+
pinkie-promise@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
@@ -7070,6 +8278,13 @@ pkg-dir@^2.0.0:
dependencies:
find-up "^2.1.0"
+pkg-dir@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3"
+ integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==
+ dependencies:
+ find-up "^3.0.0"
+
pkg-dir@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
@@ -7082,6 +8297,15 @@ posix-character-classes@^0.1.0:
resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==
+postcss@^8.4.14:
+ version "8.4.14"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf"
+ integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==
+ dependencies:
+ nanoid "^3.3.4"
+ picocolors "^1.0.0"
+ source-map-js "^1.0.2"
+
prelude-ls@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
@@ -7119,6 +8343,11 @@ 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 sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==
+
promise-inflight@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
@@ -7173,11 +8402,28 @@ protoduck@^5.0.1:
dependencies:
genfun "^5.0.0"
+prr@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
+ integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==
+
psl@^1.1.28:
version "1.8.0"
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"
@@ -7203,6 +8449,16 @@ pumpify@^1.3.3:
inherits "^2.0.3"
pump "^2.0.0"
+punycode@1.3.2:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
+ integrity sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==
+
+punycode@^1.2.4:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
+ integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==
+
punycode@^2.1.0, punycode@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
@@ -7235,6 +8491,16 @@ query-string@^6.13.8:
split-on-first "^1.0.0"
strict-uri-encode "^2.0.0"
+querystring-es3@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
+ integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==
+
+querystring@0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
+ integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==
+
queue-microtask@^1.2.2:
version "1.2.3"
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
@@ -7250,6 +8516,21 @@ 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:
+ 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"
+
react-is@^16.13.1:
version "16.13.1"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
@@ -7346,7 +8627,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.6, readable-stream@^2.1.5, readable-stream@^2.2.2, 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.3, 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==
@@ -7359,7 +8640,7 @@ read@1, read@~1.0.1:
string_decoder "~1.1.1"
util-deprecate "~1.0.1"
-"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2:
+"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.6.0:
version "3.6.0"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
@@ -7378,6 +8659,15 @@ readdir-scoped-modules@^1.0.0:
graceful-fs "^4.1.2"
once "^1.3.0"
+readdirp@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525"
+ integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==
+ dependencies:
+ graceful-fs "^4.1.11"
+ micromatch "^3.1.10"
+ readable-stream "^2.0.2"
+
readdirp@~3.6.0:
version "3.6.0"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
@@ -7479,6 +8769,11 @@ regjsparser@^0.8.2:
dependencies:
jsesc "~0.5.0"
+remove-trailing-separator@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
+ integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==
+
repeat-element@^1.1.2:
version "1.1.4"
resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9"
@@ -7571,7 +8866,7 @@ resolve.exports@^1.1.0:
resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9"
integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==
-resolve@^1.10.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.20.0:
+resolve@^1.10.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.1:
version "1.22.1"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
@@ -7626,6 +8921,14 @@ 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"
+
rollup@2.75.7:
version "2.75.7"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.75.7.tgz#221ff11887ae271e37dcc649ba32ce1590aaa0b9"
@@ -7633,6 +8936,20 @@ rollup@2.75.7:
optionalDependencies:
fsevents "~2.3.2"
+rollup@2.77.0:
+ version "2.77.0"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.77.0.tgz#749eaa5ac09b6baa52acc076bc46613eddfd53f4"
+ integrity sha512-vL8xjY4yOQEw79DvyXLijhnhh+R/O9zpF/LEgkCebZFtb6ELeN9H3/2T0r8+mp+fFTBHZ5qGpOpW2ela2zRt3g==
+ optionalDependencies:
+ fsevents "~2.3.2"
+
+rollup@^2.75.6:
+ version "2.77.2"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.77.2.tgz#6b6075c55f9cc2040a5912e6e062151e42e2c4e3"
+ integrity sha512-m/4YzYgLcpMQbxX3NmAqDvwLATZzxt8bIegO78FZLl+lAgKJBd1DRAOeEiZcKOIOPjxE6ewHWHNgGEalFXuz1g==
+ optionalDependencies:
+ fsevents "~2.3.2"
+
run-async@^2.2.0:
version "2.4.1"
resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
@@ -7659,7 +8976,7 @@ rxjs@^6.4.0:
dependencies:
tslib "^1.9.0"
-safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0:
+safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0:
version "5.2.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
@@ -7681,6 +8998,24 @@ safe-regex@^1.1.0:
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
+schema-utils@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770"
+ integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==
+ dependencies:
+ ajv "^6.1.0"
+ ajv-errors "^1.0.0"
+ ajv-keywords "^3.1.0"
+
+schema-utils@^3.1.0, schema-utils@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281"
+ integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==
+ dependencies:
+ "@types/json-schema" "^7.0.8"
+ ajv "^6.12.5"
+ ajv-keywords "^3.5.2"
+
"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0:
version "5.7.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
@@ -7708,6 +9043,20 @@ semver@~5.3.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
integrity sha512-mfmm3/H9+67MCVix1h+IXTpDwL6710LyHuk7+cWC9T1mE0qz4iHhh6r4hU2wrIT9iTsAAC2XQRvfblL028cpLw==
+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==
+ dependencies:
+ randombytes "^2.1.0"
+
+serialize-javascript@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8"
+ integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==
+ dependencies:
+ randombytes "^2.1.0"
+
set-blocking@^2.0.0, set-blocking@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
@@ -7723,6 +9072,19 @@ 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 sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==
+
+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"
+
shebang-command@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
@@ -7844,6 +9206,16 @@ sort-keys@^2.0.0:
dependencies:
is-plain-obj "^1.0.0"
+source-list-map@^2.0.0:
+ 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==
+
+source-map-js@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
+ integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
+
source-map-resolve@^0.5.0:
version "0.5.3"
resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a"
@@ -7863,6 +9235,14 @@ source-map-support@0.5.13:
buffer-from "^1.0.0"
source-map "^0.6.0"
+source-map-support@~0.5.12, source-map-support@~0.5.20:
+ version "0.5.21"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f"
+ integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
+ dependencies:
+ buffer-from "^1.0.0"
+ source-map "^0.6.0"
+
source-map-url@^0.4.0:
version "0.4.1"
resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56"
@@ -7873,7 +9253,7 @@ source-map@^0.5.6:
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==
-source-map@^0.6.0, source-map@^0.6.1:
+source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
@@ -7984,6 +9364,14 @@ static-extend@^0.1.1:
define-property "^0.2.5"
object-copy "^0.1.0"
+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"
@@ -7992,6 +9380,17 @@ 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"
@@ -8077,7 +9476,7 @@ string.prototype.trimstart@^1.0.5:
define-properties "^1.1.4"
es-abstract "^1.19.5"
-string_decoder@^1.1.1:
+string_decoder@^1.0.0, 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==
@@ -8213,6 +9612,16 @@ supports-preserve-symlinks-flag@^1.0.0:
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+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.1.1, tapable@^2.2.0:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0"
+ integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==
+
tar@^4.4.10, tar@^4.4.8:
version "4.4.19"
resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3"
@@ -8251,6 +9660,51 @@ 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==
+ 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"
+ source-map "^0.6.1"
+ terser "^4.1.2"
+ webpack-sources "^1.4.0"
+ worker-farm "^1.7.0"
+
+terser-webpack-plugin@^5.1.3:
+ version "5.3.3"
+ resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz#8033db876dd5875487213e87c627bca323e5ed90"
+ integrity sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ==
+ dependencies:
+ "@jridgewell/trace-mapping" "^0.3.7"
+ jest-worker "^27.4.5"
+ schema-utils "^3.1.1"
+ serialize-javascript "^6.0.0"
+ terser "^5.7.2"
+
+terser@^4.1.2:
+ version "4.8.1"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.1.tgz#a00e5634562de2239fd404c649051bf6fc21144f"
+ integrity sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==
+ dependencies:
+ commander "^2.20.0"
+ source-map "~0.6.1"
+ source-map-support "~0.5.12"
+
+terser@^5.7.2:
+ version "5.14.2"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.2.tgz#9ac9f22b06994d736174f4091aa368db896f1c10"
+ integrity sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==
+ dependencies:
+ "@jridgewell/source-map" "^0.3.2"
+ acorn "^8.5.0"
+ commander "^2.20.0"
+ source-map-support "~0.5.20"
+
test-exclude@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e"
@@ -8303,6 +9757,13 @@ through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6:
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
+timers-browserify@^2.0.4:
+ version "2.0.12"
+ resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee"
+ integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==
+ 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"
@@ -8315,6 +9776,11 @@ tmpl@1.0.5:
resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc"
integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==
+to-arraybuffer@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
+ integrity sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==
+
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"
@@ -8399,6 +9865,11 @@ tsutils@^3.21.0:
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 sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==
+
tunnel-agent@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
@@ -8453,10 +9924,10 @@ typedarray@^0.0.6:
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==
-typescript@4.6.3:
- version "4.6.3"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.3.tgz#eefeafa6afdd31d725584c67a0eaba80f6fc6c6c"
- integrity sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==
+typescript@^4.7.4:
+ version "4.7.4"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235"
+ integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==
uglify-js@^3.1.4:
version "3.16.1"
@@ -8565,6 +10036,11 @@ unset-value@^1.0.0:
has-value "^0.3.1"
isobject "^3.0.0"
+upath@^1.1.1:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894"
+ integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==
+
update-browserslist-db@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.4.tgz#dbfc5a789caa26b1db8990796c2c8ebbce304824"
@@ -8573,6 +10049,14 @@ update-browserslist-db@^1.0.0:
escalade "^3.1.1"
picocolors "^1.0.0"
+update-browserslist-db@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz#be06a5eedd62f107b7c19eb5bcefb194411abf38"
+ integrity sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==
+ dependencies:
+ escalade "^3.1.1"
+ picocolors "^1.0.0"
+
uri-js@^4.2.2:
version "4.4.1"
resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
@@ -8585,6 +10069,14 @@ urix@^0.1.0:
resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==
+url@^0.11.0:
+ version "0.11.0"
+ resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
+ integrity sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==
+ dependencies:
+ punycode "1.3.2"
+ querystring "0.2.0"
+
use@^3.1.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
@@ -8602,6 +10094,20 @@ 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 sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==
+ 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"
+
uuid@^3.0.1, uuid@^3.3.2:
version "3.4.0"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
@@ -8645,6 +10151,23 @@ verror@1.10.0:
core-util-is "1.0.2"
extsprintf "^1.2.0"
+vite@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/vite/-/vite-3.0.0.tgz#b4675cb9ab83ec0803b9c952ffa6519bcce033a7"
+ integrity sha512-M7phQhY3+fRZa0H+1WzI6N+/onruwPTBTMvaj7TzgZ0v2TE+N2sdLKxJOfOv9CckDWt5C4HmyQP81xB4dwRKzA==
+ dependencies:
+ esbuild "^0.14.47"
+ postcss "^8.4.14"
+ resolve "^1.22.1"
+ rollup "^2.75.6"
+ optionalDependencies:
+ fsevents "~2.3.2"
+
+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==
+
walker@^1.0.8:
version "1.0.8"
resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f"
@@ -8652,6 +10175,32 @@ walker@^1.0.8:
dependencies:
makeerror "1.0.12"
+watchpack-chokidar2@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957"
+ integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==
+ dependencies:
+ chokidar "^2.1.8"
+
+watchpack@^1.7.4:
+ version "1.7.5"
+ resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453"
+ integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==
+ dependencies:
+ graceful-fs "^4.1.2"
+ neo-async "^2.5.0"
+ optionalDependencies:
+ chokidar "^3.4.1"
+ watchpack-chokidar2 "^2.0.1"
+
+watchpack@^2.4.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d"
+ integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==
+ dependencies:
+ glob-to-regexp "^0.4.1"
+ graceful-fs "^4.1.2"
+
wcwidth@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
@@ -8669,6 +10218,14 @@ webidl-conversions@^4.0.2:
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==
+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==
+ dependencies:
+ source-list-map "^2.0.0"
+ source-map "~0.6.1"
+
webpack-sources@^3.2.3:
version "3.2.3"
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde"
@@ -8679,6 +10236,66 @@ webpack-virtual-modules@^0.4.4:
resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.4.4.tgz#a19fcf371923c59c4712d63d7d194b1e4d8262cc"
integrity sha512-h9atBP/bsZohWpHnr+2sic8Iecb60GxftXsWNLLLSqewgIsGzByd2gcIID4nXcG+3tNe4GQG3dLcff3kXupdRA==
+"webpack5@npm:webpack@5.74.0", webpack@^5, webpack@^5.74.0:
+ name webpack5
+ version "5.74.0"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.74.0.tgz#02a5dac19a17e0bb47093f2be67c695102a55980"
+ integrity sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==
+ dependencies:
+ "@types/eslint-scope" "^3.7.3"
+ "@types/estree" "^0.0.51"
+ "@webassemblyjs/ast" "1.11.1"
+ "@webassemblyjs/wasm-edit" "1.11.1"
+ "@webassemblyjs/wasm-parser" "1.11.1"
+ acorn "^8.7.1"
+ acorn-import-assertions "^1.7.6"
+ browserslist "^4.14.5"
+ chrome-trace-event "^1.0.2"
+ enhanced-resolve "^5.10.0"
+ es-module-lexer "^0.9.0"
+ eslint-scope "5.1.1"
+ events "^3.2.0"
+ glob-to-regexp "^0.4.1"
+ graceful-fs "^4.2.9"
+ json-parse-even-better-errors "^2.3.1"
+ loader-runner "^4.2.0"
+ mime-types "^2.1.27"
+ neo-async "^2.6.2"
+ schema-utils "^3.1.0"
+ tapable "^2.1.1"
+ terser-webpack-plugin "^5.1.3"
+ watchpack "^2.4.0"
+ webpack-sources "^3.2.3"
+
+webpack@4.46.0:
+ version "4.46.0"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542"
+ integrity sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==
+ dependencies:
+ "@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"
+ chrome-trace-event "^1.0.2"
+ enhanced-resolve "^4.5.0"
+ eslint-scope "^4.0.3"
+ 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"
+
whatwg-url@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
@@ -8750,6 +10367,13 @@ wordwrap@^1.0.0:
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==
+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"
@@ -8809,7 +10433,7 @@ write-pkg@^3.1.0:
sort-keys "^2.0.0"
write-json-file "^2.2.0"
-xtend@~4.0.1:
+xtend@^4.0.0, 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==
From 13f118f31c125abf9f90898706377e2981289438 Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Mon, 22 Aug 2022 11:42:24 +0200
Subject: [PATCH 014/640] Unstale yarn.lock
---
yarn.lock | 70 ++++++++++++++++++++++++-------------------------------
1 file changed, 30 insertions(+), 40 deletions(-)
diff --git a/yarn.lock b/yarn.lock
index 04b26a618bd7..3e690515555d 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2308,15 +2308,6 @@
resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c"
integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==
-"@types/webpack@^5.28.0":
- version "5.28.0"
- resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-5.28.0.tgz#78dde06212f038d77e54116cfe69e88ae9ed2c03"
- integrity sha512-8cP0CzcxUiFuA9xGJkfeVpqmWTk9nx6CWwamRGCj95ph1SmlRRk9KlCZ6avhCbZd4L68LvYT6l1kpdEnQXrF8w==
- dependencies:
- "@types/node" "*"
- tapable "^2.2.0"
- webpack "^5"
-
"@types/yargs-parser@*":
version "21.0.0"
resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b"
@@ -10236,8 +10227,36 @@ webpack-virtual-modules@^0.4.4:
resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.4.4.tgz#a19fcf371923c59c4712d63d7d194b1e4d8262cc"
integrity sha512-h9atBP/bsZohWpHnr+2sic8Iecb60GxftXsWNLLLSqewgIsGzByd2gcIID4nXcG+3tNe4GQG3dLcff3kXupdRA==
-"webpack5@npm:webpack@5.74.0", webpack@^5, webpack@^5.74.0:
- name webpack5
+"webpack4@npm:webpack@4.46.0":
+ version "4.46.0"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542"
+ integrity sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==
+ dependencies:
+ "@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"
+ chrome-trace-event "^1.0.2"
+ enhanced-resolve "^4.5.0"
+ eslint-scope "^4.0.3"
+ 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"
+
+webpack@5.74.0:
version "5.74.0"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.74.0.tgz#02a5dac19a17e0bb47093f2be67c695102a55980"
integrity sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==
@@ -10267,35 +10286,6 @@ webpack-virtual-modules@^0.4.4:
watchpack "^2.4.0"
webpack-sources "^3.2.3"
-webpack@4.46.0:
- version "4.46.0"
- resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542"
- integrity sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==
- dependencies:
- "@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"
- chrome-trace-event "^1.0.2"
- enhanced-resolve "^4.5.0"
- eslint-scope "^4.0.3"
- 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"
-
whatwg-url@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
From a250f733456b5abe759fbbf5908daaa36293eac8 Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Mon, 22 Aug 2022 11:46:41 +0200
Subject: [PATCH 015/640] Bump `unplugin` and pin `magic-string`
---
packages/unplugin/package.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/packages/unplugin/package.json b/packages/unplugin/package.json
index c2ed6434d7ab..248f2c0e3e9f 100644
--- a/packages/unplugin/package.json
+++ b/packages/unplugin/package.json
@@ -20,8 +20,8 @@
"lint": "eslint ./src ./test --max-warnings=0"
},
"dependencies": {
- "magic-string": "^0.26.2",
- "unplugin": "^0.7.2"
+ "magic-string": "0.26.2",
+ "unplugin": "0.9.4"
},
"devDependencies": {
"@babel/core": "7.18.5",
From 04560cdea8da7cdbcbb4e0f1126593476c324472 Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Mon, 22 Aug 2022 11:47:17 +0200
Subject: [PATCH 016/640] Unstale yarn lock
---
yarn.lock | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/yarn.lock b/yarn.lock
index 3e690515555d..42490257aceb 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2718,7 +2718,7 @@ acorn@^6.4.1:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6"
integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==
-acorn@^8.5.0:
+acorn@^8.5.0, acorn@^8.8.0:
version "8.8.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8"
integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==
@@ -7034,6 +7034,13 @@ macos-release@^2.2.0:
resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.5.0.tgz#067c2c88b5f3fb3c56a375b2ec93826220fa1ff2"
integrity sha512-EIgv+QZ9r+814gjJj0Bt5vSLJLzswGmSUbUpbi9AIr/fsN2IWFBl2NucV9PAiek+U1STK468tEkxmVYUtuAN3g==
+magic-string@0.26.2:
+ version "0.26.2"
+ resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.2.tgz#5331700e4158cd6befda738bb6b0c7b93c0d4432"
+ integrity sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==
+ dependencies:
+ sourcemap-codec "^1.4.8"
+
magic-string@^0.25.7:
version "0.25.9"
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c"
@@ -7041,13 +7048,6 @@ magic-string@^0.25.7:
dependencies:
sourcemap-codec "^1.4.8"
-magic-string@^0.26.2:
- version "0.26.2"
- resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.2.tgz#5331700e4158cd6befda738bb6b0c7b93c0d4432"
- integrity sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==
- dependencies:
- sourcemap-codec "^1.4.8"
-
make-dir@^1.0.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c"
@@ -10009,12 +10009,12 @@ universalify@^0.1.0:
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
-unplugin@^0.7.2:
- version "0.7.2"
- resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-0.7.2.tgz#4127012fdc2c84ea4ce03ce75e3d4f54ea47bba1"
- integrity sha512-m7thX4jP8l5sETpLdUASoDOGOcHaOVtgNyrYlToyQUvILUtEzEnngRBrHnAX3IKqooJVmXpoa/CwQ/QqzvGaHQ==
+unplugin@0.9.4:
+ version "0.9.4"
+ resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-0.9.4.tgz#53e6f4fc92905122219af0e3f40af753563d38b6"
+ integrity sha512-lUe769wSsZiltVA1Ns9ZRx3K1ri/4yzOrLLI/ebSAj2f0PsXqIJeHIXhkhiayEe1pv+mHuZYyBS3B2RXG2Q2EQ==
dependencies:
- acorn "^8.7.1"
+ acorn "^8.8.0"
chokidar "^3.5.3"
webpack-sources "^3.2.3"
webpack-virtual-modules "^0.4.4"
From b2afba10e7d0959c8f04b298f72e181469f83592 Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Mon, 22 Aug 2022 12:37:19 +0200
Subject: [PATCH 017/640] Document hooks
---
packages/unplugin/src/index.ts | 44 ++++++++++++++++++++++++++++------
1 file changed, 37 insertions(+), 7 deletions(-)
diff --git a/packages/unplugin/src/index.ts b/packages/unplugin/src/index.ts
index 280a20d05443..7e3454353ea6 100644
--- a/packages/unplugin/src/index.ts
+++ b/packages/unplugin/src/index.ts
@@ -38,12 +38,26 @@ const unplugin = createUnplugin((options) => {
return {
name: "sentry-plugin",
enforce: "pre", // needed for Vite to call resolveId hook
- resolveId(id, _importer, { isEntry }) {
+
+ /**
+ * In the sentry-unplugin, this hook is responsible for creating a Set containing the entrypoints as absolute paths.
+ *
+ * @param id For imports: The absolute path of the module to be imported. For entrypoints: The path the user defined as entrypoint - may also be relative.
+ * @param importer For imports: The absolute path of the module that imported this module. For entrypoints: `undefined`.
+ * @param options Additional information to use for making a resolving decision.
+ * @returns undefined.
+ */
+ resolveId(id, importer, { isEntry }) {
debugLog(
- `Called "resolveId": ${JSON.stringify({ id, importer: _importer, options: { isEntry } })}`
+ `Called "resolveId": ${JSON.stringify({ id, importer: importer, options: { isEntry } })}`
);
+ // We only store the absolute path when we encounter an entrypoint
if (isEntry) {
+ // If we're looking at an entrypoint, which is the case here, `id` is either an absolute path or a relative path.
+ // If it's an absolute path we can just store it. If it's a relative path, we can assume the path got defined
+ // from a config file and when bundlers are run via a config file the process CWD is usually the one the config
+ // file is located in, so we can simply join CWD and id and we get the absolute path.
const entrypoint = path.normalize(path.isAbsolute(id) ? id : path.join(process.cwd(), id));
entrypoints.add(entrypoint);
debugLog(`Added entrypoint: ${entrypoint}`);
@@ -51,14 +65,30 @@ const unplugin = createUnplugin((options) => {
return undefined;
},
+
+ /**
+ * Determines whether we want to transform a module.
+ *
+ * @param id Always the absolute (fully resolved) path to the module.
+ * @returns `true` or `false` depending on whether we want to transform the module. For the sentry-unplugin we only
+ * want to transform entrypoints.
+ */
transformInclude(id) {
- const shouldTransform = entrypoints.has(id);
+ const shouldTransform = entrypoints.has(path.normalize(id));
debugLog(`Called "transformInclude": ${JSON.stringify({ id })}`);
debugLog(`Will transform "${id}": ${String(shouldTransform)}`);
return shouldTransform;
},
+
+ /**
+ * Responsible for injecting the global release value code.
+ *
+ * @param code Unprocessed code of the module.
+ * @param id Always the absolute (fully resolved) path to the module.
+ * @returns Code and source map if we decide to inject code. `undefined` otherwise.
+ */
transform(code, id) {
if (entrypoints.has(path.normalize(id))) {
const ms = new MagicString(code);
@@ -76,10 +106,10 @@ const unplugin = createUnplugin((options) => {
});
// eslint-disable-next-line @typescript-eslint/no-explicit-any
-export const sentryVitePlugin: (options?: Options | undefined) => any = unplugin.vite;
+export const sentryVitePlugin: (options: Options) => any = unplugin.vite;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
-export const sentryRollupPlugin: (options?: Options | undefined) => any = unplugin.rollup;
+export const sentryRollupPlugin: (options: Options) => any = unplugin.rollup;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
-export const sentryWebpackPlugin: (options?: Options | undefined) => any = unplugin.webpack;
+export const sentryWebpackPlugin: (options: Options) => any = unplugin.webpack;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
-export const sentryEsbuildPlugin: (options?: Options | undefined) => any = unplugin.esbuild;
+export const sentryEsbuildPlugin: (options: Options) => any = unplugin.esbuild;
From 484a719a187fdfdf456b9da1489b8eed1e7dde19 Mon Sep 17 00:00:00 2001
From: Vladan Paunovic
Date: Mon, 22 Aug 2022 15:16:32 +0200
Subject: [PATCH 018/640] chore: add release discovery (#21)
* chore: add release discovery
* chore: update release name in gh action
* Update packages/unplugin/test/getReleaseName.test.ts
Co-authored-by: Lukas Stracke
Co-authored-by: Lukas Stracke
---
.github/workflows/checks.yml | 1 +
packages/unplugin/src/getReleaseName.ts | 38 +++++++
packages/unplugin/src/index.ts | 6 +-
packages/unplugin/test/getReleaseName.test.ts | 98 +++++++++++++++++++
4 files changed, 138 insertions(+), 5 deletions(-)
create mode 100644 packages/unplugin/src/getReleaseName.ts
create mode 100644 packages/unplugin/test/getReleaseName.test.ts
diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml
index 9559b098315c..f432b6d577f6 100644
--- a/.github/workflows/checks.yml
+++ b/.github/workflows/checks.yml
@@ -7,6 +7,7 @@ on:
env:
DEFAULT_NODE_VERSION: "16.15.1"
+ SENTRY_RELEASE: "default_release_name"
jobs:
build:
diff --git a/packages/unplugin/src/getReleaseName.ts b/packages/unplugin/src/getReleaseName.ts
new file mode 100644
index 000000000000..ad4967b7ccde
--- /dev/null
+++ b/packages/unplugin/src/getReleaseName.ts
@@ -0,0 +1,38 @@
+import * as child_process from "child_process";
+import * as fs from "fs";
+import * as path from "path";
+
+function isGit(dir: string) {
+ return fs.existsSync(path.join(dir, ".git"));
+}
+
+function getBranchHead() {
+ return child_process.execSync("git rev-parse HEAD").toString().trim();
+}
+
+export function getReleaseName(releaseName?: string): string {
+ if (releaseName) {
+ return releaseName;
+ }
+
+ const ENV_VARS = [
+ "SENTRY_RELEASE",
+ "SOURCE_VERSION", // Heroku #1 https://devcenter.heroku.com/changelog-items/630
+ "HEROKU_SLUG_COMMIT", // Heroku #2: https://docs.sentry.io/product/integrations/deployment/heroku/#configure-releases
+ "CODEBUILD_RESOLVED_SOURCE_VERSION", // AWS CodeBuild: https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html
+ "CIRCLE_SHA1", // CircleCI: https://circleci.com/docs/2.0/env-vars/
+ "VERCEL_GIT_COMMIT_SHA", // Vercel docs: https://vercel.com/docs/concepts/projects/environment-variables#system-environment-variables
+ ];
+
+ const releaseFromEnvironmentVar = ENV_VARS.find((key) => Object.keys(process.env).includes(key));
+
+ if (releaseFromEnvironmentVar) {
+ return process.env[releaseFromEnvironmentVar] as string;
+ }
+
+ if (isGit(process.cwd())) {
+ return getBranchHead();
+ } else {
+ throw new Error("Could not return a release name");
+ }
+}
diff --git a/packages/unplugin/src/index.ts b/packages/unplugin/src/index.ts
index 7e3454353ea6..bd7ae4f56ce9 100644
--- a/packages/unplugin/src/index.ts
+++ b/packages/unplugin/src/index.ts
@@ -1,5 +1,6 @@
import { createUnplugin } from "unplugin";
import MagicString from "magic-string";
+import { getReleaseName } from "./getReleaseName";
import * as path from "path";
function generateGlobalInjectorCode({ release }: { release: string }) {
@@ -16,11 +17,6 @@ function generateGlobalInjectorCode({ release }: { release: string }) {
_global.SENTRY_RELEASE={id:"${release}"};`;
}
-// TODO: Replace this function with actual logic
-function getReleaseName() {
- return "default";
-}
-
export interface Options {
debugLogging?: boolean;
}
diff --git a/packages/unplugin/test/getReleaseName.test.ts b/packages/unplugin/test/getReleaseName.test.ts
new file mode 100644
index 000000000000..6c04d5764d12
--- /dev/null
+++ b/packages/unplugin/test/getReleaseName.test.ts
@@ -0,0 +1,98 @@
+import { getReleaseName } from "../src/getReleaseName";
+import * as fs from "fs";
+import * as child_process from "child_process";
+jest.mock("fs");
+jest.mock("child_process");
+
+const mockedFs = fs;
+const mockedChildProcess = child_process;
+
+describe("environmental getReleaseName", () => {
+ const OLD_ENV = process.env;
+
+ beforeEach(() => {
+ jest.resetModules();
+ process.env = { ...OLD_ENV };
+ });
+
+ afterEach(() => {
+ (mockedChildProcess.execSync as jest.Mock).mockRestore();
+ });
+
+ afterAll(() => {
+ process.env = OLD_ENV;
+ });
+
+ it("adheres to HEAD when git is present", () => {
+ (mockedFs.existsSync as jest.Mock).mockReturnValueOnce(true);
+ const sha = "c3f235fc86f1c4007e3a218ec82d666586e73cbf";
+ (mockedChildProcess.execSync as jest.Mock).mockReturnValue(sha);
+
+ expect(getReleaseName()).toBe(sha);
+ });
+
+ it("throws an error if no release information could be found", () => {
+ (mockedFs.existsSync as jest.Mock).mockReturnValueOnce(false);
+
+ expect(getReleaseName).toThrow("Could not return a release name");
+ });
+
+ it("adheres to user defined release name", () => {
+ const releaseName = "USER_DEFINED_this-is-my-custom-release";
+
+ expect(getReleaseName(releaseName)).toBe(releaseName);
+ });
+
+ it("adheres to process.env.SENTRY_RELEASE", () => {
+ const releaseName = "SENTRY_RELEASE_string";
+ process.env["SENTRY_RELEASE"] = releaseName;
+
+ expect(getReleaseName()).toBe(releaseName);
+ });
+
+ it("adheres to Heroku: process.env.SOURCE_VERSION", () => {
+ const releaseName = "SOURCE_VERSION_string";
+ process.env["SOURCE_VERSION"] = releaseName;
+
+ expect(getReleaseName()).toBe(releaseName);
+ });
+
+ it("adheres to Heroku: process.env.HEROKU_SLUG_COMMIT", () => {
+ const releaseName = "HEROKU_SLUG_COMMIT_string";
+ process.env["HEROKU_SLUG_COMMIT"] = releaseName;
+
+ expect(getReleaseName()).toBe(releaseName);
+ });
+
+ it("adheres to AWS: process.env.CODEBUILD_RESOLVED_SOURCE_VERSION", () => {
+ const releaseName = "CODEBUILD_RESOLVED_SOURCE_VERSION_string";
+ process.env["CODEBUILD_RESOLVED_SOURCE_VERSION"] = releaseName;
+
+ expect(getReleaseName()).toBe(releaseName);
+ });
+
+ it("adheres to Vercel: process.env.VERCEL_GIT_COMMIT_SHA", () => {
+ const releaseName = "VERCEL_GIT_COMMIT_SHA_string";
+ process.env["VERCEL_GIT_COMMIT_SHA"] = releaseName;
+
+ expect(getReleaseName()).toBe(releaseName);
+ });
+
+ it("allows SENTRY_RELEASE to take precedence over other env vars", () => {
+ const vercelReleaseName = "VERCEL_GIT_COMMIT_SHA_string";
+ const sentryReleaseName = "SENTRY_RELEASE_string";
+ process.env["VERCEL_GIT_COMMIT_SHA"] = vercelReleaseName;
+ process.env["SENTRY_RELEASE"] = sentryReleaseName;
+
+ expect(getReleaseName()).toBe(sentryReleaseName);
+ });
+
+ it("allows custom release name to take precedence over other env vars", () => {
+ const vercelReleaseName = "VERCEL_GIT_COMMIT_SHA_string";
+ const sentryReleaseName = "SENTRY_RELEASE_string";
+ process.env["VERCEL_GIT_COMMIT_SHA"] = vercelReleaseName;
+ process.env["SENTRY_RELEASE"] = sentryReleaseName;
+
+ expect(getReleaseName("cutom_release_name")).toBe("cutom_release_name");
+ });
+});
From 77a9ea61668082d7fafb16399baea9f0fbb091a8 Mon Sep 17 00:00:00 2001
From: Vladan Paunovic
Date: Mon, 22 Aug 2022 15:41:44 +0200
Subject: [PATCH 019/640] chore: extract SENTRY_RELEASE from rest of the group
(#22)
---
packages/unplugin/src/getReleaseName.ts | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/packages/unplugin/src/getReleaseName.ts b/packages/unplugin/src/getReleaseName.ts
index ad4967b7ccde..30456117c262 100644
--- a/packages/unplugin/src/getReleaseName.ts
+++ b/packages/unplugin/src/getReleaseName.ts
@@ -15,8 +15,13 @@ export function getReleaseName(releaseName?: string): string {
return releaseName;
}
+ // Env var SENTRY_RELEASE takes presendace over other env vars listed below
+ // this is why we are looking for it before proceeding with others
+ if (process.env["SENTRY_RELEASE"]) {
+ return process.env["SENTRY_RELEASE"];
+ }
+
const ENV_VARS = [
- "SENTRY_RELEASE",
"SOURCE_VERSION", // Heroku #1 https://devcenter.heroku.com/changelog-items/630
"HEROKU_SLUG_COMMIT", // Heroku #2: https://docs.sentry.io/product/integrations/deployment/heroku/#configure-releases
"CODEBUILD_RESOLVED_SOURCE_VERSION", // AWS CodeBuild: https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html
From d14fc3c1af86685c9befef8822abae24e7b18a84 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Mon, 22 Aug 2022 16:28:18 +0200
Subject: [PATCH 020/640] feat(sourcemaps): add SentryFacade and Sentry CLI
Boilerplate (#23)
This PR marks the first step towards getting source maps and release creation/finalization working. It adds Sentry-CLI as a dependency, as well as a facade object for the necessary steps (see explanation below).
While we want to get rid of depending on Sentry CLI eventually, I decided to use it for now to get our MVP out faster. To replace Sentry CLI functionality easily with our "native" functionality later, I created a facade to abstract the implementation of the necessary steps from what we call in the "front end" of our plugin. We can replace each CLI command step by step with our own implementation later on.
---
packages/playground/build-esbuild.js | 7 ++-
packages/playground/build-webpack4.js | 13 ++++-
packages/playground/build-webpack5.js | 4 +-
packages/playground/config.json | 9 ++++
packages/playground/rollup.config.js | 9 +++-
packages/playground/vite.config.js | 7 ++-
packages/unplugin/package.json | 4 +-
packages/unplugin/rollup.config.js | 2 +
packages/unplugin/src/cli.ts | 52 ++++++++++++++++++++
packages/unplugin/src/facade.ts | 68 +++++++++++++++++++++++++++
packages/unplugin/src/index.ts | 22 ++++++---
packages/unplugin/src/types.ts | 63 +++++++++++++++++++++++++
yarn.lock | 63 +++++++++++++++++++++----
13 files changed, 301 insertions(+), 22 deletions(-)
create mode 100644 packages/playground/config.json
create mode 100644 packages/unplugin/src/cli.ts
create mode 100644 packages/unplugin/src/facade.ts
create mode 100644 packages/unplugin/src/types.ts
diff --git a/packages/playground/build-esbuild.js b/packages/playground/build-esbuild.js
index 80703d13154e..9259fe59bbf4 100644
--- a/packages/playground/build-esbuild.js
+++ b/packages/playground/build-esbuild.js
@@ -1,10 +1,15 @@
const { sentryEsbuildPlugin } = require("@sentry/unplugin");
const { build } = require("esbuild");
+const placeHolderOptions = require("./config.json");
build({
entryPoints: ["./src/entrypoint1.js"],
outdir: "./out/esbuild",
- plugins: [sentryEsbuildPlugin()],
+ plugins: [
+ sentryEsbuildPlugin({
+ ...placeHolderOptions,
+ }),
+ ],
minify: true,
bundle: true,
format: "cjs",
diff --git a/packages/playground/build-webpack4.js b/packages/playground/build-webpack4.js
index 231743630c59..3114a1f81ceb 100644
--- a/packages/playground/build-webpack4.js
+++ b/packages/playground/build-webpack4.js
@@ -3,6 +3,8 @@ const path = require("path");
const webpack4 = require("webpack4");
const { sentryWebpackPlugin } = require("@sentry/unplugin");
+const placeHolderOptions = require("./config.json");
+
webpack4(
{
mode: "production",
@@ -14,7 +16,16 @@ webpack4(
library: "ExampleBundle",
libraryTarget: "commonjs",
},
- plugins: [sentryWebpackPlugin()],
+ plugins: [
+ sentryWebpackPlugin({
+ org: "sentry-sdks",
+ project: "someProj",
+ authToken: "1234",
+ include: "*",
+ debugLogging: true,
+ debug: true,
+ }),
+ ],
devtool: "source-map",
},
(err) => {
diff --git a/packages/playground/build-webpack5.js b/packages/playground/build-webpack5.js
index 495384d13d19..886763ce44e7 100644
--- a/packages/playground/build-webpack5.js
+++ b/packages/playground/build-webpack5.js
@@ -3,6 +3,8 @@ const path = require("path");
const webpack5 = require("webpack");
const { sentryWebpackPlugin } = require("@sentry/unplugin");
+const placeHolderOptions = require("./config.json");
+
webpack5(
{
cache: false,
@@ -16,7 +18,7 @@ webpack5(
},
},
mode: "production",
- plugins: [sentryWebpackPlugin()],
+ plugins: [sentryWebpackPlugin({ ...placeHolderOptions })],
devtool: "source-map",
},
(err) => {
diff --git a/packages/playground/config.json b/packages/playground/config.json
new file mode 100644
index 000000000000..e40336e73f2c
--- /dev/null
+++ b/packages/playground/config.json
@@ -0,0 +1,9 @@
+{
+ "release": "0.0.1",
+ "org": "some-org",
+ "project": "some-proj",
+ "authToken": "some-auth-token",
+ "include": "/dist",
+ "debugLogging": true,
+ "debug": true
+}
diff --git a/packages/playground/rollup.config.js b/packages/playground/rollup.config.js
index 67a529a70ed3..ab714fbf71ae 100644
--- a/packages/playground/rollup.config.js
+++ b/packages/playground/rollup.config.js
@@ -2,6 +2,7 @@
import commonjs from "@rollup/plugin-commonjs";
import resolve from "@rollup/plugin-node-resolve";
import { sentryRollupPlugin } from "@sentry/unplugin";
+import placeHolderOptions from "./config.json";
const input = ["src/entrypoint1.js"];
@@ -9,7 +10,13 @@ const extensions = [".js"];
export default {
input,
- plugins: [resolve({ extensions }), commonjs(), sentryRollupPlugin()],
+ plugins: [
+ resolve({ extensions }),
+ commonjs(),
+ sentryRollupPlugin({
+ ...placeHolderOptions,
+ }),
+ ],
output: {
dir: "./out/rollup",
format: "cjs",
diff --git a/packages/playground/vite.config.js b/packages/playground/vite.config.js
index 1632e01f806c..90c5df759c06 100644
--- a/packages/playground/vite.config.js
+++ b/packages/playground/vite.config.js
@@ -2,6 +2,7 @@
import { sentryVitePlugin } from "@sentry/unplugin";
import { defineConfig } from "vite";
import * as path from "path";
+import placeHolderOptions from "./config.json";
export default defineConfig({
build: {
@@ -14,5 +15,9 @@ export default defineConfig({
},
sourcemap: true,
},
- plugins: [sentryVitePlugin()],
+ plugins: [
+ sentryVitePlugin({
+ ...placeHolderOptions,
+ }),
+ ],
});
diff --git a/packages/unplugin/package.json b/packages/unplugin/package.json
index 248f2c0e3e9f..ca0057ef48bb 100644
--- a/packages/unplugin/package.json
+++ b/packages/unplugin/package.json
@@ -17,9 +17,10 @@
"check:types:src": "tsc --project ./src/tsconfig.json --noEmit",
"check:types:test": "tsc --project ./test/tsconfig.json --noEmit",
"test": "jest",
- "lint": "eslint ./src ./test --max-warnings=0"
+ "lint": "eslint ./src ./test"
},
"dependencies": {
+ "@sentry/cli": "1.74.5",
"magic-string": "0.26.2",
"unplugin": "0.9.4"
},
@@ -29,6 +30,7 @@
"@babel/preset-typescript": "7.17.12",
"@rollup/plugin-babel": "5.3.1",
"@rollup/plugin-commonjs": "22.0.1",
+ "@rollup/plugin-json": "^4.1.0",
"@rollup/plugin-node-resolve": "13.3.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
diff --git a/packages/unplugin/rollup.config.js b/packages/unplugin/rollup.config.js
index 112364f4b530..4b84dba10809 100644
--- a/packages/unplugin/rollup.config.js
+++ b/packages/unplugin/rollup.config.js
@@ -2,6 +2,7 @@ import commonjs from "@rollup/plugin-commonjs";
import resolve from "@rollup/plugin-node-resolve";
import babel from "@rollup/plugin-babel";
import packageJson from "./package.json";
+import json from "@rollup/plugin-json";
const input = ["src/index.ts"];
@@ -14,6 +15,7 @@ export default {
plugins: [
resolve({ extensions, preferBuiltins: true }),
commonjs(),
+ json(),
babel({
extensions,
babelHelpers: "bundled",
diff --git a/packages/unplugin/src/cli.ts b/packages/unplugin/src/cli.ts
new file mode 100644
index 000000000000..e1a5123eeb20
--- /dev/null
+++ b/packages/unplugin/src/cli.ts
@@ -0,0 +1,52 @@
+import SentryCli from "@sentry/cli";
+import { Options } from "./types";
+
+/** Creates a new Sentry CLI instance. */
+export function makeSentryCli(options: Options) {
+ //TODO: pass config file instead of null
+ const cli = new SentryCli(undefined, {
+ silent: false, //TODO read from options
+ org: options.org,
+ project: options.project,
+ authToken: options.authToken,
+ url: options.url,
+ vcsRemote: "origin", //TODO set from options,
+ });
+
+ // Let's not worry about dry run for now
+ // if (this.isDryRun()) {
+ // this.outputDebug("DRY Run Mode");
+
+ // return {
+ // releases: {
+ // proposeVersion: () =>
+ // cli.releases.proposeVersion().then((version) => {
+ // this.outputDebug("Proposed version:\n", version);
+ // return version;
+ // }),
+ // new: (release) => {
+ // this.outputDebug("Creating new release:\n", release);
+ // return Promise.resolve(release);
+ // },
+ // uploadSourceMaps: (release, config) => {
+ // this.outputDebug("Calling upload-sourcemaps with:\n", config);
+ // return Promise.resolve(release, config);
+ // },
+ // finalize: (release) => {
+ // this.outputDebug("Finalizing release:\n", release);
+ // return Promise.resolve(release);
+ // },
+ // setCommits: (release, config) => {
+ // this.outputDebug("Calling set-commits with:\n", config);
+ // return Promise.resolve(release, config);
+ // },
+ // newDeploy: (release, config) => {
+ // this.outputDebug("Calling deploy with:\n", config);
+ // return Promise.resolve(release, config);
+ // },
+ // },
+ // };
+ // }
+
+ return cli;
+}
diff --git a/packages/unplugin/src/facade.ts b/packages/unplugin/src/facade.ts
new file mode 100644
index 000000000000..5308ff05b8ee
--- /dev/null
+++ b/packages/unplugin/src/facade.ts
@@ -0,0 +1,68 @@
+/* eslint-disable @typescript-eslint/no-unused-vars */
+/* eslint-disable no-console */
+//TODO: remove eslint rules
+
+// Build a facade that exposes necessary sentry functionality
+// Idea: We start out with Sentry-CLI and replace the cli-commands one by one afterwards.
+// Goal: eventually replace everything sentry-cli does with "native" code here
+// Reason: We don't want to depend on a binary that gets downloaded in a postinstall hook
+// - no fixed version
+// - huge download
+// - unnecessary functionality
+
+import { makeSentryCli } from "./cli";
+import { Options } from "./types";
+
+export type SentryFacade = {
+ createNewRelease: () => any;
+ cleanArtifacts: () => any;
+ uploadSourceMaps: () => any;
+ setCommits: () => any;
+ finalizeRelease: () => any;
+ addDeploy: () => any;
+};
+
+/**
+ * Factory function that provides all necessary Sentry functionality for creating
+ * a release on Sentry. This includes uploading source maps and finalizing the release
+ */
+export function makeSentryFacade(version: string, options: Options): SentryFacade {
+ makeSentryCli(options);
+ //TODO: remove
+ // void cli.execute(["--version"], true);
+
+ return {
+ createNewRelease: () => createNewRelease(version),
+ cleanArtifacts: () => cleanArtifacts(),
+ uploadSourceMaps: () => uploadSourceMaps(version),
+ setCommits: () => setCommits(version),
+ finalizeRelease: () => finalizeRelease(version),
+ addDeploy: () => addDeploy(version),
+ };
+}
+
+function createNewRelease(version: string) {
+ //TODO(must have): implement release creation logic here
+}
+
+function uploadSourceMaps(version: string) {
+ //TODO(must have): implement source maps upload logic here
+}
+
+function finalizeRelease(version: string) {
+ //TODO(must have): implement release finalization logic here
+}
+
+// TODO: Stuff we worry about later:
+
+function cleanArtifacts() {
+ // NOOP for now
+}
+
+function setCommits(version: string) {
+ // NOOP for now
+}
+
+function addDeploy(version: string) {
+ // NOOP for now
+}
diff --git a/packages/unplugin/src/index.ts b/packages/unplugin/src/index.ts
index bd7ae4f56ce9..240fbb069e7e 100644
--- a/packages/unplugin/src/index.ts
+++ b/packages/unplugin/src/index.ts
@@ -2,6 +2,8 @@ import { createUnplugin } from "unplugin";
import MagicString from "magic-string";
import { getReleaseName } from "./getReleaseName";
import * as path from "path";
+import { Options } from "./types";
+import { makeSentryFacade } from "./facade";
function generateGlobalInjectorCode({ release }: { release: string }) {
return `
@@ -17,15 +19,12 @@ function generateGlobalInjectorCode({ release }: { release: string }) {
_global.SENTRY_RELEASE={id:"${release}"};`;
}
-export interface Options {
- debugLogging?: boolean;
-}
-
const unplugin = createUnplugin((options) => {
- function debugLog(message: string) {
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ function debugLog(...args: any) {
if (options?.debugLogging) {
// eslint-disable-next-line no-console
- console.log(`[Sentry-plugin] ${message}`);
+ console.log("[Sentry-plugin]}", args);
}
}
@@ -88,7 +87,9 @@ const unplugin = createUnplugin((options) => {
transform(code, id) {
if (entrypoints.has(path.normalize(id))) {
const ms = new MagicString(code);
- ms.prepend(generateGlobalInjectorCode({ release: getReleaseName() }));
+ ms.prepend(
+ generateGlobalInjectorCode({ release: getReleaseName(options.release || "0.0.1") })
+ );
return {
code: ms.toString(),
map: ms.generateMap(),
@@ -98,6 +99,11 @@ const unplugin = createUnplugin((options) => {
return undefined;
}
},
+ buildEnd() {
+ const sentryFacade = makeSentryFacade(getReleaseName(options.release || "0.0.1"), options);
+ //TODO: do stuff with the facade here lol
+ debugLog("this is my facade:", sentryFacade);
+ },
};
});
@@ -109,3 +115,5 @@ export const sentryRollupPlugin: (options: Options) => any = unplugin.rollup;
export const sentryWebpackPlugin: (options: Options) => any = unplugin.webpack;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
export const sentryEsbuildPlugin: (options: Options) => any = unplugin.esbuild;
+
+export type { Options } from "./types";
diff --git a/packages/unplugin/src/types.ts b/packages/unplugin/src/types.ts
new file mode 100644
index 000000000000..d4041e2887ca
--- /dev/null
+++ b/packages/unplugin/src/types.ts
@@ -0,0 +1,63 @@
+//TODO: JsDoc for all properties
+export type Options = {
+ debugLogging?: boolean;
+
+ /* --- authentication/identification: */
+ org?: string;
+ project?: string;
+ authToken?: string;
+ url?: string;
+ // configFile: string
+
+ /* --- release properties: */
+ release?: string;
+ // dist: string,
+ // entries: string[] | RegExp | ((key: string) => boolean);
+
+ /* --- source maps properties: */
+ //TODO: make this required
+ include?: string; //| string[] | IncludeEntry[];
+ // ignoreFile: string
+ // ignore: string | string[]
+ // ext: string[]
+ // urlPrefix: string,
+ // urlSuffix: string,
+ // validate: boolean
+ // stripPrefix?: boolean,
+ // stripCommonPrefix?: boolean,
+ // sourceMapReference?: boolean,
+ // rewrite?: boolean,
+
+ /* --- other unimportant (for now) stuff- properties: */
+ // vcsRemote: string,
+ // customHeader: string,
+
+ // finalize?: boolean,
+ // dryRun?: boolean,
+ debug?: boolean;
+ // silent?: boolean,
+ // cleanArtifacts?: boolean,
+ // errorHandler?: (err: Error, invokeErr: function(): void, compilation: unknown) => void,
+ // setCommits?: {
+ // repo?: string,
+ // commit?: string,
+ // previousCommit?: string,
+ // auto?: boolean,
+ // ignoreMissing?: boolean
+ // },
+ // deploy?: {
+ // env: string,
+ // started?: number,
+ // finished?: number,
+ // time?: number,
+ // name?: string,
+ // url?: string,
+ // }
+};
+
+/*
+type IncludeEntry = {
+ paths: string[];
+ //TODO: what about the other entries??
+};
+*/
diff --git a/yarn.lock b/yarn.lock
index 42490257aceb..0927cbd45da2 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2032,6 +2032,13 @@
magic-string "^0.25.7"
resolve "^1.17.0"
+"@rollup/plugin-json@^4.1.0":
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-4.1.0.tgz#54e09867ae6963c593844d8bd7a9c718294496f3"
+ integrity sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==
+ dependencies:
+ "@rollup/pluginutils" "^3.0.8"
+
"@rollup/plugin-node-resolve@13.3.0":
version "13.3.0"
resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz#da1c5c5ce8316cef96a2f823d111c1e4e498801c"
@@ -2044,7 +2051,7 @@
is-module "^1.0.0"
resolve "^1.19.0"
-"@rollup/pluginutils@^3.1.0":
+"@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.1.0":
version "3.1.0"
resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b"
integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==
@@ -2053,6 +2060,19 @@
estree-walker "^1.0.1"
picomatch "^2.2.2"
+"@sentry/cli@1.74.5":
+ version "1.74.5"
+ resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-1.74.5.tgz#4a5c622913087c9ab6f82994da9a7526423779b8"
+ integrity sha512-Ze1ec306ZWHtrxKypOJ8nhtFqkrx2f/6bRH+DcJzEQ3bBePQ0ZnqJTTe4BBHADYBtxFIaUWzCZ6DquLz2Zv/sw==
+ dependencies:
+ https-proxy-agent "^5.0.0"
+ mkdirp "^0.5.5"
+ node-fetch "^2.6.7"
+ npmlog "^4.1.2"
+ progress "^2.0.3"
+ proxy-from-env "^1.1.0"
+ which "^2.0.2"
+
"@sinclair/typebox@^0.23.3":
version "0.23.5"
resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.23.5.tgz#93f7b9f4e3285a7a9ade7557d9a8d36809cbc47d"
@@ -2735,6 +2755,13 @@ agent-base@4, agent-base@^4.3.0:
dependencies:
es6-promisify "^5.0.0"
+agent-base@6:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
+ integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
+ dependencies:
+ debug "4"
+
agent-base@~4.2.1:
version "4.2.1"
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9"
@@ -4053,6 +4080,13 @@ debug@3.1.0:
dependencies:
ms "2.0.0"
+debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4:
+ version "4.3.4"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
+ integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
+ dependencies:
+ ms "2.1.2"
+
debug@^2.2.0, debug@^2.3.3:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
@@ -4067,13 +4101,6 @@ debug@^3.1.0:
dependencies:
ms "^2.1.1"
-debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4:
- version "4.3.4"
- resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
- integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
- dependencies:
- ms "2.1.2"
-
debuglog@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492"
@@ -5701,6 +5728,14 @@ https-proxy-agent@^2.2.1, https-proxy-agent@^2.2.3:
agent-base "^4.3.0"
debug "^3.1.0"
+https-proxy-agent@^5.0.0:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
+ integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==
+ dependencies:
+ agent-base "6"
+ debug "4"
+
human-signals@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
@@ -8339,6 +8374,11 @@ process@^0.11.10:
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==
+progress@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
+ integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
+
promise-inflight@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
@@ -8393,6 +8433,11 @@ protoduck@^5.0.1:
dependencies:
genfun "^5.0.0"
+proxy-from-env@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
+ integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
+
prr@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
@@ -10326,7 +10371,7 @@ which@1, which@^1.2.9, which@^1.3.1:
dependencies:
isexe "^2.0.0"
-which@^2.0.1:
+which@^2.0.1, which@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
From fe67ecd5d35450d236e2ee1ac0fcf35bffcc1928 Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Mon, 22 Aug 2022 17:50:09 +0200
Subject: [PATCH 021/640] ref(release-injector): Inject by importing in every
module (#24)
---
packages/unplugin/src/index.ts | 184 ++++++++++++++++++++++++---------
1 file changed, 133 insertions(+), 51 deletions(-)
diff --git a/packages/unplugin/src/index.ts b/packages/unplugin/src/index.ts
index 240fbb069e7e..f521e3139f51 100644
--- a/packages/unplugin/src/index.ts
+++ b/packages/unplugin/src/index.ts
@@ -1,112 +1,194 @@
import { createUnplugin } from "unplugin";
import MagicString from "magic-string";
import { getReleaseName } from "./getReleaseName";
-import * as path from "path";
import { Options } from "./types";
import { makeSentryFacade } from "./facade";
-function generateGlobalInjectorCode({ release }: { release: string }) {
- return `
- var _global =
- typeof window !== 'undefined' ?
- window :
- typeof global !== 'undefined' ?
- global :
- typeof self !== 'undefined' ?
- self :
- {};
-
- _global.SENTRY_RELEASE={id:"${release}"};`;
-}
-
-const unplugin = createUnplugin((options) => {
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- function debugLog(...args: any) {
+/**
+ * The sentry-unplugin concerns itself with two things:
+ * - Release injection
+ * - Sourcemaps upload
+ *
+ * Release injection:
+ *
+ * The sentry-unpugin will inject a global `SENTRY_RELEASE` variable into all bundles. On a technical level this is done
+ * by appending an import (`import "sentry-release-injector;"`) to all files of the user code (see `transformInclude`
+ * and `transform` hooks). This import is then resolved by the sentry-unplugin to a virtual module that sets the global
+ * variable (see `resolveId` and `load` hooks).
+ *
+ * It sounds a bit dubious that we're injecting appending the same import to *all* user files but it has its reasons:
+ * With the way `unplugin` and bundlers work, we do not always have the information we need to only inject code at the
+ * top of an entry file. The `transform` and `transformInclude` hooks don't have any information as to whether a file is
+ * an entry file - so they need context from another hook for that. The only location where we can determine if a file
+ * is an entry file is the `resolveId` hook - sadly in this hook, we do not have an guaranteed absolute path of the file
+ * we're looking at, which would require us to do a heuristic (using `process.cwd()`) which isn't bulletproof.
+ *
+ * Since 1) sharing context across bundler hooks is a bit of an anti-pattern and 2) having a heuristic that is
+ * potentially producing false results, we went for the approach of simply importing the "global injector file" in every
+ * file. Luckily bundlers are smart enough to only include it once in a bundle. :)
+ *
+ * The resulting output approximately looks like this:
+ *
+ * ```text
+ * index.js (user file)
+ * ┌───────────────────┐ ┌─────────────────────────────────────────────────┐
+ * │ │ │ import { myFunction } from "./my-library.js"; │
+ * │ sentry-unplugin │ │ │
+ * │ │ │ const myResult = myFunction(); │
+ * └---------│---------┘ │ export { myResult }; │
+ * │ │ │
+ * │ injects │ // injected by sentry-unplugin │
+ * ├───────────────────► import "sentry-release-injector"; ─────────────────────┐
+ * │ └─────────────────────────────────────────────────┘ │
+ * │ │
+ * │ │
+ * │ my-library.js (user file) │
+ * │ ┌─────────────────────────────────────────────────┐ │
+ * │ │ export function myFunction() { │ │
+ * │ │ return "Hello world!"; │ │
+ * │ │ } │ │
+ * │ │ │ │
+ * │ injects │ // injected by sentry-unplugin │ │
+ * └───────────────────► import "sentry-release-injector"; ─────────────────────┤
+ * └─────────────────────────────────────────────────┘ │
+ * │
+ * │
+ * sentry-release-injector │
+ * ┌──────────────────────────────────┐ │
+ * │ │ is resolved │
+ * │ global.SENTRY_RELEASE = { ... } │ by unplugin │
+ * │ // + a little more logic │<─────────────────────┘
+ * │ │ (only once)
+ * └──────────────────────────────────┘
+ * ```
+ *
+ * Source maps upload:
+ *
+ * The sentry-unplugin will also take care of uploading source maps to Sentry. This is all done in the `buildEnd` hook.
+ * TODO: elaborate a bit on how sourcemaps upload works
+ */
+const unplugin = createUnplugin((options, unpluginMetaContext) => {
+ function debugLog(...args: unknown[]) {
if (options?.debugLogging) {
// eslint-disable-next-line no-console
- console.log("[Sentry-plugin]}", args);
+ console.log("[Sentry-plugin]", ...args);
}
}
- const entrypoints = new Set();
-
return {
name: "sentry-plugin",
enforce: "pre", // needed for Vite to call resolveId hook
/**
- * In the sentry-unplugin, this hook is responsible for creating a Set containing the entrypoints as absolute paths.
+ * Responsible for returning the "sentry-release-injector" ID when we encounter it. We return the ID so load is
+ * called and we can "virtually" load the module. See `load` hook for more info on why it's virtual.
*
* @param id For imports: The absolute path of the module to be imported. For entrypoints: The path the user defined as entrypoint - may also be relative.
* @param importer For imports: The absolute path of the module that imported this module. For entrypoints: `undefined`.
* @param options Additional information to use for making a resolving decision.
- * @returns undefined.
+ * @returns `"sentry-release-injector"` when the imported file is called `"sentry-release-injector"`. Otherwise returns `undefined`.
*/
resolveId(id, importer, { isEntry }) {
debugLog(
`Called "resolveId": ${JSON.stringify({ id, importer: importer, options: { isEntry } })}`
);
- // We only store the absolute path when we encounter an entrypoint
- if (isEntry) {
- // If we're looking at an entrypoint, which is the case here, `id` is either an absolute path or a relative path.
- // If it's an absolute path we can just store it. If it's a relative path, we can assume the path got defined
- // from a config file and when bundlers are run via a config file the process CWD is usually the one the config
- // file is located in, so we can simply join CWD and id and we get the absolute path.
- const entrypoint = path.normalize(path.isAbsolute(id) ? id : path.join(process.cwd(), id));
- entrypoints.add(entrypoint);
- debugLog(`Added entrypoint: ${entrypoint}`);
+ if (id === "sentry-release-injector") {
+ return id;
+ } else {
+ return undefined;
}
+ },
- return undefined;
+ /**
+ * Responsible for "virtually" loading the "sentry-release-injector" module. "Virtual" means that the module is not
+ * read from somewhere on disk but rather just returned via a string.
+ *
+ * @param id Always the absolute (fully resolved) path to the module.
+ * @returns The global injector code when we load the "sentry-release-injector" module. Otherwise returns `undefined`.
+ */
+ load(id) {
+ debugLog(`Called "transform": ${JSON.stringify({ id })}`);
+
+ if (id === "sentry-release-injector") {
+ return generateGlobalInjectorCode({ release: getReleaseName(options.release) });
+ } else {
+ return undefined;
+ }
},
/**
- * Determines whether we want to transform a module.
+ * This hook determines whether we want to transform a module. In the unplugin we want to transform every file
+ * except for the release injector file
*
* @param id Always the absolute (fully resolved) path to the module.
* @returns `true` or `false` depending on whether we want to transform the module. For the sentry-unplugin we only
- * want to transform entrypoints.
+ * want to transform the release injector file.
*/
transformInclude(id) {
- const shouldTransform = entrypoints.has(path.normalize(id));
-
debugLog(`Called "transformInclude": ${JSON.stringify({ id })}`);
- debugLog(`Will transform "${id}": ${String(shouldTransform)}`);
- return shouldTransform;
+ // We want to transform (release injection) every module except for "sentry-release-injector".
+ return id !== "sentry-release-injector";
},
/**
- * Responsible for injecting the global release value code.
+ * This hook is responsible for injecting the "sentry release injector" imoprt statement into each user file.
*
- * @param code Unprocessed code of the module.
+ * @param code Code of the file to transform.
* @param id Always the absolute (fully resolved) path to the module.
- * @returns Code and source map if we decide to inject code. `undefined` otherwise.
+ * @returns transformed code + source map
*/
transform(code, id) {
- if (entrypoints.has(path.normalize(id))) {
- const ms = new MagicString(code);
- ms.prepend(
- generateGlobalInjectorCode({ release: getReleaseName(options.release || "0.0.1") })
- );
+ debugLog(`Called "transform": ${JSON.stringify({ code, id })}`);
+
+ // The MagicString library allows us to generate sourcemaps for the changes we make to the user code.
+ const ms = new MagicString(code); // Very stupid author's note: For some absurd reason, when we add a JSDoc to this hook, the TS language server starts complaining about `ms` and adding a type annotation helped so that's why it's here. (┛ಠ_ಠ)┛彡┻━┻
+
+ // appending instead of prepending has less probability of mucking with user's
+ // source maps and import statements get to the top anyways
+ ms.append('import "sentry-release-injector";');
+
+ if (unpluginMetaContext.framework === "esbuild") {
+ // esbuild + unplugin is buggy at the moment when we return an object with a `map` (sourcemap) property.
+ // Currently just returning a string here seems to work and even correctly sourcemaps the code we generate.
+ // However, other bundlers need the `map` property
+ return ms.toString();
+ } else {
return {
code: ms.toString(),
map: ms.generateMap(),
};
- } else {
- // Don't transform
- return undefined;
}
},
buildEnd() {
- const sentryFacade = makeSentryFacade(getReleaseName(options.release || "0.0.1"), options);
+ const sentryFacade = makeSentryFacade(getReleaseName(options.release), options);
//TODO: do stuff with the facade here lol
debugLog("this is my facade:", sentryFacade);
},
};
});
+/**
+ * Generates code for the "sentry-release-injector" which is responsible for setting the global `SENTRY_RELEASE`
+ * variable.
+ */
+function generateGlobalInjectorCode({ release }: { release: string }) {
+ // The code below is mostly ternary operators because it saves bundle size.
+ // The checks are to support as many environments as possible. (Node.js, Browser, webworkers, etc.)
+ return `
+ var _global =
+ typeof window !== 'undefined' ?
+ window :
+ typeof global !== 'undefined' ?
+ global :
+ typeof self !== 'undefined' ?
+ self :
+ {};
+
+ _global.SENTRY_RELEASE={id:"${release}"};`;
+}
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
export const sentryVitePlugin: (options: Options) => any = unplugin.vite;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
From 9842ac68ca70786784edd7634858247d638dc4e3 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Tue, 23 Aug 2022 13:52:15 +0200
Subject: [PATCH 022/640] feat(sourcemaps): Add basic source maps upload
functionality (#26)
* make Sentry CLI calls
* adds default options
* add small node sample app to test sourcemaps upload
---
packages/playground/build-webpack4.js | 7 +-
packages/playground/package.json | 8 +-
packages/playground/src/smallNodeApp.js | 24 +++++
.../playground/vite.config.smallNodeApp.js | 30 ++++++
packages/unplugin/rollup.config.js | 2 +-
packages/unplugin/src/cli.ts | 2 +-
packages/unplugin/src/facade.ts | 97 ++++++++++++-------
packages/unplugin/src/index.ts | 37 ++++++-
packages/unplugin/src/types.ts | 10 +-
yarn.lock | 87 ++++++++++++++++-
10 files changed, 250 insertions(+), 54 deletions(-)
create mode 100644 packages/playground/src/smallNodeApp.js
create mode 100644 packages/playground/vite.config.smallNodeApp.js
diff --git a/packages/playground/build-webpack4.js b/packages/playground/build-webpack4.js
index 3114a1f81ceb..a1adb0dfeec1 100644
--- a/packages/playground/build-webpack4.js
+++ b/packages/playground/build-webpack4.js
@@ -18,12 +18,7 @@ webpack4(
},
plugins: [
sentryWebpackPlugin({
- org: "sentry-sdks",
- project: "someProj",
- authToken: "1234",
- include: "*",
- debugLogging: true,
- debug: true,
+ ...placeHolderOptions,
}),
],
devtool: "source-map",
diff --git a/packages/playground/package.json b/packages/playground/package.json
index 88e5265e5a87..07713bb80df9 100644
--- a/packages/playground/package.json
+++ b/packages/playground/package.json
@@ -11,15 +11,19 @@
"build:vite": "vite build --config vite.config.js",
"build:webpack4": "node build-webpack4.js",
"build:webpack5": "node build-webpack5.js",
- "build:esbuild": "node build-esbuild.js"
+ "build:esbuild": "node build-esbuild.js",
+ "build:smallNodeApp": "vite build --config vite.config.smallNodeApp.js"
},
"dependencies": {
"@sentry/unplugin": "*",
+ "@sentry/node": "^7.11.1",
+ "@sentry/integrations": "^7.11.1",
"esbuild": "0.14.49",
"rollup": "2.77.0",
"vite": "3.0.0",
"webpack4": "npm:webpack@4.46.0",
"webpack": "5.74.0",
- "npm-run-all": "4.1.5"
+ "npm-run-all": "4.1.5",
+ "@sentry/cli": "1.74.5"
}
}
diff --git a/packages/playground/src/smallNodeApp.js b/packages/playground/src/smallNodeApp.js
new file mode 100644
index 000000000000..88ee728f7014
--- /dev/null
+++ b/packages/playground/src/smallNodeApp.js
@@ -0,0 +1,24 @@
+const Sentry = require("@sentry/node");
+const { RewriteFrames } = require("@sentry/integrations");
+
+Sentry.init({
+ dsn: "https://8fa8ac58d94740a69f74934665aa0770@o1151230.ingest.sentry.io/6680403",
+ debug: true,
+ enabled: true,
+ sampleRate: 1.0,
+ integrations: [new RewriteFrames()],
+});
+
+const fibonacci = (n) => {
+ if (n === 3) {
+ Sentry.captureException(new Error("Test error"));
+ }
+ if (n <= 1) {
+ return n;
+ }
+ return fibonacci(n - 1) + fibonacci(n - 2);
+};
+
+console.log("Hi, I'm a small sample node app");
+
+fibonacci(10);
diff --git a/packages/playground/vite.config.smallNodeApp.js b/packages/playground/vite.config.smallNodeApp.js
new file mode 100644
index 000000000000..13e40f6b2096
--- /dev/null
+++ b/packages/playground/vite.config.smallNodeApp.js
@@ -0,0 +1,30 @@
+// @ts-check
+import { sentryVitePlugin } from "@sentry/unplugin";
+import { defineConfig } from "vite";
+import * as path from "path";
+
+export default defineConfig({
+ build: {
+ outDir: "./out/vite-smallNodeApp",
+ lib: {
+ entry: path.resolve(__dirname, "./src/smallNodeApp.js"),
+ name: "ExampleBundle",
+ fileName: "index",
+ formats: ["cjs"],
+ },
+ sourcemap: true,
+ minify: true,
+ },
+ plugins: [
+ sentryVitePlugin({
+ authToken: process.env.SENTRY_AUTH_TOKEN,
+ org: "lms-testorg-9m",
+ project: "hackweek-node-sample-app",
+ debug: true,
+ debugLogging: true,
+ release: "0.0.1",
+ include: "out/vite-smallNodeApp",
+ cleanArtifacts: true,
+ }),
+ ],
+});
diff --git a/packages/unplugin/rollup.config.js b/packages/unplugin/rollup.config.js
index 4b84dba10809..a8da0590bd0f 100644
--- a/packages/unplugin/rollup.config.js
+++ b/packages/unplugin/rollup.config.js
@@ -11,7 +11,7 @@ const extensions = [".js", ".ts"];
export default {
input,
// external: [...Object.keys(packageJson.dependencies)],
- external: ["path", "unplugin"],
+ external: ["path", "unplugin", "@sentry/cli"],
plugins: [
resolve({ extensions, preferBuiltins: true }),
commonjs(),
diff --git a/packages/unplugin/src/cli.ts b/packages/unplugin/src/cli.ts
index e1a5123eeb20..153c147963da 100644
--- a/packages/unplugin/src/cli.ts
+++ b/packages/unplugin/src/cli.ts
@@ -4,7 +4,7 @@ import { Options } from "./types";
/** Creates a new Sentry CLI instance. */
export function makeSentryCli(options: Options) {
//TODO: pass config file instead of null
- const cli = new SentryCli(undefined, {
+ const cli = new SentryCli(options.configFile, {
silent: false, //TODO read from options
org: options.org,
project: options.project,
diff --git a/packages/unplugin/src/facade.ts b/packages/unplugin/src/facade.ts
index 5308ff05b8ee..896a7b80dba4 100644
--- a/packages/unplugin/src/facade.ts
+++ b/packages/unplugin/src/facade.ts
@@ -1,7 +1,3 @@
-/* eslint-disable @typescript-eslint/no-unused-vars */
-/* eslint-disable no-console */
-//TODO: remove eslint rules
-
// Build a facade that exposes necessary sentry functionality
// Idea: We start out with Sentry-CLI and replace the cli-commands one by one afterwards.
// Goal: eventually replace everything sentry-cli does with "native" code here
@@ -12,57 +8,90 @@
import { makeSentryCli } from "./cli";
import { Options } from "./types";
+import SentryCli from "@sentry/cli";
export type SentryFacade = {
- createNewRelease: () => any;
- cleanArtifacts: () => any;
- uploadSourceMaps: () => any;
- setCommits: () => any;
- finalizeRelease: () => any;
- addDeploy: () => any;
+ createNewRelease: () => Promise;
+ cleanArtifacts: () => Promise;
+ uploadSourceMaps: () => Promise;
+ setCommits: () => Promise;
+ finalizeRelease: () => Promise;
+ addDeploy: () => Promise;
};
/**
* Factory function that provides all necessary Sentry functionality for creating
* a release on Sentry. This includes uploading source maps and finalizing the release
*/
-export function makeSentryFacade(version: string, options: Options): SentryFacade {
- makeSentryCli(options);
- //TODO: remove
- // void cli.execute(["--version"], true);
+export function makeSentryFacade(release: string, options: Options): SentryFacade {
+ const cli = makeSentryCli(options);
return {
- createNewRelease: () => createNewRelease(version),
- cleanArtifacts: () => cleanArtifacts(),
- uploadSourceMaps: () => uploadSourceMaps(version),
- setCommits: () => setCommits(version),
- finalizeRelease: () => finalizeRelease(version),
- addDeploy: () => addDeploy(version),
+ createNewRelease: () => createNewRelease(cli, release),
+ cleanArtifacts: () => cleanArtifacts(cli, release, options),
+ uploadSourceMaps: () => uploadSourceMaps(cli, release, options),
+ setCommits: () => setCommits(/* release */),
+ finalizeRelease: () => finalizeRelease(cli, release, options),
+ addDeploy: () => addDeploy(/* release */),
};
}
-function createNewRelease(version: string) {
- //TODO(must have): implement release creation logic here
+async function createNewRelease(cli: SentryCli, release: string): Promise {
+ return cli.releases.new(release);
}
-function uploadSourceMaps(version: string) {
- //TODO(must have): implement source maps upload logic here
-}
+async function uploadSourceMaps(
+ cli: SentryCli,
+ release: string,
+ options: Options
+): Promise {
+ /**
+ * One or more paths to ignore during upload. Overrides entries in ignoreFile file.
+ */
+
+ const {
+ include,
+ // ignore,
+ // ignoreFile,
+ // rewrite,
+ // sourceMapReference,
+ // stripPrefix,
+ // stripCommonPrefix,
+ // validate,
+ // urlPrefix,
+ // urlSuffix,
+ // ext,
+ } = options;
+
+ //TODO: sort out mess between Sentry CLI options and WebPack plugin options (ideally,
+ // we normalize everything before and don't diverge with options between our
+ // own CLI implementation and the plugin.
+ // I don't want to do too much for this right now b/c we'll eventually get rid of the CLI anyway
+ const uploadSourceMapsOptions = { include: typeof include === "string" ? [include] : include };
-function finalizeRelease(version: string) {
- //TODO(must have): implement release finalization logic here
+ return cli.releases.uploadSourceMaps(release, uploadSourceMapsOptions);
}
-// TODO: Stuff we worry about later:
+async function finalizeRelease(cli: SentryCli, release: string, options: Options): Promise {
+ if (options.finalize) {
+ return cli.releases.finalize(release);
+ }
+ return Promise.resolve("nothing to do here");
+}
-function cleanArtifacts() {
- // NOOP for now
+async function cleanArtifacts(cli: SentryCli, release: string, options: Options): Promise {
+ if (options.cleanArtifacts) {
+ return cli.releases.execute(["releases", "files", release, "delete", "--all"], true);
+ }
+ return Promise.resolve("nothing to do here");
}
-function setCommits(version: string) {
- // NOOP for now
+// TODO: Stuff we worry about later:
+
+async function setCommits(/* version: string */): Promise {
+ return Promise.resolve("Noop");
}
-function addDeploy(version: string) {
- // NOOP for now
+async function addDeploy(/* version: string */): Promise {
+ return Promise.resolve("Noop");
}
diff --git a/packages/unplugin/src/index.ts b/packages/unplugin/src/index.ts
index f521e3139f51..95e8237db982 100644
--- a/packages/unplugin/src/index.ts
+++ b/packages/unplugin/src/index.ts
@@ -4,6 +4,15 @@ import { getReleaseName } from "./getReleaseName";
import { Options } from "./types";
import { makeSentryFacade } from "./facade";
+const defaultOptions: Omit = {
+ //TODO: add default options here as we port over options from the webpack plugin
+ // validate: false
+ configFile: "~/.sentryclirc",
+ debug: false,
+ cleanArtifacts: false,
+ finalize: true,
+};
+
/**
* The sentry-unplugin concerns itself with two things:
* - Release injection
@@ -67,7 +76,9 @@ import { makeSentryFacade } from "./facade";
* The sentry-unplugin will also take care of uploading source maps to Sentry. This is all done in the `buildEnd` hook.
* TODO: elaborate a bit on how sourcemaps upload works
*/
-const unplugin = createUnplugin((options, unpluginMetaContext) => {
+const unplugin = createUnplugin((originalOptions, unpluginMetaContext) => {
+ const options = { ...defaultOptions, ...originalOptions };
+
function debugLog(...args: unknown[]) {
if (options?.debugLogging) {
// eslint-disable-next-line no-console
@@ -162,9 +173,27 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
}
},
buildEnd() {
- const sentryFacade = makeSentryFacade(getReleaseName(options.release), options);
- //TODO: do stuff with the facade here lol
- debugLog("this is my facade:", sentryFacade);
+ const release = getReleaseName(options.release);
+ //TODO:
+ // 1. validate options to see if we get a valid include property, release name, etc.
+ // 2. normalize the include property: Users can pass string | string [] | IncludeEntry[].
+ // That's good for them but a hassle for us. Let's try to normalize this into one data type
+ // (I vote IncludeEntry[]) and continue with that down the line
+
+ const sentryFacade = makeSentryFacade(release, options);
+
+ sentryFacade
+ .createNewRelease()
+ .then(() => sentryFacade.cleanArtifacts())
+ .then(() => sentryFacade.uploadSourceMaps())
+ .then(() => sentryFacade.setCommits()) // this is a noop for now
+ .then(() => sentryFacade.finalizeRelease())
+ .then(() => sentryFacade.addDeploy()) // this is a noop for now
+ .catch((e) => {
+ //TODO: invoke error handler here
+ // https://github.com/getsentry/sentry-webpack-plugin/blob/137503f3ac6fe423b16c5c50379859c86e689017/src/index.js#L540-L547
+ debugLog(e);
+ });
},
};
});
diff --git a/packages/unplugin/src/types.ts b/packages/unplugin/src/types.ts
index d4041e2887ca..99ba7d6029be 100644
--- a/packages/unplugin/src/types.ts
+++ b/packages/unplugin/src/types.ts
@@ -1,4 +1,5 @@
//TODO: JsDoc for all properties
+//TODO: compare types w/ webpack plugin (and sentry-cli?)
export type Options = {
debugLogging?: boolean;
@@ -7,16 +8,16 @@ export type Options = {
project?: string;
authToken?: string;
url?: string;
- // configFile: string
+ configFile?: string;
/* --- release properties: */
release?: string;
// dist: string,
// entries: string[] | RegExp | ((key: string) => boolean);
+ finalize?: boolean;
/* --- source maps properties: */
- //TODO: make this required
- include?: string; //| string[] | IncludeEntry[];
+ include: string; // | Array;
// ignoreFile: string
// ignore: string | string[]
// ext: string[]
@@ -32,11 +33,10 @@ export type Options = {
// vcsRemote: string,
// customHeader: string,
- // finalize?: boolean,
// dryRun?: boolean,
debug?: boolean;
// silent?: boolean,
- // cleanArtifacts?: boolean,
+ cleanArtifacts?: boolean;
// errorHandler?: (err: Error, invokeErr: function(): void, compilation: unknown) => void,
// setCommits?: {
// repo?: string,
diff --git a/yarn.lock b/yarn.lock
index 0927cbd45da2..2e7ec4d6043f 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2073,6 +2073,62 @@
proxy-from-env "^1.1.0"
which "^2.0.2"
+"@sentry/core@7.11.1":
+ version "7.11.1"
+ resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.11.1.tgz#d68e796f3b6428aefd6086a1db00118df7a9a9e4"
+ integrity sha512-kaDSZ6VNuO4ZZdqUOOX6XM6x+kjo2bMnDQ3IJG51FPvVjr8lXYhXj1Ccxcot3pBYAIWPPby2+vNDOXllmXqoBA==
+ dependencies:
+ "@sentry/hub" "7.11.1"
+ "@sentry/types" "7.11.1"
+ "@sentry/utils" "7.11.1"
+ tslib "^1.9.3"
+
+"@sentry/hub@7.11.1":
+ version "7.11.1"
+ resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-7.11.1.tgz#1749b2b102ea1892ff388d65d66d3b402b393958"
+ integrity sha512-M6ClgdXdptS0lUBKB5KpXXe2qMQhsoiEN2pEGRI6+auqhfHCUQB1ZXsfjiOYexKC9fwx7TyFyZ9Jcaf2DTxEhw==
+ dependencies:
+ "@sentry/types" "7.11.1"
+ "@sentry/utils" "7.11.1"
+ tslib "^1.9.3"
+
+"@sentry/integrations@^7.11.1":
+ version "7.11.1"
+ resolved "https://registry.yarnpkg.com/@sentry/integrations/-/integrations-7.11.1.tgz#fa7b648fd479b9b8b8558f5b23c8c51a066737f5"
+ integrity sha512-G4aw9X2WdRGwLk/2pAj+5LuZnLM4u1GG3o8bOWNASR9E7IiQQ9ERYlnfW7jas+08B1Q61WLwJPXZhJxvQfxLQw==
+ dependencies:
+ "@sentry/types" "7.11.1"
+ "@sentry/utils" "7.11.1"
+ localforage "^1.8.1"
+ tslib "^1.9.3"
+
+"@sentry/node@^7.11.1":
+ version "7.11.1"
+ resolved "https://registry.yarnpkg.com/@sentry/node/-/node-7.11.1.tgz#97fd26de26e8203a3c34e26b38f3c2a5ba46828b"
+ integrity sha512-EAAHou/eHSzwRK0Z5qnQiwXNbkpnjWjloaG979gftA+MS/kM0AxQHdOrSJQbOEaqRf3F7/eC4Hj+1tfglAuaLQ==
+ dependencies:
+ "@sentry/core" "7.11.1"
+ "@sentry/hub" "7.11.1"
+ "@sentry/types" "7.11.1"
+ "@sentry/utils" "7.11.1"
+ cookie "^0.4.1"
+ https-proxy-agent "^5.0.0"
+ lru_map "^0.3.3"
+ tslib "^1.9.3"
+
+"@sentry/types@7.11.1":
+ version "7.11.1"
+ resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.11.1.tgz#06e2827f6ba37159c33644208a0453b86d25e232"
+ integrity sha512-gIEhOPxC2cjrxQ0+K2SFJ1P6e/an5osSxVc9OOtekN28eHtVsXFCLB8XVWeNQnS7N2VkrVrkqORMBz1kvIcvVQ==
+
+"@sentry/utils@7.11.1":
+ version "7.11.1"
+ resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.11.1.tgz#1635c5b223369d9428bc83c9b8908c9c3287ee10"
+ integrity sha512-tRVXNT5O9ilkV31pyHeTqA1PcPQfMV/2OR6yUYM4ah+QVISovC0f0ybhByuH5nYg6x/Gsnx1o7pc8L1GE3+O7A==
+ dependencies:
+ "@sentry/types" "7.11.1"
+ tslib "^1.9.3"
+
"@sinclair/typebox@^0.23.3":
version "0.23.5"
resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.23.5.tgz#93f7b9f4e3285a7a9ade7557d9a8d36809cbc47d"
@@ -3929,6 +3985,11 @@ convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0:
dependencies:
safe-buffer "~5.1.1"
+cookie@^0.4.1:
+ version "0.4.2"
+ resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432"
+ integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==
+
copy-concurrently@^1.0.0:
version "1.0.5"
resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0"
@@ -5799,6 +5860,11 @@ ignore@^5.1.4, ignore@^5.2.0:
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a"
integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==
+immediate@~3.0.5:
+ version "3.0.6"
+ resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b"
+ integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==
+
import-fresh@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546"
@@ -6902,6 +6968,13 @@ libnpmpublish@^1.1.1:
semver "^5.5.1"
ssri "^6.0.1"
+lie@3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e"
+ integrity sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==
+ dependencies:
+ immediate "~3.0.5"
+
lines-and-columns@^1.1.6:
version "1.2.4"
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
@@ -6947,6 +7020,13 @@ loader-utils@^1.2.3:
emojis-list "^3.0.0"
json5 "^1.0.1"
+localforage@^1.8.1:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/localforage/-/localforage-1.10.0.tgz#5c465dc5f62b2807c3a84c0c6a1b1b3212781dd4"
+ integrity sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==
+ dependencies:
+ lie "3.1.1"
+
locate-path@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
@@ -7064,6 +7144,11 @@ lru-cache@^6.0.0:
dependencies:
yallist "^4.0.0"
+lru_map@^0.3.3:
+ version "0.3.3"
+ resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd"
+ integrity sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==
+
macos-release@^2.2.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.5.0.tgz#067c2c88b5f3fb3c56a375b2ec93826220fa1ff2"
@@ -9889,7 +9974,7 @@ trim-newlines@^3.0.0:
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144"
integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==
-tslib@^1.8.1, tslib@^1.9.0:
+tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3:
version "1.14.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
From 148638028b488c7eae0b8e2ea9936757ce259972 Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Tue, 23 Aug 2022 15:08:30 +0200
Subject: [PATCH 023/640] test(integration-tests): Add integration test
scaffolding and release injection integration test (#25)
Co-authored-by: Lukas Stracke
---
.github/workflows/checks.yml | 9 +-
packages/integration-tests/.eslintrc.js | 20 +
packages/integration-tests/.gitignore | 1 +
packages/integration-tests/README.md | 5 +
.../basic-release-injection.test.ts | 38 +
.../input/entrypoint.js | 2 +
.../fixtures/basic-release-injection/setup.ts | 7 +
packages/integration-tests/jest.config.js | 6 +
packages/integration-tests/package.json | 29 +
.../scripts/run-fixture-setups.ts | 10 +
packages/integration-tests/tsconfig.json | 9 +
.../utils/create-cjs-bundles.ts | 95 +
packages/playground/build-esbuild.js | 2 +-
packages/playground/build-webpack4.js | 6 +-
packages/unplugin/test/example.test.ts | 5 -
yarn.lock | 2712 +++++++++--------
16 files changed, 1683 insertions(+), 1273 deletions(-)
create mode 100644 packages/integration-tests/.eslintrc.js
create mode 100644 packages/integration-tests/.gitignore
create mode 100644 packages/integration-tests/README.md
create mode 100644 packages/integration-tests/fixtures/basic-release-injection/basic-release-injection.test.ts
create mode 100644 packages/integration-tests/fixtures/basic-release-injection/input/entrypoint.js
create mode 100644 packages/integration-tests/fixtures/basic-release-injection/setup.ts
create mode 100644 packages/integration-tests/jest.config.js
create mode 100644 packages/integration-tests/package.json
create mode 100644 packages/integration-tests/scripts/run-fixture-setups.ts
create mode 100644 packages/integration-tests/tsconfig.json
create mode 100644 packages/integration-tests/utils/create-cjs-bundles.ts
delete mode 100644 packages/unplugin/test/example.test.ts
diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml
index f432b6d577f6..eafad2228043 100644
--- a/.github/workflows/checks.yml
+++ b/.github/workflows/checks.yml
@@ -7,7 +7,6 @@ on:
env:
DEFAULT_NODE_VERSION: "16.15.1"
- SENTRY_RELEASE: "default_release_name"
jobs:
build:
@@ -22,6 +21,7 @@ jobs:
- run: yarn build
type-check:
+ needs: build
name: Typing check
runs-on: ubuntu-latest
steps:
@@ -30,6 +30,7 @@ jobs:
with:
node-version: ${{ env.DEFAULT_NODE_VERSION }}
- run: yarn --frozen-lockfile
+ - run: yarn build
- run: yarn check:types
formatting-check:
@@ -44,6 +45,7 @@ jobs:
- run: yarn check:formatting
test:
+ needs: build
name: Tests
runs-on: ubuntu-latest
steps:
@@ -52,9 +54,11 @@ jobs:
with:
node-version: ${{ env.DEFAULT_NODE_VERSION }}
- run: yarn --frozen-lockfile
- - run: yarn check:formatting
+ - run: yarn build
+ - run: yarn test
lint:
+ needs: build
name: Linter check
runs-on: ubuntu-latest
steps:
@@ -63,4 +67,5 @@ jobs:
with:
node-version: ${{ env.DEFAULT_NODE_VERSION }}
- run: yarn --frozen-lockfile
+ - run: yarn build
- run: yarn lint
diff --git a/packages/integration-tests/.eslintrc.js b/packages/integration-tests/.eslintrc.js
new file mode 100644
index 000000000000..3e5522099d0e
--- /dev/null
+++ b/packages/integration-tests/.eslintrc.js
@@ -0,0 +1,20 @@
+const jestPackageJson = require("jest/package.json");
+
+/** @type {import('eslint').ESLint.Options} */
+module.exports = {
+ root: true,
+ extends: ["local/jest", "local/base"],
+ ignorePatterns: [".eslintrc.js", "fixtures/*/out", "jest.config.js"],
+ parserOptions: {
+ tsconfigRootDir: __dirname,
+ project: ["./tsconfig.json"],
+ },
+ env: {
+ node: true,
+ },
+ settings: {
+ jest: {
+ version: jestPackageJson.version,
+ },
+ },
+};
diff --git a/packages/integration-tests/.gitignore b/packages/integration-tests/.gitignore
new file mode 100644
index 000000000000..608c2472c35a
--- /dev/null
+++ b/packages/integration-tests/.gitignore
@@ -0,0 +1 @@
+fixtures/*/out/**
diff --git a/packages/integration-tests/README.md b/packages/integration-tests/README.md
new file mode 100644
index 000000000000..aedffc3ffdbb
--- /dev/null
+++ b/packages/integration-tests/README.md
@@ -0,0 +1,5 @@
+# Integration Tests
+
+Each folder in the `fixtures` folder represents one testing scenario.
+When `yarn test` is run, first `setup.ts` in all fixtures is executed, afterwards we run `jest`, which will pick up all `*.test.ts` files.
+The `*.test.ts` files can then use anything that is generated via `setup.ts`.
diff --git a/packages/integration-tests/fixtures/basic-release-injection/basic-release-injection.test.ts b/packages/integration-tests/fixtures/basic-release-injection/basic-release-injection.test.ts
new file mode 100644
index 000000000000..7d889cece802
--- /dev/null
+++ b/packages/integration-tests/fixtures/basic-release-injection/basic-release-injection.test.ts
@@ -0,0 +1,38 @@
+import childProcess from "child_process";
+import path from "path";
+
+/**
+ * Runs a node file in a seprate process.
+ *
+ * @param bundlePath Path of node file to run
+ * @returns Stdout of the process
+ */
+function checkBundle(bundlePath: string): void {
+ const processOutput = childProcess.execSync(`node ${bundlePath}`, { encoding: "utf-8" });
+ expect(processOutput).toBe("I AM A RELEASE!");
+}
+
+test("esbuild bundle", () => {
+ expect.assertions(1);
+ checkBundle(path.join(__dirname, "./out/esbuild/index.js"));
+});
+
+test("rollup bundle", () => {
+ expect.assertions(1);
+ checkBundle(path.join(__dirname, "./out/rollup/index.js"));
+});
+
+test("vite bundle", () => {
+ expect.assertions(1);
+ checkBundle(path.join(__dirname, "./out/vite/index.js"));
+});
+
+test("webpack 4 bundle", () => {
+ expect.assertions(1);
+ checkBundle(path.join(__dirname, "./out/webpack4/index.js"));
+});
+
+test("webpack 5 bundle", () => {
+ expect.assertions(1);
+ checkBundle(path.join(__dirname, "./out/webpack5/index.js"));
+});
diff --git a/packages/integration-tests/fixtures/basic-release-injection/input/entrypoint.js b/packages/integration-tests/fixtures/basic-release-injection/input/entrypoint.js
new file mode 100644
index 000000000000..c938f917787e
--- /dev/null
+++ b/packages/integration-tests/fixtures/basic-release-injection/input/entrypoint.js
@@ -0,0 +1,2 @@
+// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access
+process.stdout.write(global.SENTRY_RELEASE.id);
diff --git a/packages/integration-tests/fixtures/basic-release-injection/setup.ts b/packages/integration-tests/fixtures/basic-release-injection/setup.ts
new file mode 100644
index 000000000000..4dda90b407ab
--- /dev/null
+++ b/packages/integration-tests/fixtures/basic-release-injection/setup.ts
@@ -0,0 +1,7 @@
+import * as path from "path";
+import { createCjsBundles } from "../../utils/create-cjs-bundles";
+
+const entryPointPath = path.resolve(__dirname, "./input/entrypoint.js");
+const outputDir = path.resolve(__dirname, "./out");
+
+createCjsBundles(entryPointPath, outputDir, { release: "I AM A RELEASE!", include: "" });
diff --git a/packages/integration-tests/jest.config.js b/packages/integration-tests/jest.config.js
new file mode 100644
index 000000000000..160178bbd22f
--- /dev/null
+++ b/packages/integration-tests/jest.config.js
@@ -0,0 +1,6 @@
+module.exports = {
+ testEnvironment: "node",
+ transform: {
+ "^.+\\.(t|j)sx?$": ["@swc/jest"],
+ },
+};
diff --git a/packages/integration-tests/package.json b/packages/integration-tests/package.json
new file mode 100644
index 000000000000..5d9878d4d863
--- /dev/null
+++ b/packages/integration-tests/package.json
@@ -0,0 +1,29 @@
+{
+ "name": "integration-tests",
+ "version": "1.0.0",
+ "private": true,
+ "scripts": {
+ "test": "run-s test:setup test:jest",
+ "test:setup": "ts-node scripts/run-fixture-setups.ts",
+ "test:jest": "jest",
+ "lint": "eslint .",
+ "check:types": "tsc --project ./tsconfig.json --noEmit"
+ },
+ "dependencies": {
+ "@swc/jest": "^0.2.21",
+ "@types/jest": "^28.1.3",
+ "@sentry/unplugin": "*",
+ "@types/webpack4": "npm:@types/webpack@4.41.32",
+ "esbuild": "0.14.49",
+ "eslint-config-local": "*",
+ "jest": "^28.1.3",
+ "npm-run-all": "4.1.5",
+ "rollup": "2.77.0",
+ "sentry-unplugin-tsconfigs": "*",
+ "eslint": "^8.18.0",
+ "ts-node": "^10.9.1",
+ "vite": "3.0.0",
+ "webpack": "5.74.0",
+ "webpack4": "npm:webpack@4.46.0"
+ }
+}
diff --git a/packages/integration-tests/scripts/run-fixture-setups.ts b/packages/integration-tests/scripts/run-fixture-setups.ts
new file mode 100644
index 000000000000..7ee1409fbec4
--- /dev/null
+++ b/packages/integration-tests/scripts/run-fixture-setups.ts
@@ -0,0 +1,10 @@
+import fs from "fs";
+import path from "path";
+
+const fixturePaths = fs
+ .readdirSync(path.join(__dirname, "../fixtures"))
+ .map((fixtureDir) => path.join(__dirname, "../fixtures", fixtureDir));
+
+fixturePaths.forEach((fixturePath) => {
+ require(path.join(fixturePath, "setup.ts"));
+});
diff --git a/packages/integration-tests/tsconfig.json b/packages/integration-tests/tsconfig.json
new file mode 100644
index 000000000000..4eedee320803
--- /dev/null
+++ b/packages/integration-tests/tsconfig.json
@@ -0,0 +1,9 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "sentry-unplugin-tsconfigs/base-config.json",
+ "include": ["./**/*"],
+ "compilerOptions": {
+ "esModuleInterop": true,
+ "types": ["node", "jest"]
+ }
+}
diff --git a/packages/integration-tests/utils/create-cjs-bundles.ts b/packages/integration-tests/utils/create-cjs-bundles.ts
new file mode 100644
index 000000000000..7057c3899809
--- /dev/null
+++ b/packages/integration-tests/utils/create-cjs-bundles.ts
@@ -0,0 +1,95 @@
+import * as vite from "vite";
+import * as path from "path";
+import * as rollup from "rollup";
+import { default as webpack4 } from "webpack4";
+import { webpack as webpack5 } from "webpack";
+import * as esbuild from "esbuild";
+import {
+ sentryEsbuildPlugin,
+ sentryRollupPlugin,
+ sentryVitePlugin,
+ sentryWebpackPlugin,
+ Options,
+} from "@sentry/unplugin";
+
+export function createCjsBundles(
+ entryPointPath: string,
+ outFolder: string,
+ sentryUnpluginOptions: Options
+): void {
+ void vite.build({
+ clearScreen: false,
+ build: {
+ outDir: path.join(outFolder, "vite"),
+ lib: {
+ entry: entryPointPath,
+ fileName: "index",
+ formats: ["cjs"],
+ },
+ },
+ plugins: [sentryVitePlugin(sentryUnpluginOptions)],
+ });
+
+ void rollup
+ .rollup({
+ input: entryPointPath,
+ plugins: [sentryRollupPlugin(sentryUnpluginOptions)],
+ })
+ .then((bundle) =>
+ bundle.write({
+ file: path.join(outFolder, "rollup/index.js"),
+ format: "cjs",
+ exports: "named",
+ })
+ );
+
+ void esbuild.build({
+ entryPoints: [entryPointPath],
+ outfile: path.join(outFolder, "esbuild/index.js"),
+ plugins: [sentryEsbuildPlugin(sentryUnpluginOptions)],
+ minify: true,
+ bundle: true,
+ format: "cjs",
+ });
+
+ webpack4(
+ {
+ mode: "production",
+ entry: entryPointPath,
+ cache: false,
+ output: {
+ path: path.join(outFolder, "webpack4"),
+ filename: "index.js",
+ libraryTarget: "commonjs",
+ },
+ target: "node", // needed for webpack 4 so we can access node api
+ plugins: [sentryWebpackPlugin(sentryUnpluginOptions)],
+ },
+ (err) => {
+ if (err) {
+ throw err;
+ }
+ }
+ );
+
+ webpack5(
+ {
+ cache: false,
+ entry: entryPointPath,
+ output: {
+ filename: "index.js",
+ path: path.join(outFolder, "webpack5"),
+ library: {
+ type: "commonjs",
+ },
+ },
+ mode: "production",
+ plugins: [sentryWebpackPlugin(sentryUnpluginOptions)],
+ },
+ (err) => {
+ if (err) {
+ throw err;
+ }
+ }
+ );
+}
diff --git a/packages/playground/build-esbuild.js b/packages/playground/build-esbuild.js
index 9259fe59bbf4..7aa5bf99569a 100644
--- a/packages/playground/build-esbuild.js
+++ b/packages/playground/build-esbuild.js
@@ -13,5 +13,5 @@ build({
minify: true,
bundle: true,
format: "cjs",
- sourcemap: true, // currently we break source maps :(, we need to fix this upstream in unplugin
+ sourcemap: true,
});
diff --git a/packages/playground/build-webpack4.js b/packages/playground/build-webpack4.js
index a1adb0dfeec1..50b00612be0a 100644
--- a/packages/playground/build-webpack4.js
+++ b/packages/playground/build-webpack4.js
@@ -16,11 +16,7 @@ webpack4(
library: "ExampleBundle",
libraryTarget: "commonjs",
},
- plugins: [
- sentryWebpackPlugin({
- ...placeHolderOptions,
- }),
- ],
+ plugins: [sentryWebpackPlugin({ ...placeHolderOptions })],
devtool: "source-map",
},
(err) => {
diff --git a/packages/unplugin/test/example.test.ts b/packages/unplugin/test/example.test.ts
deleted file mode 100644
index 9d6b3cdb2a09..000000000000
--- a/packages/unplugin/test/example.test.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import { sentryRollupPlugin } from "../src/index";
-
-test("example", () => {
- expect(sentryRollupPlugin).toBeDefined();
-});
diff --git a/yarn.lock b/yarn.lock
index 2e7ec4d6043f..075ab4bd95d8 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -10,19 +10,19 @@
"@jridgewell/gen-mapping" "^0.1.0"
"@jridgewell/trace-mapping" "^0.3.9"
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7":
- version "7.16.7"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789"
- integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.18.6":
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a"
+ integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==
dependencies:
- "@babel/highlight" "^7.16.7"
+ "@babel/highlight" "^7.18.6"
-"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.17.10":
- version "7.18.5"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.5.tgz#acac0c839e317038c73137fbb6ef71a1d6238471"
- integrity sha512-BxhE40PVCBxVEJsSBhB6UWyAuqJRxGsAw8BdHMJ3AKGydcwuWW4kOO3HmqBQAdcq/OP+/DlTVxLvsCzRTnZuGg==
+"@babel/compat-data@^7.17.10", "@babel/compat-data@^7.17.7", "@babel/compat-data@^7.18.8":
+ version "7.18.13"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.13.tgz#6aff7b350a1e8c3e40b029e46cbe78e24a913483"
+ integrity sha512-5yUzC5LqyTFp2HLmDoxGQelcdYgSpP9xsnMWBphAscOdFrHSAVbLNzWiy32sVNDqJRDiJK6klfDnAgu6PAGSHw==
-"@babel/core@7.18.5", "@babel/core@^7.11.6", "@babel/core@^7.12.3":
+"@babel/core@7.18.5":
version "7.18.5"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.5.tgz#c597fa680e58d571c28dda9827669c78cdd7f000"
integrity sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ==
@@ -43,369 +43,395 @@
json5 "^2.2.1"
semver "^6.3.0"
-"@babel/generator@^7.18.2", "@babel/generator@^7.7.2":
- version "7.18.2"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.2.tgz#33873d6f89b21efe2da63fe554460f3df1c5880d"
- integrity sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==
+"@babel/core@^7.11.6", "@babel/core@^7.12.3":
+ version "7.18.13"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.13.tgz#9be8c44512751b05094a4d3ab05fc53a47ce00ac"
+ integrity sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A==
dependencies:
- "@babel/types" "^7.18.2"
- "@jridgewell/gen-mapping" "^0.3.0"
+ "@ampproject/remapping" "^2.1.0"
+ "@babel/code-frame" "^7.18.6"
+ "@babel/generator" "^7.18.13"
+ "@babel/helper-compilation-targets" "^7.18.9"
+ "@babel/helper-module-transforms" "^7.18.9"
+ "@babel/helpers" "^7.18.9"
+ "@babel/parser" "^7.18.13"
+ "@babel/template" "^7.18.10"
+ "@babel/traverse" "^7.18.13"
+ "@babel/types" "^7.18.13"
+ convert-source-map "^1.7.0"
+ debug "^4.1.0"
+ gensync "^1.0.0-beta.2"
+ json5 "^2.2.1"
+ semver "^6.3.0"
+
+"@babel/generator@^7.18.13", "@babel/generator@^7.18.2", "@babel/generator@^7.7.2":
+ version "7.18.13"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.13.tgz#59550cbb9ae79b8def15587bdfbaa388c4abf212"
+ integrity sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ==
+ dependencies:
+ "@babel/types" "^7.18.13"
+ "@jridgewell/gen-mapping" "^0.3.2"
jsesc "^2.5.1"
-"@babel/helper-annotate-as-pure@^7.16.7":
- version "7.16.7"
- resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862"
- integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==
+"@babel/helper-annotate-as-pure@^7.18.6":
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb"
+ integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==
dependencies:
- "@babel/types" "^7.16.7"
+ "@babel/types" "^7.18.6"
-"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.7":
- version "7.16.7"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz#38d138561ea207f0f69eb1626a418e4f7e6a580b"
- integrity sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==
+"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6":
+ version "7.18.9"
+ resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz#acd4edfd7a566d1d51ea975dff38fd52906981bb"
+ integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==
dependencies:
- "@babel/helper-explode-assignable-expression" "^7.16.7"
- "@babel/types" "^7.16.7"
+ "@babel/helper-explode-assignable-expression" "^7.18.6"
+ "@babel/types" "^7.18.9"
-"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.17.10", "@babel/helper-compilation-targets@^7.18.2":
- version "7.18.2"
- resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz#67a85a10cbd5fc7f1457fec2e7f45441dc6c754b"
- integrity sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==
+"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.2", "@babel/helper-compilation-targets@^7.18.9":
+ version "7.18.9"
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz#69e64f57b524cde3e5ff6cc5a9f4a387ee5563bf"
+ integrity sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==
dependencies:
- "@babel/compat-data" "^7.17.10"
- "@babel/helper-validator-option" "^7.16.7"
+ "@babel/compat-data" "^7.18.8"
+ "@babel/helper-validator-option" "^7.18.6"
browserslist "^4.20.2"
semver "^6.3.0"
-"@babel/helper-create-class-features-plugin@^7.17.12", "@babel/helper-create-class-features-plugin@^7.18.0":
- version "7.18.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.0.tgz#fac430912606331cb075ea8d82f9a4c145a4da19"
- integrity sha512-Kh8zTGR9de3J63e5nS0rQUdRs/kbtwoeQQ0sriS0lItjC96u8XXZN6lKpuyWd2coKSU13py/y+LTmThLuVX0Pg==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.16.7"
- "@babel/helper-environment-visitor" "^7.16.7"
- "@babel/helper-function-name" "^7.17.9"
- "@babel/helper-member-expression-to-functions" "^7.17.7"
- "@babel/helper-optimise-call-expression" "^7.16.7"
- "@babel/helper-replace-supers" "^7.16.7"
- "@babel/helper-split-export-declaration" "^7.16.7"
-
-"@babel/helper-create-regexp-features-plugin@^7.16.7", "@babel/helper-create-regexp-features-plugin@^7.17.12":
- version "7.17.12"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.12.tgz#bb37ca467f9694bbe55b884ae7a5cc1e0084e4fd"
- integrity sha512-b2aZrV4zvutr9AIa6/gA3wsZKRwTKYoDxYiFKcESS3Ug2GTXzwBEvMuuFLhCQpEnRXs1zng4ISAXSUxxKBIcxw==
+"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.18.9":
+ version "7.18.13"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.13.tgz#63e771187bd06d234f95fdf8bd5f8b6429de6298"
+ integrity sha512-hDvXp+QYxSRL+23mpAlSGxHMDyIGChm0/AwTfTAAK5Ufe40nCsyNdaYCGuK91phn/fVu9kqayImRDkvNAgdrsA==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.16.7"
- regexpu-core "^5.0.1"
+ "@babel/helper-annotate-as-pure" "^7.18.6"
+ "@babel/helper-environment-visitor" "^7.18.9"
+ "@babel/helper-function-name" "^7.18.9"
+ "@babel/helper-member-expression-to-functions" "^7.18.9"
+ "@babel/helper-optimise-call-expression" "^7.18.6"
+ "@babel/helper-replace-supers" "^7.18.9"
+ "@babel/helper-split-export-declaration" "^7.18.6"
-"@babel/helper-define-polyfill-provider@^0.3.1":
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz#52411b445bdb2e676869e5a74960d2d3826d2665"
- integrity sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==
+"@babel/helper-create-regexp-features-plugin@^7.18.6":
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz#3e35f4e04acbbf25f1b3534a657610a000543d3c"
+ integrity sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.18.6"
+ regexpu-core "^5.1.0"
+
+"@babel/helper-define-polyfill-provider@^0.3.1", "@babel/helper-define-polyfill-provider@^0.3.2":
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz#bd10d0aca18e8ce012755395b05a79f45eca5073"
+ integrity sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==
dependencies:
- "@babel/helper-compilation-targets" "^7.13.0"
- "@babel/helper-module-imports" "^7.12.13"
- "@babel/helper-plugin-utils" "^7.13.0"
- "@babel/traverse" "^7.13.0"
+ "@babel/helper-compilation-targets" "^7.17.7"
+ "@babel/helper-plugin-utils" "^7.16.7"
debug "^4.1.1"
lodash.debounce "^4.0.8"
resolve "^1.14.2"
semver "^6.1.2"
-"@babel/helper-environment-visitor@^7.16.7", "@babel/helper-environment-visitor@^7.18.2":
- version "7.18.2"
- resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz#8a6d2dedb53f6bf248e31b4baf38739ee4a637bd"
- integrity sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==
-
-"@babel/helper-explode-assignable-expression@^7.16.7":
- version "7.16.7"
- resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz#12a6d8522fdd834f194e868af6354e8650242b7a"
- integrity sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==
- dependencies:
- "@babel/types" "^7.16.7"
-
-"@babel/helper-function-name@^7.16.7", "@babel/helper-function-name@^7.17.9":
- version "7.17.9"
- resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12"
- integrity sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==
- dependencies:
- "@babel/template" "^7.16.7"
- "@babel/types" "^7.17.0"
-
-"@babel/helper-hoist-variables@^7.16.7":
- version "7.16.7"
- resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246"
- integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==
- dependencies:
- "@babel/types" "^7.16.7"
-
-"@babel/helper-member-expression-to-functions@^7.17.7":
- version "7.17.7"
- resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz#a34013b57d8542a8c4ff8ba3f747c02452a4d8c4"
- integrity sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==
- dependencies:
- "@babel/types" "^7.17.0"
-
-"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7":
- version "7.16.7"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437"
- integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==
- dependencies:
- "@babel/types" "^7.16.7"
-
-"@babel/helper-module-transforms@^7.18.0":
- version "7.18.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz#baf05dec7a5875fb9235bd34ca18bad4e21221cd"
- integrity sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA==
- dependencies:
- "@babel/helper-environment-visitor" "^7.16.7"
- "@babel/helper-module-imports" "^7.16.7"
- "@babel/helper-simple-access" "^7.17.7"
- "@babel/helper-split-export-declaration" "^7.16.7"
- "@babel/helper-validator-identifier" "^7.16.7"
- "@babel/template" "^7.16.7"
- "@babel/traverse" "^7.18.0"
- "@babel/types" "^7.18.0"
-
-"@babel/helper-optimise-call-expression@^7.16.7":
- version "7.16.7"
- resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2"
- integrity sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==
+"@babel/helper-environment-visitor@^7.18.9":
+ version "7.18.9"
+ resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be"
+ integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==
+
+"@babel/helper-explode-assignable-expression@^7.18.6":
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz#41f8228ef0a6f1a036b8dfdfec7ce94f9a6bc096"
+ integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==
dependencies:
- "@babel/types" "^7.16.7"
-
-"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.17.12", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
- version "7.17.12"
- resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz#86c2347da5acbf5583ba0a10aed4c9bf9da9cf96"
- integrity sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==
-
-"@babel/helper-remap-async-to-generator@^7.16.8":
- version "7.16.8"
- resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz#29ffaade68a367e2ed09c90901986918d25e57e3"
- integrity sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.16.7"
- "@babel/helper-wrap-function" "^7.16.8"
- "@babel/types" "^7.16.8"
-
-"@babel/helper-replace-supers@^7.16.7", "@babel/helper-replace-supers@^7.18.2":
- version "7.18.2"
- resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.18.2.tgz#41fdfcc9abaf900e18ba6e5931816d9062a7b2e0"
- integrity sha512-XzAIyxx+vFnrOxiQrToSUOzUOn0e1J2Li40ntddek1Y69AXUTXoDJ40/D5RdjFu7s7qHiaeoTiempZcbuVXh2Q==
- dependencies:
- "@babel/helper-environment-visitor" "^7.18.2"
- "@babel/helper-member-expression-to-functions" "^7.17.7"
- "@babel/helper-optimise-call-expression" "^7.16.7"
- "@babel/traverse" "^7.18.2"
- "@babel/types" "^7.18.2"
-
-"@babel/helper-simple-access@^7.17.7", "@babel/helper-simple-access@^7.18.2":
- version "7.18.2"
- resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz#4dc473c2169ac3a1c9f4a51cfcd091d1c36fcff9"
- integrity sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ==
- dependencies:
- "@babel/types" "^7.18.2"
-
-"@babel/helper-skip-transparent-expression-wrappers@^7.16.0":
- version "7.16.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09"
- integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==
- dependencies:
- "@babel/types" "^7.16.0"
-
-"@babel/helper-split-export-declaration@^7.16.7":
- version "7.16.7"
- resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b"
- integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==
- dependencies:
- "@babel/types" "^7.16.7"
-
-"@babel/helper-validator-identifier@^7.16.7":
- version "7.16.7"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad"
- integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==
-
-"@babel/helper-validator-option@^7.16.7":
- version "7.16.7"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23"
- integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==
-
-"@babel/helper-wrap-function@^7.16.8":
- version "7.16.8"
- resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz#58afda087c4cd235de92f7ceedebca2c41274200"
- integrity sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==
- dependencies:
- "@babel/helper-function-name" "^7.16.7"
- "@babel/template" "^7.16.7"
- "@babel/traverse" "^7.16.8"
- "@babel/types" "^7.16.8"
-
-"@babel/helpers@^7.18.2":
- version "7.18.2"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.2.tgz#970d74f0deadc3f5a938bfa250738eb4ac889384"
- integrity sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg==
- dependencies:
- "@babel/template" "^7.16.7"
- "@babel/traverse" "^7.18.2"
- "@babel/types" "^7.18.2"
-
-"@babel/highlight@^7.16.7":
- version "7.17.12"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.12.tgz#257de56ee5afbd20451ac0a75686b6b404257351"
- integrity sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==
- dependencies:
- "@babel/helper-validator-identifier" "^7.16.7"
+ "@babel/types" "^7.18.6"
+
+"@babel/helper-function-name@^7.18.9":
+ version "7.18.9"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz#940e6084a55dee867d33b4e487da2676365e86b0"
+ integrity sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==
+ dependencies:
+ "@babel/template" "^7.18.6"
+ "@babel/types" "^7.18.9"
+
+"@babel/helper-hoist-variables@^7.18.6":
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678"
+ integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==
+ dependencies:
+ "@babel/types" "^7.18.6"
+
+"@babel/helper-member-expression-to-functions@^7.18.9":
+ version "7.18.9"
+ resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz#1531661e8375af843ad37ac692c132841e2fd815"
+ integrity sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==
+ dependencies:
+ "@babel/types" "^7.18.9"
+
+"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.18.6":
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e"
+ integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==
+ dependencies:
+ "@babel/types" "^7.18.6"
+
+"@babel/helper-module-transforms@^7.18.0", "@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.18.9":
+ version "7.18.9"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz#5a1079c005135ed627442df31a42887e80fcb712"
+ integrity sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==
+ dependencies:
+ "@babel/helper-environment-visitor" "^7.18.9"
+ "@babel/helper-module-imports" "^7.18.6"
+ "@babel/helper-simple-access" "^7.18.6"
+ "@babel/helper-split-export-declaration" "^7.18.6"
+ "@babel/helper-validator-identifier" "^7.18.6"
+ "@babel/template" "^7.18.6"
+ "@babel/traverse" "^7.18.9"
+ "@babel/types" "^7.18.9"
+
+"@babel/helper-optimise-call-expression@^7.18.6":
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe"
+ integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==
+ dependencies:
+ "@babel/types" "^7.18.6"
+
+"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.17.12", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
+ version "7.18.9"
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz#4b8aea3b069d8cb8a72cdfe28ddf5ceca695ef2f"
+ integrity sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==
+
+"@babel/helper-remap-async-to-generator@^7.18.6", "@babel/helper-remap-async-to-generator@^7.18.9":
+ version "7.18.9"
+ resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519"
+ integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.18.6"
+ "@babel/helper-environment-visitor" "^7.18.9"
+ "@babel/helper-wrap-function" "^7.18.9"
+ "@babel/types" "^7.18.9"
+
+"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.18.9":
+ version "7.18.9"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz#1092e002feca980fbbb0bd4d51b74a65c6a500e6"
+ integrity sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==
+ dependencies:
+ "@babel/helper-environment-visitor" "^7.18.9"
+ "@babel/helper-member-expression-to-functions" "^7.18.9"
+ "@babel/helper-optimise-call-expression" "^7.18.6"
+ "@babel/traverse" "^7.18.9"
+ "@babel/types" "^7.18.9"
+
+"@babel/helper-simple-access@^7.18.6":
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea"
+ integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==
+ dependencies:
+ "@babel/types" "^7.18.6"
+
+"@babel/helper-skip-transparent-expression-wrappers@^7.18.9":
+ version "7.18.9"
+ resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz#778d87b3a758d90b471e7b9918f34a9a02eb5818"
+ integrity sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==
+ dependencies:
+ "@babel/types" "^7.18.9"
+
+"@babel/helper-split-export-declaration@^7.18.6":
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075"
+ integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==
+ dependencies:
+ "@babel/types" "^7.18.6"
+
+"@babel/helper-string-parser@^7.18.10":
+ version "7.18.10"
+ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56"
+ integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==
+
+"@babel/helper-validator-identifier@^7.18.6":
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076"
+ integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==
+
+"@babel/helper-validator-option@^7.16.7", "@babel/helper-validator-option@^7.18.6":
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8"
+ integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==
+
+"@babel/helper-wrap-function@^7.18.9":
+ version "7.18.11"
+ resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.18.11.tgz#bff23ace436e3f6aefb61f85ffae2291c80ed1fb"
+ integrity sha512-oBUlbv+rjZLh2Ks9SKi4aL7eKaAXBWleHzU89mP0G6BMUlRxSckk9tSIkgDGydhgFxHuGSlBQZfnaD47oBEB7w==
+ dependencies:
+ "@babel/helper-function-name" "^7.18.9"
+ "@babel/template" "^7.18.10"
+ "@babel/traverse" "^7.18.11"
+ "@babel/types" "^7.18.10"
+
+"@babel/helpers@^7.18.2", "@babel/helpers@^7.18.9":
+ version "7.18.9"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.9.tgz#4bef3b893f253a1eced04516824ede94dcfe7ff9"
+ integrity sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==
+ dependencies:
+ "@babel/template" "^7.18.6"
+ "@babel/traverse" "^7.18.9"
+ "@babel/types" "^7.18.9"
+
+"@babel/highlight@^7.18.6":
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf"
+ integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.18.6"
chalk "^2.0.0"
js-tokens "^4.0.0"
-"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.18.5":
- version "7.18.5"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.5.tgz#337062363436a893a2d22faa60be5bb37091c83c"
- integrity sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw==
+"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.18.13", "@babel/parser@^7.18.5":
+ version "7.18.13"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.13.tgz#5b2dd21cae4a2c5145f1fbd8ca103f9313d3b7e4"
+ integrity sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg==
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.17.12":
- version "7.17.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12.tgz#1dca338caaefca368639c9ffb095afbd4d420b1e"
- integrity sha512-xCJQXl4EeQ3J9C4yOmpTrtVGmzpm2iSzyxbkZHw7UCnZBftHpF/hpII80uWVyVrc40ytIClHjgWGTG1g/yB+aw==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2"
+ integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.17.12":
- version "7.17.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12.tgz#0d498ec8f0374b1e2eb54b9cb2c4c78714c77753"
- integrity sha512-/vt0hpIw0x4b6BLKUkwlvEoiGZYYLNZ96CzyHYPbtG2jZGz6LBe7/V+drYrc/d+ovrF9NBi0pmtvmNb/FsWtRQ==
+ version "7.18.9"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz#a11af19aa373d68d561f08e0a57242350ed0ec50"
+ integrity sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==
dependencies:
- "@babel/helper-plugin-utils" "^7.17.12"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0"
- "@babel/plugin-proposal-optional-chaining" "^7.17.12"
+ "@babel/helper-plugin-utils" "^7.18.9"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9"
+ "@babel/plugin-proposal-optional-chaining" "^7.18.9"
"@babel/plugin-proposal-async-generator-functions@^7.17.12":
- version "7.17.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.17.12.tgz#094a417e31ce7e692d84bab06c8e2a607cbeef03"
- integrity sha512-RWVvqD1ooLKP6IqWTA5GyFVX2isGEgC5iFxKzfYOIy/QEFdxYyCybBDtIGjipHpb9bDWHzcqGqFakf+mVmBTdQ==
+ version "7.18.10"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz#85ea478c98b0095c3e4102bff3b67d306ed24952"
+ integrity sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==
dependencies:
- "@babel/helper-plugin-utils" "^7.17.12"
- "@babel/helper-remap-async-to-generator" "^7.16.8"
+ "@babel/helper-environment-visitor" "^7.18.9"
+ "@babel/helper-plugin-utils" "^7.18.9"
+ "@babel/helper-remap-async-to-generator" "^7.18.9"
"@babel/plugin-syntax-async-generators" "^7.8.4"
"@babel/plugin-proposal-class-properties@^7.17.12":
- version "7.17.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.17.12.tgz#84f65c0cc247d46f40a6da99aadd6438315d80a4"
- integrity sha512-U0mI9q8pW5Q9EaTHFPwSVusPMV/DV9Mm8p7csqROFLtIE9rBF5piLqyrBGigftALrBcsBGu4m38JneAe7ZDLXw==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3"
+ integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.17.12"
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-create-class-features-plugin" "^7.18.6"
+ "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-proposal-class-static-block@^7.18.0":
- version "7.18.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.0.tgz#7d02253156e3c3793bdb9f2faac3a1c05f0ba710"
- integrity sha512-t+8LsRMMDE74c6sV7KShIw13sqbqd58tlqNrsWoWBTIMw7SVQ0cZ905wLNS/FBCy/3PyooRHLFFlfrUNyyz5lA==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz#8aa81d403ab72d3962fc06c26e222dacfc9b9020"
+ integrity sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.18.0"
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-create-class-features-plugin" "^7.18.6"
+ "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-syntax-class-static-block" "^7.14.5"
"@babel/plugin-proposal-dynamic-import@^7.16.7":
- version "7.16.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz#c19c897eaa46b27634a00fee9fb7d829158704b2"
- integrity sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94"
+ integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==
dependencies:
- "@babel/helper-plugin-utils" "^7.16.7"
+ "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-syntax-dynamic-import" "^7.8.3"
"@babel/plugin-proposal-export-namespace-from@^7.17.12":
- version "7.17.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.17.12.tgz#b22864ccd662db9606edb2287ea5fd1709f05378"
- integrity sha512-j7Ye5EWdwoXOpRmo5QmRyHPsDIe6+u70ZYZrd7uz+ebPYFKfRcLcNu3Ro0vOlJ5zuv8rU7xa+GttNiRzX56snQ==
+ version "7.18.9"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203"
+ integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==
dependencies:
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-plugin-utils" "^7.18.9"
"@babel/plugin-syntax-export-namespace-from" "^7.8.3"
"@babel/plugin-proposal-json-strings@^7.17.12":
- version "7.17.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.17.12.tgz#f4642951792437233216d8c1af370bb0fbff4664"
- integrity sha512-rKJ+rKBoXwLnIn7n6o6fulViHMrOThz99ybH+hKHcOZbnN14VuMnH9fo2eHE69C8pO4uX1Q7t2HYYIDmv8VYkg==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b"
+ integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-syntax-json-strings" "^7.8.3"
"@babel/plugin-proposal-logical-assignment-operators@^7.17.12":
- version "7.17.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.17.12.tgz#c64a1bcb2b0a6d0ed2ff674fd120f90ee4b88a23"
- integrity sha512-EqFo2s1Z5yy+JeJu7SFfbIUtToJTVlC61/C7WLKDntSw4Sz6JNAIfL7zQ74VvirxpjB5kz/kIx0gCcb+5OEo2Q==
+ version "7.18.9"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz#8148cbb350483bf6220af06fa6db3690e14b2e23"
+ integrity sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==
dependencies:
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-plugin-utils" "^7.18.9"
"@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
"@babel/plugin-proposal-nullish-coalescing-operator@^7.17.12":
- version "7.17.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.17.12.tgz#1e93079bbc2cbc756f6db6a1925157c4a92b94be"
- integrity sha512-ws/g3FSGVzv+VH86+QvgtuJL/kR67xaEIF2x0iPqdDfYW6ra6JF3lKVBkWynRLcNtIC1oCTfDRVxmm2mKzy+ag==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1"
+ integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==
dependencies:
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
"@babel/plugin-proposal-numeric-separator@^7.16.7":
- version "7.16.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz#d6b69f4af63fb38b6ca2558442a7fb191236eba9"
- integrity sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75"
+ integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==
dependencies:
- "@babel/helper-plugin-utils" "^7.16.7"
+ "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-syntax-numeric-separator" "^7.10.4"
"@babel/plugin-proposal-object-rest-spread@^7.18.0":
- version "7.18.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz#79f2390c892ba2a68ec112eb0d895cfbd11155e8"
- integrity sha512-nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw==
+ version "7.18.9"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz#f9434f6beb2c8cae9dfcf97d2a5941bbbf9ad4e7"
+ integrity sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==
dependencies:
- "@babel/compat-data" "^7.17.10"
- "@babel/helper-compilation-targets" "^7.17.10"
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/compat-data" "^7.18.8"
+ "@babel/helper-compilation-targets" "^7.18.9"
+ "@babel/helper-plugin-utils" "^7.18.9"
"@babel/plugin-syntax-object-rest-spread" "^7.8.3"
- "@babel/plugin-transform-parameters" "^7.17.12"
+ "@babel/plugin-transform-parameters" "^7.18.8"
"@babel/plugin-proposal-optional-catch-binding@^7.16.7":
- version "7.16.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz#c623a430674ffc4ab732fd0a0ae7722b67cb74cf"
- integrity sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb"
+ integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==
dependencies:
- "@babel/helper-plugin-utils" "^7.16.7"
+ "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
-"@babel/plugin-proposal-optional-chaining@^7.17.12":
- version "7.17.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.17.12.tgz#f96949e9bacace3a9066323a5cf90cfb9de67174"
- integrity sha512-7wigcOs/Z4YWlK7xxjkvaIw84vGhDv/P1dFGQap0nHkc8gFKY/r+hXc8Qzf5k1gY7CvGIcHqAnOagVKJJ1wVOQ==
+"@babel/plugin-proposal-optional-chaining@^7.17.12", "@babel/plugin-proposal-optional-chaining@^7.18.9":
+ version "7.18.9"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz#e8e8fe0723f2563960e4bf5e9690933691915993"
+ integrity sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==
dependencies:
- "@babel/helper-plugin-utils" "^7.17.12"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0"
+ "@babel/helper-plugin-utils" "^7.18.9"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9"
"@babel/plugin-syntax-optional-chaining" "^7.8.3"
"@babel/plugin-proposal-private-methods@^7.17.12":
- version "7.17.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.17.12.tgz#c2ca3a80beb7539289938da005ad525a038a819c"
- integrity sha512-SllXoxo19HmxhDWm3luPz+cPhtoTSKLJE9PXshsfrOzBqs60QP0r8OaJItrPhAj0d7mZMnNF0Y1UUggCDgMz1A==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea"
+ integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.17.12"
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-create-class-features-plugin" "^7.18.6"
+ "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-proposal-private-property-in-object@^7.17.12":
- version "7.17.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.17.12.tgz#b02efb7f106d544667d91ae97405a9fd8c93952d"
- integrity sha512-/6BtVi57CJfrtDNKfK5b66ydK2J5pXUKBKSPD2G1whamMuEnZWgoOIfO8Vf9F/DoD4izBLD/Au4NMQfruzzykg==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz#a64137b232f0aca3733a67eb1a144c192389c503"
+ integrity sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.16.7"
- "@babel/helper-create-class-features-plugin" "^7.17.12"
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-annotate-as-pure" "^7.18.6"
+ "@babel/helper-create-class-features-plugin" "^7.18.6"
+ "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-syntax-private-property-in-object" "^7.14.5"
"@babel/plugin-proposal-unicode-property-regex@^7.17.12", "@babel/plugin-proposal-unicode-property-regex@^7.4.4":
- version "7.17.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.17.12.tgz#3dbd7a67bd7f94c8238b394da112d86aaf32ad4d"
- integrity sha512-Wb9qLjXf3ZazqXA7IvI7ozqRIXIGPtSo+L5coFmEkhTQK18ao4UDDD0zdTGAarmbLj2urpRwrc6893cu5Bfh0A==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e"
+ integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.17.12"
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-create-regexp-features-plugin" "^7.18.6"
+ "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-syntax-async-generators@^7.8.4":
version "7.8.4"
@@ -450,11 +476,11 @@
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-syntax-import-assertions@^7.17.12":
- version "7.17.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.17.12.tgz#58096a92b11b2e4e54b24c6a0cc0e5e607abcedd"
- integrity sha512-n/loy2zkq9ZEM8tEOwON9wTQSTNDTDEz6NujPtJGLU7qObzT1N4c4YZZf8E6ATB2AjNQg/Ib2AIpO03EZaCehw==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz#cd6190500a4fa2fe31990a963ffab4b63e4505e4"
+ integrity sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-syntax-import-meta@^7.8.3":
version "7.10.4"
@@ -526,273 +552,273 @@
dependencies:
"@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-syntax-typescript@^7.17.12", "@babel/plugin-syntax-typescript@^7.7.2":
- version "7.17.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.12.tgz#b54fc3be6de734a56b87508f99d6428b5b605a7b"
- integrity sha512-TYY0SXFiO31YXtNg3HtFwNJHjLsAyIIhAhNWkQ5whPPS7HWUFlg9z0Ta4qAQNjQbP1wsSt/oKkmZ/4/WWdMUpw==
+"@babel/plugin-syntax-typescript@^7.18.6", "@babel/plugin-syntax-typescript@^7.7.2":
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz#1c09cd25795c7c2b8a4ba9ae49394576d4133285"
+ integrity sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==
dependencies:
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-transform-arrow-functions@^7.17.12":
- version "7.17.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.17.12.tgz#dddd783b473b1b1537ef46423e3944ff24898c45"
- integrity sha512-PHln3CNi/49V+mza4xMwrg+WGYevSF1oaiXaC2EQfdp4HWlSjRsrDXWJiQBKpP7749u6vQ9mcry2uuFOv5CXvA==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz#19063fcf8771ec7b31d742339dac62433d0611fe"
+ integrity sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-transform-async-to-generator@^7.17.12":
- version "7.17.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.17.12.tgz#dbe5511e6b01eee1496c944e35cdfe3f58050832"
- integrity sha512-J8dbrWIOO3orDzir57NRsjg4uxucvhby0L/KZuGsWDj0g7twWK3g7JhJhOrXtuXiw8MeiSdJ3E0OW9H8LYEzLQ==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz#ccda3d1ab9d5ced5265fdb13f1882d5476c71615"
+ integrity sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==
dependencies:
- "@babel/helper-module-imports" "^7.16.7"
- "@babel/helper-plugin-utils" "^7.17.12"
- "@babel/helper-remap-async-to-generator" "^7.16.8"
+ "@babel/helper-module-imports" "^7.18.6"
+ "@babel/helper-plugin-utils" "^7.18.6"
+ "@babel/helper-remap-async-to-generator" "^7.18.6"
"@babel/plugin-transform-block-scoped-functions@^7.16.7":
- version "7.16.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620"
- integrity sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8"
+ integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.16.7"
+ "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-transform-block-scoping@^7.17.12":
- version "7.18.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.4.tgz#7988627b3e9186a13e4d7735dc9c34a056613fb9"
- integrity sha512-+Hq10ye+jlvLEogSOtq4mKvtk7qwcUQ1f0Mrueai866C82f844Yom2cttfJdMdqRLTxWpsbfbkIkOIfovyUQXw==
+ version "7.18.9"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz#f9b7e018ac3f373c81452d6ada8bd5a18928926d"
+ integrity sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==
dependencies:
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-plugin-utils" "^7.18.9"
"@babel/plugin-transform-classes@^7.17.12":
- version "7.18.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.4.tgz#51310b812a090b846c784e47087fa6457baef814"
- integrity sha512-e42NSG2mlKWgxKUAD9EJJSkZxR67+wZqzNxLSpc51T8tRU5SLFHsPmgYR5yr7sdgX4u+iHA1C5VafJ6AyImV3A==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.16.7"
- "@babel/helper-environment-visitor" "^7.18.2"
- "@babel/helper-function-name" "^7.17.9"
- "@babel/helper-optimise-call-expression" "^7.16.7"
- "@babel/helper-plugin-utils" "^7.17.12"
- "@babel/helper-replace-supers" "^7.18.2"
- "@babel/helper-split-export-declaration" "^7.16.7"
+ version "7.18.9"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz#90818efc5b9746879b869d5ce83eb2aa48bbc3da"
+ integrity sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.18.6"
+ "@babel/helper-environment-visitor" "^7.18.9"
+ "@babel/helper-function-name" "^7.18.9"
+ "@babel/helper-optimise-call-expression" "^7.18.6"
+ "@babel/helper-plugin-utils" "^7.18.9"
+ "@babel/helper-replace-supers" "^7.18.9"
+ "@babel/helper-split-export-declaration" "^7.18.6"
globals "^11.1.0"
"@babel/plugin-transform-computed-properties@^7.17.12":
- version "7.17.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.17.12.tgz#bca616a83679698f3258e892ed422546e531387f"
- integrity sha512-a7XINeplB5cQUWMg1E/GI1tFz3LfK021IjV1rj1ypE+R7jHm+pIHmHl25VNkZxtx9uuYp7ThGk8fur1HHG7PgQ==
+ version "7.18.9"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz#2357a8224d402dad623caf6259b611e56aec746e"
+ integrity sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==
dependencies:
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-plugin-utils" "^7.18.9"
"@babel/plugin-transform-destructuring@^7.18.0":
- version "7.18.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.0.tgz#dc4f92587e291b4daa78aa20cc2d7a63aa11e858"
- integrity sha512-Mo69klS79z6KEfrLg/1WkmVnB8javh75HX4pi2btjvlIoasuxilEyjtsQW6XPrubNd7AQy0MMaNIaQE4e7+PQw==
+ version "7.18.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.13.tgz#9e03bc4a94475d62b7f4114938e6c5c33372cbf5"
+ integrity sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow==
dependencies:
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-plugin-utils" "^7.18.9"
"@babel/plugin-transform-dotall-regex@^7.16.7", "@babel/plugin-transform-dotall-regex@^7.4.4":
- version "7.16.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz#6b2d67686fab15fb6a7fd4bd895d5982cfc81241"
- integrity sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8"
+ integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.16.7"
- "@babel/helper-plugin-utils" "^7.16.7"
+ "@babel/helper-create-regexp-features-plugin" "^7.18.6"
+ "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-transform-duplicate-keys@^7.17.12":
- version "7.17.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.17.12.tgz#a09aa709a3310013f8e48e0e23bc7ace0f21477c"
- integrity sha512-EA5eYFUG6xeerdabina/xIoB95jJ17mAkR8ivx6ZSu9frKShBjpOGZPn511MTDTkiCO+zXnzNczvUM69YSf3Zw==
+ version "7.18.9"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz#687f15ee3cdad6d85191eb2a372c4528eaa0ae0e"
+ integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==
dependencies:
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-plugin-utils" "^7.18.9"
"@babel/plugin-transform-exponentiation-operator@^7.16.7":
- version "7.16.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz#efa9862ef97e9e9e5f653f6ddc7b665e8536fe9b"
- integrity sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz#421c705f4521888c65e91fdd1af951bfefd4dacd"
+ integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==
dependencies:
- "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7"
- "@babel/helper-plugin-utils" "^7.16.7"
+ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6"
+ "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-transform-for-of@^7.18.1":
- version "7.18.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.1.tgz#ed14b657e162b72afbbb2b4cdad277bf2bb32036"
- integrity sha512-+TTB5XwvJ5hZbO8xvl2H4XaMDOAK57zF4miuC9qQJgysPNEAZZ9Z69rdF5LJkozGdZrjBIUAIyKUWRMmebI7vg==
+ version "7.18.8"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz#6ef8a50b244eb6a0bdbad0c7c61877e4e30097c1"
+ integrity sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-transform-function-name@^7.16.7":
- version "7.16.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz#5ab34375c64d61d083d7d2f05c38d90b97ec65cf"
- integrity sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==
+ version "7.18.9"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0"
+ integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==
dependencies:
- "@babel/helper-compilation-targets" "^7.16.7"
- "@babel/helper-function-name" "^7.16.7"
- "@babel/helper-plugin-utils" "^7.16.7"
+ "@babel/helper-compilation-targets" "^7.18.9"
+ "@babel/helper-function-name" "^7.18.9"
+ "@babel/helper-plugin-utils" "^7.18.9"
"@babel/plugin-transform-literals@^7.17.12":
- version "7.17.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.17.12.tgz#97131fbc6bbb261487105b4b3edbf9ebf9c830ae"
- integrity sha512-8iRkvaTjJciWycPIZ9k9duu663FT7VrBdNqNgxnVXEFwOIp55JWcZd23VBRySYbnS3PwQ3rGiabJBBBGj5APmQ==
+ version "7.18.9"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc"
+ integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==
dependencies:
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-plugin-utils" "^7.18.9"
"@babel/plugin-transform-member-expression-literals@^7.16.7":
- version "7.16.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384"
- integrity sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e"
+ integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==
dependencies:
- "@babel/helper-plugin-utils" "^7.16.7"
+ "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-transform-modules-amd@^7.18.0":
- version "7.18.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.0.tgz#7ef1002e67e36da3155edc8bf1ac9398064c02ed"
- integrity sha512-h8FjOlYmdZwl7Xm2Ug4iX2j7Qy63NANI+NQVWQzv6r25fqgg7k2dZl03p95kvqNclglHs4FZ+isv4p1uXMA+QA==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz#8c91f8c5115d2202f277549848874027d7172d21"
+ integrity sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==
dependencies:
- "@babel/helper-module-transforms" "^7.18.0"
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-module-transforms" "^7.18.6"
+ "@babel/helper-plugin-utils" "^7.18.6"
babel-plugin-dynamic-import-node "^2.3.3"
"@babel/plugin-transform-modules-commonjs@^7.18.2":
- version "7.18.2"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.2.tgz#1aa8efa2e2a6e818b6a7f2235fceaf09bdb31e9e"
- integrity sha512-f5A865gFPAJAEE0K7F/+nm5CmAE3y8AWlMBG9unu5j9+tk50UQVK0QS8RNxSp7MJf0wh97uYyLWt3Zvu71zyOQ==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz#afd243afba166cca69892e24a8fd8c9f2ca87883"
+ integrity sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==
dependencies:
- "@babel/helper-module-transforms" "^7.18.0"
- "@babel/helper-plugin-utils" "^7.17.12"
- "@babel/helper-simple-access" "^7.18.2"
+ "@babel/helper-module-transforms" "^7.18.6"
+ "@babel/helper-plugin-utils" "^7.18.6"
+ "@babel/helper-simple-access" "^7.18.6"
babel-plugin-dynamic-import-node "^2.3.3"
"@babel/plugin-transform-modules-systemjs@^7.18.0":
- version "7.18.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.5.tgz#87f11c44fbfd3657be000d4897e192d9cb535996"
- integrity sha512-SEewrhPpcqMF1V7DhnEbhVJLrC+nnYfe1E0piZMZXBpxi9WvZqWGwpsk7JYP7wPWeqaBh4gyKlBhHJu3uz5g4Q==
- dependencies:
- "@babel/helper-hoist-variables" "^7.16.7"
- "@babel/helper-module-transforms" "^7.18.0"
- "@babel/helper-plugin-utils" "^7.17.12"
- "@babel/helper-validator-identifier" "^7.16.7"
+ version "7.18.9"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz#545df284a7ac6a05125e3e405e536c5853099a06"
+ integrity sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==
+ dependencies:
+ "@babel/helper-hoist-variables" "^7.18.6"
+ "@babel/helper-module-transforms" "^7.18.9"
+ "@babel/helper-plugin-utils" "^7.18.9"
+ "@babel/helper-validator-identifier" "^7.18.6"
babel-plugin-dynamic-import-node "^2.3.3"
"@babel/plugin-transform-modules-umd@^7.18.0":
- version "7.18.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.0.tgz#56aac64a2c2a1922341129a4597d1fd5c3ff020f"
- integrity sha512-d/zZ8I3BWli1tmROLxXLc9A6YXvGK8egMxHp+E/rRwMh1Kip0AP77VwZae3snEJ33iiWwvNv2+UIIhfalqhzZA==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz#81d3832d6034b75b54e62821ba58f28ed0aab4b9"
+ integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==
dependencies:
- "@babel/helper-module-transforms" "^7.18.0"
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-module-transforms" "^7.18.6"
+ "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-transform-named-capturing-groups-regex@^7.17.12":
- version "7.17.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.12.tgz#9c4a5a5966e0434d515f2675c227fd8cc8606931"
- integrity sha512-vWoWFM5CKaTeHrdUJ/3SIOTRV+MBVGybOC9mhJkaprGNt5demMymDW24yC74avb915/mIRe3TgNb/d8idvnCRA==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz#c89bfbc7cc6805d692f3a49bc5fc1b630007246d"
+ integrity sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.17.12"
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-create-regexp-features-plugin" "^7.18.6"
+ "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-transform-new-target@^7.17.12":
- version "7.18.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.5.tgz#8c228c4a07501dd12c95c5f23d1622131cc23931"
- integrity sha512-TuRL5uGW4KXU6OsRj+mLp9BM7pO8e7SGNTEokQRRxHFkXYMFiy2jlKSZPFtI/mKORDzciH+hneskcSOp0gU8hg==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz#d128f376ae200477f37c4ddfcc722a8a1b3246a8"
+ integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==
dependencies:
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-transform-object-super@^7.16.7":
- version "7.16.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94"
- integrity sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c"
+ integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==
dependencies:
- "@babel/helper-plugin-utils" "^7.16.7"
- "@babel/helper-replace-supers" "^7.16.7"
+ "@babel/helper-plugin-utils" "^7.18.6"
+ "@babel/helper-replace-supers" "^7.18.6"
-"@babel/plugin-transform-parameters@^7.17.12":
- version "7.17.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.17.12.tgz#eb467cd9586ff5ff115a9880d6fdbd4a846b7766"
- integrity sha512-6qW4rWo1cyCdq1FkYri7AHpauchbGLXpdwnYsfxFb+KtddHENfsY5JZb35xUwkK5opOLcJ3BNd2l7PhRYGlwIA==
+"@babel/plugin-transform-parameters@^7.17.12", "@babel/plugin-transform-parameters@^7.18.8":
+ version "7.18.8"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz#ee9f1a0ce6d78af58d0956a9378ea3427cccb48a"
+ integrity sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==
dependencies:
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-transform-property-literals@^7.16.7":
- version "7.16.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55"
- integrity sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3"
+ integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==
dependencies:
- "@babel/helper-plugin-utils" "^7.16.7"
+ "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-transform-regenerator@^7.18.0":
- version "7.18.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.0.tgz#44274d655eb3f1af3f3a574ba819d3f48caf99d5"
- integrity sha512-C8YdRw9uzx25HSIzwA7EM7YP0FhCe5wNvJbZzjVNHHPGVcDJ3Aie+qGYYdS1oVQgn+B3eAIJbWFLrJ4Jipv7nw==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz#585c66cb84d4b4bf72519a34cfce761b8676ca73"
+ integrity sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-plugin-utils" "^7.18.6"
regenerator-transform "^0.15.0"
"@babel/plugin-transform-reserved-words@^7.17.12":
- version "7.17.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.17.12.tgz#7dbd349f3cdffba751e817cf40ca1386732f652f"
- integrity sha512-1KYqwbJV3Co03NIi14uEHW8P50Md6KqFgt0FfpHdK6oyAHQVTosgPuPSiWud1HX0oYJ1hGRRlk0fP87jFpqXZA==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz#b1abd8ebf8edaa5f7fe6bbb8d2133d23b6a6f76a"
+ integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==
dependencies:
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-transform-shorthand-properties@^7.16.7":
- version "7.16.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a"
- integrity sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9"
+ integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==
dependencies:
- "@babel/helper-plugin-utils" "^7.16.7"
+ "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-transform-spread@^7.17.12":
- version "7.17.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.17.12.tgz#c112cad3064299f03ea32afed1d659223935d1f5"
- integrity sha512-9pgmuQAtFi3lpNUstvG9nGfk9DkrdmWNp9KeKPFmuZCpEnxRzYlS8JgwPjYj+1AWDOSvoGN0H30p1cBOmT/Svg==
+ version "7.18.9"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz#6ea7a6297740f381c540ac56caf75b05b74fb664"
+ integrity sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==
dependencies:
- "@babel/helper-plugin-utils" "^7.17.12"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0"
+ "@babel/helper-plugin-utils" "^7.18.9"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9"
"@babel/plugin-transform-sticky-regex@^7.16.7":
- version "7.16.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz#c84741d4f4a38072b9a1e2e3fd56d359552e8660"
- integrity sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz#c6706eb2b1524028e317720339583ad0f444adcc"
+ integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==
dependencies:
- "@babel/helper-plugin-utils" "^7.16.7"
+ "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-transform-template-literals@^7.18.2":
- version "7.18.2"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.2.tgz#31ed6915721864847c48b656281d0098ea1add28"
- integrity sha512-/cmuBVw9sZBGZVOMkpAEaVLwm4JmK2GZ1dFKOGGpMzEHWFmyZZ59lUU0PdRr8YNYeQdNzTDwuxP2X2gzydTc9g==
+ version "7.18.9"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e"
+ integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==
dependencies:
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-plugin-utils" "^7.18.9"
"@babel/plugin-transform-typeof-symbol@^7.17.12":
- version "7.17.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.17.12.tgz#0f12f57ac35e98b35b4ed34829948d42bd0e6889"
- integrity sha512-Q8y+Jp7ZdtSPXCThB6zjQ74N3lj0f6TDh1Hnf5B+sYlzQ8i5Pjp8gW0My79iekSpT4WnI06blqP6DT0OmaXXmw==
+ version "7.18.9"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz#c8cea68263e45addcd6afc9091429f80925762c0"
+ integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==
dependencies:
- "@babel/helper-plugin-utils" "^7.17.12"
+ "@babel/helper-plugin-utils" "^7.18.9"
"@babel/plugin-transform-typescript@^7.17.12":
- version "7.18.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.18.4.tgz#587eaf6a39edb8c06215e550dc939faeadd750bf"
- integrity sha512-l4vHuSLUajptpHNEOUDEGsnpl9pfRLsN1XUoDQDD/YBuXTM+v37SHGS+c6n4jdcZy96QtuUuSvZYMLSSsjH8Mw==
+ version "7.18.12"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.18.12.tgz#712e9a71b9e00fde9f8c0238e0cceee86ab2f8fd"
+ integrity sha512-2vjjam0cum0miPkenUbQswKowuxs/NjMwIKEq0zwegRxXk12C9YOF9STXnaUptITOtOJHKHpzvvWYOjbm6tc0w==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.18.0"
- "@babel/helper-plugin-utils" "^7.17.12"
- "@babel/plugin-syntax-typescript" "^7.17.12"
+ "@babel/helper-create-class-features-plugin" "^7.18.9"
+ "@babel/helper-plugin-utils" "^7.18.9"
+ "@babel/plugin-syntax-typescript" "^7.18.6"
"@babel/plugin-transform-unicode-escapes@^7.16.7":
- version "7.16.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz#da8717de7b3287a2c6d659750c964f302b31ece3"
- integrity sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==
+ version "7.18.10"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz#1ecfb0eda83d09bbcb77c09970c2dd55832aa246"
+ integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.16.7"
+ "@babel/helper-plugin-utils" "^7.18.9"
"@babel/plugin-transform-unicode-regex@^7.16.7":
- version "7.16.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz#0f7aa4a501198976e25e82702574c34cfebe9ef2"
- integrity sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca"
+ integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.16.7"
- "@babel/helper-plugin-utils" "^7.16.7"
+ "@babel/helper-create-regexp-features-plugin" "^7.18.6"
+ "@babel/helper-plugin-utils" "^7.18.6"
"@babel/preset-env@7.18.2":
version "7.18.2"
@@ -896,43 +922,44 @@
"@babel/plugin-transform-typescript" "^7.17.12"
"@babel/runtime@^7.8.4":
- version "7.18.3"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.3.tgz#c7b654b57f6f63cf7f8b418ac9ca04408c4579f4"
- integrity sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug==
+ version "7.18.9"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.9.tgz#b4fcfce55db3d2e5e080d2490f608a3b9f407f4a"
+ integrity sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==
dependencies:
regenerator-runtime "^0.13.4"
-"@babel/template@^7.16.7", "@babel/template@^7.3.3":
- version "7.16.7"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155"
- integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==
- dependencies:
- "@babel/code-frame" "^7.16.7"
- "@babel/parser" "^7.16.7"
- "@babel/types" "^7.16.7"
-
-"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.18.0", "@babel/traverse@^7.18.2", "@babel/traverse@^7.18.5", "@babel/traverse@^7.7.2":
- version "7.18.5"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.5.tgz#94a8195ad9642801837988ab77f36e992d9a20cd"
- integrity sha512-aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA==
- dependencies:
- "@babel/code-frame" "^7.16.7"
- "@babel/generator" "^7.18.2"
- "@babel/helper-environment-visitor" "^7.18.2"
- "@babel/helper-function-name" "^7.17.9"
- "@babel/helper-hoist-variables" "^7.16.7"
- "@babel/helper-split-export-declaration" "^7.16.7"
- "@babel/parser" "^7.18.5"
- "@babel/types" "^7.18.4"
+"@babel/template@^7.16.7", "@babel/template@^7.18.10", "@babel/template@^7.18.6", "@babel/template@^7.3.3":
+ version "7.18.10"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71"
+ integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==
+ dependencies:
+ "@babel/code-frame" "^7.18.6"
+ "@babel/parser" "^7.18.10"
+ "@babel/types" "^7.18.10"
+
+"@babel/traverse@^7.18.11", "@babel/traverse@^7.18.13", "@babel/traverse@^7.18.5", "@babel/traverse@^7.18.9", "@babel/traverse@^7.7.2":
+ version "7.18.13"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.13.tgz#5ab59ef51a997b3f10c4587d648b9696b6cb1a68"
+ integrity sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA==
+ dependencies:
+ "@babel/code-frame" "^7.18.6"
+ "@babel/generator" "^7.18.13"
+ "@babel/helper-environment-visitor" "^7.18.9"
+ "@babel/helper-function-name" "^7.18.9"
+ "@babel/helper-hoist-variables" "^7.18.6"
+ "@babel/helper-split-export-declaration" "^7.18.6"
+ "@babel/parser" "^7.18.13"
+ "@babel/types" "^7.18.13"
debug "^4.1.0"
globals "^11.1.0"
-"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.18.0", "@babel/types@^7.18.2", "@babel/types@^7.18.4", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
- version "7.18.4"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.4.tgz#27eae9b9fd18e9dccc3f9d6ad051336f307be354"
- integrity sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==
+"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.13", "@babel/types@^7.18.2", "@babel/types@^7.18.4", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
+ version "7.18.13"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.13.tgz#30aeb9e514f4100f7c1cb6e5ba472b30e48f519a"
+ integrity sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ==
dependencies:
- "@babel/helper-validator-identifier" "^7.16.7"
+ "@babel/helper-string-parser" "^7.18.10"
+ "@babel/helper-validator-identifier" "^7.18.6"
to-fast-properties "^2.0.0"
"@bcoe/v8-coverage@^0.2.3":
@@ -940,6 +967,18 @@
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
+"@cspotcode/source-map-support@^0.8.0":
+ version "0.8.1"
+ resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1"
+ integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==
+ dependencies:
+ "@jridgewell/trace-mapping" "0.3.9"
+
+"@esbuild/linux-loong64@0.14.54":
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz#de2a4be678bd4d0d1ffbb86e6de779cde5999028"
+ integrity sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==
+
"@eslint/eslintrc@^1.3.0":
version "1.3.0"
resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.0.tgz#29f92c30bb3e771e4a2048c95fa6855392dfac4f"
@@ -955,15 +994,20 @@
minimatch "^3.1.2"
strip-json-comments "^3.1.1"
-"@humanwhocodes/config-array@^0.9.2":
- version "0.9.5"
- resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz#2cbaf9a89460da24b5ca6531b8bbfc23e1df50c7"
- integrity sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==
+"@humanwhocodes/config-array@^0.10.4":
+ version "0.10.4"
+ resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.4.tgz#01e7366e57d2ad104feea63e72248f22015c520c"
+ integrity sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==
dependencies:
"@humanwhocodes/object-schema" "^1.2.1"
debug "^4.1.1"
minimatch "^3.0.4"
+"@humanwhocodes/gitignore-to-minimatch@^1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz#316b0a63b91c10e53f242efb4ace5c3b34e8728d"
+ integrity sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==
+
"@humanwhocodes/object-schema@^1.2.1":
version "1.2.1"
resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
@@ -985,49 +1029,49 @@
resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98"
integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==
-"@jest/console@^28.1.1":
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/@jest/console/-/console-28.1.1.tgz#305f8ca50b6e70413839f54c0e002b60a0f2fd7d"
- integrity sha512-0RiUocPVFEm3WRMOStIHbRWllG6iW6E3/gUPnf4lkrVFyXIIDeCe+vlKeYyFOMhB2EPE6FLFCNADSOOQMaqvyA==
+"@jest/console@^28.1.3":
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/@jest/console/-/console-28.1.3.tgz#2030606ec03a18c31803b8a36382762e447655df"
+ integrity sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==
dependencies:
- "@jest/types" "^28.1.1"
+ "@jest/types" "^28.1.3"
"@types/node" "*"
chalk "^4.0.0"
- jest-message-util "^28.1.1"
- jest-util "^28.1.1"
+ jest-message-util "^28.1.3"
+ jest-util "^28.1.3"
slash "^3.0.0"
-"@jest/core@^28.1.1":
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/@jest/core/-/core-28.1.1.tgz#086830bec6267accf9af5ca76f794858e9f9f092"
- integrity sha512-3pYsBoZZ42tXMdlcFeCc/0j9kOlK7MYuXs2B1QbvDgMoW1K9NJ4G/VYvIbMb26iqlkTfPHo7SC2JgjDOk/mxXw==
- dependencies:
- "@jest/console" "^28.1.1"
- "@jest/reporters" "^28.1.1"
- "@jest/test-result" "^28.1.1"
- "@jest/transform" "^28.1.1"
- "@jest/types" "^28.1.1"
+"@jest/core@^28.1.3":
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/@jest/core/-/core-28.1.3.tgz#0ebf2bd39840f1233cd5f2d1e6fc8b71bd5a1ac7"
+ integrity sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==
+ dependencies:
+ "@jest/console" "^28.1.3"
+ "@jest/reporters" "^28.1.3"
+ "@jest/test-result" "^28.1.3"
+ "@jest/transform" "^28.1.3"
+ "@jest/types" "^28.1.3"
"@types/node" "*"
ansi-escapes "^4.2.1"
chalk "^4.0.0"
ci-info "^3.2.0"
exit "^0.1.2"
graceful-fs "^4.2.9"
- jest-changed-files "^28.0.2"
- jest-config "^28.1.1"
- jest-haste-map "^28.1.1"
- jest-message-util "^28.1.1"
+ jest-changed-files "^28.1.3"
+ jest-config "^28.1.3"
+ jest-haste-map "^28.1.3"
+ jest-message-util "^28.1.3"
jest-regex-util "^28.0.2"
- jest-resolve "^28.1.1"
- jest-resolve-dependencies "^28.1.1"
- jest-runner "^28.1.1"
- jest-runtime "^28.1.1"
- jest-snapshot "^28.1.1"
- jest-util "^28.1.1"
- jest-validate "^28.1.1"
- jest-watcher "^28.1.1"
+ jest-resolve "^28.1.3"
+ jest-resolve-dependencies "^28.1.3"
+ jest-runner "^28.1.3"
+ jest-runtime "^28.1.3"
+ jest-snapshot "^28.1.3"
+ jest-util "^28.1.3"
+ jest-validate "^28.1.3"
+ jest-watcher "^28.1.3"
micromatch "^4.0.4"
- pretty-format "^28.1.1"
+ pretty-format "^28.1.3"
rimraf "^3.0.0"
slash "^3.0.0"
strip-ansi "^6.0.0"
@@ -1039,63 +1083,63 @@
dependencies:
"@jest/types" "^27.5.1"
-"@jest/environment@^28.1.1":
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-28.1.1.tgz#c4cbf85283278d768f816ebd1a258ea6f9e39d4f"
- integrity sha512-9auVQ2GzQ7nrU+lAr8KyY838YahElTX9HVjbQPPS2XjlxQ+na18G113OoBhyBGBtD6ZnO/SrUy5WR8EzOj1/Uw==
+"@jest/environment@^28.1.3":
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-28.1.3.tgz#abed43a6b040a4c24fdcb69eab1f97589b2d663e"
+ integrity sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==
dependencies:
- "@jest/fake-timers" "^28.1.1"
- "@jest/types" "^28.1.1"
+ "@jest/fake-timers" "^28.1.3"
+ "@jest/types" "^28.1.3"
"@types/node" "*"
- jest-mock "^28.1.1"
+ jest-mock "^28.1.3"
-"@jest/expect-utils@^28.1.1":
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-28.1.1.tgz#d84c346025b9f6f3886d02c48a6177e2b0360587"
- integrity sha512-n/ghlvdhCdMI/hTcnn4qV57kQuV9OTsZzH1TTCVARANKhl6hXJqLKUkwX69ftMGpsbpt96SsDD8n8LD2d9+FRw==
+"@jest/expect-utils@^28.1.3":
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-28.1.3.tgz#58561ce5db7cd253a7edddbc051fb39dda50f525"
+ integrity sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA==
dependencies:
jest-get-type "^28.0.2"
-"@jest/expect@^28.1.1":
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-28.1.1.tgz#ea4fcc8504b45835029221c0dc357c622a761326"
- integrity sha512-/+tQprrFoT6lfkMj4mW/mUIfAmmk/+iQPmg7mLDIFOf2lyf7EBHaS+x3RbeR0VZVMe55IvX7QRoT/2aK3AuUXg==
+"@jest/expect@^28.1.3":
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-28.1.3.tgz#9ac57e1d4491baca550f6bdbd232487177ad6a72"
+ integrity sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw==
dependencies:
- expect "^28.1.1"
- jest-snapshot "^28.1.1"
+ expect "^28.1.3"
+ jest-snapshot "^28.1.3"
-"@jest/fake-timers@^28.1.1":
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-28.1.1.tgz#47ce33296ab9d680c76076d51ddbe65ceb3337f1"
- integrity sha512-BY/3+TyLs5+q87rGWrGUY5f8e8uC3LsVHS9Diz8+FV3ARXL4sNnkLlIB8dvDvRrp+LUCGM+DLqlsYubizGUjIA==
+"@jest/fake-timers@^28.1.3":
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-28.1.3.tgz#230255b3ad0a3d4978f1d06f70685baea91c640e"
+ integrity sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==
dependencies:
- "@jest/types" "^28.1.1"
- "@sinonjs/fake-timers" "^9.1.1"
+ "@jest/types" "^28.1.3"
+ "@sinonjs/fake-timers" "^9.1.2"
"@types/node" "*"
- jest-message-util "^28.1.1"
- jest-mock "^28.1.1"
- jest-util "^28.1.1"
+ jest-message-util "^28.1.3"
+ jest-mock "^28.1.3"
+ jest-util "^28.1.3"
-"@jest/globals@^28.1.1":
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-28.1.1.tgz#c0a7977f85e26279cc090d9adcdf82b8a34c4061"
- integrity sha512-dEgl/6v7ToB4vXItdvcltJBgny0xBE6xy6IYQrPJAJggdEinGxCDMivNv7sFzPcTITGquXD6UJwYxfJ/5ZwDSg==
+"@jest/globals@^28.1.3":
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-28.1.3.tgz#a601d78ddc5fdef542728309894895b4a42dc333"
+ integrity sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==
dependencies:
- "@jest/environment" "^28.1.1"
- "@jest/expect" "^28.1.1"
- "@jest/types" "^28.1.1"
+ "@jest/environment" "^28.1.3"
+ "@jest/expect" "^28.1.3"
+ "@jest/types" "^28.1.3"
-"@jest/reporters@^28.1.1":
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-28.1.1.tgz#9389f4bb3cce4d9b586f6195f83c79cd2a1c8662"
- integrity sha512-597Zj4D4d88sZrzM4atEGLuO7SdA/YrOv9SRXHXRNC+/FwPCWxZhBAEzhXoiJzfRwn8zes/EjS8Lo6DouGN5Gg==
+"@jest/reporters@^28.1.3":
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-28.1.3.tgz#9adf6d265edafc5fc4a434cfb31e2df5a67a369a"
+ integrity sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg==
dependencies:
"@bcoe/v8-coverage" "^0.2.3"
- "@jest/console" "^28.1.1"
- "@jest/test-result" "^28.1.1"
- "@jest/transform" "^28.1.1"
- "@jest/types" "^28.1.1"
- "@jridgewell/trace-mapping" "^0.3.7"
+ "@jest/console" "^28.1.3"
+ "@jest/test-result" "^28.1.3"
+ "@jest/transform" "^28.1.3"
+ "@jest/types" "^28.1.3"
+ "@jridgewell/trace-mapping" "^0.3.13"
"@types/node" "*"
chalk "^4.0.0"
collect-v8-coverage "^1.0.0"
@@ -1107,67 +1151,67 @@
istanbul-lib-report "^3.0.0"
istanbul-lib-source-maps "^4.0.0"
istanbul-reports "^3.1.3"
- jest-message-util "^28.1.1"
- jest-util "^28.1.1"
- jest-worker "^28.1.1"
+ jest-message-util "^28.1.3"
+ jest-util "^28.1.3"
+ jest-worker "^28.1.3"
slash "^3.0.0"
string-length "^4.0.1"
strip-ansi "^6.0.0"
terminal-link "^2.0.0"
- v8-to-istanbul "^9.0.0"
+ v8-to-istanbul "^9.0.1"
-"@jest/schemas@^28.0.2":
- version "28.0.2"
- resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-28.0.2.tgz#08c30df6a8d07eafea0aef9fb222c5e26d72e613"
- integrity sha512-YVDJZjd4izeTDkij00vHHAymNXQ6WWsdChFRK86qck6Jpr3DCL5W3Is3vslviRlP+bLuMYRLbdp98amMvqudhA==
+"@jest/schemas@^28.1.3":
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-28.1.3.tgz#ad8b86a66f11f33619e3d7e1dcddd7f2d40ff905"
+ integrity sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==
dependencies:
- "@sinclair/typebox" "^0.23.3"
+ "@sinclair/typebox" "^0.24.1"
-"@jest/source-map@^28.0.2":
- version "28.0.2"
- resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-28.0.2.tgz#914546f4410b67b1d42c262a1da7e0406b52dc90"
- integrity sha512-Y9dxC8ZpN3kImkk0LkK5XCEneYMAXlZ8m5bflmSL5vrwyeUpJfentacCUg6fOb8NOpOO7hz2+l37MV77T6BFPw==
+"@jest/source-map@^28.1.2":
+ version "28.1.2"
+ resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-28.1.2.tgz#7fe832b172b497d6663cdff6c13b0a920e139e24"
+ integrity sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==
dependencies:
- "@jridgewell/trace-mapping" "^0.3.7"
+ "@jridgewell/trace-mapping" "^0.3.13"
callsites "^3.0.0"
graceful-fs "^4.2.9"
-"@jest/test-result@^28.1.1":
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-28.1.1.tgz#c6f18d1bbb01aa88925dd687872a75f8414b317a"
- integrity sha512-hPmkugBktqL6rRzwWAtp1JtYT4VHwv8OQ+9lE5Gymj6dHzubI/oJHMUpPOt8NrdVWSrz9S7bHjJUmv2ggFoUNQ==
+"@jest/test-result@^28.1.3":
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-28.1.3.tgz#5eae945fd9f4b8fcfce74d239e6f725b6bf076c5"
+ integrity sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==
dependencies:
- "@jest/console" "^28.1.1"
- "@jest/types" "^28.1.1"
+ "@jest/console" "^28.1.3"
+ "@jest/types" "^28.1.3"
"@types/istanbul-lib-coverage" "^2.0.0"
collect-v8-coverage "^1.0.0"
-"@jest/test-sequencer@^28.1.1":
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-28.1.1.tgz#f594ee2331df75000afe0d1ae3237630ecec732e"
- integrity sha512-nuL+dNSVMcWB7OOtgb0EGH5AjO4UBCt68SLP08rwmC+iRhyuJWS9MtZ/MpipxFwKAlHFftbMsydXqWre8B0+XA==
+"@jest/test-sequencer@^28.1.3":
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-28.1.3.tgz#9d0c283d906ac599c74bde464bc0d7e6a82886c3"
+ integrity sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw==
dependencies:
- "@jest/test-result" "^28.1.1"
+ "@jest/test-result" "^28.1.3"
graceful-fs "^4.2.9"
- jest-haste-map "^28.1.1"
+ jest-haste-map "^28.1.3"
slash "^3.0.0"
-"@jest/transform@^28.1.1":
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-28.1.1.tgz#83541f2a3f612077c8501f49cc4e205d4e4a6b27"
- integrity sha512-PkfaTUuvjUarl1EDr5ZQcCA++oXkFCP9QFUkG0yVKVmNObjhrqDy0kbMpMebfHWm3CCDHjYNem9eUSH8suVNHQ==
+"@jest/transform@^28.1.3":
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-28.1.3.tgz#59d8098e50ab07950e0f2fc0fc7ec462371281b0"
+ integrity sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==
dependencies:
"@babel/core" "^7.11.6"
- "@jest/types" "^28.1.1"
- "@jridgewell/trace-mapping" "^0.3.7"
+ "@jest/types" "^28.1.3"
+ "@jridgewell/trace-mapping" "^0.3.13"
babel-plugin-istanbul "^6.1.1"
chalk "^4.0.0"
convert-source-map "^1.4.0"
fast-json-stable-stringify "^2.0.0"
graceful-fs "^4.2.9"
- jest-haste-map "^28.1.1"
+ jest-haste-map "^28.1.3"
jest-regex-util "^28.0.2"
- jest-util "^28.1.1"
+ jest-util "^28.1.3"
micromatch "^4.0.4"
pirates "^4.0.4"
slash "^3.0.0"
@@ -1184,12 +1228,12 @@
"@types/yargs" "^16.0.0"
chalk "^4.0.0"
-"@jest/types@^28.1.1":
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/@jest/types/-/types-28.1.1.tgz#d059bbc80e6da6eda9f081f293299348bd78ee0b"
- integrity sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==
+"@jest/types@^28.1.3":
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/@jest/types/-/types-28.1.3.tgz#b05de80996ff12512bc5ceb1d208285a7d11748b"
+ integrity sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==
dependencies:
- "@jest/schemas" "^28.0.2"
+ "@jest/schemas" "^28.1.3"
"@types/istanbul-lib-coverage" "^2.0.0"
"@types/istanbul-reports" "^3.0.0"
"@types/node" "*"
@@ -1204,24 +1248,24 @@
"@jridgewell/set-array" "^1.0.0"
"@jridgewell/sourcemap-codec" "^1.4.10"
-"@jridgewell/gen-mapping@^0.3.0":
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz#cf92a983c83466b8c0ce9124fadeaf09f7c66ea9"
- integrity sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==
+"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2":
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9"
+ integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==
dependencies:
- "@jridgewell/set-array" "^1.0.0"
+ "@jridgewell/set-array" "^1.0.1"
"@jridgewell/sourcemap-codec" "^1.4.10"
"@jridgewell/trace-mapping" "^0.3.9"
"@jridgewell/resolve-uri@^3.0.3":
- version "3.0.7"
- resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz#30cd49820a962aff48c8fffc5cd760151fca61fe"
- integrity sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78"
+ integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
-"@jridgewell/set-array@^1.0.0":
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.1.tgz#36a6acc93987adcf0ba50c66908bd0b70de8afea"
- integrity sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==
+"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
+ integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
"@jridgewell/source-map@^0.3.2":
version "0.3.2"
@@ -1232,14 +1276,22 @@
"@jridgewell/trace-mapping" "^0.3.9"
"@jridgewell/sourcemap-codec@^1.4.10":
- version "1.4.13"
- resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz#b6461fb0c2964356c469e115f504c95ad97ab88c"
- integrity sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==
+ version "1.4.14"
+ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
+ integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
+
+"@jridgewell/trace-mapping@0.3.9":
+ version "0.3.9"
+ resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9"
+ integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==
+ dependencies:
+ "@jridgewell/resolve-uri" "^3.0.3"
+ "@jridgewell/sourcemap-codec" "^1.4.10"
-"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.7", "@jridgewell/trace-mapping@^0.3.9":
- version "0.3.13"
- resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz#dcfe3e95f224c8fe97a87a5235defec999aa92ea"
- integrity sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==
+"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.13", "@jridgewell/trace-mapping@^0.3.14", "@jridgewell/trace-mapping@^0.3.9":
+ version "0.3.15"
+ resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz#aba35c48a38d3fd84b37e66c9c0423f9744f9774"
+ integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==
dependencies:
"@jridgewell/resolve-uri" "^3.0.3"
"@jridgewell/sourcemap-codec" "^1.4.10"
@@ -1915,10 +1967,10 @@
is-plain-object "^5.0.0"
universal-user-agent "^6.0.0"
-"@octokit/openapi-types@^12.4.0":
- version "12.4.0"
- resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-12.4.0.tgz#fd8bf5db72bd566c5ba2cb76754512a9ebe66e71"
- integrity sha512-Npcb7Pv30b33U04jvcD7l75yLU0mxhuX2Xqrn51YyZ5WTkF04bpbxLaZ6GcaTqu03WZQHoO/Gbfp95NGRueDUA==
+"@octokit/openapi-types@^12.11.0":
+ version "12.11.0"
+ resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-12.11.0.tgz#da5638d64f2b919bca89ce6602d059f1b52d3ef0"
+ integrity sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==
"@octokit/plugin-enterprise-rest@^2.1.1":
version "2.2.2"
@@ -2005,11 +2057,11 @@
"@types/node" ">= 8"
"@octokit/types@^6.0.3", "@octokit/types@^6.16.1":
- version "6.37.1"
- resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.37.1.tgz#600a9c9643f696ba68f229c8d71abbc1040ad6a6"
- integrity sha512-Q1hXSP2YumHkDdD+V4wFKr7vJ9+8tjocixrTSb75JzJ4GpjSyu5B4kpgrXxO6GOs4nOmVyRwRgS4/RO/Lf9oEA==
+ version "6.41.0"
+ resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.41.0.tgz#e58ef78d78596d2fb7df9c6259802464b5f84a04"
+ integrity sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==
dependencies:
- "@octokit/openapi-types" "^12.4.0"
+ "@octokit/openapi-types" "^12.11.0"
"@rollup/plugin-babel@5.3.1":
version "5.3.1"
@@ -2129,10 +2181,10 @@
"@sentry/types" "7.11.1"
tslib "^1.9.3"
-"@sinclair/typebox@^0.23.3":
- version "0.23.5"
- resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.23.5.tgz#93f7b9f4e3285a7a9ade7557d9a8d36809cbc47d"
- integrity sha512-AFBVi/iT4g20DHoujvMH1aEDn8fGJh4xsRGCP6d8RpLPMqsNPvW01Jcn0QysXTsg++/xj25NmJsGyH9xug/wKg==
+"@sinclair/typebox@^0.24.1":
+ version "0.24.28"
+ resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.28.tgz#15aa0b416f82c268b1573ab653e4413c965fe794"
+ integrity sha512-dgJd3HLOkLmz4Bw50eZx/zJwtBq65nms3N9VBYu5LTjJ883oBFkTyXRlCB/ZGGwqYpJJHA5zW2Ibhl5ngITfow==
"@sinonjs/commons@^1.7.0":
version "1.8.3"
@@ -2141,104 +2193,146 @@
dependencies:
type-detect "4.0.8"
-"@sinonjs/fake-timers@^9.1.1":
+"@sinonjs/fake-timers@^9.1.2":
version "9.1.2"
resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz#4eaab737fab77332ab132d396a3c0d364bd0ea8c"
integrity sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==
dependencies:
"@sinonjs/commons" "^1.7.0"
-"@swc/core-android-arm-eabi@1.2.205":
- version "1.2.205"
- resolved "https://registry.yarnpkg.com/@swc/core-android-arm-eabi/-/core-android-arm-eabi-1.2.205.tgz#d8ca076cbfbe92f17297de0e6b2754a7ae3a8e2f"
- integrity sha512-HfiuVA1JDHMSRQ8nE1DcemUgZ1PKaPwit4i7q3xin0NVbVHY1xkJyQFuLVh3VxTvGKKkF3hi8GJMVQgOXWL6kg==
-
-"@swc/core-android-arm64@1.2.205":
- version "1.2.205"
- resolved "https://registry.yarnpkg.com/@swc/core-android-arm64/-/core-android-arm64-1.2.205.tgz#cb822dad076b1c30b990a2037147ae42f66bf98e"
- integrity sha512-sRGZBV2dOnmh8gWWFo9HVOHdKa33zIsF8/8oYEGtq+2/s96UlAKltO2AA7HH9RaO/fT1tzBZStp+fEMUhDk/FA==
-
-"@swc/core-darwin-arm64@1.2.205":
- version "1.2.205"
- resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.2.205.tgz#1a3340e21459cdeea2224057ddf031a330782424"
- integrity sha512-JwVDfKS7vp7zzOQXWNwwcF41h4r3DWEpK6DQjz18WJyS1VVOcpVQGyuE7kSPjcnG01ZxBL9JPwwT353i/8IwDg==
-
-"@swc/core-darwin-x64@1.2.205":
- version "1.2.205"
- resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.2.205.tgz#7a6552acd42482ecb84b1c90c0defad408ac81cc"
- integrity sha512-malz2I+w6xFF1QyTmPGt0Y0NEMbUcrvfr5gUfZDGjxMhPPlS7k6fXucuZxVr9VVaM+JGq1SidVODmZ84jb1qHg==
-
-"@swc/core-freebsd-x64@1.2.205":
- version "1.2.205"
- resolved "https://registry.yarnpkg.com/@swc/core-freebsd-x64/-/core-freebsd-x64-1.2.205.tgz#d58f48d5de9a2babd609802338bd8e8934fec39a"
- integrity sha512-/nZrG1z0T7h97AsOb/wOtYlnh4WEuNppv3XKQIMPj32YNQdMBVgpybVTVRIs1GQGZMd1/7jAy5BVQcwQjUbrLg==
-
-"@swc/core-linux-arm-gnueabihf@1.2.205":
- version "1.2.205"
- resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.2.205.tgz#33f7f639ab64dc8c9229a2e63fc025db50905345"
- integrity sha512-mTA3vETMdBmpecUyI9waZYsp7FABhew4e81psspmFpDyfty0SLISWZDnvPAn0pSnb2fWhzKwDC5kdXHKUmLJuA==
-
-"@swc/core-linux-arm64-gnu@1.2.205":
- version "1.2.205"
- resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.2.205.tgz#ab3aef46cb3792368cfdb1ff1fa9af4df0664e17"
- integrity sha512-qGzFGryeQE+O5SFK7Nn2ESqCEnv00rnzhf11WZF9V71EZ15amIhmbcwHqvFpoRSDw8hZnqoGqfPRfoJbouptnA==
-
-"@swc/core-linux-arm64-musl@1.2.205":
- version "1.2.205"
- resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.2.205.tgz#20e79f0a3cfbe0d803ad256fd422ee17b52e3464"
- integrity sha512-uLJoX9L/4Xg3sLMjAbIhzbTe5gD/MBA8VETBeEkLtgb7a0ys1kvn9xQ6qLw6A71amEPlI+VABnoTRdUEaBSV9Q==
-
-"@swc/core-linux-x64-gnu@1.2.205":
- version "1.2.205"
- resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.2.205.tgz#7e698ca21854a038f973ed5cb2d195ae00b0707a"
- integrity sha512-gQsjcYlkWKP1kceQIsoHGrOrG7ygW3ojNsSnYoZ5DG5PipRA4eeUfO9YIfrmoa29LiVNjmRPfUJa8O1UHDG5ew==
-
-"@swc/core-linux-x64-musl@1.2.205":
- version "1.2.205"
- resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.2.205.tgz#e9aeb2bdf4aad466d1250d67aade0984cd6c4812"
- integrity sha512-LR5ukqBltQc++2eX3qEj/H8KtOt0V3CmtgXNOiNCUxvPDT8mYz/8MJhYOrofonND0RKfXyyPW7dRxg62ceTLSQ==
-
-"@swc/core-win32-arm64-msvc@1.2.205":
- version "1.2.205"
- resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.2.205.tgz#c46bf0adc703d199fd1eeef4a811913cb0e74164"
- integrity sha512-NjcLWm4mOy78LAEt7pqFl+SLcCyqnSlUP729XRd1uRvKwt1Cwch5SQRdoaFqwf1DaEQy4H4iuGPynkfarlb1kQ==
-
-"@swc/core-win32-ia32-msvc@1.2.205":
- version "1.2.205"
- resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.2.205.tgz#f1aa4a72670c6367282e39f81052d51287b23497"
- integrity sha512-+6byrRxIXgZ0zmLL6ZeX1HBBrAqvCy8MR5Yz0SO26jR8OPZXJCgZXL9BTsZO+YEG4f32ZOlZh3nnHCl6Dcb4GA==
-
-"@swc/core-win32-x64-msvc@1.2.205":
- version "1.2.205"
- resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.2.205.tgz#626b979203510c43c7f5a8014881a2c08426bf33"
- integrity sha512-RRSkyAol0c7sU9gejtrpF8TLmdYdBjLutcmQHtLKbWTm74ZLidZpF28G0J2tD7HNmzQnMpLzyoT1jW9JgLwzVg==
+"@swc/core-android-arm-eabi@1.2.242":
+ version "1.2.242"
+ resolved "https://registry.yarnpkg.com/@swc/core-android-arm-eabi/-/core-android-arm-eabi-1.2.242.tgz#3ae5d8b178a0835ae0878094175d943f2d894bec"
+ integrity sha512-Ukx1LQAUbPRJdREF9FMgeUwIuRtWJNpPyPF7BWl4hIkw024q75mohMbp3S2wgrF1TsSsEGW37q0DkFxPJ2uJbQ==
+ dependencies:
+ "@swc/wasm" "1.2.122"
+
+"@swc/core-android-arm64@1.2.242":
+ version "1.2.242"
+ resolved "https://registry.yarnpkg.com/@swc/core-android-arm64/-/core-android-arm64-1.2.242.tgz#2c1885c08dd5720991a6fa7585d39a93df98e773"
+ integrity sha512-4E/y+reQWHVCV/0Sn174gsLQyqIKlBWKnwUfPa7MA53VBacp8HTYoPY+iwKPrngsH16gEOC7iByiTJHR/4kirg==
+ dependencies:
+ "@swc/wasm" "1.2.130"
+
+"@swc/core-darwin-arm64@1.2.242":
+ version "1.2.242"
+ resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.2.242.tgz#1b8b16a132cc354ea3b31d26c46908dae2fe41ed"
+ integrity sha512-nIqtjxdbz0Fe0gFZwCygBwUrGEXj3c4mjHjNeveidVX/6U0HE/EAj+0iXuw8zjJLof8HCMnxq8CzzvhA6gd3ZA==
+
+"@swc/core-darwin-x64@1.2.242":
+ version "1.2.242"
+ resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.2.242.tgz#cde041d520fcfb0865f49b395bb2c76af8ec3f3a"
+ integrity sha512-iZKzI76vYYHD/t8wkQ/uIVuIyxN1eift2nLvUU7/jtmoa6b8DH/45ykB/C3vkuvYVNMiGA8HIjJIzw7RJz5XIQ==
+
+"@swc/core-freebsd-x64@1.2.242":
+ version "1.2.242"
+ resolved "https://registry.yarnpkg.com/@swc/core-freebsd-x64/-/core-freebsd-x64-1.2.242.tgz#a95827311424dd86190fdb73bec996d24188c6d3"
+ integrity sha512-6JNi5/6JDvcTQzBkndELiIlJufWowoI2ZEmXlGIJpiGoj28PEDPwy5LO7KkXa4DnY5L4CSh15idFO/DxV0rGAQ==
+ dependencies:
+ "@swc/wasm" "1.2.130"
+
+"@swc/core-linux-arm-gnueabihf@1.2.242":
+ version "1.2.242"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.2.242.tgz#1b0bd0ba96c59a9c4b87668521ce8ba55c8c7f55"
+ integrity sha512-NGL9A3cv8PCbeQ1SvPfApNlHvFbf7Jn305sCAy3iZYsmwm+EU4JNlOWXGgRioP7ABhz2kwLhfYs8UMYCDIVq8Q==
+ dependencies:
+ "@swc/wasm" "1.2.130"
+
+"@swc/core-linux-arm64-gnu@1.2.242":
+ version "1.2.242"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.2.242.tgz#f97c1b655779788fff9a035f6a80180b1545423b"
+ integrity sha512-OJ0kAjgeoRDJlo6Rvd2GnJ92tiIndmC/8krD9gfnQEyAgpR+jajOxbKhyBN/QZPyD2q/TG2LPqxhGYZ79q5mWQ==
+
+"@swc/core-linux-arm64-musl@1.2.242":
+ version "1.2.242"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.2.242.tgz#ad77a5c7fc79d42d64970ca1886eb9d626388ca2"
+ integrity sha512-VqnHSYb1a6xW5ARUx9kq88s1S3XvCw9TvQXsPcN4e5qsugrLzxWLnqIM6VnWW06prxN7pYlWo9QtrtdPfbppmA==
+
+"@swc/core-linux-x64-gnu@1.2.242":
+ version "1.2.242"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.2.242.tgz#4c7f2c483876a4b0755a263133c25413fa69df88"
+ integrity sha512-DDqVJh0KpgHb+E0563+6PqAYDzYTSwgZXF/fOULwlHC7Yt50a9+ecisTFSHkWc74zPMtq27kMTuZyyLeD3gu7A==
+
+"@swc/core-linux-x64-musl@1.2.242":
+ version "1.2.242"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.2.242.tgz#48f8769094cfde9d78dc32936666575470583b2a"
+ integrity sha512-P+9sWgd5eZ6kS1WxOJbCeSgWY7mLP742PhwAzpFrJqCq5nx8Q4FYo4L5mOVNAheYDWldsxR1nKXR1RIMK3S2Lw==
+
+"@swc/core-win32-arm64-msvc@1.2.242":
+ version "1.2.242"
+ resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.2.242.tgz#e421a5a7a49d1effa71a22fea22a65256b447108"
+ integrity sha512-W5cevrf5aDJzdE++XeQi1BJKuigC3dlG2NaBUyt3inmep7nli6eoBJdj9Vyg5EPfFOdeI6wQiwOpFvQRoAle8Q==
+ dependencies:
+ "@swc/wasm" "1.2.130"
+
+"@swc/core-win32-ia32-msvc@1.2.242":
+ version "1.2.242"
+ resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.2.242.tgz#1b836f5872195fef506a094eae7734b5fd28a1b5"
+ integrity sha512-XRQcgChvY9333hBre9F53EbiVfVu5MkSH4+XIiNMK14Jg8EqQ1nOcd+jvv2sEdEVbufCmBbWNjofUrCoQey60w==
+ dependencies:
+ "@swc/wasm" "1.2.130"
+
+"@swc/core-win32-x64-msvc@1.2.242":
+ version "1.2.242"
+ resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.2.242.tgz#61a6c7d4da1dec1188b912785bd8e0bb16ff8440"
+ integrity sha512-Cz1hZOxcfEVgzEr2sYIW9MxT+wEEbYz7aB87ZDmTUpr7vuvBiLMwsYItm8qG847wZeJfa+J7CC+tty5GJOBOOQ==
"@swc/core@^1.2.205":
- version "1.2.205"
- resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.2.205.tgz#b786644c1752bc9206bcd30b05a4f365ef60eed3"
- integrity sha512-evq0/tFyYdYgOhKb//+G93fxe9zwFxtme7NL7wSiEF8+4/ON4Y5AI9eHLoqddXqs3W8Y0HQi+rJmlrkCibrseA==
+ version "1.2.242"
+ resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.2.242.tgz#4392ef0012fe9667440c6eb5a419b6cc86a0a786"
+ integrity sha512-JQqSYVoLtHtztCNBgeCKyxmqw6AksHsC4WvVSSErLXJx6JXKaog1HFVuzd6rwx2lLCV+zBnbqJFug5OX0g2knw==
optionalDependencies:
- "@swc/core-android-arm-eabi" "1.2.205"
- "@swc/core-android-arm64" "1.2.205"
- "@swc/core-darwin-arm64" "1.2.205"
- "@swc/core-darwin-x64" "1.2.205"
- "@swc/core-freebsd-x64" "1.2.205"
- "@swc/core-linux-arm-gnueabihf" "1.2.205"
- "@swc/core-linux-arm64-gnu" "1.2.205"
- "@swc/core-linux-arm64-musl" "1.2.205"
- "@swc/core-linux-x64-gnu" "1.2.205"
- "@swc/core-linux-x64-musl" "1.2.205"
- "@swc/core-win32-arm64-msvc" "1.2.205"
- "@swc/core-win32-ia32-msvc" "1.2.205"
- "@swc/core-win32-x64-msvc" "1.2.205"
+ "@swc/core-android-arm-eabi" "1.2.242"
+ "@swc/core-android-arm64" "1.2.242"
+ "@swc/core-darwin-arm64" "1.2.242"
+ "@swc/core-darwin-x64" "1.2.242"
+ "@swc/core-freebsd-x64" "1.2.242"
+ "@swc/core-linux-arm-gnueabihf" "1.2.242"
+ "@swc/core-linux-arm64-gnu" "1.2.242"
+ "@swc/core-linux-arm64-musl" "1.2.242"
+ "@swc/core-linux-x64-gnu" "1.2.242"
+ "@swc/core-linux-x64-musl" "1.2.242"
+ "@swc/core-win32-arm64-msvc" "1.2.242"
+ "@swc/core-win32-ia32-msvc" "1.2.242"
+ "@swc/core-win32-x64-msvc" "1.2.242"
"@swc/jest@^0.2.21":
- version "0.2.21"
- resolved "https://registry.yarnpkg.com/@swc/jest/-/jest-0.2.21.tgz#e8c4e234016a914f4cfbb7d75844860a250c1d1c"
- integrity sha512-/+NcExiZbxXANNhNPnIdFuGq62CeumulLS1bngwqIXd8H7d96LFUfrYzdt8tlTwLMel8tFtQ5aRjzVkyOTyPDw==
+ version "0.2.22"
+ resolved "https://registry.yarnpkg.com/@swc/jest/-/jest-0.2.22.tgz#70d02ac648c21a442016d7a0aa485577335a4c9a"
+ integrity sha512-PIUIk9IdB1oAVfF9zNIfYoMBoEhahrrSvyryFANas7swC1cF0L5HR0f9X4qfet46oyCHCBtNcSpN0XJEOFIKlw==
dependencies:
"@jest/create-cache-key-function" "^27.4.2"
+"@swc/wasm@1.2.122":
+ version "1.2.122"
+ resolved "https://registry.yarnpkg.com/@swc/wasm/-/wasm-1.2.122.tgz#87a5e654b26a71b2e84b801f41e45f823b856639"
+ integrity sha512-sM1VCWQxmNhFtdxME+8UXNyPNhxNu7zdb6ikWpz0YKAQQFRGT5ThZgJrubEpah335SUToNg8pkdDF7ibVCjxbQ==
+
+"@swc/wasm@1.2.130":
+ version "1.2.130"
+ resolved "https://registry.yarnpkg.com/@swc/wasm/-/wasm-1.2.130.tgz#88ac26433335d1f957162a9a92f1450b73c176a0"
+ integrity sha512-rNcJsBxS70+pv8YUWwf5fRlWX6JoY/HJc25HD/F8m6Kv7XhJdqPPMhyX6TKkUBPAG7TWlZYoxa+rHAjPy4Cj3Q==
+
+"@tsconfig/node10@^1.0.7":
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2"
+ integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==
+
+"@tsconfig/node12@^1.0.7":
+ version "1.0.11"
+ resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d"
+ integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==
+
+"@tsconfig/node14@^1.0.0":
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1"
+ integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==
+
+"@tsconfig/node16@^1.0.2":
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e"
+ integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==
+
"@types/babel__core@^7.1.14":
version "7.1.19"
resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460"
@@ -2266,9 +2360,9 @@
"@babel/types" "^7.0.0"
"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6":
- version "7.17.1"
- resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.17.1.tgz#1a0e73e8c28c7e832656db372b779bfd2ef37314"
- integrity sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.0.tgz#8134fd78cb39567465be65b9fdc16d378095f41f"
+ integrity sha512-v4Vwdko+pgymgS+A2UIaJru93zQd85vIGWObM5ekZNdXCKtDYqATlEYnWgfo86Q6I1Lh0oXnksDnMU1cwmlPDw==
dependencies:
"@babel/types" "^7.3.0"
@@ -2281,17 +2375,17 @@
"@types/estree" "*"
"@types/eslint@*":
- version "8.4.5"
- resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.5.tgz#acdfb7dd36b91cc5d812d7c093811a8f3d9b31e4"
- integrity sha512-dhsC09y1gpJWnK+Ff4SGvCuSnk9DaU0BJZSzOwa6GVSg65XtTugLBITDAAzRU5duGBoXBHpdR/9jHGxJjNflJQ==
+ version "8.4.6"
+ resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.6.tgz#7976f054c1bccfcf514bff0564c0c41df5c08207"
+ integrity sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g==
dependencies:
"@types/estree" "*"
"@types/json-schema" "*"
"@types/estree@*":
- version "0.0.52"
- resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.52.tgz#7f1f57ad5b741f3d5b210d3b1f145640d89bf8fe"
- integrity sha512-BZWrtCU0bMVAIliIV+HJO1f1PR41M7NKjfxrFJwwhKI1KwhwOxYw1SXg9ao+CIMt774nFuGiG6eU+udtbEI9oQ==
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2"
+ integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==
"@types/estree@0.0.39":
version "0.0.39"
@@ -2330,11 +2424,11 @@
"@types/istanbul-lib-report" "*"
"@types/jest@^28.1.3":
- version "28.1.3"
- resolved "https://registry.yarnpkg.com/@types/jest/-/jest-28.1.3.tgz#52f3f3e50ce59191ff5fbb1084896cc0cf30c9ce"
- integrity sha512-Tsbjk8Y2hkBaY/gJsataeb4q9Mubw9EOz7+4RjPkzD5KjTvHHs7cpws22InaoXxAVAhF5HfFbzJjo6oKWqSZLw==
+ version "28.1.7"
+ resolved "https://registry.yarnpkg.com/@types/jest/-/jest-28.1.7.tgz#a680c5d05b69634c2d54a63cb106d7fb1adaba16"
+ integrity sha512-acDN4VHD40V24tgu0iC44jchXavRNVFXQ/E6Z5XNsswgoSO/4NgsXoEYmPUGookKldlZQyIpmrEXsHI9cA3ZTA==
dependencies:
- jest-matcher-utils "^28.0.0"
+ expect "^28.0.0"
pretty-format "^28.0.0"
"@types/json-schema@*", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9":
@@ -2352,15 +2446,10 @@
resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c"
integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==
-"@types/node@*", "@types/node@>= 8":
- version "18.0.0"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.0.tgz#67c7b724e1bcdd7a8821ce0d5ee184d3b4dd525a"
- integrity sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA==
-
-"@types/node@^18.6.3":
- version "18.6.3"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-18.6.3.tgz#4e4a95b6fe44014563ceb514b2598b3e623d1c98"
- integrity sha512-6qKpDtoaYLM+5+AFChLhHermMQxc3TOEFIDzrZLPRGHPrLEwqFkkT5Kx3ju05g6X7uDPazz3jHbKPX0KzCjntg==
+"@types/node@*", "@types/node@>= 8", "@types/node@^18.6.3":
+ version "18.7.11"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.11.tgz#486e72cfccde88da24e1f23ff1b7d8bfb64e6250"
+ integrity sha512-KZhFpSLlmK/sdocfSAjqPETTMd0ug6HIMIAwkwUpU79olnZdQtMxpQP+G1wDzCH7na+FltSIhbaZuKdwZ8RDrw==
"@types/normalize-package-data@^2.4.0":
version "2.4.1"
@@ -2368,9 +2457,9 @@
integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==
"@types/prettier@^2.1.5":
- version "2.6.3"
- resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.6.3.tgz#68ada76827b0010d0db071f739314fa429943d0a"
- integrity sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==
+ version "2.7.0"
+ resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.0.tgz#ea03e9f0376a4446f44797ca19d9c46c36e352dc"
+ integrity sha512-RI1L7N4JnW5gQw2spvL7Sllfuf1SaHdrZpCHiBlCXjIlufi1SMNnbu2teze3/QE67Fg2tBlH7W+mi4hVNk4p0A==
"@types/resolve@1.17.1":
version "1.17.1"
@@ -2379,11 +2468,49 @@
dependencies:
"@types/node" "*"
+"@types/source-list-map@*":
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9"
+ integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==
+
"@types/stack-utils@^2.0.0":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c"
integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==
+"@types/tapable@^1":
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.8.tgz#b94a4391c85666c7b73299fd3ad79d4faa435310"
+ integrity sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==
+
+"@types/uglify-js@*":
+ version "3.17.0"
+ resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.17.0.tgz#95271e7abe0bf7094c60284f76ee43232aef43b9"
+ integrity sha512-3HO6rm0y+/cqvOyA8xcYLweF0TKXlAxmQASjbOi49Co51A1N4nR4bEwBgRoD9kNM+rqFGArjKr654SLp2CoGmQ==
+ dependencies:
+ source-map "^0.6.1"
+
+"@types/webpack-sources@*":
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-3.2.0.tgz#16d759ba096c289034b26553d2df1bf45248d38b"
+ integrity sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==
+ dependencies:
+ "@types/node" "*"
+ "@types/source-list-map" "*"
+ source-map "^0.7.3"
+
+"@types/webpack4@npm:@types/webpack@4.41.32":
+ version "4.41.32"
+ resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.32.tgz#a7bab03b72904070162b2f169415492209e94212"
+ integrity sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg==
+ dependencies:
+ "@types/node" "*"
+ "@types/tapable" "^1"
+ "@types/uglify-js" "*"
+ "@types/webpack-sources" "*"
+ anymatch "^3.0.0"
+ source-map "^0.6.0"
+
"@types/yargs-parser@*":
version "21.0.0"
resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b"
@@ -2397,20 +2524,20 @@
"@types/yargs-parser" "*"
"@types/yargs@^17.0.8":
- version "17.0.10"
- resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.10.tgz#591522fce85d8739bca7b8bb90d048e4478d186a"
- integrity sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==
+ version "17.0.11"
+ resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.11.tgz#5e10ca33e219807c0eee0f08b5efcba9b6a42c06"
+ integrity sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==
dependencies:
"@types/yargs-parser" "*"
"@typescript-eslint/eslint-plugin@^5.13.0":
- version "5.29.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.29.0.tgz#c67794d2b0fd0b4a47f50266088acdc52a08aab6"
- integrity sha512-kgTsISt9pM53yRFQmLZ4npj99yGl3x3Pl7z4eA66OuTzAGC4bQB5H5fuLwPnqTKU3yyrrg4MIhjF17UYnL4c0w==
+ version "5.34.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.34.0.tgz#d690f60e335596f38b01792e8f4b361d9bd0cb35"
+ integrity sha512-eRfPPcasO39iwjlUAMtjeueRGuIrW3TQ9WseIDl7i5UWuFbf83yYaU7YPs4j8+4CxUMIsj1k+4kV+E+G+6ypDQ==
dependencies:
- "@typescript-eslint/scope-manager" "5.29.0"
- "@typescript-eslint/type-utils" "5.29.0"
- "@typescript-eslint/utils" "5.29.0"
+ "@typescript-eslint/scope-manager" "5.34.0"
+ "@typescript-eslint/type-utils" "5.34.0"
+ "@typescript-eslint/utils" "5.34.0"
debug "^4.3.4"
functional-red-black-tree "^1.0.1"
ignore "^5.2.0"
@@ -2419,75 +2546,75 @@
tsutils "^3.21.0"
"@typescript-eslint/experimental-utils@^5.0.0":
- version "5.29.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.29.0.tgz#abed79020f623ac4fb76c7fdf917552a17171704"
- integrity sha512-H4fqOVYiH6R15NjtMO2LVBZgzXgzjdPEXYb7x/meg4QbXsptLxdq8YlHK2NZOFKipuInY4sAPY5a6SQ/53s3dw==
+ version "5.34.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.34.0.tgz#f24200ee4d55ecf30a24e335d551fc6819f0c84b"
+ integrity sha512-bXDmphFgoQI4eY7r8Vp0mwrvU9Pic+KxuQPG8uoC33FlZLgsFhv8brhUUyniHEeDhApdg4/5a3qYEZbNGnRQYQ==
dependencies:
- "@typescript-eslint/utils" "5.29.0"
+ "@typescript-eslint/utils" "5.34.0"
"@typescript-eslint/parser@^5.13.0":
- version "5.29.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.29.0.tgz#41314b195b34d44ff38220caa55f3f93cfca43cf"
- integrity sha512-ruKWTv+x0OOxbzIw9nW5oWlUopvP/IQDjB5ZqmTglLIoDTctLlAJpAQFpNPJP/ZI7hTT9sARBosEfaKbcFuECw==
+ version "5.34.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.34.0.tgz#ca710858ea85dbfd30c9b416a335dc49e82dbc07"
+ integrity sha512-SZ3NEnK4usd2CXkoV3jPa/vo1mWX1fqRyIVUQZR4As1vyp4fneknBNJj+OFtV8WAVgGf+rOHMSqQbs2Qn3nFZQ==
dependencies:
- "@typescript-eslint/scope-manager" "5.29.0"
- "@typescript-eslint/types" "5.29.0"
- "@typescript-eslint/typescript-estree" "5.29.0"
+ "@typescript-eslint/scope-manager" "5.34.0"
+ "@typescript-eslint/types" "5.34.0"
+ "@typescript-eslint/typescript-estree" "5.34.0"
debug "^4.3.4"
-"@typescript-eslint/scope-manager@5.29.0":
- version "5.29.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.29.0.tgz#2a6a32e3416cb133e9af8dcf54bf077a916aeed3"
- integrity sha512-etbXUT0FygFi2ihcxDZjz21LtC+Eps9V2xVx09zFoN44RRHPrkMflidGMI+2dUs821zR1tDS6Oc9IXxIjOUZwA==
+"@typescript-eslint/scope-manager@5.34.0":
+ version "5.34.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.34.0.tgz#14efd13dc57602937e25f188fd911f118781e527"
+ integrity sha512-HNvASMQlah5RsBW6L6c7IJ0vsm+8Sope/wu5sEAf7joJYWNb1LDbJipzmdhdUOnfrDFE6LR1j57x1EYVxrY4ow==
dependencies:
- "@typescript-eslint/types" "5.29.0"
- "@typescript-eslint/visitor-keys" "5.29.0"
+ "@typescript-eslint/types" "5.34.0"
+ "@typescript-eslint/visitor-keys" "5.34.0"
-"@typescript-eslint/type-utils@5.29.0":
- version "5.29.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.29.0.tgz#241918001d164044020b37d26d5b9f4e37cc3d5d"
- integrity sha512-JK6bAaaiJozbox3K220VRfCzLa9n0ib/J+FHIwnaV3Enw/TO267qe0pM1b1QrrEuy6xun374XEAsRlA86JJnyg==
+"@typescript-eslint/type-utils@5.34.0":
+ version "5.34.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.34.0.tgz#7a324ab9ddd102cd5e1beefc94eea6f3eb32d32d"
+ integrity sha512-Pxlno9bjsQ7hs1pdWRUv9aJijGYPYsHpwMeCQ/Inavhym3/XaKt1ZKAA8FIw4odTBfowBdZJDMxf2aavyMDkLg==
dependencies:
- "@typescript-eslint/utils" "5.29.0"
+ "@typescript-eslint/utils" "5.34.0"
debug "^4.3.4"
tsutils "^3.21.0"
-"@typescript-eslint/types@5.29.0":
- version "5.29.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.29.0.tgz#7861d3d288c031703b2d97bc113696b4d8c19aab"
- integrity sha512-X99VbqvAXOMdVyfFmksMy3u8p8yoRGITgU1joBJPzeYa0rhdf5ok9S56/itRoUSh99fiDoMtarSIJXo7H/SnOg==
+"@typescript-eslint/types@5.34.0":
+ version "5.34.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.34.0.tgz#217bf08049e9e7b86694d982e88a2c1566330c78"
+ integrity sha512-49fm3xbbUPuzBIOcy2CDpYWqy/X7VBkxVN+DC21e0zIm3+61Z0NZi6J9mqPmSW1BDVk9FIOvuCFyUPjXz93sjA==
-"@typescript-eslint/typescript-estree@5.29.0":
- version "5.29.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.29.0.tgz#e83d19aa7fd2e74616aab2f25dfbe4de4f0b5577"
- integrity sha512-mQvSUJ/JjGBdvo+1LwC+GY2XmSYjK1nAaVw2emp/E61wEVYEyibRHCqm1I1vEKbXCpUKuW4G7u9ZCaZhJbLoNQ==
+"@typescript-eslint/typescript-estree@5.34.0":
+ version "5.34.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.34.0.tgz#ba7b83f4bf8ccbabf074bbf1baca7a58de3ccb9a"
+ integrity sha512-mXHAqapJJDVzxauEkfJI96j3D10sd567LlqroyCeJaHnu42sDbjxotGb3XFtGPYKPD9IyLjhsoULML1oI3M86A==
dependencies:
- "@typescript-eslint/types" "5.29.0"
- "@typescript-eslint/visitor-keys" "5.29.0"
+ "@typescript-eslint/types" "5.34.0"
+ "@typescript-eslint/visitor-keys" "5.34.0"
debug "^4.3.4"
globby "^11.1.0"
is-glob "^4.0.3"
semver "^7.3.7"
tsutils "^3.21.0"
-"@typescript-eslint/utils@5.29.0":
- version "5.29.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.29.0.tgz#775046effd5019667bd086bcf326acbe32cd0082"
- integrity sha512-3Eos6uP1nyLOBayc/VUdKZikV90HahXE5Dx9L5YlSd/7ylQPXhLk1BYb29SDgnBnTp+jmSZUU0QxUiyHgW4p7A==
+"@typescript-eslint/utils@5.34.0":
+ version "5.34.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.34.0.tgz#0cae98f48d8f9e292e5caa9343611b6faf49e743"
+ integrity sha512-kWRYybU4Rn++7lm9yu8pbuydRyQsHRoBDIo11k7eqBWTldN4xUdVUMCsHBiE7aoEkFzrUEaZy3iH477vr4xHAQ==
dependencies:
"@types/json-schema" "^7.0.9"
- "@typescript-eslint/scope-manager" "5.29.0"
- "@typescript-eslint/types" "5.29.0"
- "@typescript-eslint/typescript-estree" "5.29.0"
+ "@typescript-eslint/scope-manager" "5.34.0"
+ "@typescript-eslint/types" "5.34.0"
+ "@typescript-eslint/typescript-estree" "5.34.0"
eslint-scope "^5.1.1"
eslint-utils "^3.0.0"
-"@typescript-eslint/visitor-keys@5.29.0":
- version "5.29.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.29.0.tgz#7a4749fa7ef5160c44a451bf060ac1dc6dfb77ee"
- integrity sha512-Hpb/mCWsjILvikMQoZIE3voc9wtQcS0A9FUw3h8bhr9UxBdtI/tw1ZDZUOXHXLOVMedKCH5NxyzATwnU78bWCQ==
+"@typescript-eslint/visitor-keys@5.34.0":
+ version "5.34.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.34.0.tgz#d0fb3e31033e82ddd5de048371ad39eb342b2d40"
+ integrity sha512-O1moYjOSrab0a2fUvFpsJe0QHtvTC+cR+ovYpgKrAVXzqQyc74mv76TgY6z+aEtjQE2vgZux3CQVtGryqdcOAw==
dependencies:
- "@typescript-eslint/types" "5.29.0"
+ "@typescript-eslint/types" "5.34.0"
eslint-visitor-keys "^3.3.0"
"@webassemblyjs/ast@1.11.1":
@@ -2789,21 +2916,21 @@ acorn-jsx@^5.3.2:
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
+acorn-walk@^8.1.1:
+ version "8.2.0"
+ resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
+ integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
+
acorn@^6.4.1:
version "6.4.2"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6"
integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==
-acorn@^8.5.0, acorn@^8.8.0:
+acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0:
version "8.8.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8"
integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==
-acorn@^8.7.1:
- version "8.7.1"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30"
- integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==
-
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"
@@ -2911,7 +3038,7 @@ anymatch@^2.0.0:
micromatch "^3.1.4"
normalize-path "^2.1.1"
-anymatch@^3.0.3, anymatch@~3.1.2:
+anymatch@^3.0.0, anymatch@^3.0.3, anymatch@~3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
@@ -2937,6 +3064,11 @@ are-we-there-yet@~1.1.2:
delegates "^1.0.0"
readable-stream "^2.0.6"
+arg@^4.1.0:
+ version "4.1.3"
+ resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
+ integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
+
argparse@^1.0.7:
version "1.0.10"
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
@@ -3118,15 +3250,15 @@ aws4@^1.8.0:
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59"
integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
-babel-jest@^28.1.1:
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-28.1.1.tgz#2a3a4ae50964695b2d694ccffe4bec537c5a3586"
- integrity sha512-MEt0263viUdAkTq5D7upHPNxvt4n9uLUGa6pPz3WviNBMtOmStb1lIXS3QobnoqM+qnH+vr4EKlvhe8QcmxIYw==
+babel-jest@^28.1.3:
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-28.1.3.tgz#c1187258197c099072156a0a121c11ee1e3917d5"
+ integrity sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==
dependencies:
- "@jest/transform" "^28.1.1"
+ "@jest/transform" "^28.1.3"
"@types/babel__core" "^7.1.14"
babel-plugin-istanbul "^6.1.1"
- babel-preset-jest "^28.1.1"
+ babel-preset-jest "^28.1.3"
chalk "^4.0.0"
graceful-fs "^4.2.9"
slash "^3.0.0"
@@ -3149,10 +3281,10 @@ babel-plugin-istanbul@^6.1.1:
istanbul-lib-instrument "^5.0.4"
test-exclude "^6.0.0"
-babel-plugin-jest-hoist@^28.1.1:
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.1.tgz#5e055cdcc47894f28341f87f5e35aad2df680b11"
- integrity sha512-NovGCy5Hn25uMJSAU8FaHqzs13cFoOI4lhIujiepssjCKRsAo3TA734RDWSGxuFTsUJXerYOqQQodlxgmtqbzw==
+babel-plugin-jest-hoist@^28.1.3:
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.3.tgz#1952c4d0ea50f2d6d794353762278d1d8cca3fbe"
+ integrity sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q==
dependencies:
"@babel/template" "^7.3.3"
"@babel/types" "^7.3.3"
@@ -3160,20 +3292,20 @@ babel-plugin-jest-hoist@^28.1.1:
"@types/babel__traverse" "^7.0.6"
babel-plugin-polyfill-corejs2@^0.3.0:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz#440f1b70ccfaabc6b676d196239b138f8a2cfba5"
- integrity sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz#e4c31d4c89b56f3cf85b92558954c66b54bd972d"
+ integrity sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==
dependencies:
- "@babel/compat-data" "^7.13.11"
- "@babel/helper-define-polyfill-provider" "^0.3.1"
+ "@babel/compat-data" "^7.17.7"
+ "@babel/helper-define-polyfill-provider" "^0.3.2"
semver "^6.1.1"
babel-plugin-polyfill-corejs3@^0.5.0:
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz#aabe4b2fa04a6e038b688c5e55d44e78cd3a5f72"
- integrity sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==
+ version "0.5.3"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz#d7e09c9a899079d71a8b670c6181af56ec19c5c7"
+ integrity sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==
dependencies:
- "@babel/helper-define-polyfill-provider" "^0.3.1"
+ "@babel/helper-define-polyfill-provider" "^0.3.2"
core-js-compat "^3.21.0"
babel-plugin-polyfill-regenerator@^0.3.0:
@@ -3201,12 +3333,12 @@ babel-preset-current-node-syntax@^1.0.0:
"@babel/plugin-syntax-optional-chaining" "^7.8.3"
"@babel/plugin-syntax-top-level-await" "^7.8.3"
-babel-preset-jest@^28.1.1:
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-28.1.1.tgz#5b6e5e69f963eb2d70f739c607b8f723c0ee75e4"
- integrity sha512-FCq9Oud0ReTeWtcneYf/48981aTfXYuB9gbU4rBNNJVBSQ6ssv7E6v/qvbBxtOWwZFXjLZwpg+W3q7J6vhH25g==
+babel-preset-jest@^28.1.3:
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-28.1.3.tgz#5dfc20b99abed5db994406c2b9ab94c73aaa419d"
+ integrity sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A==
dependencies:
- babel-plugin-jest-hoist "^28.1.1"
+ babel-plugin-jest-hoist "^28.1.3"
babel-preset-current-node-syntax "^1.0.0"
balanced-match@^1.0.0:
@@ -3378,7 +3510,7 @@ browserify-zlib@^0.2.0:
dependencies:
pako "~1.0.5"
-browserslist@^4.14.5:
+browserslist@^4.14.5, browserslist@^4.20.2, browserslist@^4.21.3:
version "4.21.3"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.3.tgz#5df277694eb3c48bc5c4b05af3e8b7e09c5a6d1a"
integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==
@@ -3388,16 +3520,6 @@ browserslist@^4.14.5:
node-releases "^2.0.6"
update-browserslist-db "^1.0.5"
-browserslist@^4.20.2, browserslist@^4.21.0:
- version "4.21.0"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.0.tgz#7ab19572361a140ecd1e023e2c1ed95edda0cefe"
- integrity sha512-UQxE0DIhRB5z/zDz9iA03BOfxaN2+GQdBYH/2WrSIWEUrnpzTPJbhqt+umq6r3acaPRTW1FNTkrcp0PXgtFkvA==
- dependencies:
- caniuse-lite "^1.0.30001358"
- electron-to-chromium "^1.4.164"
- node-releases "^2.0.5"
- update-browserslist-db "^1.0.0"
-
bser@2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05"
@@ -3429,7 +3551,7 @@ buffer@^4.3.0:
ieee754 "^1.1.4"
isarray "^1.0.0"
-builtin-modules@^3.0.0:
+builtin-modules@^3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6"
integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==
@@ -3593,15 +3715,10 @@ camelcase@^6.2.0:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
-caniuse-lite@^1.0.30001358:
- version "1.0.30001359"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001359.tgz#a1c1cbe1c2da9e689638813618b4219acbd4925e"
- integrity sha512-Xln/BAsPzEuiVLgJ2/45IaqD9jShtk3Y33anKb4+yLwQzws3+v6odKfpgES/cDEaZMLzSChpIGdbOYtH9MyuHw==
-
caniuse-lite@^1.0.30001370:
- version "1.0.30001373"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001373.tgz#2dc3bc3bfcb5d5a929bec11300883040d7b4b4be"
- integrity sha512-pJYArGHrPp3TUqQzFYRmP/lwJlj8RCbVe3Gd3eJQkAV8SAC6b19XS9BjMvRdvaS8RMkaTN8ZhoHP6S1y8zzwEQ==
+ version "1.0.30001382"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001382.tgz#4d37f0d0b6fffb826c8e5e1c0f4bf8ce592db949"
+ integrity sha512-2rtJwDmSZ716Pxm1wCtbPvHtbDWAreTPxXbkc5RkKglow3Ig/4GNGazDI9/BVnXbG/wnv6r3B5FEbkfg9OcTGg==
caseless@~0.12.0:
version "0.12.0"
@@ -4008,11 +4125,11 @@ copy-descriptor@^0.1.0:
integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==
core-js-compat@^3.21.0, core-js-compat@^3.22.1:
- version "3.23.3"
- resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.23.3.tgz#7d8503185be76bb6d8d592c291a4457a8e440aa9"
- integrity sha512-WSzUs2h2vvmKsacLHNTdpyOC9k43AEhcGoFlVgCY4L7aw98oSBKtPL6vD0/TqZjRWRQYdDSLkzZIni4Crbbiqw==
+ version "3.24.1"
+ resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.24.1.tgz#d1af84a17e18dfdd401ee39da9996f9a7ba887de"
+ integrity sha512-XhdNAGeRnTpp8xbD+sR/HFDK9CbeeeqXT6TuofXh3urqEevzkWmLRgrVoykodsw8okqo2pu1BOmuCKrHx63zdw==
dependencies:
- browserslist "^4.21.0"
+ browserslist "^4.21.3"
semver "7.0.0"
core-util-is@1.0.2:
@@ -4066,6 +4183,11 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7:
safe-buffer "^5.0.1"
sha.js "^2.4.8"
+create-require@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
+ integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
+
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"
@@ -4283,6 +4405,11 @@ diff-sequences@^28.1.1:
resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-28.1.1.tgz#9989dc731266dc2903457a70e996f3a041913ac6"
integrity sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==
+diff@^4.0.1:
+ version "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"
@@ -4363,15 +4490,10 @@ ecc-jsbn@~0.1.1:
jsbn "~0.1.0"
safer-buffer "^2.1.0"
-electron-to-chromium@^1.4.164:
- version "1.4.170"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.170.tgz#0415fc489402e09bfbe1f0c99bbf4d73f31d48d4"
- integrity sha512-rZ8PZLhK4ORPjFqLp9aqC4/S1j4qWFsPPz13xmWdrbBkU/LlxMcok+f+6f8YnQ57MiZwKtOaW15biZZsY5Igvw==
-
electron-to-chromium@^1.4.202:
- version "1.4.206"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.206.tgz#580ff85b54d7ec0c05f20b1e37ea0becdd7b0ee4"
- integrity sha512-h+Fadt1gIaQ06JaIiyqPsBjJ08fV5Q7md+V8bUvQW/9OvXfL2LRICTz2EcnnCP7QzrFTS6/27MRV6Bl9Yn97zA==
+ version "1.4.227"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.227.tgz#28e46e2a701fed3188db3ca7bf0a3a475e484046"
+ integrity sha512-I9VVajA3oswIJOUFg2PSBqrHLF5Y+ahIfjOV9+v6uYyBqFZutmPxA6fxocDUUmgwYevRWFu1VjLyVG3w45qa/g==
elliptic@^6.5.3:
version "6.5.4"
@@ -4523,200 +4645,200 @@ esbuild-android-64@0.14.49:
resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.49.tgz#9e4682c36dcf6e7b71b73d2a3723a96e0fdc5054"
integrity sha512-vYsdOTD+yi+kquhBiFWl3tyxnj2qZJsl4tAqwhT90ktUdnyTizgle7TjNx6Ar1bN7wcwWqZ9QInfdk2WVagSww==
-esbuild-android-64@0.14.51:
- version "0.14.51"
- resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.51.tgz#414a087cb0de8db1e347ecca6c8320513de433db"
- integrity sha512-6FOuKTHnC86dtrKDmdSj2CkcKF8PnqkaIXqvgydqfJmqBazCPdw+relrMlhGjkvVdiiGV70rpdnyFmA65ekBCQ==
+esbuild-android-64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz#505f41832884313bbaffb27704b8bcaa2d8616be"
+ integrity sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==
esbuild-android-arm64@0.14.49:
version "0.14.49"
resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.49.tgz#9861b1f7e57d1dd1f23eeef6198561c5f34b51f6"
integrity sha512-g2HGr/hjOXCgSsvQZ1nK4nW/ei8JUx04Li74qub9qWrStlysaVmadRyTVuW32FGIpLQyc5sUjjZopj49eGGM2g==
-esbuild-android-arm64@0.14.51:
- version "0.14.51"
- resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.51.tgz#55de3bce2aab72bcd2b606da4318ad00fb9c8151"
- integrity sha512-vBtp//5VVkZWmYYvHsqBRCMMi1MzKuMIn5XDScmnykMTu9+TD9v0NMEDqQxvtFToeYmojdo5UCV2vzMQWJcJ4A==
+esbuild-android-arm64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz#8ce69d7caba49646e009968fe5754a21a9871771"
+ integrity sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==
esbuild-darwin-64@0.14.49:
version "0.14.49"
resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.49.tgz#fd30a5ebe28704a3a117126c60f98096c067c8d1"
integrity sha512-3rvqnBCtX9ywso5fCHixt2GBCUsogNp9DjGmvbBohh31Ces34BVzFltMSxJpacNki96+WIcX5s/vum+ckXiLYg==
-esbuild-darwin-64@0.14.51:
- version "0.14.51"
- resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.51.tgz#4259f23ed6b4cea2ec8a28d87b7fb9801f093754"
- integrity sha512-YFmXPIOvuagDcwCejMRtCDjgPfnDu+bNeh5FU2Ryi68ADDVlWEpbtpAbrtf/lvFTWPexbgyKgzppNgsmLPr8PA==
+esbuild-darwin-64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz#24ba67b9a8cb890a3c08d9018f887cc221cdda25"
+ integrity sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==
esbuild-darwin-arm64@0.14.49:
version "0.14.49"
resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.49.tgz#c04a3a57dad94a972c66a697a68a25aa25947f41"
integrity sha512-XMaqDxO846srnGlUSJnwbijV29MTKUATmOLyQSfswbK/2X5Uv28M9tTLUJcKKxzoo9lnkYPsx2o8EJcTYwCs/A==
-esbuild-darwin-arm64@0.14.51:
- version "0.14.51"
- resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.51.tgz#d77b4366a71d84e530ba019d540b538b295d494a"
- integrity sha512-juYD0QnSKwAMfzwKdIF6YbueXzS6N7y4GXPDeDkApz/1RzlT42mvX9jgNmyOlWKN7YzQAYbcUEJmZJYQGdf2ow==
+esbuild-darwin-arm64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz#3f7cdb78888ee05e488d250a2bdaab1fa671bf73"
+ integrity sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==
esbuild-freebsd-64@0.14.49:
version "0.14.49"
resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.49.tgz#c404dbd66c98451395b1eef0fa38b73030a7be82"
integrity sha512-NJ5Q6AjV879mOHFri+5lZLTp5XsO2hQ+KSJYLbfY9DgCu8s6/Zl2prWXVANYTeCDLlrIlNNYw8y34xqyLDKOmQ==
-esbuild-freebsd-64@0.14.51:
- version "0.14.51"
- resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.51.tgz#27b6587b3639f10519c65e07219d249b01f2ad38"
- integrity sha512-cLEI/aXjb6vo5O2Y8rvVSQ7smgLldwYY5xMxqh/dQGfWO+R1NJOFsiax3IS4Ng300SVp7Gz3czxT6d6qf2cw0g==
+esbuild-freebsd-64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz#09250f997a56ed4650f3e1979c905ffc40bbe94d"
+ integrity sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==
esbuild-freebsd-arm64@0.14.49:
version "0.14.49"
resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.49.tgz#b62cec96138ebc5937240ce3e1b97902963ea74a"
integrity sha512-lFLtgXnAc3eXYqj5koPlBZvEbBSOSUbWO3gyY/0+4lBdRqELyz4bAuamHvmvHW5swJYL7kngzIZw6kdu25KGOA==
-esbuild-freebsd-arm64@0.14.51:
- version "0.14.51"
- resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.51.tgz#63c435917e566808c71fafddc600aca4d78be1ec"
- integrity sha512-TcWVw/rCL2F+jUgRkgLa3qltd5gzKjIMGhkVybkjk6PJadYInPtgtUBp1/hG+mxyigaT7ib+od1Xb84b+L+1Mg==
+esbuild-freebsd-arm64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz#bafb46ed04fc5f97cbdb016d86947a79579f8e48"
+ integrity sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==
esbuild-linux-32@0.14.49:
version "0.14.49"
resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.49.tgz#495b1cc011b8c64d8bbaf65509c1e7135eb9ddbf"
integrity sha512-zTTH4gr2Kb8u4QcOpTDVn7Z8q7QEIvFl/+vHrI3cF6XOJS7iEI1FWslTo3uofB2+mn6sIJEQD9PrNZKoAAMDiA==
-esbuild-linux-32@0.14.51:
- version "0.14.51"
- resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.51.tgz#c3da774143a37e7f11559b9369d98f11f997a5d9"
- integrity sha512-RFqpyC5ChyWrjx8Xj2K0EC1aN0A37H6OJfmUXIASEqJoHcntuV3j2Efr9RNmUhMfNE6yEj2VpYuDteZLGDMr0w==
+esbuild-linux-32@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz#e2a8c4a8efdc355405325033fcebeb941f781fe5"
+ integrity sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==
esbuild-linux-64@0.14.49:
version "0.14.49"
resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.49.tgz#3f28dd8f986e6ff42f38888ee435a9b1fb916a56"
integrity sha512-hYmzRIDzFfLrB5c1SknkxzM8LdEUOusp6M2TnuQZJLRtxTgyPnZZVtyMeCLki0wKgYPXkFsAVhi8vzo2mBNeTg==
-esbuild-linux-64@0.14.51:
- version "0.14.51"
- resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.51.tgz#5d92b67f674e02ae0b4a9de9a757ba482115c4ae"
- integrity sha512-dxjhrqo5i7Rq6DXwz5v+MEHVs9VNFItJmHBe1CxROWNf4miOGoQhqSG8StStbDkQ1Mtobg6ng+4fwByOhoQoeA==
+esbuild-linux-64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz#de5fdba1c95666cf72369f52b40b03be71226652"
+ integrity sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==
esbuild-linux-arm64@0.14.49:
version "0.14.49"
resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.49.tgz#a52e99ae30246566dc5f33e835aa6ca98ef70e33"
integrity sha512-KLQ+WpeuY+7bxukxLz5VgkAAVQxUv67Ft4DmHIPIW+2w3ObBPQhqNoeQUHxopoW/aiOn3m99NSmSV+bs4BSsdA==
-esbuild-linux-arm64@0.14.51:
- version "0.14.51"
- resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.51.tgz#dac84740516e859d8b14e1ecc478dd5241b10c93"
- integrity sha512-D9rFxGutoqQX3xJPxqd6o+kvYKeIbM0ifW2y0bgKk5HPgQQOo2k9/2Vpto3ybGYaFPCE5qTGtqQta9PoP6ZEzw==
+esbuild-linux-arm64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz#dae4cd42ae9787468b6a5c158da4c84e83b0ce8b"
+ integrity sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==
esbuild-linux-arm@0.14.49:
version "0.14.49"
resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.49.tgz#7c33d05a64ec540cf7474834adaa57b3167bbe97"
integrity sha512-iE3e+ZVv1Qz1Sy0gifIsarJMQ89Rpm9mtLSRtG3AH0FPgAzQ5Z5oU6vYzhc/3gSPi2UxdCOfRhw2onXuFw/0lg==
-esbuild-linux-arm@0.14.51:
- version "0.14.51"
- resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.51.tgz#b3ae7000696cd53ed95b2b458554ff543a60e106"
- integrity sha512-LsJynDxYF6Neg7ZC7748yweCDD+N8ByCv22/7IAZglIEniEkqdF4HCaa49JNDLw1UQGlYuhOB8ZT/MmcSWzcWg==
+esbuild-linux-arm@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz#a2c1dff6d0f21dbe8fc6998a122675533ddfcd59"
+ integrity sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==
esbuild-linux-mips64le@0.14.49:
version "0.14.49"
resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.49.tgz#ed062bd844b587be649443831eb84ba304685f25"
integrity sha512-n+rGODfm8RSum5pFIqFQVQpYBw+AztL8s6o9kfx7tjfK0yIGF6tm5HlG6aRjodiiKkH2xAiIM+U4xtQVZYU4rA==
-esbuild-linux-mips64le@0.14.51:
- version "0.14.51"
- resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.51.tgz#dad10770fac94efa092b5a0643821c955a9dd385"
- integrity sha512-vS54wQjy4IinLSlb5EIlLoln8buh1yDgliP4CuEHumrPk4PvvP4kTRIG4SzMXm6t19N0rIfT4bNdAxzJLg2k6A==
+esbuild-linux-mips64le@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz#d9918e9e4cb972f8d6dae8e8655bf9ee131eda34"
+ integrity sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==
esbuild-linux-ppc64le@0.14.49:
version "0.14.49"
resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.49.tgz#c0786fb5bddffd90c10a2078181513cbaf077958"
integrity sha512-WP9zR4HX6iCBmMFH+XHHng2LmdoIeUmBpL4aL2TR8ruzXyT4dWrJ5BSbT8iNo6THN8lod6GOmYDLq/dgZLalGw==
-esbuild-linux-ppc64le@0.14.51:
- version "0.14.51"
- resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.51.tgz#b68c2f8294d012a16a88073d67e976edd4850ae0"
- integrity sha512-xcdd62Y3VfGoyphNP/aIV9LP+RzFw5M5Z7ja+zdpQHHvokJM7d0rlDRMN+iSSwvUymQkqZO+G/xjb4/75du8BQ==
+esbuild-linux-ppc64le@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz#3f9a0f6d41073fb1a640680845c7de52995f137e"
+ integrity sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==
esbuild-linux-riscv64@0.14.49:
version "0.14.49"
resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.49.tgz#579b0e7cc6fce4bfc698e991a52503bb616bec49"
integrity sha512-h66ORBz+Dg+1KgLvzTVQEA1LX4XBd1SK0Fgbhhw4akpG/YkN8pS6OzYI/7SGENiN6ao5hETRDSkVcvU9NRtkMQ==
-esbuild-linux-riscv64@0.14.51:
- version "0.14.51"
- resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.51.tgz#608a318b8697123e44c1e185cdf6708e3df50b93"
- integrity sha512-syXHGak9wkAnFz0gMmRBoy44JV0rp4kVCEA36P5MCeZcxFq8+fllBC2t6sKI23w3qd8Vwo9pTADCgjTSf3L3rA==
+esbuild-linux-riscv64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz#618853c028178a61837bc799d2013d4695e451c8"
+ integrity sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==
esbuild-linux-s390x@0.14.49:
version "0.14.49"
resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.49.tgz#09eb15c753e249a500b4e28d07c5eef7524a9740"
integrity sha512-DhrUoFVWD+XmKO1y7e4kNCqQHPs6twz6VV6Uezl/XHYGzM60rBewBF5jlZjG0nCk5W/Xy6y1xWeopkrhFFM0sQ==
-esbuild-linux-s390x@0.14.51:
- version "0.14.51"
- resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.51.tgz#c9e7791170a3295dba79b93aa452beb9838a8625"
- integrity sha512-kFAJY3dv+Wq8o28K/C7xkZk/X34rgTwhknSsElIqoEo8armCOjMJ6NsMxm48KaWY2h2RUYGtQmr+RGuUPKBhyw==
+esbuild-linux-s390x@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz#d1885c4c5a76bbb5a0fe182e2c8c60eb9e29f2a6"
+ integrity sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==
esbuild-netbsd-64@0.14.49:
version "0.14.49"
resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.49.tgz#f7337cd2bddb7cc9d100d19156f36c9ca117b58d"
integrity sha512-BXaUwFOfCy2T+hABtiPUIpWjAeWK9P8O41gR4Pg73hpzoygVGnj0nI3YK4SJhe52ELgtdgWP/ckIkbn2XaTxjQ==
-esbuild-netbsd-64@0.14.51:
- version "0.14.51"
- resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.51.tgz#0abd40b8c2e37fda6f5cc41a04cb2b690823d891"
- integrity sha512-ZZBI7qrR1FevdPBVHz/1GSk1x5GDL/iy42Zy8+neEm/HA7ma+hH/bwPEjeHXKWUDvM36CZpSL/fn1/y9/Hb+1A==
+esbuild-netbsd-64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz#69ae917a2ff241b7df1dbf22baf04bd330349e81"
+ integrity sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==
esbuild-openbsd-64@0.14.49:
version "0.14.49"
resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.49.tgz#1f8bdc49f8a44396e73950a3fb6b39828563631d"
integrity sha512-lP06UQeLDGmVPw9Rg437Btu6J9/BmyhdoefnQ4gDEJTtJvKtQaUcOQrhjTq455ouZN4EHFH1h28WOJVANK41kA==
-esbuild-openbsd-64@0.14.51:
- version "0.14.51"
- resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.51.tgz#4adba0b7ea7eb1428bb00d8e94c199a949b130e8"
- integrity sha512-7R1/p39M+LSVQVgDVlcY1KKm6kFKjERSX1lipMG51NPcspJD1tmiZSmmBXoY5jhHIu6JL1QkFDTx94gMYK6vfA==
+esbuild-openbsd-64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz#db4c8495287a350a6790de22edea247a57c5d47b"
+ integrity sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==
esbuild-sunos-64@0.14.49:
version "0.14.49"
resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.49.tgz#47d042739365b61aa8ca642adb69534a8eef9f7a"
integrity sha512-4c8Zowp+V3zIWje329BeLbGh6XI9c/rqARNaj5yPHdC61pHI9UNdDxT3rePPJeWcEZVKjkiAS6AP6kiITp7FSw==
-esbuild-sunos-64@0.14.51:
- version "0.14.51"
- resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.51.tgz#4b8a6d97dfedda30a6e39607393c5c90ebf63891"
- integrity sha512-HoHaCswHxLEYN8eBTtyO0bFEWvA3Kdb++hSQ/lLG7TyKF69TeSG0RNoBRAs45x/oCeWaTDntEZlYwAfQlhEtJA==
+esbuild-sunos-64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz#54287ee3da73d3844b721c21bc80c1dc7e1bf7da"
+ integrity sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==
esbuild-windows-32@0.14.49:
version "0.14.49"
resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.49.tgz#79198c88ec9bde163c18a6b430c34eab098ec21a"
integrity sha512-q7Rb+J9yHTeKr9QTPDYkqfkEj8/kcKz9lOabDuvEXpXuIcosWCJgo5Z7h/L4r7rbtTH4a8U2FGKb6s1eeOHmJA==
-esbuild-windows-32@0.14.51:
- version "0.14.51"
- resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.51.tgz#d31d8ca0c1d314fb1edea163685a423b62e9ac17"
- integrity sha512-4rtwSAM35A07CBt1/X8RWieDj3ZUHQqUOaEo5ZBs69rt5WAFjP4aqCIobdqOy4FdhYw1yF8Z0xFBTyc9lgPtEg==
+esbuild-windows-32@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz#f8aaf9a5667630b40f0fb3aa37bf01bbd340ce31"
+ integrity sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==
esbuild-windows-64@0.14.49:
version "0.14.49"
resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.49.tgz#b36b230d18d1ee54008e08814c4799c7806e8c79"
integrity sha512-+Cme7Ongv0UIUTniPqfTX6mJ8Deo7VXw9xN0yJEN1lQMHDppTNmKwAM3oGbD/Vqff+07K2gN0WfNkMohmG+dVw==
-esbuild-windows-64@0.14.51:
- version "0.14.51"
- resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.51.tgz#7d3c09c8652d222925625637bdc7e6c223e0085d"
- integrity sha512-HoN/5HGRXJpWODprGCgKbdMvrC3A2gqvzewu2eECRw2sYxOUoh2TV1tS+G7bHNapPGI79woQJGV6pFH7GH7qnA==
+esbuild-windows-64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz#bf54b51bd3e9b0f1886ffdb224a4176031ea0af4"
+ integrity sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==
esbuild-windows-arm64@0.14.49:
version "0.14.49"
resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.49.tgz#d83c03ff6436caf3262347cfa7e16b0a8049fae7"
integrity sha512-v+HYNAXzuANrCbbLFJ5nmO3m5y2PGZWLe3uloAkLt87aXiO2mZr3BTmacZdjwNkNEHuH3bNtN8cak+mzVjVPfA==
-esbuild-windows-arm64@0.14.51:
- version "0.14.51"
- resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.51.tgz#0220d2304bfdc11bc27e19b2aaf56edf183e4ae9"
- integrity sha512-JQDqPjuOH7o+BsKMSddMfmVJXrnYZxXDHsoLHc0xgmAZkOOCflRmC43q31pk79F9xuyWY45jDBPolb5ZgGOf9g==
+esbuild-windows-arm64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz#937d15675a15e4b0e4fafdbaa3a01a776a2be982"
+ integrity sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==
esbuild@0.14.49:
version "0.14.49"
@@ -4745,30 +4867,31 @@ esbuild@0.14.49:
esbuild-windows-arm64 "0.14.49"
esbuild@^0.14.47:
- version "0.14.51"
- resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.51.tgz#1c8ecbc8db3710da03776211dc3ee3448f7aa51e"
- integrity sha512-+CvnDitD7Q5sT7F+FM65sWkF8wJRf+j9fPcprxYV4j+ohmzVj2W7caUqH2s5kCaCJAfcAICjSlKhDCcvDpU7nw==
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.54.tgz#8b44dcf2b0f1a66fc22459943dccf477535e9aa2"
+ integrity sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==
optionalDependencies:
- esbuild-android-64 "0.14.51"
- esbuild-android-arm64 "0.14.51"
- esbuild-darwin-64 "0.14.51"
- esbuild-darwin-arm64 "0.14.51"
- esbuild-freebsd-64 "0.14.51"
- esbuild-freebsd-arm64 "0.14.51"
- esbuild-linux-32 "0.14.51"
- esbuild-linux-64 "0.14.51"
- esbuild-linux-arm "0.14.51"
- esbuild-linux-arm64 "0.14.51"
- esbuild-linux-mips64le "0.14.51"
- esbuild-linux-ppc64le "0.14.51"
- esbuild-linux-riscv64 "0.14.51"
- esbuild-linux-s390x "0.14.51"
- esbuild-netbsd-64 "0.14.51"
- esbuild-openbsd-64 "0.14.51"
- esbuild-sunos-64 "0.14.51"
- esbuild-windows-32 "0.14.51"
- esbuild-windows-64 "0.14.51"
- esbuild-windows-arm64 "0.14.51"
+ "@esbuild/linux-loong64" "0.14.54"
+ esbuild-android-64 "0.14.54"
+ esbuild-android-arm64 "0.14.54"
+ esbuild-darwin-64 "0.14.54"
+ esbuild-darwin-arm64 "0.14.54"
+ esbuild-freebsd-64 "0.14.54"
+ esbuild-freebsd-arm64 "0.14.54"
+ esbuild-linux-32 "0.14.54"
+ esbuild-linux-64 "0.14.54"
+ esbuild-linux-arm "0.14.54"
+ esbuild-linux-arm64 "0.14.54"
+ esbuild-linux-mips64le "0.14.54"
+ esbuild-linux-ppc64le "0.14.54"
+ esbuild-linux-riscv64 "0.14.54"
+ esbuild-linux-s390x "0.14.54"
+ esbuild-netbsd-64 "0.14.54"
+ esbuild-openbsd-64 "0.14.54"
+ esbuild-sunos-64 "0.14.54"
+ esbuild-windows-32 "0.14.54"
+ esbuild-windows-64 "0.14.54"
+ esbuild-windows-arm64 "0.14.54"
escalade@^3.1.1:
version "3.1.1"
@@ -4869,12 +4992,13 @@ eslint-visitor-keys@^3.3.0:
integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
eslint@^8.14.0, eslint@^8.18.0:
- version "8.18.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.18.0.tgz#78d565d16c993d0b73968c523c0446b13da784fd"
- integrity sha512-As1EfFMVk7Xc6/CvhssHUjsAQSkpfXvUGMFC3ce8JDe6WvqCgRrLOBQbVpsBFr1X1V+RACOadnzVvcUS5ni2bA==
+ version "8.22.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.22.0.tgz#78fcb044196dfa7eef30a9d65944f6f980402c48"
+ integrity sha512-ci4t0sz6vSRKdmkOGmprBo6fmI4PrphDFMy5JEq/fNS0gQkJM3rLmrqcp8ipMcdobH3KtUP40KniAE9W19S4wA==
dependencies:
"@eslint/eslintrc" "^1.3.0"
- "@humanwhocodes/config-array" "^0.9.2"
+ "@humanwhocodes/config-array" "^0.10.4"
+ "@humanwhocodes/gitignore-to-minimatch" "^1.0.2"
ajv "^6.10.0"
chalk "^4.0.0"
cross-spawn "^7.0.2"
@@ -4884,14 +5008,17 @@ eslint@^8.14.0, eslint@^8.18.0:
eslint-scope "^7.1.1"
eslint-utils "^3.0.0"
eslint-visitor-keys "^3.3.0"
- espree "^9.3.2"
+ espree "^9.3.3"
esquery "^1.4.0"
esutils "^2.0.2"
fast-deep-equal "^3.1.3"
file-entry-cache "^6.0.1"
+ find-up "^5.0.0"
functional-red-black-tree "^1.0.1"
glob-parent "^6.0.1"
globals "^13.15.0"
+ globby "^11.1.0"
+ grapheme-splitter "^1.0.4"
ignore "^5.2.0"
import-fresh "^3.0.0"
imurmurhash "^0.1.4"
@@ -4909,12 +5036,12 @@ eslint@^8.14.0, eslint@^8.18.0:
text-table "^0.2.0"
v8-compile-cache "^2.0.3"
-espree@^9.3.2:
- version "9.3.2"
- resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.2.tgz#f58f77bd334731182801ced3380a8cc859091596"
- integrity sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==
+espree@^9.3.2, espree@^9.3.3:
+ version "9.3.3"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.3.tgz#2dd37c4162bb05f433ad3c1a52ddf8a49dc08e9d"
+ integrity sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng==
dependencies:
- acorn "^8.7.1"
+ acorn "^8.8.0"
acorn-jsx "^5.3.2"
eslint-visitor-keys "^3.3.0"
@@ -5036,16 +5163,16 @@ expand-brackets@^2.1.4:
snapdragon "^0.8.1"
to-regex "^3.0.1"
-expect@^28.1.1:
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/expect/-/expect-28.1.1.tgz#ca6fff65f6517cf7220c2e805a49c19aea30b420"
- integrity sha512-/AANEwGL0tWBwzLNOvO0yUdy2D52jVdNXppOqswC49sxMN2cPWsGCQdzuIf9tj6hHoBQzNvx75JUYuQAckPo3w==
+expect@^28.0.0, expect@^28.1.3:
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/expect/-/expect-28.1.3.tgz#90a7c1a124f1824133dd4533cce2d2bdcb6603ec"
+ integrity sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==
dependencies:
- "@jest/expect-utils" "^28.1.1"
+ "@jest/expect-utils" "^28.1.3"
jest-get-type "^28.0.2"
- jest-matcher-utils "^28.1.1"
- jest-message-util "^28.1.1"
- jest-util "^28.1.1"
+ jest-matcher-utils "^28.1.3"
+ jest-message-util "^28.1.3"
+ jest-util "^28.1.3"
extend-shallow@^2.0.1:
version "2.0.1"
@@ -5237,6 +5364,14 @@ find-up@^4.0.0, find-up@^4.1.0:
locate-path "^5.0.0"
path-exists "^4.0.0"
+find-up@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
+ integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
+ dependencies:
+ locate-path "^6.0.0"
+ path-exists "^4.0.0"
+
flat-cache@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
@@ -5246,9 +5381,9 @@ flat-cache@^3.0.4:
rimraf "^3.0.2"
flatted@^3.1.0:
- version "3.2.5"
- resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3"
- integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==
+ version "3.2.7"
+ resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787"
+ integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==
flush-write-stream@^1.0.0:
version "1.1.1"
@@ -5568,9 +5703,9 @@ globals@^11.1.0:
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
globals@^13.15.0:
- version "13.15.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-13.15.0.tgz#38113218c907d2f7e98658af246cef8b77e90bac"
- integrity sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==
+ version "13.17.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-13.17.0.tgz#902eb1e680a41da93945adbdcb5a9f361ba69bd4"
+ integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==
dependencies:
type-fest "^0.20.2"
@@ -5604,6 +5739,11 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
+grapheme-splitter@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e"
+ integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==
+
handlebars@^4.7.6:
version "4.7.7"
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1"
@@ -5656,7 +5796,7 @@ has-property-descriptors@^1.0.0:
dependencies:
get-intrinsic "^1.1.1"
-has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3:
+has-symbols@^1.0.2, has-symbols@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
@@ -6058,11 +6198,11 @@ is-buffer@^1.1.5:
integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
is-builtin-module@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.1.0.tgz#6fdb24313b1c03b75f8b9711c0feb8c30b903b00"
- integrity sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.0.tgz#bb0310dfe881f144ca83f30100ceb10cf58835e0"
+ integrity sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw==
dependencies:
- builtin-modules "^3.0.0"
+ builtin-modules "^3.3.0"
is-callable@^1.1.4, is-callable@^1.2.4:
version "1.2.4"
@@ -6077,9 +6217,9 @@ is-ci@^1.0.10:
ci-info "^1.5.0"
is-core-module@^2.5.0, is-core-module@^2.9.0:
- version "2.9.0"
- resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69"
- integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==
+ version "2.10.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed"
+ integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==
dependencies:
has "^1.0.3"
@@ -6264,11 +6404,11 @@ is-shared-array-buffer@^1.0.2:
call-bind "^1.0.2"
is-ssh@^1.3.0:
- version "1.3.3"
- resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.3.tgz#7f133285ccd7f2c2c7fc897b771b53d95a2b2c7e"
- integrity sha512-NKzJmQzJfEEma3w5cJNcUMxoXfDjz0Zj0eyCalHn2E6VOwlzjZo0yuO2fcBSf8zhFuVCL/82/r5gRcoi6aEPVQ==
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.4.0.tgz#4f8220601d2839d8fa624b3106f8e8884f01b8b2"
+ integrity sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==
dependencies:
- protocols "^1.1.0"
+ protocols "^2.0.1"
is-stream@^1.1.0:
version "1.1.0"
@@ -6390,101 +6530,101 @@ istanbul-lib-source-maps@^4.0.0:
source-map "^0.6.1"
istanbul-reports@^3.1.3:
- version "3.1.4"
- resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.4.tgz#1b6f068ecbc6c331040aab5741991273e609e40c"
- integrity sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==
+ version "3.1.5"
+ resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae"
+ integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==
dependencies:
html-escaper "^2.0.0"
istanbul-lib-report "^3.0.0"
-jest-changed-files@^28.0.2:
- version "28.0.2"
- resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-28.0.2.tgz#7d7810660a5bd043af9e9cfbe4d58adb05e91531"
- integrity sha512-QX9u+5I2s54ZnGoMEjiM2WeBvJR2J7w/8ZUmH2um/WLAuGAYFQcsVXY9+1YL6k0H/AGUdH8pXUAv6erDqEsvIA==
+jest-changed-files@^28.1.3:
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-28.1.3.tgz#d9aeee6792be3686c47cb988a8eaf82ff4238831"
+ integrity sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA==
dependencies:
execa "^5.0.0"
- throat "^6.0.1"
+ p-limit "^3.1.0"
-jest-circus@^28.1.1:
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-28.1.1.tgz#3d27da6a974d85a466dc0cdc6ddeb58daaa57bb4"
- integrity sha512-75+BBVTsL4+p2w198DQpCeyh1RdaS2lhEG87HkaFX/UG0gJExVq2skG2pT7XZEGBubNj2CytcWSPan4QEPNosw==
+jest-circus@^28.1.3:
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-28.1.3.tgz#d14bd11cf8ee1a03d69902dc47b6bd4634ee00e4"
+ integrity sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow==
dependencies:
- "@jest/environment" "^28.1.1"
- "@jest/expect" "^28.1.1"
- "@jest/test-result" "^28.1.1"
- "@jest/types" "^28.1.1"
+ "@jest/environment" "^28.1.3"
+ "@jest/expect" "^28.1.3"
+ "@jest/test-result" "^28.1.3"
+ "@jest/types" "^28.1.3"
"@types/node" "*"
chalk "^4.0.0"
co "^4.6.0"
dedent "^0.7.0"
is-generator-fn "^2.0.0"
- jest-each "^28.1.1"
- jest-matcher-utils "^28.1.1"
- jest-message-util "^28.1.1"
- jest-runtime "^28.1.1"
- jest-snapshot "^28.1.1"
- jest-util "^28.1.1"
- pretty-format "^28.1.1"
+ jest-each "^28.1.3"
+ jest-matcher-utils "^28.1.3"
+ jest-message-util "^28.1.3"
+ jest-runtime "^28.1.3"
+ jest-snapshot "^28.1.3"
+ jest-util "^28.1.3"
+ p-limit "^3.1.0"
+ pretty-format "^28.1.3"
slash "^3.0.0"
stack-utils "^2.0.3"
- throat "^6.0.1"
-jest-cli@^28.1.1:
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-28.1.1.tgz#23ddfde8940e1818585ae4a568877b33b0e51cfe"
- integrity sha512-+sUfVbJqb1OjBZ0OdBbI6OWfYM1i7bSfzYy6gze1F1w3OKWq8ZTEKkZ8a7ZQPq6G/G1qMh/uKqpdWhgl11NFQQ==
+jest-cli@^28.1.3:
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-28.1.3.tgz#558b33c577d06de55087b8448d373b9f654e46b2"
+ integrity sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ==
dependencies:
- "@jest/core" "^28.1.1"
- "@jest/test-result" "^28.1.1"
- "@jest/types" "^28.1.1"
+ "@jest/core" "^28.1.3"
+ "@jest/test-result" "^28.1.3"
+ "@jest/types" "^28.1.3"
chalk "^4.0.0"
exit "^0.1.2"
graceful-fs "^4.2.9"
import-local "^3.0.2"
- jest-config "^28.1.1"
- jest-util "^28.1.1"
- jest-validate "^28.1.1"
+ jest-config "^28.1.3"
+ jest-util "^28.1.3"
+ jest-validate "^28.1.3"
prompts "^2.0.1"
yargs "^17.3.1"
-jest-config@^28.1.1:
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-28.1.1.tgz#e90b97b984f14a6c24a221859e81b258990fce2f"
- integrity sha512-tASynMhS+jVV85zKvjfbJ8nUyJS/jUSYZ5KQxLUN2ZCvcQc/OmhQl2j6VEL3ezQkNofxn5pQ3SPYWPHb0unTZA==
+jest-config@^28.1.3:
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-28.1.3.tgz#e315e1f73df3cac31447eed8b8740a477392ec60"
+ integrity sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==
dependencies:
"@babel/core" "^7.11.6"
- "@jest/test-sequencer" "^28.1.1"
- "@jest/types" "^28.1.1"
- babel-jest "^28.1.1"
+ "@jest/test-sequencer" "^28.1.3"
+ "@jest/types" "^28.1.3"
+ babel-jest "^28.1.3"
chalk "^4.0.0"
ci-info "^3.2.0"
deepmerge "^4.2.2"
glob "^7.1.3"
graceful-fs "^4.2.9"
- jest-circus "^28.1.1"
- jest-environment-node "^28.1.1"
+ jest-circus "^28.1.3"
+ jest-environment-node "^28.1.3"
jest-get-type "^28.0.2"
jest-regex-util "^28.0.2"
- jest-resolve "^28.1.1"
- jest-runner "^28.1.1"
- jest-util "^28.1.1"
- jest-validate "^28.1.1"
+ jest-resolve "^28.1.3"
+ jest-runner "^28.1.3"
+ jest-util "^28.1.3"
+ jest-validate "^28.1.3"
micromatch "^4.0.4"
parse-json "^5.2.0"
- pretty-format "^28.1.1"
+ pretty-format "^28.1.3"
slash "^3.0.0"
strip-json-comments "^3.1.1"
-jest-diff@^28.1.1:
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-28.1.1.tgz#1a3eedfd81ae79810931c63a1d0f201b9120106c"
- integrity sha512-/MUUxeR2fHbqHoMMiffe/Afm+U8U4olFRJ0hiVG2lZatPJcnGxx292ustVu7bULhjV65IYMxRdploAKLbcrsyg==
+jest-diff@^28.1.3:
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-28.1.3.tgz#948a192d86f4e7a64c5264ad4da4877133d8792f"
+ integrity sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==
dependencies:
chalk "^4.0.0"
diff-sequences "^28.1.1"
jest-get-type "^28.0.2"
- pretty-format "^28.1.1"
+ pretty-format "^28.1.3"
jest-docblock@^28.1.1:
version "28.1.1"
@@ -6493,92 +6633,92 @@ jest-docblock@^28.1.1:
dependencies:
detect-newline "^3.0.0"
-jest-each@^28.1.1:
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-28.1.1.tgz#ba5238dacf4f31d9fe23ddc2c44c01e7c23885c4"
- integrity sha512-A042rqh17ZvEhRceDMi784ppoXR7MWGDEKTXEZXb4svt0eShMZvijGxzKsx+yIjeE8QYmHPrnHiTSQVhN4nqaw==
+jest-each@^28.1.3:
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-28.1.3.tgz#bdd1516edbe2b1f3569cfdad9acd543040028f81"
+ integrity sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g==
dependencies:
- "@jest/types" "^28.1.1"
+ "@jest/types" "^28.1.3"
chalk "^4.0.0"
jest-get-type "^28.0.2"
- jest-util "^28.1.1"
- pretty-format "^28.1.1"
+ jest-util "^28.1.3"
+ pretty-format "^28.1.3"
-jest-environment-node@^28.1.1:
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-28.1.1.tgz#1c86c59003a7d319fa06ea3b1bbda6c193715c67"
- integrity sha512-2aV/eeY/WNgUUJrrkDJ3cFEigjC5fqT1+fCclrY6paqJ5zVPoM//sHmfgUUp7WLYxIdbPwMiVIzejpN56MxnNA==
+jest-environment-node@^28.1.3:
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-28.1.3.tgz#7e74fe40eb645b9d56c0c4b70ca4357faa349be5"
+ integrity sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A==
dependencies:
- "@jest/environment" "^28.1.1"
- "@jest/fake-timers" "^28.1.1"
- "@jest/types" "^28.1.1"
+ "@jest/environment" "^28.1.3"
+ "@jest/fake-timers" "^28.1.3"
+ "@jest/types" "^28.1.3"
"@types/node" "*"
- jest-mock "^28.1.1"
- jest-util "^28.1.1"
+ jest-mock "^28.1.3"
+ jest-util "^28.1.3"
jest-get-type@^28.0.2:
version "28.0.2"
resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-28.0.2.tgz#34622e628e4fdcd793d46db8a242227901fcf203"
integrity sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==
-jest-haste-map@^28.1.1:
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-28.1.1.tgz#471685f1acd365a9394745bb97c8fc16289adca3"
- integrity sha512-ZrRSE2o3Ezh7sb1KmeLEZRZ4mgufbrMwolcFHNRSjKZhpLa8TdooXOOFlSwoUzlbVs1t0l7upVRW2K7RWGHzbQ==
+jest-haste-map@^28.1.3:
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-28.1.3.tgz#abd5451129a38d9841049644f34b034308944e2b"
+ integrity sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==
dependencies:
- "@jest/types" "^28.1.1"
+ "@jest/types" "^28.1.3"
"@types/graceful-fs" "^4.1.3"
"@types/node" "*"
anymatch "^3.0.3"
fb-watchman "^2.0.0"
graceful-fs "^4.2.9"
jest-regex-util "^28.0.2"
- jest-util "^28.1.1"
- jest-worker "^28.1.1"
+ jest-util "^28.1.3"
+ jest-worker "^28.1.3"
micromatch "^4.0.4"
walker "^1.0.8"
optionalDependencies:
fsevents "^2.3.2"
-jest-leak-detector@^28.1.1:
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-28.1.1.tgz#537f37afd610a4b3f4cab15e06baf60484548efb"
- integrity sha512-4jvs8V8kLbAaotE+wFR7vfUGf603cwYtFf1/PYEsyX2BAjSzj8hQSVTP6OWzseTl0xL6dyHuKs2JAks7Pfubmw==
+jest-leak-detector@^28.1.3:
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz#a6685d9b074be99e3adee816ce84fd30795e654d"
+ integrity sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA==
dependencies:
jest-get-type "^28.0.2"
- pretty-format "^28.1.1"
+ pretty-format "^28.1.3"
-jest-matcher-utils@^28.0.0, jest-matcher-utils@^28.1.1:
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-28.1.1.tgz#a7c4653c2b782ec96796eb3088060720f1e29304"
- integrity sha512-NPJPRWrbmR2nAJ+1nmnfcKKzSwgfaciCCrYZzVnNoxVoyusYWIjkBMNvu0RHJe7dNj4hH3uZOPZsQA+xAYWqsw==
+jest-matcher-utils@^28.1.3:
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz#5a77f1c129dd5ba3b4d7fc20728806c78893146e"
+ integrity sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==
dependencies:
chalk "^4.0.0"
- jest-diff "^28.1.1"
+ jest-diff "^28.1.3"
jest-get-type "^28.0.2"
- pretty-format "^28.1.1"
+ pretty-format "^28.1.3"
-jest-message-util@^28.1.1:
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-28.1.1.tgz#60aa0b475cfc08c8a9363ed2fb9108514dd9ab89"
- integrity sha512-xoDOOT66fLfmTRiqkoLIU7v42mal/SqwDKvfmfiWAdJMSJiU+ozgluO7KbvoAgiwIrrGZsV7viETjc8GNrA/IQ==
+jest-message-util@^28.1.3:
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-28.1.3.tgz#232def7f2e333f1eecc90649b5b94b0055e7c43d"
+ integrity sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==
dependencies:
"@babel/code-frame" "^7.12.13"
- "@jest/types" "^28.1.1"
+ "@jest/types" "^28.1.3"
"@types/stack-utils" "^2.0.0"
chalk "^4.0.0"
graceful-fs "^4.2.9"
micromatch "^4.0.4"
- pretty-format "^28.1.1"
+ pretty-format "^28.1.3"
slash "^3.0.0"
stack-utils "^2.0.3"
-jest-mock@^28.1.1:
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-28.1.1.tgz#37903d269427fa1ef5b2447be874e1c62a39a371"
- integrity sha512-bDCb0FjfsmKweAvE09dZT59IMkzgN0fYBH6t5S45NoJfd2DHkS3ySG2K+hucortryhO3fVuXdlxWcbtIuV/Skw==
+jest-mock@^28.1.3:
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-28.1.3.tgz#d4e9b1fc838bea595c77ab73672ebf513ab249da"
+ integrity sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==
dependencies:
- "@jest/types" "^28.1.1"
+ "@jest/types" "^28.1.3"
"@types/node" "*"
jest-pnp-resolver@^1.2.2:
@@ -6591,149 +6731,149 @@ jest-regex-util@^28.0.2:
resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-28.0.2.tgz#afdc377a3b25fb6e80825adcf76c854e5bf47ead"
integrity sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==
-jest-resolve-dependencies@^28.1.1:
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.1.tgz#3dffaaa56f4b41bc6b61053899d1756401763a27"
- integrity sha512-p8Y150xYJth4EXhOuB8FzmS9r8IGLEioiaetgdNGb9VHka4fl0zqWlVe4v7mSkYOuEUg2uB61iE+zySDgrOmgQ==
+jest-resolve-dependencies@^28.1.3:
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.3.tgz#8c65d7583460df7275c6ea2791901fa975c1fe66"
+ integrity sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA==
dependencies:
jest-regex-util "^28.0.2"
- jest-snapshot "^28.1.1"
+ jest-snapshot "^28.1.3"
-jest-resolve@^28.1.1:
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-28.1.1.tgz#bc2eaf384abdcc1aaf3ba7c50d1adf01e59095e5"
- integrity sha512-/d1UbyUkf9nvsgdBildLe6LAD4DalgkgZcKd0nZ8XUGPyA/7fsnaQIlKVnDiuUXv/IeZhPEDrRJubVSulxrShA==
+jest-resolve@^28.1.3:
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-28.1.3.tgz#cfb36100341ddbb061ec781426b3c31eb51aa0a8"
+ integrity sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==
dependencies:
chalk "^4.0.0"
graceful-fs "^4.2.9"
- jest-haste-map "^28.1.1"
+ jest-haste-map "^28.1.3"
jest-pnp-resolver "^1.2.2"
- jest-util "^28.1.1"
- jest-validate "^28.1.1"
+ jest-util "^28.1.3"
+ jest-validate "^28.1.3"
resolve "^1.20.0"
resolve.exports "^1.1.0"
slash "^3.0.0"
-jest-runner@^28.1.1:
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-28.1.1.tgz#9ecdb3f27a00059986797aa6b012ba8306aa436c"
- integrity sha512-W5oFUiDBgTsCloTAj6q95wEvYDB0pxIhY6bc5F26OucnwBN+K58xGTGbliSMI4ChQal5eANDF+xvELaYkJxTmA==
- dependencies:
- "@jest/console" "^28.1.1"
- "@jest/environment" "^28.1.1"
- "@jest/test-result" "^28.1.1"
- "@jest/transform" "^28.1.1"
- "@jest/types" "^28.1.1"
+jest-runner@^28.1.3:
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-28.1.3.tgz#5eee25febd730b4713a2cdfd76bdd5557840f9a1"
+ integrity sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA==
+ dependencies:
+ "@jest/console" "^28.1.3"
+ "@jest/environment" "^28.1.3"
+ "@jest/test-result" "^28.1.3"
+ "@jest/transform" "^28.1.3"
+ "@jest/types" "^28.1.3"
"@types/node" "*"
chalk "^4.0.0"
emittery "^0.10.2"
graceful-fs "^4.2.9"
jest-docblock "^28.1.1"
- jest-environment-node "^28.1.1"
- jest-haste-map "^28.1.1"
- jest-leak-detector "^28.1.1"
- jest-message-util "^28.1.1"
- jest-resolve "^28.1.1"
- jest-runtime "^28.1.1"
- jest-util "^28.1.1"
- jest-watcher "^28.1.1"
- jest-worker "^28.1.1"
+ jest-environment-node "^28.1.3"
+ jest-haste-map "^28.1.3"
+ jest-leak-detector "^28.1.3"
+ jest-message-util "^28.1.3"
+ jest-resolve "^28.1.3"
+ jest-runtime "^28.1.3"
+ jest-util "^28.1.3"
+ jest-watcher "^28.1.3"
+ jest-worker "^28.1.3"
+ p-limit "^3.1.0"
source-map-support "0.5.13"
- throat "^6.0.1"
-jest-runtime@^28.1.1:
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-28.1.1.tgz#569e1dc3c36c6c4c0b29516c1c49b6ad580abdaf"
- integrity sha512-J89qEJWW0leOsqyi0D9zHpFEYHwwafFdS9xgvhFHtIdRghbadodI0eA+DrthK/1PebBv3Px8mFSMGKrtaVnleg==
- dependencies:
- "@jest/environment" "^28.1.1"
- "@jest/fake-timers" "^28.1.1"
- "@jest/globals" "^28.1.1"
- "@jest/source-map" "^28.0.2"
- "@jest/test-result" "^28.1.1"
- "@jest/transform" "^28.1.1"
- "@jest/types" "^28.1.1"
+jest-runtime@^28.1.3:
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-28.1.3.tgz#a57643458235aa53e8ec7821949e728960d0605f"
+ integrity sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw==
+ dependencies:
+ "@jest/environment" "^28.1.3"
+ "@jest/fake-timers" "^28.1.3"
+ "@jest/globals" "^28.1.3"
+ "@jest/source-map" "^28.1.2"
+ "@jest/test-result" "^28.1.3"
+ "@jest/transform" "^28.1.3"
+ "@jest/types" "^28.1.3"
chalk "^4.0.0"
cjs-module-lexer "^1.0.0"
collect-v8-coverage "^1.0.0"
execa "^5.0.0"
glob "^7.1.3"
graceful-fs "^4.2.9"
- jest-haste-map "^28.1.1"
- jest-message-util "^28.1.1"
- jest-mock "^28.1.1"
+ jest-haste-map "^28.1.3"
+ jest-message-util "^28.1.3"
+ jest-mock "^28.1.3"
jest-regex-util "^28.0.2"
- jest-resolve "^28.1.1"
- jest-snapshot "^28.1.1"
- jest-util "^28.1.1"
+ jest-resolve "^28.1.3"
+ jest-snapshot "^28.1.3"
+ jest-util "^28.1.3"
slash "^3.0.0"
strip-bom "^4.0.0"
-jest-snapshot@^28.1.1:
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-28.1.1.tgz#ab825c16c8d8b5e883bd57eee6ca8748c42ab848"
- integrity sha512-1KjqHJ98adRcbIdMizjF5DipwZFbvxym/kFO4g4fVZCZRxH/dqV8TiBFCa6rqic3p0karsy8RWS1y4E07b7P0A==
+jest-snapshot@^28.1.3:
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-28.1.3.tgz#17467b3ab8ddb81e2f605db05583d69388fc0668"
+ integrity sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==
dependencies:
"@babel/core" "^7.11.6"
"@babel/generator" "^7.7.2"
"@babel/plugin-syntax-typescript" "^7.7.2"
"@babel/traverse" "^7.7.2"
"@babel/types" "^7.3.3"
- "@jest/expect-utils" "^28.1.1"
- "@jest/transform" "^28.1.1"
- "@jest/types" "^28.1.1"
+ "@jest/expect-utils" "^28.1.3"
+ "@jest/transform" "^28.1.3"
+ "@jest/types" "^28.1.3"
"@types/babel__traverse" "^7.0.6"
"@types/prettier" "^2.1.5"
babel-preset-current-node-syntax "^1.0.0"
chalk "^4.0.0"
- expect "^28.1.1"
+ expect "^28.1.3"
graceful-fs "^4.2.9"
- jest-diff "^28.1.1"
+ jest-diff "^28.1.3"
jest-get-type "^28.0.2"
- jest-haste-map "^28.1.1"
- jest-matcher-utils "^28.1.1"
- jest-message-util "^28.1.1"
- jest-util "^28.1.1"
+ jest-haste-map "^28.1.3"
+ jest-matcher-utils "^28.1.3"
+ jest-message-util "^28.1.3"
+ jest-util "^28.1.3"
natural-compare "^1.4.0"
- pretty-format "^28.1.1"
+ pretty-format "^28.1.3"
semver "^7.3.5"
-jest-util@^28.1.1:
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-28.1.1.tgz#ff39e436a1aca397c0ab998db5a51ae2b7080d05"
- integrity sha512-FktOu7ca1DZSyhPAxgxB6hfh2+9zMoJ7aEQA759Z6p45NuO8mWcqujH+UdHlCm/V6JTWwDztM2ITCzU1ijJAfw==
+jest-util@^28.1.3:
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-28.1.3.tgz#f4f932aa0074f0679943220ff9cbba7e497028b0"
+ integrity sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==
dependencies:
- "@jest/types" "^28.1.1"
+ "@jest/types" "^28.1.3"
"@types/node" "*"
chalk "^4.0.0"
ci-info "^3.2.0"
graceful-fs "^4.2.9"
picomatch "^2.2.3"
-jest-validate@^28.1.1:
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-28.1.1.tgz#59b7b339b3c85b5144bd0c06ad3600f503a4acc8"
- integrity sha512-Kpf6gcClqFCIZ4ti5++XemYJWUPCFUW+N2gknn+KgnDf549iLul3cBuKVe1YcWRlaF8tZV8eJCap0eECOEE3Ug==
+jest-validate@^28.1.3:
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-28.1.3.tgz#e322267fd5e7c64cea4629612c357bbda96229df"
+ integrity sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==
dependencies:
- "@jest/types" "^28.1.1"
+ "@jest/types" "^28.1.3"
camelcase "^6.2.0"
chalk "^4.0.0"
jest-get-type "^28.0.2"
leven "^3.1.0"
- pretty-format "^28.1.1"
+ pretty-format "^28.1.3"
-jest-watcher@^28.1.1:
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-28.1.1.tgz#533597fb3bfefd52b5cd115cd916cffd237fb60c"
- integrity sha512-RQIpeZ8EIJMxbQrXpJQYIIlubBnB9imEHsxxE41f54ZwcqWLysL/A0ZcdMirf+XsMn3xfphVQVV4EW0/p7i7Ug==
+jest-watcher@^28.1.3:
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-28.1.3.tgz#c6023a59ba2255e3b4c57179fc94164b3e73abd4"
+ integrity sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==
dependencies:
- "@jest/test-result" "^28.1.1"
- "@jest/types" "^28.1.1"
+ "@jest/test-result" "^28.1.3"
+ "@jest/types" "^28.1.3"
"@types/node" "*"
ansi-escapes "^4.2.1"
chalk "^4.0.0"
emittery "^0.10.2"
- jest-util "^28.1.1"
+ jest-util "^28.1.3"
string-length "^4.0.1"
jest-worker@^27.4.5:
@@ -6745,24 +6885,24 @@ jest-worker@^27.4.5:
merge-stream "^2.0.0"
supports-color "^8.0.0"
-jest-worker@^28.1.1:
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-28.1.1.tgz#3480c73247171dfd01eda77200f0063ab6a3bf28"
- integrity sha512-Au7slXB08C6h+xbJPp7VIb6U0XX5Kc9uel/WFc6/rcTzGiaVCBRngBExSYuXSLFPULPSYU3cJ3ybS988lNFQhQ==
+jest-worker@^28.1.3:
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-28.1.3.tgz#7e3c4ce3fa23d1bb6accb169e7f396f98ed4bb98"
+ integrity sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==
dependencies:
"@types/node" "*"
merge-stream "^2.0.0"
supports-color "^8.0.0"
-jest@^28.1.1:
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/jest/-/jest-28.1.1.tgz#3c39a3a09791e16e9ef283597d24ab19a0df701e"
- integrity sha512-qw9YHBnjt6TCbIDMPMpJZqf9E12rh6869iZaN08/vpOGgHJSAaLLUn6H8W3IAEuy34Ls3rct064mZLETkxJ2XA==
+jest@^28.1.1, jest@^28.1.3:
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/jest/-/jest-28.1.3.tgz#e9c6a7eecdebe3548ca2b18894a50f45b36dfc6b"
+ integrity sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA==
dependencies:
- "@jest/core" "^28.1.1"
- "@jest/types" "^28.1.1"
+ "@jest/core" "^28.1.3"
+ "@jest/types" "^28.1.3"
import-local "^3.0.2"
- jest-cli "^28.1.1"
+ jest-cli "^28.1.3"
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
version "4.0.0"
@@ -6864,12 +7004,12 @@ jsprim@^1.2.2:
verror "1.10.0"
"jsx-ast-utils@^2.4.1 || ^3.0.0":
- version "3.3.1"
- resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.1.tgz#a3e0f1cb7e230954eab4dcbce9f6288a78f8ba44"
- integrity sha512-pxrjmNpeRw5wwVeWyEAk7QJu2GnBO3uzPFmHCKJJFPKK2Cy0cWL23krGtLdnMmbIi6/FjlrQpPyfQI19ByPOhQ==
+ version "3.3.3"
+ resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea"
+ integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==
dependencies:
array-includes "^3.1.5"
- object.assign "^4.1.2"
+ object.assign "^4.1.3"
kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
version "3.2.2"
@@ -7050,6 +7190,13 @@ locate-path@^5.0.0:
dependencies:
p-locate "^4.1.0"
+locate-path@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
+ integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
+ dependencies:
+ p-locate "^5.0.0"
+
lodash._reinterpolate@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
@@ -7190,6 +7337,11 @@ make-dir@^3.0.0:
dependencies:
semver "^6.0.0"
+make-error@^1.1.1:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
+ integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
+
make-fetch-happen@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-4.0.2.tgz#2d156b11696fb32bffbafe1ac1bc085dd6c78a79"
@@ -7686,11 +7838,6 @@ node-libs-browser@^2.2.1:
util "^0.11.0"
vm-browserify "^1.0.1"
-node-releases@^2.0.5:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.5.tgz#280ed5bc3eba0d96ce44897d8aee478bfb3d9666"
- integrity sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==
-
node-releases@^2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503"
@@ -7899,14 +8046,14 @@ object-visit@^1.0.0:
dependencies:
isobject "^3.0.0"
-object.assign@^4.1.0, object.assign@^4.1.2:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940"
- integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==
+object.assign@^4.1.0, object.assign@^4.1.2, object.assign@^4.1.3:
+ version "4.1.4"
+ resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f"
+ integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==
dependencies:
- call-bind "^1.0.0"
- define-properties "^1.1.3"
- has-symbols "^1.0.1"
+ call-bind "^1.0.2"
+ define-properties "^1.1.4"
+ has-symbols "^1.0.3"
object-keys "^1.1.1"
object.entries@^1.1.5:
@@ -8068,6 +8215,13 @@ p-limit@^2.0.0, p-limit@^2.2.0:
dependencies:
p-try "^2.0.0"
+p-limit@^3.0.2, p-limit@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
+ integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
+ dependencies:
+ yocto-queue "^0.1.0"
+
p-locate@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
@@ -8089,6 +8243,13 @@ p-locate@^4.1.0:
dependencies:
p-limit "^2.2.0"
+p-locate@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
+ integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
+ dependencies:
+ p-limit "^3.0.2"
+
p-map-series@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-map-series/-/p-map-series-1.0.0.tgz#bf98fe575705658a9e1351befb85ae4c1f07bdca"
@@ -8237,9 +8398,9 @@ parse-path@^4.0.0:
query-string "^6.13.8"
parse-url@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-6.0.0.tgz#f5dd262a7de9ec00914939220410b66cff09107d"
- integrity sha512-cYyojeX7yIIwuJzledIHeLUBVJ6COVLeT4eF+2P6aKVzwvgKQPndCBv3+yQ7pcWjqToYwaligxzSYNNmGoMAvw==
+ version "6.0.5"
+ resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-6.0.5.tgz#4acab8982cef1846a0f8675fa686cef24b2f6f9b"
+ integrity sha512-e35AeLTSIlkw/5GFq70IN7po8fmDUjpDPY1rIK+VubRfsUvBonjQ+PBZG+vWMACnQSmNlvl524IucoDmcioMxA==
dependencies:
is-ssh "^1.3.0"
normalize-url "^6.1.0"
@@ -8409,9 +8570,9 @@ posix-character-classes@^0.1.0:
integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==
postcss@^8.4.14:
- version "8.4.14"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf"
- integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==
+ version "8.4.16"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c"
+ integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==
dependencies:
nanoid "^3.3.4"
picocolors "^1.0.0"
@@ -8427,12 +8588,12 @@ prettier@^2.7.1:
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64"
integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==
-pretty-format@^28.0.0, pretty-format@^28.1.1:
- version "28.1.1"
- resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-28.1.1.tgz#f731530394e0f7fcd95aba6b43c50e02d86b95cb"
- integrity sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==
+pretty-format@^28.0.0, pretty-format@^28.1.3:
+ version "28.1.3"
+ resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-28.1.3.tgz#c9fba8cedf99ce50963a11b27d982a9ae90970d5"
+ integrity sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==
dependencies:
- "@jest/schemas" "^28.0.2"
+ "@jest/schemas" "^28.1.3"
ansi-regex "^5.0.1"
ansi-styles "^5.0.0"
react-is "^18.0.0"
@@ -8506,11 +8667,16 @@ proto-list@~1.2.1:
resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==
-protocols@^1.1.0, protocols@^1.4.0:
+protocols@^1.4.0:
version "1.4.8"
resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.8.tgz#48eea2d8f58d9644a4a32caae5d5db290a075ce8"
integrity sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==
+protocols@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/protocols/-/protocols-2.0.1.tgz#8f155da3fc0f32644e83c5782c8e8212ccf70a86"
+ integrity sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==
+
protoduck@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/protoduck/-/protoduck-5.0.1.tgz#03c3659ca18007b69a50fd82a7ebcc516261151f"
@@ -8529,9 +8695,9 @@ prr@~1.0.1:
integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==
psl@^1.1.28:
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
- integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7"
+ integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==
public-encrypt@^4.0.0:
version "4.0.3"
@@ -8591,9 +8757,9 @@ q@^1.5.1:
integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==
qs@^6.9.4:
- version "6.10.5"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.5.tgz#974715920a80ff6a262264acd2c7e6c2a53282b4"
- integrity sha512-O5RlPh0VFtR78y79rgcgKK4wbAI0C5zGVLztOIdpWX6ep368q5Hv6XRxDvXuZ9q3C6v+e3n8UfZZJw7IIG27eQ==
+ version "6.11.0"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a"
+ integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==
dependencies:
side-channel "^1.0.4"
@@ -8866,10 +9032,10 @@ regexpp@^3.2.0:
resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
-regexpu-core@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.0.1.tgz#c531122a7840de743dcf9c83e923b5560323ced3"
- integrity sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==
+regexpu-core@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.1.0.tgz#2f8504c3fd0ebe11215783a41541e21c79942c6d"
+ integrity sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==
dependencies:
regenerate "^1.4.2"
regenerate-unicode-properties "^10.0.1"
@@ -9065,9 +9231,9 @@ rollup@2.77.0:
fsevents "~2.3.2"
rollup@^2.75.6:
- version "2.77.2"
- resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.77.2.tgz#6b6075c55f9cc2040a5912e6e062151e42e2c4e3"
- integrity sha512-m/4YzYgLcpMQbxX3NmAqDvwLATZzxt8bIegO78FZLl+lAgKJBd1DRAOeEiZcKOIOPjxE6ewHWHNgGEalFXuz1g==
+ version "2.78.1"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.78.1.tgz#52fe3934d9c83cb4f7c4cb5fb75d88591be8648f"
+ integrity sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==
optionalDependencies:
fsevents "~2.3.2"
@@ -9379,6 +9545,11 @@ 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:
+ version "0.7.4"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656"
+ integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==
+
sourcemap-codec@^1.4.8:
version "1.4.8"
resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
@@ -9406,9 +9577,9 @@ spdx-expression-parse@^3.0.0:
spdx-license-ids "^3.0.0"
spdx-license-ids@^3.0.0:
- version "3.0.11"
- resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95"
- integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==
+ version "3.0.12"
+ resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz#69077835abe2710b65f03969898b6637b505a779"
+ integrity sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==
split-on-first@^1.0.0:
version "1.1.0"
@@ -9797,15 +9968,15 @@ terser-webpack-plugin@^1.4.3:
worker-farm "^1.7.0"
terser-webpack-plugin@^5.1.3:
- version "5.3.3"
- resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz#8033db876dd5875487213e87c627bca323e5ed90"
- integrity sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ==
+ version "5.3.5"
+ resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.5.tgz#f7d82286031f915a4f8fb81af4bd35d2e3c011bc"
+ integrity sha512-AOEDLDxD2zylUGf/wxHxklEkOe2/r+seuyOWujejFrIxHf11brA1/dWQNIgXa1c6/Wkxgu7zvv0JhOWfc2ELEA==
dependencies:
- "@jridgewell/trace-mapping" "^0.3.7"
+ "@jridgewell/trace-mapping" "^0.3.14"
jest-worker "^27.4.5"
schema-utils "^3.1.1"
serialize-javascript "^6.0.0"
- terser "^5.7.2"
+ terser "^5.14.1"
terser@^4.1.2:
version "4.8.1"
@@ -9816,7 +9987,7 @@ terser@^4.1.2:
source-map "~0.6.1"
source-map-support "~0.5.12"
-terser@^5.7.2:
+terser@^5.14.1:
version "5.14.2"
resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.2.tgz#9ac9f22b06994d736174f4091aa368db896f1c10"
integrity sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==
@@ -9845,11 +10016,6 @@ text-table@^0.2.0:
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
-throat@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375"
- integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==
-
through2@^2.0.0, through2@^2.0.2:
version "2.0.5"
resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
@@ -9974,6 +10140,25 @@ trim-newlines@^3.0.0:
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144"
integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==
+ts-node@^10.9.1:
+ version "10.9.1"
+ resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b"
+ integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==
+ dependencies:
+ "@cspotcode/source-map-support" "^0.8.0"
+ "@tsconfig/node10" "^1.0.7"
+ "@tsconfig/node12" "^1.0.7"
+ "@tsconfig/node14" "^1.0.0"
+ "@tsconfig/node16" "^1.0.2"
+ acorn "^8.4.1"
+ acorn-walk "^8.1.1"
+ arg "^4.1.0"
+ create-require "^1.1.0"
+ diff "^4.0.1"
+ make-error "^1.1.1"
+ v8-compile-cache-lib "^3.0.1"
+ yn "3.1.1"
+
tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3:
version "1.14.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
@@ -10051,9 +10236,9 @@ typescript@^4.7.4:
integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==
uglify-js@^3.1.4:
- version "3.16.1"
- resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.16.1.tgz#0e7ec928b3d0b1e1d952bce634c384fd56377317"
- integrity sha512-X5BGTIDH8U6IQ1TIRP62YC36k+ULAa1d59BxlWvPUJ1NkW5L3FwcGfEzuVvGmhJFBu0YJ5Ge25tmRISqCmLiRQ==
+ version "3.17.0"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.0.tgz#55bd6e9d19ce5eef0d5ad17cd1f587d85b180a85"
+ integrity sha512-aTeNPVmgIMPpm1cxXr2Q/nEbvkmV8yq66F3om7X3P/cvOXQ0TMQ64Wk63iyT1gPlmdmGzjGpyLh1f3y8MZWXGg==
uid-number@0.0.6:
version "0.0.6"
@@ -10162,14 +10347,6 @@ upath@^1.1.1:
resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894"
integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==
-update-browserslist-db@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.4.tgz#dbfc5a789caa26b1db8990796c2c8ebbce304824"
- integrity sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA==
- dependencies:
- escalade "^3.1.1"
- picocolors "^1.0.0"
-
update-browserslist-db@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz#be06a5eedd62f107b7c19eb5bcefb194411abf38"
@@ -10234,12 +10411,17 @@ uuid@^3.0.1, uuid@^3.3.2:
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
+v8-compile-cache-lib@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf"
+ integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
+
v8-compile-cache@^2.0.3:
version "2.3.0"
resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
-v8-to-istanbul@^9.0.0:
+v8-to-istanbul@^9.0.1:
version "9.0.1"
resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz#b6f994b0b5d4ef255e17a0d17dc444a9f5132fa4"
integrity sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==
@@ -10526,9 +10708,9 @@ write-file-atomic@^2.0.0, write-file-atomic@^2.3.0:
signal-exit "^3.0.2"
write-file-atomic@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.1.tgz#9faa33a964c1c85ff6f849b80b42a88c2c537c8f"
- integrity sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd"
+ integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==
dependencies:
imurmurhash "^0.1.4"
signal-exit "^3.0.7"
@@ -10592,9 +10774,9 @@ yargs-parser@^20.2.3:
integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
yargs-parser@^21.0.0:
- version "21.0.1"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35"
- integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==
+ version "21.1.1"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"
+ integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
yargs@^12.0.1:
version "12.0.5"
@@ -10626,3 +10808,13 @@ yargs@^17.3.1:
string-width "^4.2.3"
y18n "^5.0.5"
yargs-parser "^21.0.0"
+
+yn@3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
+ integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
+
+yocto-queue@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
+ integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
From c612dbb43ceed410a438636504a5cd8114c5b711 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Wed, 24 Aug 2022 09:55:40 +0200
Subject: [PATCH 024/640] feature(sourcemaps): Replace "create release" command
(#29)
---
.../playground/vite.config.smallNodeApp.js | 2 +-
packages/unplugin/package.json | 1 +
packages/unplugin/src/index.ts | 3 +-
packages/unplugin/src/sentry/api.ts | 68 +++++++++++++++++++
packages/unplugin/src/{ => sentry}/cli.ts | 2 +-
packages/unplugin/src/{ => sentry}/facade.ts | 9 +--
yarn.lock | 24 ++++++-
7 files changed, 101 insertions(+), 8 deletions(-)
create mode 100644 packages/unplugin/src/sentry/api.ts
rename packages/unplugin/src/{ => sentry}/cli.ts (98%)
rename packages/unplugin/src/{ => sentry}/facade.ts (91%)
diff --git a/packages/playground/vite.config.smallNodeApp.js b/packages/playground/vite.config.smallNodeApp.js
index 13e40f6b2096..95aa4e9e122c 100644
--- a/packages/playground/vite.config.smallNodeApp.js
+++ b/packages/playground/vite.config.smallNodeApp.js
@@ -22,7 +22,7 @@ export default defineConfig({
project: "hackweek-node-sample-app",
debug: true,
debugLogging: true,
- release: "0.0.1",
+ release: "0.0.6",
include: "out/vite-smallNodeApp",
cleanArtifacts: true,
}),
diff --git a/packages/unplugin/package.json b/packages/unplugin/package.json
index ca0057ef48bb..a50e95175d45 100644
--- a/packages/unplugin/package.json
+++ b/packages/unplugin/package.json
@@ -21,6 +21,7 @@
},
"dependencies": {
"@sentry/cli": "1.74.5",
+ "axios": "^0.27.2",
"magic-string": "0.26.2",
"unplugin": "0.9.4"
},
diff --git a/packages/unplugin/src/index.ts b/packages/unplugin/src/index.ts
index 95e8237db982..a52f811bc53f 100644
--- a/packages/unplugin/src/index.ts
+++ b/packages/unplugin/src/index.ts
@@ -2,7 +2,7 @@ import { createUnplugin } from "unplugin";
import MagicString from "magic-string";
import { getReleaseName } from "./getReleaseName";
import { Options } from "./types";
-import { makeSentryFacade } from "./facade";
+import { makeSentryFacade } from "./sentry/facade";
const defaultOptions: Omit = {
//TODO: add default options here as we port over options from the webpack plugin
@@ -11,6 +11,7 @@ const defaultOptions: Omit = {
debug: false,
cleanArtifacts: false,
finalize: true,
+ url: "https://sentry.io",
};
/**
diff --git a/packages/unplugin/src/sentry/api.ts b/packages/unplugin/src/sentry/api.ts
new file mode 100644
index 000000000000..02577bc5d20a
--- /dev/null
+++ b/packages/unplugin/src/sentry/api.ts
@@ -0,0 +1,68 @@
+/* eslint-disable @typescript-eslint/no-empty-function */
+
+import axios from "axios";
+import { AxiosError } from "axios";
+import { Options } from "../types";
+
+const API_PATH = "api/0";
+
+type SentryRequestOptions = Pick & {
+ method: string;
+ endpoint: string;
+ payload: unknown;
+};
+
+/**
+ * Generic function to call to make the actual request.
+ * Currently takes care of adding headers.
+ * Happy to change this to something more sophisticated.
+ */
+async function makeRequest(requestOptions: SentryRequestOptions) {
+ const { authToken, url, endpoint, method, payload } = requestOptions;
+
+ if (!authToken || !url || !endpoint) {
+ return Promise.reject();
+ }
+
+ const response = await axios({
+ method,
+ url: `${url}/${API_PATH}/${endpoint}`,
+ data: payload,
+ headers: { Authorization: `Bearer ${authToken}`, "User-Agent": "sentry-unplugin" },
+ }).catch((error: AxiosError) => {
+ const msg = `Error: ${error.message}`;
+ throw new Error(msg);
+ });
+
+ return response;
+}
+
+/* Just a wrapper to make POST requests */
+async function makePostRequest(requestOptions: Omit) {
+ return makeRequest({ ...requestOptions, method: "POST" });
+}
+
+export async function makeNewReleaseRequest(release: string, options: Options): Promise {
+ const releasePayload = {
+ version: release,
+ projects: [options.project],
+ dateStarted: new Date(),
+ dateReleased: new Date(), //TODO: figure out if these dates are set correctly
+ };
+
+ const orgSlug = options.org || "";
+ const projectSlug = options.project || "";
+
+ // using the legacy endpoint here because the sentry webpack plugin only associates one project
+ // with the release. If we ever wanna support multiple projects in the unplugin,
+ // take a look at how sentry/cli calls the new endpoint:
+ // https://github.com/getsentry/sentry-cli/blob/4fa813549cd249e77ae6ba974d76e606a19f48de/src/api.rs#L769-L773
+ const response = await makePostRequest({
+ authToken: options.authToken,
+ url: options.url,
+ endpoint: `projects/${orgSlug}/${projectSlug}/releases/`,
+ payload: releasePayload,
+ });
+
+ return response.status.toString();
+}
diff --git a/packages/unplugin/src/cli.ts b/packages/unplugin/src/sentry/cli.ts
similarity index 98%
rename from packages/unplugin/src/cli.ts
rename to packages/unplugin/src/sentry/cli.ts
index 153c147963da..480adb789dcb 100644
--- a/packages/unplugin/src/cli.ts
+++ b/packages/unplugin/src/sentry/cli.ts
@@ -1,5 +1,5 @@
import SentryCli from "@sentry/cli";
-import { Options } from "./types";
+import { Options } from "../types";
/** Creates a new Sentry CLI instance. */
export function makeSentryCli(options: Options) {
diff --git a/packages/unplugin/src/facade.ts b/packages/unplugin/src/sentry/facade.ts
similarity index 91%
rename from packages/unplugin/src/facade.ts
rename to packages/unplugin/src/sentry/facade.ts
index 896a7b80dba4..ef0f27f7a822 100644
--- a/packages/unplugin/src/facade.ts
+++ b/packages/unplugin/src/sentry/facade.ts
@@ -7,8 +7,9 @@
// - unnecessary functionality
import { makeSentryCli } from "./cli";
-import { Options } from "./types";
+import { Options } from "../types";
import SentryCli from "@sentry/cli";
+import { makeNewReleaseRequest } from "./api";
export type SentryFacade = {
createNewRelease: () => Promise;
@@ -27,7 +28,7 @@ export function makeSentryFacade(release: string, options: Options): SentryFacad
const cli = makeSentryCli(options);
return {
- createNewRelease: () => createNewRelease(cli, release),
+ createNewRelease: () => createNewRelease(release, options),
cleanArtifacts: () => cleanArtifacts(cli, release, options),
uploadSourceMaps: () => uploadSourceMaps(cli, release, options),
setCommits: () => setCommits(/* release */),
@@ -36,8 +37,8 @@ export function makeSentryFacade(release: string, options: Options): SentryFacad
};
}
-async function createNewRelease(cli: SentryCli, release: string): Promise {
- return cli.releases.new(release);
+async function createNewRelease(release: string, options: Options): Promise {
+ return makeNewReleaseRequest(release, options);
}
async function uploadSourceMaps(
diff --git a/yarn.lock b/yarn.lock
index 075ab4bd95d8..8d276baf62c6 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3250,6 +3250,14 @@ aws4@^1.8.0:
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59"
integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
+axios@^0.27.2:
+ version "0.27.2"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972"
+ integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==
+ dependencies:
+ follow-redirects "^1.14.9"
+ form-data "^4.0.0"
+
babel-jest@^28.1.3:
version "28.1.3"
resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-28.1.3.tgz#c1187258197c099072156a0a121c11ee1e3917d5"
@@ -3935,7 +3943,7 @@ columnify@^1.5.4:
strip-ansi "^6.0.1"
wcwidth "^1.0.0"
-combined-stream@^1.0.6, combined-stream@~1.0.6:
+combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
version "1.0.8"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
@@ -5393,6 +5401,11 @@ flush-write-stream@^1.0.0:
inherits "^2.0.3"
readable-stream "^2.3.6"
+follow-redirects@^1.14.9:
+ version "1.15.1"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5"
+ integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==
+
for-in@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
@@ -5403,6 +5416,15 @@ forever-agent@~0.6.1:
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==
+form-data@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
+ integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.8"
+ mime-types "^2.1.12"
+
form-data@~2.3.2:
version "2.3.3"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
From d6dd79594a7d4efcdc5ac2109849617451d46b37 Mon Sep 17 00:00:00 2001
From: Vladan Paunovic
Date: Wed, 24 Aug 2022 10:44:50 +0200
Subject: [PATCH 025/640] chore: add environement variables config
---
packages/playground/.env.example | 4 ++++
packages/playground/.gitignore | 1 +
packages/playground/src/smallNodeApp.js | 2 +-
packages/playground/vite.config.smallNodeApp.js | 4 ++--
4 files changed, 8 insertions(+), 3 deletions(-)
create mode 100644 packages/playground/.env.example
diff --git a/packages/playground/.env.example b/packages/playground/.env.example
new file mode 100644
index 000000000000..4b7b93720128
--- /dev/null
+++ b/packages/playground/.env.example
@@ -0,0 +1,4 @@
+SENTRY_AUTH_TOKEN=
+SENTRY_DSN=
+SENTRY_ORG=
+SENTRY_PROJECT=
\ No newline at end of file
diff --git a/packages/playground/.gitignore b/packages/playground/.gitignore
index 89f9ac04aac6..eb19cb4d3456 100644
--- a/packages/playground/.gitignore
+++ b/packages/playground/.gitignore
@@ -1 +1,2 @@
out/
+.env
\ No newline at end of file
diff --git a/packages/playground/src/smallNodeApp.js b/packages/playground/src/smallNodeApp.js
index 88ee728f7014..4f7c565f6e67 100644
--- a/packages/playground/src/smallNodeApp.js
+++ b/packages/playground/src/smallNodeApp.js
@@ -2,7 +2,7 @@ const Sentry = require("@sentry/node");
const { RewriteFrames } = require("@sentry/integrations");
Sentry.init({
- dsn: "https://8fa8ac58d94740a69f74934665aa0770@o1151230.ingest.sentry.io/6680403",
+ dsn: process.env.SENTRY_DSN,
debug: true,
enabled: true,
sampleRate: 1.0,
diff --git a/packages/playground/vite.config.smallNodeApp.js b/packages/playground/vite.config.smallNodeApp.js
index 95aa4e9e122c..39892befa3e9 100644
--- a/packages/playground/vite.config.smallNodeApp.js
+++ b/packages/playground/vite.config.smallNodeApp.js
@@ -18,8 +18,8 @@ export default defineConfig({
plugins: [
sentryVitePlugin({
authToken: process.env.SENTRY_AUTH_TOKEN,
- org: "lms-testorg-9m",
- project: "hackweek-node-sample-app",
+ org: process.env.SENTRY_ORG,
+ project: process.env.SENTRY_PROJECT,
debug: true,
debugLogging: true,
release: "0.0.6",
From bde4f70d2e6fa517384b6073c897ca4d5dc0b9ef Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Wed, 24 Aug 2022 11:03:43 +0200
Subject: [PATCH 026/640] feat(sourcemaps): Replace "clean artifacts" command
(#30)
---
packages/playground/package.json | 2 +-
packages/unplugin/src/sentry/api.ts | 124 ++++++++++++++-----------
packages/unplugin/src/sentry/facade.ts | 68 +++++++++++++-
packages/unplugin/src/tsconfig.json | 3 +-
4 files changed, 138 insertions(+), 59 deletions(-)
diff --git a/packages/playground/package.json b/packages/playground/package.json
index 07713bb80df9..eca2dab452c8 100644
--- a/packages/playground/package.json
+++ b/packages/playground/package.json
@@ -6,7 +6,7 @@
"license": "MIT",
"private": true,
"scripts": {
- "build": "run-p build:rollup build:vite build:webpack4 build:webpack5 build:esbuild",
+ "build:playground": "run-p build:rollup build:vite build:webpack4 build:webpack5 build:esbuild",
"build:rollup": "rollup --config rollup.config.js",
"build:vite": "vite build --config vite.config.js",
"build:webpack4": "node build-webpack4.js",
diff --git a/packages/unplugin/src/sentry/api.ts b/packages/unplugin/src/sentry/api.ts
index 02577bc5d20a..d2b0841c3d02 100644
--- a/packages/unplugin/src/sentry/api.ts
+++ b/packages/unplugin/src/sentry/api.ts
@@ -1,68 +1,86 @@
-/* eslint-disable @typescript-eslint/no-empty-function */
-
import axios from "axios";
-import { AxiosError } from "axios";
-import { Options } from "../types";
-
-const API_PATH = "api/0";
-
-type SentryRequestOptions = Pick & {
- method: string;
- endpoint: string;
- payload: unknown;
-};
-/**
- * Generic function to call to make the actual request.
- * Currently takes care of adding headers.
- * Happy to change this to something more sophisticated.
- */
-async function makeRequest(requestOptions: SentryRequestOptions) {
- const { authToken, url, endpoint, method, payload } = requestOptions;
-
- if (!authToken || !url || !endpoint) {
- return Promise.reject();
- }
+// We need to ignore the import because the package.json is not part of the TS project as configured in tsconfig.json
+// eslint-disable-next-line @typescript-eslint/ban-ts-comment
+// @ts-ignore
+import { version as unpluginVersion } from "../../package.json";
- const response = await axios({
- method,
- url: `${url}/${API_PATH}/${endpoint}`,
- data: payload,
- headers: { Authorization: `Bearer ${authToken}`, "User-Agent": "sentry-unplugin" },
- }).catch((error: AxiosError) => {
- const msg = `Error: ${error.message}`;
- throw new Error(msg);
- });
+const API_PATH = "/api/0";
- return response;
-}
+// eslint-disable-next-line @typescript-eslint/restrict-template-expressions, @typescript-eslint/no-unsafe-member-access
+const USER_AGENT = `sentry-unplugin/${unpluginVersion}`;
+const sentryApiAxiosInstance = axios.create();
+sentryApiAxiosInstance.interceptors.request.use((config) => {
+ return {
+ ...config,
+ headers: {
+ ...config.headers,
+ "User-Agent": USER_AGENT,
+ },
+ };
+});
-/* Just a wrapper to make POST requests */
-async function makePostRequest(requestOptions: Omit) {
- return makeRequest({ ...requestOptions, method: "POST" });
-}
+export async function createRelease({
+ release,
+ project,
+ org,
+ authToken,
+ sentryUrl,
+}: {
+ release: string;
+ project: string;
+ org: string;
+ authToken: string;
+ sentryUrl: string;
+}): Promise {
+ // using the legacy endpoint here because the sentry webpack plugin only associates one project
+ // with the release. If we ever wanna support multiple projects in the unplugin,
+ // take a look at how sentry/cli calls the new endpoint:
+ // https://github.com/getsentry/sentry-cli/blob/4fa813549cd249e77ae6ba974d76e606a19f48de/src/api.rs#L769-L773
+ const requestUrl = `${sentryUrl}${API_PATH}/projects/${org}/${project}/releases/`;
-export async function makeNewReleaseRequest(release: string, options: Options): Promise {
const releasePayload = {
version: release,
- projects: [options.project],
+ projects: [project],
dateStarted: new Date(),
dateReleased: new Date(), //TODO: figure out if these dates are set correctly
};
- const orgSlug = options.org || "";
- const projectSlug = options.project || "";
+ try {
+ await sentryApiAxiosInstance.post(requestUrl, releasePayload, {
+ headers: { Authorization: `Bearer ${authToken}` },
+ });
+ } catch (e) {
+ // TODO: Maybe do some more sopthisticated error handling here
+ throw new Error("Something went wrong while creating a release");
+ }
+}
- // using the legacy endpoint here because the sentry webpack plugin only associates one project
- // with the release. If we ever wanna support multiple projects in the unplugin,
- // take a look at how sentry/cli calls the new endpoint:
- // https://github.com/getsentry/sentry-cli/blob/4fa813549cd249e77ae6ba974d76e606a19f48de/src/api.rs#L769-L773
- const response = await makePostRequest({
- authToken: options.authToken,
- url: options.url,
- endpoint: `projects/${orgSlug}/${projectSlug}/releases/`,
- payload: releasePayload,
- });
+export async function deleteAllReleaseArtifacts({
+ org,
+ release,
+ sentryUrl,
+ authToken,
+ project,
+}: {
+ org: string;
+ release: string;
+ sentryUrl: string;
+ authToken: string;
+ project?: string;
+}): Promise {
+ const requestUrl = project
+ ? `${sentryUrl}${API_PATH}/projects/${org}/${project}/files/source-maps/?name=${release}` // legacy endpoint if users provide project
+ : `${sentryUrl}${API_PATH}/organizations/${org}/files/source-maps/?name=${release}`; // new endpoint
- return response.status.toString();
+ try {
+ await sentryApiAxiosInstance.delete(requestUrl, {
+ headers: {
+ Authorization: `Bearer ${authToken}`,
+ },
+ });
+ } catch (e) {
+ // TODO: Maybe do some more sopthisticated error handling here
+ throw new Error("Something went wrong while cleaning previous release artifacts");
+ }
}
diff --git a/packages/unplugin/src/sentry/facade.ts b/packages/unplugin/src/sentry/facade.ts
index ef0f27f7a822..3e6f1ea07fd0 100644
--- a/packages/unplugin/src/sentry/facade.ts
+++ b/packages/unplugin/src/sentry/facade.ts
@@ -9,7 +9,7 @@
import { makeSentryCli } from "./cli";
import { Options } from "../types";
import SentryCli from "@sentry/cli";
-import { makeNewReleaseRequest } from "./api";
+import { createRelease, deleteAllReleaseArtifacts } from "./api";
export type SentryFacade = {
createNewRelease: () => Promise;
@@ -38,7 +38,37 @@ export function makeSentryFacade(release: string, options: Options): SentryFacad
}
async function createNewRelease(release: string, options: Options): Promise {
- return makeNewReleaseRequest(release, options);
+ // TODO: pull these checks out of here and simplify them
+ if (options.authToken === undefined) {
+ // eslint-disable-next-line no-console
+ console.log('[Sentry-plugin] WARNING: Missing "authToken" option. Will not create release.');
+ return Promise.resolve("nothing to do here");
+ } else if (options.org === undefined) {
+ // eslint-disable-next-line no-console
+ console.log('[Sentry-plugin] WARNING: Missing "org" option. Will not create release.');
+ return Promise.resolve("nothing to do here");
+ } else if (options.url === undefined) {
+ // eslint-disable-next-line no-console
+ console.log('[Sentry-plugin] WARNING: Missing "url" option. Will not create release.');
+ return Promise.resolve("nothing to do here");
+ } else if (options.project === undefined) {
+ // eslint-disable-next-line no-console
+ console.log('[Sentry-plugin] WARNING: Missing "project" option. Will not create release.');
+ return Promise.resolve("nothing to do here");
+ }
+
+ await createRelease({
+ release,
+ authToken: options.authToken,
+ org: options.org,
+ project: options.project,
+ sentryUrl: options.url,
+ });
+
+ // eslint-disable-next-line no-console
+ console.log("[Sentry-plugin] Successfully created release.");
+
+ return Promise.resolve("nothing to do here");
}
async function uploadSourceMaps(
@@ -80,9 +110,39 @@ async function finalizeRelease(cli: SentryCli, release: string, options: Options
return Promise.resolve("nothing to do here");
}
-async function cleanArtifacts(cli: SentryCli, release: string, options: Options): Promise {
+async function cleanArtifacts(_cli: SentryCli, release: string, options: Options): Promise {
if (options.cleanArtifacts) {
- return cli.releases.execute(["releases", "files", release, "delete", "--all"], true);
+ // TODO: pull these checks out of here and simplify them
+ if (options.authToken === undefined) {
+ // eslint-disable-next-line no-console
+ console.log(
+ '[Sentry-plugin] WARNING: Missing "authToken" option. Will not clean existing artifacts.'
+ );
+ return Promise.resolve("nothing to do here");
+ } else if (options.org === undefined) {
+ // eslint-disable-next-line no-console
+ console.log(
+ '[Sentry-plugin] WARNING: Missing "org" option. Will not clean existing artifacts.'
+ );
+ return Promise.resolve("nothing to do here");
+ } else if (options.url === undefined) {
+ // eslint-disable-next-line no-console
+ console.log(
+ '[Sentry-plugin] WARNING: Missing "url" option. Will not clean existing artifacts.'
+ );
+ return Promise.resolve("nothing to do here");
+ }
+
+ await deleteAllReleaseArtifacts({
+ authToken: options.authToken,
+ org: options.org,
+ release,
+ sentryUrl: options.url,
+ project: options.project,
+ });
+
+ // eslint-disable-next-line no-console
+ console.log("[Sentry-plugin] Successfully cleaned previous artifacts.");
}
return Promise.resolve("nothing to do here");
}
diff --git a/packages/unplugin/src/tsconfig.json b/packages/unplugin/src/tsconfig.json
index 32067f493a24..c7d27b2e5ea7 100644
--- a/packages/unplugin/src/tsconfig.json
+++ b/packages/unplugin/src/tsconfig.json
@@ -1,9 +1,10 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"extends": "sentry-unplugin-tsconfigs/base-config.json",
- "include": ["./**/*"],
+ "include": ["./**/*", "../package.json"],
"compilerOptions": {
"esModuleInterop": true,
+ "resolveJsonModule": true, // needed to import package.json
"types": ["node"],
"lib": ["ES2020", "DOM"] // es2020 needed for "new Set()", DOM needed for various bundler types
}
From 3e1f388df21213888ffc130102fe754f2a2d467a Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Wed, 24 Aug 2022 14:22:48 +0200
Subject: [PATCH 027/640] Add playground logger proxy
---
packages/playground/.env.example | 3 +-
packages/playground/.gitignore | 3 +-
packages/playground/package.json | 17 +-
.../scripts/request-logger-logs/.gitkeep | 0
.../scripts/request-logger-proxy.ts | 78 ++++
.../playground/vite.config.smallNodeApp.js | 1 +
yarn.lock | 412 +++++++++++++++++-
7 files changed, 493 insertions(+), 21 deletions(-)
create mode 100644 packages/playground/scripts/request-logger-logs/.gitkeep
create mode 100644 packages/playground/scripts/request-logger-proxy.ts
diff --git a/packages/playground/.env.example b/packages/playground/.env.example
index 4b7b93720128..7a822b458d79 100644
--- a/packages/playground/.env.example
+++ b/packages/playground/.env.example
@@ -1,4 +1,5 @@
SENTRY_AUTH_TOKEN=
SENTRY_DSN=
SENTRY_ORG=
-SENTRY_PROJECT=
\ No newline at end of file
+SENTRY_PROJECT=
+SENTRY_URL=https://sentry.io
diff --git a/packages/playground/.gitignore b/packages/playground/.gitignore
index eb19cb4d3456..01984667f620 100644
--- a/packages/playground/.gitignore
+++ b/packages/playground/.gitignore
@@ -1,2 +1,3 @@
out/
-.env
\ No newline at end of file
+.env
+scripts/request-logger-logs/*.txt
diff --git a/packages/playground/package.json b/packages/playground/package.json
index eca2dab452c8..2fb5f73e3e4b 100644
--- a/packages/playground/package.json
+++ b/packages/playground/package.json
@@ -12,18 +12,23 @@
"build:webpack4": "node build-webpack4.js",
"build:webpack5": "node build-webpack5.js",
"build:esbuild": "node build-esbuild.js",
- "build:smallNodeApp": "vite build --config vite.config.smallNodeApp.js"
+ "build:smallNodeApp": "vite build --config vite.config.smallNodeApp.js",
+ "start:proxyLogger": "ts-node scripts/request-logger-proxy.ts"
},
"dependencies": {
- "@sentry/unplugin": "*",
- "@sentry/node": "^7.11.1",
+ "@sentry/cli": "1.74.5",
"@sentry/integrations": "^7.11.1",
+ "@sentry/node": "^7.11.1",
+ "@sentry/unplugin": "*",
+ "@types/express": "^4.17.13",
+ "@types/http-proxy": "^1.17.9",
"esbuild": "0.14.49",
+ "express": "^4.18.1",
+ "http-proxy": "^1.18.1",
+ "npm-run-all": "4.1.5",
"rollup": "2.77.0",
"vite": "3.0.0",
- "webpack4": "npm:webpack@4.46.0",
"webpack": "5.74.0",
- "npm-run-all": "4.1.5",
- "@sentry/cli": "1.74.5"
+ "webpack4": "npm:webpack@4.46.0"
}
}
diff --git a/packages/playground/scripts/request-logger-logs/.gitkeep b/packages/playground/scripts/request-logger-logs/.gitkeep
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/packages/playground/scripts/request-logger-proxy.ts b/packages/playground/scripts/request-logger-proxy.ts
new file mode 100644
index 000000000000..ce80bf0d77fc
--- /dev/null
+++ b/packages/playground/scripts/request-logger-proxy.ts
@@ -0,0 +1,78 @@
+import express from "express";
+import httpProxy from "http-proxy";
+import fs from "fs";
+import path from "path";
+
+const now = Date.now();
+
+var app = express();
+
+var proxy = httpProxy.createProxyServer();
+
+app.use(function (req, res, next) {
+ let reqBody: Uint8Array[] = [];
+ let resBody: Uint8Array[] = [];
+ let reqLog: string;
+
+ req
+ .on("data", (chunk: Buffer) => {
+ reqBody.push(chunk);
+ })
+ .on("end", () => {
+ reqLog = `Path: ${req.method} ${req.path}\nRequest headers: ${JSON.stringify(
+ req.headers,
+ null,
+ 2
+ )}\nRequest body:\n${Buffer.concat(reqBody).toString()}`;
+ });
+
+ var oldWrite = res.write,
+ oldEnd = res.end;
+
+ res.write = function (chunk: Buffer) {
+ resBody.push(chunk);
+
+ // @ts-ignore
+ return oldWrite.apply(res, arguments);
+ };
+
+ // @ts-ignore
+ res.end = function (chunk) {
+ if (chunk) resBody.push(chunk);
+
+ const resLog = `Response headers: ${JSON.stringify(
+ res.getHeaders(),
+ null,
+ 2
+ )}\nResponse body:\n${Buffer.concat(resBody).toString()}`;
+
+ fs.appendFileSync(
+ path.join(__dirname, `request-logger-logs/${now}.txt`),
+ `>>>>>>>>>\n\n${reqLog}\n\n-----------\n\n${resLog}\n\n<<<<<<<<<\n\n`,
+ {
+ encoding: "utf-8",
+ }
+ );
+
+ // @ts-ignore
+ oldEnd.apply(res, arguments);
+ };
+
+ next();
+});
+
+app.use(function (req, res, next) {
+ proxy.web(
+ req,
+ res,
+ {
+ target: "https://sentry.io", // change this if you want to proxy to another target
+ changeOrigin: true,
+ },
+ next
+ );
+});
+
+app.listen(8005, function () {
+ console.log("Listening!");
+});
diff --git a/packages/playground/vite.config.smallNodeApp.js b/packages/playground/vite.config.smallNodeApp.js
index 39892befa3e9..60da809060cf 100644
--- a/packages/playground/vite.config.smallNodeApp.js
+++ b/packages/playground/vite.config.smallNodeApp.js
@@ -17,6 +17,7 @@ export default defineConfig({
},
plugins: [
sentryVitePlugin({
+ url: process.env.SENTRY_URL,
authToken: process.env.SENTRY_AUTH_TOKEN,
org: process.env.SENTRY_ORG,
project: process.env.SENTRY_PROJECT,
diff --git a/yarn.lock b/yarn.lock
index 8d276baf62c6..f998af0784ab 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2366,6 +2366,21 @@
dependencies:
"@babel/types" "^7.3.0"
+"@types/body-parser@*":
+ version "1.19.2"
+ resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0"
+ integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==
+ dependencies:
+ "@types/connect" "*"
+ "@types/node" "*"
+
+"@types/connect@*":
+ version "3.4.35"
+ resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1"
+ integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==
+ dependencies:
+ "@types/node" "*"
+
"@types/eslint-scope@^3.7.3":
version "3.7.4"
resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16"
@@ -2397,6 +2412,25 @@
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40"
integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==
+"@types/express-serve-static-core@^4.17.18":
+ version "4.17.30"
+ resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.30.tgz#0f2f99617fa8f9696170c46152ccf7500b34ac04"
+ integrity sha512-gstzbTWro2/nFed1WXtf+TtrpwxH7Ggs4RLYTLbeVgIkUQOI3WG/JKjgeOU1zXDvezllupjrf8OPIdvTbIaVOQ==
+ dependencies:
+ "@types/node" "*"
+ "@types/qs" "*"
+ "@types/range-parser" "*"
+
+"@types/express@^4.17.13":
+ version "4.17.13"
+ resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034"
+ integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==
+ dependencies:
+ "@types/body-parser" "*"
+ "@types/express-serve-static-core" "^4.17.18"
+ "@types/qs" "*"
+ "@types/serve-static" "*"
+
"@types/graceful-fs@^4.1.3":
version "4.1.5"
resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15"
@@ -2404,6 +2438,13 @@
dependencies:
"@types/node" "*"
+"@types/http-proxy@^1.17.9":
+ version "1.17.9"
+ resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.9.tgz#7f0e7931343761efde1e2bf48c40f02f3f75705a"
+ integrity sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==
+ dependencies:
+ "@types/node" "*"
+
"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1":
version "2.0.4"
resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44"
@@ -2436,6 +2477,11 @@
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3"
integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==
+"@types/mime@*":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10"
+ integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==
+
"@types/minimatch@^3.0.3":
version "3.0.5"
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40"
@@ -2461,6 +2507,16 @@
resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.0.tgz#ea03e9f0376a4446f44797ca19d9c46c36e352dc"
integrity sha512-RI1L7N4JnW5gQw2spvL7Sllfuf1SaHdrZpCHiBlCXjIlufi1SMNnbu2teze3/QE67Fg2tBlH7W+mi4hVNk4p0A==
+"@types/qs@*":
+ version "6.9.7"
+ resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb"
+ integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==
+
+"@types/range-parser@*":
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc"
+ integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==
+
"@types/resolve@1.17.1":
version "1.17.1"
resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6"
@@ -2468,6 +2524,14 @@
dependencies:
"@types/node" "*"
+"@types/serve-static@*":
+ version "1.15.0"
+ resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.0.tgz#c7930ff61afb334e121a9da780aac0d9b8f34155"
+ integrity sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==
+ dependencies:
+ "@types/mime" "*"
+ "@types/node" "*"
+
"@types/source-list-map@*":
version "0.1.2"
resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9"
@@ -2906,6 +2970,14 @@ abbrev@1:
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
+accepts@~1.3.8:
+ version "1.3.8"
+ resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
+ integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
+ dependencies:
+ mime-types "~2.1.34"
+ negotiator "0.6.3"
+
acorn-import-assertions@^1.7.6:
version "1.8.0"
resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9"
@@ -3111,6 +3183,11 @@ array-find-index@^1.0.1:
resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
integrity sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==
+array-flatten@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
+ integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
+
array-ify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece"
@@ -3421,6 +3498,24 @@ bn.js@^5.0.0, bn.js@^5.1.1:
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70"
integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==
+body-parser@1.20.0, body-parser@^1.20.0:
+ version "1.20.0"
+ resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5"
+ integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==
+ dependencies:
+ bytes "3.1.2"
+ content-type "~1.0.4"
+ debug "2.6.9"
+ depd "2.0.0"
+ destroy "1.2.0"
+ http-errors "2.0.0"
+ iconv-lite "0.4.24"
+ on-finished "2.4.1"
+ qs "6.10.3"
+ raw-body "2.5.1"
+ type-is "~1.6.18"
+ unpipe "1.0.0"
+
brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
@@ -3584,6 +3679,11 @@ byte-size@^4.0.3:
resolved "https://registry.yarnpkg.com/byte-size/-/byte-size-4.0.4.tgz#29d381709f41aae0d89c631f1c81aec88cd40b23"
integrity sha512-82RPeneC6nqCdSwCX2hZUz3JPOvN5at/nTEw/CMf05Smu3Hrpo9Psb7LjN+k+XndNArG1EY8L4+BM3aTM4BCvw==
+bytes@3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
+ integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
+
cacache@^11.3.3:
version "11.3.3"
resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.3.tgz#8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc"
@@ -4021,6 +4121,18 @@ constants-browserify@^1.0.0:
resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==
+content-disposition@0.5.4:
+ version "0.5.4"
+ resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe"
+ integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
+ dependencies:
+ safe-buffer "5.2.1"
+
+content-type@~1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
+ integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
+
conventional-changelog-angular@^5.0.3:
version "5.0.13"
resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c"
@@ -4110,6 +4222,16 @@ convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0:
dependencies:
safe-buffer "~5.1.1"
+cookie-signature@1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
+ integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==
+
+cookie@0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b"
+ integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==
+
cookie@^0.4.1:
version "0.4.2"
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432"
@@ -4264,6 +4386,13 @@ dateformat@^3.0.0:
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae"
integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==
+debug@2.6.9, debug@^2.2.0, debug@^2.3.3:
+ version "2.6.9"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+ integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
+ dependencies:
+ ms "2.0.0"
+
debug@3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
@@ -4278,13 +4407,6 @@ debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4:
dependencies:
ms "2.1.2"
-debug@^2.2.0, debug@^2.3.3:
- version "2.6.9"
- resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
- integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
- dependencies:
- ms "2.0.0"
-
debug@^3.1.0:
version "3.2.7"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
@@ -4377,6 +4499,11 @@ delegates@^1.0.0:
resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==
+depd@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
+ integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
+
deprecation@^2.0.0, deprecation@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919"
@@ -4390,6 +4517,11 @@ des.js@^1.0.0:
inherits "^2.0.1"
minimalistic-assert "^1.0.0"
+destroy@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
+ integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
+
detect-indent@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d"
@@ -4498,6 +4630,11 @@ ecc-jsbn@~0.1.1:
jsbn "~0.1.0"
safer-buffer "^2.1.0"
+ee-first@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
+ integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
+
electron-to-chromium@^1.4.202:
version "1.4.227"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.227.tgz#28e46e2a701fed3188db3ca7bf0a3a475e484046"
@@ -4531,6 +4668,11 @@ emojis-list@^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"
+ integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
+
encoding@^0.1.11:
version "0.1.13"
resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9"
@@ -4906,6 +5048,11 @@ escalade@^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"
+ resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
+ integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
+
escape-string-regexp@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
@@ -5097,6 +5244,16 @@ esutils@^2.0.2:
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
+etag@~1.8.1:
+ version "1.8.1"
+ resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
+ integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
+
+eventemitter3@^4.0.0:
+ version "4.0.7"
+ 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.3.0"
resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
@@ -5182,6 +5339,43 @@ expect@^28.0.0, expect@^28.1.3:
jest-message-util "^28.1.3"
jest-util "^28.1.3"
+express@^4.18.1:
+ version "4.18.1"
+ resolved "https://registry.yarnpkg.com/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf"
+ integrity sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==
+ dependencies:
+ accepts "~1.3.8"
+ array-flatten "1.1.1"
+ body-parser "1.20.0"
+ content-disposition "0.5.4"
+ content-type "~1.0.4"
+ cookie "0.5.0"
+ cookie-signature "1.0.6"
+ debug "2.6.9"
+ depd "2.0.0"
+ encodeurl "~1.0.2"
+ escape-html "~1.0.3"
+ etag "~1.8.1"
+ finalhandler "1.2.0"
+ fresh "0.5.2"
+ http-errors "2.0.0"
+ merge-descriptors "1.0.1"
+ methods "~1.1.2"
+ on-finished "2.4.1"
+ parseurl "~1.3.3"
+ path-to-regexp "0.1.7"
+ proxy-addr "~2.0.7"
+ qs "6.10.3"
+ range-parser "~1.2.1"
+ safe-buffer "5.2.1"
+ send "0.18.0"
+ serve-static "1.15.0"
+ setprototypeof "1.2.0"
+ statuses "2.0.1"
+ type-is "~1.6.18"
+ utils-merge "1.0.1"
+ vary "~1.1.2"
+
extend-shallow@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
@@ -5333,6 +5527,19 @@ filter-obj@^1.1.0:
resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b"
integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==
+finalhandler@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32"
+ integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==
+ dependencies:
+ debug "2.6.9"
+ encodeurl "~1.0.2"
+ escape-html "~1.0.3"
+ on-finished "2.4.1"
+ parseurl "~1.3.3"
+ statuses "2.0.1"
+ unpipe "~1.0.0"
+
find-cache-dir@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7"
@@ -5401,7 +5608,7 @@ flush-write-stream@^1.0.0:
inherits "^2.0.3"
readable-stream "^2.3.6"
-follow-redirects@^1.14.9:
+follow-redirects@^1.0.0, follow-redirects@^1.14.9:
version "1.15.1"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5"
integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==
@@ -5434,6 +5641,11 @@ form-data@~2.3.2:
combined-stream "^1.0.6"
mime-types "^2.1.12"
+forwarded@0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
+ integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
+
fragment-cache@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
@@ -5441,6 +5653,11 @@ fragment-cache@^0.2.1:
dependencies:
map-cache "^0.2.2"
+fresh@0.5.2:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
+ integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==
+
from2@^2.1.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af"
@@ -5921,6 +6138,17 @@ http-cache-semantics@^3.8.1:
resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2"
integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==
+http-errors@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3"
+ integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==
+ dependencies:
+ depd "2.0.0"
+ inherits "2.0.4"
+ setprototypeof "1.2.0"
+ statuses "2.0.1"
+ toidentifier "1.0.1"
+
http-proxy-agent@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405"
@@ -5929,6 +6157,15 @@ http-proxy-agent@^2.1.0:
agent-base "4"
debug "3.1.0"
+http-proxy@^1.18.1:
+ version "1.18.1"
+ resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549"
+ integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==
+ dependencies:
+ eventemitter3 "^4.0.0"
+ follow-redirects "^1.0.0"
+ requires-port "^1.0.0"
+
http-signature@~1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
@@ -5981,7 +6218,7 @@ husky@^8.0.0:
resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.1.tgz#511cb3e57de3e3190514ae49ed50f6bc3f50b3e9"
integrity sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==
-iconv-lite@^0.4.24:
+iconv-lite@0.4.24, iconv-lite@^0.4.24:
version "0.4.24"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
@@ -6094,7 +6331,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
-inherits@2, 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.1, 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==
@@ -6166,6 +6403,11 @@ ip@1.1.5:
resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a"
integrity sha512-rBtCAQAJm8A110nbwn6YdveUnuZH3WrC36IwkRXxDnq53JvXA2NVQvB7IHyKomxK1MJ4VDNw3UtFDdXQ+AvLYA==
+ipaddr.js@1.9.1:
+ version "1.9.1"
+ resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
+ integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
+
is-accessor-descriptor@^0.1.6:
version "0.1.6"
resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
@@ -7448,6 +7690,11 @@ md5.js@^1.3.4:
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"
+ integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
+
mem@^4.0.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178"
@@ -7526,6 +7773,11 @@ meow@^8.0.0:
type-fest "^0.18.0"
yargs-parser "^20.2.3"
+merge-descriptors@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
+ integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==
+
merge-stream@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
@@ -7536,6 +7788,11 @@ merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1:
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
+methods@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
+ integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==
+
micromatch@^3.1.10, micromatch@^3.1.4:
version "3.1.10"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
@@ -7576,13 +7833,18 @@ mime-db@1.52.0:
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
-mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.19:
+mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34:
version "2.1.35"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
dependencies:
mime-db "1.52.0"
+mime@1.6.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
+ integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
+
mimic-fn@^1.0.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
@@ -7715,7 +7977,7 @@ ms@2.1.2:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
-ms@^2.0.0, ms@^2.1.1:
+ms@2.1.3, ms@^2.0.0, ms@^2.1.1:
version "2.1.3"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
@@ -7783,6 +8045,11 @@ natural-compare@^1.4.0:
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
+negotiator@0.6.3:
+ version "0.6.3"
+ resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
+ integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
+
neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1, neo-async@^2.6.2:
version "2.6.2"
resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
@@ -8135,6 +8402,13 @@ octokit-pagination-methods@^1.1.0:
resolved "https://registry.yarnpkg.com/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz#cf472edc9d551055f9ef73f6e42b4dbb4c80bea4"
integrity sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ==
+on-finished@2.4.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f"
+ integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
+ dependencies:
+ ee-first "1.1.1"
+
once@^1.3.0, once@^1.3.1, once@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
@@ -8429,6 +8703,11 @@ parse-url@^6.0.0:
parse-path "^4.0.0"
protocols "^1.4.0"
+parseurl@~1.3.3:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
+ integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
+
pascalcase@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
@@ -8481,6 +8760,11 @@ path-parse@^1.0.7:
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+path-to-regexp@0.1.7:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
+ integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==
+
path-type@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
@@ -8706,6 +8990,14 @@ protoduck@^5.0.1:
dependencies:
genfun "^5.0.0"
+proxy-addr@~2.0.7:
+ version "2.0.7"
+ resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
+ integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
+ dependencies:
+ forwarded "0.2.0"
+ ipaddr.js "1.9.1"
+
proxy-from-env@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
@@ -8778,6 +9070,13 @@ q@^1.5.1:
resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==
+qs@6.10.3:
+ version "6.10.3"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e"
+ integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==
+ dependencies:
+ side-channel "^1.0.4"
+
qs@^6.9.4:
version "6.11.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a"
@@ -8840,6 +9139,21 @@ randomfill@^1.0.3:
randombytes "^2.0.5"
safe-buffer "^5.1.0"
+range-parser@~1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
+ integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
+
+raw-body@2.5.1:
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857"
+ integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==
+ dependencies:
+ bytes "3.1.2"
+ http-errors "2.0.0"
+ iconv-lite "0.4.24"
+ unpipe "1.0.0"
+
react-is@^16.13.1:
version "16.13.1"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
@@ -9136,6 +9450,11 @@ require-main-filename@^1.0.1:
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
integrity sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==
+requires-port@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
+ integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==
+
resolve-cwd@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a"
@@ -9285,7 +9604,7 @@ rxjs@^6.4.0:
dependencies:
tslib "^1.9.0"
-safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0:
+safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0:
version "5.2.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
@@ -9352,6 +9671,25 @@ semver@~5.3.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
integrity sha512-mfmm3/H9+67MCVix1h+IXTpDwL6710LyHuk7+cWC9T1mE0qz4iHhh6r4hU2wrIT9iTsAAC2XQRvfblL028cpLw==
+send@0.18.0:
+ version "0.18.0"
+ resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be"
+ integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==
+ dependencies:
+ debug "2.6.9"
+ depd "2.0.0"
+ destroy "1.2.0"
+ encodeurl "~1.0.2"
+ escape-html "~1.0.3"
+ etag "~1.8.1"
+ fresh "0.5.2"
+ http-errors "2.0.0"
+ mime "1.6.0"
+ ms "2.1.3"
+ on-finished "2.4.1"
+ range-parser "~1.2.1"
+ statuses "2.0.1"
+
serialize-javascript@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa"
@@ -9366,6 +9704,16 @@ serialize-javascript@^6.0.0:
dependencies:
randombytes "^2.1.0"
+serve-static@1.15.0:
+ version "1.15.0"
+ resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540"
+ integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==
+ dependencies:
+ encodeurl "~1.0.2"
+ escape-html "~1.0.3"
+ parseurl "~1.3.3"
+ send "0.18.0"
+
set-blocking@^2.0.0, set-blocking@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
@@ -9386,6 +9734,11 @@ setimmediate@^1.0.4:
resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==
+setprototypeof@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
+ integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
+
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"
@@ -9678,6 +10031,11 @@ static-extend@^0.1.1:
define-property "^0.2.5"
object-copy "^0.1.0"
+statuses@2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63"
+ integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
+
stream-browserify@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b"
@@ -10127,6 +10485,11 @@ to-regex@^3.0.1, to-regex@^3.0.2:
regex-not "^1.0.2"
safe-regex "^1.1.0"
+toidentifier@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
+ integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
+
tough-cookie@~2.5.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
@@ -10247,6 +10610,14 @@ type-fest@^0.8.1:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
+type-is@~1.6.18:
+ version "1.6.18"
+ resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
+ integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
+ dependencies:
+ media-typer "0.3.0"
+ mime-types "~2.1.24"
+
typedarray@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
@@ -10346,6 +10717,11 @@ universalify@^0.1.0:
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
+unpipe@1.0.0, unpipe@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
+ integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
+
unplugin@0.9.4:
version "0.9.4"
resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-0.9.4.tgz#53e6f4fc92905122219af0e3f40af753563d38b6"
@@ -10428,6 +10804,11 @@ util@^0.11.0:
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"
+ integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
+
uuid@^3.0.1, uuid@^3.3.2:
version "3.4.0"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
@@ -10467,6 +10848,11 @@ validate-npm-package-name@^3.0.0:
dependencies:
builtins "^1.0.3"
+vary@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
+ integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
+
verror@1.10.0:
version "1.10.0"
resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
From 02696d310783ae4503fc950000e285f93f3613e7 Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Wed, 24 Aug 2022 15:21:06 +0200
Subject: [PATCH 028/640] fix(sourcemap-upload): Use correct Sentry APIs (#31)
---
packages/unplugin/src/sentry/api.ts | 14 ++++----------
packages/unplugin/src/sentry/facade.ts | 6 ++++++
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/packages/unplugin/src/sentry/api.ts b/packages/unplugin/src/sentry/api.ts
index d2b0841c3d02..0012baa53c09 100644
--- a/packages/unplugin/src/sentry/api.ts
+++ b/packages/unplugin/src/sentry/api.ts
@@ -33,15 +33,11 @@ export async function createRelease({
authToken: string;
sentryUrl: string;
}): Promise {
- // using the legacy endpoint here because the sentry webpack plugin only associates one project
- // with the release. If we ever wanna support multiple projects in the unplugin,
- // take a look at how sentry/cli calls the new endpoint:
- // https://github.com/getsentry/sentry-cli/blob/4fa813549cd249e77ae6ba974d76e606a19f48de/src/api.rs#L769-L773
- const requestUrl = `${sentryUrl}${API_PATH}/projects/${org}/${project}/releases/`;
+ const requestUrl = `${sentryUrl}${API_PATH}/organizations/${org}/releases/`;
const releasePayload = {
version: release,
- projects: [project],
+ projects: [project], // we currently only support creating releases for a single project
dateStarted: new Date(),
dateReleased: new Date(), //TODO: figure out if these dates are set correctly
};
@@ -67,11 +63,9 @@ export async function deleteAllReleaseArtifacts({
release: string;
sentryUrl: string;
authToken: string;
- project?: string;
+ project: string;
}): Promise {
- const requestUrl = project
- ? `${sentryUrl}${API_PATH}/projects/${org}/${project}/files/source-maps/?name=${release}` // legacy endpoint if users provide project
- : `${sentryUrl}${API_PATH}/organizations/${org}/files/source-maps/?name=${release}`; // new endpoint
+ const requestUrl = `${sentryUrl}${API_PATH}/projects/${org}/${project}/files/source-maps/?name=${release}`;
try {
await sentryApiAxiosInstance.delete(requestUrl, {
diff --git a/packages/unplugin/src/sentry/facade.ts b/packages/unplugin/src/sentry/facade.ts
index 3e6f1ea07fd0..2d2ea2b36bec 100644
--- a/packages/unplugin/src/sentry/facade.ts
+++ b/packages/unplugin/src/sentry/facade.ts
@@ -131,6 +131,12 @@ async function cleanArtifacts(_cli: SentryCli, release: string, options: Options
'[Sentry-plugin] WARNING: Missing "url" option. Will not clean existing artifacts.'
);
return Promise.resolve("nothing to do here");
+ } else if (options.project === undefined) {
+ // eslint-disable-next-line no-console
+ console.log(
+ '[Sentry-plugin] WARNING: Missing "project" option. Will not clean existing artifacts.'
+ );
+ return Promise.resolve("nothing to do here");
}
await deleteAllReleaseArtifacts({
From c1fc7fe3baca4cd03e162c3bade256a3b52cd62f Mon Sep 17 00:00:00 2001
From: Vladan Paunovic
Date: Wed, 24 Aug 2022 15:37:13 +0200
Subject: [PATCH 029/640] chore(cli): move finalizeRelease to sentry-unplugin
(#32)
Co-authored-by: Luca Forstner
---
.../playground/vite.config.smallNodeApp.js | 2 +-
packages/unplugin/src/sentry/api.ts | 29 +++++++++++++++++++
packages/unplugin/src/sentry/facade.ts | 29 +++++++++++++++++--
yarn.lock | 2 +-
4 files changed, 57 insertions(+), 5 deletions(-)
diff --git a/packages/playground/vite.config.smallNodeApp.js b/packages/playground/vite.config.smallNodeApp.js
index 60da809060cf..dc60482069f2 100644
--- a/packages/playground/vite.config.smallNodeApp.js
+++ b/packages/playground/vite.config.smallNodeApp.js
@@ -23,7 +23,7 @@ export default defineConfig({
project: process.env.SENTRY_PROJECT,
debug: true,
debugLogging: true,
- release: "0.0.6",
+ release: "hackweek-0.0.7",
include: "out/vite-smallNodeApp",
cleanArtifacts: true,
}),
diff --git a/packages/unplugin/src/sentry/api.ts b/packages/unplugin/src/sentry/api.ts
index 0012baa53c09..0caf51fe2954 100644
--- a/packages/unplugin/src/sentry/api.ts
+++ b/packages/unplugin/src/sentry/api.ts
@@ -78,3 +78,32 @@ export async function deleteAllReleaseArtifacts({
throw new Error("Something went wrong while cleaning previous release artifacts");
}
}
+
+export async function updateRelease({
+ release,
+ org,
+ authToken,
+ sentryUrl,
+ project,
+}: {
+ release: string;
+ org: string;
+ authToken: string;
+ sentryUrl: string;
+ project: string;
+}): Promise {
+ const requestUrl = `${sentryUrl}${API_PATH}/projects/${org}/${project}/releases/${release}/`;
+
+ const releasePayload = {
+ dateReleased: new Date().toISOString(),
+ };
+
+ try {
+ await sentryApiAxiosInstance.put(requestUrl, releasePayload, {
+ headers: { Authorization: `Bearer ${authToken}` },
+ });
+ } catch (e) {
+ // TODO: Maybe do some more sopthisticated error handling here
+ throw new Error("Something went wrong while creating a release");
+ }
+}
diff --git a/packages/unplugin/src/sentry/facade.ts b/packages/unplugin/src/sentry/facade.ts
index 2d2ea2b36bec..b6e012fa8cb4 100644
--- a/packages/unplugin/src/sentry/facade.ts
+++ b/packages/unplugin/src/sentry/facade.ts
@@ -9,7 +9,7 @@
import { makeSentryCli } from "./cli";
import { Options } from "../types";
import SentryCli from "@sentry/cli";
-import { createRelease, deleteAllReleaseArtifacts } from "./api";
+import { createRelease, deleteAllReleaseArtifacts, updateRelease } from "./api";
export type SentryFacade = {
createNewRelease: () => Promise;
@@ -103,10 +103,33 @@ async function uploadSourceMaps(
return cli.releases.uploadSourceMaps(release, uploadSourceMapsOptions);
}
-async function finalizeRelease(cli: SentryCli, release: string, options: Options): Promise {
+async function finalizeRelease(
+ _cli: SentryCli,
+ release: string,
+ options: Options
+): Promise {
if (options.finalize) {
- return cli.releases.finalize(release);
+ const { authToken, org, url, project } = options;
+ if (!authToken || !org || !url || !project) {
+ // eslint-disable-next-line no-console
+ console.log(
+ "[Sentry-plugin] WARNING: Missing required option. Will not clean existing artifacts."
+ );
+ return Promise.resolve("nothing to do here");
+ }
+
+ await updateRelease({
+ authToken,
+ org,
+ release,
+ sentryUrl: url,
+ project,
+ });
+
+ // eslint-disable-next-line no-console
+ console.log("[Sentry-plugin] Successfully finalized release.");
}
+
return Promise.resolve("nothing to do here");
}
diff --git a/yarn.lock b/yarn.lock
index f998af0784ab..be8641fe6094 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3498,7 +3498,7 @@ bn.js@^5.0.0, bn.js@^5.1.1:
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70"
integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==
-body-parser@1.20.0, body-parser@^1.20.0:
+body-parser@1.20.0:
version "1.20.0"
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5"
integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==
From 885e1977cd8a76d20239a8ba259131dcce243042 Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Wed, 24 Aug 2022 15:43:28 +0200
Subject: [PATCH 030/640] fix: Allow for git head extraction when not in
repository root
---
packages/unplugin/src/getReleaseName.ts | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
diff --git a/packages/unplugin/src/getReleaseName.ts b/packages/unplugin/src/getReleaseName.ts
index 30456117c262..70bbfa07ff89 100644
--- a/packages/unplugin/src/getReleaseName.ts
+++ b/packages/unplugin/src/getReleaseName.ts
@@ -1,13 +1,12 @@
import * as child_process from "child_process";
-import * as fs from "fs";
-import * as path from "path";
-function isGit(dir: string) {
- return fs.existsSync(path.join(dir, ".git"));
-}
-
-function getBranchHead() {
- return child_process.execSync("git rev-parse HEAD").toString().trim();
+function getGitBranchHead(): string | undefined {
+ try {
+ return child_process.execSync("git rev-parse HEAD").toString().trim();
+ } catch (e) {
+ // no git installed
+ return undefined;
+ }
}
export function getReleaseName(releaseName?: string): string {
@@ -35,8 +34,10 @@ export function getReleaseName(releaseName?: string): string {
return process.env[releaseFromEnvironmentVar] as string;
}
- if (isGit(process.cwd())) {
- return getBranchHead();
+ const gitBranchHead = getGitBranchHead();
+
+ if (gitBranchHead) {
+ return gitBranchHead;
} else {
throw new Error("Could not return a release name");
}
From e5cd5bc2e1376f72316d2a80f1c44922260299aa Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Wed, 24 Aug 2022 16:41:39 +0200
Subject: [PATCH 031/640] feat(sourcemaps): replace sourcemaps cli upload (#33)
Co-authored-by: Luca Forstner
---
.../playground/vite.config.smallNodeApp.js | 2 +-
packages/unplugin/package.json | 1 +
packages/unplugin/rollup.config.js | 4 +-
packages/unplugin/src/index.ts | 1 +
packages/unplugin/src/sentry/api.ts | 46 ++++++++++-
packages/unplugin/src/sentry/facade.ts | 78 ++++++++++++++++---
packages/unplugin/src/sentry/sourcemaps.ts | 38 +++++++++
packages/unplugin/src/types.ts | 2 +-
8 files changed, 153 insertions(+), 19 deletions(-)
create mode 100644 packages/unplugin/src/sentry/sourcemaps.ts
diff --git a/packages/playground/vite.config.smallNodeApp.js b/packages/playground/vite.config.smallNodeApp.js
index dc60482069f2..e1b9d13bc9ed 100644
--- a/packages/playground/vite.config.smallNodeApp.js
+++ b/packages/playground/vite.config.smallNodeApp.js
@@ -23,7 +23,7 @@ export default defineConfig({
project: process.env.SENTRY_PROJECT,
debug: true,
debugLogging: true,
- release: "hackweek-0.0.7",
+ release: "0.0.10",
include: "out/vite-smallNodeApp",
cleanArtifacts: true,
}),
diff --git a/packages/unplugin/package.json b/packages/unplugin/package.json
index a50e95175d45..b46dc6ad079b 100644
--- a/packages/unplugin/package.json
+++ b/packages/unplugin/package.json
@@ -22,6 +22,7 @@
"dependencies": {
"@sentry/cli": "1.74.5",
"axios": "^0.27.2",
+ "form-data": "^4.0.0",
"magic-string": "0.26.2",
"unplugin": "0.9.4"
},
diff --git a/packages/unplugin/rollup.config.js b/packages/unplugin/rollup.config.js
index a8da0590bd0f..588b923cf5e2 100644
--- a/packages/unplugin/rollup.config.js
+++ b/packages/unplugin/rollup.config.js
@@ -3,6 +3,7 @@ import resolve from "@rollup/plugin-node-resolve";
import babel from "@rollup/plugin-babel";
import packageJson from "./package.json";
import json from "@rollup/plugin-json";
+import modulePackage from "module";
const input = ["src/index.ts"];
@@ -10,8 +11,7 @@ const extensions = [".js", ".ts"];
export default {
input,
- // external: [...Object.keys(packageJson.dependencies)],
- external: ["path", "unplugin", "@sentry/cli"],
+ external: [...Object.keys(packageJson.dependencies), ...modulePackage.builtinModules],
plugins: [
resolve({ extensions, preferBuiltins: true }),
commonjs(),
diff --git a/packages/unplugin/src/index.ts b/packages/unplugin/src/index.ts
index a52f811bc53f..f5e263ab9d31 100644
--- a/packages/unplugin/src/index.ts
+++ b/packages/unplugin/src/index.ts
@@ -12,6 +12,7 @@ const defaultOptions: Omit = {
cleanArtifacts: false,
finalize: true,
url: "https://sentry.io",
+ ext: ["js", "map", "jsbundle", "bundle"],
};
/**
diff --git a/packages/unplugin/src/sentry/api.ts b/packages/unplugin/src/sentry/api.ts
index 0caf51fe2954..3d6b1db9ed85 100644
--- a/packages/unplugin/src/sentry/api.ts
+++ b/packages/unplugin/src/sentry/api.ts
@@ -1,5 +1,7 @@
import axios from "axios";
+import FormData from "form-data";
+
// We need to ignore the import because the package.json is not part of the TS project as configured in tsconfig.json
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
@@ -21,9 +23,9 @@ sentryApiAxiosInstance.interceptors.request.use((config) => {
});
export async function createRelease({
- release,
- project,
org,
+ project,
+ release,
authToken,
sentryUrl,
}: {
@@ -54,10 +56,10 @@ export async function createRelease({
export async function deleteAllReleaseArtifacts({
org,
+ project,
release,
- sentryUrl,
authToken,
- project,
+ sentryUrl,
}: {
org: string;
release: string;
@@ -107,3 +109,39 @@ export async function updateRelease({
throw new Error("Something went wrong while creating a release");
}
}
+
+export async function uploadReleaseFile({
+ org,
+ project,
+ release,
+ authToken,
+ sentryUrl,
+ filename,
+ fileContent,
+}: {
+ org: string;
+ release: string;
+ sentryUrl: string;
+ authToken: string;
+ project: string;
+ filename: string;
+ fileContent: string;
+}) {
+ const requestUrl = `${sentryUrl}${API_PATH}/projects/${org}/${project}/releases/${release}/files/`;
+
+ const form = new FormData();
+ form.append("name", filename);
+ form.append("file", Buffer.from(fileContent, "utf-8"), { filename });
+
+ try {
+ await sentryApiAxiosInstance.post(requestUrl, form, {
+ headers: {
+ Authorization: `Bearer ${authToken}`,
+ "Content-Type": "multipart/form-data",
+ },
+ });
+ } catch (e) {
+ // TODO: Maybe do some more sopthisticated error handling here
+ throw new Error(`Something went wrong while uploading file ${filename}`);
+ }
+}
diff --git a/packages/unplugin/src/sentry/facade.ts b/packages/unplugin/src/sentry/facade.ts
index b6e012fa8cb4..26bebb379738 100644
--- a/packages/unplugin/src/sentry/facade.ts
+++ b/packages/unplugin/src/sentry/facade.ts
@@ -9,7 +9,8 @@
import { makeSentryCli } from "./cli";
import { Options } from "../types";
import SentryCli from "@sentry/cli";
-import { createRelease, deleteAllReleaseArtifacts, updateRelease } from "./api";
+import { createRelease, deleteAllReleaseArtifacts, uploadReleaseFile, updateRelease } from "./api";
+import { getFiles } from "./sourcemaps";
export type SentryFacade = {
createNewRelease: () => Promise;
@@ -76,12 +77,25 @@ async function uploadSourceMaps(
release: string,
options: Options
): Promise {
- /**
- * One or more paths to ignore during upload. Overrides entries in ignoreFile file.
- */
+ // This is what Sentry CLI does:
+ // TODO: 0. Preprocess source maps
+ // - (Out of scope for now)
+ // - For rewriting source maps see https://github.com/getsentry/rust-sourcemap/blob/master/src/types.rs#L763
+ // TODO: 1. Creates a new release to make sure it exists
+ // - can we assume that the release will exist b/c we don't give unplugin users the
+ // option to skip this step?
+ // TODO: 2. download already uploaded files and get their checksums
+ // TODO: 3. identify new or changed files (by comparing checksums)
+ // TODO: 4. upload new and changed files
+ // - CLI asks API for chunk options https://github.com/getsentry/sentry-cli/blob/7b8466885d9cfd51aee6fdc041eca9f645026303/src/utils/file_upload.rs#L106-L112
+ // - WTF?
+ // - don't upload more than 20k files
+ // - upload files concurrently
+ // - 2 options: chunked upload (multiple files per chunk) or single file upload
const {
include,
+ ext,
// ignore,
// ignoreFile,
// rewrite,
@@ -91,16 +105,58 @@ async function uploadSourceMaps(
// validate,
// urlPrefix,
// urlSuffix,
- // ext,
+ org,
+ project,
+ authToken,
+ url,
} = options;
- //TODO: sort out mess between Sentry CLI options and WebPack plugin options (ideally,
- // we normalize everything before and don't diverge with options between our
- // own CLI implementation and the plugin.
- // I don't want to do too much for this right now b/c we'll eventually get rid of the CLI anyway
- const uploadSourceMapsOptions = { include: typeof include === "string" ? [include] : include };
+ // TODO: pull these checks out of here and simplify them
+ if (authToken === undefined) {
+ // eslint-disable-next-line no-console
+ console.log('[Sentry-plugin] WARNING: Missing "authToken" option. Will not create release.');
+ return Promise.resolve("nothing to do here");
+ } else if (org === undefined) {
+ // eslint-disable-next-line no-console
+ console.log('[Sentry-plugin] WARNING: Missing "org" option. Will not create release.');
+ return Promise.resolve("nothing to do here");
+ } else if (url === undefined) {
+ // eslint-disable-next-line no-console
+ console.log('[Sentry-plugin] WARNING: Missing "url" option. Will not create release.');
+ return Promise.resolve("nothing to do here");
+ } else if (project === undefined) {
+ // eslint-disable-next-line no-console
+ console.log('[Sentry-plugin] WARNING: Missing "project" option. Will not create release.');
+ return Promise.resolve("nothing to do here");
+ }
+
+ // eslint-disable-next-line no-console
+ console.log("[Sentry-plugin] Uploading Sourcemaps.");
+
+ //TODO: Remove this once we have internal options. this property must always be present
+ const fileExtensions = ext || [];
+ const files = getFiles(include, fileExtensions);
- return cli.releases.uploadSourceMaps(release, uploadSourceMapsOptions);
+ // eslint-disable-next-line no-console
+ console.log(`[Sentry-plugin] > Found ${files.length} files to upload.`);
+
+ return Promise.all(
+ files.map((file) =>
+ uploadReleaseFile({
+ org,
+ project,
+ release,
+ authToken,
+ sentryUrl: url,
+ filename: file.name,
+ fileContent: file.content,
+ })
+ )
+ ).then(() => {
+ // eslint-disable-next-line no-console
+ console.log("[Sentry-plugin] Successfully uploaded sourcemaps.");
+ return "done";
+ });
}
async function finalizeRelease(
diff --git a/packages/unplugin/src/sentry/sourcemaps.ts b/packages/unplugin/src/sentry/sourcemaps.ts
new file mode 100644
index 000000000000..5738e6061d30
--- /dev/null
+++ b/packages/unplugin/src/sentry/sourcemaps.ts
@@ -0,0 +1,38 @@
+import path from "path";
+import fs from "fs";
+
+export type FileRecord = {
+ name: string;
+ content: string;
+};
+
+export function getFiles(path: string, allowedExtensions: string[]): FileRecord[] {
+ const includedFiles = getAllIncludedFileNames(path, allowedExtensions, []);
+
+ return includedFiles.map((filename) => {
+ const content = fs.readFileSync(filename, { encoding: "utf-8" });
+ return { name: "~" + filename.replace(new RegExp(`^${path}`), ""), content };
+ });
+}
+
+function getAllIncludedFileNames(
+ dirPath: string,
+ allowedExtensions: string[],
+ accFiles: string[]
+): string[] {
+ const files = fs.readdirSync(dirPath);
+
+ files
+ .map((file) => path.join(dirPath, "/", file))
+ .forEach((file) => {
+ if (fs.statSync(file).isDirectory()) {
+ accFiles.concat(getAllIncludedFileNames(file, allowedExtensions, accFiles));
+ } else {
+ if (allowedExtensions.some((e) => file.endsWith(e))) {
+ accFiles.push(file);
+ }
+ }
+ });
+
+ return accFiles;
+}
diff --git a/packages/unplugin/src/types.ts b/packages/unplugin/src/types.ts
index 99ba7d6029be..f1db088be955 100644
--- a/packages/unplugin/src/types.ts
+++ b/packages/unplugin/src/types.ts
@@ -20,7 +20,7 @@ export type Options = {
include: string; // | Array;
// ignoreFile: string
// ignore: string | string[]
- // ext: string[]
+ ext?: string[];
// urlPrefix: string,
// urlSuffix: string,
// validate: boolean
From 5851384ad9a9868ea113641e73c42b664997282f Mon Sep 17 00:00:00 2001
From: Vladan Paunovic
Date: Wed, 24 Aug 2022 17:07:24 +0200
Subject: [PATCH 032/640] chore(license): add licence and enforce complience
(#27)
* chore(license): add licenses
* chore(license): enforce license complience
* chore(LICENSE): use MIT license
Co-authored-by: Luca Forstner
---
.../workflows/enforce-license-complience.yml | 16 ++++++++++
LICENSE | 29 +++++++++++++++++++
packages/unplugin/LICENSE | 29 +++++++++++++++++++
3 files changed, 74 insertions(+)
create mode 100644 .github/workflows/enforce-license-complience.yml
create mode 100644 LICENSE
create mode 100644 packages/unplugin/LICENSE
diff --git a/.github/workflows/enforce-license-complience.yml b/.github/workflows/enforce-license-complience.yml
new file mode 100644
index 000000000000..8ed039cff166
--- /dev/null
+++ b/.github/workflows/enforce-license-complience.yml
@@ -0,0 +1,16 @@
+name: Enforce License Compliance
+
+on:
+ push:
+ branches: [master, main, release/*]
+ pull_request:
+ branches: [master, main]
+
+jobs:
+ enforce-license-compliance:
+ runs-on: ubuntu-latest
+ steps:
+ - name: "Enforce License Compliance"
+ uses: getsentry/action-enforce-license-compliance@main
+ with:
+ fossa_api_key: ${{ secrets.FOSSA_API_KEY }}
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 000000000000..4acee9a39ecb
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,29 @@
+# MIT License
+
+Copyright (c) 2022, Sentry
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+- Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+- Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+- Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/packages/unplugin/LICENSE b/packages/unplugin/LICENSE
new file mode 100644
index 000000000000..4acee9a39ecb
--- /dev/null
+++ b/packages/unplugin/LICENSE
@@ -0,0 +1,29 @@
+# MIT License
+
+Copyright (c) 2022, Sentry
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+- Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+- Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+- Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
From 71208811c34eaed8f0e2ac9db0ea196a983d2955 Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Wed, 24 Aug 2022 17:10:38 +0200
Subject: [PATCH 033/640] ref(cli): Remove Sentry CLI (#34)
---
packages/playground/package.json | 1 -
packages/unplugin/package.json | 1 -
packages/unplugin/src/sentry/cli.ts | 52 ----------------------
packages/unplugin/src/sentry/facade.ts | 24 +++-------
packages/unplugin/src/sentry/sourcemaps.ts | 2 +-
yarn.lock | 25 +----------
6 files changed, 8 insertions(+), 97 deletions(-)
delete mode 100644 packages/unplugin/src/sentry/cli.ts
diff --git a/packages/playground/package.json b/packages/playground/package.json
index 2fb5f73e3e4b..7cdba0dd32f0 100644
--- a/packages/playground/package.json
+++ b/packages/playground/package.json
@@ -16,7 +16,6 @@
"start:proxyLogger": "ts-node scripts/request-logger-proxy.ts"
},
"dependencies": {
- "@sentry/cli": "1.74.5",
"@sentry/integrations": "^7.11.1",
"@sentry/node": "^7.11.1",
"@sentry/unplugin": "*",
diff --git a/packages/unplugin/package.json b/packages/unplugin/package.json
index b46dc6ad079b..27cf7cc1f2a5 100644
--- a/packages/unplugin/package.json
+++ b/packages/unplugin/package.json
@@ -20,7 +20,6 @@
"lint": "eslint ./src ./test"
},
"dependencies": {
- "@sentry/cli": "1.74.5",
"axios": "^0.27.2",
"form-data": "^4.0.0",
"magic-string": "0.26.2",
diff --git a/packages/unplugin/src/sentry/cli.ts b/packages/unplugin/src/sentry/cli.ts
deleted file mode 100644
index 480adb789dcb..000000000000
--- a/packages/unplugin/src/sentry/cli.ts
+++ /dev/null
@@ -1,52 +0,0 @@
-import SentryCli from "@sentry/cli";
-import { Options } from "../types";
-
-/** Creates a new Sentry CLI instance. */
-export function makeSentryCli(options: Options) {
- //TODO: pass config file instead of null
- const cli = new SentryCli(options.configFile, {
- silent: false, //TODO read from options
- org: options.org,
- project: options.project,
- authToken: options.authToken,
- url: options.url,
- vcsRemote: "origin", //TODO set from options,
- });
-
- // Let's not worry about dry run for now
- // if (this.isDryRun()) {
- // this.outputDebug("DRY Run Mode");
-
- // return {
- // releases: {
- // proposeVersion: () =>
- // cli.releases.proposeVersion().then((version) => {
- // this.outputDebug("Proposed version:\n", version);
- // return version;
- // }),
- // new: (release) => {
- // this.outputDebug("Creating new release:\n", release);
- // return Promise.resolve(release);
- // },
- // uploadSourceMaps: (release, config) => {
- // this.outputDebug("Calling upload-sourcemaps with:\n", config);
- // return Promise.resolve(release, config);
- // },
- // finalize: (release) => {
- // this.outputDebug("Finalizing release:\n", release);
- // return Promise.resolve(release);
- // },
- // setCommits: (release, config) => {
- // this.outputDebug("Calling set-commits with:\n", config);
- // return Promise.resolve(release, config);
- // },
- // newDeploy: (release, config) => {
- // this.outputDebug("Calling deploy with:\n", config);
- // return Promise.resolve(release, config);
- // },
- // },
- // };
- // }
-
- return cli;
-}
diff --git a/packages/unplugin/src/sentry/facade.ts b/packages/unplugin/src/sentry/facade.ts
index 26bebb379738..46551a1ea5c3 100644
--- a/packages/unplugin/src/sentry/facade.ts
+++ b/packages/unplugin/src/sentry/facade.ts
@@ -6,9 +6,7 @@
// - huge download
// - unnecessary functionality
-import { makeSentryCli } from "./cli";
import { Options } from "../types";
-import SentryCli from "@sentry/cli";
import { createRelease, deleteAllReleaseArtifacts, uploadReleaseFile, updateRelease } from "./api";
import { getFiles } from "./sourcemaps";
@@ -26,14 +24,12 @@ export type SentryFacade = {
* a release on Sentry. This includes uploading source maps and finalizing the release
*/
export function makeSentryFacade(release: string, options: Options): SentryFacade {
- const cli = makeSentryCli(options);
-
return {
createNewRelease: () => createNewRelease(release, options),
- cleanArtifacts: () => cleanArtifacts(cli, release, options),
- uploadSourceMaps: () => uploadSourceMaps(cli, release, options),
+ cleanArtifacts: () => cleanArtifacts(release, options),
+ uploadSourceMaps: () => uploadSourceMaps(release, options),
setCommits: () => setCommits(/* release */),
- finalizeRelease: () => finalizeRelease(cli, release, options),
+ finalizeRelease: () => finalizeRelease(release, options),
addDeploy: () => addDeploy(/* release */),
};
}
@@ -72,11 +68,7 @@ async function createNewRelease(release: string, options: Options): Promise {
+async function uploadSourceMaps(release: string, options: Options): Promise {
// This is what Sentry CLI does:
// TODO: 0. Preprocess source maps
// - (Out of scope for now)
@@ -159,11 +151,7 @@ async function uploadSourceMaps(
});
}
-async function finalizeRelease(
- _cli: SentryCli,
- release: string,
- options: Options
-): Promise {
+async function finalizeRelease(release: string, options: Options): Promise {
if (options.finalize) {
const { authToken, org, url, project } = options;
if (!authToken || !org || !url || !project) {
@@ -189,7 +177,7 @@ async function finalizeRelease(
return Promise.resolve("nothing to do here");
}
-async function cleanArtifacts(_cli: SentryCli, release: string, options: Options): Promise {
+async function cleanArtifacts(release: string, options: Options): Promise {
if (options.cleanArtifacts) {
// TODO: pull these checks out of here and simplify them
if (options.authToken === undefined) {
diff --git a/packages/unplugin/src/sentry/sourcemaps.ts b/packages/unplugin/src/sentry/sourcemaps.ts
index 5738e6061d30..fc726019329f 100644
--- a/packages/unplugin/src/sentry/sourcemaps.ts
+++ b/packages/unplugin/src/sentry/sourcemaps.ts
@@ -26,7 +26,7 @@ function getAllIncludedFileNames(
.map((file) => path.join(dirPath, "/", file))
.forEach((file) => {
if (fs.statSync(file).isDirectory()) {
- accFiles.concat(getAllIncludedFileNames(file, allowedExtensions, accFiles));
+ accFiles = accFiles.concat(getAllIncludedFileNames(file, allowedExtensions, accFiles));
} else {
if (allowedExtensions.some((e) => file.endsWith(e))) {
accFiles.push(file);
diff --git a/yarn.lock b/yarn.lock
index be8641fe6094..5e5b54f64df8 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2112,19 +2112,6 @@
estree-walker "^1.0.1"
picomatch "^2.2.2"
-"@sentry/cli@1.74.5":
- version "1.74.5"
- resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-1.74.5.tgz#4a5c622913087c9ab6f82994da9a7526423779b8"
- integrity sha512-Ze1ec306ZWHtrxKypOJ8nhtFqkrx2f/6bRH+DcJzEQ3bBePQ0ZnqJTTe4BBHADYBtxFIaUWzCZ6DquLz2Zv/sw==
- dependencies:
- https-proxy-agent "^5.0.0"
- mkdirp "^0.5.5"
- node-fetch "^2.6.7"
- npmlog "^4.1.2"
- progress "^2.0.3"
- proxy-from-env "^1.1.0"
- which "^2.0.2"
-
"@sentry/core@7.11.1":
version "7.11.1"
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.11.1.tgz#d68e796f3b6428aefd6086a1db00118df7a9a9e4"
@@ -8926,11 +8913,6 @@ process@^0.11.10:
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==
-progress@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
- integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
-
promise-inflight@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
@@ -8998,11 +8980,6 @@ proxy-addr@~2.0.7:
forwarded "0.2.0"
ipaddr.js "1.9.1"
-proxy-from-env@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
- integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
-
prr@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
@@ -11046,7 +11023,7 @@ which@1, which@^1.2.9, which@^1.3.1:
dependencies:
isexe "^2.0.0"
-which@^2.0.1, which@^2.0.2:
+which@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
From 1e93dfc1f5380f5d19dd6a6190faeee1f0b16d04 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Thu, 25 Aug 2022 16:58:33 +0200
Subject: [PATCH 034/640] chore(monorepo): Replace Lerna with Nx (#37)
This PR replaces our current monorepo manager, lerna, with Nx. We don't do any fancy config atm but just replace the `lerna run` commands with the respective Nx commands.
Added bonus: We now get fancy dependency graphs by running `yarn build:graph` ;)
---
lerna.json | 7 -
nx.json | 24 +
package.json | 17 +-
packages/integration-tests/package.json | 6 +-
packages/playground/package.json | 2 +-
packages/unplugin/package.json | 4 +-
yarn.lock | 4625 +++++++----------------
7 files changed, 1323 insertions(+), 3362 deletions(-)
delete mode 100644 lerna.json
create mode 100644 nx.json
diff --git a/lerna.json b/lerna.json
deleted file mode 100644
index ad32ca8d6f18..000000000000
--- a/lerna.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "lerna": "3.4.0",
- "version": "7.3.0",
- "packages": "packages/*",
- "npmClient": "yarn",
- "useWorkspaces": true
-}
diff --git a/nx.json b/nx.json
new file mode 100644
index 000000000000..c2b76c2d9944
--- /dev/null
+++ b/nx.json
@@ -0,0 +1,24 @@
+{
+ "extends": "nx/presets/npm.json",
+ "$schema": "./node_modules/nx/schemas/nx-schema.json",
+ "npmScope": "sentry",
+ "affected": {
+ "defaultBase": "main"
+ },
+ "tasksRunnerOptions": {
+ "default": {
+ "runner": "nx/tasks-runners/default",
+ "options": {
+ "cacheableOperations": ["build", "lint", "test"]
+ }
+ }
+ },
+ "targetDefaults": {
+ "lint": {
+ "dependsOn": ["^build", "build"]
+ },
+ "test": {
+ "dependsOn": ["^build"]
+ }
+ }
+}
diff --git a/package.json b/package.json
index eade3485451e..cb4782946056 100644
--- a/package.json
+++ b/package.json
@@ -1,5 +1,5 @@
{
- "name": "sentry-unplugin-root",
+ "name": "@sentry/unplugin-root",
"version": "0.0.0",
"description": "Root of the sentry unplugin monorepo.",
"repository": "git@github.com:lforst/sentry-unplugin.git",
@@ -8,18 +8,21 @@
"packages/*"
],
"scripts": {
- "build": "lerna run --stream build",
- "build:watch": "lerna run --parallel build:watch",
- "check:types": "lerna run --parallel check:types",
- "test": "lerna run --parallel test",
- "lint": "lerna run --parallel lint",
+ "build": "nx run-many --target=build --all",
+ "build:watch": "nx run-many --target=build:watch --all",
+ "build:graph": "nx graph",
+ "check:types": "nx run-many --target=check:types --all",
+ "test": "nx run-many --target=test --all",
+ "lint": "nx run-many --target=lint --all",
"check:formatting": "prettier --check .",
"fix:formatting": "prettier --write .",
"prepare": "husky install"
},
"devDependencies": {
+ "@nrwl/cli": "14.5.10",
+ "@nrwl/workspace": "14.5.10",
+ "nx": "14.5.10",
"husky": "^8.0.0",
- "lerna": "3.13.4",
"prettier": "^2.7.1",
"pretty-quick": "^3.1.3"
}
diff --git a/packages/integration-tests/package.json b/packages/integration-tests/package.json
index 5d9878d4d863..37bf574c0629 100644
--- a/packages/integration-tests/package.json
+++ b/packages/integration-tests/package.json
@@ -1,5 +1,5 @@
{
- "name": "integration-tests",
+ "name": "@sentry/integration-tests",
"version": "1.0.0",
"private": true,
"scripts": {
@@ -14,12 +14,12 @@
"@types/jest": "^28.1.3",
"@sentry/unplugin": "*",
"@types/webpack4": "npm:@types/webpack@4.41.32",
- "esbuild": "0.14.49",
"eslint-config-local": "*",
+ "sentry-unplugin-tsconfigs": "*",
+ "esbuild": "0.14.49",
"jest": "^28.1.3",
"npm-run-all": "4.1.5",
"rollup": "2.77.0",
- "sentry-unplugin-tsconfigs": "*",
"eslint": "^8.18.0",
"ts-node": "^10.9.1",
"vite": "3.0.0",
diff --git a/packages/playground/package.json b/packages/playground/package.json
index 7cdba0dd32f0..e0d23ef50829 100644
--- a/packages/playground/package.json
+++ b/packages/playground/package.json
@@ -1,5 +1,5 @@
{
- "name": "playground",
+ "name": "@sentry/playground",
"version": "1.0.0",
"main": "index.js",
"author": "Luca Forstner",
diff --git a/packages/unplugin/package.json b/packages/unplugin/package.json
index 27cf7cc1f2a5..423c0837e364 100644
--- a/packages/unplugin/package.json
+++ b/packages/unplugin/package.json
@@ -37,13 +37,13 @@
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
"@types/node": "^18.6.3",
- "eslint": "^8.18.0",
"eslint-config-local": "*",
+ "sentry-unplugin-tsconfigs": "*",
+ "eslint": "^8.18.0",
"jest": "^28.1.1",
"npm-run-all": "^4.1.5",
"rimraf": "^3.0.2",
"rollup": "2.75.7",
- "sentry-unplugin-tsconfigs": "*",
"typescript": "^4.7.4"
}
}
diff --git a/yarn.lock b/yarn.lock
index 5e5b54f64df8..3fd11dfb3c1e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -43,7 +43,7 @@
json5 "^2.2.1"
semver "^6.3.0"
-"@babel/core@^7.11.6", "@babel/core@^7.12.3":
+"@babel/core@^7.1.0", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.8.0":
version "7.18.13"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.13.tgz#9be8c44512751b05094a4d3ab05fc53a47ce00ac"
integrity sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A==
@@ -1029,6 +1029,18 @@
resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98"
integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==
+"@jest/console@^27.5.1":
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.5.1.tgz#260fe7239602fe5130a94f1aa386eff54b014bba"
+ integrity sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==
+ dependencies:
+ "@jest/types" "^27.5.1"
+ "@types/node" "*"
+ chalk "^4.0.0"
+ jest-message-util "^27.5.1"
+ jest-util "^27.5.1"
+ slash "^3.0.0"
+
"@jest/console@^28.1.3":
version "28.1.3"
resolved "https://registry.yarnpkg.com/@jest/console/-/console-28.1.3.tgz#2030606ec03a18c31803b8a36382762e447655df"
@@ -1083,6 +1095,16 @@
dependencies:
"@jest/types" "^27.5.1"
+"@jest/environment@^27.5.1":
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.5.1.tgz#d7425820511fe7158abbecc010140c3fd3be9c74"
+ integrity sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==
+ dependencies:
+ "@jest/fake-timers" "^27.5.1"
+ "@jest/types" "^27.5.1"
+ "@types/node" "*"
+ jest-mock "^27.5.1"
+
"@jest/environment@^28.1.3":
version "28.1.3"
resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-28.1.3.tgz#abed43a6b040a4c24fdcb69eab1f97589b2d663e"
@@ -1108,6 +1130,18 @@
expect "^28.1.3"
jest-snapshot "^28.1.3"
+"@jest/fake-timers@^27.5.1":
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz#76979745ce0579c8a94a4678af7a748eda8ada74"
+ integrity sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==
+ dependencies:
+ "@jest/types" "^27.5.1"
+ "@sinonjs/fake-timers" "^8.0.1"
+ "@types/node" "*"
+ jest-message-util "^27.5.1"
+ jest-mock "^27.5.1"
+ jest-util "^27.5.1"
+
"@jest/fake-timers@^28.1.3":
version "28.1.3"
resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-28.1.3.tgz#230255b3ad0a3d4978f1d06f70685baea91c640e"
@@ -1120,6 +1154,15 @@
jest-mock "^28.1.3"
jest-util "^28.1.3"
+"@jest/globals@^27.5.1":
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.5.1.tgz#7ac06ce57ab966566c7963431cef458434601b2b"
+ integrity sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==
+ dependencies:
+ "@jest/environment" "^27.5.1"
+ "@jest/types" "^27.5.1"
+ expect "^27.5.1"
+
"@jest/globals@^28.1.3":
version "28.1.3"
resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-28.1.3.tgz#a601d78ddc5fdef542728309894895b4a42dc333"
@@ -1129,6 +1172,37 @@
"@jest/expect" "^28.1.3"
"@jest/types" "^28.1.3"
+"@jest/reporters@27.5.1":
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.5.1.tgz#ceda7be96170b03c923c37987b64015812ffec04"
+ integrity sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==
+ dependencies:
+ "@bcoe/v8-coverage" "^0.2.3"
+ "@jest/console" "^27.5.1"
+ "@jest/test-result" "^27.5.1"
+ "@jest/transform" "^27.5.1"
+ "@jest/types" "^27.5.1"
+ "@types/node" "*"
+ chalk "^4.0.0"
+ collect-v8-coverage "^1.0.0"
+ exit "^0.1.2"
+ glob "^7.1.2"
+ graceful-fs "^4.2.9"
+ istanbul-lib-coverage "^3.0.0"
+ istanbul-lib-instrument "^5.1.0"
+ istanbul-lib-report "^3.0.0"
+ istanbul-lib-source-maps "^4.0.0"
+ istanbul-reports "^3.1.3"
+ jest-haste-map "^27.5.1"
+ jest-resolve "^27.5.1"
+ jest-util "^27.5.1"
+ jest-worker "^27.5.1"
+ slash "^3.0.0"
+ source-map "^0.6.0"
+ string-length "^4.0.1"
+ terminal-link "^2.0.0"
+ v8-to-istanbul "^8.1.0"
+
"@jest/reporters@^28.1.3":
version "28.1.3"
resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-28.1.3.tgz#9adf6d265edafc5fc4a434cfb31e2df5a67a369a"
@@ -1167,6 +1241,15 @@
dependencies:
"@sinclair/typebox" "^0.24.1"
+"@jest/source-map@^27.5.1":
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.5.1.tgz#6608391e465add4205eae073b55e7f279e04e8cf"
+ integrity sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==
+ dependencies:
+ callsites "^3.0.0"
+ graceful-fs "^4.2.9"
+ source-map "^0.6.0"
+
"@jest/source-map@^28.1.2":
version "28.1.2"
resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-28.1.2.tgz#7fe832b172b497d6663cdff6c13b0a920e139e24"
@@ -1176,6 +1259,16 @@
callsites "^3.0.0"
graceful-fs "^4.2.9"
+"@jest/test-result@27.5.1", "@jest/test-result@^27.5.1":
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.5.1.tgz#56a6585fa80f7cdab72b8c5fc2e871d03832f5bb"
+ integrity sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==
+ dependencies:
+ "@jest/console" "^27.5.1"
+ "@jest/types" "^27.5.1"
+ "@types/istanbul-lib-coverage" "^2.0.0"
+ collect-v8-coverage "^1.0.0"
+
"@jest/test-result@^28.1.3":
version "28.1.3"
resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-28.1.3.tgz#5eae945fd9f4b8fcfce74d239e6f725b6bf076c5"
@@ -1186,6 +1279,16 @@
"@types/istanbul-lib-coverage" "^2.0.0"
collect-v8-coverage "^1.0.0"
+"@jest/test-sequencer@^27.5.1":
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz#4057e0e9cea4439e544c6353c6affe58d095745b"
+ integrity sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==
+ dependencies:
+ "@jest/test-result" "^27.5.1"
+ graceful-fs "^4.2.9"
+ jest-haste-map "^27.5.1"
+ jest-runtime "^27.5.1"
+
"@jest/test-sequencer@^28.1.3":
version "28.1.3"
resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-28.1.3.tgz#9d0c283d906ac599c74bde464bc0d7e6a82886c3"
@@ -1196,6 +1299,27 @@
jest-haste-map "^28.1.3"
slash "^3.0.0"
+"@jest/transform@^27.5.1":
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.5.1.tgz#6c3501dcc00c4c08915f292a600ece5ecfe1f409"
+ integrity sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==
+ dependencies:
+ "@babel/core" "^7.1.0"
+ "@jest/types" "^27.5.1"
+ babel-plugin-istanbul "^6.1.1"
+ chalk "^4.0.0"
+ convert-source-map "^1.4.0"
+ fast-json-stable-stringify "^2.0.0"
+ graceful-fs "^4.2.9"
+ jest-haste-map "^27.5.1"
+ jest-regex-util "^27.5.1"
+ jest-util "^27.5.1"
+ micromatch "^4.0.4"
+ pirates "^4.0.4"
+ slash "^3.0.0"
+ source-map "^0.6.1"
+ write-file-atomic "^3.0.0"
+
"@jest/transform@^28.1.3":
version "28.1.3"
resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-28.1.3.tgz#59d8098e50ab07950e0f2fc0fc7ec462371281b0"
@@ -1296,635 +1420,6 @@
"@jridgewell/resolve-uri" "^3.0.3"
"@jridgewell/sourcemap-codec" "^1.4.10"
-"@lerna/add@3.13.3":
- version "3.13.3"
- resolved "https://registry.yarnpkg.com/@lerna/add/-/add-3.13.3.tgz#f4c1674839780e458f0426d4f7b6d0a77b9a2ae9"
- integrity sha512-T3/Lsbo9ZFq+vL3ssaHxA8oKikZAPTJTGFe4CRuQgWCDd/M61+51jeWsngdaHpwzSSRDRjxg8fJTG10y10pnfA==
- dependencies:
- "@lerna/bootstrap" "3.13.3"
- "@lerna/command" "3.13.3"
- "@lerna/filter-options" "3.13.3"
- "@lerna/npm-conf" "3.13.0"
- "@lerna/validation-error" "3.13.0"
- dedent "^0.7.0"
- npm-package-arg "^6.1.0"
- p-map "^1.2.0"
- pacote "^9.5.0"
- semver "^5.5.0"
-
-"@lerna/batch-packages@3.13.0":
- version "3.13.0"
- resolved "https://registry.yarnpkg.com/@lerna/batch-packages/-/batch-packages-3.13.0.tgz#697fde5be28822af9d9dca2f750250b90a89a000"
- integrity sha512-TgLBTZ7ZlqilGnzJ3xh1KdAHcySfHytgNRTdG9YomfriTU6kVfp1HrXxKJYVGs7ClPUNt2CTFEOkw0tMBronjw==
- dependencies:
- "@lerna/package-graph" "3.13.0"
- "@lerna/validation-error" "3.13.0"
- npmlog "^4.1.2"
-
-"@lerna/bootstrap@3.13.3":
- version "3.13.3"
- resolved "https://registry.yarnpkg.com/@lerna/bootstrap/-/bootstrap-3.13.3.tgz#a0e5e466de5c100b49d558d39139204fc4db5c95"
- integrity sha512-2XzijnLHRZOVQh8pwS7+5GR3cG4uh+EiLrWOishCq2TVzkqgjaS3GGBoef7KMCXfWHoLqAZRr/jEdLqfETLVqg==
- dependencies:
- "@lerna/batch-packages" "3.13.0"
- "@lerna/command" "3.13.3"
- "@lerna/filter-options" "3.13.3"
- "@lerna/has-npm-version" "3.13.3"
- "@lerna/npm-install" "3.13.3"
- "@lerna/package-graph" "3.13.0"
- "@lerna/pulse-till-done" "3.13.0"
- "@lerna/rimraf-dir" "3.13.3"
- "@lerna/run-lifecycle" "3.13.0"
- "@lerna/run-parallel-batches" "3.13.0"
- "@lerna/symlink-binary" "3.13.0"
- "@lerna/symlink-dependencies" "3.13.0"
- "@lerna/validation-error" "3.13.0"
- dedent "^0.7.0"
- get-port "^3.2.0"
- multimatch "^2.1.0"
- npm-package-arg "^6.1.0"
- npmlog "^4.1.2"
- p-finally "^1.0.0"
- p-map "^1.2.0"
- p-map-series "^1.0.0"
- p-waterfall "^1.0.0"
- read-package-tree "^5.1.6"
- semver "^5.5.0"
-
-"@lerna/changed@3.13.4":
- version "3.13.4"
- resolved "https://registry.yarnpkg.com/@lerna/changed/-/changed-3.13.4.tgz#c69d8a079999e49611dd58987f08437baee81ad4"
- integrity sha512-9lfOyRVObasw6L/z7yCSfsEl1QKy0Eamb8t2Krg1deIoAt+cE3JXOdGGC1MhOSli+7f/U9LyLXjJzIOs/pc9fw==
- dependencies:
- "@lerna/collect-updates" "3.13.3"
- "@lerna/command" "3.13.3"
- "@lerna/listable" "3.13.0"
- "@lerna/output" "3.13.0"
- "@lerna/version" "3.13.4"
-
-"@lerna/check-working-tree@3.13.3":
- version "3.13.3"
- resolved "https://registry.yarnpkg.com/@lerna/check-working-tree/-/check-working-tree-3.13.3.tgz#836a3ffd4413a29aca92ccca4a115e4f97109992"
- integrity sha512-LoGZvTkne+V1WpVdCTU0XNzFKsQa2AiAFKksGRT0v8NQj6VAPp0jfVYDayTqwaWt2Ne0OGKOFE79Y5LStOuhaQ==
- dependencies:
- "@lerna/describe-ref" "3.13.3"
- "@lerna/validation-error" "3.13.0"
-
-"@lerna/child-process@3.13.3":
- version "3.13.3"
- resolved "https://registry.yarnpkg.com/@lerna/child-process/-/child-process-3.13.3.tgz#6c084ee5cca9fc9e04d6bf4fc3f743ed26ff190c"
- integrity sha512-3/e2uCLnbU+bydDnDwyadpOmuzazS01EcnOleAnuj9235CU2U97DH6OyoG1EW/fU59x11J+HjIqovh5vBaMQjQ==
- dependencies:
- chalk "^2.3.1"
- execa "^1.0.0"
- strong-log-transformer "^2.0.0"
-
-"@lerna/clean@3.13.3":
- version "3.13.3"
- resolved "https://registry.yarnpkg.com/@lerna/clean/-/clean-3.13.3.tgz#5673a1238e0712d31711e7e4e8cb9641891daaea"
- integrity sha512-xmNauF1PpmDaKdtA2yuRc23Tru4q7UMO6yB1a/TTwxYPYYsAWG/CBK65bV26J7x4RlZtEv06ztYGMa9zh34UXA==
- dependencies:
- "@lerna/command" "3.13.3"
- "@lerna/filter-options" "3.13.3"
- "@lerna/prompt" "3.13.0"
- "@lerna/pulse-till-done" "3.13.0"
- "@lerna/rimraf-dir" "3.13.3"
- p-map "^1.2.0"
- p-map-series "^1.0.0"
- p-waterfall "^1.0.0"
-
-"@lerna/cli@3.13.0":
- version "3.13.0"
- resolved "https://registry.yarnpkg.com/@lerna/cli/-/cli-3.13.0.tgz#3d7b357fdd7818423e9681a7b7f2abd106c8a266"
- integrity sha512-HgFGlyCZbYaYrjOr3w/EsY18PdvtsTmDfpUQe8HwDjXlPeCCUgliZjXLOVBxSjiOvPeOSwvopwIHKWQmYbwywg==
- dependencies:
- "@lerna/global-options" "3.13.0"
- dedent "^0.7.0"
- npmlog "^4.1.2"
- yargs "^12.0.1"
-
-"@lerna/collect-updates@3.13.3":
- version "3.13.3"
- resolved "https://registry.yarnpkg.com/@lerna/collect-updates/-/collect-updates-3.13.3.tgz#616648da59f0aff4a8e60257795cc46ca6921edd"
- integrity sha512-sTpALOAxli/ZS+Mjq6fbmjU9YXqFJ2E4FrE1Ijl4wPC5stXEosg2u0Z1uPY+zVKdM+mOIhLxPVdx83rUgRS+Cg==
- dependencies:
- "@lerna/child-process" "3.13.3"
- "@lerna/describe-ref" "3.13.3"
- minimatch "^3.0.4"
- npmlog "^4.1.2"
- slash "^1.0.0"
-
-"@lerna/command@3.13.3":
- version "3.13.3"
- resolved "https://registry.yarnpkg.com/@lerna/command/-/command-3.13.3.tgz#5b20b3f507224573551039e0460bc36c39f7e9d1"
- integrity sha512-WHFIQCubJV0T8gSLRNr6exZUxTswrh+iAtJCb86SE0Sa+auMPklE8af7w2Yck5GJfewmxSjke3yrjNxQrstx7w==
- dependencies:
- "@lerna/child-process" "3.13.3"
- "@lerna/package-graph" "3.13.0"
- "@lerna/project" "3.13.1"
- "@lerna/validation-error" "3.13.0"
- "@lerna/write-log-file" "3.13.0"
- dedent "^0.7.0"
- execa "^1.0.0"
- is-ci "^1.0.10"
- lodash "^4.17.5"
- npmlog "^4.1.2"
-
-"@lerna/conventional-commits@3.13.0":
- version "3.13.0"
- resolved "https://registry.yarnpkg.com/@lerna/conventional-commits/-/conventional-commits-3.13.0.tgz#877aa225ca34cca61c31ea02a5a6296af74e1144"
- integrity sha512-BeAgcNXuocmLhPxnmKU2Vy8YkPd/Uo+vu2i/p3JGsUldzrPC8iF3IDxH7fuXpEFN2Nfogu7KHachd4tchtOppA==
- dependencies:
- "@lerna/validation-error" "3.13.0"
- conventional-changelog-angular "^5.0.3"
- conventional-changelog-core "^3.1.6"
- conventional-recommended-bump "^4.0.4"
- fs-extra "^7.0.0"
- get-stream "^4.0.0"
- npm-package-arg "^6.1.0"
- npmlog "^4.1.2"
- pify "^3.0.0"
- semver "^5.5.0"
-
-"@lerna/create-symlink@3.13.0":
- version "3.13.0"
- resolved "https://registry.yarnpkg.com/@lerna/create-symlink/-/create-symlink-3.13.0.tgz#e01133082fe040779712c960683cb3a272b67809"
- integrity sha512-PTvg3jAAJSAtLFoZDsuTMv1wTOC3XYIdtg54k7uxIHsP8Ztpt+vlilY/Cni0THAqEMHvfiToel76Xdta4TU21Q==
- dependencies:
- cmd-shim "^2.0.2"
- fs-extra "^7.0.0"
- npmlog "^4.1.2"
-
-"@lerna/create@3.13.3":
- version "3.13.3"
- resolved "https://registry.yarnpkg.com/@lerna/create/-/create-3.13.3.tgz#6ded142c54b7f3cea86413c3637b067027b7f55d"
- integrity sha512-4M5xT1AyUMwt1gCDph4BfW3e6fZmt0KjTa3FoXkUotf/w/eqTsc2IQ+ULz2+gOFQmtuNbqIZEOK3J4P9ArJJ/A==
- dependencies:
- "@lerna/child-process" "3.13.3"
- "@lerna/command" "3.13.3"
- "@lerna/npm-conf" "3.13.0"
- "@lerna/validation-error" "3.13.0"
- camelcase "^5.0.0"
- dedent "^0.7.0"
- fs-extra "^7.0.0"
- globby "^8.0.1"
- init-package-json "^1.10.3"
- npm-package-arg "^6.1.0"
- p-reduce "^1.0.0"
- pacote "^9.5.0"
- pify "^3.0.0"
- semver "^5.5.0"
- slash "^1.0.0"
- validate-npm-package-license "^3.0.3"
- validate-npm-package-name "^3.0.0"
- whatwg-url "^7.0.0"
-
-"@lerna/describe-ref@3.13.3":
- version "3.13.3"
- resolved "https://registry.yarnpkg.com/@lerna/describe-ref/-/describe-ref-3.13.3.tgz#13318513613f6a407d37fc5dc025ec2cfb705606"
- integrity sha512-5KcLTvjdS4gU5evW8ESbZ0BF44NM5HrP3dQNtWnOUSKJRgsES8Gj0lq9AlB2+YglZfjEftFT03uOYOxnKto4Uw==
- dependencies:
- "@lerna/child-process" "3.13.3"
- npmlog "^4.1.2"
-
-"@lerna/diff@3.13.3":
- version "3.13.3"
- resolved "https://registry.yarnpkg.com/@lerna/diff/-/diff-3.13.3.tgz#883cb3a83a956dbfc2c17bc9a156468a5d3fae17"
- integrity sha512-/DRS2keYbnKaAC+5AkDyZRGkP/kT7v1GlUS0JGZeiRDPQ1H6PzhX09EgE5X6nj0Ytrm0sUasDeN++CDVvgaI+A==
- dependencies:
- "@lerna/child-process" "3.13.3"
- "@lerna/command" "3.13.3"
- "@lerna/validation-error" "3.13.0"
- npmlog "^4.1.2"
-
-"@lerna/exec@3.13.3":
- version "3.13.3"
- resolved "https://registry.yarnpkg.com/@lerna/exec/-/exec-3.13.3.tgz#5d2eda3f6e584f2f15b115e8a4b5bc960ba5de85"
- integrity sha512-c0bD4XqM96CTPV8+lvkxzE7mkxiFyv/WNM4H01YvvbFAJzk+S4Y7cBtRkIYFTfkFZW3FLo8pEgtG1ONtIdM+tg==
- dependencies:
- "@lerna/batch-packages" "3.13.0"
- "@lerna/child-process" "3.13.3"
- "@lerna/command" "3.13.3"
- "@lerna/filter-options" "3.13.3"
- "@lerna/run-parallel-batches" "3.13.0"
- "@lerna/validation-error" "3.13.0"
-
-"@lerna/filter-options@3.13.3":
- version "3.13.3"
- resolved "https://registry.yarnpkg.com/@lerna/filter-options/-/filter-options-3.13.3.tgz#aa42a4ab78837b8a6c4278ba871d27e92d77c54f"
- integrity sha512-DbtQX4eRgrBz1wCFWRP99JBD7ODykYme9ykEK79+RrKph40znhJQRlLg4idogj6IsUEzwo1OHjihCzSfnVo6Cg==
- dependencies:
- "@lerna/collect-updates" "3.13.3"
- "@lerna/filter-packages" "3.13.0"
- dedent "^0.7.0"
-
-"@lerna/filter-packages@3.13.0":
- version "3.13.0"
- resolved "https://registry.yarnpkg.com/@lerna/filter-packages/-/filter-packages-3.13.0.tgz#f5371249e7e1a15928e5e88c544a242e0162c21c"
- integrity sha512-RWiZWyGy3Mp7GRVBn//CacSnE3Kw82PxE4+H6bQ3pDUw/9atXn7NRX+gkBVQIYeKamh7HyumJtyOKq3Pp9BADQ==
- dependencies:
- "@lerna/validation-error" "3.13.0"
- multimatch "^2.1.0"
- npmlog "^4.1.2"
-
-"@lerna/get-npm-exec-opts@3.13.0":
- version "3.13.0"
- resolved "https://registry.yarnpkg.com/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-3.13.0.tgz#d1b552cb0088199fc3e7e126f914e39a08df9ea5"
- integrity sha512-Y0xWL0rg3boVyJk6An/vurKzubyJKtrxYv2sj4bB8Mc5zZ3tqtv0ccbOkmkXKqbzvNNF7VeUt1OJ3DRgtC/QZw==
- dependencies:
- npmlog "^4.1.2"
-
-"@lerna/get-packed@3.13.0":
- version "3.13.0"
- resolved "https://registry.yarnpkg.com/@lerna/get-packed/-/get-packed-3.13.0.tgz#335e40d77f3c1855aa248587d3e0b2d8f4b06e16"
- integrity sha512-EgSim24sjIjqQDC57bgXD9l22/HCS93uQBbGpkzEOzxAVzEgpZVm7Fm1t8BVlRcT2P2zwGnRadIvxTbpQuDPTg==
- dependencies:
- fs-extra "^7.0.0"
- ssri "^6.0.1"
- tar "^4.4.8"
-
-"@lerna/github-client@3.13.3":
- version "3.13.3"
- resolved "https://registry.yarnpkg.com/@lerna/github-client/-/github-client-3.13.3.tgz#bcf9b4ff40bdd104cb40cd257322f052b41bb9ce"
- integrity sha512-fcJkjab4kX0zcLLSa/DCUNvU3v8wmy2c1lhdIbL7s7gABmDcV0QZq93LhnEee3VkC9UpnJ6GKG4EkD7eIifBnA==
- dependencies:
- "@lerna/child-process" "3.13.3"
- "@octokit/plugin-enterprise-rest" "^2.1.1"
- "@octokit/rest" "^16.16.0"
- git-url-parse "^11.1.2"
- npmlog "^4.1.2"
-
-"@lerna/global-options@3.13.0":
- version "3.13.0"
- resolved "https://registry.yarnpkg.com/@lerna/global-options/-/global-options-3.13.0.tgz#217662290db06ad9cf2c49d8e3100ee28eaebae1"
- integrity sha512-SlZvh1gVRRzYLVluz9fryY1nJpZ0FHDGB66U9tFfvnnxmueckRQxLopn3tXj3NU1kc3QANT2I5BsQkOqZ4TEFQ==
-
-"@lerna/has-npm-version@3.13.3":
- version "3.13.3"
- resolved "https://registry.yarnpkg.com/@lerna/has-npm-version/-/has-npm-version-3.13.3.tgz#167e3f602a2fb58f84f93cf5df39705ca6432a2d"
- integrity sha512-mQzoghRw4dBg0R9FFfHrj0TH0glvXyzdEZmYZ8Isvx5BSuEEwpsryoywuZSdppcvLu8o7NAdU5Tac8cJ/mT52w==
- dependencies:
- "@lerna/child-process" "3.13.3"
- semver "^5.5.0"
-
-"@lerna/import@3.13.4":
- version "3.13.4"
- resolved "https://registry.yarnpkg.com/@lerna/import/-/import-3.13.4.tgz#e9a1831b8fed33f3cbeab3b84c722c9371a2eaf7"
- integrity sha512-dn6eNuPEljWsifBEzJ9B6NoaLwl/Zvof7PBUPA4hRyRlqG5sXRn6F9DnusMTovvSarbicmTURbOokYuotVWQQA==
- dependencies:
- "@lerna/child-process" "3.13.3"
- "@lerna/command" "3.13.3"
- "@lerna/prompt" "3.13.0"
- "@lerna/pulse-till-done" "3.13.0"
- "@lerna/validation-error" "3.13.0"
- dedent "^0.7.0"
- fs-extra "^7.0.0"
- p-map-series "^1.0.0"
-
-"@lerna/init@3.13.3":
- version "3.13.3"
- resolved "https://registry.yarnpkg.com/@lerna/init/-/init-3.13.3.tgz#ebd522fee9b9d7d3b2dacb0261eaddb4826851ff"
- integrity sha512-bK/mp0sF6jT0N+c+xrbMCqN4xRoiZCXQzlYsyACxPK99KH/mpHv7hViZlTYUGlYcymtew6ZC770miv5A9wF9hA==
- dependencies:
- "@lerna/child-process" "3.13.3"
- "@lerna/command" "3.13.3"
- fs-extra "^7.0.0"
- p-map "^1.2.0"
- write-json-file "^2.3.0"
-
-"@lerna/link@3.13.3":
- version "3.13.3"
- resolved "https://registry.yarnpkg.com/@lerna/link/-/link-3.13.3.tgz#11124d4a0c8d0b79752fbda3babedfd62dd57847"
- integrity sha512-IHhtdhA0KlIdevCsq6WHkI2rF3lHWHziJs2mlrEWAKniVrFczbELON1KJAgdJS1k3kAP/WeWVqmIYZ2hJDxMvg==
- dependencies:
- "@lerna/command" "3.13.3"
- "@lerna/package-graph" "3.13.0"
- "@lerna/symlink-dependencies" "3.13.0"
- p-map "^1.2.0"
- slash "^1.0.0"
-
-"@lerna/list@3.13.3":
- version "3.13.3"
- resolved "https://registry.yarnpkg.com/@lerna/list/-/list-3.13.3.tgz#fa93864d43cadeb4cd540a4e78a52886c57dbe74"
- integrity sha512-rLRDsBCkydMq2FL6WY1J/elvnXIjxxRtb72lfKHdvDEqVdquT5Qgt9ci42hwjmcocFwWcFJgF6BZozj5pbc13A==
- dependencies:
- "@lerna/command" "3.13.3"
- "@lerna/filter-options" "3.13.3"
- "@lerna/listable" "3.13.0"
- "@lerna/output" "3.13.0"
-
-"@lerna/listable@3.13.0":
- version "3.13.0"
- resolved "https://registry.yarnpkg.com/@lerna/listable/-/listable-3.13.0.tgz#babc18442c590b549cf0966d20d75fea066598d4"
- integrity sha512-liYJ/WBUYP4N4MnSVZuLUgfa/jy3BZ02/1Om7xUY09xGVSuNVNEeB8uZUMSC+nHqFHIsMPZ8QK9HnmZb1E/eTA==
- dependencies:
- "@lerna/batch-packages" "3.13.0"
- chalk "^2.3.1"
- columnify "^1.5.4"
-
-"@lerna/log-packed@3.13.0":
- version "3.13.0"
- resolved "https://registry.yarnpkg.com/@lerna/log-packed/-/log-packed-3.13.0.tgz#497b5f692a8d0e3f669125da97b0dadfd9e480f3"
- integrity sha512-Rmjrcz+6aM6AEcEVWmurbo8+AnHOvYtDpoeMMJh9IZ9SmZr2ClXzmD7wSvjTQc8BwOaiWjjC/ukcT0UYA2m7wg==
- dependencies:
- byte-size "^4.0.3"
- columnify "^1.5.4"
- has-unicode "^2.0.1"
- npmlog "^4.1.2"
-
-"@lerna/npm-conf@3.13.0":
- version "3.13.0"
- resolved "https://registry.yarnpkg.com/@lerna/npm-conf/-/npm-conf-3.13.0.tgz#6b434ed75ff757e8c14381b9bbfe5d5ddec134a7"
- integrity sha512-Jg2kANsGnhg+fbPEzE0X9nX5oviEAvWj0nYyOkcE+cgWuT7W0zpnPXC4hA4C5IPQGhwhhh0IxhWNNHtjTuw53g==
- dependencies:
- config-chain "^1.1.11"
- pify "^3.0.0"
-
-"@lerna/npm-dist-tag@3.13.0":
- version "3.13.0"
- resolved "https://registry.yarnpkg.com/@lerna/npm-dist-tag/-/npm-dist-tag-3.13.0.tgz#49ecbe0e82cbe4ad4a8ea6de112982bf6c4e6cd4"
- integrity sha512-mcuhw34JhSRFrbPn0vedbvgBTvveG52bR2lVE3M3tfE8gmR/cKS/EJFO4AUhfRKGCTFn9rjaSEzlFGYV87pemQ==
- dependencies:
- figgy-pudding "^3.5.1"
- npm-package-arg "^6.1.0"
- npm-registry-fetch "^3.9.0"
- npmlog "^4.1.2"
-
-"@lerna/npm-install@3.13.3":
- version "3.13.3"
- resolved "https://registry.yarnpkg.com/@lerna/npm-install/-/npm-install-3.13.3.tgz#9b09852732e51c16d2e060ff2fd8bfbbb49cf7ba"
- integrity sha512-7Jig9MLpwAfcsdQ5UeanAjndChUjiTjTp50zJ+UZz4CbIBIDhoBehvNMTCL2G6pOEC7sGEg6sAqJINAqred6Tg==
- dependencies:
- "@lerna/child-process" "3.13.3"
- "@lerna/get-npm-exec-opts" "3.13.0"
- fs-extra "^7.0.0"
- npm-package-arg "^6.1.0"
- npmlog "^4.1.2"
- signal-exit "^3.0.2"
- write-pkg "^3.1.0"
-
-"@lerna/npm-publish@3.13.2":
- version "3.13.2"
- resolved "https://registry.yarnpkg.com/@lerna/npm-publish/-/npm-publish-3.13.2.tgz#ad713ca6f91a852687d7d0e1bda7f9c66df21768"
- integrity sha512-HMucPyEYZfom5tRJL4GsKBRi47yvSS2ynMXYxL3kO0ie+j9J7cb0Ir8NmaAMEd3uJWJVFCPuQarehyfTDZsSxg==
- dependencies:
- "@lerna/run-lifecycle" "3.13.0"
- figgy-pudding "^3.5.1"
- fs-extra "^7.0.0"
- libnpmpublish "^1.1.1"
- npm-package-arg "^6.1.0"
- npmlog "^4.1.2"
- pify "^3.0.0"
- read-package-json "^2.0.13"
-
-"@lerna/npm-run-script@3.13.3":
- version "3.13.3"
- resolved "https://registry.yarnpkg.com/@lerna/npm-run-script/-/npm-run-script-3.13.3.tgz#9bb6389ed70cd506905d6b05b6eab336b4266caf"
- integrity sha512-qR4o9BFt5hI8Od5/DqLalOJydnKpiQFEeN0h9xZi7MwzuX1Ukwh3X22vqsX4YRbipIelSFtrDzleNVUm5jj0ow==
- dependencies:
- "@lerna/child-process" "3.13.3"
- "@lerna/get-npm-exec-opts" "3.13.0"
- npmlog "^4.1.2"
-
-"@lerna/output@3.13.0":
- version "3.13.0"
- resolved "https://registry.yarnpkg.com/@lerna/output/-/output-3.13.0.tgz#3ded7cc908b27a9872228a630d950aedae7a4989"
- integrity sha512-7ZnQ9nvUDu/WD+bNsypmPG5MwZBwu86iRoiW6C1WBuXXDxM5cnIAC1m2WxHeFnjyMrYlRXM9PzOQ9VDD+C15Rg==
- dependencies:
- npmlog "^4.1.2"
-
-"@lerna/pack-directory@3.13.1":
- version "3.13.1"
- resolved "https://registry.yarnpkg.com/@lerna/pack-directory/-/pack-directory-3.13.1.tgz#5ad4d0945f86a648f565e24d53c1e01bb3a912d1"
- integrity sha512-kXnyqrkQbCIZOf1054N88+8h0ItC7tUN5v9ca/aWpx298gsURpxUx/1TIKqijL5TOnHMyIkj0YJmnH/PyBVLKA==
- dependencies:
- "@lerna/get-packed" "3.13.0"
- "@lerna/package" "3.13.0"
- "@lerna/run-lifecycle" "3.13.0"
- figgy-pudding "^3.5.1"
- npm-packlist "^1.4.1"
- npmlog "^4.1.2"
- tar "^4.4.8"
- temp-write "^3.4.0"
-
-"@lerna/package-graph@3.13.0":
- version "3.13.0"
- resolved "https://registry.yarnpkg.com/@lerna/package-graph/-/package-graph-3.13.0.tgz#607062f8d2ce22b15f8d4a0623f384736e67f760"
- integrity sha512-3mRF1zuqFE1HEFmMMAIggXy+f+9cvHhW/jzaPEVyrPNLKsyfJQtpTNzeI04nfRvbAh+Gd2aNksvaW/w3xGJnnw==
- dependencies:
- "@lerna/validation-error" "3.13.0"
- npm-package-arg "^6.1.0"
- semver "^5.5.0"
-
-"@lerna/package@3.13.0":
- version "3.13.0"
- resolved "https://registry.yarnpkg.com/@lerna/package/-/package-3.13.0.tgz#4baeebc49a57fc9b31062cc59f5ee38384429fc8"
- integrity sha512-kSKO0RJQy093BufCQnkhf1jB4kZnBvL7kK5Ewolhk5gwejN+Jofjd8DGRVUDUJfQ0CkW1o6GbUeZvs8w8VIZDg==
- dependencies:
- load-json-file "^4.0.0"
- npm-package-arg "^6.1.0"
- write-pkg "^3.1.0"
-
-"@lerna/project@3.13.1":
- version "3.13.1"
- resolved "https://registry.yarnpkg.com/@lerna/project/-/project-3.13.1.tgz#bce890f60187bd950bcf36c04b5260642e295e79"
- integrity sha512-/GoCrpsCCTyb9sizk1+pMBrIYchtb+F1uCOn3cjn9yenyG/MfYEnlfrbV5k/UDud0Ei75YBLbmwCbigHkAKazQ==
- dependencies:
- "@lerna/package" "3.13.0"
- "@lerna/validation-error" "3.13.0"
- cosmiconfig "^5.1.0"
- dedent "^0.7.0"
- dot-prop "^4.2.0"
- glob-parent "^3.1.0"
- globby "^8.0.1"
- load-json-file "^4.0.0"
- npmlog "^4.1.2"
- p-map "^1.2.0"
- resolve-from "^4.0.0"
- write-json-file "^2.3.0"
-
-"@lerna/prompt@3.13.0":
- version "3.13.0"
- resolved "https://registry.yarnpkg.com/@lerna/prompt/-/prompt-3.13.0.tgz#53571462bb3f5399cc1ca6d335a411fe093426a5"
- integrity sha512-P+lWSFokdyvYpkwC3it9cE0IF2U5yy2mOUbGvvE4iDb9K7TyXGE+7lwtx2thtPvBAfIb7O13POMkv7df03HJeA==
- dependencies:
- inquirer "^6.2.0"
- npmlog "^4.1.2"
-
-"@lerna/publish@3.13.4":
- version "3.13.4"
- resolved "https://registry.yarnpkg.com/@lerna/publish/-/publish-3.13.4.tgz#25b678c285110897a7fc5198a35bdfa9db7f9cc1"
- integrity sha512-v03pabiPlqCDwX6cVNis1PDdT6/jBgkVb5Nl4e8wcJXevIhZw3ClvtI94gSZu/wdoVFX0RMfc8QBVmaimSO0qg==
- dependencies:
- "@lerna/batch-packages" "3.13.0"
- "@lerna/check-working-tree" "3.13.3"
- "@lerna/child-process" "3.13.3"
- "@lerna/collect-updates" "3.13.3"
- "@lerna/command" "3.13.3"
- "@lerna/describe-ref" "3.13.3"
- "@lerna/log-packed" "3.13.0"
- "@lerna/npm-conf" "3.13.0"
- "@lerna/npm-dist-tag" "3.13.0"
- "@lerna/npm-publish" "3.13.2"
- "@lerna/output" "3.13.0"
- "@lerna/pack-directory" "3.13.1"
- "@lerna/prompt" "3.13.0"
- "@lerna/pulse-till-done" "3.13.0"
- "@lerna/run-lifecycle" "3.13.0"
- "@lerna/run-parallel-batches" "3.13.0"
- "@lerna/validation-error" "3.13.0"
- "@lerna/version" "3.13.4"
- figgy-pudding "^3.5.1"
- fs-extra "^7.0.0"
- libnpmaccess "^3.0.1"
- npm-package-arg "^6.1.0"
- npm-registry-fetch "^3.9.0"
- npmlog "^4.1.2"
- p-finally "^1.0.0"
- p-map "^1.2.0"
- p-pipe "^1.2.0"
- p-reduce "^1.0.0"
- pacote "^9.5.0"
- semver "^5.5.0"
-
-"@lerna/pulse-till-done@3.13.0":
- version "3.13.0"
- resolved "https://registry.yarnpkg.com/@lerna/pulse-till-done/-/pulse-till-done-3.13.0.tgz#c8e9ce5bafaf10d930a67d7ed0ccb5d958fe0110"
- integrity sha512-1SOHpy7ZNTPulzIbargrgaJX387csN7cF1cLOGZiJQA6VqnS5eWs2CIrG8i8wmaUavj2QlQ5oEbRMVVXSsGrzA==
- dependencies:
- npmlog "^4.1.2"
-
-"@lerna/resolve-symlink@3.13.0":
- version "3.13.0"
- resolved "https://registry.yarnpkg.com/@lerna/resolve-symlink/-/resolve-symlink-3.13.0.tgz#3e6809ef53b63fe914814bfa071cd68012e22fbb"
- integrity sha512-Lc0USSFxwDxUs5JvIisS8JegjA6SHSAWJCMvi2osZx6wVRkEDlWG2B1JAfXUzCMNfHoZX0/XX9iYZ+4JIpjAtg==
- dependencies:
- fs-extra "^7.0.0"
- npmlog "^4.1.2"
- read-cmd-shim "^1.0.1"
-
-"@lerna/rimraf-dir@3.13.3":
- version "3.13.3"
- resolved "https://registry.yarnpkg.com/@lerna/rimraf-dir/-/rimraf-dir-3.13.3.tgz#3a8e71317fde853893ef0262bc9bba6a180b7227"
- integrity sha512-d0T1Hxwu3gpYVv73ytSL+/Oy8JitsmvOYUR5ouRSABsmqS7ZZCh5t6FgVDDGVXeuhbw82+vuny1Og6Q0k4ilqw==
- dependencies:
- "@lerna/child-process" "3.13.3"
- npmlog "^4.1.2"
- path-exists "^3.0.0"
- rimraf "^2.6.2"
-
-"@lerna/run-lifecycle@3.13.0":
- version "3.13.0"
- resolved "https://registry.yarnpkg.com/@lerna/run-lifecycle/-/run-lifecycle-3.13.0.tgz#d8835ee83425edee40f687a55f81b502354d3261"
- integrity sha512-oyiaL1biZdjpmjh6X/5C4w07wNFyiwXSSHH5GQB4Ay4BPwgq9oNhCcxRoi0UVZlZ1YwzSW8sTwLgj8emkIo3Yg==
- dependencies:
- "@lerna/npm-conf" "3.13.0"
- figgy-pudding "^3.5.1"
- npm-lifecycle "^2.1.0"
- npmlog "^4.1.2"
-
-"@lerna/run-parallel-batches@3.13.0":
- version "3.13.0"
- resolved "https://registry.yarnpkg.com/@lerna/run-parallel-batches/-/run-parallel-batches-3.13.0.tgz#0276bb4e7cd0995297db82d134ca2bd08d63e311"
- integrity sha512-bICFBR+cYVF1FFW+Tlm0EhWDioTUTM6dOiVziDEGE1UZha1dFkMYqzqdSf4bQzfLS31UW/KBd/2z8jy2OIjEjg==
- dependencies:
- p-map "^1.2.0"
- p-map-series "^1.0.0"
-
-"@lerna/run@3.13.3":
- version "3.13.3"
- resolved "https://registry.yarnpkg.com/@lerna/run/-/run-3.13.3.tgz#0781c82d225ef6e85e28d3e763f7fc090a376a21"
- integrity sha512-ygnLIfIYS6YY1JHWOM4CsdZiY8kTYPsDFOLAwASlRnlAXF9HiMT08GFXLmMHIblZJ8yJhsM2+QgraCB0WdxzOQ==
- dependencies:
- "@lerna/batch-packages" "3.13.0"
- "@lerna/command" "3.13.3"
- "@lerna/filter-options" "3.13.3"
- "@lerna/npm-run-script" "3.13.3"
- "@lerna/output" "3.13.0"
- "@lerna/run-parallel-batches" "3.13.0"
- "@lerna/timer" "3.13.0"
- "@lerna/validation-error" "3.13.0"
- p-map "^1.2.0"
-
-"@lerna/symlink-binary@3.13.0":
- version "3.13.0"
- resolved "https://registry.yarnpkg.com/@lerna/symlink-binary/-/symlink-binary-3.13.0.tgz#36a9415d468afcb8105750296902f6f000a9680d"
- integrity sha512-obc4Y6jxywkdaCe+DB0uTxYqP0IQ8mFWvN+k/YMbwH4G2h7M7lCBWgPy8e7xw/50+1II9tT2sxgx+jMus1sTJg==
- dependencies:
- "@lerna/create-symlink" "3.13.0"
- "@lerna/package" "3.13.0"
- fs-extra "^7.0.0"
- p-map "^1.2.0"
-
-"@lerna/symlink-dependencies@3.13.0":
- version "3.13.0"
- resolved "https://registry.yarnpkg.com/@lerna/symlink-dependencies/-/symlink-dependencies-3.13.0.tgz#76c23ecabda7824db98a0561364f122b457509cf"
- integrity sha512-7CyN5WYEPkbPLbqHBIQg/YiimBzb5cIGQB0E9IkLs3+racq2vmUNQZn38LOaazQacAA83seB+zWSxlI6H+eXSg==
- dependencies:
- "@lerna/create-symlink" "3.13.0"
- "@lerna/resolve-symlink" "3.13.0"
- "@lerna/symlink-binary" "3.13.0"
- fs-extra "^7.0.0"
- p-finally "^1.0.0"
- p-map "^1.2.0"
- p-map-series "^1.0.0"
-
-"@lerna/timer@3.13.0":
- version "3.13.0"
- resolved "https://registry.yarnpkg.com/@lerna/timer/-/timer-3.13.0.tgz#bcd0904551db16e08364d6c18e5e2160fc870781"
- integrity sha512-RHWrDl8U4XNPqY5MQHkToWS9jHPnkLZEt5VD+uunCKTfzlxGnRCr3/zVr8VGy/uENMYpVP3wJa4RKGY6M0vkRw==
-
-"@lerna/validation-error@3.13.0":
- version "3.13.0"
- resolved "https://registry.yarnpkg.com/@lerna/validation-error/-/validation-error-3.13.0.tgz#c86b8f07c5ab9539f775bd8a54976e926f3759c3"
- integrity sha512-SiJP75nwB8GhgwLKQfdkSnDufAaCbkZWJqEDlKOUPUvVOplRGnfL+BPQZH5nvq2BYSRXsksXWZ4UHVnQZI/HYA==
- dependencies:
- npmlog "^4.1.2"
-
-"@lerna/version@3.13.4":
- version "3.13.4"
- resolved "https://registry.yarnpkg.com/@lerna/version/-/version-3.13.4.tgz#ea23b264bebda425ccbfcdcd1de13ef45a390e59"
- integrity sha512-pptWUEgN/lUTQZu34+gfH1g4Uhs7TDKRcdZY9A4T9k6RTOwpKC2ceLGiXdeR+ZgQJAey2C4qiE8fo5Z6Rbc6QA==
- dependencies:
- "@lerna/batch-packages" "3.13.0"
- "@lerna/check-working-tree" "3.13.3"
- "@lerna/child-process" "3.13.3"
- "@lerna/collect-updates" "3.13.3"
- "@lerna/command" "3.13.3"
- "@lerna/conventional-commits" "3.13.0"
- "@lerna/github-client" "3.13.3"
- "@lerna/output" "3.13.0"
- "@lerna/prompt" "3.13.0"
- "@lerna/run-lifecycle" "3.13.0"
- "@lerna/validation-error" "3.13.0"
- chalk "^2.3.1"
- dedent "^0.7.0"
- minimatch "^3.0.4"
- npmlog "^4.1.2"
- p-map "^1.2.0"
- p-pipe "^1.2.0"
- p-reduce "^1.0.0"
- p-waterfall "^1.0.0"
- semver "^5.5.0"
- slash "^1.0.0"
- temp-write "^3.4.0"
-
-"@lerna/write-log-file@3.13.0":
- version "3.13.0"
- resolved "https://registry.yarnpkg.com/@lerna/write-log-file/-/write-log-file-3.13.0.tgz#b78d9e4cfc1349a8be64d91324c4c8199e822a26"
- integrity sha512-RibeMnDPvlL8bFYW5C8cs4mbI3AHfQef73tnJCQ/SgrXZHehmHnsyWUiE7qDQCAo+B1RfTapvSyFF69iPj326A==
- dependencies:
- npmlog "^4.1.2"
- write-file-atomic "^2.3.0"
-
-"@mrmlnc/readdir-enhanced@^2.2.1":
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde"
- integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==
- dependencies:
- call-me-maybe "^1.0.1"
- glob-to-regexp "^0.3.0"
-
"@nodelib/fs.scandir@2.1.5":
version "2.1.5"
resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
@@ -1938,11 +1433,6 @@
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
-"@nodelib/fs.stat@^1.1.2":
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b"
- integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==
-
"@nodelib/fs.walk@^1.2.3":
version "1.2.8"
resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
@@ -1951,117 +1441,107 @@
"@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0"
-"@octokit/auth-token@^2.4.0":
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.5.0.tgz#27c37ea26c205f28443402477ffd261311f21e36"
- integrity sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==
- dependencies:
- "@octokit/types" "^6.0.3"
-
-"@octokit/endpoint@^6.0.1":
- version "6.0.12"
- resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.12.tgz#3b4d47a4b0e79b1027fb8d75d4221928b2d05658"
- integrity sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==
- dependencies:
- "@octokit/types" "^6.0.3"
- is-plain-object "^5.0.0"
- universal-user-agent "^6.0.0"
-
-"@octokit/openapi-types@^12.11.0":
- version "12.11.0"
- resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-12.11.0.tgz#da5638d64f2b919bca89ce6602d059f1b52d3ef0"
- integrity sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==
-
-"@octokit/plugin-enterprise-rest@^2.1.1":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-2.2.2.tgz#c0e22067a043e19f96ff9c7832e2a3019f9be75c"
- integrity sha512-CTZr64jZYhGWNTDGlSJ2mvIlFsm9OEO3LqWn9I/gmoHI4jRBp4kpHoFYNemG4oA75zUAcmbuWblb7jjP877YZw==
-
-"@octokit/plugin-paginate-rest@^1.1.1":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-1.1.2.tgz#004170acf8c2be535aba26727867d692f7b488fc"
- integrity sha512-jbsSoi5Q1pj63sC16XIUboklNw+8tL9VOnJsWycWYR78TKss5PVpIPb1TUUcMQ+bBh7cY579cVAWmf5qG+dw+Q==
- dependencies:
- "@octokit/types" "^2.0.1"
-
-"@octokit/plugin-request-log@^1.0.0":
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85"
- integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==
-
-"@octokit/plugin-rest-endpoint-methods@2.4.0":
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-2.4.0.tgz#3288ecf5481f68c494dd0602fc15407a59faf61e"
- integrity sha512-EZi/AWhtkdfAYi01obpX0DF7U6b1VRr30QNQ5xSFPITMdLSfhcBqjamE3F+sKcxPbD7eZuMHu3Qkk2V+JGxBDQ==
- dependencies:
- "@octokit/types" "^2.0.1"
- deprecation "^2.3.1"
-
-"@octokit/request-error@^1.0.2":
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-1.2.1.tgz#ede0714c773f32347576c25649dc013ae6b31801"
- integrity sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA==
- dependencies:
- "@octokit/types" "^2.0.0"
- deprecation "^2.0.0"
- once "^1.4.0"
-
-"@octokit/request-error@^2.1.0":
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.1.0.tgz#9e150357831bfc788d13a4fd4b1913d60c74d677"
- integrity sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==
- dependencies:
- "@octokit/types" "^6.0.3"
- deprecation "^2.0.0"
- once "^1.4.0"
-
-"@octokit/request@^5.2.0":
- version "5.6.3"
- resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.6.3.tgz#19a022515a5bba965ac06c9d1334514eb50c48b0"
- integrity sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==
- dependencies:
- "@octokit/endpoint" "^6.0.1"
- "@octokit/request-error" "^2.1.0"
- "@octokit/types" "^6.16.1"
- is-plain-object "^5.0.0"
- node-fetch "^2.6.7"
- universal-user-agent "^6.0.0"
-
-"@octokit/rest@^16.16.0":
- version "16.43.2"
- resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-16.43.2.tgz#c53426f1e1d1044dee967023e3279c50993dd91b"
- integrity sha512-ngDBevLbBTFfrHZeiS7SAMAZ6ssuVmXuya+F/7RaVvlysgGa1JKJkKWY+jV6TCJYcW0OALfJ7nTIGXcBXzycfQ==
- dependencies:
- "@octokit/auth-token" "^2.4.0"
- "@octokit/plugin-paginate-rest" "^1.1.1"
- "@octokit/plugin-request-log" "^1.0.0"
- "@octokit/plugin-rest-endpoint-methods" "2.4.0"
- "@octokit/request" "^5.2.0"
- "@octokit/request-error" "^1.0.2"
- atob-lite "^2.0.0"
- before-after-hook "^2.0.0"
- btoa-lite "^1.0.0"
- deprecation "^2.0.0"
- lodash.get "^4.4.2"
- lodash.set "^4.3.2"
- lodash.uniq "^4.5.0"
- octokit-pagination-methods "^1.1.0"
- once "^1.4.0"
- universal-user-agent "^4.0.0"
-
-"@octokit/types@^2.0.0", "@octokit/types@^2.0.1":
- version "2.16.2"
- resolved "https://registry.yarnpkg.com/@octokit/types/-/types-2.16.2.tgz#4c5f8da3c6fecf3da1811aef678fda03edac35d2"
- integrity sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==
+"@nrwl/cli@14.5.10":
+ version "14.5.10"
+ resolved "https://registry.yarnpkg.com/@nrwl/cli/-/cli-14.5.10.tgz#826c06a9a272523424f0c5690f5d745260ed1ea1"
+ integrity sha512-GpnnKGO3+HwlMmZSStbq1MOyoDJg2I0HN4nBqM3ltaQkfxGZv3erwRMOAT+8mba2MWbJJ2QQgASAYvTscNYjOQ==
+ dependencies:
+ nx "14.5.10"
+
+"@nrwl/devkit@14.5.10":
+ version "14.5.10"
+ resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-14.5.10.tgz#b87bc3dad8e6d019c76adf7f65a56af19df70283"
+ integrity sha512-YVT0MRvyXwe0uczUZK4XUi1f2iLAqklFMfAoqwfgcgWToH8xN06NSlyUphD4eLHFgem3Sd0kimAJVsnse/PTlA==
+ dependencies:
+ "@phenomnomnominal/tsquery" "4.1.1"
+ ejs "^3.1.7"
+ ignore "^5.0.4"
+ semver "7.3.4"
+ tslib "^2.3.0"
+
+"@nrwl/jest@14.5.10":
+ version "14.5.10"
+ resolved "https://registry.yarnpkg.com/@nrwl/jest/-/jest-14.5.10.tgz#1e808608665660c59e4b3026ba0eab7f86153163"
+ integrity sha512-gGqghwDcpBhk8TNK2Gfp/5PWqnnAPUjNfSCOz39kk9ZBtsyloozGwjg/VEF3k2p9uCifRfAyZOpDrSdALxBpdA==
+ dependencies:
+ "@jest/reporters" "27.5.1"
+ "@jest/test-result" "27.5.1"
+ "@nrwl/devkit" "14.5.10"
+ "@phenomnomnominal/tsquery" "4.1.1"
+ chalk "4.1.0"
+ dotenv "~10.0.0"
+ identity-obj-proxy "3.0.0"
+ jest-config "27.5.1"
+ jest-resolve "27.5.1"
+ jest-util "27.5.1"
+ resolve.exports "1.1.0"
+ rxjs "^6.5.4"
+ tslib "^2.3.0"
+
+"@nrwl/linter@14.5.10":
+ version "14.5.10"
+ resolved "https://registry.yarnpkg.com/@nrwl/linter/-/linter-14.5.10.tgz#c9c78c796667f985ebbc4e126dc37ae5b14f0921"
+ integrity sha512-3c6KhSLJmt8wMkYZw+f/KayPHkM+KV/z+QaYQL59XY5o9DdYyq6jHjnvu/CuW2JzU97yHkacYbwkSFQlDKCyIg==
+ dependencies:
+ "@nrwl/devkit" "14.5.10"
+ "@nrwl/jest" "14.5.10"
+ "@phenomnomnominal/tsquery" "4.1.1"
+ nx "14.5.10"
+ tmp "~0.2.1"
+ tslib "^2.3.0"
+
+"@nrwl/tao@14.5.10":
+ version "14.5.10"
+ resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-14.5.10.tgz#69c90f8b6e13f2bb521840a5903f7eb4884285ff"
+ integrity sha512-eWORRba0HlTNmOQFUxHqki0Z5yiRIq1Hl0taprmZpz2lgDXuzPIjGfAi5/ETy5+G5gkEyxFnCq7+SiMilPokwA==
+ dependencies:
+ nx "14.5.10"
+
+"@nrwl/workspace@14.5.10":
+ version "14.5.10"
+ resolved "https://registry.yarnpkg.com/@nrwl/workspace/-/workspace-14.5.10.tgz#cf224886a983c53eded62fa3d5e55c80863eca64"
+ integrity sha512-bJK2O5NcIYhU7z1mmWoONo2+tOt1VUYyOQUUrAcI00hiBhMJPOTwPPN+W5BbJsue95ndH6mRLo2UhTz20U2tNA==
+ dependencies:
+ "@nrwl/devkit" "14.5.10"
+ "@nrwl/jest" "14.5.10"
+ "@nrwl/linter" "14.5.10"
+ "@parcel/watcher" "2.0.4"
+ chalk "4.1.0"
+ chokidar "^3.5.1"
+ cli-cursor "3.1.0"
+ cli-spinners "2.6.1"
+ dotenv "~10.0.0"
+ enquirer "~2.3.6"
+ figures "3.2.0"
+ flat "^5.0.2"
+ fs-extra "^10.1.0"
+ glob "7.1.4"
+ ignore "^5.0.4"
+ minimatch "3.0.5"
+ npm-run-path "^4.0.1"
+ nx "14.5.10"
+ open "^8.4.0"
+ rxjs "^6.5.4"
+ semver "7.3.4"
+ tmp "~0.2.1"
+ tslib "^2.3.0"
+ yargs "^17.4.0"
+ yargs-parser "21.0.1"
+
+"@parcel/watcher@2.0.4":
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.0.4.tgz#f300fef4cc38008ff4b8c29d92588eced3ce014b"
+ integrity sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==
dependencies:
- "@types/node" ">= 8"
+ node-addon-api "^3.2.1"
+ node-gyp-build "^4.3.0"
-"@octokit/types@^6.0.3", "@octokit/types@^6.16.1":
- version "6.41.0"
- resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.41.0.tgz#e58ef78d78596d2fb7df9c6259802464b5f84a04"
- integrity sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==
+"@phenomnomnominal/tsquery@4.1.1":
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/@phenomnomnominal/tsquery/-/tsquery-4.1.1.tgz#42971b83590e9d853d024ddb04a18085a36518df"
+ integrity sha512-jjMmK1tnZbm1Jq5a7fBliM4gQwjxMU7TFoRNwIyzwlO+eHPRCFv/Nv+H/Gi1jc3WR7QURG8D5d0Tn12YGrUqBQ==
dependencies:
- "@octokit/openapi-types" "^12.11.0"
+ esquery "^1.0.1"
"@rollup/plugin-babel@5.3.1":
version "5.3.1"
@@ -2180,6 +1660,13 @@
dependencies:
type-detect "4.0.8"
+"@sinonjs/fake-timers@^8.0.1":
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz#3fdc2b6cb58935b21bfb8d1625eb1300484316e7"
+ integrity sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==
+ dependencies:
+ "@sinonjs/commons" "^1.7.0"
+
"@sinonjs/fake-timers@^9.1.2":
version "9.1.2"
resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz#4eaab737fab77332ab132d396a3c0d364bd0ea8c"
@@ -2300,6 +1787,11 @@
resolved "https://registry.yarnpkg.com/@swc/wasm/-/wasm-1.2.130.tgz#88ac26433335d1f957162a9a92f1450b73c176a0"
integrity sha512-rNcJsBxS70+pv8YUWwf5fRlWX6JoY/HJc25HD/F8m6Kv7XhJdqPPMhyX6TKkUBPAG7TWlZYoxa+rHAjPy4Cj3Q==
+"@tootallnate/once@1":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82"
+ integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==
+
"@tsconfig/node10@^1.0.7":
version "1.0.9"
resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2"
@@ -2320,7 +1812,7 @@
resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e"
integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==
-"@types/babel__core@^7.1.14":
+"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14":
version "7.1.19"
resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460"
integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==
@@ -2346,7 +1838,7 @@
"@babel/parser" "^7.1.0"
"@babel/types" "^7.0.0"
-"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6":
+"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6":
version "7.18.0"
resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.0.tgz#8134fd78cb39567465be65b9fdc16d378095f41f"
integrity sha512-v4Vwdko+pgymgS+A2UIaJru93zQd85vIGWObM5ekZNdXCKtDYqATlEYnWgfo86Q6I1Lh0oXnksDnMU1cwmlPDw==
@@ -2418,7 +1910,7 @@
"@types/qs" "*"
"@types/serve-static" "*"
-"@types/graceful-fs@^4.1.3":
+"@types/graceful-fs@^4.1.2", "@types/graceful-fs@^4.1.3":
version "4.1.5"
resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15"
integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==
@@ -2464,6 +1956,11 @@
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3"
integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==
+"@types/json5@^0.0.29":
+ version "0.0.29"
+ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
+ integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==
+
"@types/mime@*":
version "3.0.1"
resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10"
@@ -2474,21 +1971,11 @@
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40"
integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==
-"@types/minimist@^1.2.0":
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c"
- integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==
-
-"@types/node@*", "@types/node@>= 8", "@types/node@^18.6.3":
+"@types/node@*", "@types/node@^18.6.3":
version "18.7.11"
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.11.tgz#486e72cfccde88da24e1f23ff1b7d8bfb64e6250"
integrity sha512-KZhFpSLlmK/sdocfSAjqPETTMd0ug6HIMIAwkwUpU79olnZdQtMxpQP+G1wDzCH7na+FltSIhbaZuKdwZ8RDrw==
-"@types/normalize-package-data@^2.4.0":
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301"
- integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==
-
"@types/prettier@^2.1.5":
version "2.7.0"
resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.0.tgz#ea03e9f0376a4446f44797ca19d9c46c36e352dc"
@@ -2944,18 +2431,10 @@
resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d"
integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
-JSONStream@^1.0.4, JSONStream@^1.3.4:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0"
- integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==
- dependencies:
- jsonparse "^1.2.0"
- through ">=2.2.7 <3"
-
-abbrev@1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
- integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
+abab@^2.0.3, abab@^2.0.5:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291"
+ integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==
accepts@~1.3.8:
version "1.3.8"
@@ -2965,6 +2444,14 @@ accepts@~1.3.8:
mime-types "~2.1.34"
negotiator "0.6.3"
+acorn-globals@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45"
+ integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==
+ dependencies:
+ acorn "^7.1.1"
+ acorn-walk "^7.1.1"
+
acorn-import-assertions@^1.7.6:
version "1.8.0"
resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9"
@@ -2975,6 +2462,11 @@ acorn-jsx@^5.3.2:
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
+acorn-walk@^7.1.1:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
+ integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
+
acorn-walk@^8.1.1:
version "8.2.0"
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
@@ -2985,18 +2477,16 @@ acorn@^6.4.1:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6"
integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==
-acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0:
+acorn@^7.1.1:
+ version "7.4.1"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
+ integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
+
+acorn@^8.2.4, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0:
version "8.8.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8"
integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==
-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"
- integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==
- dependencies:
- es6-promisify "^5.0.0"
-
agent-base@6:
version "6.0.2"
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
@@ -3004,20 +2494,6 @@ agent-base@6:
dependencies:
debug "4"
-agent-base@~4.2.1:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9"
- integrity sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==
- dependencies:
- es6-promisify "^5.0.0"
-
-agentkeepalive@^3.4.1:
- version "3.5.2"
- resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-3.5.2.tgz#a113924dd3fa24a0bc3b78108c450c2abee00f67"
- integrity sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==
- dependencies:
- humanize-ms "^1.2.1"
-
ajv-errors@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d"
@@ -3028,7 +2504,7 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^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, ajv@^6.12.4, ajv@^6.12.5:
+ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.4, 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==
@@ -3038,10 +2514,10 @@ ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5:
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
-ansi-escapes@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
- integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==
+ansi-colors@^4.1.1:
+ version "4.1.3"
+ resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b"
+ integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==
ansi-escapes@^4.2.1:
version "4.3.2"
@@ -3050,21 +2526,6 @@ ansi-escapes@^4.2.1:
dependencies:
type-fest "^0.21.3"
-ansi-regex@^2.0.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
- integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==
-
-ansi-regex@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1"
- integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==
-
-ansi-regex@^4.1.0:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed"
- integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==
-
ansi-regex@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
@@ -3105,24 +2566,11 @@ anymatch@^3.0.0, anymatch@^3.0.3, anymatch@~3.1.2:
normalize-path "^3.0.0"
picomatch "^2.0.4"
-aproba@^1.0.3, aproba@^1.1.1:
+aproba@^1.1.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
-aproba@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc"
- integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==
-
-are-we-there-yet@~1.1.2:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146"
- integrity sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==
- dependencies:
- delegates "^1.0.0"
- readable-stream "^2.0.6"
-
arg@^4.1.0:
version "4.1.3"
resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
@@ -3155,31 +2603,16 @@ arr-union@^3.1.0:
resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==
-array-differ@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031"
- integrity sha512-LeZY+DZDRnvP7eMuQ6LHfCzUGxAAIViUBliK24P3hWXL6y4SortgR6Nim6xrkfSLlmH0+k+9NYNwVC2s53ZrYQ==
-
array-differ@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b"
integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==
-array-find-index@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
- integrity sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==
-
array-flatten@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
-array-ify@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece"
- integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==
-
array-includes@^3.1.5:
version "3.1.5"
resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb"
@@ -3191,23 +2624,11 @@ array-includes@^3.1.5:
get-intrinsic "^1.1.1"
is-string "^1.0.7"
-array-union@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
- integrity sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==
- dependencies:
- array-uniq "^1.0.1"
-
array-union@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
-array-uniq@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
- integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==
-
array-unique@^0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
@@ -3223,32 +2644,11 @@ array.prototype.flatmap@^1.3.0:
es-abstract "^1.19.2"
es-shim-unscopables "^1.0.0"
-array.prototype.reduce@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz#8167e80089f78bff70a99e20bd4201d4663b0a6f"
- integrity sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
- es-abstract "^1.19.2"
- es-array-method-boxes-properly "^1.0.0"
- is-string "^1.0.7"
-
-arrify@^1.0.0, arrify@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
- integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==
-
arrify@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa"
integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==
-asap@^2.0.0:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
- integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==
-
asn1.js@^5.2.0:
version "5.4.1"
resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07"
@@ -3259,18 +2659,6 @@ asn1.js@^5.2.0:
minimalistic-assert "^1.0.0"
safer-buffer "^2.1.0"
-asn1@~0.2.3:
- version "0.2.6"
- resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d"
- integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==
- dependencies:
- safer-buffer "~2.1.0"
-
-assert-plus@1.0.0, assert-plus@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
- integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==
-
assert@^1.1.1:
version "1.5.0"
resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb"
@@ -3289,31 +2677,21 @@ async-each@^1.0.1:
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==
+async@^3.2.3:
+ version "3.2.4"
+ resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c"
+ integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==
+
asynckit@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
-atob-lite@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/atob-lite/-/atob-lite-2.0.0.tgz#0fef5ad46f1bd7a8502c65727f0367d5ee43d696"
- integrity sha512-LEeSAWeh2Gfa2FtlQE1shxQ8zi5F9GHarrGKz08TMdODD5T4eH6BMsvtnhbWZ+XQn+Gb6om/917ucvRu7l7ukw==
-
atob@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
-aws-sign2@~0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
- integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==
-
-aws4@^1.8.0:
- version "1.11.0"
- resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59"
- integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
-
axios@^0.27.2:
version "0.27.2"
resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972"
@@ -3322,8 +2700,22 @@ axios@^0.27.2:
follow-redirects "^1.14.9"
form-data "^4.0.0"
-babel-jest@^28.1.3:
- version "28.1.3"
+babel-jest@^27.5.1:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.1.tgz#a1bf8d61928edfefd21da27eb86a695bfd691444"
+ integrity sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==
+ dependencies:
+ "@jest/transform" "^27.5.1"
+ "@jest/types" "^27.5.1"
+ "@types/babel__core" "^7.1.14"
+ babel-plugin-istanbul "^6.1.1"
+ babel-preset-jest "^27.5.1"
+ chalk "^4.0.0"
+ graceful-fs "^4.2.9"
+ slash "^3.0.0"
+
+babel-jest@^28.1.3:
+ version "28.1.3"
resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-28.1.3.tgz#c1187258197c099072156a0a121c11ee1e3917d5"
integrity sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==
dependencies:
@@ -3353,6 +2745,16 @@ babel-plugin-istanbul@^6.1.1:
istanbul-lib-instrument "^5.0.4"
test-exclude "^6.0.0"
+babel-plugin-jest-hoist@^27.5.1:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz#9be98ecf28c331eb9f5df9c72d6f89deb8181c2e"
+ integrity sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==
+ dependencies:
+ "@babel/template" "^7.3.3"
+ "@babel/types" "^7.3.3"
+ "@types/babel__core" "^7.0.0"
+ "@types/babel__traverse" "^7.0.6"
+
babel-plugin-jest-hoist@^28.1.3:
version "28.1.3"
resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.3.tgz#1952c4d0ea50f2d6d794353762278d1d8cca3fbe"
@@ -3405,6 +2807,14 @@ babel-preset-current-node-syntax@^1.0.0:
"@babel/plugin-syntax-optional-chaining" "^7.8.3"
"@babel/plugin-syntax-top-level-await" "^7.8.3"
+babel-preset-jest@^27.5.1:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz#91f10f58034cb7989cb4f962b69fa6eef6a6bc81"
+ integrity sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==
+ dependencies:
+ babel-plugin-jest-hoist "^27.5.1"
+ babel-preset-current-node-syntax "^1.0.0"
+
babel-preset-jest@^28.1.3:
version "28.1.3"
resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-28.1.3.tgz#5dfc20b99abed5db994406c2b9ab94c73aaa419d"
@@ -3418,7 +2828,7 @@ balanced-match@^1.0.0:
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
-base64-js@^1.0.2:
+base64-js@^1.0.2, base64-js@^1.3.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
@@ -3436,18 +2846,6 @@ base@^0.11.1:
mixin-deep "^1.2.0"
pascalcase "^0.1.1"
-bcrypt-pbkdf@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
- integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==
- dependencies:
- tweetnacl "^0.14.3"
-
-before-after-hook@^2.0.0:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.2.tgz#a6e8ca41028d90ee2c24222f201c90956091613e"
- integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==
-
big.js@^5.2.2:
version "5.2.2"
resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
@@ -3470,7 +2868,16 @@ bindings@^1.5.0:
dependencies:
file-uri-to-path "1.0.0"
-bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5:
+bl@^4.0.3:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a"
+ integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==
+ dependencies:
+ buffer "^5.5.0"
+ inherits "^2.0.4"
+ readable-stream "^3.4.0"
+
+bluebird@^3.5.5:
version "3.7.2"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
@@ -3511,6 +2918,13 @@ brace-expansion@^1.1.7:
balanced-match "^1.0.0"
concat-map "0.0.1"
+brace-expansion@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
+ integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
+ dependencies:
+ balanced-match "^1.0.0"
+
braces@^2.3.1, braces@^2.3.2:
version "2.3.2"
resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
@@ -3539,6 +2953,11 @@ brorand@^1.0.1, brorand@^1.1.0:
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==
+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"
+ integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==
+
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"
@@ -3617,11 +3036,6 @@ bser@2.1.1:
dependencies:
node-int64 "^0.4.0"
-btoa-lite@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337"
- integrity sha512-gvW7InbIyF8AicrqWoptdW08pUxuhq8BEgowNajy9RhiE86fmGAGl+bLKo6oB8QP0CkqHLowfN0oJdKC/J6LbA==
-
buffer-from@^1.0.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
@@ -3641,6 +3055,14 @@ buffer@^4.3.0:
ieee754 "^1.1.4"
isarray "^1.0.0"
+buffer@^5.5.0:
+ version "5.7.1"
+ resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0"
+ integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
+ dependencies:
+ base64-js "^1.3.1"
+ ieee754 "^1.1.13"
+
builtin-modules@^3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6"
@@ -3651,47 +3073,12 @@ builtin-status-codes@^3.0.0:
resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==
-builtins@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88"
- integrity sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==
-
-byline@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/byline/-/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1"
- integrity sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==
-
-byte-size@^4.0.3:
- version "4.0.4"
- resolved "https://registry.yarnpkg.com/byte-size/-/byte-size-4.0.4.tgz#29d381709f41aae0d89c631f1c81aec88cd40b23"
- integrity sha512-82RPeneC6nqCdSwCX2hZUz3JPOvN5at/nTEw/CMf05Smu3Hrpo9Psb7LjN+k+XndNArG1EY8L4+BM3aTM4BCvw==
-
bytes@3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
-cacache@^11.3.3:
- version "11.3.3"
- resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.3.tgz#8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc"
- integrity sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA==
- dependencies:
- bluebird "^3.5.5"
- chownr "^1.1.1"
- figgy-pudding "^3.5.1"
- glob "^7.1.4"
- graceful-fs "^4.1.15"
- lru-cache "^5.1.1"
- mississippi "^3.0.0"
- mkdirp "^0.5.1"
- move-concurrently "^1.0.1"
- promise-inflight "^1.0.1"
- rimraf "^2.6.3"
- ssri "^6.0.1"
- unique-filename "^1.1.1"
- y18n "^4.0.0"
-
-cacache@^12.0.0, cacache@^12.0.2:
+cacache@^12.0.2:
version "12.0.4"
resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c"
integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==
@@ -3735,72 +3122,12 @@ call-bind@^1.0.0, call-bind@^1.0.2:
function-bind "^1.1.1"
get-intrinsic "^1.0.2"
-call-me-maybe@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b"
- integrity sha512-wCyFsDQkKPwwF8BDwOiWNx/9K45L/hvggQiDbve+viMNMQnWhrlYIuBk09offfwCRtCO9P6XwUttufzU11WCVw==
-
-caller-callsite@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134"
- integrity sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==
- dependencies:
- callsites "^2.0.0"
-
-caller-path@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4"
- integrity sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==
- dependencies:
- caller-callsite "^2.0.0"
-
-callsites@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
- integrity sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==
-
callsites@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
-camelcase-keys@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
- integrity sha512-bA/Z/DERHKqoEOrp+qeGKw1QlvEQkGZSc0XaY6VnTxZr+Kv1G5zFwttpjv8qxZ/sBPT4nthwZaAcsAZTJlSKXQ==
- dependencies:
- camelcase "^2.0.0"
- map-obj "^1.0.0"
-
-camelcase-keys@^4.0.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77"
- integrity sha512-Ej37YKYbFUI8QiYlvj9YHb6/Z60dZyPJW0Cs8sFilMbd2lP0bw3ylAq9yJkK4lcTA2dID5fG8LjmJYbO7kWb7Q==
- dependencies:
- camelcase "^4.1.0"
- map-obj "^2.0.0"
- quick-lru "^1.0.0"
-
-camelcase-keys@^6.2.2:
- version "6.2.2"
- resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0"
- integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==
- dependencies:
- camelcase "^5.3.1"
- map-obj "^4.0.0"
- quick-lru "^4.0.1"
-
-camelcase@^2.0.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
- integrity sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==
-
-camelcase@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
- integrity sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==
-
-camelcase@^5.0.0, camelcase@^5.3.1:
+camelcase@^5.3.1:
version "5.3.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
@@ -3815,12 +3142,15 @@ caniuse-lite@^1.0.30001370:
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001382.tgz#4d37f0d0b6fffb826c8e5e1c0f4bf8ce592db949"
integrity sha512-2rtJwDmSZ716Pxm1wCtbPvHtbDWAreTPxXbkc5RkKglow3Ig/4GNGazDI9/BVnXbG/wnv6r3B5FEbkfg9OcTGg==
-caseless@~0.12.0:
- version "0.12.0"
- resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
- integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==
+chalk@4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
+ integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
-chalk@^2.0.0, chalk@^2.3.1, chalk@^2.4.1, chalk@^2.4.2:
+chalk@^2.0.0, chalk@^2.4.1:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
@@ -3837,7 +3167,7 @@ chalk@^3.0.0:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
-chalk@^4.0.0:
+chalk@^4.0.0, chalk@^4.0.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
@@ -3850,11 +3180,6 @@ char-regex@^1.0.2:
resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf"
integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==
-chardet@^0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
- integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
-
chokidar@^2.1.8:
version "2.1.8"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
@@ -3874,7 +3199,7 @@ chokidar@^2.1.8:
optionalDependencies:
fsevents "^1.2.7"
-chokidar@^3.4.1, chokidar@^3.5.3:
+chokidar@^3.4.1, chokidar@^3.5.1, chokidar@^3.5.3:
version "3.5.3"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
@@ -3889,7 +3214,7 @@ chokidar@^3.4.1, chokidar@^3.5.3:
optionalDependencies:
fsevents "~2.3.2"
-chownr@^1.1.1, chownr@^1.1.2, chownr@^1.1.4:
+chownr@^1.1.1:
version "1.1.4"
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
@@ -3899,11 +3224,6 @@ chrome-trace-event@^1.0.2:
resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac"
integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==
-ci-info@^1.5.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497"
- integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==
-
ci-info@^3.2.0:
version "3.3.2"
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.2.tgz#6d2967ffa407466481c6c90b6e16b3098f080128"
@@ -3932,26 +3252,17 @@ class-utils@^0.3.5:
isobject "^3.0.0"
static-extend "^0.1.1"
-cli-cursor@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
- integrity sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==
+cli-cursor@3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
+ integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
dependencies:
- restore-cursor "^2.0.0"
-
-cli-width@^2.0.0:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48"
- integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==
+ restore-cursor "^3.1.0"
-cliui@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49"
- integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==
- dependencies:
- string-width "^2.1.1"
- strip-ansi "^4.0.0"
- wrap-ansi "^2.0.0"
+cli-spinners@2.6.1:
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d"
+ integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==
cliui@^7.0.2:
version "7.0.4"
@@ -3962,29 +3273,11 @@ cliui@^7.0.2:
strip-ansi "^6.0.0"
wrap-ansi "^7.0.0"
-clone@^1.0.2:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
- integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==
-
-cmd-shim@^2.0.2:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-2.1.0.tgz#e59a08d4248dda3bb502044083a4db4ac890579a"
- integrity sha512-A5C0Cyf2H8sKsHqX0tvIWRXw5/PK++3Dc0lDbsugr90nOECLLuSPahVQBG8pgmgiXgm/TzBWMqI2rWdZwHduAw==
- dependencies:
- graceful-fs "^4.1.2"
- mkdirp "~0.5.0"
-
co@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==
-code-point-at@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
- integrity sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==
-
collect-v8-coverage@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59"
@@ -4022,15 +3315,7 @@ color-name@~1.1.4:
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-columnify@^1.5.4:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.6.0.tgz#6989531713c9008bb29735e61e37acf5bd553cf3"
- integrity sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==
- dependencies:
- strip-ansi "^6.0.1"
- wcwidth "^1.0.0"
-
-combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
+combined-stream@^1.0.8:
version "1.0.8"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
@@ -4047,14 +3332,6 @@ commondir@^1.0.1:
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==
-compare-func@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3"
- integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==
- dependencies:
- array-ify "^1.0.0"
- dot-prop "^5.1.0"
-
component-emitter@^1.2.1:
version "1.3.0"
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
@@ -4075,34 +3352,11 @@ concat-stream@^1.5.0:
readable-stream "^2.2.2"
typedarray "^0.0.6"
-concat-stream@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1"
- integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==
- dependencies:
- buffer-from "^1.0.0"
- inherits "^2.0.3"
- readable-stream "^3.0.2"
- typedarray "^0.0.6"
-
-config-chain@^1.1.11:
- version "1.1.13"
- resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4"
- integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==
- dependencies:
- ini "^1.3.4"
- proto-list "~1.2.1"
-
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 sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==
-
constants-browserify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
@@ -4120,88 +3374,6 @@ content-type@~1.0.4:
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
-conventional-changelog-angular@^5.0.3:
- version "5.0.13"
- resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c"
- integrity sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==
- dependencies:
- compare-func "^2.0.0"
- q "^1.5.1"
-
-conventional-changelog-core@^3.1.6:
- version "3.2.3"
- resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-3.2.3.tgz#b31410856f431c847086a7dcb4d2ca184a7d88fb"
- integrity sha512-LMMX1JlxPIq/Ez5aYAYS5CpuwbOk6QFp8O4HLAcZxe3vxoCtABkhfjetk8IYdRB9CDQGwJFLR3Dr55Za6XKgUQ==
- dependencies:
- conventional-changelog-writer "^4.0.6"
- conventional-commits-parser "^3.0.3"
- dateformat "^3.0.0"
- get-pkg-repo "^1.0.0"
- git-raw-commits "2.0.0"
- git-remote-origin-url "^2.0.0"
- git-semver-tags "^2.0.3"
- lodash "^4.2.1"
- normalize-package-data "^2.3.5"
- q "^1.5.1"
- read-pkg "^3.0.0"
- read-pkg-up "^3.0.0"
- through2 "^3.0.0"
-
-conventional-changelog-preset-loader@^2.1.1:
- version "2.3.4"
- resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz#14a855abbffd59027fd602581f1f34d9862ea44c"
- integrity sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==
-
-conventional-changelog-writer@^4.0.6:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz#1ca7880b75aa28695ad33312a1f2366f4b12659f"
- integrity sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw==
- dependencies:
- compare-func "^2.0.0"
- conventional-commits-filter "^2.0.7"
- dateformat "^3.0.0"
- handlebars "^4.7.6"
- json-stringify-safe "^5.0.1"
- lodash "^4.17.15"
- meow "^8.0.0"
- semver "^6.0.0"
- split "^1.0.0"
- through2 "^4.0.0"
-
-conventional-commits-filter@^2.0.2, conventional-commits-filter@^2.0.7:
- version "2.0.7"
- resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz#f8d9b4f182fce00c9af7139da49365b136c8a0b3"
- integrity sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==
- dependencies:
- lodash.ismatch "^4.4.0"
- modify-values "^1.0.0"
-
-conventional-commits-parser@^3.0.2, conventional-commits-parser@^3.0.3:
- version "3.2.4"
- resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz#a7d3b77758a202a9b2293d2112a8d8052c740972"
- integrity sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==
- dependencies:
- JSONStream "^1.0.4"
- is-text-path "^1.0.1"
- lodash "^4.17.15"
- meow "^8.0.0"
- split2 "^3.0.0"
- through2 "^4.0.0"
-
-conventional-recommended-bump@^4.0.4:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-4.1.1.tgz#37014fadeda267d0607e2fc81124da840a585127"
- integrity sha512-JT2vKfSP9kR18RXXf55BRY1O3AHG8FPg5btP3l7LYfcWJsiXI6MCf30DepQ98E8Qhowvgv7a8iev0J1bEDkTFA==
- dependencies:
- concat-stream "^2.0.0"
- conventional-changelog-preset-loader "^2.1.1"
- conventional-commits-filter "^2.0.2"
- conventional-commits-parser "^3.0.2"
- git-raw-commits "2.0.0"
- git-semver-tags "^2.0.2"
- meow "^4.0.0"
- q "^1.5.1"
-
convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0:
version "1.8.0"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369"
@@ -4249,26 +3421,11 @@ core-js-compat@^3.21.0, core-js-compat@^3.22.1:
browserslist "^4.21.3"
semver "7.0.0"
-core-util-is@1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
- integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==
-
core-util-is@~1.0.0:
version "1.0.3"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
-cosmiconfig@^5.1.0:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a"
- integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==
- dependencies:
- import-fresh "^2.0.0"
- is-directory "^0.3.1"
- js-yaml "^3.13.1"
- parse-json "^4.0.0"
-
create-ecdh@^4.0.0:
version "4.0.4"
resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e"
@@ -4305,7 +3462,7 @@ create-require@^1.1.0:
resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
-cross-spawn@^6.0.0, cross-spawn@^6.0.5:
+cross-spawn@^6.0.5:
version "6.0.5"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
@@ -4342,36 +3499,36 @@ crypto-browserify@^3.11.0:
randombytes "^2.0.0"
randomfill "^1.0.3"
-currently-unhandled@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
- integrity sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==
+cssom@^0.4.4:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10"
+ integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==
+
+cssom@~0.3.6:
+ version "0.3.8"
+ resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a"
+ integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==
+
+cssstyle@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852"
+ integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==
dependencies:
- array-find-index "^1.0.1"
+ cssom "~0.3.6"
cyclist@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9"
integrity sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==
-dargs@^4.0.1:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17"
- integrity sha512-jyweV/k0rbv2WK4r9KLayuBrSh2Py0tNmV7LBoSMH4hMQyrG8OPyIOWB2VEx4DJKXWmK4lopYMVvORlDt2S8Aw==
- dependencies:
- number-is-nan "^1.0.0"
-
-dashdash@^1.12.0:
- version "1.14.1"
- resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
- integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==
+data-urls@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b"
+ integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==
dependencies:
- assert-plus "^1.0.0"
-
-dateformat@^3.0.0:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae"
- integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==
+ abab "^2.0.3"
+ whatwg-mimetype "^2.3.0"
+ whatwg-url "^8.0.0"
debug@2.6.9, debug@^2.2.0, debug@^2.3.3:
version "2.6.9"
@@ -4380,13 +3537,6 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3:
dependencies:
ms "2.0.0"
-debug@3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
- integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
- dependencies:
- ms "2.0.0"
-
debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4:
version "4.3.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
@@ -4394,30 +3544,10 @@ debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4:
dependencies:
ms "2.1.2"
-debug@^3.1.0:
- version "3.2.7"
- resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
- integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
- dependencies:
- ms "^2.1.1"
-
-debuglog@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492"
- integrity sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw==
-
-decamelize-keys@^1.0.0, decamelize-keys@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9"
- integrity sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==
- dependencies:
- decamelize "^1.1.0"
- map-obj "^1.0.0"
-
-decamelize@^1.1.0, decamelize@^1.1.2, decamelize@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
- integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==
+decimal.js@^10.2.1:
+ version "10.4.0"
+ resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.0.tgz#97a7448873b01e92e5ff9117d89a7bca8e63e0fe"
+ integrity sha512-Nv6ENEzyPQ6AItkGwLE2PGKinZZ9g59vSh2BeH6NqPu0OTKZ5ruJsVqh/orbAnqXc9pBbgXAIrc2EyaCj8NpGg==
decode-uri-component@^0.2.0:
version "0.2.0"
@@ -4429,7 +3559,7 @@ dedent@^0.7.0:
resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==
-deep-is@^0.1.3:
+deep-is@^0.1.3, deep-is@~0.1.3:
version "0.1.4"
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
@@ -4439,12 +3569,10 @@ deepmerge@^4.2.2:
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
-defaults@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d"
- integrity sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==
- dependencies:
- clone "^1.0.2"
+define-lazy-prop@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f"
+ integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==
define-properties@^1.1.3, define-properties@^1.1.4:
version "1.1.4"
@@ -4481,21 +3609,11 @@ delayed-stream@~1.0.0:
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
-delegates@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
- integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==
-
depd@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
-deprecation@^2.0.0, deprecation@^2.3.1:
- version "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"
@@ -4509,23 +3627,15 @@ destroy@1.2.0:
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
-detect-indent@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d"
- integrity sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==
-
detect-newline@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651"
integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==
-dezalgo@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.4.tgz#751235260469084c132157dfa857f386d4c33d81"
- integrity sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==
- dependencies:
- asap "^2.0.0"
- wrappy "1"
+diff-sequences@^27.5.1:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327"
+ integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==
diff-sequences@^28.1.1:
version "28.1.1"
@@ -4546,14 +3656,6 @@ diffie-hellman@^5.0.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"
- integrity sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==
- dependencies:
- arrify "^1.0.1"
- path-type "^3.0.0"
-
dir-glob@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
@@ -4580,24 +3682,17 @@ domain-browser@^1.1.1:
resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==
-dot-prop@^4.2.0:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.1.tgz#45884194a71fc2cda71cbb4bceb3a4dd2f433ba4"
- integrity sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==
- dependencies:
- is-obj "^1.0.0"
-
-dot-prop@^5.1.0:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88"
- integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==
+domexception@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304"
+ integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==
dependencies:
- is-obj "^2.0.0"
+ webidl-conversions "^5.0.0"
-duplexer@^0.1.1:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
- integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==
+dotenv@~10.0.0:
+ version "10.0.0"
+ resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81"
+ integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==
duplexify@^3.4.2, duplexify@^3.6.0:
version "3.7.1"
@@ -4609,19 +3704,18 @@ duplexify@^3.4.2, duplexify@^3.6.0:
readable-stream "^2.0.0"
stream-shift "^1.0.0"
-ecc-jsbn@~0.1.1:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
- integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==
- dependencies:
- jsbn "~0.1.0"
- safer-buffer "^2.1.0"
-
ee-first@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
+ejs@^3.1.7:
+ version "3.1.8"
+ resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.8.tgz#758d32910c78047585c7ef1f92f9ee041c1c190b"
+ integrity sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==
+ dependencies:
+ jake "^10.8.5"
+
electron-to-chromium@^1.4.202:
version "1.4.227"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.227.tgz#28e46e2a701fed3188db3ca7bf0a3a475e484046"
@@ -4645,6 +3739,11 @@ emittery@^0.10.2:
resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.2.tgz#902eec8aedb8c41938c46e9385e9db7e03182933"
integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==
+emittery@^0.8.1:
+ version "0.8.1"
+ resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860"
+ integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==
+
emoji-regex@^8.0.0:
version "8.0.0"
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
@@ -4660,14 +3759,7 @@ encodeurl@~1.0.2:
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
-encoding@^0.1.11:
- version "0.1.13"
- resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9"
- integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==
- dependencies:
- iconv-lite "^0.6.2"
-
-end-of-stream@^1.0.0, end-of-stream@^1.1.0:
+end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1:
version "1.4.4"
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
@@ -4691,10 +3783,12 @@ enhanced-resolve@^5.10.0:
graceful-fs "^4.2.4"
tapable "^2.2.0"
-err-code@^1.0.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960"
- integrity sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==
+enquirer@~2.3.6:
+ version "2.3.6"
+ resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
+ integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
+ dependencies:
+ ansi-colors "^4.1.1"
errno@^0.1.3, errno@~0.1.7:
version "0.1.8"
@@ -4703,14 +3797,14 @@ errno@^0.1.3, errno@~0.1.7:
dependencies:
prr "~1.0.1"
-error-ex@^1.2.0, error-ex@^1.3.1:
+error-ex@^1.3.1:
version "1.3.2"
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
dependencies:
is-arrayish "^0.2.1"
-es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5, es-abstract@^1.20.1:
+es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5:
version "1.20.1"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.1.tgz#027292cd6ef44bd12b1913b828116f54787d1814"
integrity sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==
@@ -4739,11 +3833,6 @@ es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19
string.prototype.trimstart "^1.0.5"
unbox-primitive "^1.0.2"
-es-array-method-boxes-properly@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e"
- integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==
-
es-module-lexer@^0.9.0:
version "0.9.3"
resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19"
@@ -4765,18 +3854,6 @@ es-to-primitive@^1.2.1:
is-date-object "^1.0.1"
is-symbol "^1.0.2"
-es6-promise@^4.0.3:
- version "4.2.8"
- resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a"
- integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==
-
-es6-promisify@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203"
- integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==
- dependencies:
- es6-promise "^4.0.3"
-
esbuild-android-64@0.14.49:
version "0.14.49"
resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.49.tgz#9e4682c36dcf6e7b71b73d2a3723a96e0fdc5054"
@@ -5055,6 +4132,18 @@ escape-string-regexp@^4.0.0:
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
+escodegen@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd"
+ integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==
+ dependencies:
+ esprima "^4.0.1"
+ estraverse "^5.2.0"
+ esutils "^2.0.2"
+ optionator "^0.8.1"
+ optionalDependencies:
+ source-map "~0.6.1"
+
eslint-config-prettier@^8.3.0:
version "8.5.0"
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1"
@@ -5187,12 +4276,12 @@ espree@^9.3.2, espree@^9.3.3:
acorn-jsx "^5.3.2"
eslint-visitor-keys "^3.3.0"
-esprima@^4.0.0:
+esprima@^4.0.0, esprima@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
-esquery@^1.4.0:
+esquery@^1.0.1, esquery@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5"
integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==
@@ -5254,19 +4343,6 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
md5.js "^1.3.4"
safe-buffer "^5.1.1"
-execa@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8"
- integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==
- dependencies:
- cross-spawn "^6.0.0"
- get-stream "^4.0.0"
- is-stream "^1.1.0"
- npm-run-path "^2.0.0"
- p-finally "^1.0.0"
- signal-exit "^3.0.0"
- strip-eof "^1.0.0"
-
execa@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a"
@@ -5315,6 +4391,16 @@ expand-brackets@^2.1.4:
snapdragon "^0.8.1"
to-regex "^3.0.1"
+expect@^27.5.1:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/expect/-/expect-27.5.1.tgz#83ce59f1e5bdf5f9d2b94b61d2050db48f3fef74"
+ integrity sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==
+ dependencies:
+ "@jest/types" "^27.5.1"
+ jest-get-type "^27.5.1"
+ jest-matcher-utils "^27.5.1"
+ jest-message-util "^27.5.1"
+
expect@^28.0.0, expect@^28.1.3:
version "28.1.3"
resolved "https://registry.yarnpkg.com/expect/-/expect-28.1.3.tgz#90a7c1a124f1824133dd4533cce2d2bdcb6603ec"
@@ -5378,20 +4464,6 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2:
assign-symbols "^1.0.0"
is-extendable "^1.0.1"
-extend@~3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
- integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
-
-external-editor@^3.0.3:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495"
- integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==
- dependencies:
- chardet "^0.7.0"
- iconv-lite "^0.4.24"
- tmp "^0.0.33"
-
extglob@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
@@ -5406,32 +4478,21 @@ extglob@^2.0.4:
snapdragon "^0.8.1"
to-regex "^3.0.1"
-extsprintf@1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
- integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==
-
-extsprintf@^1.2.0:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07"
- integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==
-
fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
-fast-glob@^2.0.2:
- version "2.2.7"
- resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d"
- integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==
+fast-glob@3.2.7:
+ version "3.2.7"
+ resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1"
+ integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==
dependencies:
- "@mrmlnc/readdir-enhanced" "^2.2.1"
- "@nodelib/fs.stat" "^1.1.2"
- glob-parent "^3.1.0"
- is-glob "^4.0.0"
- merge2 "^1.2.3"
- micromatch "^3.1.10"
+ "@nodelib/fs.stat" "^2.0.2"
+ "@nodelib/fs.walk" "^1.2.3"
+ glob-parent "^5.1.2"
+ merge2 "^1.3.0"
+ micromatch "^4.0.4"
fast-glob@^3.2.9:
version "3.2.11"
@@ -5449,7 +4510,7 @@ fast-json-stable-stringify@^2.0.0:
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
-fast-levenshtein@^2.0.6:
+fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
@@ -5468,15 +4529,15 @@ fb-watchman@^2.0.0:
dependencies:
bser "2.1.1"
-figgy-pudding@^3.4.1, figgy-pudding@^3.5.1:
+figgy-pudding@^3.5.1:
version "3.5.2"
resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e"
integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==
-figures@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
- integrity sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==
+figures@3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af"
+ integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==
dependencies:
escape-string-regexp "^1.0.5"
@@ -5492,6 +4553,13 @@ file-uri-to-path@1.0.0:
resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
+filelist@^1.0.1:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5"
+ integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==
+ dependencies:
+ minimatch "^5.0.1"
+
fill-range@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
@@ -5509,11 +4577,6 @@ fill-range@^7.0.1:
dependencies:
to-regex-range "^5.0.1"
-filter-obj@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b"
- integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==
-
finalhandler@1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32"
@@ -5536,21 +4599,6 @@ find-cache-dir@^2.1.0:
make-dir "^2.0.0"
pkg-dir "^3.0.0"
-find-up@^1.0.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
- integrity sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==
- dependencies:
- path-exists "^2.0.0"
- pinkie-promise "^2.0.0"
-
-find-up@^2.0.0, find-up@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
- integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==
- dependencies:
- locate-path "^2.0.0"
-
find-up@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
@@ -5582,6 +4630,11 @@ flat-cache@^3.0.4:
flatted "^3.1.0"
rimraf "^3.0.2"
+flat@^5.0.2:
+ version "5.0.2"
+ resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241"
+ integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==
+
flatted@^3.1.0:
version "3.2.7"
resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787"
@@ -5605,10 +4658,14 @@ for-in@^1.0.2:
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==
-forever-agent@~0.6.1:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
- integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==
+form-data@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f"
+ integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.8"
+ mime-types "^2.1.12"
form-data@^4.0.0:
version "4.0.0"
@@ -5619,15 +4676,6 @@ form-data@^4.0.0:
combined-stream "^1.0.8"
mime-types "^2.1.12"
-form-data@~2.3.2:
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
- integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
- dependencies:
- asynckit "^0.4.0"
- combined-stream "^1.0.6"
- mime-types "^2.1.12"
-
forwarded@0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
@@ -5653,21 +4701,19 @@ from2@^2.1.0:
inherits "^2.0.1"
readable-stream "^2.0.0"
-fs-extra@^7.0.0:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9"
- integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==
- dependencies:
- graceful-fs "^4.1.2"
- jsonfile "^4.0.0"
- universalify "^0.1.0"
+fs-constants@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
+ integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
-fs-minipass@^1.2.7:
- version "1.2.7"
- resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7"
- integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==
+fs-extra@^10.1.0:
+ version "10.1.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf"
+ integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==
dependencies:
- minipass "^2.6.0"
+ graceful-fs "^4.2.0"
+ jsonfile "^6.0.1"
+ universalify "^2.0.0"
fs-write-stream-atomic@^1.0.8:
version "1.0.10"
@@ -5722,35 +4768,11 @@ functions-have-names@^1.2.2:
resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
-gauge@~2.7.3:
- version "2.7.4"
- resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
- integrity sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==
- dependencies:
- aproba "^1.0.3"
- console-control-strings "^1.0.0"
- has-unicode "^2.0.0"
- object-assign "^4.1.0"
- signal-exit "^3.0.0"
- string-width "^1.0.1"
- strip-ansi "^3.0.1"
- wide-align "^1.1.0"
-
-genfun@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/genfun/-/genfun-5.0.0.tgz#9dd9710a06900a5c4a5bf57aca5da4e52fe76537"
- integrity sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==
-
gensync@^1.0.0-beta.2:
version "1.0.0-beta.2"
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
-get-caller-file@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
- integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==
-
get-caller-file@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
@@ -5770,34 +4792,6 @@ get-package-type@^0.1.0:
resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
-get-pkg-repo@^1.0.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz#c73b489c06d80cc5536c2c853f9e05232056972d"
- integrity sha512-xPCyvcEOxCJDxhBfXDNH+zA7mIRGb2aY1gIUJWsZkpJbp1BLHl+/Sycg26Dv+ZbZAJkO61tzbBtqHUi30NGBvg==
- dependencies:
- hosted-git-info "^2.1.4"
- meow "^3.3.0"
- normalize-package-data "^2.3.0"
- parse-github-repo-url "^1.3.0"
- through2 "^2.0.0"
-
-get-port@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc"
- integrity sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==
-
-get-stdin@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
- integrity sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==
-
-get-stream@^4.0.0, get-stream@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
- integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
- dependencies:
- pump "^3.0.0"
-
get-stream@^5.0.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
@@ -5823,62 +4817,6 @@ get-value@^2.0.3, get-value@^2.0.6:
resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==
-getpass@^0.1.1:
- version "0.1.7"
- resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
- integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==
- dependencies:
- assert-plus "^1.0.0"
-
-git-raw-commits@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.0.tgz#d92addf74440c14bcc5c83ecce3fb7f8a79118b5"
- integrity sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg==
- dependencies:
- dargs "^4.0.1"
- lodash.template "^4.0.2"
- meow "^4.0.0"
- split2 "^2.0.0"
- through2 "^2.0.0"
-
-git-remote-origin-url@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f"
- integrity sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==
- dependencies:
- gitconfiglocal "^1.0.0"
- pify "^2.3.0"
-
-git-semver-tags@^2.0.2, git-semver-tags@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-2.0.3.tgz#48988a718acf593800f99622a952a77c405bfa34"
- integrity sha512-tj4FD4ww2RX2ae//jSrXZzrocla9db5h0V7ikPl1P/WwoZar9epdUhwR7XHXSgc+ZkNq72BEEerqQuicoEQfzA==
- dependencies:
- meow "^4.0.0"
- semver "^6.0.0"
-
-git-up@^4.0.0:
- version "4.0.5"
- resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.5.tgz#e7bb70981a37ea2fb8fe049669800a1f9a01d759"
- integrity sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA==
- dependencies:
- is-ssh "^1.3.0"
- parse-url "^6.0.0"
-
-git-url-parse@^11.1.2:
- version "11.6.0"
- resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-11.6.0.tgz#c634b8de7faa66498a2b88932df31702c67df605"
- integrity sha512-WWUxvJs5HsyHL6L08wOusa/IXYtMuCAhrMmnTjQPpBU0TTHyDhnOATNH3xNQz7YOQUsqIIPTGr4xiVti1Hsk5g==
- dependencies:
- git-up "^4.0.0"
-
-gitconfiglocal@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b"
- integrity sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==
- dependencies:
- ini "^1.3.2"
-
glob-parent@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
@@ -5901,17 +4839,24 @@ glob-parent@^6.0.1:
dependencies:
is-glob "^4.0.3"
-glob-to-regexp@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab"
- integrity sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==
-
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.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
+glob@7.1.4:
+ version "7.1.4"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255"
+ integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
version "7.2.3"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
@@ -5947,20 +4892,7 @@ globby@^11.1.0:
merge2 "^1.4.1"
slash "^3.0.0"
-globby@^8.0.1:
- version "8.0.2"
- resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d"
- integrity sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==
- dependencies:
- array-union "^1.0.1"
- dir-glob "2.0.0"
- fast-glob "^2.0.2"
- glob "^7.1.2"
- ignore "^3.3.5"
- pify "^3.0.0"
- slash "^1.0.0"
-
-graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.4, graceful-fs@^4.2.9:
+graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9:
version "4.2.10"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
@@ -5970,35 +4902,10 @@ grapheme-splitter@^1.0.4:
resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e"
integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==
-handlebars@^4.7.6:
- version "4.7.7"
- resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1"
- integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==
- dependencies:
- minimist "^1.2.5"
- neo-async "^2.6.0"
- source-map "^0.6.1"
- wordwrap "^1.0.0"
- optionalDependencies:
- uglify-js "^3.1.4"
-
-har-schema@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
- integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==
-
-har-validator@~5.1.3:
- version "5.1.5"
- resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd"
- integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==
- dependencies:
- ajv "^6.12.3"
- har-schema "^2.0.0"
-
-hard-rejection@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883"
- integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==
+harmony-reflect@^1.4.6:
+ version "1.6.2"
+ resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710"
+ integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==
has-bigints@^1.0.1, has-bigints@^1.0.2:
version "1.0.2"
@@ -6034,11 +4941,6 @@ has-tostringtag@^1.0.0:
dependencies:
has-symbols "^1.0.2"
-has-unicode@^2.0.0, has-unicode@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
- integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==
-
has-value@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
@@ -6103,28 +5005,23 @@ hmac-drbg@^1.0.1:
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.1"
-hosted-git-info@^2.1.4, hosted-git-info@^2.7.1:
+hosted-git-info@^2.1.4:
version "2.8.9"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9"
integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==
-hosted-git-info@^4.0.1:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224"
- integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==
+html-encoding-sniffer@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3"
+ integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==
dependencies:
- lru-cache "^6.0.0"
+ whatwg-encoding "^1.0.5"
html-escaper@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
-http-cache-semantics@^3.8.1:
- version "3.8.1"
- resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2"
- integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==
-
http-errors@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3"
@@ -6136,13 +5033,14 @@ http-errors@2.0.0:
statuses "2.0.1"
toidentifier "1.0.1"
-http-proxy-agent@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405"
- integrity sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==
+http-proxy-agent@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a"
+ integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==
dependencies:
- agent-base "4"
- debug "3.1.0"
+ "@tootallnate/once" "1"
+ agent-base "6"
+ debug "4"
http-proxy@^1.18.1:
version "1.18.1"
@@ -6153,28 +5051,11 @@ http-proxy@^1.18.1:
follow-redirects "^1.0.0"
requires-port "^1.0.0"
-http-signature@~1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
- integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==
- dependencies:
- assert-plus "^1.0.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 sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==
-https-proxy-agent@^2.2.1, 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"
- integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==
- dependencies:
- agent-base "^4.3.0"
- debug "^3.1.0"
-
https-proxy-agent@^5.0.0:
version "5.0.1"
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
@@ -6193,33 +5074,26 @@ human-signals@^2.1.0:
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
-humanize-ms@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed"
- integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==
- dependencies:
- ms "^2.0.0"
-
husky@^8.0.0:
version "8.0.1"
resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.1.tgz#511cb3e57de3e3190514ae49ed50f6bc3f50b3e9"
integrity sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==
-iconv-lite@0.4.24, iconv-lite@^0.4.24:
+iconv-lite@0.4.24:
version "0.4.24"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
dependencies:
safer-buffer ">= 2.1.2 < 3"
-iconv-lite@^0.6.2:
- version "0.6.3"
- resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501"
- integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
+identity-obj-proxy@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14"
+ integrity sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==
dependencies:
- safer-buffer ">= 2.1.2 < 3.0.0"
+ harmony-reflect "^1.4.6"
-ieee754@^1.1.4:
+ieee754@^1.1.13, ieee754@^1.1.4:
version "1.2.1"
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
@@ -6229,19 +5103,7 @@ iferr@^0.1.5:
resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
integrity sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==
-ignore-walk@^3.0.1:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.4.tgz#c9a09f69b7c7b479a5d74ac1a3c0d4236d2a6335"
- integrity sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==
- dependencies:
- minimatch "^3.0.4"
-
-ignore@^3.3.5:
- version "3.3.10"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
- integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==
-
-ignore@^5.1.4, ignore@^5.2.0:
+ignore@^5.0.4, ignore@^5.1.4, ignore@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a"
integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==
@@ -6251,14 +5113,6 @@ immediate@~3.0.5:
resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b"
integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==
-import-fresh@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546"
- integrity sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==
- dependencies:
- caller-path "^2.0.0"
- resolve-from "^3.0.0"
-
import-fresh@^3.0.0, import-fresh@^3.2.1:
version "3.3.0"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
@@ -6267,14 +5121,6 @@ import-fresh@^3.0.0, import-fresh@^3.2.1:
parent-module "^1.0.0"
resolve-from "^4.0.0"
-import-local@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/import-local/-/import-local-1.0.0.tgz#5e4ffdc03f4fe6c009c6729beb29631c2f8227bc"
- integrity sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==
- dependencies:
- pkg-dir "^2.0.0"
- resolve-cwd "^2.0.0"
-
import-local@^3.0.2:
version "3.1.0"
resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4"
@@ -6288,24 +5134,7 @@ imurmurhash@^0.1.4:
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
-indent-string@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
- integrity sha512-aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg==
- dependencies:
- repeating "^2.0.0"
-
-indent-string@^3.0.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289"
- integrity sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==
-
-indent-string@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
- integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
-
-infer-owner@^1.0.3, infer-owner@^1.0.4:
+infer-owner@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467"
integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==
@@ -6333,44 +5162,6 @@ inherits@2.0.3:
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==
-ini@^1.3.2, ini@^1.3.4:
- version "1.3.8"
- resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
- integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
-
-init-package-json@^1.10.3:
- version "1.10.3"
- resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-1.10.3.tgz#45ffe2f610a8ca134f2bd1db5637b235070f6cbe"
- integrity sha512-zKSiXKhQveNteyhcj1CoOP8tqp1QuxPIPBl8Bid99DGLFqA1p87M6lNgfjJHSBoWJJlidGOv5rWjyYKEB3g2Jw==
- dependencies:
- glob "^7.1.1"
- npm-package-arg "^4.0.0 || ^5.0.0 || ^6.0.0"
- promzard "^0.3.0"
- read "~1.0.1"
- read-package-json "1 || 2"
- semver "2.x || 3.x || 4 || 5"
- validate-npm-package-license "^3.0.1"
- validate-npm-package-name "^3.0.0"
-
-inquirer@^6.2.0:
- version "6.5.2"
- resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca"
- integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==
- dependencies:
- ansi-escapes "^3.2.0"
- chalk "^2.4.2"
- cli-cursor "^2.1.0"
- cli-width "^2.0.0"
- external-editor "^3.0.3"
- figures "^2.0.0"
- lodash "^4.17.12"
- mute-stream "0.0.7"
- run-async "^2.2.0"
- rxjs "^6.4.0"
- string-width "^2.1.0"
- strip-ansi "^5.1.0"
- through "^2.3.6"
-
internal-slot@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c"
@@ -6380,16 +5171,6 @@ internal-slot@^1.0.3:
has "^1.0.3"
side-channel "^1.0.4"
-invert-kv@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02"
- integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==
-
-ip@1.1.5:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a"
- integrity sha512-rBtCAQAJm8A110nbwn6YdveUnuZH3WrC36IwkRXxDnq53JvXA2NVQvB7IHyKomxK1MJ4VDNw3UtFDdXQ+AvLYA==
-
ipaddr.js@1.9.1:
version "1.9.1"
resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
@@ -6460,14 +5241,7 @@ is-callable@^1.1.4, is-callable@^1.2.4:
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945"
integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==
-is-ci@^1.0.10:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c"
- integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==
- dependencies:
- ci-info "^1.5.0"
-
-is-core-module@^2.5.0, is-core-module@^2.9.0:
+is-core-module@^2.9.0:
version "2.10.0"
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed"
integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==
@@ -6513,10 +5287,10 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2:
is-data-descriptor "^1.0.0"
kind-of "^6.0.2"
-is-directory@^0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
- integrity sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==
+is-docker@^2.0.0, is-docker@^2.1.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa"
+ integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==
is-extendable@^0.1.0, is-extendable@^0.1.1:
version "0.1.1"
@@ -6535,23 +5309,6 @@ is-extglob@^2.1.0, is-extglob@^2.1.1:
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
-is-finite@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3"
- integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==
-
-is-fullwidth-code-point@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
- integrity sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==
- dependencies:
- number-is-nan "^1.0.0"
-
-is-fullwidth-code-point@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
- integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==
-
is-fullwidth-code-point@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
@@ -6605,21 +5362,6 @@ is-number@^7.0.0:
resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
-is-obj@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
- integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==
-
-is-obj@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
- integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
-
-is-plain-obj@^1.0.0, is-plain-obj@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
- integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==
-
is-plain-object@^2.0.3, is-plain-object@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
@@ -6627,10 +5369,10 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4:
dependencies:
isobject "^3.0.1"
-is-plain-object@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344"
- integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==
+is-potential-custom-element-name@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5"
+ integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==
is-reference@^1.2.1:
version "1.2.1"
@@ -6654,18 +5396,6 @@ is-shared-array-buffer@^1.0.2:
dependencies:
call-bind "^1.0.2"
-is-ssh@^1.3.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.4.0.tgz#4f8220601d2839d8fa624b3106f8e8884f01b8b2"
- integrity sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==
- dependencies:
- protocols "^2.0.1"
-
-is-stream@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
- integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==
-
is-stream@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
@@ -6685,23 +5415,11 @@ is-symbol@^1.0.2, is-symbol@^1.0.3:
dependencies:
has-symbols "^1.0.2"
-is-text-path@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e"
- integrity sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==
- dependencies:
- text-extensions "^1.0.0"
-
-is-typedarray@~1.0.0:
+is-typedarray@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==
-is-utf8@^0.2.0:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
- integrity sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==
-
is-weakref@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2"
@@ -6719,6 +5437,13 @@ is-wsl@^1.1.0:
resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d"
integrity sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==
+is-wsl@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
+ integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
+ dependencies:
+ is-docker "^2.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"
@@ -6741,11 +5466,6 @@ isobject@^3.0.0, isobject@^3.0.1:
resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==
-isstream@~0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
- integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==
-
istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3"
@@ -6788,6 +5508,16 @@ istanbul-reports@^3.1.3:
html-escaper "^2.0.0"
istanbul-lib-report "^3.0.0"
+jake@^10.8.5:
+ version "10.8.5"
+ resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.5.tgz#f2183d2c59382cb274226034543b9c03b8164c46"
+ integrity sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==
+ dependencies:
+ async "^3.2.3"
+ chalk "^4.0.2"
+ filelist "^1.0.1"
+ minimatch "^3.0.4"
+
jest-changed-files@^28.1.3:
version "28.1.3"
resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-28.1.3.tgz#d9aeee6792be3686c47cb988a8eaf82ff4238831"
@@ -6796,6 +5526,31 @@ jest-changed-files@^28.1.3:
execa "^5.0.0"
p-limit "^3.1.0"
+jest-circus@^27.5.1:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.5.1.tgz#37a5a4459b7bf4406e53d637b49d22c65d125ecc"
+ integrity sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==
+ dependencies:
+ "@jest/environment" "^27.5.1"
+ "@jest/test-result" "^27.5.1"
+ "@jest/types" "^27.5.1"
+ "@types/node" "*"
+ chalk "^4.0.0"
+ co "^4.6.0"
+ dedent "^0.7.0"
+ expect "^27.5.1"
+ is-generator-fn "^2.0.0"
+ jest-each "^27.5.1"
+ jest-matcher-utils "^27.5.1"
+ jest-message-util "^27.5.1"
+ jest-runtime "^27.5.1"
+ jest-snapshot "^27.5.1"
+ jest-util "^27.5.1"
+ pretty-format "^27.5.1"
+ slash "^3.0.0"
+ stack-utils "^2.0.3"
+ throat "^6.0.1"
+
jest-circus@^28.1.3:
version "28.1.3"
resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-28.1.3.tgz#d14bd11cf8ee1a03d69902dc47b6bd4634ee00e4"
@@ -6839,6 +5594,36 @@ jest-cli@^28.1.3:
prompts "^2.0.1"
yargs "^17.3.1"
+jest-config@27.5.1:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.5.1.tgz#5c387de33dca3f99ad6357ddeccd91bf3a0e4a41"
+ integrity sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==
+ dependencies:
+ "@babel/core" "^7.8.0"
+ "@jest/test-sequencer" "^27.5.1"
+ "@jest/types" "^27.5.1"
+ babel-jest "^27.5.1"
+ chalk "^4.0.0"
+ ci-info "^3.2.0"
+ deepmerge "^4.2.2"
+ glob "^7.1.1"
+ graceful-fs "^4.2.9"
+ jest-circus "^27.5.1"
+ jest-environment-jsdom "^27.5.1"
+ jest-environment-node "^27.5.1"
+ jest-get-type "^27.5.1"
+ jest-jasmine2 "^27.5.1"
+ jest-regex-util "^27.5.1"
+ jest-resolve "^27.5.1"
+ jest-runner "^27.5.1"
+ jest-util "^27.5.1"
+ jest-validate "^27.5.1"
+ micromatch "^4.0.4"
+ parse-json "^5.2.0"
+ pretty-format "^27.5.1"
+ slash "^3.0.0"
+ strip-json-comments "^3.1.1"
+
jest-config@^28.1.3:
version "28.1.3"
resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-28.1.3.tgz#e315e1f73df3cac31447eed8b8740a477392ec60"
@@ -6867,6 +5652,16 @@ jest-config@^28.1.3:
slash "^3.0.0"
strip-json-comments "^3.1.1"
+jest-diff@^27.5.1:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def"
+ integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==
+ dependencies:
+ chalk "^4.0.0"
+ diff-sequences "^27.5.1"
+ jest-get-type "^27.5.1"
+ pretty-format "^27.5.1"
+
jest-diff@^28.1.3:
version "28.1.3"
resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-28.1.3.tgz#948a192d86f4e7a64c5264ad4da4877133d8792f"
@@ -6877,6 +5672,13 @@ jest-diff@^28.1.3:
jest-get-type "^28.0.2"
pretty-format "^28.1.3"
+jest-docblock@^27.5.1:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.1.tgz#14092f364a42c6108d42c33c8cf30e058e25f6c0"
+ integrity sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==
+ dependencies:
+ detect-newline "^3.0.0"
+
jest-docblock@^28.1.1:
version "28.1.1"
resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-28.1.1.tgz#6f515c3bf841516d82ecd57a62eed9204c2f42a8"
@@ -6884,6 +5686,17 @@ jest-docblock@^28.1.1:
dependencies:
detect-newline "^3.0.0"
+jest-each@^27.5.1:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.5.1.tgz#5bc87016f45ed9507fed6e4702a5b468a5b2c44e"
+ integrity sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==
+ dependencies:
+ "@jest/types" "^27.5.1"
+ chalk "^4.0.0"
+ jest-get-type "^27.5.1"
+ jest-util "^27.5.1"
+ pretty-format "^27.5.1"
+
jest-each@^28.1.3:
version "28.1.3"
resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-28.1.3.tgz#bdd1516edbe2b1f3569cfdad9acd543040028f81"
@@ -6895,6 +5708,31 @@ jest-each@^28.1.3:
jest-util "^28.1.3"
pretty-format "^28.1.3"
+jest-environment-jsdom@^27.5.1:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz#ea9ccd1fc610209655a77898f86b2b559516a546"
+ integrity sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==
+ dependencies:
+ "@jest/environment" "^27.5.1"
+ "@jest/fake-timers" "^27.5.1"
+ "@jest/types" "^27.5.1"
+ "@types/node" "*"
+ jest-mock "^27.5.1"
+ jest-util "^27.5.1"
+ jsdom "^16.6.0"
+
+jest-environment-node@^27.5.1:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz#dedc2cfe52fab6b8f5714b4808aefa85357a365e"
+ integrity sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==
+ dependencies:
+ "@jest/environment" "^27.5.1"
+ "@jest/fake-timers" "^27.5.1"
+ "@jest/types" "^27.5.1"
+ "@types/node" "*"
+ jest-mock "^27.5.1"
+ jest-util "^27.5.1"
+
jest-environment-node@^28.1.3:
version "28.1.3"
resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-28.1.3.tgz#7e74fe40eb645b9d56c0c4b70ca4357faa349be5"
@@ -6907,11 +5745,36 @@ jest-environment-node@^28.1.3:
jest-mock "^28.1.3"
jest-util "^28.1.3"
+jest-get-type@^27.5.1:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1"
+ integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==
+
jest-get-type@^28.0.2:
version "28.0.2"
resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-28.0.2.tgz#34622e628e4fdcd793d46db8a242227901fcf203"
integrity sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==
+jest-haste-map@^27.5.1:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f"
+ integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==
+ dependencies:
+ "@jest/types" "^27.5.1"
+ "@types/graceful-fs" "^4.1.2"
+ "@types/node" "*"
+ anymatch "^3.0.3"
+ fb-watchman "^2.0.0"
+ graceful-fs "^4.2.9"
+ jest-regex-util "^27.5.1"
+ jest-serializer "^27.5.1"
+ jest-util "^27.5.1"
+ jest-worker "^27.5.1"
+ micromatch "^4.0.4"
+ walker "^1.0.7"
+ optionalDependencies:
+ fsevents "^2.3.2"
+
jest-haste-map@^28.1.3:
version "28.1.3"
resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-28.1.3.tgz#abd5451129a38d9841049644f34b034308944e2b"
@@ -6931,6 +5794,37 @@ jest-haste-map@^28.1.3:
optionalDependencies:
fsevents "^2.3.2"
+jest-jasmine2@^27.5.1:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz#a037b0034ef49a9f3d71c4375a796f3b230d1ac4"
+ integrity sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==
+ dependencies:
+ "@jest/environment" "^27.5.1"
+ "@jest/source-map" "^27.5.1"
+ "@jest/test-result" "^27.5.1"
+ "@jest/types" "^27.5.1"
+ "@types/node" "*"
+ chalk "^4.0.0"
+ co "^4.6.0"
+ expect "^27.5.1"
+ is-generator-fn "^2.0.0"
+ jest-each "^27.5.1"
+ jest-matcher-utils "^27.5.1"
+ jest-message-util "^27.5.1"
+ jest-runtime "^27.5.1"
+ jest-snapshot "^27.5.1"
+ jest-util "^27.5.1"
+ pretty-format "^27.5.1"
+ throat "^6.0.1"
+
+jest-leak-detector@^27.5.1:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz#6ec9d54c3579dd6e3e66d70e3498adf80fde3fb8"
+ integrity sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==
+ dependencies:
+ jest-get-type "^27.5.1"
+ pretty-format "^27.5.1"
+
jest-leak-detector@^28.1.3:
version "28.1.3"
resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz#a6685d9b074be99e3adee816ce84fd30795e654d"
@@ -6939,6 +5833,16 @@ jest-leak-detector@^28.1.3:
jest-get-type "^28.0.2"
pretty-format "^28.1.3"
+jest-matcher-utils@^27.5.1:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab"
+ integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==
+ dependencies:
+ chalk "^4.0.0"
+ jest-diff "^27.5.1"
+ jest-get-type "^27.5.1"
+ pretty-format "^27.5.1"
+
jest-matcher-utils@^28.1.3:
version "28.1.3"
resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz#5a77f1c129dd5ba3b4d7fc20728806c78893146e"
@@ -6949,6 +5853,21 @@ jest-matcher-utils@^28.1.3:
jest-get-type "^28.0.2"
pretty-format "^28.1.3"
+jest-message-util@^27.5.1:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.5.1.tgz#bdda72806da10d9ed6425e12afff38cd1458b6cf"
+ integrity sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==
+ dependencies:
+ "@babel/code-frame" "^7.12.13"
+ "@jest/types" "^27.5.1"
+ "@types/stack-utils" "^2.0.0"
+ chalk "^4.0.0"
+ graceful-fs "^4.2.9"
+ micromatch "^4.0.4"
+ pretty-format "^27.5.1"
+ slash "^3.0.0"
+ stack-utils "^2.0.3"
+
jest-message-util@^28.1.3:
version "28.1.3"
resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-28.1.3.tgz#232def7f2e333f1eecc90649b5b94b0055e7c43d"
@@ -6964,8 +5883,16 @@ jest-message-util@^28.1.3:
slash "^3.0.0"
stack-utils "^2.0.3"
-jest-mock@^28.1.3:
- version "28.1.3"
+jest-mock@^27.5.1:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.1.tgz#19948336d49ef4d9c52021d34ac7b5f36ff967d6"
+ integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==
+ dependencies:
+ "@jest/types" "^27.5.1"
+ "@types/node" "*"
+
+jest-mock@^28.1.3:
+ version "28.1.3"
resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-28.1.3.tgz#d4e9b1fc838bea595c77ab73672ebf513ab249da"
integrity sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==
dependencies:
@@ -6977,6 +5904,11 @@ jest-pnp-resolver@^1.2.2:
resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c"
integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==
+jest-regex-util@^27.5.1:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95"
+ integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==
+
jest-regex-util@^28.0.2:
version "28.0.2"
resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-28.0.2.tgz#afdc377a3b25fb6e80825adcf76c854e5bf47ead"
@@ -6990,6 +5922,22 @@ jest-resolve-dependencies@^28.1.3:
jest-regex-util "^28.0.2"
jest-snapshot "^28.1.3"
+jest-resolve@27.5.1, jest-resolve@^27.5.1:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.5.1.tgz#a2f1c5a0796ec18fe9eb1536ac3814c23617b384"
+ integrity sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==
+ dependencies:
+ "@jest/types" "^27.5.1"
+ chalk "^4.0.0"
+ graceful-fs "^4.2.9"
+ jest-haste-map "^27.5.1"
+ jest-pnp-resolver "^1.2.2"
+ jest-util "^27.5.1"
+ jest-validate "^27.5.1"
+ resolve "^1.20.0"
+ resolve.exports "^1.1.0"
+ slash "^3.0.0"
+
jest-resolve@^28.1.3:
version "28.1.3"
resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-28.1.3.tgz#cfb36100341ddbb061ec781426b3c31eb51aa0a8"
@@ -7005,6 +5953,33 @@ jest-resolve@^28.1.3:
resolve.exports "^1.1.0"
slash "^3.0.0"
+jest-runner@^27.5.1:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.5.1.tgz#071b27c1fa30d90540805c5645a0ec167c7b62e5"
+ integrity sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==
+ dependencies:
+ "@jest/console" "^27.5.1"
+ "@jest/environment" "^27.5.1"
+ "@jest/test-result" "^27.5.1"
+ "@jest/transform" "^27.5.1"
+ "@jest/types" "^27.5.1"
+ "@types/node" "*"
+ chalk "^4.0.0"
+ emittery "^0.8.1"
+ graceful-fs "^4.2.9"
+ jest-docblock "^27.5.1"
+ jest-environment-jsdom "^27.5.1"
+ jest-environment-node "^27.5.1"
+ jest-haste-map "^27.5.1"
+ jest-leak-detector "^27.5.1"
+ jest-message-util "^27.5.1"
+ jest-resolve "^27.5.1"
+ jest-runtime "^27.5.1"
+ jest-util "^27.5.1"
+ jest-worker "^27.5.1"
+ source-map-support "^0.5.6"
+ throat "^6.0.1"
+
jest-runner@^28.1.3:
version "28.1.3"
resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-28.1.3.tgz#5eee25febd730b4713a2cdfd76bdd5557840f9a1"
@@ -7032,6 +6007,34 @@ jest-runner@^28.1.3:
p-limit "^3.1.0"
source-map-support "0.5.13"
+jest-runtime@^27.5.1:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.5.1.tgz#4896003d7a334f7e8e4a53ba93fb9bcd3db0a1af"
+ integrity sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==
+ dependencies:
+ "@jest/environment" "^27.5.1"
+ "@jest/fake-timers" "^27.5.1"
+ "@jest/globals" "^27.5.1"
+ "@jest/source-map" "^27.5.1"
+ "@jest/test-result" "^27.5.1"
+ "@jest/transform" "^27.5.1"
+ "@jest/types" "^27.5.1"
+ chalk "^4.0.0"
+ cjs-module-lexer "^1.0.0"
+ collect-v8-coverage "^1.0.0"
+ execa "^5.0.0"
+ glob "^7.1.3"
+ graceful-fs "^4.2.9"
+ jest-haste-map "^27.5.1"
+ jest-message-util "^27.5.1"
+ jest-mock "^27.5.1"
+ jest-regex-util "^27.5.1"
+ jest-resolve "^27.5.1"
+ jest-snapshot "^27.5.1"
+ jest-util "^27.5.1"
+ slash "^3.0.0"
+ strip-bom "^4.0.0"
+
jest-runtime@^28.1.3:
version "28.1.3"
resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-28.1.3.tgz#a57643458235aa53e8ec7821949e728960d0605f"
@@ -7060,6 +6063,42 @@ jest-runtime@^28.1.3:
slash "^3.0.0"
strip-bom "^4.0.0"
+jest-serializer@^27.5.1:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64"
+ integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==
+ dependencies:
+ "@types/node" "*"
+ graceful-fs "^4.2.9"
+
+jest-snapshot@^27.5.1:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz#b668d50d23d38054a51b42c4039cab59ae6eb6a1"
+ integrity sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==
+ dependencies:
+ "@babel/core" "^7.7.2"
+ "@babel/generator" "^7.7.2"
+ "@babel/plugin-syntax-typescript" "^7.7.2"
+ "@babel/traverse" "^7.7.2"
+ "@babel/types" "^7.0.0"
+ "@jest/transform" "^27.5.1"
+ "@jest/types" "^27.5.1"
+ "@types/babel__traverse" "^7.0.4"
+ "@types/prettier" "^2.1.5"
+ babel-preset-current-node-syntax "^1.0.0"
+ chalk "^4.0.0"
+ expect "^27.5.1"
+ graceful-fs "^4.2.9"
+ jest-diff "^27.5.1"
+ jest-get-type "^27.5.1"
+ jest-haste-map "^27.5.1"
+ jest-matcher-utils "^27.5.1"
+ jest-message-util "^27.5.1"
+ jest-util "^27.5.1"
+ natural-compare "^1.4.0"
+ pretty-format "^27.5.1"
+ semver "^7.3.2"
+
jest-snapshot@^28.1.3:
version "28.1.3"
resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-28.1.3.tgz#17467b3ab8ddb81e2f605db05583d69388fc0668"
@@ -7089,6 +6128,18 @@ jest-snapshot@^28.1.3:
pretty-format "^28.1.3"
semver "^7.3.5"
+jest-util@27.5.1, jest-util@^27.5.1:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9"
+ integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==
+ dependencies:
+ "@jest/types" "^27.5.1"
+ "@types/node" "*"
+ chalk "^4.0.0"
+ ci-info "^3.2.0"
+ graceful-fs "^4.2.9"
+ picomatch "^2.2.3"
+
jest-util@^28.1.3:
version "28.1.3"
resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-28.1.3.tgz#f4f932aa0074f0679943220ff9cbba7e497028b0"
@@ -7101,6 +6152,18 @@ jest-util@^28.1.3:
graceful-fs "^4.2.9"
picomatch "^2.2.3"
+jest-validate@^27.5.1:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.5.1.tgz#9197d54dc0bdb52260b8db40b46ae668e04df067"
+ integrity sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==
+ dependencies:
+ "@jest/types" "^27.5.1"
+ camelcase "^6.2.0"
+ chalk "^4.0.0"
+ jest-get-type "^27.5.1"
+ leven "^3.1.0"
+ pretty-format "^27.5.1"
+
jest-validate@^28.1.3:
version "28.1.3"
resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-28.1.3.tgz#e322267fd5e7c64cea4629612c357bbda96229df"
@@ -7127,7 +6190,7 @@ jest-watcher@^28.1.3:
jest-util "^28.1.3"
string-length "^4.0.1"
-jest-worker@^27.4.5:
+jest-worker@^27.4.5, jest-worker@^27.5.1:
version "27.5.1"
resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0"
integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==
@@ -7160,6 +6223,13 @@ jest@^28.1.1, jest@^28.1.3:
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
+js-yaml@4.1.0, js-yaml@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
+ integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
+ dependencies:
+ argparse "^2.0.1"
+
js-yaml@^3.13.1:
version "3.14.1"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
@@ -7168,17 +6238,38 @@ js-yaml@^3.13.1:
argparse "^1.0.7"
esprima "^4.0.0"
-js-yaml@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
- integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
- dependencies:
- argparse "^2.0.1"
-
-jsbn@~0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
- integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==
+jsdom@^16.6.0:
+ version "16.7.0"
+ resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710"
+ integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==
+ dependencies:
+ abab "^2.0.5"
+ acorn "^8.2.4"
+ acorn-globals "^6.0.0"
+ cssom "^0.4.4"
+ cssstyle "^2.3.0"
+ data-urls "^2.0.0"
+ decimal.js "^10.2.1"
+ domexception "^2.0.1"
+ escodegen "^2.0.0"
+ form-data "^3.0.0"
+ html-encoding-sniffer "^2.0.1"
+ http-proxy-agent "^4.0.1"
+ https-proxy-agent "^5.0.0"
+ is-potential-custom-element-name "^1.0.1"
+ nwsapi "^2.2.0"
+ parse5 "6.0.1"
+ saxes "^5.0.1"
+ symbol-tree "^3.2.4"
+ tough-cookie "^4.0.0"
+ w3c-hr-time "^1.0.2"
+ w3c-xmlserializer "^2.0.0"
+ webidl-conversions "^6.1.0"
+ whatwg-encoding "^1.0.5"
+ whatwg-mimetype "^2.3.0"
+ whatwg-url "^8.5.0"
+ ws "^7.4.6"
+ xml-name-validator "^3.0.0"
jsesc@^2.5.1:
version "2.5.2"
@@ -7190,7 +6281,7 @@ jsesc@~0.5.0:
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==
-json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2:
+json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
@@ -7205,21 +6296,11 @@ json-schema-traverse@^0.4.1:
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
-json-schema@0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5"
- integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==
-
json-stable-stringify-without-jsonify@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
-json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
- integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==
-
json5@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
@@ -7232,27 +6313,19 @@ json5@^2.2.1:
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c"
integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==
-jsonfile@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
- integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==
- optionalDependencies:
- graceful-fs "^4.1.6"
-
-jsonparse@^1.2.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280"
- integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==
+jsonc-parser@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22"
+ integrity sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==
-jsprim@^1.2.2:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb"
- integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==
+jsonfile@^6.0.1:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"
+ integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==
dependencies:
- assert-plus "1.0.0"
- extsprintf "1.3.0"
- json-schema "0.4.0"
- verror "1.10.0"
+ universalify "^2.0.0"
+ optionalDependencies:
+ graceful-fs "^4.1.6"
"jsx-ast-utils@^2.4.1 || ^3.0.0":
version "3.3.3"
@@ -7281,7 +6354,7 @@ kind-of@^5.0.0:
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
-kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3:
+kind-of@^6.0.0, kind-of@^6.0.2:
version "6.0.3"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
@@ -7291,36 +6364,6 @@ kleur@^3.0.3:
resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
-lcid@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf"
- integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==
- dependencies:
- invert-kv "^2.0.0"
-
-lerna@3.13.4:
- version "3.13.4"
- resolved "https://registry.yarnpkg.com/lerna/-/lerna-3.13.4.tgz#03026c11c5643f341fda42e4fb1882e2df35e6cb"
- integrity sha512-qTp22nlpcgVrJGZuD7oHnFbTk72j2USFimc2Pj4kC0/rXmcU2xPtCiyuxLl8y6/6Lj5g9kwEuvKDZtSXujjX/A==
- dependencies:
- "@lerna/add" "3.13.3"
- "@lerna/bootstrap" "3.13.3"
- "@lerna/changed" "3.13.4"
- "@lerna/clean" "3.13.3"
- "@lerna/cli" "3.13.0"
- "@lerna/create" "3.13.3"
- "@lerna/diff" "3.13.3"
- "@lerna/exec" "3.13.3"
- "@lerna/import" "3.13.4"
- "@lerna/init" "3.13.3"
- "@lerna/link" "3.13.3"
- "@lerna/list" "3.13.3"
- "@lerna/publish" "3.13.4"
- "@lerna/run" "3.13.3"
- "@lerna/version" "3.13.4"
- import-local "^1.0.0"
- npmlog "^4.1.2"
-
leven@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
@@ -7334,30 +6377,13 @@ levn@^0.4.1:
prelude-ls "^1.2.1"
type-check "~0.4.0"
-libnpmaccess@^3.0.1:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-3.0.2.tgz#8b2d72345ba3bef90d3b4f694edd5c0417f58923"
- integrity sha512-01512AK7MqByrI2mfC7h5j8N9V4I7MHJuk9buo8Gv+5QgThpOgpjB7sQBDDkeZqRteFb1QM/6YNdHfG7cDvfAQ==
- dependencies:
- aproba "^2.0.0"
- get-stream "^4.0.0"
- npm-package-arg "^6.1.0"
- npm-registry-fetch "^4.0.0"
-
-libnpmpublish@^1.1.1:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-1.1.3.tgz#e3782796722d79eef1a0a22944c117e0c4ca4280"
- integrity sha512-/3LsYqVc52cHXBmu26+J8Ed7sLs/hgGVFMH1mwYpL7Qaynb9RenpKqIKu0sJ130FB9PMkpMlWjlbtU8A4m7CQw==
+levn@~0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
+ integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==
dependencies:
- aproba "^2.0.0"
- figgy-pudding "^3.5.1"
- get-stream "^4.0.0"
- lodash.clonedeep "^4.5.0"
- normalize-package-data "^2.4.0"
- npm-package-arg "^6.1.0"
- npm-registry-fetch "^4.0.0"
- semver "^5.5.1"
- ssri "^6.0.1"
+ prelude-ls "~1.1.2"
+ type-check "~0.3.2"
lie@3.1.1:
version "3.1.1"
@@ -7371,17 +6397,6 @@ lines-and-columns@^1.1.6:
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
-load-json-file@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
- integrity sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==
- dependencies:
- graceful-fs "^4.1.2"
- parse-json "^2.2.0"
- pify "^2.0.0"
- pinkie-promise "^2.0.0"
- strip-bom "^2.0.0"
-
load-json-file@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b"
@@ -7418,14 +6433,6 @@ localforage@^1.8.1:
dependencies:
lie "3.1.1"
-locate-path@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
- integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==
- dependencies:
- p-locate "^2.0.0"
- path-exists "^3.0.0"
-
locate-path@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
@@ -7448,67 +6455,17 @@ locate-path@^6.0.0:
dependencies:
p-locate "^5.0.0"
-lodash._reinterpolate@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
- integrity sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==
-
-lodash.clonedeep@^4.5.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
- integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==
-
lodash.debounce@^4.0.8:
version "4.0.8"
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
-lodash.get@^4.4.2:
- version "4.4.2"
- resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
- integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==
-
-lodash.ismatch@^4.4.0:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37"
- integrity sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==
-
lodash.merge@^4.6.2:
version "4.6.2"
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
-lodash.set@^4.3.2:
- version "4.3.2"
- resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23"
- integrity sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==
-
-lodash.sortby@^4.7.0:
- version "4.7.0"
- resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
- integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==
-
-lodash.template@^4.0.2:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab"
- integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==
- dependencies:
- lodash._reinterpolate "^3.0.0"
- lodash.templatesettings "^4.0.0"
-
-lodash.templatesettings@^4.0.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33"
- integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==
- dependencies:
- lodash._reinterpolate "^3.0.0"
-
-lodash.uniq@^4.5.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
- integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==
-
-lodash@^4.17.12, lodash@^4.17.15, lodash@^4.17.5, lodash@^4.2.1:
+lodash@^4.7.0:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
@@ -7520,14 +6477,6 @@ loose-envify@^1.4.0:
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"
- integrity sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==
- dependencies:
- currently-unhandled "^0.4.1"
- signal-exit "^3.0.0"
-
lru-cache@^5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
@@ -7547,11 +6496,6 @@ lru_map@^0.3.3:
resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd"
integrity sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==
-macos-release@^2.2.0:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.5.0.tgz#067c2c88b5f3fb3c56a375b2ec93826220fa1ff2"
- integrity sha512-EIgv+QZ9r+814gjJj0Bt5vSLJLzswGmSUbUpbi9AIr/fsN2IWFBl2NucV9PAiek+U1STK468tEkxmVYUtuAN3g==
-
magic-string@0.26.2:
version "0.26.2"
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.2.tgz#5331700e4158cd6befda738bb6b0c7b93c0d4432"
@@ -7566,13 +6510,6 @@ magic-string@^0.25.7:
dependencies:
sourcemap-codec "^1.4.8"
-make-dir@^1.0.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c"
- integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==
- dependencies:
- pify "^3.0.0"
-
make-dir@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
@@ -7593,40 +6530,6 @@ make-error@^1.1.1:
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
-make-fetch-happen@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-4.0.2.tgz#2d156b11696fb32bffbafe1ac1bc085dd6c78a79"
- integrity sha512-YMJrAjHSb/BordlsDEcVcPyTbiJKkzqMf48N8dAJZT9Zjctrkb6Yg4TY9Sq2AwSIQJFn5qBBKVTYt3vP5FMIHA==
- dependencies:
- agentkeepalive "^3.4.1"
- cacache "^11.3.3"
- http-cache-semantics "^3.8.1"
- http-proxy-agent "^2.1.0"
- https-proxy-agent "^2.2.1"
- lru-cache "^5.1.1"
- mississippi "^3.0.0"
- node-fetch-npm "^2.0.2"
- promise-retry "^1.1.1"
- socks-proxy-agent "^4.0.0"
- ssri "^6.0.0"
-
-make-fetch-happen@^5.0.0:
- version "5.0.2"
- resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz#aa8387104f2687edca01c8687ee45013d02d19bd"
- integrity sha512-07JHC0r1ykIoruKO8ifMXu+xEU8qOXDFETylktdug6vJDACnP+HKevOu3PXyNPzFyTSlz8vrBYlBO1JZRe8Cag==
- dependencies:
- agentkeepalive "^3.4.1"
- cacache "^12.0.0"
- http-cache-semantics "^3.8.1"
- http-proxy-agent "^2.1.0"
- https-proxy-agent "^2.2.3"
- lru-cache "^5.1.1"
- mississippi "^3.0.0"
- node-fetch-npm "^2.0.2"
- promise-retry "^1.1.1"
- socks-proxy-agent "^4.0.0"
- ssri "^6.0.0"
-
makeerror@1.0.12:
version "1.0.12"
resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a"
@@ -7634,33 +6537,11 @@ makeerror@1.0.12:
dependencies:
tmpl "1.0.5"
-map-age-cleaner@^0.1.1:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a"
- integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==
- dependencies:
- p-defer "^1.0.0"
-
map-cache@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==
-map-obj@^1.0.0, map-obj@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
- integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==
-
-map-obj@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9"
- integrity sha512-TzQSV2DiMYgoF5RycneKVUzIa9bQsj/B3tTgsE3dOGqlzHnGIDaC7XBE7grnA+8kZPnfqSGFe95VHc2oc0VFUQ==
-
-map-obj@^4.0.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a"
- integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==
-
map-visit@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
@@ -7682,15 +6563,6 @@ media-typer@0.3.0:
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
-mem@^4.0.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178"
- integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==
- dependencies:
- map-age-cleaner "^0.1.1"
- mimic-fn "^2.0.0"
- p-is-promise "^2.0.0"
-
memory-fs@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
@@ -7712,54 +6584,6 @@ memorystream@^0.3.1:
resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2"
integrity sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==
-meow@^3.3.0:
- version "3.7.0"
- resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
- integrity sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA==
- dependencies:
- camelcase-keys "^2.0.0"
- decamelize "^1.1.2"
- loud-rejection "^1.0.0"
- map-obj "^1.0.1"
- minimist "^1.1.3"
- normalize-package-data "^2.3.4"
- object-assign "^4.0.1"
- read-pkg-up "^1.0.1"
- redent "^1.0.0"
- trim-newlines "^1.0.0"
-
-meow@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/meow/-/meow-4.0.1.tgz#d48598f6f4b1472f35bf6317a95945ace347f975"
- integrity sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==
- dependencies:
- camelcase-keys "^4.0.0"
- decamelize-keys "^1.0.0"
- loud-rejection "^1.0.0"
- minimist "^1.1.3"
- minimist-options "^3.0.1"
- normalize-package-data "^2.3.4"
- read-pkg-up "^3.0.0"
- redent "^2.0.0"
- trim-newlines "^2.0.0"
-
-meow@^8.0.0:
- version "8.1.2"
- resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897"
- integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==
- dependencies:
- "@types/minimist" "^1.2.0"
- camelcase-keys "^6.2.2"
- decamelize-keys "^1.1.0"
- hard-rejection "^2.1.0"
- minimist-options "4.1.0"
- normalize-package-data "^3.0.0"
- read-pkg-up "^7.0.1"
- redent "^3.0.0"
- trim-newlines "^3.0.0"
- type-fest "^0.18.0"
- yargs-parser "^20.2.3"
-
merge-descriptors@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
@@ -7770,7 +6594,7 @@ merge-stream@^2.0.0:
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
-merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1:
+merge2@^1.3.0, merge2@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
@@ -7820,7 +6644,7 @@ mime-db@1.52.0:
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
-mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34:
+mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.24, mime-types@~2.1.34:
version "2.1.35"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
@@ -7832,21 +6656,11 @@ mime@1.6.0:
resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
-mimic-fn@^1.0.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
- integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==
-
-mimic-fn@^2.0.0, mimic-fn@^2.1.0:
+mimic-fn@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
-min-indent@^1.0.0:
- version "1.0.1"
- 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:
version "1.0.1"
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
@@ -7857,50 +6671,32 @@ minimalistic-crypto-utils@^1.0.1:
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==
-minimatch@^3.0.0, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2:
+minimatch@3.0.5:
+ version "3.0.5"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.5.tgz#4da8f1290ee0f0f8e83d60ca69f8f134068604a3"
+ integrity sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==
+ dependencies:
+ brace-expansion "^1.1.7"
+
+minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
dependencies:
brace-expansion "^1.1.7"
-minimist-options@4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619"
- integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==
- dependencies:
- arrify "^1.0.1"
- is-plain-obj "^1.1.0"
- kind-of "^6.0.3"
-
-minimist-options@^3.0.1:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954"
- integrity sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==
+minimatch@^5.0.1:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7"
+ integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==
dependencies:
- arrify "^1.0.1"
- is-plain-obj "^1.1.0"
+ brace-expansion "^2.0.1"
-minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6:
+minimist@^1.2.0, minimist@^1.2.6:
version "1.2.6"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
-minipass@^2.3.5, minipass@^2.6.0, minipass@^2.9.0:
- version "2.9.0"
- resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6"
- integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==
- dependencies:
- safe-buffer "^5.1.2"
- yallist "^3.0.0"
-
-minizlib@^1.3.3:
- version "1.3.3"
- resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d"
- integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==
- dependencies:
- minipass "^2.9.0"
-
mississippi@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022"
@@ -7925,18 +6721,13 @@ mixin-deep@^1.2.0:
for-in "^1.0.2"
is-extendable "^1.0.1"
-mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.0:
+mkdirp@^0.5.1, mkdirp@^0.5.3:
version "0.5.6"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6"
integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==
dependencies:
minimist "^1.2.6"
-modify-values@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022"
- integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==
-
move-concurrently@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
@@ -7964,21 +6755,11 @@ ms@2.1.2:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
-ms@2.1.3, ms@^2.0.0, ms@^2.1.1:
+ms@2.1.3:
version "2.1.3"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
-multimatch@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b"
- integrity sha512-0mzK8ymiWdehTBiJh0vClAzGyQbdtyWqzSVx//EK4N/D+599RFlGfTAsKw2zMSABtDG9C6Ul2+t8f2Lbdjf5mA==
- dependencies:
- array-differ "^1.0.0"
- array-union "^1.0.1"
- arrify "^1.0.0"
- minimatch "^3.0.0"
-
multimatch@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-4.0.0.tgz#8c3c0f6e3e8449ada0af3dd29efb491a375191b3"
@@ -7990,16 +6771,6 @@ multimatch@^4.0.0:
arrify "^2.0.1"
minimatch "^3.0.4"
-mute-stream@0.0.7:
- version "0.0.7"
- resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
- integrity sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==
-
-mute-stream@~0.0.4:
- version "0.0.8"
- resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
- integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
-
nan@^2.12.1:
version "2.16.0"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.16.0.tgz#664f43e45460fb98faf00edca0bb0d7b8dce7916"
@@ -8037,7 +6808,7 @@ negotiator@0.6.3:
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
-neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1, neo-async@^2.6.2:
+neo-async@^2.5.0, neo-async@^2.6.1, 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==
@@ -8047,38 +6818,15 @@ nice-try@^1.0.4:
resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
-node-fetch-npm@^2.0.2:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz#6507d0e17a9ec0be3bec516958a497cec54bf5a4"
- integrity sha512-iOuIQDWDyjhv9qSDrj9aq/klt6F9z1p2otB3AV7v3zBDcL/x+OfGsvGQZZCcMZbUf4Ujw1xGNQkjvGnVT22cKg==
- dependencies:
- encoding "^0.1.11"
- json-parse-better-errors "^1.0.0"
- safe-buffer "^5.1.1"
-
-node-fetch@^2.6.7:
- version "2.6.7"
- resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad"
- integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==
- dependencies:
- whatwg-url "^5.0.0"
+node-addon-api@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161"
+ integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==
-node-gyp@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-4.0.0.tgz#972654af4e5dd0cd2a19081b4b46fe0442ba6f45"
- integrity sha512-2XiryJ8sICNo6ej8d0idXDEMKfVfFK7kekGCtJAuelGsYHQxhj13KTf95swTCN2dZ/4lTfZ84Fu31jqJEEgjWA==
- dependencies:
- glob "^7.0.3"
- graceful-fs "^4.1.2"
- mkdirp "^0.5.0"
- nopt "2 || 3"
- npmlog "0 || 1 || 2 || 3 || 4"
- osenv "0"
- request "^2.87.0"
- rimraf "2"
- semver "~5.3.0"
- tar "^4.4.8"
- which "1"
+node-gyp-build@^4.3.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.5.0.tgz#7a64eefa0b21112f89f58379da128ac177f20e40"
+ integrity sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==
node-int64@^0.4.0:
version "0.4.0"
@@ -8119,14 +6867,7 @@ node-releases@^2.0.6:
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503"
integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==
-"nopt@2 || 3":
- version "3.0.6"
- resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
- integrity sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==
- dependencies:
- abbrev "1"
-
-normalize-package-data@^2.0.0, normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5, normalize-package-data@^2.4.0, normalize-package-data@^2.5.0:
+normalize-package-data@^2.3.2:
version "2.5.0"
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
@@ -8136,16 +6877,6 @@ normalize-package-data@^2.0.0, normalize-package-data@^2.3.0, normalize-package-
semver "2 || 3 || 4 || 5"
validate-npm-package-license "^3.0.1"
-normalize-package-data@^3.0.0:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e"
- integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==
- dependencies:
- hosted-git-info "^4.0.1"
- is-core-module "^2.5.0"
- semver "^7.3.4"
- validate-npm-package-license "^3.0.1"
-
normalize-path@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
@@ -8158,90 +6889,6 @@ normalize-path@^3.0.0, normalize-path@~3.0.0:
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
-normalize-url@^6.1.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a"
- integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==
-
-npm-bundled@^1.0.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1"
- integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==
- dependencies:
- npm-normalize-package-bin "^1.0.1"
-
-npm-lifecycle@^2.1.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/npm-lifecycle/-/npm-lifecycle-2.1.1.tgz#0027c09646f0fd346c5c93377bdaba59c6748fdf"
- integrity sha512-+Vg6I60Z75V/09pdcH5iUo/99Q/vop35PaI99elvxk56azSVVsdsSsS/sXqKDNwbRRNN1qSxkcO45ZOu0yOWew==
- dependencies:
- byline "^5.0.0"
- graceful-fs "^4.1.15"
- node-gyp "^4.0.0"
- resolve-from "^4.0.0"
- slide "^1.1.6"
- uid-number "0.0.6"
- umask "^1.1.0"
- which "^1.3.1"
-
-npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2"
- integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==
-
-"npm-package-arg@^4.0.0 || ^5.0.0 || ^6.0.0", npm-package-arg@^6.0.0, npm-package-arg@^6.1.0:
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.1.1.tgz#02168cb0a49a2b75bf988a28698de7b529df5cb7"
- integrity sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==
- dependencies:
- hosted-git-info "^2.7.1"
- osenv "^0.1.5"
- semver "^5.6.0"
- validate-npm-package-name "^3.0.0"
-
-npm-packlist@^1.1.12, npm-packlist@^1.4.1:
- version "1.4.8"
- resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e"
- integrity sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==
- dependencies:
- ignore-walk "^3.0.1"
- npm-bundled "^1.0.1"
- npm-normalize-package-bin "^1.0.1"
-
-npm-pick-manifest@^3.0.0:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz#f4d9e5fd4be2153e5f4e5f9b7be8dc419a99abb7"
- integrity sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==
- dependencies:
- figgy-pudding "^3.5.1"
- npm-package-arg "^6.0.0"
- semver "^5.4.1"
-
-npm-registry-fetch@^3.9.0:
- version "3.9.1"
- resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-3.9.1.tgz#00ff6e4e35d3f75a172b332440b53e93f4cb67de"
- integrity sha512-VQCEZlydXw4AwLROAXWUR7QDfe2Y8Id/vpAgp6TI1/H78a4SiQ1kQrKZALm5/zxM5n4HIi+aYb+idUAV/RuY0Q==
- dependencies:
- JSONStream "^1.3.4"
- bluebird "^3.5.1"
- figgy-pudding "^3.4.1"
- lru-cache "^5.1.1"
- make-fetch-happen "^4.0.2"
- npm-package-arg "^6.1.0"
-
-npm-registry-fetch@^4.0.0:
- version "4.0.7"
- resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-4.0.7.tgz#57951bf6541e0246b34c9f9a38ab73607c9449d7"
- integrity sha512-cny9v0+Mq6Tjz+e0erFAB+RYJ/AVGzkjnISiobqP8OWj9c9FLoZZu8/SPSKJWE17F1tk4018wfjV+ZbIbqC7fQ==
- dependencies:
- JSONStream "^1.3.4"
- bluebird "^3.5.1"
- figgy-pudding "^3.4.1"
- lru-cache "^5.1.1"
- make-fetch-happen "^5.0.0"
- npm-package-arg "^6.1.0"
- safe-buffer "^5.2.0"
-
npm-run-all@4.1.5, npm-run-all@^4.1.5:
version "4.1.5"
resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba"
@@ -8257,13 +6904,6 @@ npm-run-all@4.1.5, npm-run-all@^4.1.5:
shell-quote "^1.6.1"
string.prototype.padend "^3.0.0"
-npm-run-path@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
- integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==
- dependencies:
- path-key "^2.0.0"
-
npm-run-path@^4.0.0, npm-run-path@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
@@ -8271,27 +6911,48 @@ npm-run-path@^4.0.0, npm-run-path@^4.0.1:
dependencies:
path-key "^3.0.0"
-"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.1.2:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
- integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
- dependencies:
- are-we-there-yet "~1.1.2"
- console-control-strings "~1.1.0"
- gauge "~2.7.3"
- set-blocking "~2.0.0"
-
-number-is-nan@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
- integrity sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==
-
-oauth-sign@~0.9.0:
- version "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:
+nwsapi@^2.2.0:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.1.tgz#10a9f268fbf4c461249ebcfe38e359aa36e2577c"
+ integrity sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg==
+
+nx@14.5.10:
+ version "14.5.10"
+ resolved "https://registry.yarnpkg.com/nx/-/nx-14.5.10.tgz#cc950bcc2d867f0aa4e86a508842a9299650fbb9"
+ integrity sha512-dqiV+zY32k98mfKFTgiQyYd9HYZmB1zoJj6gYniEuqzs6CKp8ZSpeRDaVQRxR6wEMvW9MSTA9kBg8sJ78W/NZg==
+ dependencies:
+ "@nrwl/cli" "14.5.10"
+ "@nrwl/tao" "14.5.10"
+ "@parcel/watcher" "2.0.4"
+ chalk "4.1.0"
+ chokidar "^3.5.1"
+ cli-cursor "3.1.0"
+ cli-spinners "2.6.1"
+ cliui "^7.0.2"
+ dotenv "~10.0.0"
+ enquirer "~2.3.6"
+ fast-glob "3.2.7"
+ figures "3.2.0"
+ flat "^5.0.2"
+ fs-extra "^10.1.0"
+ glob "7.1.4"
+ ignore "^5.0.4"
+ js-yaml "4.1.0"
+ jsonc-parser "3.0.0"
+ minimatch "3.0.5"
+ npm-run-path "^4.0.1"
+ open "^8.4.0"
+ semver "7.3.4"
+ string-width "^4.2.3"
+ tar-stream "~2.2.0"
+ tmp "~0.2.1"
+ tsconfig-paths "^3.9.0"
+ tslib "^2.3.0"
+ v8-compile-cache "2.3.0"
+ yargs "^17.4.0"
+ yargs-parser "21.0.1"
+
+object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
@@ -8350,16 +7011,6 @@ object.fromentries@^2.0.5:
define-properties "^1.1.3"
es-abstract "^1.19.1"
-object.getownpropertydescriptors@^2.0.3:
- version "2.1.4"
- resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz#7965e6437a57278b587383831a9b829455a4bc37"
- integrity sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ==
- dependencies:
- array.prototype.reduce "^1.0.4"
- call-bind "^1.0.2"
- define-properties "^1.1.4"
- es-abstract "^1.20.1"
-
object.hasown@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.1.tgz#ad1eecc60d03f49460600430d97f23882cf592a3"
@@ -8384,11 +7035,6 @@ object.values@^1.1.5:
define-properties "^1.1.3"
es-abstract "^1.19.1"
-octokit-pagination-methods@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz#cf472edc9d551055f9ef73f6e42b4dbb4c80bea4"
- integrity sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ==
-
on-finished@2.4.1:
version "2.4.1"
resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f"
@@ -8403,13 +7049,6 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0:
dependencies:
wrappy "1"
-onetime@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
- integrity sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==
- dependencies:
- mimic-fn "^1.0.0"
-
onetime@^5.1.0, onetime@^5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
@@ -8417,6 +7056,27 @@ onetime@^5.1.0, onetime@^5.1.2:
dependencies:
mimic-fn "^2.1.0"
+open@^8.4.0:
+ version "8.4.0"
+ resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8"
+ integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==
+ dependencies:
+ define-lazy-prop "^2.0.0"
+ is-docker "^2.1.1"
+ is-wsl "^2.2.0"
+
+optionator@^0.8.1:
+ version "0.8.3"
+ resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495"
+ integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==
+ dependencies:
+ deep-is "~0.1.3"
+ fast-levenshtein "~2.0.6"
+ levn "~0.3.0"
+ prelude-ls "~1.1.2"
+ type-check "~0.3.2"
+ word-wrap "~1.2.3"
+
optionator@^0.9.1:
version "0.9.1"
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
@@ -8434,63 +7094,6 @@ os-browserify@^0.3.0:
resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==
-os-homedir@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
- integrity sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==
-
-os-locale@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a"
- integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==
- dependencies:
- execa "^1.0.0"
- lcid "^2.0.0"
- mem "^4.0.0"
-
-os-name@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/os-name/-/os-name-3.1.0.tgz#dec19d966296e1cd62d701a5a66ee1ddeae70801"
- integrity sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==
- dependencies:
- macos-release "^2.2.0"
- windows-release "^3.1.0"
-
-os-tmpdir@^1.0.0, os-tmpdir@~1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
- integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==
-
-osenv@0, osenv@^0.1.5:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
- integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==
- dependencies:
- os-homedir "^1.0.0"
- os-tmpdir "^1.0.0"
-
-p-defer@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c"
- integrity sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==
-
-p-finally@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
- integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==
-
-p-is-promise@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e"
- integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==
-
-p-limit@^1.1.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
- integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==
- dependencies:
- p-try "^1.0.0"
-
p-limit@^2.0.0, p-limit@^2.2.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
@@ -8505,13 +7108,6 @@ p-limit@^3.0.2, p-limit@^3.1.0:
dependencies:
yocto-queue "^0.1.0"
-p-locate@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
- integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==
- dependencies:
- p-limit "^1.1.0"
-
p-locate@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
@@ -8533,81 +7129,11 @@ p-locate@^5.0.0:
dependencies:
p-limit "^3.0.2"
-p-map-series@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/p-map-series/-/p-map-series-1.0.0.tgz#bf98fe575705658a9e1351befb85ae4c1f07bdca"
- integrity sha512-4k9LlvY6Bo/1FcIdV33wqZQES0Py+iKISU9Uc8p8AjWoZPnFKMpVIVD3s0EYn4jzLh1I+WeUZkJ0Yoa4Qfw3Kg==
- dependencies:
- p-reduce "^1.0.0"
-
-p-map@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b"
- integrity sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==
-
-p-pipe@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/p-pipe/-/p-pipe-1.2.0.tgz#4b1a11399a11520a67790ee5a0c1d5881d6befe9"
- integrity sha512-IA8SqjIGA8l9qOksXJvsvkeQ+VGb0TAzNCzvKvz9wt5wWLqfWbV6fXy43gpR2L4Te8sOq3S+Ql9biAaMKPdbtw==
-
-p-reduce@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa"
- integrity sha512-3Tx1T3oM1xO/Y8Gj0sWyE78EIJZ+t+aEmXUdvQgvGmSMri7aPTHoovbXEreWKkL5j21Er60XAWLTzKbAKYOujQ==
-
-p-try@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
- integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==
-
p-try@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
-p-waterfall@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/p-waterfall/-/p-waterfall-1.0.0.tgz#7ed94b3ceb3332782353af6aae11aa9fc235bb00"
- integrity sha512-KeXddIp6jBT8qzyxfQGOGzNYc/7ftxKtRc5Uggre02yvbZrSBHE2M2C842/WizMBFD4s0Ngwz3QFOit2A+Ezrg==
- dependencies:
- p-reduce "^1.0.0"
-
-pacote@^9.5.0:
- version "9.5.12"
- resolved "https://registry.yarnpkg.com/pacote/-/pacote-9.5.12.tgz#1e11dd7a8d736bcc36b375a9804d41bb0377bf66"
- integrity sha512-BUIj/4kKbwWg4RtnBncXPJd15piFSVNpTzY0rysSr3VnMowTYgkGKcaHrbReepAkjTr8lH2CVWRi58Spg2CicQ==
- dependencies:
- bluebird "^3.5.3"
- cacache "^12.0.2"
- chownr "^1.1.2"
- figgy-pudding "^3.5.1"
- get-stream "^4.1.0"
- glob "^7.1.3"
- infer-owner "^1.0.4"
- lru-cache "^5.1.1"
- make-fetch-happen "^5.0.0"
- minimatch "^3.0.4"
- minipass "^2.3.5"
- mississippi "^3.0.0"
- mkdirp "^0.5.1"
- normalize-package-data "^2.4.0"
- npm-normalize-package-bin "^1.0.0"
- npm-package-arg "^6.1.0"
- npm-packlist "^1.1.12"
- npm-pick-manifest "^3.0.0"
- npm-registry-fetch "^4.0.0"
- osenv "^0.1.5"
- promise-inflight "^1.0.1"
- promise-retry "^1.1.1"
- protoduck "^5.0.1"
- rimraf "^2.6.2"
- safe-buffer "^5.1.2"
- semver "^5.6.0"
- ssri "^6.0.1"
- tar "^4.4.10"
- unique-filename "^1.1.1"
- which "^1.3.1"
-
pako@~1.0.5:
version "1.0.11"
resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
@@ -8640,18 +7166,6 @@ parse-asn1@^5.0.0, parse-asn1@^5.1.5:
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"
- integrity sha512-bSWyzBKqcSL4RrncTpGsEKoJ7H8a4L3++ifTAbTFeMHyq2wRV+42DGmQcHIrJIvdcacjIOxEuKH/w4tthF17gg==
-
-parse-json@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
- integrity sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==
- dependencies:
- error-ex "^1.2.0"
-
parse-json@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
@@ -8660,7 +7174,7 @@ parse-json@^4.0.0:
error-ex "^1.3.1"
json-parse-better-errors "^1.0.1"
-parse-json@^5.0.0, parse-json@^5.2.0:
+parse-json@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
@@ -8670,25 +7184,10 @@ parse-json@^5.0.0, parse-json@^5.2.0:
json-parse-even-better-errors "^2.3.0"
lines-and-columns "^1.1.6"
-parse-path@^4.0.0:
- version "4.0.4"
- resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-4.0.4.tgz#4bf424e6b743fb080831f03b536af9fc43f0ffea"
- integrity sha512-Z2lWUis7jlmXC1jeOG9giRO2+FsuyNipeQ43HAjqAZjwSe3SEf+q/84FGPHoso3kyntbxa4c4i77t3m6fGf8cw==
- dependencies:
- is-ssh "^1.3.0"
- protocols "^1.4.0"
- qs "^6.9.4"
- query-string "^6.13.8"
-
-parse-url@^6.0.0:
- version "6.0.5"
- resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-6.0.5.tgz#4acab8982cef1846a0f8675fa686cef24b2f6f9b"
- integrity sha512-e35AeLTSIlkw/5GFq70IN7po8fmDUjpDPY1rIK+VubRfsUvBonjQ+PBZG+vWMACnQSmNlvl524IucoDmcioMxA==
- dependencies:
- is-ssh "^1.3.0"
- normalize-url "^6.1.0"
- parse-path "^4.0.0"
- protocols "^1.4.0"
+parse5@6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b"
+ integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==
parseurl@~1.3.3:
version "1.3.3"
@@ -8710,13 +7209,6 @@ path-dirname@^1.0.0:
resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==
-path-exists@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
- integrity sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==
- dependencies:
- pinkie-promise "^2.0.0"
-
path-exists@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
@@ -8732,7 +7224,7 @@ path-is-absolute@^1.0.0:
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
-path-key@^2.0.0, path-key@^2.0.1:
+path-key@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==
@@ -8752,15 +7244,6 @@ path-to-regexp@0.1.7:
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==
-path-type@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
- integrity sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==
- dependencies:
- graceful-fs "^4.1.2"
- pify "^2.0.0"
- pinkie-promise "^2.0.0"
-
path-type@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f"
@@ -8784,11 +7267,6 @@ pbkdf2@^3.0.3:
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"
- integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==
-
picocolors@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
@@ -8804,11 +7282,6 @@ pidtree@^0.3.0:
resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a"
integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==
-pify@^2.0.0, pify@^2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
- integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==
-
pify@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
@@ -8819,30 +7292,11 @@ pify@^4.0.1:
resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
-pinkie-promise@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
- integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==
- dependencies:
- pinkie "^2.0.0"
-
-pinkie@^2.0.0:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
- integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==
-
pirates@^4.0.4:
version "4.0.5"
resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b"
integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==
-pkg-dir@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b"
- integrity sha512-ojakdnUgL5pzJYWw2AIDEupaQCX5OPbM688ZevubICjdIX01PRSYKqm33fJoCOJBRseYCTUlQRnBNX+Pchaejw==
- dependencies:
- find-up "^2.1.0"
-
pkg-dir@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3"
@@ -8876,11 +7330,25 @@ prelude-ls@^1.2.1:
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
+prelude-ls@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
+ integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==
+
prettier@^2.7.1:
version "2.7.1"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64"
integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==
+pretty-format@^27.5.1:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e"
+ integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==
+ dependencies:
+ ansi-regex "^5.0.1"
+ ansi-styles "^5.0.0"
+ react-is "^17.0.1"
+
pretty-format@^28.0.0, pretty-format@^28.1.3:
version "28.1.3"
resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-28.1.3.tgz#c9fba8cedf99ce50963a11b27d982a9ae90970d5"
@@ -8918,14 +7386,6 @@ promise-inflight@^1.0.1:
resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==
-promise-retry@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-1.1.1.tgz#6739e968e3051da20ce6497fb2b50f6911df3d6d"
- integrity sha512-StEy2osPr28o17bIW776GtwO6+Q+M9zPiZkYfosciUUMYqjhU/ffwRAH0zN2+uvGyUsn8/YICIHRzLbPacpZGw==
- dependencies:
- err-code "^1.0.0"
- retry "^0.10.0"
-
prompts@^2.0.1:
version "2.4.2"
resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069"
@@ -8934,13 +7394,6 @@ prompts@^2.0.1:
kleur "^3.0.3"
sisteransi "^1.0.5"
-promzard@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee"
- integrity sha512-JZeYqd7UAcHCwI+sTOeUDYkvEU+1bQ7iE0UT1MgB/tERkAPkesW46MrpIySzODi+owTjZtiF8Ay5j9m60KmMBw==
- dependencies:
- read "1"
-
prop-types@^15.8.1:
version "15.8.1"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
@@ -8950,28 +7403,6 @@ prop-types@^15.8.1:
object-assign "^4.1.1"
react-is "^16.13.1"
-proto-list@~1.2.1:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
- integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==
-
-protocols@^1.4.0:
- version "1.4.8"
- resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.8.tgz#48eea2d8f58d9644a4a32caae5d5db290a075ce8"
- integrity sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==
-
-protocols@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/protocols/-/protocols-2.0.1.tgz#8f155da3fc0f32644e83c5782c8e8212ccf70a86"
- integrity sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==
-
-protoduck@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/protoduck/-/protoduck-5.0.1.tgz#03c3659ca18007b69a50fd82a7ebcc516261151f"
- integrity sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg==
- dependencies:
- genfun "^5.0.0"
-
proxy-addr@~2.0.7:
version "2.0.7"
resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
@@ -8985,7 +7416,7 @@ prr@~1.0.1:
resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==
-psl@^1.1.28:
+psl@^1.1.33:
version "1.9.0"
resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7"
integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==
@@ -9042,11 +7473,6 @@ punycode@^2.1.0, punycode@^2.1.1:
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
-q@^1.5.1:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
- integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==
-
qs@6.10.3:
version "6.10.3"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e"
@@ -9054,28 +7480,6 @@ qs@6.10.3:
dependencies:
side-channel "^1.0.4"
-qs@^6.9.4:
- version "6.11.0"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a"
- integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==
- dependencies:
- side-channel "^1.0.4"
-
-qs@~6.5.2:
- version "6.5.3"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad"
- integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==
-
-query-string@^6.13.8:
- version "6.14.1"
- resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.14.1.tgz#7ac2dca46da7f309449ba0f86b1fd28255b0c86a"
- integrity sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==
- dependencies:
- decode-uri-component "^0.2.0"
- filter-obj "^1.1.0"
- split-on-first "^1.0.0"
- strict-uri-encode "^2.0.0"
-
querystring-es3@^0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
@@ -9086,21 +7490,16 @@ querystring@0.2.0:
resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==
+querystringify@^2.1.1:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6"
+ integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==
+
queue-microtask@^1.2.2:
version "1.2.3"
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
-quick-lru@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8"
- integrity sha512-tRS7sTgyxMXtLum8L65daJnHUhfDUgboRdcWW2bR9vBfrj2+O5HSMbQOJfJJjIVSPFqbBCF37FpwWXGitDc5tA==
-
-quick-lru@^4.0.1:
- version "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:
version "2.1.0"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
@@ -9136,70 +7535,15 @@ react-is@^16.13.1:
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
-react-is@^18.0.0:
- version "18.2.0"
- resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b"
- integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
-
-read-cmd-shim@^1.0.1:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.5.tgz#87e43eba50098ba5a32d0ceb583ab8e43b961c16"
- integrity sha512-v5yCqQ/7okKoZZkBQUAfTsQ3sVJtXdNfbPnI5cceppoxEVLYA3k+VtV2omkeo8MS94JCy4fSiUwlRBAwCVRPUA==
- dependencies:
- graceful-fs "^4.1.2"
-
-"read-package-json@1 || 2", read-package-json@^2.0.0, read-package-json@^2.0.13:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.1.2.tgz#6992b2b66c7177259feb8eaac73c3acd28b9222a"
- integrity sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA==
- dependencies:
- glob "^7.1.1"
- json-parse-even-better-errors "^2.3.0"
- normalize-package-data "^2.0.0"
- npm-normalize-package-bin "^1.0.0"
-
-read-package-tree@^5.1.6:
- version "5.3.1"
- resolved "https://registry.yarnpkg.com/read-package-tree/-/read-package-tree-5.3.1.tgz#a32cb64c7f31eb8a6f31ef06f9cedf74068fe636"
- integrity sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==
- dependencies:
- read-package-json "^2.0.0"
- readdir-scoped-modules "^1.0.0"
- util-promisify "^2.1.0"
-
-read-pkg-up@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
- integrity sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==
- dependencies:
- find-up "^1.0.0"
- read-pkg "^1.0.0"
-
-read-pkg-up@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07"
- integrity sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==
- dependencies:
- find-up "^2.0.0"
- read-pkg "^3.0.0"
-
-read-pkg-up@^7.0.1:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507"
- integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==
- dependencies:
- find-up "^4.1.0"
- read-pkg "^5.2.0"
- type-fest "^0.8.1"
+react-is@^17.0.1:
+ version "17.0.2"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
+ integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
-read-pkg@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
- integrity sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==
- dependencies:
- load-json-file "^1.0.0"
- normalize-package-data "^2.3.2"
- path-type "^1.0.0"
+react-is@^18.0.0:
+ version "18.2.0"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b"
+ integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
read-pkg@^3.0.0:
version "3.0.0"
@@ -9210,24 +7554,7 @@ read-pkg@^3.0.0:
normalize-package-data "^2.3.2"
path-type "^3.0.0"
-read-pkg@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc"
- integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==
- dependencies:
- "@types/normalize-package-data" "^2.4.0"
- normalize-package-data "^2.5.0"
- parse-json "^5.0.0"
- type-fest "^0.6.0"
-
-read@1, read@~1.0.1:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4"
- integrity sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==
- 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.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.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, 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==
@@ -9240,7 +7567,7 @@ read@1, read@~1.0.1:
string_decoder "~1.1.1"
util-deprecate "~1.0.1"
-"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.6.0:
+readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0:
version "3.6.0"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
@@ -9249,16 +7576,6 @@ read@1, read@~1.0.1:
string_decoder "^1.1.1"
util-deprecate "^1.0.1"
-readdir-scoped-modules@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309"
- integrity sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==
- dependencies:
- debuglog "^1.0.1"
- dezalgo "^1.0.0"
- graceful-fs "^4.1.2"
- once "^1.3.0"
-
readdirp@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525"
@@ -9275,30 +7592,6 @@ readdirp@~3.6.0:
dependencies:
picomatch "^2.2.1"
-redent@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
- integrity sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g==
- dependencies:
- indent-string "^2.1.0"
- strip-indent "^1.0.1"
-
-redent@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa"
- integrity sha512-XNwrTx77JQCEMXTeb8movBKuK75MgH0RZkujNuDKCezemx/voapl9i2gCSi8WWm8+ox5ycJi1gxF22fR7c0Ciw==
- dependencies:
- indent-string "^3.0.0"
- strip-indent "^2.0.0"
-
-redent@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f"
- integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==
- dependencies:
- indent-string "^4.0.0"
- strip-indent "^3.0.0"
-
regenerate-unicode-properties@^10.0.1:
version "10.0.1"
resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz#7f442732aa7934a3740c779bb9b3340dccc1fb56"
@@ -9384,61 +7677,16 @@ repeat-string@^1.6.1:
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==
-repeating@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
- integrity sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==
- dependencies:
- is-finite "^1.0.0"
-
-request@^2.87.0:
- version "2.88.2"
- resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
- integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
- dependencies:
- aws-sign2 "~0.7.0"
- aws4 "^1.8.0"
- caseless "~0.12.0"
- combined-stream "~1.0.6"
- extend "~3.0.2"
- forever-agent "~0.6.1"
- form-data "~2.3.2"
- har-validator "~5.1.3"
- http-signature "~1.2.0"
- is-typedarray "~1.0.0"
- isstream "~0.1.2"
- json-stringify-safe "~5.0.1"
- mime-types "~2.1.19"
- oauth-sign "~0.9.0"
- performance-now "^2.1.0"
- qs "~6.5.2"
- safe-buffer "^5.1.2"
- tough-cookie "~2.5.0"
- tunnel-agent "^0.6.0"
- uuid "^3.3.2"
-
require-directory@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
-require-main-filename@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
- integrity sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==
-
requires-port@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==
-resolve-cwd@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a"
- integrity sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg==
- dependencies:
- resolve-from "^3.0.0"
-
resolve-cwd@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d"
@@ -9446,11 +7694,6 @@ resolve-cwd@^3.0.0:
dependencies:
resolve-from "^5.0.0"
-resolve-from@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
- integrity sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==
-
resolve-from@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
@@ -9466,7 +7709,7 @@ resolve-url@^0.2.1:
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==
-resolve.exports@^1.1.0:
+resolve.exports@1.1.0, resolve.exports@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9"
integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==
@@ -9489,12 +7732,12 @@ resolve@^2.0.0-next.3:
path-parse "^1.0.7"
supports-preserve-symlinks-flag "^1.0.0"
-restore-cursor@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
- integrity sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==
+restore-cursor@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
+ integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==
dependencies:
- onetime "^2.0.0"
+ onetime "^5.1.0"
signal-exit "^3.0.2"
ret@~0.1.10:
@@ -9502,17 +7745,12 @@ ret@~0.1.10:
resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
-retry@^0.10.0:
- version "0.10.1"
- resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4"
- integrity sha512-ZXUSQYTHdl3uS7IuCehYfMzKyIDBNoAuUblvy5oGO5UJSUTmStUUVPXbA9Qxd173Bgre53yCQczQuHgRWAdvJQ==
-
reusify@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
-rimraf@2, rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3:
+rimraf@^2.5.4, rimraf@^2.6.3:
version "2.7.1"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
@@ -9555,11 +7793,6 @@ rollup@^2.75.6:
optionalDependencies:
fsevents "~2.3.2"
-run-async@^2.2.0:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
- integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==
-
run-parallel@^1.1.9:
version "1.2.0"
resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
@@ -9574,14 +7807,14 @@ run-queue@^1.0.0, run-queue@^1.0.3:
dependencies:
aproba "^1.1.1"
-rxjs@^6.4.0:
+rxjs@^6.5.4:
version "6.6.7"
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9"
integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==
dependencies:
tslib "^1.9.0"
-safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0:
+safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0:
version "5.2.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
@@ -9598,11 +7831,18 @@ safe-regex@^1.1.0:
dependencies:
ret "~0.1.10"
-"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
+"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.1.0:
version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
+saxes@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d"
+ integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==
+ dependencies:
+ xmlchars "^2.2.0"
+
schema-utils@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770"
@@ -9621,7 +7861,7 @@ schema-utils@^3.1.0, schema-utils@^3.1.1:
ajv "^6.12.5"
ajv-keywords "^3.5.2"
-"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0:
+"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0:
version "5.7.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
@@ -9631,23 +7871,25 @@ semver@7.0.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
+semver@7.3.4:
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97"
+ integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==
+ dependencies:
+ lru-cache "^6.0.0"
+
semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0:
version "6.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
-semver@^7.3.4, semver@^7.3.5, semver@^7.3.7:
+semver@^7.3.2, semver@^7.3.5, semver@^7.3.7:
version "7.3.7"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f"
integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==
dependencies:
lru-cache "^6.0.0"
-semver@~5.3.0:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
- integrity sha512-mfmm3/H9+67MCVix1h+IXTpDwL6710LyHuk7+cWC9T1mE0qz4iHhh6r4hU2wrIT9iTsAAC2XQRvfblL028cpLw==
-
send@0.18.0:
version "0.18.0"
resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be"
@@ -9691,11 +7933,6 @@ serve-static@1.15.0:
parseurl "~1.3.3"
send "0.18.0"
-set-blocking@^2.0.0, set-blocking@~2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
- integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==
-
set-value@^2.0.0, set-value@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b"
@@ -9762,7 +7999,7 @@ side-channel@^1.0.4:
get-intrinsic "^1.0.2"
object-inspect "^1.9.0"
-signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7:
+signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7:
version "3.0.7"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
@@ -9772,26 +8009,11 @@ sisteransi@^1.0.5:
resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed"
integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==
-slash@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
- integrity sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==
-
slash@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
-slide@^1.1.6:
- version "1.1.6"
- resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707"
- integrity sha512-NwrtjCg+lZoqhFU8fOwl4ay2ei8PaqCBOUV3/ektPY9trO1yQ1oXEfmHAhKArUVUr/hOHvy5f6AdP17dCM0zMw==
-
-smart-buffer@^4.1.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae"
- integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==
-
snapdragon-node@^2.0.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
@@ -9822,29 +8044,6 @@ snapdragon@^0.8.1:
source-map-resolve "^0.5.0"
use "^3.1.0"
-socks-proxy-agent@^4.0.0:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz#3c8991f3145b2799e70e11bd5fbc8b1963116386"
- integrity sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==
- dependencies:
- agent-base "~4.2.1"
- socks "~2.3.2"
-
-socks@~2.3.2:
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/socks/-/socks-2.3.3.tgz#01129f0a5d534d2b897712ed8aceab7ee65d78e3"
- integrity sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==
- dependencies:
- ip "1.1.5"
- smart-buffer "^4.1.0"
-
-sort-keys@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128"
- integrity sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==
- dependencies:
- is-plain-obj "^1.0.0"
-
source-list-map@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
@@ -9874,7 +8073,7 @@ source-map-support@0.5.13:
buffer-from "^1.0.0"
source-map "^0.6.0"
-source-map-support@~0.5.12, source-map-support@~0.5.20:
+source-map-support@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.20:
version "0.5.21"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f"
integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
@@ -9933,11 +8132,6 @@ spdx-license-ids@^3.0.0:
resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz#69077835abe2710b65f03969898b6637b505a779"
integrity sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==
-split-on-first@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f"
- integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==
-
split-string@^3.0.1, split-string@^3.0.2:
version "3.1.0"
resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
@@ -9945,48 +8139,12 @@ split-string@^3.0.1, split-string@^3.0.2:
dependencies:
extend-shallow "^3.0.0"
-split2@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/split2/-/split2-2.2.0.tgz#186b2575bcf83e85b7d18465756238ee4ee42493"
- integrity sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==
- dependencies:
- through2 "^2.0.2"
-
-split2@^3.0.0:
- version "3.2.2"
- resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f"
- integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==
- dependencies:
- readable-stream "^3.0.0"
-
-split@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9"
- integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==
- dependencies:
- through "2"
-
sprintf-js@~1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
-sshpk@^1.7.0:
- version "1.17.0"
- resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5"
- integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==
- dependencies:
- asn1 "~0.2.3"
- assert-plus "^1.0.0"
- bcrypt-pbkdf "^1.0.0"
- dashdash "^1.12.0"
- ecc-jsbn "~0.1.1"
- getpass "^0.1.1"
- jsbn "~0.1.0"
- safer-buffer "^2.0.2"
- tweetnacl "~0.14.0"
-
-ssri@^6.0.0, ssri@^6.0.1:
+ssri@^6.0.1:
version "6.0.2"
resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5"
integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==
@@ -10045,11 +8203,6 @@ stream-shift@^1.0.0:
resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d"
integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==
-strict-uri-encode@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546"
- integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==
-
string-length@^4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a"
@@ -10058,16 +8211,7 @@ string-length@^4.0.1:
char-regex "^1.0.2"
strip-ansi "^6.0.0"
-string-width@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
- integrity sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==
- dependencies:
- code-point-at "^1.0.0"
- is-fullwidth-code-point "^1.0.0"
- strip-ansi "^3.0.0"
-
-"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
+string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
version "4.2.3"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -10076,14 +8220,6 @@ string-width@^1.0.1:
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.1"
-string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
- integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
- dependencies:
- is-fullwidth-code-point "^2.0.0"
- strip-ansi "^4.0.0"
-
string.prototype.matchall@^4.0.7:
version "4.0.7"
resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz#8e6ecb0d8a1fb1fda470d81acecb2dba057a481d"
@@ -10139,27 +8275,6 @@ string_decoder@~1.1.1:
dependencies:
safe-buffer "~5.1.0"
-strip-ansi@^3.0.0, strip-ansi@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
- integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==
- dependencies:
- ansi-regex "^2.0.0"
-
-strip-ansi@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
- integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==
- dependencies:
- ansi-regex "^3.0.0"
-
-strip-ansi@^5.1.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
- integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
- dependencies:
- ansi-regex "^4.1.0"
-
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
@@ -10167,13 +8282,6 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1:
dependencies:
ansi-regex "^5.0.1"
-strip-bom@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
- integrity sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==
- dependencies:
- is-utf8 "^0.2.0"
-
strip-bom@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
@@ -10184,49 +8292,16 @@ strip-bom@^4.0.0:
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878"
integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==
-strip-eof@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
- integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==
-
strip-final-newline@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
-strip-indent@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
- integrity sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA==
- dependencies:
- get-stdin "^4.0.1"
-
-strip-indent@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68"
- integrity sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==
-
-strip-indent@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001"
- integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==
- dependencies:
- min-indent "^1.0.0"
-
strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
-strong-log-transformer@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10"
- integrity sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==
- dependencies:
- duplexer "^0.1.1"
- minimist "^1.2.0"
- through "^2.3.4"
-
supports-color@^5.3.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
@@ -10261,6 +8336,11 @@ supports-preserve-symlinks-flag@^1.0.0:
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+symbol-tree@^3.2.4:
+ version "3.2.4"
+ resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
+ integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
+
tapable@^1.0.0, tapable@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
@@ -10271,35 +8351,16 @@ tapable@^2.1.1, tapable@^2.2.0:
resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0"
integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==
-tar@^4.4.10, tar@^4.4.8:
- version "4.4.19"
- resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3"
- integrity sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==
- dependencies:
- chownr "^1.1.4"
- fs-minipass "^1.2.7"
- minipass "^2.9.0"
- minizlib "^1.3.3"
- mkdirp "^0.5.5"
- safe-buffer "^5.2.1"
- yallist "^3.1.1"
-
-temp-dir@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d"
- integrity sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==
-
-temp-write@^3.4.0:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/temp-write/-/temp-write-3.4.0.tgz#8cff630fb7e9da05f047c74ce4ce4d685457d492"
- integrity sha512-P8NK5aNqcGQBC37i/8pL/K9tFgx14CF2vdwluD/BA/dGWGD4T4E59TE7dAxPyb2wusts2FhMp36EiopBBsGJ2Q==
+tar-stream@~2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287"
+ integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==
dependencies:
- graceful-fs "^4.1.2"
- is-stream "^1.1.0"
- make-dir "^1.0.0"
- pify "^3.0.0"
- temp-dir "^1.0.0"
- uuid "^3.0.1"
+ bl "^4.0.3"
+ end-of-stream "^1.4.1"
+ fs-constants "^1.0.0"
+ inherits "^2.0.3"
+ readable-stream "^3.1.1"
terminal-link@^2.0.0:
version "2.1.1"
@@ -10363,17 +8424,17 @@ test-exclude@^6.0.0:
glob "^7.1.4"
minimatch "^3.0.4"
-text-extensions@^1.0.0:
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26"
- integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==
-
text-table@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
-through2@^2.0.0, through2@^2.0.2:
+throat@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375"
+ integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==
+
+through2@^2.0.0:
version "2.0.5"
resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
@@ -10381,26 +8442,6 @@ through2@^2.0.0, through2@^2.0.2:
readable-stream "~2.3.6"
xtend "~4.0.1"
-through2@^3.0.0:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4"
- integrity sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==
- dependencies:
- inherits "^2.0.4"
- readable-stream "2 || 3"
-
-through2@^4.0.0:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764"
- integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==
- dependencies:
- readable-stream "3"
-
-through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6:
- version "2.3.8"
- resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
- integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
-
timers-browserify@^2.0.4:
version "2.0.12"
resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee"
@@ -10408,12 +8449,12 @@ timers-browserify@^2.0.4:
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"
- integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==
+tmp@~0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14"
+ integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==
dependencies:
- os-tmpdir "~1.0.2"
+ rimraf "^3.0.0"
tmpl@1.0.5:
version "1.0.5"
@@ -10467,40 +8508,22 @@ toidentifier@1.0.1:
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
-tough-cookie@~2.5.0:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
- integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
+tough-cookie@^4.0.0:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.1.tgz#3600960f1e1c83545f130ac80043b9de8e5d488b"
+ integrity sha512-Ns3k8QxkEzIfLZbRwLOrMPDqRa1BEAl4BzNNAOYY4BhBmEkf+HvP467F4NrD9loK3NcYflWOpUH3LJg0ehq/rQ==
dependencies:
- psl "^1.1.28"
+ psl "^1.1.33"
punycode "^2.1.1"
+ universalify "^0.2.0"
+ url-parse "^1.5.3"
-tr46@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09"
- integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==
+tr46@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240"
+ integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==
dependencies:
- punycode "^2.1.0"
-
-tr46@~0.0.3:
- version "0.0.3"
- resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
- integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
-
-trim-newlines@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
- integrity sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw==
-
-trim-newlines@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20"
- integrity sha512-MTBWv3jhVjTU7XR3IQHllbiJs8sc75a80OEhB6or/q7pLTWgQ0bMGQXXYQSrSuXe6WiKWDZ5txXY5P59a/coVA==
-
-trim-newlines@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144"
- integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==
+ punycode "^2.1.1"
ts-node@^10.9.1:
version "10.9.1"
@@ -10521,11 +8544,26 @@ ts-node@^10.9.1:
v8-compile-cache-lib "^3.0.1"
yn "3.1.1"
+tsconfig-paths@^3.9.0:
+ version "3.14.1"
+ resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a"
+ integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==
+ dependencies:
+ "@types/json5" "^0.0.29"
+ json5 "^1.0.1"
+ minimist "^1.2.6"
+ strip-bom "^3.0.0"
+
tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3:
version "1.14.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
+tslib@^2.3.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3"
+ integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==
+
tsutils@^3.21.0:
version "3.21.0"
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
@@ -10538,18 +8576,6 @@ tty-browserify@0.0.0:
resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
integrity sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==
-tunnel-agent@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
- integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==
- dependencies:
- safe-buffer "^5.0.1"
-
-tweetnacl@^0.14.3, tweetnacl@~0.14.0:
- version "0.14.5"
- resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
- integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==
-
type-check@^0.4.0, type-check@~0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
@@ -10557,16 +8583,18 @@ type-check@^0.4.0, type-check@~0.4.0:
dependencies:
prelude-ls "^1.2.1"
+type-check@~0.3.2:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
+ integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==
+ dependencies:
+ prelude-ls "~1.1.2"
+
type-detect@4.0.8:
version "4.0.8"
resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
-type-fest@^0.18.0:
- version "0.18.1"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f"
- integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==
-
type-fest@^0.20.2:
version "0.20.2"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
@@ -10577,16 +8605,6 @@ type-fest@^0.21.3:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"
integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
-type-fest@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b"
- integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==
-
-type-fest@^0.8.1:
- version "0.8.1"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
- integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
-
type-is@~1.6.18:
version "1.6.18"
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
@@ -10595,6 +8613,13 @@ type-is@~1.6.18:
media-typer "0.3.0"
mime-types "~2.1.24"
+typedarray-to-buffer@^3.1.5:
+ version "3.1.5"
+ resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
+ integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==
+ dependencies:
+ is-typedarray "^1.0.0"
+
typedarray@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
@@ -10605,21 +8630,6 @@ typescript@^4.7.4:
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235"
integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==
-uglify-js@^3.1.4:
- version "3.17.0"
- resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.0.tgz#55bd6e9d19ce5eef0d5ad17cd1f587d85b180a85"
- integrity sha512-aTeNPVmgIMPpm1cxXr2Q/nEbvkmV8yq66F3om7X3P/cvOXQ0TMQ64Wk63iyT1gPlmdmGzjGpyLh1f3y8MZWXGg==
-
-uid-number@0.0.6:
- version "0.0.6"
- resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
- integrity sha512-c461FXIljswCuscZn67xq9PpszkPT6RjheWFQTgCyabJrTUozElanb0YEqv2UGgk247YpcJkFBuSGNvBlpXM9w==
-
-umask@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/umask/-/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d"
- integrity sha512-lE/rxOhmiScJu9L6RTNVgB/zZbF+vGC0/p6D3xnkAePI2o0sMyFG966iR5Ki50OI/0mNi2yaRnxfLsPmEZF/JA==
-
unbox-primitive@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e"
@@ -10677,22 +8687,15 @@ unique-slug@^2.0.0:
dependencies:
imurmurhash "^0.1.4"
-universal-user-agent@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-4.0.1.tgz#fd8d6cb773a679a709e967ef8288a31fcc03e557"
- integrity sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg==
- dependencies:
- os-name "^3.1.0"
-
-universal-user-agent@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee"
- integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==
+universalify@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0"
+ integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==
-universalify@^0.1.0:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
- integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
+universalify@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
+ integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
unpipe@1.0.0, unpipe@~1.0.0:
version "1.0.0"
@@ -10742,6 +8745,14 @@ urix@^0.1.0:
resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==
+url-parse@^1.5.3:
+ version "1.5.10"
+ resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1"
+ integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==
+ dependencies:
+ querystringify "^2.1.1"
+ requires-port "^1.0.0"
+
url@^0.11.0:
version "0.11.0"
resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
@@ -10760,13 +8771,6 @@ util-deprecate@^1.0.1, util-deprecate@~1.0.1:
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
-util-promisify@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/util-promisify/-/util-promisify-2.1.0.tgz#3c2236476c4d32c5ff3c47002add7c13b9a82a53"
- integrity sha512-K+5eQPYs14b3+E+hmE2J6gCZ4JmMl9DbYS6BeP2CHq6WMuNxErxf5B/n0fz85L8zUuoO6rIzNNmIQDu/j+1OcA==
- 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"
@@ -10786,21 +8790,25 @@ utils-merge@1.0.1:
resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
-uuid@^3.0.1, uuid@^3.3.2:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
- integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
-
v8-compile-cache-lib@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf"
integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
-v8-compile-cache@^2.0.3:
+v8-compile-cache@2.3.0, v8-compile-cache@^2.0.3:
version "2.3.0"
resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
+v8-to-istanbul@^8.1.0:
+ version "8.1.1"
+ resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz#77b752fd3975e31bbcef938f85e9bd1c7a8d60ed"
+ integrity sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==
+ dependencies:
+ "@types/istanbul-lib-coverage" "^2.0.1"
+ convert-source-map "^1.6.0"
+ source-map "^0.7.3"
+
v8-to-istanbul@^9.0.1:
version "9.0.1"
resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz#b6f994b0b5d4ef255e17a0d17dc444a9f5132fa4"
@@ -10810,7 +8818,7 @@ v8-to-istanbul@^9.0.1:
"@types/istanbul-lib-coverage" "^2.0.1"
convert-source-map "^1.6.0"
-validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.3:
+validate-npm-package-license@^3.0.1:
version "3.0.4"
resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==
@@ -10818,27 +8826,11 @@ validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.3:
spdx-correct "^3.0.0"
spdx-expression-parse "^3.0.0"
-validate-npm-package-name@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e"
- integrity sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==
- dependencies:
- builtins "^1.0.3"
-
vary@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
-verror@1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
- integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==
- dependencies:
- assert-plus "^1.0.0"
- core-util-is "1.0.2"
- extsprintf "^1.2.0"
-
vite@3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/vite/-/vite-3.0.0.tgz#b4675cb9ab83ec0803b9c952ffa6519bcce033a7"
@@ -10856,7 +8848,21 @@ vm-browserify@^1.0.1:
resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==
-walker@^1.0.8:
+w3c-hr-time@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd"
+ integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==
+ dependencies:
+ browser-process-hrtime "^1.0.0"
+
+w3c-xmlserializer@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a"
+ integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==
+ dependencies:
+ xml-name-validator "^3.0.0"
+
+walker@^1.0.7, walker@^1.0.8:
version "1.0.8"
resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f"
integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==
@@ -10889,22 +8895,15 @@ watchpack@^2.4.0:
glob-to-regexp "^0.4.1"
graceful-fs "^4.1.2"
-wcwidth@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
- integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==
- dependencies:
- defaults "^1.0.3"
-
-webidl-conversions@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
- integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
+webidl-conversions@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff"
+ integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==
-webidl-conversions@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
- integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==
+webidl-conversions@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514"
+ integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==
webpack-sources@^1.4.0, webpack-sources@^1.4.1:
version "1.4.3"
@@ -10983,22 +8982,26 @@ webpack@5.74.0:
watchpack "^2.4.0"
webpack-sources "^3.2.3"
-whatwg-url@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
- integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
+whatwg-encoding@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0"
+ integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==
dependencies:
- tr46 "~0.0.3"
- webidl-conversions "^3.0.0"
+ iconv-lite "0.4.24"
+
+whatwg-mimetype@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf"
+ integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==
-whatwg-url@^7.0.0:
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06"
- integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==
+whatwg-url@^8.0.0, whatwg-url@^8.5.0:
+ version "8.7.0"
+ resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77"
+ integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==
dependencies:
- lodash.sortby "^4.7.0"
- tr46 "^1.0.1"
- webidl-conversions "^4.0.2"
+ lodash "^4.7.0"
+ tr46 "^2.1.0"
+ webidl-conversions "^6.1.0"
which-boxed-primitive@^1.0.2:
version "1.0.2"
@@ -11011,12 +9014,7 @@ which-boxed-primitive@^1.0.2:
is-string "^1.0.5"
is-symbol "^1.0.3"
-which-module@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
- integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==
-
-which@1, which@^1.2.9, which@^1.3.1:
+which@^1.2.9:
version "1.3.1"
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
@@ -11030,30 +9028,11 @@ which@^2.0.1:
dependencies:
isexe "^2.0.0"
-wide-align@^1.1.0:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3"
- integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==
- dependencies:
- string-width "^1.0.2 || 2 || 3 || 4"
-
-windows-release@^3.1.0:
- version "3.3.3"
- resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-3.3.3.tgz#1c10027c7225743eec6b89df160d64c2e0293999"
- integrity sha512-OSOGH1QYiW5yVor9TtmXKQvt2vjQqbYS+DqmsZw+r7xDwLXEeT3JGW0ZppFmHx4diyXmxt238KFR3N9jzevBRg==
- dependencies:
- execa "^1.0.0"
-
-word-wrap@^1.2.3:
+word-wrap@^1.2.3, word-wrap@~1.2.3:
version "1.2.3"
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
-wordwrap@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
- integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==
-
worker-farm@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8"
@@ -11061,14 +9040,6 @@ worker-farm@^1.7.0:
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"
- integrity sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==
- dependencies:
- string-width "^1.0.1"
- strip-ansi "^3.0.1"
-
wrap-ansi@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
@@ -11083,14 +9054,15 @@ wrappy@1:
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
-write-file-atomic@^2.0.0, write-file-atomic@^2.3.0:
- version "2.4.3"
- resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481"
- integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==
+write-file-atomic@^3.0.0:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8"
+ integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==
dependencies:
- graceful-fs "^4.1.11"
imurmurhash "^0.1.4"
+ is-typedarray "^1.0.0"
signal-exit "^3.0.2"
+ typedarray-to-buffer "^3.1.5"
write-file-atomic@^4.0.1:
version "4.0.2"
@@ -11100,32 +9072,27 @@ write-file-atomic@^4.0.1:
imurmurhash "^0.1.4"
signal-exit "^3.0.7"
-write-json-file@^2.2.0, write-json-file@^2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-2.3.0.tgz#2b64c8a33004d54b8698c76d585a77ceb61da32f"
- integrity sha512-84+F0igFp2dPD6UpAQjOUX3CdKUOqUzn6oE9sDBNzUXINR5VceJ1rauZltqQB/bcYsx3EpKys4C7/PivKUAiWQ==
- dependencies:
- detect-indent "^5.0.0"
- graceful-fs "^4.1.2"
- make-dir "^1.0.0"
- pify "^3.0.0"
- sort-keys "^2.0.0"
- write-file-atomic "^2.0.0"
+ws@^7.4.6:
+ version "7.5.9"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591"
+ integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==
-write-pkg@^3.1.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-3.2.0.tgz#0e178fe97820d389a8928bc79535dbe68c2cff21"
- integrity sha512-tX2ifZ0YqEFOF1wjRW2Pk93NLsj02+n1UP5RvO6rCs0K6R2g1padvf006cY74PQJKMGS2r42NK7FD0dG6Y6paw==
- dependencies:
- sort-keys "^2.0.0"
- write-json-file "^2.2.0"
+xml-name-validator@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
+ integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==
+
+xmlchars@^2.2.0:
+ version "2.2.0"
+ 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:
version "4.0.2"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
-"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0:
+y18n@^4.0.0:
version "4.0.3"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf"
integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==
@@ -11135,7 +9102,7 @@ y18n@^5.0.5:
resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
-yallist@^3.0.0, yallist@^3.0.2, yallist@^3.1.1:
+yallist@^3.0.2:
version "3.1.1"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
@@ -11145,43 +9112,17 @@ yallist@^4.0.0:
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
-yargs-parser@^11.1.1:
- version "11.1.1"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4"
- integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==
- dependencies:
- camelcase "^5.0.0"
- decamelize "^1.2.0"
-
-yargs-parser@^20.2.3:
- version "20.2.9"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
- integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
+yargs-parser@21.0.1:
+ version "21.0.1"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35"
+ integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==
yargs-parser@^21.0.0:
version "21.1.1"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"
integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
-yargs@^12.0.1:
- version "12.0.5"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13"
- integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==
- dependencies:
- cliui "^4.0.0"
- decamelize "^1.2.0"
- find-up "^3.0.0"
- get-caller-file "^1.0.1"
- os-locale "^3.0.0"
- require-directory "^2.1.1"
- require-main-filename "^1.0.1"
- set-blocking "^2.0.0"
- string-width "^2.0.0"
- which-module "^2.0.0"
- y18n "^3.2.1 || ^4.0.0"
- yargs-parser "^11.1.1"
-
-yargs@^17.3.1:
+yargs@^17.3.1, yargs@^17.4.0:
version "17.5.1"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e"
integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==
From 9cb7ba65e30f84c37aa5852424dda9f6245c72aa Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Fri, 26 Aug 2022 10:19:12 +0200
Subject: [PATCH 035/640] feat: Implement `entries` option (#38)
---
nx.json | 3 +
.../array-entries-option.test.ts | 78 +++++++++++++++++
.../array-entries-option/input/entrypoint1.js | 2 +
.../array-entries-option/input/entrypoint2.js | 2 +
.../array-entries-option/input/entrypoint3.js | 2 +
.../fixtures/array-entries-option/setup.ts | 13 +++
.../fixtures/basic-release-injection/setup.ts | 5 +-
.../function-entries-option.test.ts | 78 +++++++++++++++++
.../input/entrypoint1.js | 2 +
.../input/entrypoint2.js | 2 +
.../input/entrypoint3.js | 2 +
.../fixtures/function-entries-option/setup.ts | 18 ++++
.../regex-entries-option/input/entrypoint1.js | 2 +
.../regex-entries-option/input/entrypoint2.js | 2 +
.../fixtures/regex-entries-option/setup.ts | 12 +++
.../string-entries-option.test.ts | 63 ++++++++++++++
.../input/entrypoint1.js | 2 +
.../input/entrypoint2.js | 2 +
.../fixtures/string-entries-option/setup.ts | 12 +++
.../string-entries-option.test.ts | 63 ++++++++++++++
.../utils/create-cjs-bundles.ts | 26 +++---
packages/unplugin/src/index.ts | 86 +++++++++++++------
packages/unplugin/src/types.ts | 13 ++-
23 files changed, 448 insertions(+), 42 deletions(-)
create mode 100644 packages/integration-tests/fixtures/array-entries-option/array-entries-option.test.ts
create mode 100644 packages/integration-tests/fixtures/array-entries-option/input/entrypoint1.js
create mode 100644 packages/integration-tests/fixtures/array-entries-option/input/entrypoint2.js
create mode 100644 packages/integration-tests/fixtures/array-entries-option/input/entrypoint3.js
create mode 100644 packages/integration-tests/fixtures/array-entries-option/setup.ts
create mode 100644 packages/integration-tests/fixtures/function-entries-option/function-entries-option.test.ts
create mode 100644 packages/integration-tests/fixtures/function-entries-option/input/entrypoint1.js
create mode 100644 packages/integration-tests/fixtures/function-entries-option/input/entrypoint2.js
create mode 100644 packages/integration-tests/fixtures/function-entries-option/input/entrypoint3.js
create mode 100644 packages/integration-tests/fixtures/function-entries-option/setup.ts
create mode 100644 packages/integration-tests/fixtures/regex-entries-option/input/entrypoint1.js
create mode 100644 packages/integration-tests/fixtures/regex-entries-option/input/entrypoint2.js
create mode 100644 packages/integration-tests/fixtures/regex-entries-option/setup.ts
create mode 100644 packages/integration-tests/fixtures/regex-entries-option/string-entries-option.test.ts
create mode 100644 packages/integration-tests/fixtures/string-entries-option/input/entrypoint1.js
create mode 100644 packages/integration-tests/fixtures/string-entries-option/input/entrypoint2.js
create mode 100644 packages/integration-tests/fixtures/string-entries-option/setup.ts
create mode 100644 packages/integration-tests/fixtures/string-entries-option/string-entries-option.test.ts
diff --git a/nx.json b/nx.json
index c2b76c2d9944..407ad942c044 100644
--- a/nx.json
+++ b/nx.json
@@ -19,6 +19,9 @@
},
"test": {
"dependsOn": ["^build"]
+ },
+ "check:types": {
+ "dependsOn": ["^build"]
}
}
}
diff --git a/packages/integration-tests/fixtures/array-entries-option/array-entries-option.test.ts b/packages/integration-tests/fixtures/array-entries-option/array-entries-option.test.ts
new file mode 100644
index 000000000000..cdf6d8613144
--- /dev/null
+++ b/packages/integration-tests/fixtures/array-entries-option/array-entries-option.test.ts
@@ -0,0 +1,78 @@
+import childProcess from "child_process";
+import path from "path";
+import fs from "fs";
+
+function getBundleOutput(bundlePath: string): string {
+ return childProcess.execSync(`node ${bundlePath}`, { encoding: "utf-8" });
+}
+
+function getFileContents(bundlePath: string): string {
+ return fs.readFileSync(bundlePath, { encoding: "utf-8" });
+}
+
+describe("`entries` option should work as expected when given an array of RegEx and strings", () => {
+ test("esbuild bundle", () => {
+ expect(getBundleOutput(path.join(__dirname, "./out/esbuild/entrypoint1.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getBundleOutput(path.join(__dirname, "./out/esbuild/entrypoint2.js"))).toBe("");
+ expect(getBundleOutput(path.join(__dirname, "./out/esbuild/entrypoint3.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getFileContents(path.join(__dirname, "./out/esbuild/entrypoint2.js"))).not.toContain(
+ "I AM A RELEASE!"
+ );
+ });
+
+ test("rollup bundle", () => {
+ expect(getBundleOutput(path.join(__dirname, "./out/rollup/entrypoint1.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getBundleOutput(path.join(__dirname, "./out/rollup/entrypoint2.js"))).toBe("");
+ expect(getBundleOutput(path.join(__dirname, "./out/rollup/entrypoint3.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getFileContents(path.join(__dirname, "./out/rollup/entrypoint2.js"))).not.toContain(
+ "I AM A RELEASE!"
+ );
+ });
+
+ test("vite bundle", () => {
+ expect(getBundleOutput(path.join(__dirname, "./out/vite/entrypoint1.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getBundleOutput(path.join(__dirname, "./out/vite/entrypoint2.js"))).toBe("");
+ expect(getBundleOutput(path.join(__dirname, "./out/vite/entrypoint3.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getFileContents(path.join(__dirname, "./out/vite/entrypoint2.js"))).not.toContain(
+ "I AM A RELEASE!"
+ );
+ });
+
+ test("webpack 4 bundle", () => {
+ expect(getBundleOutput(path.join(__dirname, "./out/webpack4/entrypoint1.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getBundleOutput(path.join(__dirname, "./out/webpack4/entrypoint2.js"))).toBe("");
+ expect(getBundleOutput(path.join(__dirname, "./out/webpack4/entrypoint3.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getFileContents(path.join(__dirname, "./out/webpack4/entrypoint2.js"))).not.toContain(
+ "I AM A RELEASE!"
+ );
+ });
+
+ test("webpack 5 bundle", () => {
+ expect(getBundleOutput(path.join(__dirname, "./out/webpack5/entrypoint1.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getBundleOutput(path.join(__dirname, "./out/webpack5/entrypoint2.js"))).toBe("");
+ expect(getBundleOutput(path.join(__dirname, "./out/webpack5/entrypoint3.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getFileContents(path.join(__dirname, "./out/webpack5/entrypoint2.js"))).not.toContain(
+ "I AM A RELEASE!"
+ );
+ });
+});
diff --git a/packages/integration-tests/fixtures/array-entries-option/input/entrypoint1.js b/packages/integration-tests/fixtures/array-entries-option/input/entrypoint1.js
new file mode 100644
index 000000000000..53c3b7d56057
--- /dev/null
+++ b/packages/integration-tests/fixtures/array-entries-option/input/entrypoint1.js
@@ -0,0 +1,2 @@
+// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access
+process.stdout.write((global.SENTRY_RELEASE || {}).id || "");
diff --git a/packages/integration-tests/fixtures/array-entries-option/input/entrypoint2.js b/packages/integration-tests/fixtures/array-entries-option/input/entrypoint2.js
new file mode 100644
index 000000000000..53c3b7d56057
--- /dev/null
+++ b/packages/integration-tests/fixtures/array-entries-option/input/entrypoint2.js
@@ -0,0 +1,2 @@
+// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access
+process.stdout.write((global.SENTRY_RELEASE || {}).id || "");
diff --git a/packages/integration-tests/fixtures/array-entries-option/input/entrypoint3.js b/packages/integration-tests/fixtures/array-entries-option/input/entrypoint3.js
new file mode 100644
index 000000000000..53c3b7d56057
--- /dev/null
+++ b/packages/integration-tests/fixtures/array-entries-option/input/entrypoint3.js
@@ -0,0 +1,2 @@
+// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access
+process.stdout.write((global.SENTRY_RELEASE || {}).id || "");
diff --git a/packages/integration-tests/fixtures/array-entries-option/setup.ts b/packages/integration-tests/fixtures/array-entries-option/setup.ts
new file mode 100644
index 000000000000..5092fe22d781
--- /dev/null
+++ b/packages/integration-tests/fixtures/array-entries-option/setup.ts
@@ -0,0 +1,13 @@
+import * as path from "path";
+import { createCjsBundles } from "../../utils/create-cjs-bundles";
+
+const entryPoint1Path = path.resolve(__dirname, "./input/entrypoint1.js");
+const entryPoint2Path = path.resolve(__dirname, "./input/entrypoint2.js");
+const entryPoint3Path = path.resolve(__dirname, "./input/entrypoint3.js");
+const outputDir = path.resolve(__dirname, "./out");
+
+createCjsBundles(
+ { entrypoint1: entryPoint1Path, entrypoint2: entryPoint2Path, entrypoint3: entryPoint3Path },
+ outputDir,
+ { release: "I AM A RELEASE!", include: outputDir, entries: [/entrypoint1\.js/, entryPoint3Path] }
+);
diff --git a/packages/integration-tests/fixtures/basic-release-injection/setup.ts b/packages/integration-tests/fixtures/basic-release-injection/setup.ts
index 4dda90b407ab..2cd1f928e046 100644
--- a/packages/integration-tests/fixtures/basic-release-injection/setup.ts
+++ b/packages/integration-tests/fixtures/basic-release-injection/setup.ts
@@ -4,4 +4,7 @@ import { createCjsBundles } from "../../utils/create-cjs-bundles";
const entryPointPath = path.resolve(__dirname, "./input/entrypoint.js");
const outputDir = path.resolve(__dirname, "./out");
-createCjsBundles(entryPointPath, outputDir, { release: "I AM A RELEASE!", include: "" });
+createCjsBundles({ index: entryPointPath }, outputDir, {
+ release: "I AM A RELEASE!",
+ include: outputDir,
+});
diff --git a/packages/integration-tests/fixtures/function-entries-option/function-entries-option.test.ts b/packages/integration-tests/fixtures/function-entries-option/function-entries-option.test.ts
new file mode 100644
index 000000000000..d238a443879b
--- /dev/null
+++ b/packages/integration-tests/fixtures/function-entries-option/function-entries-option.test.ts
@@ -0,0 +1,78 @@
+import childProcess from "child_process";
+import path from "path";
+import fs from "fs";
+
+function getBundleOutput(bundlePath: string): string {
+ return childProcess.execSync(`node ${bundlePath}`, { encoding: "utf-8" });
+}
+
+function getFileContents(bundlePath: string): string {
+ return fs.readFileSync(bundlePath, { encoding: "utf-8" });
+}
+
+describe("`entries` option should work as expected when given a function", () => {
+ test("esbuild bundle", () => {
+ expect(getBundleOutput(path.join(__dirname, "./out/esbuild/entrypoint1.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getBundleOutput(path.join(__dirname, "./out/esbuild/entrypoint2.js"))).toBe("");
+ expect(getBundleOutput(path.join(__dirname, "./out/esbuild/entrypoint3.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getFileContents(path.join(__dirname, "./out/esbuild/entrypoint2.js"))).not.toContain(
+ "I AM A RELEASE!"
+ );
+ });
+
+ test("rollup bundle", () => {
+ expect(getBundleOutput(path.join(__dirname, "./out/rollup/entrypoint1.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getBundleOutput(path.join(__dirname, "./out/rollup/entrypoint2.js"))).toBe("");
+ expect(getBundleOutput(path.join(__dirname, "./out/rollup/entrypoint3.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getFileContents(path.join(__dirname, "./out/rollup/entrypoint2.js"))).not.toContain(
+ "I AM A RELEASE!"
+ );
+ });
+
+ test("vite bundle", () => {
+ expect(getBundleOutput(path.join(__dirname, "./out/vite/entrypoint1.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getBundleOutput(path.join(__dirname, "./out/vite/entrypoint2.js"))).toBe("");
+ expect(getBundleOutput(path.join(__dirname, "./out/vite/entrypoint3.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getFileContents(path.join(__dirname, "./out/vite/entrypoint2.js"))).not.toContain(
+ "I AM A RELEASE!"
+ );
+ });
+
+ test("webpack 4 bundle", () => {
+ expect(getBundleOutput(path.join(__dirname, "./out/webpack4/entrypoint1.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getBundleOutput(path.join(__dirname, "./out/webpack4/entrypoint2.js"))).toBe("");
+ expect(getBundleOutput(path.join(__dirname, "./out/webpack4/entrypoint3.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getFileContents(path.join(__dirname, "./out/webpack4/entrypoint2.js"))).not.toContain(
+ "I AM A RELEASE!"
+ );
+ });
+
+ test("webpack 5 bundle", () => {
+ expect(getBundleOutput(path.join(__dirname, "./out/webpack5/entrypoint1.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getBundleOutput(path.join(__dirname, "./out/webpack5/entrypoint2.js"))).toBe("");
+ expect(getBundleOutput(path.join(__dirname, "./out/webpack5/entrypoint3.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getFileContents(path.join(__dirname, "./out/webpack5/entrypoint2.js"))).not.toContain(
+ "I AM A RELEASE!"
+ );
+ });
+});
diff --git a/packages/integration-tests/fixtures/function-entries-option/input/entrypoint1.js b/packages/integration-tests/fixtures/function-entries-option/input/entrypoint1.js
new file mode 100644
index 000000000000..53c3b7d56057
--- /dev/null
+++ b/packages/integration-tests/fixtures/function-entries-option/input/entrypoint1.js
@@ -0,0 +1,2 @@
+// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access
+process.stdout.write((global.SENTRY_RELEASE || {}).id || "");
diff --git a/packages/integration-tests/fixtures/function-entries-option/input/entrypoint2.js b/packages/integration-tests/fixtures/function-entries-option/input/entrypoint2.js
new file mode 100644
index 000000000000..53c3b7d56057
--- /dev/null
+++ b/packages/integration-tests/fixtures/function-entries-option/input/entrypoint2.js
@@ -0,0 +1,2 @@
+// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access
+process.stdout.write((global.SENTRY_RELEASE || {}).id || "");
diff --git a/packages/integration-tests/fixtures/function-entries-option/input/entrypoint3.js b/packages/integration-tests/fixtures/function-entries-option/input/entrypoint3.js
new file mode 100644
index 000000000000..53c3b7d56057
--- /dev/null
+++ b/packages/integration-tests/fixtures/function-entries-option/input/entrypoint3.js
@@ -0,0 +1,2 @@
+// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access
+process.stdout.write((global.SENTRY_RELEASE || {}).id || "");
diff --git a/packages/integration-tests/fixtures/function-entries-option/setup.ts b/packages/integration-tests/fixtures/function-entries-option/setup.ts
new file mode 100644
index 000000000000..58eee0af840d
--- /dev/null
+++ b/packages/integration-tests/fixtures/function-entries-option/setup.ts
@@ -0,0 +1,18 @@
+import * as path from "path";
+import { createCjsBundles } from "../../utils/create-cjs-bundles";
+
+const entryPoint1Path = path.resolve(__dirname, "./input/entrypoint1.js");
+const entryPoint2Path = path.resolve(__dirname, "./input/entrypoint2.js");
+const entryPoint3Path = path.resolve(__dirname, "./input/entrypoint3.js");
+const outputDir = path.resolve(__dirname, "./out");
+
+createCjsBundles(
+ { entrypoint1: entryPoint1Path, entrypoint2: entryPoint2Path, entrypoint3: entryPoint3Path },
+ outputDir,
+ {
+ release: "I AM A RELEASE!",
+ include: outputDir,
+ entries: (entrypointPath) =>
+ entrypointPath === entryPoint1Path || entrypointPath === entryPoint3Path,
+ }
+);
diff --git a/packages/integration-tests/fixtures/regex-entries-option/input/entrypoint1.js b/packages/integration-tests/fixtures/regex-entries-option/input/entrypoint1.js
new file mode 100644
index 000000000000..53c3b7d56057
--- /dev/null
+++ b/packages/integration-tests/fixtures/regex-entries-option/input/entrypoint1.js
@@ -0,0 +1,2 @@
+// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access
+process.stdout.write((global.SENTRY_RELEASE || {}).id || "");
diff --git a/packages/integration-tests/fixtures/regex-entries-option/input/entrypoint2.js b/packages/integration-tests/fixtures/regex-entries-option/input/entrypoint2.js
new file mode 100644
index 000000000000..53c3b7d56057
--- /dev/null
+++ b/packages/integration-tests/fixtures/regex-entries-option/input/entrypoint2.js
@@ -0,0 +1,2 @@
+// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access
+process.stdout.write((global.SENTRY_RELEASE || {}).id || "");
diff --git a/packages/integration-tests/fixtures/regex-entries-option/setup.ts b/packages/integration-tests/fixtures/regex-entries-option/setup.ts
new file mode 100644
index 000000000000..2dd0ccded728
--- /dev/null
+++ b/packages/integration-tests/fixtures/regex-entries-option/setup.ts
@@ -0,0 +1,12 @@
+import * as path from "path";
+import { createCjsBundles } from "../../utils/create-cjs-bundles";
+
+const entryPoint1Path = path.resolve(__dirname, "./input/entrypoint1.js");
+const entryPoint2Path = path.resolve(__dirname, "./input/entrypoint2.js");
+const outputDir = path.resolve(__dirname, "./out");
+
+createCjsBundles({ entrypoint1: entryPoint1Path, entrypoint2: entryPoint2Path }, outputDir, {
+ release: "I AM A RELEASE!",
+ include: outputDir,
+ entries: /entrypoint1\.js/,
+});
diff --git a/packages/integration-tests/fixtures/regex-entries-option/string-entries-option.test.ts b/packages/integration-tests/fixtures/regex-entries-option/string-entries-option.test.ts
new file mode 100644
index 000000000000..d3637dd3caf3
--- /dev/null
+++ b/packages/integration-tests/fixtures/regex-entries-option/string-entries-option.test.ts
@@ -0,0 +1,63 @@
+import childProcess from "child_process";
+import path from "path";
+import fs from "fs";
+
+function getBundleOutput(bundlePath: string): string {
+ return childProcess.execSync(`node ${bundlePath}`, { encoding: "utf-8" });
+}
+
+function getFileContents(bundlePath: string): string {
+ return fs.readFileSync(bundlePath, { encoding: "utf-8" });
+}
+
+describe("`entries` option should work as expected when given a regular expression", () => {
+ test("esbuild bundle", () => {
+ expect(getBundleOutput(path.join(__dirname, "./out/esbuild/entrypoint1.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getBundleOutput(path.join(__dirname, "./out/esbuild/entrypoint2.js"))).toBe("");
+ expect(getFileContents(path.join(__dirname, "./out/esbuild/entrypoint2.js"))).not.toContain(
+ "I AM A RELEASE!"
+ );
+ });
+
+ test("rollup bundle", () => {
+ expect(getBundleOutput(path.join(__dirname, "./out/rollup/entrypoint1.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getBundleOutput(path.join(__dirname, "./out/rollup/entrypoint2.js"))).toBe("");
+ expect(getFileContents(path.join(__dirname, "./out/rollup/entrypoint2.js"))).not.toContain(
+ "I AM A RELEASE!"
+ );
+ });
+
+ test("vite bundle", () => {
+ expect(getBundleOutput(path.join(__dirname, "./out/vite/entrypoint1.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getBundleOutput(path.join(__dirname, "./out/vite/entrypoint2.js"))).toBe("");
+ expect(getFileContents(path.join(__dirname, "./out/vite/entrypoint2.js"))).not.toContain(
+ "I AM A RELEASE!"
+ );
+ });
+
+ test("webpack 4 bundle", () => {
+ expect(getBundleOutput(path.join(__dirname, "./out/webpack4/entrypoint1.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getBundleOutput(path.join(__dirname, "./out/webpack4/entrypoint2.js"))).toBe("");
+ expect(getFileContents(path.join(__dirname, "./out/webpack4/entrypoint2.js"))).not.toContain(
+ "I AM A RELEASE!"
+ );
+ });
+
+ test("webpack 5 bundle", () => {
+ expect(getBundleOutput(path.join(__dirname, "./out/webpack5/entrypoint1.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getBundleOutput(path.join(__dirname, "./out/webpack5/entrypoint2.js"))).toBe("");
+ expect(getFileContents(path.join(__dirname, "./out/webpack5/entrypoint2.js"))).not.toContain(
+ "I AM A RELEASE!"
+ );
+ });
+});
diff --git a/packages/integration-tests/fixtures/string-entries-option/input/entrypoint1.js b/packages/integration-tests/fixtures/string-entries-option/input/entrypoint1.js
new file mode 100644
index 000000000000..53c3b7d56057
--- /dev/null
+++ b/packages/integration-tests/fixtures/string-entries-option/input/entrypoint1.js
@@ -0,0 +1,2 @@
+// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access
+process.stdout.write((global.SENTRY_RELEASE || {}).id || "");
diff --git a/packages/integration-tests/fixtures/string-entries-option/input/entrypoint2.js b/packages/integration-tests/fixtures/string-entries-option/input/entrypoint2.js
new file mode 100644
index 000000000000..53c3b7d56057
--- /dev/null
+++ b/packages/integration-tests/fixtures/string-entries-option/input/entrypoint2.js
@@ -0,0 +1,2 @@
+// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access
+process.stdout.write((global.SENTRY_RELEASE || {}).id || "");
diff --git a/packages/integration-tests/fixtures/string-entries-option/setup.ts b/packages/integration-tests/fixtures/string-entries-option/setup.ts
new file mode 100644
index 000000000000..a31f86c736a1
--- /dev/null
+++ b/packages/integration-tests/fixtures/string-entries-option/setup.ts
@@ -0,0 +1,12 @@
+import * as path from "path";
+import { createCjsBundles } from "../../utils/create-cjs-bundles";
+
+const entryPoint1Path = path.resolve(__dirname, "./input/entrypoint1.js");
+const entryPoint2Path = path.resolve(__dirname, "./input/entrypoint2.js");
+const outputDir = path.resolve(__dirname, "./out");
+
+createCjsBundles({ entrypoint1: entryPoint1Path, entrypoint2: entryPoint2Path }, outputDir, {
+ release: "I AM A RELEASE!",
+ include: outputDir,
+ entries: entryPoint1Path,
+});
diff --git a/packages/integration-tests/fixtures/string-entries-option/string-entries-option.test.ts b/packages/integration-tests/fixtures/string-entries-option/string-entries-option.test.ts
new file mode 100644
index 000000000000..7095f4fe6956
--- /dev/null
+++ b/packages/integration-tests/fixtures/string-entries-option/string-entries-option.test.ts
@@ -0,0 +1,63 @@
+import childProcess from "child_process";
+import path from "path";
+import fs from "fs";
+
+function getBundleOutput(bundlePath: string): string {
+ return childProcess.execSync(`node ${bundlePath}`, { encoding: "utf-8" });
+}
+
+function getFileContents(bundlePath: string): string {
+ return fs.readFileSync(bundlePath, { encoding: "utf-8" });
+}
+
+describe("`entries` option should work as expected when given a string", () => {
+ test("esbuild bundle", () => {
+ expect(getBundleOutput(path.join(__dirname, "./out/esbuild/entrypoint1.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getBundleOutput(path.join(__dirname, "./out/esbuild/entrypoint2.js"))).toBe("");
+ expect(getFileContents(path.join(__dirname, "./out/esbuild/entrypoint2.js"))).not.toContain(
+ "I AM A RELEASE!"
+ );
+ });
+
+ test("rollup bundle", () => {
+ expect(getBundleOutput(path.join(__dirname, "./out/rollup/entrypoint1.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getBundleOutput(path.join(__dirname, "./out/rollup/entrypoint2.js"))).toBe("");
+ expect(getFileContents(path.join(__dirname, "./out/rollup/entrypoint2.js"))).not.toContain(
+ "I AM A RELEASE!"
+ );
+ });
+
+ test("vite bundle", () => {
+ expect(getBundleOutput(path.join(__dirname, "./out/vite/entrypoint1.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getBundleOutput(path.join(__dirname, "./out/vite/entrypoint2.js"))).toBe("");
+ expect(getFileContents(path.join(__dirname, "./out/vite/entrypoint2.js"))).not.toContain(
+ "I AM A RELEASE!"
+ );
+ });
+
+ test("webpack 4 bundle", () => {
+ expect(getBundleOutput(path.join(__dirname, "./out/webpack4/entrypoint1.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getBundleOutput(path.join(__dirname, "./out/webpack4/entrypoint2.js"))).toBe("");
+ expect(getFileContents(path.join(__dirname, "./out/webpack4/entrypoint2.js"))).not.toContain(
+ "I AM A RELEASE!"
+ );
+ });
+
+ test("webpack 5 bundle", () => {
+ expect(getBundleOutput(path.join(__dirname, "./out/webpack5/entrypoint1.js"))).toBe(
+ "I AM A RELEASE!"
+ );
+ expect(getBundleOutput(path.join(__dirname, "./out/webpack5/entrypoint2.js"))).toBe("");
+ expect(getFileContents(path.join(__dirname, "./out/webpack5/entrypoint2.js"))).not.toContain(
+ "I AM A RELEASE!"
+ );
+ });
+});
diff --git a/packages/integration-tests/utils/create-cjs-bundles.ts b/packages/integration-tests/utils/create-cjs-bundles.ts
index 7057c3899809..e75b88487268 100644
--- a/packages/integration-tests/utils/create-cjs-bundles.ts
+++ b/packages/integration-tests/utils/create-cjs-bundles.ts
@@ -13,7 +13,7 @@ import {
} from "@sentry/unplugin";
export function createCjsBundles(
- entryPointPath: string,
+ entrypoints: { [name: string]: string },
outFolder: string,
sentryUnpluginOptions: Options
): void {
@@ -21,10 +21,12 @@ export function createCjsBundles(
clearScreen: false,
build: {
outDir: path.join(outFolder, "vite"),
- lib: {
- entry: entryPointPath,
- fileName: "index",
- formats: ["cjs"],
+ rollupOptions: {
+ input: entrypoints,
+ output: {
+ format: "cjs",
+ entryFileNames: "[name].js",
+ },
},
},
plugins: [sentryVitePlugin(sentryUnpluginOptions)],
@@ -32,20 +34,20 @@ export function createCjsBundles(
void rollup
.rollup({
- input: entryPointPath,
+ input: entrypoints,
plugins: [sentryRollupPlugin(sentryUnpluginOptions)],
})
.then((bundle) =>
bundle.write({
- file: path.join(outFolder, "rollup/index.js"),
+ dir: path.join(outFolder, "rollup"),
format: "cjs",
exports: "named",
})
);
void esbuild.build({
- entryPoints: [entryPointPath],
- outfile: path.join(outFolder, "esbuild/index.js"),
+ entryPoints: entrypoints,
+ outdir: path.join(outFolder, "esbuild"),
plugins: [sentryEsbuildPlugin(sentryUnpluginOptions)],
minify: true,
bundle: true,
@@ -55,11 +57,10 @@ export function createCjsBundles(
webpack4(
{
mode: "production",
- entry: entryPointPath,
+ entry: entrypoints,
cache: false,
output: {
path: path.join(outFolder, "webpack4"),
- filename: "index.js",
libraryTarget: "commonjs",
},
target: "node", // needed for webpack 4 so we can access node api
@@ -75,9 +76,8 @@ export function createCjsBundles(
webpack5(
{
cache: false,
- entry: entryPointPath,
+ entry: entrypoints,
output: {
- filename: "index.js",
path: path.join(outFolder, "webpack5"),
library: {
type: "commonjs",
diff --git a/packages/unplugin/src/index.ts b/packages/unplugin/src/index.ts
index f5e263ab9d31..4976b703f0fd 100644
--- a/packages/unplugin/src/index.ts
+++ b/packages/unplugin/src/index.ts
@@ -15,6 +15,11 @@ const defaultOptions: Omit = {
ext: ["js", "map", "jsbundle", "bundle"],
};
+// We prefix the polyfill id with \0 to tell other plugins not to try to load or transform it.
+// This hack is taken straight from https://rollupjs.org/guide/en/#resolveid.
+// This probably doesn't work for all bundlers but for rollup it does.
+const RELEASE_INJECTOR_ID = "\0sentry-release-injector";
+
/**
* The sentry-unplugin concerns itself with two things:
* - Release injection
@@ -22,26 +27,15 @@ const defaultOptions: Omit = {
*
* Release injection:
*
- * The sentry-unpugin will inject a global `SENTRY_RELEASE` variable into all bundles. On a technical level this is done
- * by appending an import (`import "sentry-release-injector;"`) to all files of the user code (see `transformInclude`
- * and `transform` hooks). This import is then resolved by the sentry-unplugin to a virtual module that sets the global
- * variable (see `resolveId` and `load` hooks).
- *
- * It sounds a bit dubious that we're injecting appending the same import to *all* user files but it has its reasons:
- * With the way `unplugin` and bundlers work, we do not always have the information we need to only inject code at the
- * top of an entry file. The `transform` and `transformInclude` hooks don't have any information as to whether a file is
- * an entry file - so they need context from another hook for that. The only location where we can determine if a file
- * is an entry file is the `resolveId` hook - sadly in this hook, we do not have an guaranteed absolute path of the file
- * we're looking at, which would require us to do a heuristic (using `process.cwd()`) which isn't bulletproof.
- *
- * Since 1) sharing context across bundler hooks is a bit of an anti-pattern and 2) having a heuristic that is
- * potentially producing false results, we went for the approach of simply importing the "global injector file" in every
- * file. Luckily bundlers are smart enough to only include it once in a bundle. :)
+ * Per default the sentry-unpugin will inject a global `SENTRY_RELEASE` variable into the entrypoint of all bundles. On
+ * a technical level this is done by appending an import (`import "sentry-release-injector;"`) to all entrypoint files
+ * of the user code (see `transformInclude` and `transform` hooks). This import is then resolved by the sentry-unplugin
+ * to a virtual module that sets the global variable (see `resolveId` and `load` hooks).
*
* The resulting output approximately looks like this:
*
* ```text
- * index.js (user file)
+ * entrypoint1.js (user file)
* ┌───────────────────┐ ┌─────────────────────────────────────────────────┐
* │ │ │ import { myFunction } from "./my-library.js"; │
* │ sentry-unplugin │ │ │
@@ -53,7 +47,7 @@ const defaultOptions: Omit = {
* │ └─────────────────────────────────────────────────┘ │
* │ │
* │ │
- * │ my-library.js (user file) │
+ * │ entrypoint2.js (user file) │
* │ ┌─────────────────────────────────────────────────┐ │
* │ │ export function myFunction() { │ │
* │ │ return "Hello world!"; │ │
@@ -88,6 +82,12 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
}
}
+ // This is `nonEntrypointSet` instead of `entrypointSet` because this set is filled in the `resolveId` hook and there
+ // we don't have guaranteed access to *absolute* paths of files if they're entrypoints. For non-entrypoints we're
+ // guaranteed to have absolute paths - we're then using the paths in later hooks to make decisions about whether a
+ // file is an entrypoint or a non-entrypoint.
+ const nonEntrypointSet = new Set();
+
return {
name: "sentry-plugin",
enforce: "pre", // needed for Vite to call resolveId hook
@@ -96,6 +96,8 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
* Responsible for returning the "sentry-release-injector" ID when we encounter it. We return the ID so load is
* called and we can "virtually" load the module. See `load` hook for more info on why it's virtual.
*
+ * We also record the id (i.e. absolute path) of any non-entrypoint.
+ *
* @param id For imports: The absolute path of the module to be imported. For entrypoints: The path the user defined as entrypoint - may also be relative.
* @param importer For imports: The absolute path of the module that imported this module. For entrypoints: `undefined`.
* @param options Additional information to use for making a resolving decision.
@@ -106,13 +108,23 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
`Called "resolveId": ${JSON.stringify({ id, importer: importer, options: { isEntry } })}`
);
- if (id === "sentry-release-injector") {
- return id;
+ if (!isEntry) {
+ nonEntrypointSet.add(id);
+ }
+
+ if (id === RELEASE_INJECTOR_ID) {
+ return RELEASE_INJECTOR_ID;
} else {
return undefined;
}
},
+ loadInclude(id) {
+ debugLog(`Called "loadInclude": ${JSON.stringify({ id })}`);
+
+ return id === RELEASE_INJECTOR_ID;
+ },
+
/**
* Responsible for "virtually" loading the "sentry-release-injector" module. "Virtual" means that the module is not
* read from somewhere on disk but rather just returned via a string.
@@ -123,7 +135,7 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
load(id) {
debugLog(`Called "transform": ${JSON.stringify({ id })}`);
- if (id === "sentry-release-injector") {
+ if (id === RELEASE_INJECTOR_ID) {
return generateGlobalInjectorCode({ release: getReleaseName(options.release) });
} else {
return undefined;
@@ -131,8 +143,8 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
},
/**
- * This hook determines whether we want to transform a module. In the unplugin we want to transform every file
- * except for the release injector file
+ * This hook determines whether we want to transform a module. In the unplugin we want to transform every entrypoint
+ * unless configured otherwise with the `entries` option.
*
* @param id Always the absolute (fully resolved) path to the module.
* @returns `true` or `false` depending on whether we want to transform the module. For the sentry-unplugin we only
@@ -141,12 +153,32 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
transformInclude(id) {
debugLog(`Called "transformInclude": ${JSON.stringify({ id })}`);
+ if (options.entries) {
+ // If there's an `entries` option transform (ie. inject the release varible) when the file path matches the option.
+ if (typeof options.entries === "function") {
+ return options.entries(id);
+ }
+
+ const arrayifiedEntriesOption = Array.isArray(options.entries)
+ ? options.entries
+ : [options.entries];
+
+ return arrayifiedEntriesOption.some((entry) => {
+ if (entry instanceof RegExp) {
+ return entry.test(id);
+ } else {
+ return id === entry;
+ }
+ });
+ }
+
// We want to transform (release injection) every module except for "sentry-release-injector".
- return id !== "sentry-release-injector";
+ return id !== RELEASE_INJECTOR_ID && !nonEntrypointSet.has(id);
},
/**
- * This hook is responsible for injecting the "sentry release injector" imoprt statement into each user file.
+ * This hook is responsible for injecting the "sentry release injector" imoprt statement into each entrypoint unless
+ * configured otherwise with the `entries` option (logic for that is in the `transformInclude` hook).
*
* @param code Code of the file to transform.
* @param id Always the absolute (fully resolved) path to the module.
@@ -156,11 +188,11 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
debugLog(`Called "transform": ${JSON.stringify({ code, id })}`);
// The MagicString library allows us to generate sourcemaps for the changes we make to the user code.
- const ms = new MagicString(code); // Very stupid author's note: For some absurd reason, when we add a JSDoc to this hook, the TS language server starts complaining about `ms` and adding a type annotation helped so that's why it's here. (┛ಠ_ಠ)┛彡┻━┻
+ const ms: MagicString = new MagicString(code); // Very stupid author's note: For some absurd reason, when we add a JSDoc to this hook, the TS language server starts complaining about `ms` and adding a type annotation helped so that's why it's here. (┛ಠ_ಠ)┛彡┻━┻
- // appending instead of prepending has less probability of mucking with user's
+ // appending instead of prepending has less probability of mucking with user'sadly
// source maps and import statements get to the top anyways
- ms.append('import "sentry-release-injector";');
+ ms.append(`import "${RELEASE_INJECTOR_ID}";`);
if (unpluginMetaContext.framework === "esbuild") {
// esbuild + unplugin is buggy at the moment when we return an object with a `map` (sourcemap) property.
diff --git a/packages/unplugin/src/types.ts b/packages/unplugin/src/types.ts
index f1db088be955..efe98860f080 100644
--- a/packages/unplugin/src/types.ts
+++ b/packages/unplugin/src/types.ts
@@ -13,7 +13,18 @@ export type Options = {
/* --- release properties: */
release?: string;
// dist: string,
- // entries: string[] | RegExp | ((key: string) => boolean);
+
+ /**
+ * Filter for bundle entry points that should contain the provided release. By default, the release will be injected
+ * into all entry points.
+ *
+ * This option takes a string, a regular expression, or an array containing strings, regular expressions, or both.
+ * It's also possible to provide a filter function that takes the absolute path of a processed entrypoint and should
+ * return `true` if the release should be injected into the entrypoint and `false` otherwise. String values of this
+ * option require a full match with the absolute path of the bundle.
+ */
+ entries?: (string | RegExp)[] | RegExp | string | ((filePath: string) => boolean);
+
finalize?: boolean;
/* --- source maps properties: */
From 2ab503574dd7eda4a03d11f8e466e4e8379ffcbd Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Fri, 26 Aug 2022 10:22:42 +0200
Subject: [PATCH 036/640] build: Remove unnecessary commands from ci
---
.github/workflows/checks.yml | 3 ---
1 file changed, 3 deletions(-)
diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml
index eafad2228043..e71cd7a401fa 100644
--- a/.github/workflows/checks.yml
+++ b/.github/workflows/checks.yml
@@ -30,7 +30,6 @@ jobs:
with:
node-version: ${{ env.DEFAULT_NODE_VERSION }}
- run: yarn --frozen-lockfile
- - run: yarn build
- run: yarn check:types
formatting-check:
@@ -54,7 +53,6 @@ jobs:
with:
node-version: ${{ env.DEFAULT_NODE_VERSION }}
- run: yarn --frozen-lockfile
- - run: yarn build
- run: yarn test
lint:
@@ -67,5 +65,4 @@ jobs:
with:
node-version: ${{ env.DEFAULT_NODE_VERSION }}
- run: yarn --frozen-lockfile
- - run: yarn build
- run: yarn lint
From e5e0208d4143f9f1266817f048c5bd7d0880b282 Mon Sep 17 00:00:00 2001
From: Vladan Paunovic
Date: Fri, 26 Aug 2022 17:00:17 +0200
Subject: [PATCH 037/640] feat: Add Sentry (#36)
---
packages/unplugin/package.json | 2 +
packages/unplugin/src/index.ts | 107 ++++++++++++++++++++--
packages/unplugin/src/sentry/api.ts | 37 ++++----
packages/unplugin/src/sentry/facade.ts | 82 ++++++++++++++---
packages/unplugin/src/sentry/telemetry.ts | 75 +++++++++++++++
packages/unplugin/src/types.ts | 12 +++
yarn.lock | 10 ++
7 files changed, 284 insertions(+), 41 deletions(-)
create mode 100644 packages/unplugin/src/sentry/telemetry.ts
diff --git a/packages/unplugin/package.json b/packages/unplugin/package.json
index 423c0837e364..c21f50a472c6 100644
--- a/packages/unplugin/package.json
+++ b/packages/unplugin/package.json
@@ -20,6 +20,8 @@
"lint": "eslint ./src ./test"
},
"dependencies": {
+ "@sentry/node": "^7.11.1",
+ "@sentry/tracing": "^7.11.1",
"axios": "^0.27.2",
"form-data": "^4.0.0",
"magic-string": "0.26.2",
diff --git a/packages/unplugin/src/index.ts b/packages/unplugin/src/index.ts
index 4976b703f0fd..2b8cbade15b4 100644
--- a/packages/unplugin/src/index.ts
+++ b/packages/unplugin/src/index.ts
@@ -3,6 +3,9 @@ import MagicString from "magic-string";
import { getReleaseName } from "./getReleaseName";
import { Options } from "./types";
import { makeSentryFacade } from "./sentry/facade";
+import "@sentry/tracing";
+import { addSpanToTransaction, captureMinimalError, makeSentryClient } from "./sentry/telemetry";
+import { Span, Transaction } from "@sentry/types";
const defaultOptions: Omit = {
//TODO: add default options here as we port over options from the webpack plugin
@@ -13,6 +16,7 @@ const defaultOptions: Omit = {
finalize: true,
url: "https://sentry.io",
ext: ["js", "map", "jsbundle", "bundle"],
+ telemetry: true,
};
// We prefix the polyfill id with \0 to tell other plugins not to try to load or transform it.
@@ -75,6 +79,30 @@ const RELEASE_INJECTOR_ID = "\0sentry-release-injector";
const unplugin = createUnplugin((originalOptions, unpluginMetaContext) => {
const options = { ...defaultOptions, ...originalOptions };
+ //TODO: We can get rid of this variable once we have internal plugin options
+ const telemetryEnabled = options.telemetry === true;
+
+ const { hub: sentryHub } = makeSentryClient(
+ "https://4c2bae7d9fbc413e8f7385f55c515d51@o1.ingest.sentry.io/6690737",
+ telemetryEnabled,
+ options.org
+ );
+
+ if (options.telemetry) {
+ // eslint-disable-next-line no-console
+ console.log("[Sentry-plugin]", "Sending error and performance telemetry data to Sentry.");
+ // eslint-disable-next-line no-console
+ console.log("[Sentry-Plugin]", "To disable telemetry, set `options.telemetry` to `false`.");
+ }
+
+ sentryHub.setTags({
+ organization: options.org,
+ project: options.project,
+ bundler: unpluginMetaContext.framework,
+ });
+
+ sentryHub.setUser({ id: options.org });
+
function debugLog(...args: unknown[]) {
if (options?.debugLogging) {
// eslint-disable-next-line no-console
@@ -88,10 +116,29 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
// file is an entrypoint or a non-entrypoint.
const nonEntrypointSet = new Set();
+ let transaction: Transaction | undefined;
+ let releaseInjectionSpan: Span | undefined;
+
return {
name: "sentry-plugin",
enforce: "pre", // needed for Vite to call resolveId hook
+ /**
+ * Responsible for starting the plugin execution transaction and the release injection span
+ */
+ buildStart() {
+ transaction = sentryHub.startTransaction({
+ op: "sentry-unplugin",
+ name: "plugin-execution",
+ });
+ releaseInjectionSpan = addSpanToTransaction(
+ sentryHub,
+ transaction,
+ "release-injection",
+ "release-injection"
+ );
+ },
+
/**
* Responsible for returning the "sentry-release-injector" ID when we encounter it. We return the ID so load is
* called and we can "virtually" load the module. See `load` hook for more info on why it's virtual.
@@ -104,9 +151,11 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
* @returns `"sentry-release-injector"` when the imported file is called `"sentry-release-injector"`. Otherwise returns `undefined`.
*/
resolveId(id, importer, { isEntry }) {
- debugLog(
- `Called "resolveId": ${JSON.stringify({ id, importer: importer, options: { isEntry } })}`
- );
+ sentryHub.addBreadcrumb({
+ category: "resolveId",
+ message: `isEntry: ${String(isEntry)}`,
+ level: "info",
+ });
if (!isEntry) {
nonEntrypointSet.add(id);
@@ -133,7 +182,10 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
* @returns The global injector code when we load the "sentry-release-injector" module. Otherwise returns `undefined`.
*/
load(id) {
- debugLog(`Called "transform": ${JSON.stringify({ id })}`);
+ sentryHub.addBreadcrumb({
+ category: "load",
+ level: "info",
+ });
if (id === RELEASE_INJECTOR_ID) {
return generateGlobalInjectorCode({ release: getReleaseName(options.release) });
@@ -151,7 +203,10 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
* want to transform the release injector file.
*/
transformInclude(id) {
- debugLog(`Called "transformInclude": ${JSON.stringify({ id })}`);
+ sentryHub.addBreadcrumb({
+ category: "transformInclude",
+ level: "info",
+ });
if (options.entries) {
// If there's an `entries` option transform (ie. inject the release varible) when the file path matches the option.
@@ -184,8 +239,11 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
* @param id Always the absolute (fully resolved) path to the module.
* @returns transformed code + source map
*/
- transform(code, id) {
- debugLog(`Called "transform": ${JSON.stringify({ code, id })}`);
+ transform(code) {
+ sentryHub.addBreadcrumb({
+ category: "transform",
+ level: "info",
+ });
// The MagicString library allows us to generate sourcemaps for the changes we make to the user code.
const ms: MagicString = new MagicString(code); // Very stupid author's note: For some absurd reason, when we add a JSDoc to this hook, the TS language server starts complaining about `ms` and adding a type annotation helped so that's why it's here. (┛ಠ_ಠ)┛彡┻━┻
@@ -206,15 +264,37 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
};
}
},
+
+ /**
+ * Responsible for executing the sentry release creation pipeline (i.e. creating a release on
+ * Sentry.io, uploading sourcemaps, associating commits and deploys and finalizing the release)
+ */
buildEnd() {
+ releaseInjectionSpan?.finish();
+ const releasePipelineSpan =
+ sentryHub &&
+ transaction &&
+ addSpanToTransaction(
+ sentryHub,
+ transaction,
+ "release-creation",
+ "release-creation-pipeline"
+ );
+
const release = getReleaseName(options.release);
+
+ sentryHub.addBreadcrumb({
+ category: "buildEnd:start",
+ level: "info",
+ });
+
//TODO:
// 1. validate options to see if we get a valid include property, release name, etc.
// 2. normalize the include property: Users can pass string | string [] | IncludeEntry[].
// That's good for them but a hassle for us. Let's try to normalize this into one data type
// (I vote IncludeEntry[]) and continue with that down the line
- const sentryFacade = makeSentryFacade(release, options);
+ const sentryFacade = makeSentryFacade(release, options, sentryHub);
sentryFacade
.createNewRelease()
@@ -226,7 +306,18 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
.catch((e) => {
//TODO: invoke error handler here
// https://github.com/getsentry/sentry-webpack-plugin/blob/137503f3ac6fe423b16c5c50379859c86e689017/src/index.js#L540-L547
+ captureMinimalError(e, sentryHub);
+ transaction?.setStatus("cancelled");
debugLog(e);
+ })
+ .finally(() => {
+ sentryHub.addBreadcrumb({
+ category: "buildEnd:finish",
+ level: "info",
+ });
+ releasePipelineSpan?.finish();
+ transaction?.setStatus("ok");
+ transaction?.finish();
});
},
};
diff --git a/packages/unplugin/src/sentry/api.ts b/packages/unplugin/src/sentry/api.ts
index 3d6b1db9ed85..9e2150c1fa6a 100644
--- a/packages/unplugin/src/sentry/api.ts
+++ b/packages/unplugin/src/sentry/api.ts
@@ -6,21 +6,14 @@ import FormData from "form-data";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
import { version as unpluginVersion } from "../../package.json";
+import { captureMinimalError } from "./telemetry";
+import { Hub } from "@sentry/node";
const API_PATH = "/api/0";
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions, @typescript-eslint/no-unsafe-member-access
const USER_AGENT = `sentry-unplugin/${unpluginVersion}`;
-const sentryApiAxiosInstance = axios.create();
-sentryApiAxiosInstance.interceptors.request.use((config) => {
- return {
- ...config,
- headers: {
- ...config.headers,
- "User-Agent": USER_AGENT,
- },
- };
-});
+const sentryApiAxiosInstance = axios.create({ headers: { "User-Agent": USER_AGENT } });
export async function createRelease({
org,
@@ -28,12 +21,14 @@ export async function createRelease({
release,
authToken,
sentryUrl,
+ sentryHub,
}: {
release: string;
project: string;
org: string;
authToken: string;
sentryUrl: string;
+ sentryHub: Hub;
}): Promise {
const requestUrl = `${sentryUrl}${API_PATH}/organizations/${org}/releases/`;
@@ -49,8 +44,8 @@ export async function createRelease({
headers: { Authorization: `Bearer ${authToken}` },
});
} catch (e) {
- // TODO: Maybe do some more sopthisticated error handling here
- throw new Error("Something went wrong while creating a release");
+ captureMinimalError(e, sentryHub);
+ throw e;
}
}
@@ -60,12 +55,14 @@ export async function deleteAllReleaseArtifacts({
release,
authToken,
sentryUrl,
+ sentryHub,
}: {
org: string;
release: string;
sentryUrl: string;
authToken: string;
project: string;
+ sentryHub: Hub;
}): Promise {
const requestUrl = `${sentryUrl}${API_PATH}/projects/${org}/${project}/files/source-maps/?name=${release}`;
@@ -76,8 +73,8 @@ export async function deleteAllReleaseArtifacts({
},
});
} catch (e) {
- // TODO: Maybe do some more sopthisticated error handling here
- throw new Error("Something went wrong while cleaning previous release artifacts");
+ captureMinimalError(e, sentryHub);
+ throw e;
}
}
@@ -87,12 +84,14 @@ export async function updateRelease({
authToken,
sentryUrl,
project,
+ sentryHub,
}: {
release: string;
org: string;
authToken: string;
sentryUrl: string;
project: string;
+ sentryHub: Hub;
}): Promise {
const requestUrl = `${sentryUrl}${API_PATH}/projects/${org}/${project}/releases/${release}/`;
@@ -105,8 +104,8 @@ export async function updateRelease({
headers: { Authorization: `Bearer ${authToken}` },
});
} catch (e) {
- // TODO: Maybe do some more sopthisticated error handling here
- throw new Error("Something went wrong while creating a release");
+ captureMinimalError(e, sentryHub);
+ throw e;
}
}
@@ -118,6 +117,7 @@ export async function uploadReleaseFile({
sentryUrl,
filename,
fileContent,
+ sentryHub,
}: {
org: string;
release: string;
@@ -126,6 +126,7 @@ export async function uploadReleaseFile({
project: string;
filename: string;
fileContent: string;
+ sentryHub: Hub;
}) {
const requestUrl = `${sentryUrl}${API_PATH}/projects/${org}/${project}/releases/${release}/files/`;
@@ -141,7 +142,7 @@ export async function uploadReleaseFile({
},
});
} catch (e) {
- // TODO: Maybe do some more sopthisticated error handling here
- throw new Error(`Something went wrong while uploading file ${filename}`);
+ captureMinimalError(e, sentryHub);
+ throw e;
}
}
diff --git a/packages/unplugin/src/sentry/facade.ts b/packages/unplugin/src/sentry/facade.ts
index 46551a1ea5c3..105882f6fdfb 100644
--- a/packages/unplugin/src/sentry/facade.ts
+++ b/packages/unplugin/src/sentry/facade.ts
@@ -6,9 +6,12 @@
// - huge download
// - unnecessary functionality
+import { Hub } from "@sentry/node";
+import { Span } from "@sentry/types";
import { Options } from "../types";
import { createRelease, deleteAllReleaseArtifacts, uploadReleaseFile, updateRelease } from "./api";
import { getFiles } from "./sourcemaps";
+import { addSpanToTransaction } from "./telemetry";
export type SentryFacade = {
createNewRelease: () => Promise;
@@ -23,18 +26,26 @@ export type SentryFacade = {
* Factory function that provides all necessary Sentry functionality for creating
* a release on Sentry. This includes uploading source maps and finalizing the release
*/
-export function makeSentryFacade(release: string, options: Options): SentryFacade {
+export function makeSentryFacade(release: string, options: Options, sentryHub: Hub): SentryFacade {
+ const span = sentryHub.getScope()?.getSpan();
return {
- createNewRelease: () => createNewRelease(release, options),
- cleanArtifacts: () => cleanArtifacts(release, options),
- uploadSourceMaps: () => uploadSourceMaps(release, options),
- setCommits: () => setCommits(/* release */),
- finalizeRelease: () => finalizeRelease(release, options),
- addDeploy: () => addDeploy(/* release */),
+ createNewRelease: () => createNewRelease(release, options, sentryHub, span),
+ cleanArtifacts: () => cleanArtifacts(release, options, sentryHub, span),
+ uploadSourceMaps: () => uploadSourceMaps(release, options, sentryHub, span),
+ setCommits: () => setCommits(/* release, */ sentryHub, span),
+ finalizeRelease: () => finalizeRelease(release, options, sentryHub, span),
+ addDeploy: () => addDeploy(/* release, */ sentryHub, span),
};
}
-async function createNewRelease(release: string, options: Options): Promise {
+async function createNewRelease(
+ release: string,
+ options: Options,
+ sentryHub: Hub,
+ parentSpan?: Span
+): Promise {
+ const span = addSpanToTransaction(sentryHub, parentSpan, "create-new-release");
+
// TODO: pull these checks out of here and simplify them
if (options.authToken === undefined) {
// eslint-disable-next-line no-console
@@ -60,15 +71,23 @@ async function createNewRelease(release: string, options: Options): Promise {
+async function uploadSourceMaps(
+ release: string,
+ options: Options,
+ sentryHub: Hub,
+ parentSpan?: Span
+): Promise {
+ const span = addSpanToTransaction(sentryHub, parentSpan, "upload-sourceMaps");
// This is what Sentry CLI does:
// TODO: 0. Preprocess source maps
// - (Out of scope for now)
@@ -84,7 +103,6 @@ async function uploadSourceMaps(release: string, options: Options): Promise {
// eslint-disable-next-line no-console
console.log("[Sentry-plugin] Successfully uploaded sourcemaps.");
+ span?.finish();
return "done";
});
}
-async function finalizeRelease(release: string, options: Options): Promise {
+async function finalizeRelease(
+ release: string,
+ options: Options,
+ sentryHub: Hub,
+ parentSpan?: Span
+): Promise {
+ const span = addSpanToTransaction(sentryHub, parentSpan, "finalize-release");
+
if (options.finalize) {
const { authToken, org, url, project } = options;
if (!authToken || !org || !url || !project) {
@@ -168,16 +195,24 @@ async function finalizeRelease(release: string, options: Options): Promise {
+async function cleanArtifacts(
+ release: string,
+ options: Options,
+ sentryHub: Hub,
+ parentSpan?: Span
+): Promise {
+ const span = addSpanToTransaction(sentryHub, parentSpan, "clean-artifacts");
+
if (options.cleanArtifacts) {
// TODO: pull these checks out of here and simplify them
if (options.authToken === undefined) {
@@ -212,20 +247,37 @@ async function cleanArtifacts(release: string, options: Options): Promise {
+async function setCommits(
+ /* version: string, */
+ sentryHub: Hub,
+ parentSpan?: Span
+): Promise {
+ const span = addSpanToTransaction(sentryHub, parentSpan, "set-commits");
+
+ span?.finish();
return Promise.resolve("Noop");
}
-async function addDeploy(/* version: string */): Promise {
+async function addDeploy(
+ /* version: string, */
+ sentryHub: Hub,
+ parentSpan?: Span
+): Promise {
+ const span = addSpanToTransaction(sentryHub, parentSpan, "add-deploy");
+
+ span?.finish();
return Promise.resolve("Noop");
}
diff --git a/packages/unplugin/src/sentry/telemetry.ts b/packages/unplugin/src/sentry/telemetry.ts
new file mode 100644
index 000000000000..9db7aee3f451
--- /dev/null
+++ b/packages/unplugin/src/sentry/telemetry.ts
@@ -0,0 +1,75 @@
+import {
+ defaultStackParser,
+ Hub,
+ Integrations,
+ makeMain,
+ makeNodeTransport,
+ NodeClient,
+} from "@sentry/node";
+import { Span } from "@sentry/tracing";
+import { AxiosError } from "axios";
+import { version as unpluginVersion } from "../../package.json";
+
+export function makeSentryClient(
+ dsn: string,
+ telemetryEnabled: boolean,
+ org?: string
+): { client: NodeClient; hub: Hub } {
+ const client = new NodeClient({
+ dsn,
+
+ enabled: telemetryEnabled,
+ tracesSampleRate: telemetryEnabled ? 1.0 : 0.0,
+ sampleRate: telemetryEnabled ? 1.0 : 0.0,
+
+ release: `${org ? `${org}@` : ""}${unpluginVersion}`,
+ integrations: [new Integrations.Http({ tracing: true })],
+ tracePropagationTargets: ["sentry.io/api"],
+
+ stackParser: defaultStackParser,
+ transport: makeNodeTransport,
+
+ debug: true,
+ });
+
+ const hub = new Hub(client);
+
+ //TODO: This call is problematic because as soon as we set our hub as the current hub
+ // we might interfere with other plugins that use Sentry. However, for now, we'll
+ // leave it in because without it, we can't get distributed traces (which are pretty nice)
+ // Let's keep it until someone complains about interference.
+ // The ideal solution would be a code change in the JS SDK but it's not a straight-forward fix.
+ makeMain(hub);
+
+ return { client, hub };
+}
+
+/**
+ * Adds a span to the passed parentSpan or to the current transaction that's on the passed hub's scope.
+ */
+export function addSpanToTransaction(
+ sentryHub: Hub,
+ parentSpan?: Span,
+ op?: string,
+ description?: string
+): Span | undefined {
+ const actualSpan = parentSpan || sentryHub.getScope()?.getTransaction();
+ const span = actualSpan?.startChild({ op, description });
+ sentryHub.configureScope((scope) => scope.setSpan(span));
+
+ return span;
+}
+
+export function captureMinimalError(error: unknown | Error | AxiosError, hub: Hub) {
+ const isAxiosError = error instanceof AxiosError;
+ const sentryError =
+ error instanceof Error
+ ? {
+ name: `${isAxiosError && error.status ? error.status : ""}: ${error.name}`,
+ message: error.message,
+ stack: error.stack,
+ }
+ : {};
+
+ hub.captureException(sentryError);
+}
diff --git a/packages/unplugin/src/types.ts b/packages/unplugin/src/types.ts
index efe98860f080..e6e485d26705 100644
--- a/packages/unplugin/src/types.ts
+++ b/packages/unplugin/src/types.ts
@@ -64,6 +64,18 @@ export type Options = {
// name?: string,
// url?: string,
// }
+
+ /**
+ * If set to true, internal plugin errors and performance data will be sent to Sentry.
+ *
+ * At Sentry we like to use Sentry ourselves to deliver faster and more stable products.
+ * We're very careful of what we're sending. We won't collect anything other than error
+ * and high-level performance data. We will never collect your code or any details of the
+ * projects in which you're using this plugin.
+ *
+ * Defaults to true
+ */
+ telemetry?: boolean;
};
/*
diff --git a/yarn.lock b/yarn.lock
index 3fd11dfb3c1e..d34d5050a38d 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1635,6 +1635,16 @@
lru_map "^0.3.3"
tslib "^1.9.3"
+"@sentry/tracing@^7.11.1":
+ version "7.11.1"
+ resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-7.11.1.tgz#50cbe82dd5b9a1307b31761cdd4b0d71132cf5c7"
+ integrity sha512-ilgnHfpdYUWKG/5yAXIfIbPVsCfrC4ONFBR/wN25/hdAyVfXMa3AJx7NCCXxZBOPDWH3hMW8rl4La5yuDbXofg==
+ dependencies:
+ "@sentry/hub" "7.11.1"
+ "@sentry/types" "7.11.1"
+ "@sentry/utils" "7.11.1"
+ tslib "^1.9.3"
+
"@sentry/types@7.11.1":
version "7.11.1"
resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.11.1.tgz#06e2827f6ba37159c33644208a0453b86d25e232"
From 3058cb297e32402b9de976819a60e70378fd561f Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Fri, 26 Aug 2022 18:01:26 +0200
Subject: [PATCH 038/640] ref: remove sentryFacade (#46)
Remove our `SentryFacade` abstraction from the project. As we got rid of Sentry CLI (#34) there is no need anymore to have this additional layer and we can just call the facade's functions directly.
Additionally, the PR introduces the `SentryContext` type which should hold "sentry internal" values/data, like the hub and the parent span. We might wanna add the logger here later (cc @vladanpaunovic). This replaces the arguments we pass down to the release pipeline functions so we can add more stuff w/o having to add yet another param.
---
packages/unplugin/src/index.ts | 33 ++++----
.../sentry/{facade.ts => releasePipeline.ts} | 79 ++++++-------------
packages/unplugin/src/sentry/telemetry.ts | 9 ++-
packages/unplugin/src/types.ts | 13 +++
4 files changed, 59 insertions(+), 75 deletions(-)
rename packages/unplugin/src/sentry/{facade.ts => releasePipeline.ts} (78%)
diff --git a/packages/unplugin/src/index.ts b/packages/unplugin/src/index.ts
index 2b8cbade15b4..d989e6b39799 100644
--- a/packages/unplugin/src/index.ts
+++ b/packages/unplugin/src/index.ts
@@ -1,8 +1,15 @@
import { createUnplugin } from "unplugin";
import MagicString from "magic-string";
import { getReleaseName } from "./getReleaseName";
-import { Options } from "./types";
-import { makeSentryFacade } from "./sentry/facade";
+import { Options, BuildContext } from "./types";
+import {
+ createNewRelease,
+ cleanArtifacts,
+ addDeploy,
+ finalizeRelease,
+ setCommits,
+ uploadSourceMaps,
+} from "./sentry/releasePipeline";
import "@sentry/tracing";
import { addSpanToTransaction, captureMinimalError, makeSentryClient } from "./sentry/telemetry";
import { Span, Transaction } from "@sentry/types";
@@ -132,8 +139,7 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
name: "plugin-execution",
});
releaseInjectionSpan = addSpanToTransaction(
- sentryHub,
- transaction,
+ { hub: sentryHub, parentSpan: transaction },
"release-injection",
"release-injection"
);
@@ -272,11 +278,9 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
buildEnd() {
releaseInjectionSpan?.finish();
const releasePipelineSpan =
- sentryHub &&
transaction &&
addSpanToTransaction(
- sentryHub,
- transaction,
+ { hub: sentryHub, parentSpan: transaction },
"release-creation",
"release-creation-pipeline"
);
@@ -294,15 +298,14 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
// That's good for them but a hassle for us. Let's try to normalize this into one data type
// (I vote IncludeEntry[]) and continue with that down the line
- const sentryFacade = makeSentryFacade(release, options, sentryHub);
+ const ctx: BuildContext = { hub: sentryHub, parentSpan: releasePipelineSpan };
- sentryFacade
- .createNewRelease()
- .then(() => sentryFacade.cleanArtifacts())
- .then(() => sentryFacade.uploadSourceMaps())
- .then(() => sentryFacade.setCommits()) // this is a noop for now
- .then(() => sentryFacade.finalizeRelease())
- .then(() => sentryFacade.addDeploy()) // this is a noop for now
+ createNewRelease(release, options, ctx)
+ .then(() => cleanArtifacts(release, options, ctx))
+ .then(() => uploadSourceMaps(release, options, ctx))
+ .then(() => setCommits(ctx)) // this is a noop for now
+ .then(() => finalizeRelease(release, options, ctx))
+ .then(() => addDeploy(ctx)) // this is a noop for now
.catch((e) => {
//TODO: invoke error handler here
// https://github.com/getsentry/sentry-webpack-plugin/blob/137503f3ac6fe423b16c5c50379859c86e689017/src/index.js#L540-L547
diff --git a/packages/unplugin/src/sentry/facade.ts b/packages/unplugin/src/sentry/releasePipeline.ts
similarity index 78%
rename from packages/unplugin/src/sentry/facade.ts
rename to packages/unplugin/src/sentry/releasePipeline.ts
index 105882f6fdfb..56d088aeae4b 100644
--- a/packages/unplugin/src/sentry/facade.ts
+++ b/packages/unplugin/src/sentry/releasePipeline.ts
@@ -6,45 +6,17 @@
// - huge download
// - unnecessary functionality
-import { Hub } from "@sentry/node";
-import { Span } from "@sentry/types";
-import { Options } from "../types";
+import { Options, BuildContext } from "../types";
import { createRelease, deleteAllReleaseArtifacts, uploadReleaseFile, updateRelease } from "./api";
import { getFiles } from "./sourcemaps";
import { addSpanToTransaction } from "./telemetry";
-export type SentryFacade = {
- createNewRelease: () => Promise;
- cleanArtifacts: () => Promise;
- uploadSourceMaps: () => Promise;
- setCommits: () => Promise;
- finalizeRelease: () => Promise;
- addDeploy: () => Promise;
-};
-
-/**
- * Factory function that provides all necessary Sentry functionality for creating
- * a release on Sentry. This includes uploading source maps and finalizing the release
- */
-export function makeSentryFacade(release: string, options: Options, sentryHub: Hub): SentryFacade {
- const span = sentryHub.getScope()?.getSpan();
- return {
- createNewRelease: () => createNewRelease(release, options, sentryHub, span),
- cleanArtifacts: () => cleanArtifacts(release, options, sentryHub, span),
- uploadSourceMaps: () => uploadSourceMaps(release, options, sentryHub, span),
- setCommits: () => setCommits(/* release, */ sentryHub, span),
- finalizeRelease: () => finalizeRelease(release, options, sentryHub, span),
- addDeploy: () => addDeploy(/* release, */ sentryHub, span),
- };
-}
-
-async function createNewRelease(
+export async function createNewRelease(
release: string,
options: Options,
- sentryHub: Hub,
- parentSpan?: Span
+ ctx: BuildContext
): Promise {
- const span = addSpanToTransaction(sentryHub, parentSpan, "create-new-release");
+ const span = addSpanToTransaction(ctx, "create-new-release");
// TODO: pull these checks out of here and simplify them
if (options.authToken === undefined) {
@@ -71,7 +43,7 @@ async function createNewRelease(
org: options.org,
project: options.project,
sentryUrl: options.url,
- sentryHub,
+ sentryHub: ctx.hub,
});
// eslint-disable-next-line no-console
@@ -81,13 +53,12 @@ async function createNewRelease(
return Promise.resolve("nothing to do here");
}
-async function uploadSourceMaps(
+export async function uploadSourceMaps(
release: string,
options: Options,
- sentryHub: Hub,
- parentSpan?: Span
+ ctx: BuildContext
): Promise {
- const span = addSpanToTransaction(sentryHub, parentSpan, "upload-sourceMaps");
+ const span = addSpanToTransaction(ctx, "upload-sourceMaps");
// This is what Sentry CLI does:
// TODO: 0. Preprocess source maps
// - (Out of scope for now)
@@ -160,7 +131,7 @@ async function uploadSourceMaps(
sentryUrl: url,
filename: file.name,
fileContent: file.content,
- sentryHub,
+ sentryHub: ctx.hub,
})
)
).then(() => {
@@ -171,13 +142,12 @@ async function uploadSourceMaps(
});
}
-async function finalizeRelease(
+export async function finalizeRelease(
release: string,
options: Options,
- sentryHub: Hub,
- parentSpan?: Span
+ ctx: BuildContext
): Promise {
- const span = addSpanToTransaction(sentryHub, parentSpan, "finalize-release");
+ const span = addSpanToTransaction(ctx, "finalize-release");
if (options.finalize) {
const { authToken, org, url, project } = options;
@@ -195,7 +165,7 @@ async function finalizeRelease(
release,
sentryUrl: url,
project,
- sentryHub,
+ sentryHub: ctx.hub,
});
// eslint-disable-next-line no-console
console.log("[Sentry-plugin] Successfully finalized release.");
@@ -205,13 +175,12 @@ async function finalizeRelease(
return Promise.resolve("nothing to do here");
}
-async function cleanArtifacts(
+export async function cleanArtifacts(
release: string,
options: Options,
- sentryHub: Hub,
- parentSpan?: Span
+ ctx: BuildContext
): Promise {
- const span = addSpanToTransaction(sentryHub, parentSpan, "clean-artifacts");
+ const span = addSpanToTransaction(ctx, "clean-artifacts");
if (options.cleanArtifacts) {
// TODO: pull these checks out of here and simplify them
@@ -247,7 +216,7 @@ async function cleanArtifacts(
release,
sentryUrl: options.url,
project: options.project,
- sentryHub,
+ sentryHub: ctx.hub,
});
// eslint-disable-next-line no-console
@@ -260,23 +229,21 @@ async function cleanArtifacts(
// TODO: Stuff we worry about later:
-async function setCommits(
+export async function setCommits(
/* version: string, */
- sentryHub: Hub,
- parentSpan?: Span
+ ctx: BuildContext
): Promise {
- const span = addSpanToTransaction(sentryHub, parentSpan, "set-commits");
+ const span = addSpanToTransaction(ctx, "set-commits");
span?.finish();
return Promise.resolve("Noop");
}
-async function addDeploy(
+export async function addDeploy(
/* version: string, */
- sentryHub: Hub,
- parentSpan?: Span
+ ctx: BuildContext
): Promise {
- const span = addSpanToTransaction(sentryHub, parentSpan, "add-deploy");
+ const span = addSpanToTransaction(ctx, "add-deploy");
span?.finish();
return Promise.resolve("Noop");
diff --git a/packages/unplugin/src/sentry/telemetry.ts b/packages/unplugin/src/sentry/telemetry.ts
index 9db7aee3f451..16bd7de8b6db 100644
--- a/packages/unplugin/src/sentry/telemetry.ts
+++ b/packages/unplugin/src/sentry/telemetry.ts
@@ -9,6 +9,7 @@ import {
import { Span } from "@sentry/tracing";
import { AxiosError } from "axios";
import { version as unpluginVersion } from "../../package.json";
+import { BuildContext } from "../types";
export function makeSentryClient(
dsn: string,
@@ -48,14 +49,14 @@ export function makeSentryClient(
* Adds a span to the passed parentSpan or to the current transaction that's on the passed hub's scope.
*/
export function addSpanToTransaction(
- sentryHub: Hub,
- parentSpan?: Span,
+ ctx: BuildContext,
op?: string,
description?: string
): Span | undefined {
- const actualSpan = parentSpan || sentryHub.getScope()?.getTransaction();
+ const { hub, parentSpan } = ctx;
+ const actualSpan = parentSpan || hub.getScope()?.getTransaction();
const span = actualSpan?.startChild({ op, description });
- sentryHub.configureScope((scope) => scope.setSpan(span));
+ hub.configureScope((scope) => scope.setSpan(span));
return span;
}
diff --git a/packages/unplugin/src/types.ts b/packages/unplugin/src/types.ts
index e6e485d26705..34c5f1274e94 100644
--- a/packages/unplugin/src/types.ts
+++ b/packages/unplugin/src/types.ts
@@ -1,4 +1,8 @@
//TODO: JsDoc for all properties
+
+import { Hub } from "@sentry/hub";
+import { Span } from "@sentry/tracing";
+
//TODO: compare types w/ webpack plugin (and sentry-cli?)
export type Options = {
debugLogging?: boolean;
@@ -84,3 +88,12 @@ type IncludeEntry = {
//TODO: what about the other entries??
};
*/
+
+/**
+ * Holds data for internal purposes
+ * (e.g. telemetry and logging)
+ */
+export type BuildContext = {
+ hub: Hub;
+ parentSpan?: Span;
+};
From 0741c94b55f872aff70701a6962c0c94f7d721c5 Mon Sep 17 00:00:00 2001
From: Vladan Paunovic
Date: Fri, 26 Aug 2022 18:06:21 +0200
Subject: [PATCH 039/640] feat: Add `errorHandler` option (#35)
Co-authored-by: Luca Forstner
---
.../playground/scripts/request-logger-proxy.ts | 2 +-
packages/unplugin/src/index.ts | 15 +++++++++++----
packages/unplugin/src/types.ts | 16 +++++++++++++++-
3 files changed, 27 insertions(+), 6 deletions(-)
diff --git a/packages/playground/scripts/request-logger-proxy.ts b/packages/playground/scripts/request-logger-proxy.ts
index ce80bf0d77fc..bf078e550444 100644
--- a/packages/playground/scripts/request-logger-proxy.ts
+++ b/packages/playground/scripts/request-logger-proxy.ts
@@ -40,7 +40,7 @@ app.use(function (req, res, next) {
res.end = function (chunk) {
if (chunk) resBody.push(chunk);
- const resLog = `Response headers: ${JSON.stringify(
+ const resLog = `Response status: ${res.statusCode}\nResponse headers: ${JSON.stringify(
res.getHeaders(),
null,
2
diff --git a/packages/unplugin/src/index.ts b/packages/unplugin/src/index.ts
index d989e6b39799..5e844e3e7bc8 100644
--- a/packages/unplugin/src/index.ts
+++ b/packages/unplugin/src/index.ts
@@ -306,12 +306,20 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
.then(() => setCommits(ctx)) // this is a noop for now
.then(() => finalizeRelease(release, options, ctx))
.then(() => addDeploy(ctx)) // this is a noop for now
- .catch((e) => {
- //TODO: invoke error handler here
- // https://github.com/getsentry/sentry-webpack-plugin/blob/137503f3ac6fe423b16c5c50379859c86e689017/src/index.js#L540-L547
+ .then(() => {
+ transaction?.setStatus("ok");
+ })
+ .catch((e: Error) => {
captureMinimalError(e, sentryHub);
transaction?.setStatus("cancelled");
+
debugLog(e);
+
+ if (options.errorHandler) {
+ options.errorHandler(e);
+ } else {
+ throw e;
+ }
})
.finally(() => {
sentryHub.addBreadcrumb({
@@ -319,7 +327,6 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
level: "info",
});
releasePipelineSpan?.finish();
- transaction?.setStatus("ok");
transaction?.finish();
});
},
diff --git a/packages/unplugin/src/types.ts b/packages/unplugin/src/types.ts
index 34c5f1274e94..92e8c6ad6150 100644
--- a/packages/unplugin/src/types.ts
+++ b/packages/unplugin/src/types.ts
@@ -52,7 +52,21 @@ export type Options = {
debug?: boolean;
// silent?: boolean,
cleanArtifacts?: boolean;
- // errorHandler?: (err: Error, invokeErr: function(): void, compilation: unknown) => void,
+
+ /**
+ * When an error occurs during rlease creation or sourcemaps upload, the plugin will call this function.
+ *
+ * By default, the plugin will simply throw an error, thereby stopping the bundling process. If an `errorHandler` callback is provided, compilation will continue, unless an error is thrown in the provided callback.
+ *
+ * To allow compilation to continue but still emit a warning, set this option to the following:
+ *
+ * ```js
+ * (err) => {
+ * console.warn(err);
+ * }
+ * ```
+ */
+ errorHandler?: (err: Error) => void;
// setCommits?: {
// repo?: string,
// commit?: string,
From b4d534e02efb64378d6bc479d83613a2e486e08c Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Fri, 26 Aug 2022 18:15:48 +0200
Subject: [PATCH 040/640] feat: Add individual bundler packages (#42)
---
nx.json | 4 +-
package.json | 2 +-
packages/esbuild-plugin/.babelrc.json | 3 +
packages/esbuild-plugin/.eslintrc.js | 20 ++++++
packages/esbuild-plugin/.gitignore | 1 +
packages/esbuild-plugin/LICENSE | 29 +++++++++
packages/esbuild-plugin/jest.config.js | 6 ++
packages/esbuild-plugin/package.json | 61 ++++++++++++++++++
packages/esbuild-plugin/rollup.config.js | 35 +++++++++++
packages/esbuild-plugin/src/index.ts | 2 +
packages/esbuild-plugin/src/tsconfig.json | 8 +++
.../esbuild-plugin/test/public-api.test.ts | 6 ++
packages/esbuild-plugin/test/tsconfig.json | 8 +++
packages/esbuild-plugin/types.tsconfig.json | 11 ++++
packages/eslint-configs/package.json | 3 +-
packages/integration-tests/.eslintrc.js | 2 +-
packages/integration-tests/package.json | 11 ++--
packages/integration-tests/tsconfig.json | 2 +-
.../utils/create-cjs-bundles.ts | 2 +-
packages/playground/build-esbuild.js | 2 +-
packages/playground/build-webpack4.js | 2 +-
packages/playground/build-webpack5.js | 2 +-
packages/playground/package.json | 8 +--
packages/playground/rollup.config.js | 2 +-
packages/playground/vite.config.js | 2 +-
.../playground/vite.config.smallNodeApp.js | 2 +-
packages/rollup-plugin/.babelrc.json | 3 +
packages/rollup-plugin/.eslintrc.js | 20 ++++++
packages/rollup-plugin/.gitignore | 1 +
packages/rollup-plugin/LICENSE | 29 +++++++++
packages/rollup-plugin/jest.config.js | 6 ++
packages/rollup-plugin/package.json | 62 +++++++++++++++++++
packages/rollup-plugin/rollup.config.js | 35 +++++++++++
packages/rollup-plugin/src/index.ts | 2 +
packages/rollup-plugin/src/tsconfig.json | 8 +++
.../rollup-plugin/test/public-api.test.ts | 6 ++
packages/rollup-plugin/test/tsconfig.json | 8 +++
packages/rollup-plugin/types.tsconfig.json | 11 ++++
packages/tsconfigs/package.json | 3 +-
packages/unplugin/.eslintrc.js | 2 +-
packages/unplugin/package.json | 21 +++++--
packages/unplugin/src/tsconfig.json | 2 +-
packages/vite-plugin/.babelrc.json | 3 +
packages/vite-plugin/.eslintrc.js | 20 ++++++
packages/vite-plugin/.gitignore | 1 +
packages/vite-plugin/LICENSE | 29 +++++++++
packages/vite-plugin/jest.config.js | 6 ++
packages/vite-plugin/package.json | 61 ++++++++++++++++++
packages/vite-plugin/rollup.config.js | 35 +++++++++++
packages/vite-plugin/src/index.ts | 2 +
packages/vite-plugin/src/tsconfig.json | 8 +++
packages/vite-plugin/test/public-api.test.ts | 6 ++
packages/vite-plugin/test/tsconfig.json | 8 +++
packages/vite-plugin/types.tsconfig.json | 11 ++++
packages/webpack-plugin/.babelrc.json | 3 +
packages/webpack-plugin/.eslintrc.js | 20 ++++++
packages/webpack-plugin/.gitignore | 1 +
packages/webpack-plugin/LICENSE | 29 +++++++++
packages/webpack-plugin/jest.config.js | 6 ++
packages/webpack-plugin/package.json | 62 +++++++++++++++++++
packages/webpack-plugin/rollup.config.js | 35 +++++++++++
packages/webpack-plugin/src/index.ts | 2 +
packages/webpack-plugin/src/tsconfig.json | 8 +++
.../webpack-plugin/test/public-api.test.ts | 6 ++
packages/webpack-plugin/test/tsconfig.json | 8 +++
packages/webpack-plugin/types.tsconfig.json | 11 ++++
yarn.lock | 2 +-
67 files changed, 806 insertions(+), 32 deletions(-)
create mode 100644 packages/esbuild-plugin/.babelrc.json
create mode 100644 packages/esbuild-plugin/.eslintrc.js
create mode 100644 packages/esbuild-plugin/.gitignore
create mode 100644 packages/esbuild-plugin/LICENSE
create mode 100644 packages/esbuild-plugin/jest.config.js
create mode 100644 packages/esbuild-plugin/package.json
create mode 100644 packages/esbuild-plugin/rollup.config.js
create mode 100644 packages/esbuild-plugin/src/index.ts
create mode 100644 packages/esbuild-plugin/src/tsconfig.json
create mode 100644 packages/esbuild-plugin/test/public-api.test.ts
create mode 100644 packages/esbuild-plugin/test/tsconfig.json
create mode 100644 packages/esbuild-plugin/types.tsconfig.json
create mode 100644 packages/rollup-plugin/.babelrc.json
create mode 100644 packages/rollup-plugin/.eslintrc.js
create mode 100644 packages/rollup-plugin/.gitignore
create mode 100644 packages/rollup-plugin/LICENSE
create mode 100644 packages/rollup-plugin/jest.config.js
create mode 100644 packages/rollup-plugin/package.json
create mode 100644 packages/rollup-plugin/rollup.config.js
create mode 100644 packages/rollup-plugin/src/index.ts
create mode 100644 packages/rollup-plugin/src/tsconfig.json
create mode 100644 packages/rollup-plugin/test/public-api.test.ts
create mode 100644 packages/rollup-plugin/test/tsconfig.json
create mode 100644 packages/rollup-plugin/types.tsconfig.json
create mode 100644 packages/vite-plugin/.babelrc.json
create mode 100644 packages/vite-plugin/.eslintrc.js
create mode 100644 packages/vite-plugin/.gitignore
create mode 100644 packages/vite-plugin/LICENSE
create mode 100644 packages/vite-plugin/jest.config.js
create mode 100644 packages/vite-plugin/package.json
create mode 100644 packages/vite-plugin/rollup.config.js
create mode 100644 packages/vite-plugin/src/index.ts
create mode 100644 packages/vite-plugin/src/tsconfig.json
create mode 100644 packages/vite-plugin/test/public-api.test.ts
create mode 100644 packages/vite-plugin/test/tsconfig.json
create mode 100644 packages/vite-plugin/types.tsconfig.json
create mode 100644 packages/webpack-plugin/.babelrc.json
create mode 100644 packages/webpack-plugin/.eslintrc.js
create mode 100644 packages/webpack-plugin/.gitignore
create mode 100644 packages/webpack-plugin/LICENSE
create mode 100644 packages/webpack-plugin/jest.config.js
create mode 100644 packages/webpack-plugin/package.json
create mode 100644 packages/webpack-plugin/rollup.config.js
create mode 100644 packages/webpack-plugin/src/index.ts
create mode 100644 packages/webpack-plugin/src/tsconfig.json
create mode 100644 packages/webpack-plugin/test/public-api.test.ts
create mode 100644 packages/webpack-plugin/test/tsconfig.json
create mode 100644 packages/webpack-plugin/types.tsconfig.json
diff --git a/nx.json b/nx.json
index 407ad942c044..5fcc7fdcb750 100644
--- a/nx.json
+++ b/nx.json
@@ -1,7 +1,6 @@
{
"extends": "nx/presets/npm.json",
"$schema": "./node_modules/nx/schemas/nx-schema.json",
- "npmScope": "sentry",
"affected": {
"defaultBase": "main"
},
@@ -14,6 +13,9 @@
}
},
"targetDefaults": {
+ "build": {
+ "dependsOn": ["^build"]
+ },
"lint": {
"dependsOn": ["^build", "build"]
},
diff --git a/package.json b/package.json
index cb4782946056..30c27d7bb452 100644
--- a/package.json
+++ b/package.json
@@ -1,5 +1,5 @@
{
- "name": "@sentry/unplugin-root",
+ "name": "@sentry/sentry-unplugin-root",
"version": "0.0.0",
"description": "Root of the sentry unplugin monorepo.",
"repository": "git@github.com:lforst/sentry-unplugin.git",
diff --git a/packages/esbuild-plugin/.babelrc.json b/packages/esbuild-plugin/.babelrc.json
new file mode 100644
index 000000000000..0c20c06e021f
--- /dev/null
+++ b/packages/esbuild-plugin/.babelrc.json
@@ -0,0 +1,3 @@
+{
+ "presets": ["@babel/env", "@babel/typescript"]
+}
diff --git a/packages/esbuild-plugin/.eslintrc.js b/packages/esbuild-plugin/.eslintrc.js
new file mode 100644
index 000000000000..42b35d843948
--- /dev/null
+++ b/packages/esbuild-plugin/.eslintrc.js
@@ -0,0 +1,20 @@
+const jestPackageJson = require("jest/package.json");
+
+/** @type {import('eslint').ESLint.Options} */
+module.exports = {
+ root: true,
+ extends: ["@sentry-internal/eslint-config/jest", "@sentry-internal/eslint-config/base"],
+ ignorePatterns: [".eslintrc.js", "dist", "jest.config.js", "rollup.config.js"],
+ parserOptions: {
+ tsconfigRootDir: __dirname,
+ project: ["./src/tsconfig.json", "./test/tsconfig.json"],
+ },
+ env: {
+ node: true,
+ },
+ settings: {
+ jest: {
+ version: jestPackageJson.version,
+ },
+ },
+};
diff --git a/packages/esbuild-plugin/.gitignore b/packages/esbuild-plugin/.gitignore
new file mode 100644
index 000000000000..1521c8b7652b
--- /dev/null
+++ b/packages/esbuild-plugin/.gitignore
@@ -0,0 +1 @@
+dist
diff --git a/packages/esbuild-plugin/LICENSE b/packages/esbuild-plugin/LICENSE
new file mode 100644
index 000000000000..4acee9a39ecb
--- /dev/null
+++ b/packages/esbuild-plugin/LICENSE
@@ -0,0 +1,29 @@
+# MIT License
+
+Copyright (c) 2022, Sentry
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+- Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+- Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+- Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/packages/esbuild-plugin/jest.config.js b/packages/esbuild-plugin/jest.config.js
new file mode 100644
index 000000000000..160178bbd22f
--- /dev/null
+++ b/packages/esbuild-plugin/jest.config.js
@@ -0,0 +1,6 @@
+module.exports = {
+ testEnvironment: "node",
+ transform: {
+ "^.+\\.(t|j)sx?$": ["@swc/jest"],
+ },
+};
diff --git a/packages/esbuild-plugin/package.json b/packages/esbuild-plugin/package.json
new file mode 100644
index 000000000000..686ddc6b53ab
--- /dev/null
+++ b/packages/esbuild-plugin/package.json
@@ -0,0 +1,61 @@
+{
+ "name": "@sentry/esbuild-plugin",
+ "version": "0.0.1",
+ "description": "Official Sentry esbuild plugin",
+ "repository": "git://github.com/getsentry/sentry-unplugin.git",
+ "homepage": "https://github.com/getsentry/sentry-unplugin/tree/main/packages/esbuild-plugin",
+ "author": "Sentry",
+ "license": "MIT",
+ "keywords": [
+ "Sentry",
+ "esbuild",
+ "bundler",
+ "plugin"
+ ],
+ "publishConfig": {
+ "access": "public"
+ },
+ "files": [
+ "dist"
+ ],
+ "main": "dist/cjs/index.js",
+ "module": "dist/esm/index.js",
+ "types": "dist/types/index.d.ts",
+ "scripts": {
+ "build": "rimraf ./out && run-p build:rollup build:types",
+ "build:watch": "run-p build:rollup:watch build:types:watch",
+ "build:rollup": "rollup --config rollup.config.js",
+ "build:rollup:watch": "rollup --config rollup.config.js --watch --no-watch.clearScreen",
+ "build:types": "tsc --project types.tsconfig.json",
+ "build:types:watch": "tsc --project types.tsconfig.json --watch --preserveWatchOutput",
+ "check:types": "run-p check:types:src check:types:test",
+ "check:types:src": "tsc --project ./src/tsconfig.json --noEmit",
+ "check:types:test": "tsc --project ./test/tsconfig.json --noEmit",
+ "test": "jest",
+ "lint": "eslint ./src ./test"
+ },
+ "dependencies": {
+ "@sentry/sentry-unplugin": "0.0.1"
+ },
+ "devDependencies": {
+ "@babel/core": "7.18.5",
+ "@babel/preset-env": "7.18.2",
+ "@babel/preset-typescript": "7.17.12",
+ "@rollup/plugin-babel": "5.3.1",
+ "@rollup/plugin-commonjs": "22.0.1",
+ "@rollup/plugin-json": "4.1.0",
+ "@rollup/plugin-node-resolve": "13.3.0",
+ "@swc/core": "^1.2.205",
+ "@swc/jest": "^0.2.21",
+ "@types/jest": "^28.1.3",
+ "@types/node": "^18.6.3",
+ "@sentry-internal/eslint-config": "*",
+ "@sentry-internal/sentry-unplugin-tsconfig": "*",
+ "eslint": "^8.18.0",
+ "jest": "^28.1.1",
+ "npm-run-all": "^4.1.5",
+ "rimraf": "^3.0.2",
+ "rollup": "2.75.7",
+ "typescript": "^4.7.4"
+ }
+}
diff --git a/packages/esbuild-plugin/rollup.config.js b/packages/esbuild-plugin/rollup.config.js
new file mode 100644
index 000000000000..eb423e78ca7b
--- /dev/null
+++ b/packages/esbuild-plugin/rollup.config.js
@@ -0,0 +1,35 @@
+import resolve from "@rollup/plugin-node-resolve";
+import babel from "@rollup/plugin-babel";
+import packageJson from "./package.json";
+import modulePackage from "module";
+
+const input = ["src/index.ts"];
+
+const extensions = [".ts"];
+
+export default {
+ input,
+ external: [...Object.keys(packageJson.dependencies), ...modulePackage.builtinModules],
+ plugins: [
+ resolve({ extensions, preferBuiltins: true }),
+ babel({
+ extensions,
+ babelHelpers: "bundled",
+ include: ["src/**/*"],
+ }),
+ ],
+ output: [
+ {
+ file: packageJson.module,
+ format: "esm",
+ exports: "named",
+ sourcemap: true,
+ },
+ {
+ file: packageJson.main,
+ format: "cjs",
+ exports: "named",
+ sourcemap: true,
+ },
+ ],
+};
diff --git a/packages/esbuild-plugin/src/index.ts b/packages/esbuild-plugin/src/index.ts
new file mode 100644
index 000000000000..92e5078306d6
--- /dev/null
+++ b/packages/esbuild-plugin/src/index.ts
@@ -0,0 +1,2 @@
+export { sentryEsbuildPlugin as default } from "@sentry/sentry-unplugin";
+export type { Options } from "@sentry/sentry-unplugin";
diff --git a/packages/esbuild-plugin/src/tsconfig.json b/packages/esbuild-plugin/src/tsconfig.json
new file mode 100644
index 000000000000..86051fab4936
--- /dev/null
+++ b/packages/esbuild-plugin/src/tsconfig.json
@@ -0,0 +1,8 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "@sentry-internal/sentry-unplugin-tsconfig/base-config.json",
+ "include": ["./**/*", "../package.json"],
+ "compilerOptions": {
+ "esModuleInterop": true
+ }
+}
diff --git a/packages/esbuild-plugin/test/public-api.test.ts b/packages/esbuild-plugin/test/public-api.test.ts
new file mode 100644
index 000000000000..7a5ea90962c4
--- /dev/null
+++ b/packages/esbuild-plugin/test/public-api.test.ts
@@ -0,0 +1,6 @@
+import sentryEsbuildPlugin from "../src";
+
+test("Esbuild plugin should exist", () => {
+ expect(sentryEsbuildPlugin).toBeDefined();
+ expect(typeof sentryEsbuildPlugin).toBe("function");
+});
diff --git a/packages/esbuild-plugin/test/tsconfig.json b/packages/esbuild-plugin/test/tsconfig.json
new file mode 100644
index 000000000000..b73d9b533da9
--- /dev/null
+++ b/packages/esbuild-plugin/test/tsconfig.json
@@ -0,0 +1,8 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "../src/tsconfig.json",
+ "include": ["../src/**/*", "./**/*"],
+ "compilerOptions": {
+ "types": ["node", "jest"]
+ }
+}
diff --git a/packages/esbuild-plugin/types.tsconfig.json b/packages/esbuild-plugin/types.tsconfig.json
new file mode 100644
index 000000000000..fb161bc4ab78
--- /dev/null
+++ b/packages/esbuild-plugin/types.tsconfig.json
@@ -0,0 +1,11 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "./src/tsconfig.json",
+ "include": ["./src/**/*"],
+ "compilerOptions": {
+ "rootDir": "./src",
+ "declaration": true,
+ "emitDeclarationOnly": true,
+ "declarationDir": "./dist/types"
+ }
+}
diff --git a/packages/eslint-configs/package.json b/packages/eslint-configs/package.json
index bdbdec961fde..9f71e0e10d4e 100644
--- a/packages/eslint-configs/package.json
+++ b/packages/eslint-configs/package.json
@@ -1,6 +1,7 @@
{
- "name": "eslint-config-local",
+ "name": "@sentry-internal/eslint-config",
"version": "0.0.0",
+ "license": "MIT",
"private": true,
"peerDependencies": {
"eslint": "^8.14.0"
diff --git a/packages/integration-tests/.eslintrc.js b/packages/integration-tests/.eslintrc.js
index 3e5522099d0e..bf333cd92a45 100644
--- a/packages/integration-tests/.eslintrc.js
+++ b/packages/integration-tests/.eslintrc.js
@@ -3,7 +3,7 @@ const jestPackageJson = require("jest/package.json");
/** @type {import('eslint').ESLint.Options} */
module.exports = {
root: true,
- extends: ["local/jest", "local/base"],
+ extends: ["@sentry-internal/eslint-config/jest", "@sentry-internal/eslint-config/base"],
ignorePatterns: [".eslintrc.js", "fixtures/*/out", "jest.config.js"],
parserOptions: {
tsconfigRootDir: __dirname,
diff --git a/packages/integration-tests/package.json b/packages/integration-tests/package.json
index 37bf574c0629..f04bd92c2fab 100644
--- a/packages/integration-tests/package.json
+++ b/packages/integration-tests/package.json
@@ -1,6 +1,7 @@
{
- "name": "@sentry/integration-tests",
- "version": "1.0.0",
+ "name": "@sentry-internal/integration-tests",
+ "version": "0.0.0",
+ "license": "MIT",
"private": true,
"scripts": {
"test": "run-s test:setup test:jest",
@@ -12,10 +13,10 @@
"dependencies": {
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
- "@sentry/unplugin": "*",
+ "@sentry/sentry-unplugin": "*",
"@types/webpack4": "npm:@types/webpack@4.41.32",
- "eslint-config-local": "*",
- "sentry-unplugin-tsconfigs": "*",
+ "@sentry-internal/eslint-config": "*",
+ "@sentry-internal/sentry-unplugin-tsconfig": "*",
"esbuild": "0.14.49",
"jest": "^28.1.3",
"npm-run-all": "4.1.5",
diff --git a/packages/integration-tests/tsconfig.json b/packages/integration-tests/tsconfig.json
index 4eedee320803..c697299a2fcb 100644
--- a/packages/integration-tests/tsconfig.json
+++ b/packages/integration-tests/tsconfig.json
@@ -1,6 +1,6 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
- "extends": "sentry-unplugin-tsconfigs/base-config.json",
+ "extends": "@sentry-internal/sentry-unplugin-tsconfig/base-config.json",
"include": ["./**/*"],
"compilerOptions": {
"esModuleInterop": true,
diff --git a/packages/integration-tests/utils/create-cjs-bundles.ts b/packages/integration-tests/utils/create-cjs-bundles.ts
index e75b88487268..d335d656745b 100644
--- a/packages/integration-tests/utils/create-cjs-bundles.ts
+++ b/packages/integration-tests/utils/create-cjs-bundles.ts
@@ -10,7 +10,7 @@ import {
sentryVitePlugin,
sentryWebpackPlugin,
Options,
-} from "@sentry/unplugin";
+} from "@sentry/sentry-unplugin";
export function createCjsBundles(
entrypoints: { [name: string]: string },
diff --git a/packages/playground/build-esbuild.js b/packages/playground/build-esbuild.js
index 7aa5bf99569a..6eee7f2a9e8c 100644
--- a/packages/playground/build-esbuild.js
+++ b/packages/playground/build-esbuild.js
@@ -1,4 +1,4 @@
-const { sentryEsbuildPlugin } = require("@sentry/unplugin");
+const { sentryEsbuildPlugin } = require("@sentry/sentry-unplugin");
const { build } = require("esbuild");
const placeHolderOptions = require("./config.json");
diff --git a/packages/playground/build-webpack4.js b/packages/playground/build-webpack4.js
index 50b00612be0a..3de801e19c89 100644
--- a/packages/playground/build-webpack4.js
+++ b/packages/playground/build-webpack4.js
@@ -1,7 +1,7 @@
// @ts-check
const path = require("path");
const webpack4 = require("webpack4");
-const { sentryWebpackPlugin } = require("@sentry/unplugin");
+const { sentryWebpackPlugin } = require("@sentry/sentry-unplugin");
const placeHolderOptions = require("./config.json");
diff --git a/packages/playground/build-webpack5.js b/packages/playground/build-webpack5.js
index 886763ce44e7..0295c797f0ae 100644
--- a/packages/playground/build-webpack5.js
+++ b/packages/playground/build-webpack5.js
@@ -1,7 +1,7 @@
// @ts-check
const path = require("path");
const webpack5 = require("webpack");
-const { sentryWebpackPlugin } = require("@sentry/unplugin");
+const { sentryWebpackPlugin } = require("@sentry/sentry-unplugin");
const placeHolderOptions = require("./config.json");
diff --git a/packages/playground/package.json b/packages/playground/package.json
index e0d23ef50829..3d800318f81a 100644
--- a/packages/playground/package.json
+++ b/packages/playground/package.json
@@ -1,8 +1,6 @@
{
- "name": "@sentry/playground",
- "version": "1.0.0",
- "main": "index.js",
- "author": "Luca Forstner",
+ "name": "@sentry-internal/unplugin-playground",
+ "version": "0.0.0",
"license": "MIT",
"private": true,
"scripts": {
@@ -18,7 +16,7 @@
"dependencies": {
"@sentry/integrations": "^7.11.1",
"@sentry/node": "^7.11.1",
- "@sentry/unplugin": "*",
+ "@sentry/sentry-unplugin": "*",
"@types/express": "^4.17.13",
"@types/http-proxy": "^1.17.9",
"esbuild": "0.14.49",
diff --git a/packages/playground/rollup.config.js b/packages/playground/rollup.config.js
index ab714fbf71ae..3eb8f3195a31 100644
--- a/packages/playground/rollup.config.js
+++ b/packages/playground/rollup.config.js
@@ -1,7 +1,7 @@
// @ts-check
import commonjs from "@rollup/plugin-commonjs";
import resolve from "@rollup/plugin-node-resolve";
-import { sentryRollupPlugin } from "@sentry/unplugin";
+import { sentryRollupPlugin } from "@sentry/sentry-unplugin";
import placeHolderOptions from "./config.json";
const input = ["src/entrypoint1.js"];
diff --git a/packages/playground/vite.config.js b/packages/playground/vite.config.js
index 90c5df759c06..c68a6a8ff8db 100644
--- a/packages/playground/vite.config.js
+++ b/packages/playground/vite.config.js
@@ -1,5 +1,5 @@
// @ts-check
-import { sentryVitePlugin } from "@sentry/unplugin";
+import { sentryVitePlugin } from "@sentry/sentry-unplugin";
import { defineConfig } from "vite";
import * as path from "path";
import placeHolderOptions from "./config.json";
diff --git a/packages/playground/vite.config.smallNodeApp.js b/packages/playground/vite.config.smallNodeApp.js
index e1b9d13bc9ed..c4d112705085 100644
--- a/packages/playground/vite.config.smallNodeApp.js
+++ b/packages/playground/vite.config.smallNodeApp.js
@@ -1,5 +1,5 @@
// @ts-check
-import { sentryVitePlugin } from "@sentry/unplugin";
+import { sentryVitePlugin } from "@sentry/sentry-unplugin";
import { defineConfig } from "vite";
import * as path from "path";
diff --git a/packages/rollup-plugin/.babelrc.json b/packages/rollup-plugin/.babelrc.json
new file mode 100644
index 000000000000..0c20c06e021f
--- /dev/null
+++ b/packages/rollup-plugin/.babelrc.json
@@ -0,0 +1,3 @@
+{
+ "presets": ["@babel/env", "@babel/typescript"]
+}
diff --git a/packages/rollup-plugin/.eslintrc.js b/packages/rollup-plugin/.eslintrc.js
new file mode 100644
index 000000000000..42b35d843948
--- /dev/null
+++ b/packages/rollup-plugin/.eslintrc.js
@@ -0,0 +1,20 @@
+const jestPackageJson = require("jest/package.json");
+
+/** @type {import('eslint').ESLint.Options} */
+module.exports = {
+ root: true,
+ extends: ["@sentry-internal/eslint-config/jest", "@sentry-internal/eslint-config/base"],
+ ignorePatterns: [".eslintrc.js", "dist", "jest.config.js", "rollup.config.js"],
+ parserOptions: {
+ tsconfigRootDir: __dirname,
+ project: ["./src/tsconfig.json", "./test/tsconfig.json"],
+ },
+ env: {
+ node: true,
+ },
+ settings: {
+ jest: {
+ version: jestPackageJson.version,
+ },
+ },
+};
diff --git a/packages/rollup-plugin/.gitignore b/packages/rollup-plugin/.gitignore
new file mode 100644
index 000000000000..1521c8b7652b
--- /dev/null
+++ b/packages/rollup-plugin/.gitignore
@@ -0,0 +1 @@
+dist
diff --git a/packages/rollup-plugin/LICENSE b/packages/rollup-plugin/LICENSE
new file mode 100644
index 000000000000..4acee9a39ecb
--- /dev/null
+++ b/packages/rollup-plugin/LICENSE
@@ -0,0 +1,29 @@
+# MIT License
+
+Copyright (c) 2022, Sentry
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+- Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+- Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+- Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/packages/rollup-plugin/jest.config.js b/packages/rollup-plugin/jest.config.js
new file mode 100644
index 000000000000..160178bbd22f
--- /dev/null
+++ b/packages/rollup-plugin/jest.config.js
@@ -0,0 +1,6 @@
+module.exports = {
+ testEnvironment: "node",
+ transform: {
+ "^.+\\.(t|j)sx?$": ["@swc/jest"],
+ },
+};
diff --git a/packages/rollup-plugin/package.json b/packages/rollup-plugin/package.json
new file mode 100644
index 000000000000..10a3e9eb886e
--- /dev/null
+++ b/packages/rollup-plugin/package.json
@@ -0,0 +1,62 @@
+{
+ "name": "@sentry/rollup-plugin",
+ "version": "0.0.1",
+ "description": "Official Sentry Rollup plugin",
+ "repository": "git://github.com/getsentry/sentry-unplugin.git",
+ "homepage": "https://github.com/getsentry/sentry-unplugin/tree/main/packages/rollup-plugin",
+ "author": "Sentry",
+ "license": "MIT",
+ "keywords": [
+ "Sentry",
+ "rollup-plugin",
+ "Rollup",
+ "bundler",
+ "plugin"
+ ],
+ "publishConfig": {
+ "access": "public"
+ },
+ "files": [
+ "dist"
+ ],
+ "main": "dist/cjs/index.js",
+ "module": "dist/esm/index.js",
+ "types": "dist/types/index.d.ts",
+ "scripts": {
+ "build": "rimraf ./out && run-p build:rollup build:types",
+ "build:watch": "run-p build:rollup:watch build:types:watch",
+ "build:rollup": "rollup --config rollup.config.js",
+ "build:rollup:watch": "rollup --config rollup.config.js --watch --no-watch.clearScreen",
+ "build:types": "tsc --project types.tsconfig.json",
+ "build:types:watch": "tsc --project types.tsconfig.json --watch --preserveWatchOutput",
+ "check:types": "run-p check:types:src check:types:test",
+ "check:types:src": "tsc --project ./src/tsconfig.json --noEmit",
+ "check:types:test": "tsc --project ./test/tsconfig.json --noEmit",
+ "test": "jest",
+ "lint": "eslint ./src ./test"
+ },
+ "dependencies": {
+ "@sentry/sentry-unplugin": "0.0.1"
+ },
+ "devDependencies": {
+ "@babel/core": "7.18.5",
+ "@babel/preset-env": "7.18.2",
+ "@babel/preset-typescript": "7.17.12",
+ "@rollup/plugin-babel": "5.3.1",
+ "@rollup/plugin-commonjs": "22.0.1",
+ "@rollup/plugin-json": "4.1.0",
+ "@rollup/plugin-node-resolve": "13.3.0",
+ "@swc/core": "^1.2.205",
+ "@swc/jest": "^0.2.21",
+ "@types/jest": "^28.1.3",
+ "@types/node": "^18.6.3",
+ "@sentry-internal/eslint-config": "*",
+ "@sentry-internal/sentry-unplugin-tsconfig": "*",
+ "eslint": "^8.18.0",
+ "jest": "^28.1.1",
+ "npm-run-all": "^4.1.5",
+ "rimraf": "^3.0.2",
+ "rollup": "2.75.7",
+ "typescript": "^4.7.4"
+ }
+}
diff --git a/packages/rollup-plugin/rollup.config.js b/packages/rollup-plugin/rollup.config.js
new file mode 100644
index 000000000000..eb423e78ca7b
--- /dev/null
+++ b/packages/rollup-plugin/rollup.config.js
@@ -0,0 +1,35 @@
+import resolve from "@rollup/plugin-node-resolve";
+import babel from "@rollup/plugin-babel";
+import packageJson from "./package.json";
+import modulePackage from "module";
+
+const input = ["src/index.ts"];
+
+const extensions = [".ts"];
+
+export default {
+ input,
+ external: [...Object.keys(packageJson.dependencies), ...modulePackage.builtinModules],
+ plugins: [
+ resolve({ extensions, preferBuiltins: true }),
+ babel({
+ extensions,
+ babelHelpers: "bundled",
+ include: ["src/**/*"],
+ }),
+ ],
+ output: [
+ {
+ file: packageJson.module,
+ format: "esm",
+ exports: "named",
+ sourcemap: true,
+ },
+ {
+ file: packageJson.main,
+ format: "cjs",
+ exports: "named",
+ sourcemap: true,
+ },
+ ],
+};
diff --git a/packages/rollup-plugin/src/index.ts b/packages/rollup-plugin/src/index.ts
new file mode 100644
index 000000000000..1a96f42a0fef
--- /dev/null
+++ b/packages/rollup-plugin/src/index.ts
@@ -0,0 +1,2 @@
+export { sentryRollupPlugin as default } from "@sentry/sentry-unplugin";
+export type { Options } from "@sentry/sentry-unplugin";
diff --git a/packages/rollup-plugin/src/tsconfig.json b/packages/rollup-plugin/src/tsconfig.json
new file mode 100644
index 000000000000..86051fab4936
--- /dev/null
+++ b/packages/rollup-plugin/src/tsconfig.json
@@ -0,0 +1,8 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "@sentry-internal/sentry-unplugin-tsconfig/base-config.json",
+ "include": ["./**/*", "../package.json"],
+ "compilerOptions": {
+ "esModuleInterop": true
+ }
+}
diff --git a/packages/rollup-plugin/test/public-api.test.ts b/packages/rollup-plugin/test/public-api.test.ts
new file mode 100644
index 000000000000..59cfdaa3c373
--- /dev/null
+++ b/packages/rollup-plugin/test/public-api.test.ts
@@ -0,0 +1,6 @@
+import sentryRollupPlugin from "../src";
+
+test("Rollup plugin should exist", () => {
+ expect(sentryRollupPlugin).toBeDefined();
+ expect(typeof sentryRollupPlugin).toBe("function");
+});
diff --git a/packages/rollup-plugin/test/tsconfig.json b/packages/rollup-plugin/test/tsconfig.json
new file mode 100644
index 000000000000..b73d9b533da9
--- /dev/null
+++ b/packages/rollup-plugin/test/tsconfig.json
@@ -0,0 +1,8 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "../src/tsconfig.json",
+ "include": ["../src/**/*", "./**/*"],
+ "compilerOptions": {
+ "types": ["node", "jest"]
+ }
+}
diff --git a/packages/rollup-plugin/types.tsconfig.json b/packages/rollup-plugin/types.tsconfig.json
new file mode 100644
index 000000000000..fb161bc4ab78
--- /dev/null
+++ b/packages/rollup-plugin/types.tsconfig.json
@@ -0,0 +1,11 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "./src/tsconfig.json",
+ "include": ["./src/**/*"],
+ "compilerOptions": {
+ "rootDir": "./src",
+ "declaration": true,
+ "emitDeclarationOnly": true,
+ "declarationDir": "./dist/types"
+ }
+}
diff --git a/packages/tsconfigs/package.json b/packages/tsconfigs/package.json
index a64464ad6997..6060149e4d10 100644
--- a/packages/tsconfigs/package.json
+++ b/packages/tsconfigs/package.json
@@ -1,5 +1,6 @@
{
- "name": "sentry-unplugin-tsconfigs",
+ "name": "@sentry-internal/sentry-unplugin-tsconfig",
"version": "0.0.0",
+ "license": "MIT",
"private": true
}
diff --git a/packages/unplugin/.eslintrc.js b/packages/unplugin/.eslintrc.js
index fe53c9eb2e89..42b35d843948 100644
--- a/packages/unplugin/.eslintrc.js
+++ b/packages/unplugin/.eslintrc.js
@@ -3,7 +3,7 @@ const jestPackageJson = require("jest/package.json");
/** @type {import('eslint').ESLint.Options} */
module.exports = {
root: true,
- extends: ["local/jest", "local/base"],
+ extends: ["@sentry-internal/eslint-config/jest", "@sentry-internal/eslint-config/base"],
ignorePatterns: [".eslintrc.js", "dist", "jest.config.js", "rollup.config.js"],
parserOptions: {
tsconfigRootDir: __dirname,
diff --git a/packages/unplugin/package.json b/packages/unplugin/package.json
index c21f50a472c6..7af444940d18 100644
--- a/packages/unplugin/package.json
+++ b/packages/unplugin/package.json
@@ -1,11 +1,20 @@
{
- "name": "@sentry/unplugin",
+ "name": "@sentry/sentry-unplugin",
"version": "0.0.1",
- "description": "Sentry unplugin.",
+ "description": "Official Sentry unplugin",
+ "repository": "git://github.com/getsentry/sentry-unplugin.git",
+ "homepage": "https://github.com/getsentry/sentry-unplugin",
+ "author": "Sentry",
+ "license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
+ "files": [
+ "dist"
+ ],
"main": "dist/cjs/index.js",
"module": "dist/esm/index.js",
"types": "dist/types/index.d.ts",
- "repository": "https://github.com/lforst/sentry-unplugin",
"scripts": {
"build": "rimraf ./out && run-p build:rollup build:types",
"build:watch": "run-p build:rollup:watch build:types:watch",
@@ -33,14 +42,14 @@
"@babel/preset-typescript": "7.17.12",
"@rollup/plugin-babel": "5.3.1",
"@rollup/plugin-commonjs": "22.0.1",
- "@rollup/plugin-json": "^4.1.0",
+ "@rollup/plugin-json": "4.1.0",
"@rollup/plugin-node-resolve": "13.3.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
"@types/node": "^18.6.3",
- "eslint-config-local": "*",
- "sentry-unplugin-tsconfigs": "*",
+ "@sentry-internal/eslint-config": "*",
+ "@sentry-internal/sentry-unplugin-tsconfig": "*",
"eslint": "^8.18.0",
"jest": "^28.1.1",
"npm-run-all": "^4.1.5",
diff --git a/packages/unplugin/src/tsconfig.json b/packages/unplugin/src/tsconfig.json
index c7d27b2e5ea7..d1b12b4159b2 100644
--- a/packages/unplugin/src/tsconfig.json
+++ b/packages/unplugin/src/tsconfig.json
@@ -1,6 +1,6 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
- "extends": "sentry-unplugin-tsconfigs/base-config.json",
+ "extends": "@sentry-internal/sentry-unplugin-tsconfig/base-config.json",
"include": ["./**/*", "../package.json"],
"compilerOptions": {
"esModuleInterop": true,
diff --git a/packages/vite-plugin/.babelrc.json b/packages/vite-plugin/.babelrc.json
new file mode 100644
index 000000000000..0c20c06e021f
--- /dev/null
+++ b/packages/vite-plugin/.babelrc.json
@@ -0,0 +1,3 @@
+{
+ "presets": ["@babel/env", "@babel/typescript"]
+}
diff --git a/packages/vite-plugin/.eslintrc.js b/packages/vite-plugin/.eslintrc.js
new file mode 100644
index 000000000000..42b35d843948
--- /dev/null
+++ b/packages/vite-plugin/.eslintrc.js
@@ -0,0 +1,20 @@
+const jestPackageJson = require("jest/package.json");
+
+/** @type {import('eslint').ESLint.Options} */
+module.exports = {
+ root: true,
+ extends: ["@sentry-internal/eslint-config/jest", "@sentry-internal/eslint-config/base"],
+ ignorePatterns: [".eslintrc.js", "dist", "jest.config.js", "rollup.config.js"],
+ parserOptions: {
+ tsconfigRootDir: __dirname,
+ project: ["./src/tsconfig.json", "./test/tsconfig.json"],
+ },
+ env: {
+ node: true,
+ },
+ settings: {
+ jest: {
+ version: jestPackageJson.version,
+ },
+ },
+};
diff --git a/packages/vite-plugin/.gitignore b/packages/vite-plugin/.gitignore
new file mode 100644
index 000000000000..1521c8b7652b
--- /dev/null
+++ b/packages/vite-plugin/.gitignore
@@ -0,0 +1 @@
+dist
diff --git a/packages/vite-plugin/LICENSE b/packages/vite-plugin/LICENSE
new file mode 100644
index 000000000000..4acee9a39ecb
--- /dev/null
+++ b/packages/vite-plugin/LICENSE
@@ -0,0 +1,29 @@
+# MIT License
+
+Copyright (c) 2022, Sentry
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+- Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+- Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+- Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/packages/vite-plugin/jest.config.js b/packages/vite-plugin/jest.config.js
new file mode 100644
index 000000000000..160178bbd22f
--- /dev/null
+++ b/packages/vite-plugin/jest.config.js
@@ -0,0 +1,6 @@
+module.exports = {
+ testEnvironment: "node",
+ transform: {
+ "^.+\\.(t|j)sx?$": ["@swc/jest"],
+ },
+};
diff --git a/packages/vite-plugin/package.json b/packages/vite-plugin/package.json
new file mode 100644
index 000000000000..b7bd0b1bbbca
--- /dev/null
+++ b/packages/vite-plugin/package.json
@@ -0,0 +1,61 @@
+{
+ "name": "@sentry/vite-plugin",
+ "version": "0.0.1",
+ "description": "Official Sentry Vite plugin",
+ "repository": "git://github.com/getsentry/sentry-unplugin.git",
+ "homepage": "https://github.com/getsentry/sentry-unplugin/tree/main/packages/vite-plugin",
+ "author": "Sentry",
+ "license": "MIT",
+ "keywords": [
+ "Sentry",
+ "Vite",
+ "bundler",
+ "plugin"
+ ],
+ "publishConfig": {
+ "access": "public"
+ },
+ "files": [
+ "dist"
+ ],
+ "main": "dist/cjs/index.js",
+ "module": "dist/esm/index.js",
+ "types": "dist/types/index.d.ts",
+ "scripts": {
+ "build": "rimraf ./out && run-p build:rollup build:types",
+ "build:watch": "run-p build:rollup:watch build:types:watch",
+ "build:rollup": "rollup --config rollup.config.js",
+ "build:rollup:watch": "rollup --config rollup.config.js --watch --no-watch.clearScreen",
+ "build:types": "tsc --project types.tsconfig.json",
+ "build:types:watch": "tsc --project types.tsconfig.json --watch --preserveWatchOutput",
+ "check:types": "run-p check:types:src check:types:test",
+ "check:types:src": "tsc --project ./src/tsconfig.json --noEmit",
+ "check:types:test": "tsc --project ./test/tsconfig.json --noEmit",
+ "test": "jest",
+ "lint": "eslint ./src ./test"
+ },
+ "dependencies": {
+ "@sentry/sentry-unplugin": "0.0.1"
+ },
+ "devDependencies": {
+ "@babel/core": "7.18.5",
+ "@babel/preset-env": "7.18.2",
+ "@babel/preset-typescript": "7.17.12",
+ "@rollup/plugin-babel": "5.3.1",
+ "@rollup/plugin-commonjs": "22.0.1",
+ "@rollup/plugin-json": "4.1.0",
+ "@rollup/plugin-node-resolve": "13.3.0",
+ "@swc/core": "^1.2.205",
+ "@swc/jest": "^0.2.21",
+ "@types/jest": "^28.1.3",
+ "@types/node": "^18.6.3",
+ "@sentry-internal/eslint-config": "*",
+ "@sentry-internal/sentry-unplugin-tsconfig": "*",
+ "eslint": "^8.18.0",
+ "jest": "^28.1.1",
+ "npm-run-all": "^4.1.5",
+ "rimraf": "^3.0.2",
+ "rollup": "2.75.7",
+ "typescript": "^4.7.4"
+ }
+}
diff --git a/packages/vite-plugin/rollup.config.js b/packages/vite-plugin/rollup.config.js
new file mode 100644
index 000000000000..eb423e78ca7b
--- /dev/null
+++ b/packages/vite-plugin/rollup.config.js
@@ -0,0 +1,35 @@
+import resolve from "@rollup/plugin-node-resolve";
+import babel from "@rollup/plugin-babel";
+import packageJson from "./package.json";
+import modulePackage from "module";
+
+const input = ["src/index.ts"];
+
+const extensions = [".ts"];
+
+export default {
+ input,
+ external: [...Object.keys(packageJson.dependencies), ...modulePackage.builtinModules],
+ plugins: [
+ resolve({ extensions, preferBuiltins: true }),
+ babel({
+ extensions,
+ babelHelpers: "bundled",
+ include: ["src/**/*"],
+ }),
+ ],
+ output: [
+ {
+ file: packageJson.module,
+ format: "esm",
+ exports: "named",
+ sourcemap: true,
+ },
+ {
+ file: packageJson.main,
+ format: "cjs",
+ exports: "named",
+ sourcemap: true,
+ },
+ ],
+};
diff --git a/packages/vite-plugin/src/index.ts b/packages/vite-plugin/src/index.ts
new file mode 100644
index 000000000000..216d37ad1f69
--- /dev/null
+++ b/packages/vite-plugin/src/index.ts
@@ -0,0 +1,2 @@
+export { sentryVitePlugin as default } from "@sentry/sentry-unplugin";
+export type { Options } from "@sentry/sentry-unplugin";
diff --git a/packages/vite-plugin/src/tsconfig.json b/packages/vite-plugin/src/tsconfig.json
new file mode 100644
index 000000000000..86051fab4936
--- /dev/null
+++ b/packages/vite-plugin/src/tsconfig.json
@@ -0,0 +1,8 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "@sentry-internal/sentry-unplugin-tsconfig/base-config.json",
+ "include": ["./**/*", "../package.json"],
+ "compilerOptions": {
+ "esModuleInterop": true
+ }
+}
diff --git a/packages/vite-plugin/test/public-api.test.ts b/packages/vite-plugin/test/public-api.test.ts
new file mode 100644
index 000000000000..1de1f84db7f8
--- /dev/null
+++ b/packages/vite-plugin/test/public-api.test.ts
@@ -0,0 +1,6 @@
+import sentryVitePlugin from "../src";
+
+test("Vite plugin should exist", () => {
+ expect(sentryVitePlugin).toBeDefined();
+ expect(typeof sentryVitePlugin).toBe("function");
+});
diff --git a/packages/vite-plugin/test/tsconfig.json b/packages/vite-plugin/test/tsconfig.json
new file mode 100644
index 000000000000..b73d9b533da9
--- /dev/null
+++ b/packages/vite-plugin/test/tsconfig.json
@@ -0,0 +1,8 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "../src/tsconfig.json",
+ "include": ["../src/**/*", "./**/*"],
+ "compilerOptions": {
+ "types": ["node", "jest"]
+ }
+}
diff --git a/packages/vite-plugin/types.tsconfig.json b/packages/vite-plugin/types.tsconfig.json
new file mode 100644
index 000000000000..fb161bc4ab78
--- /dev/null
+++ b/packages/vite-plugin/types.tsconfig.json
@@ -0,0 +1,11 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "./src/tsconfig.json",
+ "include": ["./src/**/*"],
+ "compilerOptions": {
+ "rootDir": "./src",
+ "declaration": true,
+ "emitDeclarationOnly": true,
+ "declarationDir": "./dist/types"
+ }
+}
diff --git a/packages/webpack-plugin/.babelrc.json b/packages/webpack-plugin/.babelrc.json
new file mode 100644
index 000000000000..0c20c06e021f
--- /dev/null
+++ b/packages/webpack-plugin/.babelrc.json
@@ -0,0 +1,3 @@
+{
+ "presets": ["@babel/env", "@babel/typescript"]
+}
diff --git a/packages/webpack-plugin/.eslintrc.js b/packages/webpack-plugin/.eslintrc.js
new file mode 100644
index 000000000000..42b35d843948
--- /dev/null
+++ b/packages/webpack-plugin/.eslintrc.js
@@ -0,0 +1,20 @@
+const jestPackageJson = require("jest/package.json");
+
+/** @type {import('eslint').ESLint.Options} */
+module.exports = {
+ root: true,
+ extends: ["@sentry-internal/eslint-config/jest", "@sentry-internal/eslint-config/base"],
+ ignorePatterns: [".eslintrc.js", "dist", "jest.config.js", "rollup.config.js"],
+ parserOptions: {
+ tsconfigRootDir: __dirname,
+ project: ["./src/tsconfig.json", "./test/tsconfig.json"],
+ },
+ env: {
+ node: true,
+ },
+ settings: {
+ jest: {
+ version: jestPackageJson.version,
+ },
+ },
+};
diff --git a/packages/webpack-plugin/.gitignore b/packages/webpack-plugin/.gitignore
new file mode 100644
index 000000000000..1521c8b7652b
--- /dev/null
+++ b/packages/webpack-plugin/.gitignore
@@ -0,0 +1 @@
+dist
diff --git a/packages/webpack-plugin/LICENSE b/packages/webpack-plugin/LICENSE
new file mode 100644
index 000000000000..4acee9a39ecb
--- /dev/null
+++ b/packages/webpack-plugin/LICENSE
@@ -0,0 +1,29 @@
+# MIT License
+
+Copyright (c) 2022, Sentry
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+- Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+- Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+- Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/packages/webpack-plugin/jest.config.js b/packages/webpack-plugin/jest.config.js
new file mode 100644
index 000000000000..160178bbd22f
--- /dev/null
+++ b/packages/webpack-plugin/jest.config.js
@@ -0,0 +1,6 @@
+module.exports = {
+ testEnvironment: "node",
+ transform: {
+ "^.+\\.(t|j)sx?$": ["@swc/jest"],
+ },
+};
diff --git a/packages/webpack-plugin/package.json b/packages/webpack-plugin/package.json
new file mode 100644
index 000000000000..ea00ca445824
--- /dev/null
+++ b/packages/webpack-plugin/package.json
@@ -0,0 +1,62 @@
+{
+ "name": "@sentry/webpack-plugin",
+ "version": "0.0.1",
+ "description": "Official Sentry Webpack plugin",
+ "repository": "git://github.com/getsentry/sentry-unplugin.git",
+ "homepage": "https://github.com/getsentry/sentry-unplugin/tree/main/packages/webpack-plugin",
+ "author": "Sentry",
+ "license": "MIT",
+ "keywords": [
+ "Sentry",
+ "Vite",
+ "bundler",
+ "plugin"
+ ],
+ "private": true,
+ "publishConfig": {
+ "access": "restricted"
+ },
+ "files": [
+ "dist"
+ ],
+ "main": "dist/cjs/index.js",
+ "module": "dist/esm/index.js",
+ "types": "dist/types/index.d.ts",
+ "scripts": {
+ "build": "rimraf ./out && run-p build:rollup build:types",
+ "build:watch": "run-p build:rollup:watch build:types:watch",
+ "build:rollup": "rollup --config rollup.config.js",
+ "build:rollup:watch": "rollup --config rollup.config.js --watch --no-watch.clearScreen",
+ "build:types": "tsc --project types.tsconfig.json",
+ "build:types:watch": "tsc --project types.tsconfig.json --watch --preserveWatchOutput",
+ "check:types": "run-p check:types:src check:types:test",
+ "check:types:src": "tsc --project ./src/tsconfig.json --noEmit",
+ "check:types:test": "tsc --project ./test/tsconfig.json --noEmit",
+ "test": "jest",
+ "lint": "eslint ./src ./test"
+ },
+ "dependencies": {
+ "@sentry/sentry-unplugin": "0.0.1"
+ },
+ "devDependencies": {
+ "@babel/core": "7.18.5",
+ "@babel/preset-env": "7.18.2",
+ "@babel/preset-typescript": "7.17.12",
+ "@rollup/plugin-babel": "5.3.1",
+ "@rollup/plugin-commonjs": "22.0.1",
+ "@rollup/plugin-json": "4.1.0",
+ "@rollup/plugin-node-resolve": "13.3.0",
+ "@swc/core": "^1.2.205",
+ "@swc/jest": "^0.2.21",
+ "@types/jest": "^28.1.3",
+ "@types/node": "^18.6.3",
+ "@sentry-internal/eslint-config": "*",
+ "@sentry-internal/sentry-unplugin-tsconfig": "*",
+ "eslint": "^8.18.0",
+ "jest": "^28.1.1",
+ "npm-run-all": "^4.1.5",
+ "rimraf": "^3.0.2",
+ "rollup": "2.75.7",
+ "typescript": "^4.7.4"
+ }
+}
diff --git a/packages/webpack-plugin/rollup.config.js b/packages/webpack-plugin/rollup.config.js
new file mode 100644
index 000000000000..eb423e78ca7b
--- /dev/null
+++ b/packages/webpack-plugin/rollup.config.js
@@ -0,0 +1,35 @@
+import resolve from "@rollup/plugin-node-resolve";
+import babel from "@rollup/plugin-babel";
+import packageJson from "./package.json";
+import modulePackage from "module";
+
+const input = ["src/index.ts"];
+
+const extensions = [".ts"];
+
+export default {
+ input,
+ external: [...Object.keys(packageJson.dependencies), ...modulePackage.builtinModules],
+ plugins: [
+ resolve({ extensions, preferBuiltins: true }),
+ babel({
+ extensions,
+ babelHelpers: "bundled",
+ include: ["src/**/*"],
+ }),
+ ],
+ output: [
+ {
+ file: packageJson.module,
+ format: "esm",
+ exports: "named",
+ sourcemap: true,
+ },
+ {
+ file: packageJson.main,
+ format: "cjs",
+ exports: "named",
+ sourcemap: true,
+ },
+ ],
+};
diff --git a/packages/webpack-plugin/src/index.ts b/packages/webpack-plugin/src/index.ts
new file mode 100644
index 000000000000..7f1b86e673ff
--- /dev/null
+++ b/packages/webpack-plugin/src/index.ts
@@ -0,0 +1,2 @@
+export { sentryWebpackPlugin as default } from "@sentry/sentry-unplugin";
+export type { Options } from "@sentry/sentry-unplugin";
diff --git a/packages/webpack-plugin/src/tsconfig.json b/packages/webpack-plugin/src/tsconfig.json
new file mode 100644
index 000000000000..86051fab4936
--- /dev/null
+++ b/packages/webpack-plugin/src/tsconfig.json
@@ -0,0 +1,8 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "@sentry-internal/sentry-unplugin-tsconfig/base-config.json",
+ "include": ["./**/*", "../package.json"],
+ "compilerOptions": {
+ "esModuleInterop": true
+ }
+}
diff --git a/packages/webpack-plugin/test/public-api.test.ts b/packages/webpack-plugin/test/public-api.test.ts
new file mode 100644
index 000000000000..81979a74183f
--- /dev/null
+++ b/packages/webpack-plugin/test/public-api.test.ts
@@ -0,0 +1,6 @@
+import sentryWebpackPlugin from "../src";
+
+test("Webpack plugin should exist", () => {
+ expect(sentryWebpackPlugin).toBeDefined();
+ expect(typeof sentryWebpackPlugin).toBe("function");
+});
diff --git a/packages/webpack-plugin/test/tsconfig.json b/packages/webpack-plugin/test/tsconfig.json
new file mode 100644
index 000000000000..b73d9b533da9
--- /dev/null
+++ b/packages/webpack-plugin/test/tsconfig.json
@@ -0,0 +1,8 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "../src/tsconfig.json",
+ "include": ["../src/**/*", "./**/*"],
+ "compilerOptions": {
+ "types": ["node", "jest"]
+ }
+}
diff --git a/packages/webpack-plugin/types.tsconfig.json b/packages/webpack-plugin/types.tsconfig.json
new file mode 100644
index 000000000000..fb161bc4ab78
--- /dev/null
+++ b/packages/webpack-plugin/types.tsconfig.json
@@ -0,0 +1,11 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "./src/tsconfig.json",
+ "include": ["./src/**/*"],
+ "compilerOptions": {
+ "rootDir": "./src",
+ "declaration": true,
+ "emitDeclarationOnly": true,
+ "declarationDir": "./dist/types"
+ }
+}
diff --git a/yarn.lock b/yarn.lock
index d34d5050a38d..a71a052cf63e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1564,7 +1564,7 @@
magic-string "^0.25.7"
resolve "^1.17.0"
-"@rollup/plugin-json@^4.1.0":
+"@rollup/plugin-json@4.1.0":
version "4.1.0"
resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-4.1.0.tgz#54e09867ae6963c593844d8bd7a9c718294496f3"
integrity sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==
From 8fd022757c71046a6067e4ed1d61cf810254d65e Mon Sep 17 00:00:00 2001
From: Vladan Paunovic
Date: Fri, 26 Aug 2022 18:45:42 +0200
Subject: [PATCH 041/640] chore(README): Add READMEs (#39)
Co-authored-by: Luca Forstner
---
README.md | 36 +++++++++++++++++++++++++-
packages/esbuild-plugin/README.md | 43 +++++++++++++++++++++++++++++++
packages/rollup-plugin/README.md | 43 +++++++++++++++++++++++++++++++
packages/unplugin/src/index.ts | 1 -
packages/unplugin/src/types.ts | 1 -
packages/vite-plugin/README.md | 43 +++++++++++++++++++++++++++++++
packages/webpack-plugin/README.md | 43 +++++++++++++++++++++++++++++++
7 files changed, 207 insertions(+), 3 deletions(-)
create mode 100644 packages/esbuild-plugin/README.md
create mode 100644 packages/rollup-plugin/README.md
create mode 100644 packages/vite-plugin/README.md
create mode 100644 packages/webpack-plugin/README.md
diff --git a/README.md b/README.md
index dc55f7cd218c..a29237caa0e9 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,35 @@
-# sentry-unplugin
+
+
+
+
+
+
+# Sentry Unplugin
+
+**DISCLAIMER: This package is work in progress and not production ready. Use with caution. We're happy to receive your feedback!**
+
+Universal Sentry plugin for various JavaScript bundlers. Based on [unjs/uplugin](https://github.com/unjs/unplugin). Currently supports Rollup, Vite, esbuild, Webpack 4 and Webpack 5.
+
+Check out the individual packages for more information and examples:
+
+- [Rollup](https://github.com/getsentry/hackweek-sentry-unplugin/tree/main/packages/rollup-plugin)
+- [Vite](https://github.com/getsentry/hackweek-sentry-unplugin/tree/main/packages/vite-plugin)
+- [esbuild](https://github.com/getsentry/hackweek-sentry-unplugin/tree/main/packages/esbuild-plugin)
+- [Webpack](https://github.com/getsentry/hackweek-sentry-unplugin/tree/main/packages/webpack-plugin)
+
+### Features
+
+The Sentry Unplugin supports [Sentry CLI](https://docs.sentry.io/learn/cli/) features required for node environments:
+
+- Sourcemap upload
+- Release creation in Sentry
+- Automatic release name discovery (based on CI environment - Vercel, AWS, Heroku, CircleCI, or current Git SHA)
+- Automatically associate errors with releases (Release injection)
+
+### More information
+
+- [Sentry Documentation](https://docs.sentry.io/quickstart/)
+- [Troubleshooting Sourcemaps](https://docs.sentry.io/platforms/javascript/sourcemaps/troubleshooting_js/)
+- [Sentry CLI](https://docs.sentry.io/learn/cli/)
+- [Sentry Discord](https://discord.gg/Ww9hbqr)
+- [Sentry Stackoverflow](http://stackoverflow.com/questions/tagged/sentry)
diff --git a/packages/esbuild-plugin/README.md b/packages/esbuild-plugin/README.md
new file mode 100644
index 000000000000..b95d5da310c9
--- /dev/null
+++ b/packages/esbuild-plugin/README.md
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+# Sentry Esbuild Plugin
+
+**DISCLAIMER: This package is work in progress and not production ready. Use with caution. We're happy to receive your feedback!**
+
+A esbuild plugin that provides release management features for Sentry:
+
+- Sourcemap upload
+- Release creation
+- Automatic release name discovery (based on CI environment - Vercel, AWS, Heroku, CircleCI, or current Git SHA)
+- Automatically association of errors with releases (Release injection)
+
+### Configuration
+
+Every plugin takes an options argument with the following properties:
+
+| Option | Type | Required | Description |
+| -------------- | ----------------------------------------------------------------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| include | `string` | required | A path that the plugin should scan recursively for source maps. It will upload all `.map` files and match associated `.js` files. |
+| org | `string` | optional | The slug of the Sentry organization associated with the app. |
+| project | `string` | optional | The slug of the Sentry project associated with the app. |
+| authToken | `string` | optional | The authentication token to use for all communication with Sentry. Can be obtained from https://sentry.io/settings/account/api/auth-tokens/. Required scopes: `project:releases` (and `org:read` if `setCommits` option is used). |
+| url | `string` | optional | The base URL of your Sentry instance. Defaults to https://sentry.io/, which is the correct value for SAAS customers. |
+| release | `string` | optional | Unique identifier for the release. Defaults to automatically detected values for CI environments like Vercel, AWS, Heroku, CircleCI. If no such CI environment is detected, the plugin uses the git `HEAD`'s commit SHA. (**For `HEAD` option, requires access to the `git` CLI**). |
+| entries | `(string \| RegExp)[] \| RegExp \| string \| function(absoluteFilePath: string): boolean` | optional | Filter for entry points that should be processed. By default, the release will be injected into all entry points. |
+| ext | `array` | optional | The file extensions to be considered for the sourcemaps upload. By default the following file extensions are processed: `js`, `map`, `jsbundle`, and `bundle`. |
+| finalize | `boolean` | optional | Indicates whether Sentry release record should be automatically finalized (`date_released` timestamp added) after artifact upload. Defaults to `true` |
+| debug | `boolean` | optional | Print useful debug information. Defaults to `false`. |
+| cleanArtifacts | `boolean` | optional | Remove all existing artifacts in the Sentry release before uploading sourcemaps. Defaults to `false`. |
+| errorHandler | `function(err: Error): void` | optional | Function that is called when an error occurs during rlease creation or sourcemaps upload. When this function is provided, thrown errors will not cause the process to abort. If you still want to abort the process you can throw an error in the function. |
+
+### More information
+
+- [Sentry Documentation](https://docs.sentry.io/quickstart/)
+- [Troubleshooting Sourcemaps](https://docs.sentry.io/platforms/javascript/sourcemaps/troubleshooting_js/)
+- [Sentry CLI](https://docs.sentry.io/learn/cli/)
+- [Sentry Discord](https://discord.gg/Ww9hbqr)
+- [Sentry Stackoverflow](http://stackoverflow.com/questions/tagged/sentry)
diff --git a/packages/rollup-plugin/README.md b/packages/rollup-plugin/README.md
new file mode 100644
index 000000000000..919e61e06878
--- /dev/null
+++ b/packages/rollup-plugin/README.md
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+# Sentry Rollup Plugin
+
+**DISCLAIMER: This package is work in progress and not production ready. Use with caution. We're happy to receive your feedback!**
+
+A Rollup plugin that provides release management features for Sentry:
+
+- Sourcemap upload
+- Release creation
+- Automatic release name discovery (based on CI environment - Vercel, AWS, Heroku, CircleCI, or current Git SHA)
+- Automatically association of errors with releases (Release injection)
+
+### Configuration
+
+Every plugin takes an options argument with the following properties:
+
+| Option | Type | Required | Description |
+| -------------- | ----------------------------------------------------------------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| include | `string` | required | A path that the plugin should scan recursively for source maps. It will upload all `.map` files and match associated `.js` files. |
+| org | `string` | optional | The slug of the Sentry organization associated with the app. |
+| project | `string` | optional | The slug of the Sentry project associated with the app. |
+| authToken | `string` | optional | The authentication token to use for all communication with Sentry. Can be obtained from https://sentry.io/settings/account/api/auth-tokens/. Required scopes: `project:releases` (and `org:read` if `setCommits` option is used). |
+| url | `string` | optional | The base URL of your Sentry instance. Defaults to https://sentry.io/, which is the correct value for SAAS customers. |
+| release | `string` | optional | Unique identifier for the release. Defaults to automatically detected values for CI environments like Vercel, AWS, Heroku, CircleCI. If no such CI environment is detected, the plugin uses the git `HEAD`'s commit SHA. (**For `HEAD` option, requires access to the `git` CLI**). |
+| entries | `(string \| RegExp)[] \| RegExp \| string \| function(absoluteFilePath: string): boolean` | optional | Filter for entry points that should be processed. By default, the release will be injected into all entry points. |
+| ext | `array` | optional | The file extensions to be considered for the sourcemaps upload. By default the following file extensions are processed: `js`, `map`, `jsbundle`, and `bundle`. |
+| finalize | `boolean` | optional | Indicates whether Sentry release record should be automatically finalized (`date_released` timestamp added) after artifact upload. Defaults to `true` |
+| debug | `boolean` | optional | Print useful debug information. Defaults to `false`. |
+| cleanArtifacts | `boolean` | optional | Remove all existing artifacts in the Sentry release before uploading sourcemaps. Defaults to `false`. |
+| errorHandler | `function(err: Error): void` | optional | Function that is called when an error occurs during rlease creation or sourcemaps upload. When this function is provided, thrown errors will not cause the process to abort. If you still want to abort the process you can throw an error in the function. |
+
+### More information
+
+- [Sentry Documentation](https://docs.sentry.io/quickstart/)
+- [Troubleshooting Sourcemaps](https://docs.sentry.io/platforms/javascript/sourcemaps/troubleshooting_js/)
+- [Sentry CLI](https://docs.sentry.io/learn/cli/)
+- [Sentry Discord](https://discord.gg/Ww9hbqr)
+- [Sentry Stackoverflow](http://stackoverflow.com/questions/tagged/sentry)
diff --git a/packages/unplugin/src/index.ts b/packages/unplugin/src/index.ts
index 5e844e3e7bc8..35ad7a118d41 100644
--- a/packages/unplugin/src/index.ts
+++ b/packages/unplugin/src/index.ts
@@ -17,7 +17,6 @@ import { Span, Transaction } from "@sentry/types";
const defaultOptions: Omit = {
//TODO: add default options here as we port over options from the webpack plugin
// validate: false
- configFile: "~/.sentryclirc",
debug: false,
cleanArtifacts: false,
finalize: true,
diff --git a/packages/unplugin/src/types.ts b/packages/unplugin/src/types.ts
index 92e8c6ad6150..c73a2a5cbc13 100644
--- a/packages/unplugin/src/types.ts
+++ b/packages/unplugin/src/types.ts
@@ -12,7 +12,6 @@ export type Options = {
project?: string;
authToken?: string;
url?: string;
- configFile?: string;
/* --- release properties: */
release?: string;
diff --git a/packages/vite-plugin/README.md b/packages/vite-plugin/README.md
new file mode 100644
index 000000000000..29fde81497e7
--- /dev/null
+++ b/packages/vite-plugin/README.md
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+# Sentry Vite Plugin
+
+**DISCLAIMER: This package is work in progress and not production ready. Use with caution. We're happy to receive your feedback!**
+
+A Vite plugin that provides release management features for Sentry:
+
+- Sourcemap upload
+- Release creation
+- Automatic release name discovery (based on CI environment - Vercel, AWS, Heroku, CircleCI, or current Git SHA)
+- Automatically association of errors with releases (Release injection)
+
+### Configuration
+
+Every plugin takes an options argument with the following properties:
+
+| Option | Type | Required | Description |
+| -------------- | ----------------------------------------------------------------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| include | `string` | required | A path that the plugin should scan recursively for source maps. It will upload all `.map` files and match associated `.js` files. |
+| org | `string` | optional | The slug of the Sentry organization associated with the app. |
+| project | `string` | optional | The slug of the Sentry project associated with the app. |
+| authToken | `string` | optional | The authentication token to use for all communication with Sentry. Can be obtained from https://sentry.io/settings/account/api/auth-tokens/. Required scopes: `project:releases` (and `org:read` if `setCommits` option is used). |
+| url | `string` | optional | The base URL of your Sentry instance. Defaults to https://sentry.io/, which is the correct value for SAAS customers. |
+| release | `string` | optional | Unique identifier for the release. Defaults to automatically detected values for CI environments like Vercel, AWS, Heroku, CircleCI. If no such CI environment is detected, the plugin uses the git `HEAD`'s commit SHA. (**For `HEAD` option, requires access to the `git` CLI**). |
+| entries | `(string \| RegExp)[] \| RegExp \| string \| function(absoluteFilePath: string): boolean` | optional | Filter for entry points that should be processed. By default, the release will be injected into all entry points. |
+| ext | `array` | optional | The file extensions to be considered for the sourcemaps upload. By default the following file extensions are processed: `js`, `map`, `jsbundle`, and `bundle`. |
+| finalize | `boolean` | optional | Indicates whether Sentry release record should be automatically finalized (`date_released` timestamp added) after artifact upload. Defaults to `true` |
+| debug | `boolean` | optional | Print useful debug information. Defaults to `false`. |
+| cleanArtifacts | `boolean` | optional | Remove all existing artifacts in the Sentry release before uploading sourcemaps. Defaults to `false`. |
+| errorHandler | `function(err: Error): void` | optional | Function that is called when an error occurs during rlease creation or sourcemaps upload. When this function is provided, thrown errors will not cause the process to abort. If you still want to abort the process you can throw an error in the function. |
+
+### More information
+
+- [Sentry Documentation](https://docs.sentry.io/quickstart/)
+- [Troubleshooting Sourcemaps](https://docs.sentry.io/platforms/javascript/sourcemaps/troubleshooting_js/)
+- [Sentry CLI](https://docs.sentry.io/learn/cli/)
+- [Sentry Discord](https://discord.gg/Ww9hbqr)
+- [Sentry Stackoverflow](http://stackoverflow.com/questions/tagged/sentry)
diff --git a/packages/webpack-plugin/README.md b/packages/webpack-plugin/README.md
new file mode 100644
index 000000000000..05e169c55ba5
--- /dev/null
+++ b/packages/webpack-plugin/README.md
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+# Sentry Webpack Plugin
+
+**DISCLAIMER: This package is work in progress and not production ready. Use with caution. We're happy to receive your feedback!**
+
+A Webpack plugin that provides release management features for Sentry:
+
+- Sourcemap upload
+- Release creation
+- Automatic release name discovery (based on CI environment - Vercel, AWS, Heroku, CircleCI, or current Git SHA)
+- Automatically association of errors with releases (Release injection)
+
+### Configuration
+
+Every plugin takes an options argument with the following properties:
+
+| Option | Type | Required | Description |
+| -------------- | ----------------------------------------------------------------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| include | `string` | required | A path that the plugin should scan recursively for source maps. It will upload all `.map` files and match associated `.js` files. |
+| org | `string` | optional | The slug of the Sentry organization associated with the app. |
+| project | `string` | optional | The slug of the Sentry project associated with the app. |
+| authToken | `string` | optional | The authentication token to use for all communication with Sentry. Can be obtained from https://sentry.io/settings/account/api/auth-tokens/. Required scopes: `project:releases` (and `org:read` if `setCommits` option is used). |
+| url | `string` | optional | The base URL of your Sentry instance. Defaults to https://sentry.io/, which is the correct value for SAAS customers. |
+| release | `string` | optional | Unique identifier for the release. Defaults to automatically detected values for CI environments like Vercel, AWS, Heroku, CircleCI. If no such CI environment is detected, the plugin uses the git `HEAD`'s commit SHA. (**For `HEAD` option, requires access to the `git` CLI**). |
+| entries | `(string \| RegExp)[] \| RegExp \| string \| function(absoluteFilePath: string): boolean` | optional | Filter for entry points that should be processed. By default, the release will be injected into all entry points. |
+| ext | `array` | optional | The file extensions to be considered for the sourcemaps upload. By default the following file extensions are processed: `js`, `map`, `jsbundle`, and `bundle`. |
+| finalize | `boolean` | optional | Indicates whether Sentry release record should be automatically finalized (`date_released` timestamp added) after artifact upload. Defaults to `true` |
+| debug | `boolean` | optional | Print useful debug information. Defaults to `false`. |
+| cleanArtifacts | `boolean` | optional | Remove all existing artifacts in the Sentry release before uploading sourcemaps. Defaults to `false`. |
+| errorHandler | `function(err: Error): void` | optional | Function that is called when an error occurs during rlease creation or sourcemaps upload. When this function is provided, thrown errors will not cause the process to abort. If you still want to abort the process you can throw an error in the function. |
+
+### More information
+
+- [Sentry Documentation](https://docs.sentry.io/quickstart/)
+- [Troubleshooting Sourcemaps](https://docs.sentry.io/platforms/javascript/sourcemaps/troubleshooting_js/)
+- [Sentry CLI](https://docs.sentry.io/learn/cli/)
+- [Sentry Discord](https://discord.gg/Ww9hbqr)
+- [Sentry Stackoverflow](http://stackoverflow.com/questions/tagged/sentry)
From 2c12274036db664f2fc91466e4f7b37b337bfc2a Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Fri, 26 Aug 2022 23:12:16 +0200
Subject: [PATCH 042/640] ref: Inject package version via rollup plugin
---
packages/unplugin/.eslintrc.js | 3 +++
packages/unplugin/jest.config.js | 5 +++++
packages/unplugin/package.json | 5 +++--
packages/unplugin/rollup.config.js | 4 ++++
packages/unplugin/src/globals.d.ts | 5 +++++
packages/unplugin/src/sentry/api.ts | 11 ++---------
packages/unplugin/src/sentry/telemetry.ts | 9 +++++++--
packages/unplugin/src/tsconfig.json | 2 +-
yarn.lock | 8 ++++++++
9 files changed, 38 insertions(+), 14 deletions(-)
create mode 100644 packages/unplugin/src/globals.d.ts
diff --git a/packages/unplugin/.eslintrc.js b/packages/unplugin/.eslintrc.js
index 42b35d843948..404bc734c663 100644
--- a/packages/unplugin/.eslintrc.js
+++ b/packages/unplugin/.eslintrc.js
@@ -9,6 +9,9 @@ module.exports = {
tsconfigRootDir: __dirname,
project: ["./src/tsconfig.json", "./test/tsconfig.json"],
},
+ globals: {
+ __PACKAGE_VERSION__: "readonly",
+ },
env: {
node: true,
},
diff --git a/packages/unplugin/jest.config.js b/packages/unplugin/jest.config.js
index 160178bbd22f..5354af34a5d8 100644
--- a/packages/unplugin/jest.config.js
+++ b/packages/unplugin/jest.config.js
@@ -1,6 +1,11 @@
+const packageJson = require("./package.json");
+
module.exports = {
testEnvironment: "node",
transform: {
"^.+\\.(t|j)sx?$": ["@swc/jest"],
},
+ globals: {
+ __PACKAGE_VERSION__: packageJson.version,
+ },
};
diff --git a/packages/unplugin/package.json b/packages/unplugin/package.json
index 7af444940d18..9c5578b70117 100644
--- a/packages/unplugin/package.json
+++ b/packages/unplugin/package.json
@@ -44,12 +44,13 @@
"@rollup/plugin-commonjs": "22.0.1",
"@rollup/plugin-json": "4.1.0",
"@rollup/plugin-node-resolve": "13.3.0",
+ "@rollup/plugin-replace": "^4.0.0",
+ "@sentry-internal/eslint-config": "*",
+ "@sentry-internal/sentry-unplugin-tsconfig": "*",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
"@types/node": "^18.6.3",
- "@sentry-internal/eslint-config": "*",
- "@sentry-internal/sentry-unplugin-tsconfig": "*",
"eslint": "^8.18.0",
"jest": "^28.1.1",
"npm-run-all": "^4.1.5",
diff --git a/packages/unplugin/rollup.config.js b/packages/unplugin/rollup.config.js
index 588b923cf5e2..8e13d8366fa0 100644
--- a/packages/unplugin/rollup.config.js
+++ b/packages/unplugin/rollup.config.js
@@ -1,5 +1,6 @@
import commonjs from "@rollup/plugin-commonjs";
import resolve from "@rollup/plugin-node-resolve";
+import replace from "@rollup/plugin-replace";
import babel from "@rollup/plugin-babel";
import packageJson from "./package.json";
import json from "@rollup/plugin-json";
@@ -16,6 +17,9 @@ export default {
resolve({ extensions, preferBuiltins: true }),
commonjs(),
json(),
+ replace({
+ __PACKAGE_VERSION__: JSON.stringify(packageJson.version),
+ }),
babel({
extensions,
babelHelpers: "bundled",
diff --git a/packages/unplugin/src/globals.d.ts b/packages/unplugin/src/globals.d.ts
new file mode 100644
index 000000000000..f0bf426dddfc
--- /dev/null
+++ b/packages/unplugin/src/globals.d.ts
@@ -0,0 +1,5 @@
+/**
+ * Variable injected during build process. Evaluates to the current version as provided in the package.json's version
+ * field.
+ */
+declare const __PACKAGE_VERSION__: string;
diff --git a/packages/unplugin/src/sentry/api.ts b/packages/unplugin/src/sentry/api.ts
index 9e2150c1fa6a..ebda97c9d80f 100644
--- a/packages/unplugin/src/sentry/api.ts
+++ b/packages/unplugin/src/sentry/api.ts
@@ -1,18 +1,11 @@
+import { Hub } from "@sentry/node";
import axios from "axios";
-
import FormData from "form-data";
-
-// We need to ignore the import because the package.json is not part of the TS project as configured in tsconfig.json
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore
-import { version as unpluginVersion } from "../../package.json";
import { captureMinimalError } from "./telemetry";
-import { Hub } from "@sentry/node";
const API_PATH = "/api/0";
+const USER_AGENT = `sentry-unplugin/${__PACKAGE_VERSION__}`;
-// eslint-disable-next-line @typescript-eslint/restrict-template-expressions, @typescript-eslint/no-unsafe-member-access
-const USER_AGENT = `sentry-unplugin/${unpluginVersion}`;
const sentryApiAxiosInstance = axios.create({ headers: { "User-Agent": USER_AGENT } });
export async function createRelease({
diff --git a/packages/unplugin/src/sentry/telemetry.ts b/packages/unplugin/src/sentry/telemetry.ts
index 16bd7de8b6db..d33003caa1fc 100644
--- a/packages/unplugin/src/sentry/telemetry.ts
+++ b/packages/unplugin/src/sentry/telemetry.ts
@@ -8,7 +8,6 @@ import {
} from "@sentry/node";
import { Span } from "@sentry/tracing";
import { AxiosError } from "axios";
-import { version as unpluginVersion } from "../../package.json";
import { BuildContext } from "../types";
export function makeSentryClient(
@@ -23,7 +22,7 @@ export function makeSentryClient(
tracesSampleRate: telemetryEnabled ? 1.0 : 0.0,
sampleRate: telemetryEnabled ? 1.0 : 0.0,
- release: `${org ? `${org}@` : ""}${unpluginVersion}`,
+ release: __PACKAGE_VERSION__,
integrations: [new Integrations.Http({ tracing: true })],
tracePropagationTargets: ["sentry.io/api"],
@@ -35,6 +34,12 @@ export function makeSentryClient(
const hub = new Hub(client);
+ hub.configureScope((scope) => {
+ if (org) {
+ scope.setTag("org", org);
+ }
+ });
+
//TODO: This call is problematic because as soon as we set our hub as the current hub
// we might interfere with other plugins that use Sentry. However, for now, we'll
// leave it in because without it, we can't get distributed traces (which are pretty nice)
diff --git a/packages/unplugin/src/tsconfig.json b/packages/unplugin/src/tsconfig.json
index d1b12b4159b2..ec25fabd5819 100644
--- a/packages/unplugin/src/tsconfig.json
+++ b/packages/unplugin/src/tsconfig.json
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"extends": "@sentry-internal/sentry-unplugin-tsconfig/base-config.json",
- "include": ["./**/*", "../package.json"],
+ "include": ["./**/*"],
"compilerOptions": {
"esModuleInterop": true,
"resolveJsonModule": true, // needed to import package.json
diff --git a/yarn.lock b/yarn.lock
index a71a052cf63e..69bc56f5a370 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1583,6 +1583,14 @@
is-module "^1.0.0"
resolve "^1.19.0"
+"@rollup/plugin-replace@^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-4.0.0.tgz#e34c457d6a285f0213359740b43f39d969b38a67"
+ integrity sha512-+rumQFiaNac9y64OHtkHGmdjm7us9bo1PlbgQfdihQtuNxzjpaB064HbRnewUOggLQxVCCyINfStkgmBeQpv1g==
+ dependencies:
+ "@rollup/pluginutils" "^3.1.0"
+ magic-string "^0.25.7"
+
"@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.1.0":
version "3.1.0"
resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b"
From 4d96e30dead147d48b662eb37f9e59c64c683ae1 Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Sat, 27 Aug 2022 10:36:06 +0200
Subject: [PATCH 043/640] fix: Inject global package version in tests
---
packages/unplugin/jest.config.js | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/packages/unplugin/jest.config.js b/packages/unplugin/jest.config.js
index 5354af34a5d8..555d04bb645e 100644
--- a/packages/unplugin/jest.config.js
+++ b/packages/unplugin/jest.config.js
@@ -3,9 +3,21 @@ const packageJson = require("./package.json");
module.exports = {
testEnvironment: "node",
transform: {
- "^.+\\.(t|j)sx?$": ["@swc/jest"],
- },
- globals: {
- __PACKAGE_VERSION__: packageJson.version,
+ "^.+\\.(t|j)sx?$": [
+ "@swc/jest",
+ {
+ jsc: {
+ transform: {
+ optimizer: {
+ globals: {
+ vars: {
+ __PACKAGE_VERSION__: packageJson.version,
+ },
+ },
+ },
+ },
+ },
+ },
+ ],
},
};
From a14faec2d650bb5c2f0f35d1a5f41910e9bd0009 Mon Sep 17 00:00:00 2001
From: Vladan Paunovic
Date: Mon, 29 Aug 2022 11:27:52 +0200
Subject: [PATCH 044/640] chore(options): add silent (#41)
* chore(options): add silent
* chore(logger): add logger class
* feat(logger): add logger
* chore: move logger to functional
* fix: wrong imports
* refactor(logger): add replace telemetry with hub
* chore: check for telemetry
* chore: expose prefix
---
packages/playground/config.json | 1 -
.../playground/vite.config.smallNodeApp.js | 3 +-
packages/unplugin/src/index.ts | 28 +++-----
packages/unplugin/src/sentry/logger.ts | 46 +++++++++++++
.../unplugin/src/sentry/releasePipeline.ts | 68 ++++++-------------
packages/unplugin/src/types.ts | 6 +-
packages/unplugin/test/logger.test.ts | 62 +++++++++++++++++
7 files changed, 143 insertions(+), 71 deletions(-)
create mode 100644 packages/unplugin/src/sentry/logger.ts
create mode 100644 packages/unplugin/test/logger.test.ts
diff --git a/packages/playground/config.json b/packages/playground/config.json
index e40336e73f2c..aad27fecf9d6 100644
--- a/packages/playground/config.json
+++ b/packages/playground/config.json
@@ -4,6 +4,5 @@
"project": "some-proj",
"authToken": "some-auth-token",
"include": "/dist",
- "debugLogging": true,
"debug": true
}
diff --git a/packages/playground/vite.config.smallNodeApp.js b/packages/playground/vite.config.smallNodeApp.js
index c4d112705085..996d7ac59fd3 100644
--- a/packages/playground/vite.config.smallNodeApp.js
+++ b/packages/playground/vite.config.smallNodeApp.js
@@ -22,8 +22,7 @@ export default defineConfig({
org: process.env.SENTRY_ORG,
project: process.env.SENTRY_PROJECT,
debug: true,
- debugLogging: true,
- release: "0.0.10",
+ release: "0.0.11",
include: "out/vite-smallNodeApp",
cleanArtifacts: true,
}),
diff --git a/packages/unplugin/src/index.ts b/packages/unplugin/src/index.ts
index 35ad7a118d41..0b512164f598 100644
--- a/packages/unplugin/src/index.ts
+++ b/packages/unplugin/src/index.ts
@@ -13,6 +13,7 @@ import {
import "@sentry/tracing";
import { addSpanToTransaction, captureMinimalError, makeSentryClient } from "./sentry/telemetry";
import { Span, Transaction } from "@sentry/types";
+import sentryLogger from "./sentry/logger";
const defaultOptions: Omit = {
//TODO: add default options here as we port over options from the webpack plugin
@@ -94,11 +95,11 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
options.org
);
- if (options.telemetry) {
- // eslint-disable-next-line no-console
- console.log("[Sentry-plugin]", "Sending error and performance telemetry data to Sentry.");
- // eslint-disable-next-line no-console
- console.log("[Sentry-Plugin]", "To disable telemetry, set `options.telemetry` to `false`.");
+ const logger = sentryLogger({ options, hub: sentryHub });
+
+ if (telemetryEnabled) {
+ logger.info("Sending error and performance telemetry data to Sentry.");
+ logger.info("To disable telemetry, set `options.telemetry` to `false`.");
}
sentryHub.setTags({
@@ -109,13 +110,6 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
sentryHub.setUser({ id: options.org });
- function debugLog(...args: unknown[]) {
- if (options?.debugLogging) {
- // eslint-disable-next-line no-console
- console.log("[Sentry-plugin]", ...args);
- }
- }
-
// This is `nonEntrypointSet` instead of `entrypointSet` because this set is filled in the `resolveId` hook and there
// we don't have guaranteed access to *absolute* paths of files if they're entrypoints. For non-entrypoints we're
// guaranteed to have absolute paths - we're then using the paths in later hooks to make decisions about whether a
@@ -138,7 +132,7 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
name: "plugin-execution",
});
releaseInjectionSpan = addSpanToTransaction(
- { hub: sentryHub, parentSpan: transaction },
+ { hub: sentryHub, parentSpan: transaction, logger },
"release-injection",
"release-injection"
);
@@ -174,7 +168,7 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
},
loadInclude(id) {
- debugLog(`Called "loadInclude": ${JSON.stringify({ id })}`);
+ logger.info(`Called "loadInclude": ${JSON.stringify({ id })}`);
return id === RELEASE_INJECTOR_ID;
},
@@ -279,7 +273,7 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
const releasePipelineSpan =
transaction &&
addSpanToTransaction(
- { hub: sentryHub, parentSpan: transaction },
+ { hub: sentryHub, parentSpan: transaction, logger },
"release-creation",
"release-creation-pipeline"
);
@@ -297,7 +291,7 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
// That's good for them but a hassle for us. Let's try to normalize this into one data type
// (I vote IncludeEntry[]) and continue with that down the line
- const ctx: BuildContext = { hub: sentryHub, parentSpan: releasePipelineSpan };
+ const ctx: BuildContext = { hub: sentryHub, parentSpan: releasePipelineSpan, logger };
createNewRelease(release, options, ctx)
.then(() => cleanArtifacts(release, options, ctx))
@@ -312,7 +306,7 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
captureMinimalError(e, sentryHub);
transaction?.setStatus("cancelled");
- debugLog(e);
+ logger.error(e.message);
if (options.errorHandler) {
options.errorHandler(e);
diff --git a/packages/unplugin/src/sentry/logger.ts b/packages/unplugin/src/sentry/logger.ts
new file mode 100644
index 000000000000..8be979abd449
--- /dev/null
+++ b/packages/unplugin/src/sentry/logger.ts
@@ -0,0 +1,46 @@
+import { Options } from "../types";
+import { SeverityLevel } from "@sentry/node";
+import { Hub } from "@sentry/node";
+interface LoggerI {
+ options: Pick;
+ hub: Hub;
+}
+export default function logger(props: LoggerI) {
+ const prefix = "[Sentry-unplugin]";
+
+ function addBreadcrumb(level: SeverityLevel, message: string) {
+ props.hub.addBreadcrumb({
+ category: "logger",
+ level,
+ message,
+ });
+ }
+
+ return {
+ prefix,
+ info(message: string) {
+ if (!props.options.silent) {
+ // eslint-disable-next-line no-console
+ console.info(prefix, message);
+ }
+
+ addBreadcrumb("info", message);
+ },
+ warn(message: string) {
+ if (!props.options.silent) {
+ // eslint-disable-next-line no-console
+ console.warn(prefix, message);
+ }
+
+ addBreadcrumb("warning", message);
+ },
+ error(message: string) {
+ if (!props.options.silent) {
+ // eslint-disable-next-line no-console
+ console.error(prefix, message);
+ }
+
+ addBreadcrumb("error", message);
+ },
+ };
+}
diff --git a/packages/unplugin/src/sentry/releasePipeline.ts b/packages/unplugin/src/sentry/releasePipeline.ts
index 56d088aeae4b..aa97196e854e 100644
--- a/packages/unplugin/src/sentry/releasePipeline.ts
+++ b/packages/unplugin/src/sentry/releasePipeline.ts
@@ -20,20 +20,16 @@ export async function createNewRelease(
// TODO: pull these checks out of here and simplify them
if (options.authToken === undefined) {
- // eslint-disable-next-line no-console
- console.log('[Sentry-plugin] WARNING: Missing "authToken" option. Will not create release.');
+ ctx.logger.warn('Missing "authToken" option. Will not create release.');
return Promise.resolve("nothing to do here");
} else if (options.org === undefined) {
- // eslint-disable-next-line no-console
- console.log('[Sentry-plugin] WARNING: Missing "org" option. Will not create release.');
+ ctx.logger.warn('Missing "org" option. Will not create release.');
return Promise.resolve("nothing to do here");
} else if (options.url === undefined) {
- // eslint-disable-next-line no-console
- console.log('[Sentry-plugin] WARNING: Missing "url" option. Will not create release.');
+ ctx.logger.warn('Missing "url" option. Will not create release.');
return Promise.resolve("nothing to do here");
} else if (options.project === undefined) {
- // eslint-disable-next-line no-console
- console.log('[Sentry-plugin] WARNING: Missing "project" option. Will not create release.');
+ ctx.logger.warn('Missing "project" option. Will not create release.');
return Promise.resolve("nothing to do here");
}
@@ -46,8 +42,7 @@ export async function createNewRelease(
sentryHub: ctx.hub,
});
- // eslint-disable-next-line no-console
- console.log("[Sentry-plugin] Successfully created release.");
+ ctx.logger.info("Successfully created release.");
span?.finish();
return Promise.resolve("nothing to do here");
@@ -94,32 +89,26 @@ export async function uploadSourceMaps(
// TODO: pull these checks out of here and simplify them
if (authToken === undefined) {
- // eslint-disable-next-line no-console
- console.log('[Sentry-plugin] WARNING: Missing "authToken" option. Will not create release.');
+ ctx.logger.warn('Missing "authToken" option. Will not create release.');
return Promise.resolve("nothing to do here");
} else if (org === undefined) {
- // eslint-disable-next-line no-console
- console.log('[Sentry-plugin] WARNING: Missing "org" option. Will not create release.');
+ ctx.logger.warn('Missing "org" option. Will not create release.');
return Promise.resolve("nothing to do here");
} else if (url === undefined) {
- // eslint-disable-next-line no-console
- console.log('[Sentry-plugin] WARNING: Missing "url" option. Will not create release.');
+ ctx.logger.warn('Missing "url" option. Will not create release.');
return Promise.resolve("nothing to do here");
} else if (project === undefined) {
- // eslint-disable-next-line no-console
- console.log('[Sentry-plugin] WARNING: Missing "project" option. Will not create release.');
+ ctx.logger.warn('Missing "project" option. Will not create release.');
return Promise.resolve("nothing to do here");
}
- // eslint-disable-next-line no-console
- console.log("[Sentry-plugin] Uploading Sourcemaps.");
+ ctx.logger.info("Uploading Sourcemaps.");
//TODO: Remove this once we have internal options. this property must always be present
const fileExtensions = ext || [];
const files = getFiles(include, fileExtensions);
- // eslint-disable-next-line no-console
- console.log(`[Sentry-plugin] > Found ${files.length} files to upload.`);
+ ctx.logger.info(`Found ${files.length} files to upload.`);
return Promise.all(
files.map((file) =>
@@ -135,8 +124,7 @@ export async function uploadSourceMaps(
})
)
).then(() => {
- // eslint-disable-next-line no-console
- console.log("[Sentry-plugin] Successfully uploaded sourcemaps.");
+ ctx.logger.info("Successfully uploaded sourcemaps.");
span?.finish();
return "done";
});
@@ -152,10 +140,7 @@ export async function finalizeRelease(
if (options.finalize) {
const { authToken, org, url, project } = options;
if (!authToken || !org || !url || !project) {
- // eslint-disable-next-line no-console
- console.log(
- "[Sentry-plugin] WARNING: Missing required option. Will not clean existing artifacts."
- );
+ ctx.logger.warn("Missing required option. Will not clean existing artifacts.");
return Promise.resolve("nothing to do here");
}
@@ -167,8 +152,8 @@ export async function finalizeRelease(
project,
sentryHub: ctx.hub,
});
- // eslint-disable-next-line no-console
- console.log("[Sentry-plugin] Successfully finalized release.");
+
+ ctx.logger.info("Successfully finalized release.");
}
span?.finish();
@@ -185,28 +170,16 @@ export async function cleanArtifacts(
if (options.cleanArtifacts) {
// TODO: pull these checks out of here and simplify them
if (options.authToken === undefined) {
- // eslint-disable-next-line no-console
- console.log(
- '[Sentry-plugin] WARNING: Missing "authToken" option. Will not clean existing artifacts.'
- );
+ ctx.logger.warn('Missing "authToken" option. Will not clean existing artifacts.');
return Promise.resolve("nothing to do here");
} else if (options.org === undefined) {
- // eslint-disable-next-line no-console
- console.log(
- '[Sentry-plugin] WARNING: Missing "org" option. Will not clean existing artifacts.'
- );
+ ctx.logger.warn('Missing "org" option. Will not clean existing artifacts.');
return Promise.resolve("nothing to do here");
} else if (options.url === undefined) {
- // eslint-disable-next-line no-console
- console.log(
- '[Sentry-plugin] WARNING: Missing "url" option. Will not clean existing artifacts.'
- );
+ ctx.logger.warn('Missing "url" option. Will not clean existing artifacts.');
return Promise.resolve("nothing to do here");
} else if (options.project === undefined) {
- // eslint-disable-next-line no-console
- console.log(
- '[Sentry-plugin] WARNING: Missing "project" option. Will not clean existing artifacts.'
- );
+ ctx.logger.warn('Missing "project" option. Will not clean existing artifacts.');
return Promise.resolve("nothing to do here");
}
@@ -219,8 +192,7 @@ export async function cleanArtifacts(
sentryHub: ctx.hub,
});
- // eslint-disable-next-line no-console
- console.log("[Sentry-plugin] Successfully cleaned previous artifacts.");
+ ctx.logger.info("Successfully cleaned previous artifacts.");
}
span?.finish();
diff --git a/packages/unplugin/src/types.ts b/packages/unplugin/src/types.ts
index c73a2a5cbc13..a6de71c62ead 100644
--- a/packages/unplugin/src/types.ts
+++ b/packages/unplugin/src/types.ts
@@ -2,11 +2,10 @@
import { Hub } from "@sentry/hub";
import { Span } from "@sentry/tracing";
+import sentryLogger from "./sentry/logger";
//TODO: compare types w/ webpack plugin (and sentry-cli?)
export type Options = {
- debugLogging?: boolean;
-
/* --- authentication/identification: */
org?: string;
project?: string;
@@ -49,7 +48,7 @@ export type Options = {
// dryRun?: boolean,
debug?: boolean;
- // silent?: boolean,
+ silent?: boolean;
cleanArtifacts?: boolean;
/**
@@ -109,4 +108,5 @@ type IncludeEntry = {
export type BuildContext = {
hub: Hub;
parentSpan?: Span;
+ logger: ReturnType;
};
diff --git a/packages/unplugin/test/logger.test.ts b/packages/unplugin/test/logger.test.ts
new file mode 100644
index 000000000000..5234e0e4e54c
--- /dev/null
+++ b/packages/unplugin/test/logger.test.ts
@@ -0,0 +1,62 @@
+// import {makeSentryClient} from "../src/sentry/telemetry"
+import { Hub } from "@sentry/node";
+import sentryLogger from "../src/sentry/logger";
+
+describe("Logger", () => {
+ const info = jest.spyOn(console, "info").mockImplementation(() => {
+ return;
+ });
+ const warn = jest.spyOn(console, "warn").mockImplementation(() => {
+ return;
+ });
+ const error = jest.spyOn(console, "error").mockImplementation(() => {
+ return;
+ });
+
+ const spy = { info, warn, error };
+
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
+ // @ts-ignore
+ const hub: Hub = {
+ addBreadcrumb: () => {
+ return;
+ },
+ };
+
+ const mockedAddBreadcrumb = jest.spyOn(hub, "addBreadcrumb");
+
+ afterEach(() => {
+ info.mockReset();
+ warn.mockReset();
+ error.mockReset();
+ mockedAddBreadcrumb.mockReset();
+ });
+
+ const CASES = ["info", "warn", "error"];
+
+ it.each(CASES)("logs (%s)", (a: string) => {
+ const logger = sentryLogger({ options: { silent: false }, hub });
+ // "info" -> make typescript happy
+ logger[a as "info"]("Hey!");
+
+ expect(spy[a as "info"]).toHaveBeenCalledWith(logger.prefix, "Hey!");
+ expect(mockedAddBreadcrumb).toHaveBeenCalledWith({
+ category: "logger",
+ level: a === "warn" ? "warning" : a,
+ message: "Hey!",
+ });
+ });
+
+ it.each(CASES)("does not log (%s)", (a: string) => {
+ const logger = sentryLogger({ options: { silent: true }, hub });
+ // "info" -> make typescript happy
+ logger[a as "info"]("Hey!");
+
+ expect(spy[a as "info"]).not.toHaveBeenCalledWith(logger.prefix, "Hey!");
+ expect(mockedAddBreadcrumb).toHaveBeenCalledWith({
+ category: "logger",
+ level: a === "warn" ? "warning" : a,
+ message: "Hey!",
+ });
+ });
+});
From 4acf09c88cf4a2b55cef732b3553a9ad7436a5d3 Mon Sep 17 00:00:00 2001
From: Vladan Paunovic
Date: Mon, 29 Aug 2022 12:23:25 +0200
Subject: [PATCH 045/640] feat(customHeaders): add option customHeaders (#48)
feat(customHeaders): add options customHeaders
---
packages/unplugin/src/sentry/api.ts | 25 +++++++++++++++----
.../unplugin/src/sentry/releasePipeline.ts | 4 +++
packages/unplugin/src/types.ts | 2 +-
3 files changed, 25 insertions(+), 6 deletions(-)
diff --git a/packages/unplugin/src/sentry/api.ts b/packages/unplugin/src/sentry/api.ts
index ebda97c9d80f..17cfd2994828 100644
--- a/packages/unplugin/src/sentry/api.ts
+++ b/packages/unplugin/src/sentry/api.ts
@@ -1,12 +1,19 @@
import { Hub } from "@sentry/node";
import axios from "axios";
import FormData from "form-data";
+import { Options } from "../types";
import { captureMinimalError } from "./telemetry";
const API_PATH = "/api/0";
const USER_AGENT = `sentry-unplugin/${__PACKAGE_VERSION__}`;
-const sentryApiAxiosInstance = axios.create({ headers: { "User-Agent": USER_AGENT } });
+const sentryApiAxiosInstance = ({
+ authToken,
+ customHeaders,
+}: Required> & Pick) =>
+ axios.create({
+ headers: { ...customHeaders, "User-Agent": USER_AGENT, Authorization: `Bearer ${authToken}` },
+ });
export async function createRelease({
org,
@@ -15,6 +22,7 @@ export async function createRelease({
authToken,
sentryUrl,
sentryHub,
+ customHeaders,
}: {
release: string;
project: string;
@@ -22,6 +30,7 @@ export async function createRelease({
authToken: string;
sentryUrl: string;
sentryHub: Hub;
+ customHeaders?: Record;
}): Promise {
const requestUrl = `${sentryUrl}${API_PATH}/organizations/${org}/releases/`;
@@ -33,7 +42,7 @@ export async function createRelease({
};
try {
- await sentryApiAxiosInstance.post(requestUrl, releasePayload, {
+ await sentryApiAxiosInstance({ authToken, customHeaders }).post(requestUrl, releasePayload, {
headers: { Authorization: `Bearer ${authToken}` },
});
} catch (e) {
@@ -49,6 +58,7 @@ export async function deleteAllReleaseArtifacts({
authToken,
sentryUrl,
sentryHub,
+ customHeaders,
}: {
org: string;
release: string;
@@ -56,11 +66,12 @@ export async function deleteAllReleaseArtifacts({
authToken: string;
project: string;
sentryHub: Hub;
+ customHeaders?: Record;
}): Promise {
const requestUrl = `${sentryUrl}${API_PATH}/projects/${org}/${project}/files/source-maps/?name=${release}`;
try {
- await sentryApiAxiosInstance.delete(requestUrl, {
+ await sentryApiAxiosInstance({ authToken, customHeaders }).delete(requestUrl, {
headers: {
Authorization: `Bearer ${authToken}`,
},
@@ -78,6 +89,7 @@ export async function updateRelease({
sentryUrl,
project,
sentryHub,
+ customHeaders,
}: {
release: string;
org: string;
@@ -85,6 +97,7 @@ export async function updateRelease({
sentryUrl: string;
project: string;
sentryHub: Hub;
+ customHeaders?: Record;
}): Promise {
const requestUrl = `${sentryUrl}${API_PATH}/projects/${org}/${project}/releases/${release}/`;
@@ -93,7 +106,7 @@ export async function updateRelease({
};
try {
- await sentryApiAxiosInstance.put(requestUrl, releasePayload, {
+ await sentryApiAxiosInstance({ authToken, customHeaders }).put(requestUrl, releasePayload, {
headers: { Authorization: `Bearer ${authToken}` },
});
} catch (e) {
@@ -111,6 +124,7 @@ export async function uploadReleaseFile({
filename,
fileContent,
sentryHub,
+ customHeaders,
}: {
org: string;
release: string;
@@ -120,6 +134,7 @@ export async function uploadReleaseFile({
filename: string;
fileContent: string;
sentryHub: Hub;
+ customHeaders?: Record;
}) {
const requestUrl = `${sentryUrl}${API_PATH}/projects/${org}/${project}/releases/${release}/files/`;
@@ -128,7 +143,7 @@ export async function uploadReleaseFile({
form.append("file", Buffer.from(fileContent, "utf-8"), { filename });
try {
- await sentryApiAxiosInstance.post(requestUrl, form, {
+ await sentryApiAxiosInstance({ authToken, customHeaders }).post(requestUrl, form, {
headers: {
Authorization: `Bearer ${authToken}`,
"Content-Type": "multipart/form-data",
diff --git a/packages/unplugin/src/sentry/releasePipeline.ts b/packages/unplugin/src/sentry/releasePipeline.ts
index aa97196e854e..380fcb840d40 100644
--- a/packages/unplugin/src/sentry/releasePipeline.ts
+++ b/packages/unplugin/src/sentry/releasePipeline.ts
@@ -40,6 +40,7 @@ export async function createNewRelease(
project: options.project,
sentryUrl: options.url,
sentryHub: ctx.hub,
+ customHeaders: options.customHeaders,
});
ctx.logger.info("Successfully created release.");
@@ -121,6 +122,7 @@ export async function uploadSourceMaps(
filename: file.name,
fileContent: file.content,
sentryHub: ctx.hub,
+ customHeaders: options.customHeaders,
})
)
).then(() => {
@@ -151,6 +153,7 @@ export async function finalizeRelease(
sentryUrl: url,
project,
sentryHub: ctx.hub,
+ customHeaders: options.customHeaders,
});
ctx.logger.info("Successfully finalized release.");
@@ -190,6 +193,7 @@ export async function cleanArtifacts(
sentryUrl: options.url,
project: options.project,
sentryHub: ctx.hub,
+ customHeaders: options.customHeaders,
});
ctx.logger.info("Successfully cleaned previous artifacts.");
diff --git a/packages/unplugin/src/types.ts b/packages/unplugin/src/types.ts
index a6de71c62ead..d6e99112d3a1 100644
--- a/packages/unplugin/src/types.ts
+++ b/packages/unplugin/src/types.ts
@@ -44,7 +44,7 @@ export type Options = {
/* --- other unimportant (for now) stuff- properties: */
// vcsRemote: string,
- // customHeader: string,
+ customHeaders?: Record;
// dryRun?: boolean,
debug?: boolean;
From ad78c73e2bd211b921132b265203c81ea78ac4e8 Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Wed, 31 Aug 2022 15:14:20 +0200
Subject: [PATCH 046/640] ref(unplugin): Clean up logger (#49)
Co-authored-by: Vladan Paunovic
---
packages/unplugin/src/index.ts | 8 ++-
packages/unplugin/src/sentry/logger.ts | 28 +++++-----
packages/unplugin/src/types.ts | 4 +-
packages/unplugin/test/logger.test.ts | 73 ++++++++++++++++----------
4 files changed, 65 insertions(+), 48 deletions(-)
diff --git a/packages/unplugin/src/index.ts b/packages/unplugin/src/index.ts
index 0b512164f598..841fe1bc98b5 100644
--- a/packages/unplugin/src/index.ts
+++ b/packages/unplugin/src/index.ts
@@ -13,7 +13,7 @@ import {
import "@sentry/tracing";
import { addSpanToTransaction, captureMinimalError, makeSentryClient } from "./sentry/telemetry";
import { Span, Transaction } from "@sentry/types";
-import sentryLogger from "./sentry/logger";
+import { createLogger } from "./sentry/logger";
const defaultOptions: Omit = {
//TODO: add default options here as we port over options from the webpack plugin
@@ -95,7 +95,11 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
options.org
);
- const logger = sentryLogger({ options, hub: sentryHub });
+ const logger = createLogger({
+ hub: sentryHub,
+ prefix: `[sentry-${unpluginMetaContext.framework}-plugin]`,
+ silent: options.silent,
+ });
if (telemetryEnabled) {
logger.info("Sending error and performance telemetry data to Sentry.");
diff --git a/packages/unplugin/src/sentry/logger.ts b/packages/unplugin/src/sentry/logger.ts
index 8be979abd449..dc5fce6e5533 100644
--- a/packages/unplugin/src/sentry/logger.ts
+++ b/packages/unplugin/src/sentry/logger.ts
@@ -1,15 +1,14 @@
-import { Options } from "../types";
-import { SeverityLevel } from "@sentry/node";
-import { Hub } from "@sentry/node";
-interface LoggerI {
- options: Pick;
+import { SeverityLevel, Hub } from "@sentry/node";
+
+interface LoggerOptions {
+ silent?: boolean;
hub: Hub;
+ prefix: string;
}
-export default function logger(props: LoggerI) {
- const prefix = "[Sentry-unplugin]";
+export function createLogger(options: LoggerOptions) {
function addBreadcrumb(level: SeverityLevel, message: string) {
- props.hub.addBreadcrumb({
+ options.hub.addBreadcrumb({
category: "logger",
level,
message,
@@ -17,27 +16,26 @@ export default function logger(props: LoggerI) {
}
return {
- prefix,
info(message: string) {
- if (!props.options.silent) {
+ if (!options?.silent) {
// eslint-disable-next-line no-console
- console.info(prefix, message);
+ console.log(`${options.prefix} ${message}`);
}
addBreadcrumb("info", message);
},
warn(message: string) {
- if (!props.options.silent) {
+ if (!options?.silent) {
// eslint-disable-next-line no-console
- console.warn(prefix, message);
+ console.log(`${options.prefix} Warning! ${message}`);
}
addBreadcrumb("warning", message);
},
error(message: string) {
- if (!props.options.silent) {
+ if (!options?.silent) {
// eslint-disable-next-line no-console
- console.error(prefix, message);
+ console.log(`${options.prefix} Error: ${message}`);
}
addBreadcrumb("error", message);
diff --git a/packages/unplugin/src/types.ts b/packages/unplugin/src/types.ts
index d6e99112d3a1..392cc950bb12 100644
--- a/packages/unplugin/src/types.ts
+++ b/packages/unplugin/src/types.ts
@@ -2,7 +2,7 @@
import { Hub } from "@sentry/hub";
import { Span } from "@sentry/tracing";
-import sentryLogger from "./sentry/logger";
+import { createLogger } from "./sentry/logger";
//TODO: compare types w/ webpack plugin (and sentry-cli?)
export type Options = {
@@ -108,5 +108,5 @@ type IncludeEntry = {
export type BuildContext = {
hub: Hub;
parentSpan?: Span;
- logger: ReturnType;
+ logger: ReturnType;
};
diff --git a/packages/unplugin/test/logger.test.ts b/packages/unplugin/test/logger.test.ts
index 5234e0e4e54c..268a45077148 100644
--- a/packages/unplugin/test/logger.test.ts
+++ b/packages/unplugin/test/logger.test.ts
@@ -1,19 +1,8 @@
-// import {makeSentryClient} from "../src/sentry/telemetry"
import { Hub } from "@sentry/node";
-import sentryLogger from "../src/sentry/logger";
+import { createLogger } from "../src/sentry/logger";
describe("Logger", () => {
- const info = jest.spyOn(console, "info").mockImplementation(() => {
- return;
- });
- const warn = jest.spyOn(console, "warn").mockImplementation(() => {
- return;
- });
- const error = jest.spyOn(console, "error").mockImplementation(() => {
- return;
- });
-
- const spy = { info, warn, error };
+ const consoleLogSpy = jest.spyOn(console, "log").mockImplementation(() => undefined);
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
@@ -26,37 +15,63 @@ describe("Logger", () => {
const mockedAddBreadcrumb = jest.spyOn(hub, "addBreadcrumb");
afterEach(() => {
- info.mockReset();
- warn.mockReset();
- error.mockReset();
+ consoleLogSpy.mockReset();
mockedAddBreadcrumb.mockReset();
});
- const CASES = ["info", "warn", "error"];
+ it(".info() should log correctly", () => {
+ const prefix = "[some-prefix]";
+ const logger = createLogger({ hub, prefix });
+ logger.info("Hey!");
+
+ expect(consoleLogSpy).toHaveBeenCalledWith("[some-prefix] Hey!");
+ expect(mockedAddBreadcrumb).toHaveBeenCalledWith({
+ category: "logger",
+ level: "info",
+ message: "Hey!",
+ });
+ });
- it.each(CASES)("logs (%s)", (a: string) => {
- const logger = sentryLogger({ options: { silent: false }, hub });
- // "info" -> make typescript happy
- logger[a as "info"]("Hey!");
+ it(".warn() should log correctly", () => {
+ const prefix = "[some-prefix]";
+ const logger = createLogger({ hub, prefix });
+ logger.warn("Hey!");
- expect(spy[a as "info"]).toHaveBeenCalledWith(logger.prefix, "Hey!");
+ expect(consoleLogSpy).toHaveBeenCalledWith("[some-prefix] Warning! Hey!");
expect(mockedAddBreadcrumb).toHaveBeenCalledWith({
category: "logger",
- level: a === "warn" ? "warning" : a,
+ level: "warning",
message: "Hey!",
});
});
- it.each(CASES)("does not log (%s)", (a: string) => {
- const logger = sentryLogger({ options: { silent: true }, hub });
- // "info" -> make typescript happy
- logger[a as "info"]("Hey!");
+ it(".error() should log correctly", () => {
+ const prefix = "[some-prefix]";
+ const logger = createLogger({ hub, prefix });
+ logger.error("Hey!");
- expect(spy[a as "info"]).not.toHaveBeenCalledWith(logger.prefix, "Hey!");
+ expect(consoleLogSpy).toHaveBeenCalledWith("[some-prefix] Error: Hey!");
expect(mockedAddBreadcrumb).toHaveBeenCalledWith({
category: "logger",
- level: a === "warn" ? "warning" : a,
+ level: "error",
message: "Hey!",
});
});
+
+ describe("doesn't log when `silent` option is `true`", () => {
+ it.each(["info", "warn", "error"] as const)(".%s()", (loggerMethod) => {
+ const prefix = "[some-prefix]";
+ const logger = createLogger({ silent: true, hub, prefix });
+
+ logger[loggerMethod]("Hey!");
+
+ expect(consoleLogSpy).not.toHaveBeenCalled();
+
+ expect(mockedAddBreadcrumb).toHaveBeenCalledWith({
+ category: "logger",
+ level: expect.stringMatching(/.*/) as string,
+ message: "Hey!",
+ });
+ });
+ });
});
From 52ad0ef57ee20570809feb11e70dc03f0442b54b Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Wed, 19 Oct 2022 12:37:04 +0200
Subject: [PATCH 047/640] chore: Update READMEs (#51)
Update and add `README.md` files across the packages we want to release.
- remove old `hackweek-sentry-unplugin` links
- make warnings that this is a heavy WIP more explicit
- add Readme to the core sentry-unplugin package
---
README.md | 16 +++++++------
packages/esbuild-plugin/README.md | 4 ++--
packages/rollup-plugin/README.md | 2 +-
packages/unplugin/README.md | 37 +++++++++++++++++++++++++++++++
packages/vite-plugin/README.md | 4 ++--
packages/webpack-plugin/README.md | 4 ++--
6 files changed, 53 insertions(+), 14 deletions(-)
create mode 100644 packages/unplugin/README.md
diff --git a/README.md b/README.md
index a29237caa0e9..2ede16e18882 100644
--- a/README.md
+++ b/README.md
@@ -4,28 +4,30 @@
-# Sentry Unplugin
+# Sentry Unplugin (WIP)
-**DISCLAIMER: This package is work in progress and not production ready. Use with caution. We're happy to receive your feedback!**
+**WARNING: This project is work in progress! Do not yet use it in production. We're happy to receive your feedback!**
Universal Sentry plugin for various JavaScript bundlers. Based on [unjs/uplugin](https://github.com/unjs/unplugin). Currently supports Rollup, Vite, esbuild, Webpack 4 and Webpack 5.
Check out the individual packages for more information and examples:
-- [Rollup](https://github.com/getsentry/hackweek-sentry-unplugin/tree/main/packages/rollup-plugin)
-- [Vite](https://github.com/getsentry/hackweek-sentry-unplugin/tree/main/packages/vite-plugin)
-- [esbuild](https://github.com/getsentry/hackweek-sentry-unplugin/tree/main/packages/esbuild-plugin)
-- [Webpack](https://github.com/getsentry/hackweek-sentry-unplugin/tree/main/packages/webpack-plugin)
+- [Rollup](https://github.com/getsentry/sentry-unplugin/tree/main/packages/rollup-plugin)
+- [Vite](https://github.com/getsentry/sentry-unplugin/tree/main/packages/vite-plugin)
+- [esbuild](https://github.com/getsentry/sentry-unplugin/tree/main/packages/esbuild-plugin)
+- [Webpack](https://github.com/getsentry/sentry-unplugin/tree/main/packages/webpack-plugin)
### Features
-The Sentry Unplugin supports [Sentry CLI](https://docs.sentry.io/learn/cli/) features required for node environments:
+The Sentry Unplugin take care of Sentry-related tasks at build time of your JavaScript projects. It supports the following features:
- Sourcemap upload
- Release creation in Sentry
- Automatic release name discovery (based on CI environment - Vercel, AWS, Heroku, CircleCI, or current Git SHA)
- Automatically associate errors with releases (Release injection)
+The Sentry Unplugin can be used as a replacement of [Sentry CLI](https://docs.sentry.io/learn/cli/) for these tasks.
+
### More information
- [Sentry Documentation](https://docs.sentry.io/quickstart/)
diff --git a/packages/esbuild-plugin/README.md b/packages/esbuild-plugin/README.md
index b95d5da310c9..5bdc47d4f159 100644
--- a/packages/esbuild-plugin/README.md
+++ b/packages/esbuild-plugin/README.md
@@ -4,9 +4,9 @@
-# Sentry Esbuild Plugin
+# Sentry Esbuild Plugin (WIP)
-**DISCLAIMER: This package is work in progress and not production ready. Use with caution. We're happy to receive your feedback!**
+**WARNING: This package is work in progress! Use with caution and do not yet use it in production. We're happy to receive your feedback!**
A esbuild plugin that provides release management features for Sentry:
diff --git a/packages/rollup-plugin/README.md b/packages/rollup-plugin/README.md
index 919e61e06878..5e2fa7630612 100644
--- a/packages/rollup-plugin/README.md
+++ b/packages/rollup-plugin/README.md
@@ -6,7 +6,7 @@
# Sentry Rollup Plugin
-**DISCLAIMER: This package is work in progress and not production ready. Use with caution. We're happy to receive your feedback!**
+**WARNING: This package is work in progress! Use with caution and do not yet use it in production. We're happy to receive your feedback!**
A Rollup plugin that provides release management features for Sentry:
diff --git a/packages/unplugin/README.md b/packages/unplugin/README.md
new file mode 100644
index 000000000000..b3c303b9e921
--- /dev/null
+++ b/packages/unplugin/README.md
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+# Sentry Unplugin (WIP)
+
+**WARNING: This package is work in progress! Do not yet use it in production. We're happy to receive your feedback!**
+
+Core package containing the bundler-agnostic functionality used by the bundler plugins.
+
+Check out the individual packages for more information and examples:
+
+- [Rollup](https://github.com/getsentry/sentry-unplugin/tree/main/packages/rollup-plugin)
+- [Vite](https://github.com/getsentry/sentry-unplugin/tree/main/packages/vite-plugin)
+- [esbuild](https://github.com/getsentry/sentry-unplugin/tree/main/packages/esbuild-plugin)
+- [Webpack](https://github.com/getsentry/sentry-unplugin/tree/main/packages/webpack-plugin)
+
+### Features
+
+The Sentry Unplugin take care of Sentry-related tasks at build time of your JavaScript projects. It supports the following features:
+
+- Sourcemap upload
+- Release creation in Sentry
+- Automatic release name discovery (based on CI environment - Vercel, AWS, Heroku, CircleCI, or current Git SHA)
+- Automatically associate errors with releases (Release injection)
+
+The Sentry Unplugin can be used as a replacement of [Sentry CLI](https://docs.sentry.io/learn/cli/) for these tasks.
+
+### More information
+
+- [Sentry Documentation](https://docs.sentry.io/quickstart/)
+- [Troubleshooting Sourcemaps](https://docs.sentry.io/platforms/javascript/sourcemaps/troubleshooting_js/)
+- [Sentry CLI](https://docs.sentry.io/learn/cli/)
+- [Sentry Discord](https://discord.gg/Ww9hbqr)
+- [Sentry Stackoverflow](http://stackoverflow.com/questions/tagged/sentry)
diff --git a/packages/vite-plugin/README.md b/packages/vite-plugin/README.md
index 29fde81497e7..7f26aec8fcef 100644
--- a/packages/vite-plugin/README.md
+++ b/packages/vite-plugin/README.md
@@ -4,9 +4,9 @@
-# Sentry Vite Plugin
+# Sentry Vite Plugin (WIP)
-**DISCLAIMER: This package is work in progress and not production ready. Use with caution. We're happy to receive your feedback!**
+**WARNING: This package is work in progress! Use with caution and do not yet use it in production. We're happy to receive your feedback!**
A Vite plugin that provides release management features for Sentry:
diff --git a/packages/webpack-plugin/README.md b/packages/webpack-plugin/README.md
index 05e169c55ba5..086e050eeaa5 100644
--- a/packages/webpack-plugin/README.md
+++ b/packages/webpack-plugin/README.md
@@ -4,9 +4,9 @@
-# Sentry Webpack Plugin
+# Sentry Webpack Plugin (WIP)
-**DISCLAIMER: This package is work in progress and not production ready. Use with caution. We're happy to receive your feedback!**
+**WARNING: This package is work in progress! Use with caution and do not yet use it in production. We're happy to receive your feedback!**
A Webpack plugin that provides release management features for Sentry:
From acfd34db7b47c1b19b307997338a36de72f45045 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Wed, 19 Oct 2022 14:13:05 +0200
Subject: [PATCH 048/640] chore: Add CHANGELOG.md file (#52)
Add an (almost) almost empty `CHANGELOG.md` file to the repo
Co-authored-by: Luca Forstner
---
CHANGELOG.md | 11 +++++++++++
1 file changed, 11 insertions(+)
create mode 100644 CHANGELOG.md
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 000000000000..a7c3d479274b
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,11 @@
+# Changelog
+
+## Unreleased
+
+- "You know what they say ‘Fool me once, strike one, but fool me twice… strike three.’" — Michael Scott
+
+## 0.0.0-alpha.0
+
+This release marks the first release of the Sentry bundler blugins. This is still a heavy work in progress and a lot of things are still missing and subject to change
+
+- Initial release
From 77a217e978f0b12baa38886c9cfdc29e6e0d731b Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Thu, 20 Oct 2022 13:04:04 +0200
Subject: [PATCH 049/640] feat(publish): Add version bump script (#53)
- Add Lerna to our repo to use it as a mechanism of bumping all our package versions. We need this for the craft publishing process.
- Add a pre-release script we need for craft later on
---
lerna.json | 6 +
package.json | 3 +-
packages/esbuild-plugin/package.json | 8 +-
packages/eslint-configs/package.json | 2 +-
packages/integration-tests/package.json | 10 +-
packages/playground/package.json | 4 +-
packages/rollup-plugin/package.json | 8 +-
packages/tsconfigs/package.json | 2 +-
packages/unplugin/package.json | 6 +-
packages/vite-plugin/package.json | 8 +-
packages/webpack-plugin/package.json | 8 +-
scripts/craft-pre-release.sh | 20 +
yarn.lock | 2952 ++++++++++++++++++++++-
13 files changed, 2963 insertions(+), 74 deletions(-)
create mode 100644 lerna.json
create mode 100755 scripts/craft-pre-release.sh
diff --git a/lerna.json b/lerna.json
new file mode 100644
index 000000000000..c718d2ad8280
--- /dev/null
+++ b/lerna.json
@@ -0,0 +1,6 @@
+{
+ "version": "0.0.0-alpha.0",
+ "packages": "packages/*",
+ "npmClient": "yarn",
+ "useWorkspaces": true
+}
diff --git a/package.json b/package.json
index 30c27d7bb452..d6963f7ec9e5 100644
--- a/package.json
+++ b/package.json
@@ -21,8 +21,9 @@
"devDependencies": {
"@nrwl/cli": "14.5.10",
"@nrwl/workspace": "14.5.10",
- "nx": "14.5.10",
"husky": "^8.0.0",
+ "lerna": "^6.0.1",
+ "nx": "14.5.10",
"prettier": "^2.7.1",
"pretty-quick": "^3.1.3"
}
diff --git a/packages/esbuild-plugin/package.json b/packages/esbuild-plugin/package.json
index 686ddc6b53ab..bc9ddd0623eb 100644
--- a/packages/esbuild-plugin/package.json
+++ b/packages/esbuild-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry/esbuild-plugin",
- "version": "0.0.1",
+ "version": "0.0.0-alpha.0",
"description": "Official Sentry esbuild plugin",
"repository": "git://github.com/getsentry/sentry-unplugin.git",
"homepage": "https://github.com/getsentry/sentry-unplugin/tree/main/packages/esbuild-plugin",
@@ -35,7 +35,7 @@
"lint": "eslint ./src ./test"
},
"dependencies": {
- "@sentry/sentry-unplugin": "0.0.1"
+ "@sentry/sentry-unplugin": "0.0.0-alpha.0"
},
"devDependencies": {
"@babel/core": "7.18.5",
@@ -45,12 +45,12 @@
"@rollup/plugin-commonjs": "22.0.1",
"@rollup/plugin-json": "4.1.0",
"@rollup/plugin-node-resolve": "13.3.0",
+ "@sentry-internal/eslint-config": "0.0.0-alpha.0",
+ "@sentry-internal/sentry-unplugin-tsconfig": "0.0.0-alpha.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
"@types/node": "^18.6.3",
- "@sentry-internal/eslint-config": "*",
- "@sentry-internal/sentry-unplugin-tsconfig": "*",
"eslint": "^8.18.0",
"jest": "^28.1.1",
"npm-run-all": "^4.1.5",
diff --git a/packages/eslint-configs/package.json b/packages/eslint-configs/package.json
index 9f71e0e10d4e..ffa9d598b643 100644
--- a/packages/eslint-configs/package.json
+++ b/packages/eslint-configs/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry-internal/eslint-config",
- "version": "0.0.0",
+ "version": "0.0.0-alpha.0",
"license": "MIT",
"private": true,
"peerDependencies": {
diff --git a/packages/integration-tests/package.json b/packages/integration-tests/package.json
index f04bd92c2fab..d3eb40d3a8bc 100644
--- a/packages/integration-tests/package.json
+++ b/packages/integration-tests/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry-internal/integration-tests",
- "version": "0.0.0",
+ "version": "0.0.0-alpha.0",
"license": "MIT",
"private": true,
"scripts": {
@@ -11,17 +11,17 @@
"check:types": "tsc --project ./tsconfig.json --noEmit"
},
"dependencies": {
+ "@sentry-internal/eslint-config": "0.0.0-alpha.0",
+ "@sentry-internal/sentry-unplugin-tsconfig": "0.0.0-alpha.0",
+ "@sentry/sentry-unplugin": "0.0.0-alpha.0",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
- "@sentry/sentry-unplugin": "*",
"@types/webpack4": "npm:@types/webpack@4.41.32",
- "@sentry-internal/eslint-config": "*",
- "@sentry-internal/sentry-unplugin-tsconfig": "*",
"esbuild": "0.14.49",
+ "eslint": "^8.18.0",
"jest": "^28.1.3",
"npm-run-all": "4.1.5",
"rollup": "2.77.0",
- "eslint": "^8.18.0",
"ts-node": "^10.9.1",
"vite": "3.0.0",
"webpack": "5.74.0",
diff --git a/packages/playground/package.json b/packages/playground/package.json
index 3d800318f81a..9b7db230914b 100644
--- a/packages/playground/package.json
+++ b/packages/playground/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry-internal/unplugin-playground",
- "version": "0.0.0",
+ "version": "0.0.0-alpha.0",
"license": "MIT",
"private": true,
"scripts": {
@@ -16,7 +16,7 @@
"dependencies": {
"@sentry/integrations": "^7.11.1",
"@sentry/node": "^7.11.1",
- "@sentry/sentry-unplugin": "*",
+ "@sentry/sentry-unplugin": "0.0.0-alpha.0",
"@types/express": "^4.17.13",
"@types/http-proxy": "^1.17.9",
"esbuild": "0.14.49",
diff --git a/packages/rollup-plugin/package.json b/packages/rollup-plugin/package.json
index 10a3e9eb886e..5c56130986d0 100644
--- a/packages/rollup-plugin/package.json
+++ b/packages/rollup-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry/rollup-plugin",
- "version": "0.0.1",
+ "version": "0.0.0-alpha.0",
"description": "Official Sentry Rollup plugin",
"repository": "git://github.com/getsentry/sentry-unplugin.git",
"homepage": "https://github.com/getsentry/sentry-unplugin/tree/main/packages/rollup-plugin",
@@ -36,7 +36,7 @@
"lint": "eslint ./src ./test"
},
"dependencies": {
- "@sentry/sentry-unplugin": "0.0.1"
+ "@sentry/sentry-unplugin": "0.0.0-alpha.0"
},
"devDependencies": {
"@babel/core": "7.18.5",
@@ -46,12 +46,12 @@
"@rollup/plugin-commonjs": "22.0.1",
"@rollup/plugin-json": "4.1.0",
"@rollup/plugin-node-resolve": "13.3.0",
+ "@sentry-internal/eslint-config": "0.0.0-alpha.0",
+ "@sentry-internal/sentry-unplugin-tsconfig": "0.0.0-alpha.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
"@types/node": "^18.6.3",
- "@sentry-internal/eslint-config": "*",
- "@sentry-internal/sentry-unplugin-tsconfig": "*",
"eslint": "^8.18.0",
"jest": "^28.1.1",
"npm-run-all": "^4.1.5",
diff --git a/packages/tsconfigs/package.json b/packages/tsconfigs/package.json
index 6060149e4d10..2d9dba9eef95 100644
--- a/packages/tsconfigs/package.json
+++ b/packages/tsconfigs/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry-internal/sentry-unplugin-tsconfig",
- "version": "0.0.0",
+ "version": "0.0.0-alpha.0",
"license": "MIT",
"private": true
}
diff --git a/packages/unplugin/package.json b/packages/unplugin/package.json
index 9c5578b70117..1e103a90dd0d 100644
--- a/packages/unplugin/package.json
+++ b/packages/unplugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry/sentry-unplugin",
- "version": "0.0.1",
+ "version": "0.0.0-alpha.0",
"description": "Official Sentry unplugin",
"repository": "git://github.com/getsentry/sentry-unplugin.git",
"homepage": "https://github.com/getsentry/sentry-unplugin",
@@ -45,8 +45,8 @@
"@rollup/plugin-json": "4.1.0",
"@rollup/plugin-node-resolve": "13.3.0",
"@rollup/plugin-replace": "^4.0.0",
- "@sentry-internal/eslint-config": "*",
- "@sentry-internal/sentry-unplugin-tsconfig": "*",
+ "@sentry-internal/eslint-config": "0.0.0-alpha.0",
+ "@sentry-internal/sentry-unplugin-tsconfig": "0.0.0-alpha.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
diff --git a/packages/vite-plugin/package.json b/packages/vite-plugin/package.json
index b7bd0b1bbbca..a06b9ec4554c 100644
--- a/packages/vite-plugin/package.json
+++ b/packages/vite-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry/vite-plugin",
- "version": "0.0.1",
+ "version": "0.0.0-alpha.0",
"description": "Official Sentry Vite plugin",
"repository": "git://github.com/getsentry/sentry-unplugin.git",
"homepage": "https://github.com/getsentry/sentry-unplugin/tree/main/packages/vite-plugin",
@@ -35,7 +35,7 @@
"lint": "eslint ./src ./test"
},
"dependencies": {
- "@sentry/sentry-unplugin": "0.0.1"
+ "@sentry/sentry-unplugin": "0.0.0-alpha.0"
},
"devDependencies": {
"@babel/core": "7.18.5",
@@ -45,12 +45,12 @@
"@rollup/plugin-commonjs": "22.0.1",
"@rollup/plugin-json": "4.1.0",
"@rollup/plugin-node-resolve": "13.3.0",
+ "@sentry-internal/eslint-config": "0.0.0-alpha.0",
+ "@sentry-internal/sentry-unplugin-tsconfig": "0.0.0-alpha.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
"@types/node": "^18.6.3",
- "@sentry-internal/eslint-config": "*",
- "@sentry-internal/sentry-unplugin-tsconfig": "*",
"eslint": "^8.18.0",
"jest": "^28.1.1",
"npm-run-all": "^4.1.5",
diff --git a/packages/webpack-plugin/package.json b/packages/webpack-plugin/package.json
index ea00ca445824..f10df214fbb7 100644
--- a/packages/webpack-plugin/package.json
+++ b/packages/webpack-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry/webpack-plugin",
- "version": "0.0.1",
+ "version": "0.0.0-alpha.0",
"description": "Official Sentry Webpack plugin",
"repository": "git://github.com/getsentry/sentry-unplugin.git",
"homepage": "https://github.com/getsentry/sentry-unplugin/tree/main/packages/webpack-plugin",
@@ -36,7 +36,7 @@
"lint": "eslint ./src ./test"
},
"dependencies": {
- "@sentry/sentry-unplugin": "0.0.1"
+ "@sentry/sentry-unplugin": "0.0.0-alpha.0"
},
"devDependencies": {
"@babel/core": "7.18.5",
@@ -46,12 +46,12 @@
"@rollup/plugin-commonjs": "22.0.1",
"@rollup/plugin-json": "4.1.0",
"@rollup/plugin-node-resolve": "13.3.0",
+ "@sentry-internal/eslint-config": "0.0.0-alpha.0",
+ "@sentry-internal/sentry-unplugin-tsconfig": "0.0.0-alpha.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
"@types/node": "^18.6.3",
- "@sentry-internal/eslint-config": "*",
- "@sentry-internal/sentry-unplugin-tsconfig": "*",
"eslint": "^8.18.0",
"jest": "^28.1.1",
"npm-run-all": "^4.1.5",
diff --git a/scripts/craft-pre-release.sh b/scripts/craft-pre-release.sh
new file mode 100755
index 000000000000..75df3de94eef
--- /dev/null
+++ b/scripts/craft-pre-release.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+set -eux
+
+# Move to the project root
+SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+cd $SCRIPT_DIR/..
+OLD_VERSION="${1}"
+NEW_VERSION="${2}"
+
+# Do not tag and commit changes made by "npm version"
+export npm_config_git_tag_version=false
+
+yarn install --frozen-lockfile
+# --force-publish - force publish all packages, this will skip the lerna changed check for changed packages and forces a package that didn't have a git diff change to be updated.
+# --exact - specify updated dependencies in updated packages exactly (with no punctuation), instead of as semver compatible (with a ^).
+# --no-git-tag-version - don't commit changes to package.json files and don't tag the release.
+# --no-push - don't push committed and tagged changes.
+# --include-merged-tags - include tags from merged branches when detecting changed packages.
+# --yes - skip all confirmation prompts
+yarn lerna version --force-publish --exact --no-git-tag-version --no-push --include-merged-tags --yes "${NEW_VERSION}"
diff --git a/yarn.lock b/yarn.lock
index 69bc56f5a370..5b537dc738c4 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -994,6 +994,11 @@
minimatch "^3.1.2"
strip-json-comments "^3.1.1"
+"@gar/promisify@^1.1.3":
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6"
+ integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==
+
"@humanwhocodes/config-array@^0.10.4":
version "0.10.4"
resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.4.tgz#01e7366e57d2ad104feea63e72248f22015c520c"
@@ -1013,6 +1018,16 @@
resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
+"@hutson/parse-repository-url@^3.0.0":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz#98c23c950a3d9b6c8f0daed06da6c3af06981340"
+ integrity sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==
+
+"@isaacs/string-locale-compare@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz#291c227e93fd407a96ecd59879a35809120e432b"
+ integrity sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==
+
"@istanbuljs/load-nyc-config@^1.0.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced"
@@ -1420,6 +1435,690 @@
"@jridgewell/resolve-uri" "^3.0.3"
"@jridgewell/sourcemap-codec" "^1.4.10"
+"@lerna/add@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/add/-/add-6.0.1.tgz#6d71084fe7918c96c909bebdc5c27ed6006e09d6"
+ integrity sha512-cCQIlMODhi3KYyTDOp2WWL4Kj2dKK+MmCiaSf+USrbSWPVVXQGn5Eb11XOMUfYYq3Ula75sWL2urtYwuu8IbmA==
+ dependencies:
+ "@lerna/bootstrap" "6.0.1"
+ "@lerna/command" "6.0.1"
+ "@lerna/filter-options" "6.0.1"
+ "@lerna/npm-conf" "6.0.1"
+ "@lerna/validation-error" "6.0.1"
+ dedent "^0.7.0"
+ npm-package-arg "8.1.1"
+ p-map "^4.0.0"
+ pacote "^13.6.1"
+ semver "^7.3.4"
+
+"@lerna/bootstrap@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/bootstrap/-/bootstrap-6.0.1.tgz#2af0b790b9ce426b78f12543159c8506d77afc28"
+ integrity sha512-a3DWchHFOiRmDN24VTdmTxKvAqw6Msp8pDCWXq4rgOQSFxqyYECd8BYvmy8dTW6LcC4EG0HqTGRguuEaKCasOw==
+ dependencies:
+ "@lerna/command" "6.0.1"
+ "@lerna/filter-options" "6.0.1"
+ "@lerna/has-npm-version" "6.0.1"
+ "@lerna/npm-install" "6.0.1"
+ "@lerna/package-graph" "6.0.1"
+ "@lerna/pulse-till-done" "6.0.1"
+ "@lerna/rimraf-dir" "6.0.1"
+ "@lerna/run-lifecycle" "6.0.1"
+ "@lerna/run-topologically" "6.0.1"
+ "@lerna/symlink-binary" "6.0.1"
+ "@lerna/symlink-dependencies" "6.0.1"
+ "@lerna/validation-error" "6.0.1"
+ "@npmcli/arborist" "5.3.0"
+ dedent "^0.7.0"
+ get-port "^5.1.1"
+ multimatch "^5.0.0"
+ npm-package-arg "8.1.1"
+ npmlog "^6.0.2"
+ p-map "^4.0.0"
+ p-map-series "^2.1.0"
+ p-waterfall "^2.1.1"
+ semver "^7.3.4"
+
+"@lerna/changed@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/changed/-/changed-6.0.1.tgz#58614a0c65bfab77fefd142d5edc8282e057ea83"
+ integrity sha512-b0KzqpNv25ZxH9M/7jtDQaXWUBhVzBVJ8DQ4PjjeoulOCQ+mA9tNQr8UVmeU1UZiaNtNz6Hcy55vyvVvNe07VA==
+ dependencies:
+ "@lerna/collect-updates" "6.0.1"
+ "@lerna/command" "6.0.1"
+ "@lerna/listable" "6.0.1"
+ "@lerna/output" "6.0.1"
+
+"@lerna/check-working-tree@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/check-working-tree/-/check-working-tree-6.0.1.tgz#ad71d53941b5c85523499b283e5f44b52eca6276"
+ integrity sha512-9Ti1EuE3IiJUvvAtFk+Xr9Uw6KehT78ghnI4f/hi4uew5q0Mf2+DMaBNexbhOTpRFBeIq4ucDFhiN091pNkUNw==
+ dependencies:
+ "@lerna/collect-uncommitted" "6.0.1"
+ "@lerna/describe-ref" "6.0.1"
+ "@lerna/validation-error" "6.0.1"
+
+"@lerna/child-process@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/child-process/-/child-process-6.0.1.tgz#2141f643a4ed7d38fa9270a80403467a353a3b39"
+ integrity sha512-5smM8Or/RQkHysNFrUYdrCYlhpr3buNpCYU7T2DPYzOWRPm+X5rCvt/dDOcS3UgYT2jEyS86S5Y7pK2X7eXtmg==
+ dependencies:
+ chalk "^4.1.0"
+ execa "^5.0.0"
+ strong-log-transformer "^2.1.0"
+
+"@lerna/clean@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/clean/-/clean-6.0.1.tgz#e59f94140e577cbb66f76f78794b97778f78a246"
+ integrity sha512-ZaWPzzYNkJM7Ib2GWPLSELVBf5nRCGOGBtR9DSLKAore0Me876JLgi4h2R+Y2PVyCvT1kmoQKAclnjxdZbCONA==
+ dependencies:
+ "@lerna/command" "6.0.1"
+ "@lerna/filter-options" "6.0.1"
+ "@lerna/prompt" "6.0.1"
+ "@lerna/pulse-till-done" "6.0.1"
+ "@lerna/rimraf-dir" "6.0.1"
+ p-map "^4.0.0"
+ p-map-series "^2.1.0"
+ p-waterfall "^2.1.1"
+
+"@lerna/cli@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/cli/-/cli-6.0.1.tgz#8a92386702cff815f36104792ad5dc14f11a61a8"
+ integrity sha512-AuAnUXkBGdts/rmHltrkZucYy11OwYPb/4HM3zxLeq4O30w2ocZIytkOtSkuVKOMPWBZR8b37fNuZBzvxe5OmA==
+ dependencies:
+ "@lerna/global-options" "6.0.1"
+ dedent "^0.7.0"
+ npmlog "^6.0.2"
+ yargs "^16.2.0"
+
+"@lerna/collect-uncommitted@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/collect-uncommitted/-/collect-uncommitted-6.0.1.tgz#b93f5acfa9c63fffe41bfaaac02a0efad9180b00"
+ integrity sha512-qPqwmIlSlf8XBJnqMc+6pz6qXQ0Pfjil70FB2IPvoWbfrLvMI6K3I/AXeub9X5fj5HYqNs1XtwhWHJcMFpJddw==
+ dependencies:
+ "@lerna/child-process" "6.0.1"
+ chalk "^4.1.0"
+ npmlog "^6.0.2"
+
+"@lerna/collect-updates@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/collect-updates/-/collect-updates-6.0.1.tgz#7b4be193ee51a72ccedc20acf845fe32fdee9ee2"
+ integrity sha512-OwRcLqD1N5znlZM/Ctf031RDkodHVO62byiD35AbHGoGM2EI2TSYyIbqnJ8QsQJMB05/KhIBndL8Mpcdle7/rg==
+ dependencies:
+ "@lerna/child-process" "6.0.1"
+ "@lerna/describe-ref" "6.0.1"
+ minimatch "^3.0.4"
+ npmlog "^6.0.2"
+ slash "^3.0.0"
+
+"@lerna/command@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/command/-/command-6.0.1.tgz#a429e724237bc3c4a735e8eaef9816f2203cb7dc"
+ integrity sha512-V9w8M7pMU7KztxaL0+fetTSQYTa12bhTl86ll9VjlgYZ5qUAXk9E42Y8hbVThyYtHEhkRnIMinkWsmH/9YKU/A==
+ dependencies:
+ "@lerna/child-process" "6.0.1"
+ "@lerna/package-graph" "6.0.1"
+ "@lerna/project" "6.0.1"
+ "@lerna/validation-error" "6.0.1"
+ "@lerna/write-log-file" "6.0.1"
+ clone-deep "^4.0.1"
+ dedent "^0.7.0"
+ execa "^5.0.0"
+ is-ci "^2.0.0"
+ npmlog "^6.0.2"
+
+"@lerna/conventional-commits@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/conventional-commits/-/conventional-commits-6.0.1.tgz#72dd55aadc7c20eca5af3d03cdcfb613964dafc4"
+ integrity sha512-6oIGEZKy1GpooW28C0aEDkZ/rVkqpX44knP8Jyb5//1054QogqPhGC5q6J0lZxyhun8dQkpF6XTHlIintI8xow==
+ dependencies:
+ "@lerna/validation-error" "6.0.1"
+ conventional-changelog-angular "^5.0.12"
+ conventional-changelog-core "^4.2.4"
+ conventional-recommended-bump "^6.1.0"
+ fs-extra "^9.1.0"
+ get-stream "^6.0.0"
+ npm-package-arg "8.1.1"
+ npmlog "^6.0.2"
+ pify "^5.0.0"
+ semver "^7.3.4"
+
+"@lerna/create-symlink@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/create-symlink/-/create-symlink-6.0.1.tgz#5a9f75f8e5c0d83c39d70240f51284cc5d6770ad"
+ integrity sha512-ZmLx9SP5De6u1xkD7Z6gMMFuyLKCb+2bodreFe7ryOVP3cOLbmNOmgMgj+gtUgIwIv7BDwX3qFWlPY6B3VW3hQ==
+ dependencies:
+ cmd-shim "^5.0.0"
+ fs-extra "^9.1.0"
+ npmlog "^6.0.2"
+
+"@lerna/create@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/create/-/create-6.0.1.tgz#7905cef9196cb6a1caff5d7cd78a46fc7ea635a9"
+ integrity sha512-VuTdvBJDzvAaMBYoKTRMBQC+nfwnihxdA/ekUqBD+W8MMsqPLCGCneyl7JK9RaSSib/10LyRDEmfo79UAndcgQ==
+ dependencies:
+ "@lerna/child-process" "6.0.1"
+ "@lerna/command" "6.0.1"
+ "@lerna/npm-conf" "6.0.1"
+ "@lerna/validation-error" "6.0.1"
+ dedent "^0.7.0"
+ fs-extra "^9.1.0"
+ init-package-json "^3.0.2"
+ npm-package-arg "8.1.1"
+ p-reduce "^2.1.0"
+ pacote "^13.6.1"
+ pify "^5.0.0"
+ semver "^7.3.4"
+ slash "^3.0.0"
+ validate-npm-package-license "^3.0.4"
+ validate-npm-package-name "^4.0.0"
+ yargs-parser "20.2.4"
+
+"@lerna/describe-ref@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/describe-ref/-/describe-ref-6.0.1.tgz#e9277bcc3c1c839fc7305b808f9dd02a5404aaf8"
+ integrity sha512-PcTVt4qgAXUPBtWHyqixtwE/eXe56+DFRnfTcJlb4x5F7LJ+7VNpdR/81qfP89Xj10U5IjELXbXmriz1KMwhfw==
+ dependencies:
+ "@lerna/child-process" "6.0.1"
+ npmlog "^6.0.2"
+
+"@lerna/diff@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/diff/-/diff-6.0.1.tgz#e8c5d541d74a9aa13a4ac6745f2f0d9531207fd1"
+ integrity sha512-/pGXH9txA8wX1YJ/KOBXzx0Z2opADBW4HKPCxxHAu+6dTGMbKABDljVT5Np3UpfIrAGDE5fTuf0aGL4vkKUWrg==
+ dependencies:
+ "@lerna/child-process" "6.0.1"
+ "@lerna/command" "6.0.1"
+ "@lerna/validation-error" "6.0.1"
+ npmlog "^6.0.2"
+
+"@lerna/exec@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/exec/-/exec-6.0.1.tgz#d2d0785c46b7ceb3758fe75bb6d95d177a0a0ec3"
+ integrity sha512-x9puoI3091Alp45w7XOGRxThOw45p+tWGPR5TBCEQiiH7f8eF9Dc4WX5HXf31ooK6NmD40eKPYhBgy8oQnJY9w==
+ dependencies:
+ "@lerna/child-process" "6.0.1"
+ "@lerna/command" "6.0.1"
+ "@lerna/filter-options" "6.0.1"
+ "@lerna/profiler" "6.0.1"
+ "@lerna/run-topologically" "6.0.1"
+ "@lerna/validation-error" "6.0.1"
+ p-map "^4.0.0"
+
+"@lerna/filter-options@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/filter-options/-/filter-options-6.0.1.tgz#4dbd29a31fb2ac228f72c51b223f17623d1f2c71"
+ integrity sha512-6KxbBI/2skRl/yQdjugQ1PWrSLq19650z8mltF0HT7B686fj7LlDNtESFOtY6iZ8IPqKBkIavOP0DPmJZd7Szw==
+ dependencies:
+ "@lerna/collect-updates" "6.0.1"
+ "@lerna/filter-packages" "6.0.1"
+ dedent "^0.7.0"
+ npmlog "^6.0.2"
+
+"@lerna/filter-packages@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/filter-packages/-/filter-packages-6.0.1.tgz#07f10dc78e852bbba44843b785ebc16f386cedaa"
+ integrity sha512-2bKhexeF07Urs2b0xYX2OgYUN0EzmS2FSgvw0KT6He48PGOkqgJjU7PIiWdPyOvZdukwm07qXTmJZulAHftceA==
+ dependencies:
+ "@lerna/validation-error" "6.0.1"
+ multimatch "^5.0.0"
+ npmlog "^6.0.2"
+
+"@lerna/get-npm-exec-opts@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-6.0.1.tgz#c766588d030c0ec7170650808957998e8ad70831"
+ integrity sha512-y2T+ODP8HNzHQn1ldrrPW+n823fGsN2sY0r78yURFxYZnxA9ZINyQ6IAejo5LqHrYN8Qhr++0RHo2tUisIHdKg==
+ dependencies:
+ npmlog "^6.0.2"
+
+"@lerna/get-packed@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/get-packed/-/get-packed-6.0.1.tgz#d31c10ec10658eeee4306886c100cd9600d6dd78"
+ integrity sha512-Z/5J5vbjdeGqZcPvUSiszvyizHdsTRiFlpPORWK3YfIsHllUB7QZnVHLg92UnSJrpPE0O1gH+k6ByhhR+3qEdA==
+ dependencies:
+ fs-extra "^9.1.0"
+ ssri "^9.0.1"
+ tar "^6.1.0"
+
+"@lerna/github-client@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/github-client/-/github-client-6.0.1.tgz#081d13c2debf312d0e5a2bb2fad6e0c69e1501d6"
+ integrity sha512-UA7V3XUunJnrfCL2eyW9QsCjBWShv4dCRGUITXmpQJrNIMZIqVbBJzqN9LVHDNc/hEVZGt0EjtHWdpFCgD4ypg==
+ dependencies:
+ "@lerna/child-process" "6.0.1"
+ "@octokit/plugin-enterprise-rest" "^6.0.1"
+ "@octokit/rest" "^19.0.3"
+ git-url-parse "^13.1.0"
+ npmlog "^6.0.2"
+
+"@lerna/gitlab-client@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/gitlab-client/-/gitlab-client-6.0.1.tgz#1863b621a1530bc482113cac8791247664dedb2a"
+ integrity sha512-yyaBKf/OqBAau6xDk1tnMjfkxRpC/j3OwUyXFFGfJFSulWRHpbHoFSfvIgOn/hkjAr9FfHC7TXItRg8qdm38Wg==
+ dependencies:
+ node-fetch "^2.6.1"
+ npmlog "^6.0.2"
+
+"@lerna/global-options@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/global-options/-/global-options-6.0.1.tgz#83061d85759c105120ff55716959642ba6eb0eea"
+ integrity sha512-vzjDI3Bg2NR+cSgfjHWax2bF1HmQYjJF2tmZlT/hJbwhaVMIEnhzHnJ9Yycmm98cdV77xEMlbmk5YD7xgFdG2w==
+
+"@lerna/has-npm-version@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/has-npm-version/-/has-npm-version-6.0.1.tgz#ed27a27cad2090069feb3108b105ceec765bec5e"
+ integrity sha512-ol1onJaauMXK0cQsfRX2rvbhNRyNBY9Ne5trrRjfMROa7Tnr8c3I4+aKQs7m4z1JdWaGBV4xBH+NSZ/esPuaWA==
+ dependencies:
+ "@lerna/child-process" "6.0.1"
+ semver "^7.3.4"
+
+"@lerna/import@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/import/-/import-6.0.1.tgz#9e869d6bbe82446ee3620c4310ca6232881b7952"
+ integrity sha512-GrTtIWUCnDf+FqRjenV2OKWU+khoZj0h/etgfXus45PBO2+V/SkkzIY4xof23XphiydUYrSrYtwx2i1aEmk3Wg==
+ dependencies:
+ "@lerna/child-process" "6.0.1"
+ "@lerna/command" "6.0.1"
+ "@lerna/prompt" "6.0.1"
+ "@lerna/pulse-till-done" "6.0.1"
+ "@lerna/validation-error" "6.0.1"
+ dedent "^0.7.0"
+ fs-extra "^9.1.0"
+ p-map-series "^2.1.0"
+
+"@lerna/info@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/info/-/info-6.0.1.tgz#68395061ffbd81c7716d60b99b5220c90ade2862"
+ integrity sha512-QEW7JtJjoR1etUrcft7BnrwPZFHE2JPmt2DoSvSmLISLyy+HlmdXHK+p6Ej3g1ql8gS0GWCacgwmlRZ27CDp5A==
+ dependencies:
+ "@lerna/command" "6.0.1"
+ "@lerna/output" "6.0.1"
+ envinfo "^7.7.4"
+
+"@lerna/init@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/init/-/init-6.0.1.tgz#babee56707bd19b3c1b82967e3360d1083c04cf9"
+ integrity sha512-zOMrSij09LSAVUUujpD3y32wkHp8dQ+/dVCp4USlfcGfI+kIPc5prkYCGDO8dEcqkze0pMfDMF23pVNvAf9g7w==
+ dependencies:
+ "@lerna/child-process" "6.0.1"
+ "@lerna/command" "6.0.1"
+ "@lerna/project" "6.0.1"
+ fs-extra "^9.1.0"
+ p-map "^4.0.0"
+ write-json-file "^4.3.0"
+
+"@lerna/link@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/link/-/link-6.0.1.tgz#a94cf3aead92538835d955c6de281c65097f3471"
+ integrity sha512-VXZ77AWsJCycTu219ZLUHyRzMd5hgivLk5ZyBD1s/emArFvdEmGLscj2RXn3P3w/951b+DNG2Zbi6nek0iJ6DA==
+ dependencies:
+ "@lerna/command" "6.0.1"
+ "@lerna/package-graph" "6.0.1"
+ "@lerna/symlink-dependencies" "6.0.1"
+ "@lerna/validation-error" "6.0.1"
+ p-map "^4.0.0"
+ slash "^3.0.0"
+
+"@lerna/list@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/list/-/list-6.0.1.tgz#ab6d056c5d7b99ca0ed6a17d48bf907afd9d970a"
+ integrity sha512-M9Vneh866E1nlpU88rcUMLR+XTVi3VY0fLPr1OqXdYF+eTe6RkEHUQj8HIk94Rnt02HsWc4+FO31T4i5sf+PaA==
+ dependencies:
+ "@lerna/command" "6.0.1"
+ "@lerna/filter-options" "6.0.1"
+ "@lerna/listable" "6.0.1"
+ "@lerna/output" "6.0.1"
+
+"@lerna/listable@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/listable/-/listable-6.0.1.tgz#444e81f6642c198d116e9e6b86d96d10ddf2e147"
+ integrity sha512-+xEByVX0sbnBW3EBu3XCg71Bz9/dahncmCjNK0kVnZLnQZzfULCndaQeSt+f9KO0VCs8h1tnXdo2uLPm4lThnw==
+ dependencies:
+ "@lerna/query-graph" "6.0.1"
+ chalk "^4.1.0"
+ columnify "^1.6.0"
+
+"@lerna/log-packed@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/log-packed/-/log-packed-6.0.1.tgz#20fe38b5f18e65392b42bf84cfdda0afc0b62330"
+ integrity sha512-HTJdZzfBbb5jyk/QU2O6o+yaWRwLoaPruhK+Q3ESTzQ2mlNCr0CI4UKWDcWURWx0EsVsYqsoUHuPZInpIHqCnA==
+ dependencies:
+ byte-size "^7.0.0"
+ columnify "^1.6.0"
+ has-unicode "^2.0.1"
+ npmlog "^6.0.2"
+
+"@lerna/npm-conf@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/npm-conf/-/npm-conf-6.0.1.tgz#fa242a36ef687c7b5207a9d9a85b9e7a4f38bdc5"
+ integrity sha512-VjxODCnl6QJGoQ8z8AWEID1GO9CtCr2yRyn6NoRdBOTYmzI5KhBBM+nWmyMSOUe0EZI+K5j04/GRzKHg2KXTAQ==
+ dependencies:
+ config-chain "^1.1.12"
+ pify "^5.0.0"
+
+"@lerna/npm-dist-tag@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/npm-dist-tag/-/npm-dist-tag-6.0.1.tgz#4718bdedd82f375ba619319070b694f1113e627b"
+ integrity sha512-jJKDgnhj6xGqSWGcbwdcbPtoo2m4mHRwqu8iln9e3TMOEyUO9aA4uvd0/18tEAsboOMiLUhhcQ8709iKv21ZEA==
+ dependencies:
+ "@lerna/otplease" "6.0.1"
+ npm-package-arg "8.1.1"
+ npm-registry-fetch "^13.3.0"
+ npmlog "^6.0.2"
+
+"@lerna/npm-install@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/npm-install/-/npm-install-6.0.1.tgz#5d6f0c62b34f2bfeb8f20b81b08f01ca0d3ed60b"
+ integrity sha512-saDJSyhhl/wxgZSzRx2/pr0wsMR+hZpdhLGd1lZgo5XzLq3ogK+BxPFz3AK3xhRnNaMq96gDQ3xmeetoV53lwQ==
+ dependencies:
+ "@lerna/child-process" "6.0.1"
+ "@lerna/get-npm-exec-opts" "6.0.1"
+ fs-extra "^9.1.0"
+ npm-package-arg "8.1.1"
+ npmlog "^6.0.2"
+ signal-exit "^3.0.3"
+ write-pkg "^4.0.0"
+
+"@lerna/npm-publish@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/npm-publish/-/npm-publish-6.0.1.tgz#ffbca4be5b971df978a60917460ee8f28b1c62b7"
+ integrity sha512-hgzF9fOfp010z7PJtqNLxNXiHr6u4UDVwiX8g22rhJKBh9Ekrq7N9NS3mF0l+RcleRU/jJKYtZ0Ci3fICaaRUg==
+ dependencies:
+ "@lerna/otplease" "6.0.1"
+ "@lerna/run-lifecycle" "6.0.1"
+ fs-extra "^9.1.0"
+ libnpmpublish "^6.0.4"
+ npm-package-arg "8.1.1"
+ npmlog "^6.0.2"
+ pify "^5.0.0"
+ read-package-json "^5.0.1"
+
+"@lerna/npm-run-script@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/npm-run-script/-/npm-run-script-6.0.1.tgz#3a255aa6f37a5e2369a37a8ddcb2709f84019ed1"
+ integrity sha512-K+D4LEoVRuBoKRImprkVRHIORu0xouX+c6yI1B93KWHKJ60H8qCeB0gQkA30pFALx3qG07bXVnFmfK9SGQXD3Q==
+ dependencies:
+ "@lerna/child-process" "6.0.1"
+ "@lerna/get-npm-exec-opts" "6.0.1"
+ npmlog "^6.0.2"
+
+"@lerna/otplease@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/otplease/-/otplease-6.0.1.tgz#da5467c603565940c1f91e65d077abf25d96df7f"
+ integrity sha512-RrP8GtfE9yz37GuuCFqddR3mVIQc1ulUpAaaDNK4AOTb7gM0aCsTN7V2gCGBk1zdIsBuvNvNqt5jpWm4U6/EAA==
+ dependencies:
+ "@lerna/prompt" "6.0.1"
+
+"@lerna/output@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/output/-/output-6.0.1.tgz#5e301ad0bed607ee139cf207fd75ed1e5fac7908"
+ integrity sha512-4jZ3fgaCbnsTZ353/lXE/3w20Cge6G3iUoESVip+JE2yhZ8rWgPISG8RFR0YGEtSgq2yC9AgGnGlvmOnAc4SAQ==
+ dependencies:
+ npmlog "^6.0.2"
+
+"@lerna/pack-directory@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/pack-directory/-/pack-directory-6.0.1.tgz#4a0bf61b7cb1b1b3f1fb95afec987a7c63ff9f95"
+ integrity sha512-vNgS5Rs7s6khOYuHE5nTds0VDfHBH8YNGvV1s0yGAg/Zkivi7bOTs8jDQFiYhQX3HOTC1/85BLhGQ3zcDHlrew==
+ dependencies:
+ "@lerna/get-packed" "6.0.1"
+ "@lerna/package" "6.0.1"
+ "@lerna/run-lifecycle" "6.0.1"
+ "@lerna/temp-write" "6.0.1"
+ npm-packlist "^5.1.1"
+ npmlog "^6.0.2"
+ tar "^6.1.0"
+
+"@lerna/package-graph@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/package-graph/-/package-graph-6.0.1.tgz#db72ab9ed45933d1518de7f7389a6c79e6059336"
+ integrity sha512-OMppRWpfSaI6HO/Tc5FVpNefgOsCc3/DzaMLme6QTTpbEwD3EhvQ3Xx0MgsGMPdmZhWp/WOoAJsVRnLa+l03gg==
+ dependencies:
+ "@lerna/prerelease-id-from-version" "6.0.1"
+ "@lerna/validation-error" "6.0.1"
+ npm-package-arg "8.1.1"
+ npmlog "^6.0.2"
+ semver "^7.3.4"
+
+"@lerna/package@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/package/-/package-6.0.1.tgz#cb950e574b1ea3ef5cd8cf62b3c4308f6c869122"
+ integrity sha512-vCwyiLVJ4K3SR6KZleglq1dUXIiYGmk3b+NrFWP/Z3dhVE0C+RqgxSsAS4aaUNMSO2KSI0dBdce7BT/D+FdpIQ==
+ dependencies:
+ load-json-file "^6.2.0"
+ npm-package-arg "8.1.1"
+ write-pkg "^4.0.0"
+
+"@lerna/prerelease-id-from-version@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-6.0.1.tgz#a47980aa6c78deaa36430d03b6300bc889960b50"
+ integrity sha512-aZBs/FinztKjNXlk0cW99FpABynZzZwlmJuW4h9nMrQPgWoaDAERfImbefIH/lcpxdRuuGtClyZUFBOSq8ppfg==
+ dependencies:
+ semver "^7.3.4"
+
+"@lerna/profiler@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/profiler/-/profiler-6.0.1.tgz#2b7a043e6999823ad97a7ddaea0ed7f338032f92"
+ integrity sha512-vZrgF5pDhYWY/Gx7MjtyOgTVMA6swDV2+xPZwkvRD1Z0XpWEIn5d79zRN/1SBpdMNozC7Lj++1oEbCGNWhy/ow==
+ dependencies:
+ fs-extra "^9.1.0"
+ npmlog "^6.0.2"
+ upath "^2.0.1"
+
+"@lerna/project@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/project/-/project-6.0.1.tgz#0d4a6dbca1943478d554d4a3a610968caf9b303a"
+ integrity sha512-/n2QuAEgImbwUqrJND15FxYu29p/mLTUpL/8cSg6IUlOQRFyXteESRyl8A2Ex7Wj00FMbtB13vgbmTdkTgKL0A==
+ dependencies:
+ "@lerna/package" "6.0.1"
+ "@lerna/validation-error" "6.0.1"
+ cosmiconfig "^7.0.0"
+ dedent "^0.7.0"
+ dot-prop "^6.0.1"
+ glob-parent "^5.1.1"
+ globby "^11.0.2"
+ js-yaml "^4.1.0"
+ load-json-file "^6.2.0"
+ npmlog "^6.0.2"
+ p-map "^4.0.0"
+ resolve-from "^5.0.0"
+ write-json-file "^4.3.0"
+
+"@lerna/prompt@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/prompt/-/prompt-6.0.1.tgz#2a744b168ce4a29b7c66d500258a3f65b3f028e2"
+ integrity sha512-faR7oVdHBO3QTJ6o9kUEDPpyjCftd/CCa1rAC6q8f3vlLfCPrTym0qT+DcOBFGpDQh4m2dmGfJZgpXIVi6bMbg==
+ dependencies:
+ inquirer "^8.2.4"
+ npmlog "^6.0.2"
+
+"@lerna/publish@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/publish/-/publish-6.0.1.tgz#9448a35a87e2c986c8919114698f3a314a9a2574"
+ integrity sha512-xIleRwCuPHtShNSPc6RDH33Z+EO1E4O0LOhPq5qTwanNPYh5eL6bDHBsox44BbMD9dhhI4PUrqIGTu3AoKdDxg==
+ dependencies:
+ "@lerna/check-working-tree" "6.0.1"
+ "@lerna/child-process" "6.0.1"
+ "@lerna/collect-updates" "6.0.1"
+ "@lerna/command" "6.0.1"
+ "@lerna/describe-ref" "6.0.1"
+ "@lerna/log-packed" "6.0.1"
+ "@lerna/npm-conf" "6.0.1"
+ "@lerna/npm-dist-tag" "6.0.1"
+ "@lerna/npm-publish" "6.0.1"
+ "@lerna/otplease" "6.0.1"
+ "@lerna/output" "6.0.1"
+ "@lerna/pack-directory" "6.0.1"
+ "@lerna/prerelease-id-from-version" "6.0.1"
+ "@lerna/prompt" "6.0.1"
+ "@lerna/pulse-till-done" "6.0.1"
+ "@lerna/run-lifecycle" "6.0.1"
+ "@lerna/run-topologically" "6.0.1"
+ "@lerna/validation-error" "6.0.1"
+ "@lerna/version" "6.0.1"
+ fs-extra "^9.1.0"
+ libnpmaccess "^6.0.3"
+ npm-package-arg "8.1.1"
+ npm-registry-fetch "^13.3.0"
+ npmlog "^6.0.2"
+ p-map "^4.0.0"
+ p-pipe "^3.1.0"
+ pacote "^13.6.1"
+ semver "^7.3.4"
+
+"@lerna/pulse-till-done@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/pulse-till-done/-/pulse-till-done-6.0.1.tgz#d23985aea1ba25bb33cf74b39f36f2b7a5d21791"
+ integrity sha512-DK5Ylh/O7Vzn9ObEggvoHdLxc1hiXsDZ4fUvSmi50kc5QrMrk+xo6OyPgIaDBhYxj6lm3TQ1KkvWnRgiEynKAg==
+ dependencies:
+ npmlog "^6.0.2"
+
+"@lerna/query-graph@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/query-graph/-/query-graph-6.0.1.tgz#f72b55f0ee4662d06167e639e975019e5c004c59"
+ integrity sha512-X8Z63Ax5a9nXgNBG+IAXEdCL4MG88akr7L4mBvKiTPrK5VgP46YzuZSaSoPI8bU67MlWBkSYQWAJJ5t0HEtKTw==
+ dependencies:
+ "@lerna/package-graph" "6.0.1"
+
+"@lerna/resolve-symlink@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/resolve-symlink/-/resolve-symlink-6.0.1.tgz#30c3ccf4c730451754ce7aa002772f26dd757c20"
+ integrity sha512-btosycLN+2lpqou6pz0Oeq4XIKHDIn0NvdnuCBLxtuBOBNIkdlx5QWKCtZ31GYKbCUt55w1DSGL64kfVuejVQQ==
+ dependencies:
+ fs-extra "^9.1.0"
+ npmlog "^6.0.2"
+ read-cmd-shim "^3.0.0"
+
+"@lerna/rimraf-dir@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/rimraf-dir/-/rimraf-dir-6.0.1.tgz#e52ba283a4c39ade75792c23d0c6dcec65dcbbf4"
+ integrity sha512-rBFkwrxEQWFfZV5IMiPfGVubOquvOTNsPJPUf5tZoPAqKHXVQi5iYZGB65VG8JA7eFenZxh5mVErX2gtWFh1Ew==
+ dependencies:
+ "@lerna/child-process" "6.0.1"
+ npmlog "^6.0.2"
+ path-exists "^4.0.0"
+ rimraf "^3.0.2"
+
+"@lerna/run-lifecycle@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/run-lifecycle/-/run-lifecycle-6.0.1.tgz#ab94838cf7daa1edd6228be0a161b38ec1a42a0b"
+ integrity sha512-gC7rnV3mrgFFIM8GlHc3d22ovYHoExu9CuIAxN26CVrMq7iEYxWoxYvweqVANsCHR7CVbs+dsDx8/TP1pQG8wg==
+ dependencies:
+ "@lerna/npm-conf" "6.0.1"
+ "@npmcli/run-script" "^4.1.7"
+ npmlog "^6.0.2"
+ p-queue "^6.6.2"
+
+"@lerna/run-topologically@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/run-topologically/-/run-topologically-6.0.1.tgz#dcf26259e57b224d4aad2e3b259555ecd2f226ea"
+ integrity sha512-p4J9RvOUyDUjQ21tDh7Durci9YnuBu3T8WXD8xu5ZwcxVnawK1h5B8kP4V1R5L/jwNqkXsAnlLwikPVGQ5Iptw==
+ dependencies:
+ "@lerna/query-graph" "6.0.1"
+ p-queue "^6.6.2"
+
+"@lerna/run@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/run/-/run-6.0.1.tgz#20d3c77fa8faad01b915214b95477ae5390c8b45"
+ integrity sha512-F1vvpaevsWCjaQs3NlBegH54izm3cO3Qbg/cRRzPZMK4Jo7gE1ddL7+zCIq0zGt6aeVqRGBOtUMk4SvNGkzI4w==
+ dependencies:
+ "@lerna/command" "6.0.1"
+ "@lerna/filter-options" "6.0.1"
+ "@lerna/npm-run-script" "6.0.1"
+ "@lerna/output" "6.0.1"
+ "@lerna/profiler" "6.0.1"
+ "@lerna/run-topologically" "6.0.1"
+ "@lerna/timer" "6.0.1"
+ "@lerna/validation-error" "6.0.1"
+ fs-extra "^9.1.0"
+ p-map "^4.0.0"
+
+"@lerna/symlink-binary@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/symlink-binary/-/symlink-binary-6.0.1.tgz#b9278650c3360cc518e0d313d9999cd740a2c054"
+ integrity sha512-TcwxDMgU9w+hGl0EeYihPytVRKV0KTeZZW4Bq6NEtjTCIIuKWxZjcY5ocxW22i6BClBvfFAJqkf+e+i3Nixlhg==
+ dependencies:
+ "@lerna/create-symlink" "6.0.1"
+ "@lerna/package" "6.0.1"
+ fs-extra "^9.1.0"
+ p-map "^4.0.0"
+
+"@lerna/symlink-dependencies@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/symlink-dependencies/-/symlink-dependencies-6.0.1.tgz#28c01b3f910c1d13b1d447d27c47f5c76efd0096"
+ integrity sha512-ImyqjLjMBu0ORGO9gYHr9oDgN/5QeeGuELtYNweLS5vMNSH1dokQW9fqZSrgfCJPbxeCizBcDTi/Knqg17ebkA==
+ dependencies:
+ "@lerna/create-symlink" "6.0.1"
+ "@lerna/resolve-symlink" "6.0.1"
+ "@lerna/symlink-binary" "6.0.1"
+ fs-extra "^9.1.0"
+ p-map "^4.0.0"
+ p-map-series "^2.1.0"
+
+"@lerna/temp-write@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/temp-write/-/temp-write-6.0.1.tgz#84f8aa3f74b6150706a70430c68815517f5301cf"
+ integrity sha512-9eklYncDnwTnGF9o14GOrZU05ZK5n6/x5XYRQHbuLfK5T9pmOiUyl6sO1613cZygUMaWHHi7BLtBPiw2CklqXQ==
+ dependencies:
+ graceful-fs "^4.1.15"
+ is-stream "^2.0.0"
+ make-dir "^3.0.0"
+ temp-dir "^1.0.0"
+ uuid "^8.3.2"
+
+"@lerna/timer@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/timer/-/timer-6.0.1.tgz#eb10242c48a1246e1bf216af305974fbd6332d39"
+ integrity sha512-FLoga8iprKmRkh9jO+LP4Bm7MZLO4wNHM4LML4Dlh9CPwcIOWTteI8wSgRXvEJpt33IRIoPOUnfL3iHh8WwaYA==
+
+"@lerna/validation-error@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/validation-error/-/validation-error-6.0.1.tgz#afcf6b193eae86d64df9561afb7698696257304f"
+ integrity sha512-kjAxfFY1pDltwoCTvMQCbnpBwMXBFuvE4hdi8qePhBQ1Lf0PlTOI4ZqMFIkaTud+oujzysDXraTJbYTjc+C+zw==
+ dependencies:
+ npmlog "^6.0.2"
+
+"@lerna/version@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/version/-/version-6.0.1.tgz#988675be8ea29f1548cb4554c257c2cc94b78084"
+ integrity sha512-d/addeHVsRFWx3fb/XZIh6f23KuEC9Fn3ytpaMzA8rlLF3Nob1opIR98ZfUz7Nf+skpIV1QiIbXdJTZzIKvd9g==
+ dependencies:
+ "@lerna/check-working-tree" "6.0.1"
+ "@lerna/child-process" "6.0.1"
+ "@lerna/collect-updates" "6.0.1"
+ "@lerna/command" "6.0.1"
+ "@lerna/conventional-commits" "6.0.1"
+ "@lerna/github-client" "6.0.1"
+ "@lerna/gitlab-client" "6.0.1"
+ "@lerna/output" "6.0.1"
+ "@lerna/prerelease-id-from-version" "6.0.1"
+ "@lerna/prompt" "6.0.1"
+ "@lerna/run-lifecycle" "6.0.1"
+ "@lerna/run-topologically" "6.0.1"
+ "@lerna/temp-write" "6.0.1"
+ "@lerna/validation-error" "6.0.1"
+ "@nrwl/devkit" ">=14.8.6 < 16"
+ chalk "^4.1.0"
+ dedent "^0.7.0"
+ load-json-file "^6.2.0"
+ minimatch "^3.0.4"
+ npmlog "^6.0.2"
+ p-map "^4.0.0"
+ p-pipe "^3.1.0"
+ p-reduce "^2.1.0"
+ p-waterfall "^2.1.1"
+ semver "^7.3.4"
+ slash "^3.0.0"
+ write-json-file "^4.3.0"
+
+"@lerna/write-log-file@6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@lerna/write-log-file/-/write-log-file-6.0.1.tgz#4335d5e08686f8250ebae9d7f56b64452bd90cd3"
+ integrity sha512-fJGDE8rlE35DwKSqV8M1VV2xw/vQlgwTwURjNOMvd1Ar23Aa9CkJC4XAwc9uUgIku34IsWUM8MNbw9ClSsJaqw==
+ dependencies:
+ npmlog "^6.0.2"
+ write-file-atomic "^4.0.1"
+
"@nodelib/fs.scandir@2.1.5":
version "2.1.5"
resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
@@ -1441,6 +2140,140 @@
"@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0"
+"@npmcli/arborist@5.3.0":
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-5.3.0.tgz#321d9424677bfc08569e98a5ac445ee781f32053"
+ integrity sha512-+rZ9zgL1lnbl8Xbb1NQdMjveOMwj4lIYfcDtyJHHi5x4X8jtR6m8SXooJMZy5vmFVZ8w7A2Bnd/oX9eTuU8w5A==
+ dependencies:
+ "@isaacs/string-locale-compare" "^1.1.0"
+ "@npmcli/installed-package-contents" "^1.0.7"
+ "@npmcli/map-workspaces" "^2.0.3"
+ "@npmcli/metavuln-calculator" "^3.0.1"
+ "@npmcli/move-file" "^2.0.0"
+ "@npmcli/name-from-folder" "^1.0.1"
+ "@npmcli/node-gyp" "^2.0.0"
+ "@npmcli/package-json" "^2.0.0"
+ "@npmcli/run-script" "^4.1.3"
+ bin-links "^3.0.0"
+ cacache "^16.0.6"
+ common-ancestor-path "^1.0.1"
+ json-parse-even-better-errors "^2.3.1"
+ json-stringify-nice "^1.1.4"
+ mkdirp "^1.0.4"
+ mkdirp-infer-owner "^2.0.0"
+ nopt "^5.0.0"
+ npm-install-checks "^5.0.0"
+ npm-package-arg "^9.0.0"
+ npm-pick-manifest "^7.0.0"
+ npm-registry-fetch "^13.0.0"
+ npmlog "^6.0.2"
+ pacote "^13.6.1"
+ parse-conflict-json "^2.0.1"
+ proc-log "^2.0.0"
+ promise-all-reject-late "^1.0.0"
+ promise-call-limit "^1.0.1"
+ read-package-json-fast "^2.0.2"
+ readdir-scoped-modules "^1.1.0"
+ rimraf "^3.0.2"
+ semver "^7.3.7"
+ ssri "^9.0.0"
+ treeverse "^2.0.0"
+ walk-up-path "^1.0.0"
+
+"@npmcli/fs@^2.1.0":
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.2.tgz#a9e2541a4a2fec2e69c29b35e6060973da79b865"
+ integrity sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==
+ dependencies:
+ "@gar/promisify" "^1.1.3"
+ semver "^7.3.5"
+
+"@npmcli/git@^3.0.0":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-3.0.2.tgz#5c5de6b4d70474cf2d09af149ce42e4e1dacb931"
+ integrity sha512-CAcd08y3DWBJqJDpfuVL0uijlq5oaXaOJEKHKc4wqrjd00gkvTZB+nFuLn+doOOKddaQS9JfqtNoFCO2LCvA3w==
+ dependencies:
+ "@npmcli/promise-spawn" "^3.0.0"
+ lru-cache "^7.4.4"
+ mkdirp "^1.0.4"
+ npm-pick-manifest "^7.0.0"
+ proc-log "^2.0.0"
+ promise-inflight "^1.0.1"
+ promise-retry "^2.0.1"
+ semver "^7.3.5"
+ which "^2.0.2"
+
+"@npmcli/installed-package-contents@^1.0.7":
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz#ab7408c6147911b970a8abe261ce512232a3f4fa"
+ integrity sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==
+ dependencies:
+ npm-bundled "^1.1.1"
+ npm-normalize-package-bin "^1.0.1"
+
+"@npmcli/map-workspaces@^2.0.3":
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-2.0.4.tgz#9e5e8ab655215a262aefabf139782b894e0504fc"
+ integrity sha512-bMo0aAfwhVwqoVM5UzX1DJnlvVvzDCHae821jv48L1EsrYwfOZChlqWYXEtto/+BkBXetPbEWgau++/brh4oVg==
+ dependencies:
+ "@npmcli/name-from-folder" "^1.0.1"
+ glob "^8.0.1"
+ minimatch "^5.0.1"
+ read-package-json-fast "^2.0.3"
+
+"@npmcli/metavuln-calculator@^3.0.1":
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/@npmcli/metavuln-calculator/-/metavuln-calculator-3.1.1.tgz#9359bd72b400f8353f6a28a25c8457b562602622"
+ integrity sha512-n69ygIaqAedecLeVH3KnO39M6ZHiJ2dEv5A7DGvcqCB8q17BGUgW8QaanIkbWUo2aYGZqJaOORTLAlIvKjNDKA==
+ dependencies:
+ cacache "^16.0.0"
+ json-parse-even-better-errors "^2.3.1"
+ pacote "^13.0.3"
+ semver "^7.3.5"
+
+"@npmcli/move-file@^2.0.0":
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-2.0.1.tgz#26f6bdc379d87f75e55739bab89db525b06100e4"
+ integrity sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==
+ dependencies:
+ mkdirp "^1.0.4"
+ rimraf "^3.0.2"
+
+"@npmcli/name-from-folder@^1.0.1":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/@npmcli/name-from-folder/-/name-from-folder-1.0.1.tgz#77ecd0a4fcb772ba6fe927e2e2e155fbec2e6b1a"
+ integrity sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA==
+
+"@npmcli/node-gyp@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz#8c20e53e34e9078d18815c1d2dda6f2420d75e35"
+ integrity sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A==
+
+"@npmcli/package-json@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@npmcli/package-json/-/package-json-2.0.0.tgz#3bbcf4677e21055adbe673d9f08c9f9cde942e4a"
+ integrity sha512-42jnZ6yl16GzjWSH7vtrmWyJDGVa/LXPdpN2rcUWolFjc9ON2N3uz0qdBbQACfmhuJZ2lbKYtmK5qx68ZPLHMA==
+ dependencies:
+ json-parse-even-better-errors "^2.3.1"
+
+"@npmcli/promise-spawn@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-3.0.0.tgz#53283b5f18f855c6925f23c24e67c911501ef573"
+ integrity sha512-s9SgS+p3a9Eohe68cSI3fi+hpcZUmXq5P7w0kMlAsWVtR7XbK3ptkZqKT2cK1zLDObJ3sR+8P59sJE0w/KTL1g==
+ dependencies:
+ infer-owner "^1.0.4"
+
+"@npmcli/run-script@^4.1.0", "@npmcli/run-script@^4.1.3", "@npmcli/run-script@^4.1.7":
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-4.2.1.tgz#c07c5c71bc1c70a5f2a06b0d4da976641609b946"
+ integrity sha512-7dqywvVudPSrRCW5nTHpHgeWnbBtz8cFkOuKrecm6ih+oO9ciydhWt6OF7HlqupRRmB8Q/gECVdB9LMfToJbRg==
+ dependencies:
+ "@npmcli/node-gyp" "^2.0.0"
+ "@npmcli/promise-spawn" "^3.0.0"
+ node-gyp "^9.0.0"
+ read-package-json-fast "^2.0.3"
+ which "^2.0.2"
+
"@nrwl/cli@14.5.10":
version "14.5.10"
resolved "https://registry.yarnpkg.com/@nrwl/cli/-/cli-14.5.10.tgz#826c06a9a272523424f0c5690f5d745260ed1ea1"
@@ -1448,6 +2281,13 @@
dependencies:
nx "14.5.10"
+"@nrwl/cli@15.0.0":
+ version "15.0.0"
+ resolved "https://registry.yarnpkg.com/@nrwl/cli/-/cli-15.0.0.tgz#7b00d95a6502f83fdd84f8888fd1ba7a180cdd07"
+ integrity sha512-D0zAhZ375bQnoUM2HLifMzAa75A3/lC9OkkewsiVVbqaznjEIry8ezHZepgfjFRVzLr3ue7FIpDEH3iJIYzvVw==
+ dependencies:
+ nx "15.0.0"
+
"@nrwl/devkit@14.5.10":
version "14.5.10"
resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-14.5.10.tgz#b87bc3dad8e6d019c76adf7f65a56af19df70283"
@@ -1459,6 +2299,17 @@
semver "7.3.4"
tslib "^2.3.0"
+"@nrwl/devkit@>=14.8.6 < 16":
+ version "15.0.0"
+ resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-15.0.0.tgz#755bc07581a57e0ae87f68a7562ab86ff737e919"
+ integrity sha512-ALtPfILlxLDg77rV/XNdDGbhUkh0gZPj/4Ehy3ScvVqPhTrDIZNLGX13dXgUUF9xhGb7SXPmvzZkduBpqmHnfQ==
+ dependencies:
+ "@phenomnomnominal/tsquery" "4.1.1"
+ ejs "^3.1.7"
+ ignore "^5.0.4"
+ semver "7.3.4"
+ tslib "^2.3.0"
+
"@nrwl/jest@14.5.10":
version "14.5.10"
resolved "https://registry.yarnpkg.com/@nrwl/jest/-/jest-14.5.10.tgz#1e808608665660c59e4b3026ba0eab7f86153163"
@@ -1497,6 +2348,13 @@
dependencies:
nx "14.5.10"
+"@nrwl/tao@15.0.0":
+ version "15.0.0"
+ resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-15.0.0.tgz#128499a4256e408716f7347131a3ed32d1fec5f0"
+ integrity sha512-qup1eSWYwp/KVrw/wxeWBvYttQ9dcbQnqpXb5NQMD31SpXEZSpJB1i3GV/o6CF5qQQSNLwICXZx25rNTTQAqpg==
+ dependencies:
+ nx "15.0.0"
+
"@nrwl/workspace@14.5.10":
version "14.5.10"
resolved "https://registry.yarnpkg.com/@nrwl/workspace/-/workspace-14.5.10.tgz#cf224886a983c53eded62fa3d5e55c80863eca64"
@@ -1528,6 +2386,112 @@
yargs "^17.4.0"
yargs-parser "21.0.1"
+"@octokit/auth-token@^3.0.0":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-3.0.2.tgz#a0fc8de149fd15876e1ac78f6525c1c5ab48435f"
+ integrity sha512-pq7CwIMV1kmzkFTimdwjAINCXKTajZErLB4wMLYapR2nuB/Jpr66+05wOTZMSCBXP6n4DdDWT2W19Bm17vU69Q==
+ dependencies:
+ "@octokit/types" "^8.0.0"
+
+"@octokit/core@^4.1.0":
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/@octokit/core/-/core-4.1.0.tgz#b6b03a478f1716de92b3f4ec4fd64d05ba5a9251"
+ integrity sha512-Czz/59VefU+kKDy+ZfDwtOIYIkFjExOKf+HA92aiTZJ6EfWpFzYQWw0l54ji8bVmyhc+mGaLUbSUmXazG7z5OQ==
+ dependencies:
+ "@octokit/auth-token" "^3.0.0"
+ "@octokit/graphql" "^5.0.0"
+ "@octokit/request" "^6.0.0"
+ "@octokit/request-error" "^3.0.0"
+ "@octokit/types" "^8.0.0"
+ before-after-hook "^2.2.0"
+ universal-user-agent "^6.0.0"
+
+"@octokit/endpoint@^7.0.0":
+ version "7.0.3"
+ resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-7.0.3.tgz#0b96035673a9e3bedf8bab8f7335de424a2147ed"
+ integrity sha512-57gRlb28bwTsdNXq+O3JTQ7ERmBTuik9+LelgcLIVfYwf235VHbN9QNo4kXExtp/h8T423cR5iJThKtFYxC7Lw==
+ dependencies:
+ "@octokit/types" "^8.0.0"
+ is-plain-object "^5.0.0"
+ universal-user-agent "^6.0.0"
+
+"@octokit/graphql@^5.0.0":
+ version "5.0.4"
+ resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-5.0.4.tgz#519dd5c05123868276f3ae4e50ad565ed7dff8c8"
+ integrity sha512-amO1M5QUQgYQo09aStR/XO7KAl13xpigcy/kI8/N1PnZYSS69fgte+xA4+c2DISKqUZfsh0wwjc2FaCt99L41A==
+ dependencies:
+ "@octokit/request" "^6.0.0"
+ "@octokit/types" "^8.0.0"
+ universal-user-agent "^6.0.0"
+
+"@octokit/openapi-types@^14.0.0":
+ version "14.0.0"
+ resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-14.0.0.tgz#949c5019028c93f189abbc2fb42f333290f7134a"
+ integrity sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==
+
+"@octokit/plugin-enterprise-rest@^6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz#e07896739618dab8da7d4077c658003775f95437"
+ integrity sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==
+
+"@octokit/plugin-paginate-rest@^5.0.0":
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-5.0.1.tgz#93d7e74f1f69d68ba554fa6b888c2a9cf1f99a83"
+ integrity sha512-7A+rEkS70pH36Z6JivSlR7Zqepz3KVucEFVDnSrgHXzG7WLAzYwcHZbKdfTXHwuTHbkT1vKvz7dHl1+HNf6Qyw==
+ dependencies:
+ "@octokit/types" "^8.0.0"
+
+"@octokit/plugin-request-log@^1.0.4":
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85"
+ integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==
+
+"@octokit/plugin-rest-endpoint-methods@^6.7.0":
+ version "6.7.0"
+ resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.7.0.tgz#2f6f17f25b6babbc8b41d2bb0a95a8839672ce7c"
+ integrity sha512-orxQ0fAHA7IpYhG2flD2AygztPlGYNAdlzYz8yrD8NDgelPfOYoRPROfEyIe035PlxvbYrgkfUZIhSBKju/Cvw==
+ dependencies:
+ "@octokit/types" "^8.0.0"
+ deprecation "^2.3.1"
+
+"@octokit/request-error@^3.0.0":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-3.0.2.tgz#f74c0f163d19463b87528efe877216c41d6deb0a"
+ integrity sha512-WMNOFYrSaX8zXWoJg9u/pKgWPo94JXilMLb2VManNOby9EZxrQaBe/QSC4a1TzpAlpxofg2X/jMnCyZgL6y7eg==
+ dependencies:
+ "@octokit/types" "^8.0.0"
+ deprecation "^2.0.0"
+ once "^1.4.0"
+
+"@octokit/request@^6.0.0":
+ version "6.2.2"
+ resolved "https://registry.yarnpkg.com/@octokit/request/-/request-6.2.2.tgz#a2ba5ac22bddd5dcb3f539b618faa05115c5a255"
+ integrity sha512-6VDqgj0HMc2FUX2awIs+sM6OwLgwHvAi4KCK3mT2H2IKRt6oH9d0fej5LluF5mck1lRR/rFWN0YIDSYXYSylbw==
+ dependencies:
+ "@octokit/endpoint" "^7.0.0"
+ "@octokit/request-error" "^3.0.0"
+ "@octokit/types" "^8.0.0"
+ is-plain-object "^5.0.0"
+ node-fetch "^2.6.7"
+ universal-user-agent "^6.0.0"
+
+"@octokit/rest@^19.0.3":
+ version "19.0.5"
+ resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-19.0.5.tgz#4dbde8ae69b27dca04b5f1d8119d282575818f6c"
+ integrity sha512-+4qdrUFq2lk7Va+Qff3ofREQWGBeoTKNqlJO+FGjFP35ZahP+nBenhZiGdu8USSgmq4Ky3IJ/i4u0xbLqHaeow==
+ dependencies:
+ "@octokit/core" "^4.1.0"
+ "@octokit/plugin-paginate-rest" "^5.0.0"
+ "@octokit/plugin-request-log" "^1.0.4"
+ "@octokit/plugin-rest-endpoint-methods" "^6.7.0"
+
+"@octokit/types@^8.0.0":
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/@octokit/types/-/types-8.0.0.tgz#93f0b865786c4153f0f6924da067fe0bb7426a9f"
+ integrity sha512-65/TPpOJP1i3K4lBJMnWqPUJ6zuOtzhtagDvydAWbEXpbFYA0oMKKyLb95NFZZP0lSh/4b6K+DQlzvYQJQQePg==
+ dependencies:
+ "@octokit/openapi-types" "^14.0.0"
+
"@parcel/watcher@2.0.4":
version "2.0.4"
resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.0.4.tgz#f300fef4cc38008ff4b8c29d92588eced3ce014b"
@@ -1810,6 +2774,11 @@
resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82"
integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==
+"@tootallnate/once@2":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf"
+ integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==
+
"@tsconfig/node10@^1.0.7":
version "1.0.9"
resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2"
@@ -1989,11 +2958,26 @@
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40"
integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==
+"@types/minimist@^1.2.0":
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c"
+ integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==
+
"@types/node@*", "@types/node@^18.6.3":
version "18.7.11"
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.11.tgz#486e72cfccde88da24e1f23ff1b7d8bfb64e6250"
integrity sha512-KZhFpSLlmK/sdocfSAjqPETTMd0ug6HIMIAwkwUpU79olnZdQtMxpQP+G1wDzCH7na+FltSIhbaZuKdwZ8RDrw==
+"@types/normalize-package-data@^2.4.0":
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301"
+ integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==
+
+"@types/parse-json@^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
+ integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
+
"@types/prettier@^2.1.5":
version "2.7.0"
resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.0.tgz#ea03e9f0376a4446f44797ca19d9c46c36e352dc"
@@ -2449,11 +3433,44 @@
resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d"
integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
+"@yarnpkg/lockfile@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31"
+ integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==
+
+"@yarnpkg/parsers@^3.0.0-rc.18":
+ version "3.0.0-rc.26"
+ resolved "https://registry.yarnpkg.com/@yarnpkg/parsers/-/parsers-3.0.0-rc.26.tgz#353976e2c2dff453c824724532ab246772a4f6f6"
+ integrity sha512-F52Zryoi6uSHi43A/htykDD7l1707TQjHeAHTKxNWJBTwvrEKWYvuu1w8bzSHpFVc06ig2KyrpHPfmeiuOip8Q==
+ dependencies:
+ js-yaml "^3.10.0"
+ tslib "^2.4.0"
+
+"@zkochan/js-yaml@0.0.6":
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz#975f0b306e705e28b8068a07737fa46d3fc04826"
+ integrity sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==
+ dependencies:
+ argparse "^2.0.1"
+
+JSONStream@^1.0.4:
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0"
+ integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==
+ dependencies:
+ jsonparse "^1.2.0"
+ through ">=2.2.7 <3"
+
abab@^2.0.3, abab@^2.0.5:
version "2.0.6"
resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291"
integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==
+abbrev@1, abbrev@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
+ integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
+
accepts@~1.3.8:
version "1.3.8"
resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
@@ -2505,13 +3522,35 @@ acorn@^8.2.4, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8"
integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==
-agent-base@6:
+add-stream@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa"
+ integrity sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==
+
+agent-base@6, agent-base@^6.0.2:
version "6.0.2"
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
dependencies:
debug "4"
+agentkeepalive@^4.2.1:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.1.tgz#a7975cbb9f83b367f06c90cc51ff28fe7d499717"
+ integrity sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==
+ dependencies:
+ debug "^4.1.0"
+ depd "^1.1.2"
+ humanize-ms "^1.2.1"
+
+aggregate-error@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a"
+ integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==
+ dependencies:
+ clean-stack "^2.0.0"
+ indent-string "^4.0.0"
+
ajv-errors@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d"
@@ -2584,11 +3623,24 @@ anymatch@^3.0.0, anymatch@^3.0.3, anymatch@~3.1.2:
normalize-path "^3.0.0"
picomatch "^2.0.4"
+"aproba@^1.0.3 || ^2.0.0", aproba@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc"
+ integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==
+
aproba@^1.1.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
+are-we-there-yet@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz#679df222b278c64f2cdba1175cdc00b0d96164bd"
+ integrity sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==
+ dependencies:
+ delegates "^1.0.0"
+ readable-stream "^3.6.0"
+
arg@^4.1.0:
version "4.1.3"
resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
@@ -2631,6 +3683,11 @@ array-flatten@1.1.1:
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
+array-ify@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece"
+ integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==
+
array-includes@^3.1.5:
version "3.1.5"
resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb"
@@ -2662,11 +3719,21 @@ array.prototype.flatmap@^1.3.0:
es-abstract "^1.19.2"
es-shim-unscopables "^1.0.0"
+arrify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
+ integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==
+
arrify@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa"
integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==
+asap@^2.0.0:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
+ integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==
+
asn1.js@^5.2.0:
version "5.4.1"
resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07"
@@ -2705,6 +3772,11 @@ asynckit@^0.4.0:
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
+at-least-node@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
+ integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
+
atob@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
@@ -2718,6 +3790,15 @@ axios@^0.27.2:
follow-redirects "^1.14.9"
form-data "^4.0.0"
+axios@^1.0.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-1.1.3.tgz#8274250dada2edf53814ed7db644b9c2866c1e35"
+ integrity sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==
+ dependencies:
+ follow-redirects "^1.15.0"
+ form-data "^4.0.0"
+ proxy-from-env "^1.1.0"
+
babel-jest@^27.5.1:
version "27.5.1"
resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.1.tgz#a1bf8d61928edfefd21da27eb86a695bfd691444"
@@ -2864,11 +3945,28 @@ base@^0.11.1:
mixin-deep "^1.2.0"
pascalcase "^0.1.1"
+before-after-hook@^2.2.0:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.3.tgz#c51e809c81a4e354084422b9b26bad88249c517c"
+ integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==
+
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==
+bin-links@^3.0.0:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-3.0.3.tgz#3842711ef3db2cd9f16a5f404a996a12db355a6e"
+ integrity sha512-zKdnMPWEdh4F5INR07/eBrodC7QrF5JKvqskjz/ZZRXg5YSAZIbn8zGhbhUrElzHBZ2fvEQdOU59RHcTG3GiwA==
+ dependencies:
+ cmd-shim "^5.0.0"
+ mkdirp-infer-owner "^2.0.0"
+ npm-normalize-package-bin "^2.0.0"
+ read-cmd-shim "^3.0.0"
+ rimraf "^3.0.0"
+ write-file-atomic "^4.0.0"
+
binary-extensions@^1.0.0:
version "1.13.1"
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65"
@@ -2886,7 +3984,7 @@ bindings@^1.5.0:
dependencies:
file-uri-to-path "1.0.0"
-bl@^4.0.3:
+bl@^4.0.3, bl@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a"
integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==
@@ -3091,6 +4189,23 @@ builtin-status-codes@^3.0.0:
resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==
+builtins@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88"
+ integrity sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==
+
+builtins@^5.0.0:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.0.1.tgz#87f6db9ab0458be728564fa81d876d8d74552fa9"
+ integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==
+ dependencies:
+ semver "^7.0.0"
+
+byte-size@^7.0.0:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/byte-size/-/byte-size-7.0.1.tgz#b1daf3386de7ab9d706b941a748dbfc71130dee3"
+ integrity sha512-crQdqyCwhokxwV1UyDzLZanhkugAgft7vt0qbbdt60C6Zf3CAiGmtUCylbtYwrU6loOUw3euGrNtW1J651ot1A==
+
bytes@3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
@@ -3117,6 +4232,30 @@ cacache@^12.0.2:
unique-filename "^1.1.1"
y18n "^4.0.0"
+cacache@^16.0.0, cacache@^16.0.6, cacache@^16.1.0:
+ version "16.1.3"
+ resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.3.tgz#a02b9f34ecfaf9a78c9f4bc16fceb94d5d67a38e"
+ integrity sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==
+ dependencies:
+ "@npmcli/fs" "^2.1.0"
+ "@npmcli/move-file" "^2.0.0"
+ chownr "^2.0.0"
+ fs-minipass "^2.1.0"
+ glob "^8.0.1"
+ infer-owner "^1.0.4"
+ lru-cache "^7.7.1"
+ minipass "^3.1.6"
+ minipass-collect "^1.0.2"
+ minipass-flush "^1.0.5"
+ minipass-pipeline "^1.2.4"
+ mkdirp "^1.0.4"
+ p-map "^4.0.0"
+ promise-inflight "^1.0.1"
+ rimraf "^3.0.2"
+ ssri "^9.0.0"
+ tar "^6.1.11"
+ unique-filename "^2.0.0"
+
cache-base@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
@@ -3145,6 +4284,15 @@ callsites@^3.0.0:
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
+camelcase-keys@^6.2.2:
+ version "6.2.2"
+ resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0"
+ integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==
+ dependencies:
+ camelcase "^5.3.1"
+ map-obj "^4.0.0"
+ quick-lru "^4.0.1"
+
camelcase@^5.3.1:
version "5.3.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
@@ -3185,7 +4333,7 @@ chalk@^3.0.0:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
-chalk@^4.0.0, chalk@^4.0.2:
+chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1:
version "4.1.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
@@ -3198,6 +4346,11 @@ char-regex@^1.0.2:
resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf"
integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==
+chardet@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
+ integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
+
chokidar@^2.1.8:
version "2.1.8"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
@@ -3237,11 +4390,21 @@ chownr@^1.1.1:
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
+chownr@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece"
+ integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==
+
chrome-trace-event@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac"
integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==
+ci-info@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
+ integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
+
ci-info@^3.2.0:
version "3.3.2"
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.2.tgz#6d2967ffa407466481c6c90b6e16b3098f080128"
@@ -3270,7 +4433,12 @@ class-utils@^0.3.5:
isobject "^3.0.0"
static-extend "^0.1.1"
-cli-cursor@3.1.0:
+clean-stack@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
+ integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
+
+cli-cursor@3.1.0, cli-cursor@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
@@ -3282,6 +4450,16 @@ cli-spinners@2.6.1:
resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d"
integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==
+cli-spinners@^2.5.0:
+ version "2.7.0"
+ resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.7.0.tgz#f815fd30b5f9eaac02db604c7a231ed7cb2f797a"
+ integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==
+
+cli-width@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6"
+ integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==
+
cliui@^7.0.2:
version "7.0.4"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
@@ -3291,6 +4469,27 @@ cliui@^7.0.2:
strip-ansi "^6.0.0"
wrap-ansi "^7.0.0"
+clone-deep@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387"
+ integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==
+ dependencies:
+ is-plain-object "^2.0.4"
+ kind-of "^6.0.2"
+ shallow-clone "^3.0.0"
+
+clone@^1.0.2:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
+ integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==
+
+cmd-shim@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-5.0.0.tgz#8d0aaa1a6b0708630694c4dbde070ed94c707724"
+ integrity sha512-qkCtZ59BidfEwHltnJwkyVZn+XQojdAySM1D1gSeh11Z4pW1Kpolkyo53L5noc0nrxmIvyFwTmJRo4xs7FFLPw==
+ dependencies:
+ mkdirp-infer-owner "^2.0.0"
+
co@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
@@ -3333,6 +4532,19 @@ color-name@~1.1.4:
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+color-support@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2"
+ integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==
+
+columnify@^1.6.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.6.0.tgz#6989531713c9008bb29735e61e37acf5bd553cf3"
+ integrity sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==
+ dependencies:
+ strip-ansi "^6.0.1"
+ wcwidth "^1.0.0"
+
combined-stream@^1.0.8:
version "1.0.8"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
@@ -3345,11 +4557,24 @@ commander@^2.20.0:
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
+common-ancestor-path@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz#4f7d2d1394d91b7abdf51871c62f71eadb0182a7"
+ integrity sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==
+
commondir@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==
+compare-func@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3"
+ integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==
+ dependencies:
+ array-ify "^1.0.0"
+ dot-prop "^5.1.0"
+
component-emitter@^1.2.1:
version "1.3.0"
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
@@ -3370,11 +4595,34 @@ concat-stream@^1.5.0:
readable-stream "^2.2.2"
typedarray "^0.0.6"
+concat-stream@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1"
+ integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==
+ dependencies:
+ buffer-from "^1.0.0"
+ inherits "^2.0.3"
+ readable-stream "^3.0.2"
+ typedarray "^0.0.6"
+
+config-chain@^1.1.12:
+ version "1.1.13"
+ resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4"
+ integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==
+ dependencies:
+ ini "^1.3.4"
+ proto-list "~1.2.1"
+
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.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
+ integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==
+
constants-browserify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
@@ -3392,6 +4640,88 @@ content-type@~1.0.4:
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
+conventional-changelog-angular@^5.0.12:
+ version "5.0.13"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c"
+ integrity sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==
+ dependencies:
+ compare-func "^2.0.0"
+ q "^1.5.1"
+
+conventional-changelog-core@^4.2.4:
+ version "4.2.4"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz#e50d047e8ebacf63fac3dc67bf918177001e1e9f"
+ integrity sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==
+ dependencies:
+ add-stream "^1.0.0"
+ conventional-changelog-writer "^5.0.0"
+ conventional-commits-parser "^3.2.0"
+ dateformat "^3.0.0"
+ get-pkg-repo "^4.0.0"
+ git-raw-commits "^2.0.8"
+ git-remote-origin-url "^2.0.0"
+ git-semver-tags "^4.1.1"
+ lodash "^4.17.15"
+ normalize-package-data "^3.0.0"
+ q "^1.5.1"
+ read-pkg "^3.0.0"
+ read-pkg-up "^3.0.0"
+ through2 "^4.0.0"
+
+conventional-changelog-preset-loader@^2.3.4:
+ version "2.3.4"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz#14a855abbffd59027fd602581f1f34d9862ea44c"
+ integrity sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==
+
+conventional-changelog-writer@^5.0.0:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz#e0757072f045fe03d91da6343c843029e702f359"
+ integrity sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==
+ dependencies:
+ conventional-commits-filter "^2.0.7"
+ dateformat "^3.0.0"
+ handlebars "^4.7.7"
+ json-stringify-safe "^5.0.1"
+ lodash "^4.17.15"
+ meow "^8.0.0"
+ semver "^6.0.0"
+ split "^1.0.0"
+ through2 "^4.0.0"
+
+conventional-commits-filter@^2.0.7:
+ version "2.0.7"
+ resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz#f8d9b4f182fce00c9af7139da49365b136c8a0b3"
+ integrity sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==
+ dependencies:
+ lodash.ismatch "^4.4.0"
+ modify-values "^1.0.0"
+
+conventional-commits-parser@^3.2.0:
+ version "3.2.4"
+ resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz#a7d3b77758a202a9b2293d2112a8d8052c740972"
+ integrity sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==
+ dependencies:
+ JSONStream "^1.0.4"
+ is-text-path "^1.0.1"
+ lodash "^4.17.15"
+ meow "^8.0.0"
+ split2 "^3.0.0"
+ through2 "^4.0.0"
+
+conventional-recommended-bump@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz#cfa623285d1de554012f2ffde70d9c8a22231f55"
+ integrity sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==
+ dependencies:
+ concat-stream "^2.0.0"
+ conventional-changelog-preset-loader "^2.3.4"
+ conventional-commits-filter "^2.0.7"
+ conventional-commits-parser "^3.2.0"
+ git-raw-commits "^2.0.8"
+ git-semver-tags "^4.1.1"
+ meow "^8.0.0"
+ q "^1.5.1"
+
convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0:
version "1.8.0"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369"
@@ -3444,6 +4774,17 @@ core-util-is@~1.0.0:
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
+cosmiconfig@^7.0.0:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d"
+ integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==
+ dependencies:
+ "@types/parse-json" "^4.0.0"
+ import-fresh "^3.2.1"
+ parse-json "^5.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"
@@ -3539,6 +4880,11 @@ cyclist@^1.0.1:
resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9"
integrity sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==
+dargs@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc"
+ integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==
+
data-urls@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b"
@@ -3548,6 +4894,11 @@ data-urls@^2.0.0:
whatwg-mimetype "^2.3.0"
whatwg-url "^8.0.0"
+dateformat@^3.0.0:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae"
+ integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==
+
debug@2.6.9, debug@^2.2.0, debug@^2.3.3:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
@@ -3555,13 +4906,31 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3:
dependencies:
ms "2.0.0"
-debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4:
+debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4:
version "4.3.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
dependencies:
ms "2.1.2"
+debuglog@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492"
+ integrity sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw==
+
+decamelize-keys@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9"
+ integrity sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==
+ dependencies:
+ decamelize "^1.1.0"
+ map-obj "^1.0.0"
+
+decamelize@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
+ integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==
+
decimal.js@^10.2.1:
version "10.4.0"
resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.0.tgz#97a7448873b01e92e5ff9117d89a7bca8e63e0fe"
@@ -3587,6 +4956,13 @@ deepmerge@^4.2.2:
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
+defaults@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a"
+ integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==
+ dependencies:
+ clone "^1.0.2"
+
define-lazy-prop@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f"
@@ -3627,11 +5003,26 @@ delayed-stream@~1.0.0:
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
+delegates@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
+ integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==
+
depd@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
+depd@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
+ integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==
+
+deprecation@^2.0.0, deprecation@^2.3.1:
+ version "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"
@@ -3645,11 +5036,29 @@ destroy@1.2.0:
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
+detect-indent@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d"
+ integrity sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==
+
+detect-indent@^6.0.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6"
+ integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==
+
detect-newline@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651"
integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==
+dezalgo@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.4.tgz#751235260469084c132157dfa857f386d4c33d81"
+ integrity sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==
+ dependencies:
+ asap "^2.0.0"
+ wrappy "1"
+
diff-sequences@^27.5.1:
version "27.5.1"
resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327"
@@ -3707,11 +5116,30 @@ domexception@^2.0.1:
dependencies:
webidl-conversions "^5.0.0"
+dot-prop@^5.1.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88"
+ integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==
+ dependencies:
+ is-obj "^2.0.0"
+
+dot-prop@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083"
+ integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==
+ dependencies:
+ is-obj "^2.0.0"
+
dotenv@~10.0.0:
version "10.0.0"
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81"
integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==
+duplexer@^0.1.1:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
+ integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==
+
duplexify@^3.4.2, duplexify@^3.6.0:
version "3.7.1"
resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309"
@@ -3777,6 +5205,13 @@ encodeurl@~1.0.2:
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
+encoding@^0.1.13:
+ version "0.1.13"
+ resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9"
+ integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==
+ dependencies:
+ iconv-lite "^0.6.2"
+
end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1:
version "1.4.4"
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
@@ -3808,6 +5243,21 @@ enquirer@~2.3.6:
dependencies:
ansi-colors "^4.1.1"
+env-paths@^2.2.0:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2"
+ integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==
+
+envinfo@^7.7.4:
+ version "7.8.1"
+ resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475"
+ integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==
+
+err-code@^2.0.2:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9"
+ integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==
+
errno@^0.1.3, errno@~0.1.7:
version "0.1.8"
resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f"
@@ -4343,7 +5793,7 @@ etag@~1.8.1:
resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
-eventemitter3@^4.0.0:
+eventemitter3@^4.0.0, eventemitter3@^4.0.4:
version "4.0.7"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
@@ -4482,6 +5932,15 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2:
assign-symbols "^1.0.0"
is-extendable "^1.0.1"
+external-editor@^3.0.3:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495"
+ integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==
+ dependencies:
+ chardet "^0.7.0"
+ iconv-lite "^0.4.24"
+ tmp "^0.0.33"
+
extglob@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
@@ -4552,7 +6011,7 @@ figgy-pudding@^3.5.1:
resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e"
integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==
-figures@3.2.0:
+figures@3.2.0, figures@^3.0.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af"
integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==
@@ -4617,6 +6076,13 @@ find-cache-dir@^2.1.0:
make-dir "^2.0.0"
pkg-dir "^3.0.0"
+find-up@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
+ integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==
+ dependencies:
+ locate-path "^2.0.0"
+
find-up@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
@@ -4671,6 +6137,11 @@ follow-redirects@^1.0.0, follow-redirects@^1.14.9:
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5"
integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==
+follow-redirects@^1.15.0:
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13"
+ integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==
+
for-in@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
@@ -4733,6 +6204,23 @@ fs-extra@^10.1.0:
jsonfile "^6.0.1"
universalify "^2.0.0"
+fs-extra@^9.1.0:
+ version "9.1.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
+ integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
+ dependencies:
+ at-least-node "^1.0.0"
+ graceful-fs "^4.2.0"
+ jsonfile "^6.0.1"
+ universalify "^2.0.0"
+
+fs-minipass@^2.0.0, fs-minipass@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb"
+ integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==
+ dependencies:
+ minipass "^3.0.0"
+
fs-write-stream-atomic@^1.0.8:
version "1.0.10"
resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9"
@@ -4786,6 +6274,20 @@ functions-have-names@^1.2.2:
resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
+gauge@^4.0.3:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.4.tgz#52ff0652f2bbf607a989793d53b751bef2328dce"
+ integrity sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==
+ dependencies:
+ aproba "^1.0.3 || ^2.0.0"
+ color-support "^1.1.3"
+ console-control-strings "^1.1.0"
+ has-unicode "^2.0.1"
+ signal-exit "^3.0.7"
+ string-width "^4.2.3"
+ strip-ansi "^6.0.1"
+ wide-align "^1.1.5"
+
gensync@^1.0.0-beta.2:
version "1.0.0-beta.2"
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
@@ -4810,6 +6312,21 @@ get-package-type@^0.1.0:
resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
+get-pkg-repo@^4.0.0:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz#75973e1c8050c73f48190c52047c4cee3acbf385"
+ integrity sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==
+ dependencies:
+ "@hutson/parse-repository-url" "^3.0.0"
+ hosted-git-info "^4.0.0"
+ through2 "^2.0.0"
+ yargs "^16.2.0"
+
+get-port@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193"
+ integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==
+
get-stream@^5.0.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
@@ -4822,18 +6339,67 @@ get-stream@^6.0.0:
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
-get-symbol-description@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6"
- integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==
+get-symbol-description@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6"
+ integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==
+ dependencies:
+ call-bind "^1.0.2"
+ get-intrinsic "^1.1.1"
+
+get-value@^2.0.3, get-value@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
+ integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==
+
+git-raw-commits@^2.0.8:
+ version "2.0.11"
+ resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.11.tgz#bc3576638071d18655e1cc60d7f524920008d723"
+ integrity sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==
+ dependencies:
+ dargs "^7.0.0"
+ lodash "^4.17.15"
+ meow "^8.0.0"
+ split2 "^3.0.0"
+ through2 "^4.0.0"
+
+git-remote-origin-url@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f"
+ integrity sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==
+ dependencies:
+ gitconfiglocal "^1.0.0"
+ pify "^2.3.0"
+
+git-semver-tags@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-4.1.1.tgz#63191bcd809b0ec3e151ba4751c16c444e5b5780"
+ integrity sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==
+ dependencies:
+ meow "^8.0.0"
+ semver "^6.0.0"
+
+git-up@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/git-up/-/git-up-7.0.0.tgz#bace30786e36f56ea341b6f69adfd83286337467"
+ integrity sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==
+ dependencies:
+ is-ssh "^1.4.0"
+ parse-url "^8.1.0"
+
+git-url-parse@^13.1.0:
+ version "13.1.0"
+ resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-13.1.0.tgz#07e136b5baa08d59fabdf0e33170de425adf07b4"
+ integrity sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==
dependencies:
- call-bind "^1.0.2"
- get-intrinsic "^1.1.1"
+ git-up "^7.0.0"
-get-value@^2.0.3, get-value@^2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
- integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==
+gitconfiglocal@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b"
+ integrity sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==
+ dependencies:
+ ini "^1.3.2"
glob-parent@^3.1.0:
version "3.1.0"
@@ -4843,7 +6409,7 @@ glob-parent@^3.1.0:
is-glob "^3.1.0"
path-dirname "^1.0.0"
-glob-parent@^5.1.2, glob-parent@~5.1.2:
+glob-parent@^5.1.1, glob-parent@^5.1.2, glob-parent@~5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
@@ -4886,6 +6452,17 @@ glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
once "^1.3.0"
path-is-absolute "^1.0.0"
+glob@^8.0.1:
+ version "8.0.3"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.3.tgz#415c6eb2deed9e502c68fa44a272e6da6eeca42e"
+ integrity sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^5.0.1"
+ once "^1.3.0"
+
globals@^11.1.0:
version "11.12.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
@@ -4898,7 +6475,7 @@ globals@^13.15.0:
dependencies:
type-fest "^0.20.2"
-globby@^11.1.0:
+globby@^11.0.2, globby@^11.1.0:
version "11.1.0"
resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
@@ -4910,7 +6487,7 @@ globby@^11.1.0:
merge2 "^1.4.1"
slash "^3.0.0"
-graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9:
+graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9:
version "4.2.10"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
@@ -4920,6 +6497,23 @@ grapheme-splitter@^1.0.4:
resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e"
integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==
+handlebars@^4.7.7:
+ version "4.7.7"
+ resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1"
+ integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==
+ dependencies:
+ minimist "^1.2.5"
+ neo-async "^2.6.0"
+ source-map "^0.6.1"
+ wordwrap "^1.0.0"
+ optionalDependencies:
+ uglify-js "^3.1.4"
+
+hard-rejection@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883"
+ integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==
+
harmony-reflect@^1.4.6:
version "1.6.2"
resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710"
@@ -4959,6 +6553,11 @@ has-tostringtag@^1.0.0:
dependencies:
has-symbols "^1.0.2"
+has-unicode@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
+ integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==
+
has-value@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
@@ -5028,6 +6627,27 @@ hosted-git-info@^2.1.4:
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9"
integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==
+hosted-git-info@^3.0.6:
+ version "3.0.8"
+ resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.8.tgz#6e35d4cc87af2c5f816e4cb9ce350ba87a3f370d"
+ integrity sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==
+ dependencies:
+ lru-cache "^6.0.0"
+
+hosted-git-info@^4.0.0, hosted-git-info@^4.0.1:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224"
+ integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==
+ dependencies:
+ lru-cache "^6.0.0"
+
+hosted-git-info@^5.0.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-5.1.0.tgz#9786123f92ef3627f24abc3f15c20d98ec4a6594"
+ integrity sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q==
+ dependencies:
+ lru-cache "^7.5.1"
+
html-encoding-sniffer@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3"
@@ -5040,6 +6660,11 @@ html-escaper@^2.0.0:
resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
+http-cache-semantics@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390"
+ integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==
+
http-errors@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3"
@@ -5060,6 +6685,15 @@ http-proxy-agent@^4.0.1:
agent-base "6"
debug "4"
+http-proxy-agent@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43"
+ integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==
+ dependencies:
+ "@tootallnate/once" "2"
+ agent-base "6"
+ debug "4"
+
http-proxy@^1.18.1:
version "1.18.1"
resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549"
@@ -5092,18 +6726,32 @@ human-signals@^2.1.0:
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
+humanize-ms@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed"
+ integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==
+ dependencies:
+ ms "^2.0.0"
+
husky@^8.0.0:
version "8.0.1"
resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.1.tgz#511cb3e57de3e3190514ae49ed50f6bc3f50b3e9"
integrity sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==
-iconv-lite@0.4.24:
+iconv-lite@0.4.24, iconv-lite@^0.4.24:
version "0.4.24"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
dependencies:
safer-buffer ">= 2.1.2 < 3"
+iconv-lite@^0.6.2:
+ version "0.6.3"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501"
+ integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
+ dependencies:
+ safer-buffer ">= 2.1.2 < 3.0.0"
+
identity-obj-proxy@3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14"
@@ -5121,6 +6769,13 @@ iferr@^0.1.5:
resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
integrity sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==
+ignore-walk@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-5.0.1.tgz#5f199e23e1288f518d90358d461387788a154776"
+ integrity sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==
+ dependencies:
+ minimatch "^5.0.1"
+
ignore@^5.0.4, ignore@^5.1.4, ignore@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a"
@@ -5152,7 +6807,12 @@ imurmurhash@^0.1.4:
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
-infer-owner@^1.0.3:
+indent-string@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
+ integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
+
+infer-owner@^1.0.3, infer-owner@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467"
integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==
@@ -5180,6 +6840,45 @@ inherits@2.0.3:
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==
+ini@^1.3.2, ini@^1.3.4:
+ version "1.3.8"
+ resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
+ integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
+
+init-package-json@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-3.0.2.tgz#f5bc9bac93f2bdc005778bc2271be642fecfcd69"
+ integrity sha512-YhlQPEjNFqlGdzrBfDNRLhvoSgX7iQRgSxgsNknRQ9ITXFT7UMfVMWhBTOh2Y+25lRnGrv5Xz8yZwQ3ACR6T3A==
+ dependencies:
+ npm-package-arg "^9.0.1"
+ promzard "^0.3.0"
+ read "^1.0.7"
+ read-package-json "^5.0.0"
+ semver "^7.3.5"
+ validate-npm-package-license "^3.0.4"
+ validate-npm-package-name "^4.0.0"
+
+inquirer@^8.2.4:
+ version "8.2.4"
+ resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.4.tgz#ddbfe86ca2f67649a67daa6f1051c128f684f0b4"
+ integrity sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==
+ dependencies:
+ ansi-escapes "^4.2.1"
+ chalk "^4.1.1"
+ cli-cursor "^3.1.0"
+ cli-width "^3.0.0"
+ external-editor "^3.0.3"
+ figures "^3.0.0"
+ lodash "^4.17.21"
+ mute-stream "0.0.8"
+ ora "^5.4.1"
+ run-async "^2.4.0"
+ rxjs "^7.5.5"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+ through "^2.3.6"
+ wrap-ansi "^7.0.0"
+
internal-slot@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c"
@@ -5189,6 +6888,11 @@ internal-slot@^1.0.3:
has "^1.0.3"
side-channel "^1.0.4"
+ip@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da"
+ integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==
+
ipaddr.js@1.9.1:
version "1.9.1"
resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
@@ -5259,6 +6963,20 @@ is-callable@^1.1.4, is-callable@^1.2.4:
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945"
integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==
+is-ci@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c"
+ integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==
+ dependencies:
+ ci-info "^2.0.0"
+
+is-core-module@^2.5.0, is-core-module@^2.8.1:
+ version "2.11.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144"
+ integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==
+ dependencies:
+ has "^1.0.3"
+
is-core-module@^2.9.0:
version "2.10.0"
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed"
@@ -5351,6 +7069,16 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
dependencies:
is-extglob "^2.1.1"
+is-interactive@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e"
+ integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==
+
+is-lambda@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5"
+ integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==
+
is-module@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
@@ -5380,6 +7108,21 @@ is-number@^7.0.0:
resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+is-obj@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
+ integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
+
+is-plain-obj@^1.0.0, is-plain-obj@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
+ integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==
+
+is-plain-obj@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287"
+ integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==
+
is-plain-object@^2.0.3, is-plain-object@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
@@ -5387,6 +7130,11 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4:
dependencies:
isobject "^3.0.1"
+is-plain-object@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344"
+ integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==
+
is-potential-custom-element-name@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5"
@@ -5414,6 +7162,13 @@ is-shared-array-buffer@^1.0.2:
dependencies:
call-bind "^1.0.2"
+is-ssh@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.4.0.tgz#4f8220601d2839d8fa624b3106f8e8884f01b8b2"
+ integrity sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==
+ dependencies:
+ protocols "^2.0.1"
+
is-stream@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
@@ -5433,11 +7188,23 @@ is-symbol@^1.0.2, is-symbol@^1.0.3:
dependencies:
has-symbols "^1.0.2"
+is-text-path@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e"
+ integrity sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==
+ dependencies:
+ text-extensions "^1.0.0"
+
is-typedarray@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==
+is-unicode-supported@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7"
+ integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==
+
is-weakref@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2"
@@ -6248,7 +8015,7 @@ js-yaml@4.1.0, js-yaml@^4.1.0:
dependencies:
argparse "^2.0.1"
-js-yaml@^3.13.1:
+js-yaml@^3.10.0, js-yaml@^3.13.1:
version "3.14.1"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
@@ -6319,6 +8086,16 @@ json-stable-stringify-without-jsonify@^1.0.1:
resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
+json-stringify-nice@^1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz#2c937962b80181d3f317dd39aa323e14f5a60a67"
+ integrity sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==
+
+json-stringify-safe@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
+ integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==
+
json5@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
@@ -6336,6 +8113,11 @@ jsonc-parser@3.0.0:
resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22"
integrity sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==
+jsonc-parser@3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76"
+ integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==
+
jsonfile@^6.0.1:
version "6.1.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"
@@ -6345,6 +8127,11 @@ jsonfile@^6.0.1:
optionalDependencies:
graceful-fs "^4.1.6"
+jsonparse@^1.2.0, jsonparse@^1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280"
+ integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==
+
"jsx-ast-utils@^2.4.1 || ^3.0.0":
version "3.3.3"
resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea"
@@ -6353,6 +8140,16 @@ jsonfile@^6.0.1:
array-includes "^3.1.5"
object.assign "^4.1.3"
+just-diff-apply@^5.2.0:
+ version "5.4.1"
+ resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-5.4.1.tgz#1debed059ad009863b4db0e8d8f333d743cdd83b"
+ integrity sha512-AAV5Jw7tsniWwih8Ly3fXxEZ06y+6p5TwQMsw0dzZ/wPKilzyDgdAnL0Ug4NNIquPUOh1vfFWEHbmXUqM5+o8g==
+
+just-diff@^5.0.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-5.1.1.tgz#8da6414342a5ed6d02ccd64f5586cbbed3146202"
+ integrity sha512-u8HXJ3HlNrTzY7zrYYKjNEfBlyjqhdBkoyTVdjtn7p02RJD5NvR8rIClzeGA7t+UYP1/7eAkWNLU0+P3QrEqKQ==
+
kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
version "3.2.2"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
@@ -6372,7 +8169,7 @@ kind-of@^5.0.0:
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
-kind-of@^6.0.0, kind-of@^6.0.2:
+kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3:
version "6.0.3"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
@@ -6382,6 +8179,35 @@ kleur@^3.0.3:
resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
+lerna@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/lerna/-/lerna-6.0.1.tgz#7b14f05d1e17dc628478d33f225a579a6088d317"
+ integrity sha512-aNodtj1jyuEqzYmkYh+vTfRuzLkG3RZkvYxFCuLeXXzIYD5pjMHtf+1q4m03SPsZt+cElhhwkgjdg6GjihraBw==
+ dependencies:
+ "@lerna/add" "6.0.1"
+ "@lerna/bootstrap" "6.0.1"
+ "@lerna/changed" "6.0.1"
+ "@lerna/clean" "6.0.1"
+ "@lerna/cli" "6.0.1"
+ "@lerna/command" "6.0.1"
+ "@lerna/create" "6.0.1"
+ "@lerna/diff" "6.0.1"
+ "@lerna/exec" "6.0.1"
+ "@lerna/import" "6.0.1"
+ "@lerna/info" "6.0.1"
+ "@lerna/init" "6.0.1"
+ "@lerna/link" "6.0.1"
+ "@lerna/list" "6.0.1"
+ "@lerna/publish" "6.0.1"
+ "@lerna/run" "6.0.1"
+ "@lerna/version" "6.0.1"
+ "@nrwl/devkit" ">=14.8.6 < 16"
+ import-local "^3.0.2"
+ inquirer "^8.2.4"
+ npmlog "^6.0.2"
+ nx ">=14.8.6 < 16"
+ typescript "^3 || ^4"
+
leven@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
@@ -6403,6 +8229,27 @@ levn@~0.3.0:
prelude-ls "~1.1.2"
type-check "~0.3.2"
+libnpmaccess@^6.0.3:
+ version "6.0.4"
+ resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-6.0.4.tgz#2dd158bd8a071817e2207d3b201d37cf1ad6ae6b"
+ integrity sha512-qZ3wcfIyUoW0+qSFkMBovcTrSGJ3ZeyvpR7d5N9pEYv/kXs8sHP2wiqEIXBKLFrZlmM0kR0RJD7mtfLngtlLag==
+ dependencies:
+ aproba "^2.0.0"
+ minipass "^3.1.1"
+ npm-package-arg "^9.0.1"
+ npm-registry-fetch "^13.0.0"
+
+libnpmpublish@^6.0.4:
+ version "6.0.5"
+ resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-6.0.5.tgz#5a894f3de2e267d62f86be2a508e362599b5a4b1"
+ integrity sha512-LUR08JKSviZiqrYTDfywvtnsnxr+tOvBU0BF8H+9frt7HMvc6Qn6F8Ubm72g5hDTHbq8qupKfDvDAln2TVPvFg==
+ dependencies:
+ normalize-package-data "^4.0.0"
+ npm-package-arg "^9.0.1"
+ npm-registry-fetch "^13.0.0"
+ semver "^7.3.7"
+ ssri "^9.0.0"
+
lie@3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e"
@@ -6425,6 +8272,16 @@ load-json-file@^4.0.0:
pify "^3.0.0"
strip-bom "^3.0.0"
+load-json-file@^6.2.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-6.2.0.tgz#5c7770b42cafa97074ca2848707c61662f4251a1"
+ integrity sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==
+ dependencies:
+ graceful-fs "^4.1.15"
+ parse-json "^5.0.0"
+ strip-bom "^4.0.0"
+ type-fest "^0.6.0"
+
loader-runner@^2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
@@ -6451,6 +8308,14 @@ localforage@^1.8.1:
dependencies:
lie "3.1.1"
+locate-path@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
+ integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==
+ dependencies:
+ p-locate "^2.0.0"
+ path-exists "^3.0.0"
+
locate-path@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
@@ -6478,16 +8343,29 @@ lodash.debounce@^4.0.8:
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
+lodash.ismatch@^4.4.0:
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37"
+ integrity sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==
+
lodash.merge@^4.6.2:
version "4.6.2"
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
-lodash@^4.7.0:
+lodash@^4.17.15, lodash@^4.17.21, lodash@^4.7.0:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+log-symbols@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503"
+ integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==
+ dependencies:
+ chalk "^4.1.0"
+ is-unicode-supported "^0.1.0"
+
loose-envify@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
@@ -6509,6 +8387,11 @@ lru-cache@^6.0.0:
dependencies:
yallist "^4.0.0"
+lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1:
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.14.0.tgz#21be64954a4680e303a09e9468f880b98a0b3c7f"
+ integrity sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ==
+
lru_map@^0.3.3:
version "0.3.3"
resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd"
@@ -6528,7 +8411,7 @@ magic-string@^0.25.7:
dependencies:
sourcemap-codec "^1.4.8"
-make-dir@^2.0.0:
+make-dir@^2.0.0, make-dir@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==
@@ -6548,6 +8431,28 @@ make-error@^1.1.1:
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
+make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6:
+ version "10.2.1"
+ resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz#f5e3835c5e9817b617f2770870d9492d28678164"
+ integrity sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==
+ dependencies:
+ agentkeepalive "^4.2.1"
+ cacache "^16.1.0"
+ http-cache-semantics "^4.1.0"
+ http-proxy-agent "^5.0.0"
+ https-proxy-agent "^5.0.0"
+ is-lambda "^1.0.1"
+ lru-cache "^7.7.1"
+ minipass "^3.1.6"
+ minipass-collect "^1.0.2"
+ minipass-fetch "^2.0.3"
+ minipass-flush "^1.0.5"
+ minipass-pipeline "^1.2.4"
+ negotiator "^0.6.3"
+ promise-retry "^2.0.1"
+ socks-proxy-agent "^7.0.0"
+ ssri "^9.0.0"
+
makeerror@1.0.12:
version "1.0.12"
resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a"
@@ -6560,6 +8465,16 @@ map-cache@^0.2.2:
resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==
+map-obj@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
+ integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==
+
+map-obj@^4.0.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a"
+ integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==
+
map-visit@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
@@ -6602,6 +8517,23 @@ memorystream@^0.3.1:
resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2"
integrity sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==
+meow@^8.0.0:
+ version "8.1.2"
+ resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897"
+ integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==
+ dependencies:
+ "@types/minimist" "^1.2.0"
+ camelcase-keys "^6.2.2"
+ decamelize-keys "^1.1.0"
+ hard-rejection "^2.1.0"
+ minimist-options "4.1.0"
+ normalize-package-data "^3.0.0"
+ read-pkg-up "^7.0.1"
+ redent "^3.0.0"
+ trim-newlines "^3.0.0"
+ type-fest "^0.18.0"
+ yargs-parser "^20.2.3"
+
merge-descriptors@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
@@ -6679,6 +8611,11 @@ mimic-fn@^2.1.0:
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
+min-indent@^1.0.0:
+ version "1.0.1"
+ 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:
version "1.0.1"
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
@@ -6710,11 +8647,87 @@ minimatch@^5.0.1:
dependencies:
brace-expansion "^2.0.1"
+minimist-options@4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619"
+ integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==
+ dependencies:
+ arrify "^1.0.1"
+ is-plain-obj "^1.1.0"
+ kind-of "^6.0.3"
+
minimist@^1.2.0, minimist@^1.2.6:
version "1.2.6"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
+minimist@^1.2.5:
+ version "1.2.7"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18"
+ integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==
+
+minipass-collect@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617"
+ integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==
+ dependencies:
+ minipass "^3.0.0"
+
+minipass-fetch@^2.0.3:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.1.2.tgz#95560b50c472d81a3bc76f20ede80eaed76d8add"
+ integrity sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==
+ dependencies:
+ minipass "^3.1.6"
+ minipass-sized "^1.0.3"
+ minizlib "^2.1.2"
+ optionalDependencies:
+ encoding "^0.1.13"
+
+minipass-flush@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373"
+ integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==
+ dependencies:
+ minipass "^3.0.0"
+
+minipass-json-stream@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz#7edbb92588fbfc2ff1db2fc10397acb7b6b44aa7"
+ integrity sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==
+ dependencies:
+ jsonparse "^1.3.1"
+ minipass "^3.0.0"
+
+minipass-pipeline@^1.2.4:
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c"
+ integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==
+ dependencies:
+ minipass "^3.0.0"
+
+minipass-sized@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70"
+ integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==
+ dependencies:
+ minipass "^3.0.0"
+
+minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.6:
+ version "3.3.4"
+ resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.4.tgz#ca99f95dd77c43c7a76bf51e6d200025eee0ffae"
+ integrity sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==
+ dependencies:
+ yallist "^4.0.0"
+
+minizlib@^2.1.1, minizlib@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931"
+ integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==
+ dependencies:
+ minipass "^3.0.0"
+ yallist "^4.0.0"
+
mississippi@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022"
@@ -6739,6 +8752,15 @@ mixin-deep@^1.2.0:
for-in "^1.0.2"
is-extendable "^1.0.1"
+mkdirp-infer-owner@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz#55d3b368e7d89065c38f32fd38e638f0ab61d316"
+ integrity sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw==
+ dependencies:
+ chownr "^2.0.0"
+ infer-owner "^1.0.4"
+ mkdirp "^1.0.3"
+
mkdirp@^0.5.1, mkdirp@^0.5.3:
version "0.5.6"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6"
@@ -6746,6 +8768,16 @@ mkdirp@^0.5.1, mkdirp@^0.5.3:
dependencies:
minimist "^1.2.6"
+mkdirp@^1.0.3, mkdirp@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
+ integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
+
+modify-values@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022"
+ integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==
+
move-concurrently@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
@@ -6773,7 +8805,7 @@ ms@2.1.2:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
-ms@2.1.3:
+ms@2.1.3, ms@^2.0.0:
version "2.1.3"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
@@ -6789,6 +8821,22 @@ multimatch@^4.0.0:
arrify "^2.0.1"
minimatch "^3.0.4"
+multimatch@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-5.0.0.tgz#932b800963cea7a31a033328fa1e0c3a1874dbe6"
+ integrity sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==
+ dependencies:
+ "@types/minimatch" "^3.0.3"
+ array-differ "^3.0.0"
+ array-union "^2.1.0"
+ arrify "^2.0.1"
+ minimatch "^3.0.4"
+
+mute-stream@0.0.8, mute-stream@~0.0.4:
+ version "0.0.8"
+ resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
+ integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
+
nan@^2.12.1:
version "2.16.0"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.16.0.tgz#664f43e45460fb98faf00edca0bb0d7b8dce7916"
@@ -6821,12 +8869,12 @@ natural-compare@^1.4.0:
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
-negotiator@0.6.3:
+negotiator@0.6.3, negotiator@^0.6.3:
version "0.6.3"
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
-neo-async@^2.5.0, neo-async@^2.6.1, neo-async@^2.6.2:
+neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1, 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==
@@ -6841,11 +8889,34 @@ node-addon-api@^3.2.1:
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161"
integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==
+node-fetch@^2.6.1, node-fetch@^2.6.7:
+ version "2.6.7"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad"
+ integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==
+ dependencies:
+ whatwg-url "^5.0.0"
+
node-gyp-build@^4.3.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.5.0.tgz#7a64eefa0b21112f89f58379da128ac177f20e40"
integrity sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==
+node-gyp@^9.0.0:
+ version "9.3.0"
+ resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.3.0.tgz#f8eefe77f0ad8edb3b3b898409b53e697642b319"
+ integrity sha512-A6rJWfXFz7TQNjpldJ915WFb1LnhO4lIve3ANPbWreuEoLoKlFT3sxIepPBkLhM27crW8YmN+pjlgbasH6cH/Q==
+ dependencies:
+ env-paths "^2.2.0"
+ glob "^7.1.4"
+ graceful-fs "^4.2.6"
+ make-fetch-happen "^10.0.3"
+ nopt "^6.0.0"
+ npmlog "^6.0.0"
+ rimraf "^3.0.2"
+ semver "^7.3.5"
+ tar "^6.1.2"
+ which "^2.0.2"
+
node-int64@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
@@ -6885,7 +8956,21 @@ node-releases@^2.0.6:
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503"
integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==
-normalize-package-data@^2.3.2:
+nopt@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88"
+ integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==
+ dependencies:
+ abbrev "1"
+
+nopt@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/nopt/-/nopt-6.0.0.tgz#245801d8ebf409c6df22ab9d95b65e1309cdb16d"
+ integrity sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==
+ dependencies:
+ abbrev "^1.0.0"
+
+normalize-package-data@^2.3.2, normalize-package-data@^2.5.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
@@ -6895,6 +8980,26 @@ normalize-package-data@^2.3.2:
semver "2 || 3 || 4 || 5"
validate-npm-package-license "^3.0.1"
+normalize-package-data@^3.0.0:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e"
+ integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==
+ dependencies:
+ hosted-git-info "^4.0.1"
+ is-core-module "^2.5.0"
+ semver "^7.3.4"
+ validate-npm-package-license "^3.0.1"
+
+normalize-package-data@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-4.0.1.tgz#b46b24e0616d06cadf9d5718b29b6d445a82a62c"
+ integrity sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg==
+ dependencies:
+ hosted-git-info "^5.0.0"
+ is-core-module "^2.8.1"
+ semver "^7.3.5"
+ validate-npm-package-license "^3.0.4"
+
normalize-path@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
@@ -6907,6 +9012,89 @@ normalize-path@^3.0.0, normalize-path@~3.0.0:
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
+npm-bundled@^1.1.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1"
+ integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==
+ dependencies:
+ npm-normalize-package-bin "^1.0.1"
+
+npm-bundled@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-2.0.1.tgz#94113f7eb342cd7a67de1e789f896b04d2c600f4"
+ integrity sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw==
+ dependencies:
+ npm-normalize-package-bin "^2.0.0"
+
+npm-install-checks@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-5.0.0.tgz#5ff27d209a4e3542b8ac6b0c1db6063506248234"
+ integrity sha512-65lUsMI8ztHCxFz5ckCEC44DRvEGdZX5usQFriauxHEwt7upv1FKaQEmAtU0YnOAdwuNWCmk64xYiQABNrEyLA==
+ dependencies:
+ semver "^7.1.1"
+
+npm-normalize-package-bin@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2"
+ integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==
+
+npm-normalize-package-bin@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz#9447a1adaaf89d8ad0abe24c6c84ad614a675fff"
+ integrity sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==
+
+npm-package-arg@8.1.1:
+ version "8.1.1"
+ resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.1.1.tgz#00ebf16ac395c63318e67ce66780a06db6df1b04"
+ integrity sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==
+ dependencies:
+ hosted-git-info "^3.0.6"
+ semver "^7.0.0"
+ validate-npm-package-name "^3.0.0"
+
+npm-package-arg@^9.0.0, npm-package-arg@^9.0.1:
+ version "9.1.2"
+ resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.1.2.tgz#fc8acecb00235f42270dda446f36926ddd9ac2bc"
+ integrity sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==
+ dependencies:
+ hosted-git-info "^5.0.0"
+ proc-log "^2.0.1"
+ semver "^7.3.5"
+ validate-npm-package-name "^4.0.0"
+
+npm-packlist@^5.1.0, npm-packlist@^5.1.1:
+ version "5.1.3"
+ resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.1.3.tgz#69d253e6fd664b9058b85005905012e00e69274b"
+ integrity sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg==
+ dependencies:
+ glob "^8.0.1"
+ ignore-walk "^5.0.1"
+ npm-bundled "^2.0.0"
+ npm-normalize-package-bin "^2.0.0"
+
+npm-pick-manifest@^7.0.0:
+ version "7.0.2"
+ resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-7.0.2.tgz#1d372b4e7ea7c6712316c0e99388a73ed3496e84"
+ integrity sha512-gk37SyRmlIjvTfcYl6RzDbSmS9Y4TOBXfsPnoYqTHARNgWbyDiCSMLUpmALDj4jjcTZpURiEfsSHJj9k7EV4Rw==
+ dependencies:
+ npm-install-checks "^5.0.0"
+ npm-normalize-package-bin "^2.0.0"
+ npm-package-arg "^9.0.0"
+ semver "^7.3.5"
+
+npm-registry-fetch@^13.0.0, npm-registry-fetch@^13.0.1, npm-registry-fetch@^13.3.0:
+ version "13.3.1"
+ resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.3.1.tgz#bb078b5fa6c52774116ae501ba1af2a33166af7e"
+ integrity sha512-eukJPi++DKRTjSBRcDZSDDsGqRK3ehbxfFUcgaRd0Yp6kRwOwh2WVn0r+8rMB4nnuzvAk6rQVzl6K5CkYOmnvw==
+ dependencies:
+ make-fetch-happen "^10.0.6"
+ minipass "^3.1.6"
+ minipass-fetch "^2.0.3"
+ minipass-json-stream "^1.0.1"
+ minizlib "^2.1.2"
+ npm-package-arg "^9.0.1"
+ proc-log "^2.0.0"
+
npm-run-all@4.1.5, npm-run-all@^4.1.5:
version "4.1.5"
resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba"
@@ -6929,19 +9117,69 @@ npm-run-path@^4.0.0, npm-run-path@^4.0.1:
dependencies:
path-key "^3.0.0"
+npmlog@^6.0.0, npmlog@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830"
+ integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==
+ dependencies:
+ are-we-there-yet "^3.0.0"
+ console-control-strings "^1.1.0"
+ gauge "^4.0.3"
+ set-blocking "^2.0.0"
+
nwsapi@^2.2.0:
version "2.2.1"
resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.1.tgz#10a9f268fbf4c461249ebcfe38e359aa36e2577c"
integrity sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg==
-nx@14.5.10:
- version "14.5.10"
- resolved "https://registry.yarnpkg.com/nx/-/nx-14.5.10.tgz#cc950bcc2d867f0aa4e86a508842a9299650fbb9"
- integrity sha512-dqiV+zY32k98mfKFTgiQyYd9HYZmB1zoJj6gYniEuqzs6CKp8ZSpeRDaVQRxR6wEMvW9MSTA9kBg8sJ78W/NZg==
+nx@14.5.10:
+ version "14.5.10"
+ resolved "https://registry.yarnpkg.com/nx/-/nx-14.5.10.tgz#cc950bcc2d867f0aa4e86a508842a9299650fbb9"
+ integrity sha512-dqiV+zY32k98mfKFTgiQyYd9HYZmB1zoJj6gYniEuqzs6CKp8ZSpeRDaVQRxR6wEMvW9MSTA9kBg8sJ78W/NZg==
+ dependencies:
+ "@nrwl/cli" "14.5.10"
+ "@nrwl/tao" "14.5.10"
+ "@parcel/watcher" "2.0.4"
+ chalk "4.1.0"
+ chokidar "^3.5.1"
+ cli-cursor "3.1.0"
+ cli-spinners "2.6.1"
+ cliui "^7.0.2"
+ dotenv "~10.0.0"
+ enquirer "~2.3.6"
+ fast-glob "3.2.7"
+ figures "3.2.0"
+ flat "^5.0.2"
+ fs-extra "^10.1.0"
+ glob "7.1.4"
+ ignore "^5.0.4"
+ js-yaml "4.1.0"
+ jsonc-parser "3.0.0"
+ minimatch "3.0.5"
+ npm-run-path "^4.0.1"
+ open "^8.4.0"
+ semver "7.3.4"
+ string-width "^4.2.3"
+ tar-stream "~2.2.0"
+ tmp "~0.2.1"
+ tsconfig-paths "^3.9.0"
+ tslib "^2.3.0"
+ v8-compile-cache "2.3.0"
+ yargs "^17.4.0"
+ yargs-parser "21.0.1"
+
+nx@15.0.0, "nx@>=14.8.6 < 16":
+ version "15.0.0"
+ resolved "https://registry.yarnpkg.com/nx/-/nx-15.0.0.tgz#8f1a291b7393861242b5c0f0d03c6317aed9c182"
+ integrity sha512-uh9Ou5oj7yr6Uyp4QhqW1vIVoanYn1sJM1jzOyoT17GAhhODfS0BtQgUvlmInDuRqP8LMaPg4LXFMby07U1HXg==
dependencies:
- "@nrwl/cli" "14.5.10"
- "@nrwl/tao" "14.5.10"
+ "@nrwl/cli" "15.0.0"
+ "@nrwl/tao" "15.0.0"
"@parcel/watcher" "2.0.4"
+ "@yarnpkg/lockfile" "^1.1.0"
+ "@yarnpkg/parsers" "^3.0.0-rc.18"
+ "@zkochan/js-yaml" "0.0.6"
+ axios "^1.0.0"
chalk "4.1.0"
chokidar "^3.5.1"
cli-cursor "3.1.0"
@@ -6956,12 +9194,13 @@ nx@14.5.10:
glob "7.1.4"
ignore "^5.0.4"
js-yaml "4.1.0"
- jsonc-parser "3.0.0"
+ jsonc-parser "3.2.0"
minimatch "3.0.5"
npm-run-path "^4.0.1"
open "^8.4.0"
semver "7.3.4"
string-width "^4.2.3"
+ strong-log-transformer "^2.1.0"
tar-stream "~2.2.0"
tmp "~0.2.1"
tsconfig-paths "^3.9.0"
@@ -7107,11 +9346,43 @@ optionator@^0.9.1:
type-check "^0.4.0"
word-wrap "^1.2.3"
+ora@^5.4.1:
+ version "5.4.1"
+ resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18"
+ integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==
+ dependencies:
+ bl "^4.1.0"
+ chalk "^4.1.0"
+ cli-cursor "^3.1.0"
+ cli-spinners "^2.5.0"
+ is-interactive "^1.0.0"
+ is-unicode-supported "^0.1.0"
+ log-symbols "^4.1.0"
+ strip-ansi "^6.0.0"
+ wcwidth "^1.0.1"
+
os-browserify@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==
+os-tmpdir@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
+ integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==
+
+p-finally@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
+ integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==
+
+p-limit@^1.1.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
+ integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==
+ dependencies:
+ p-try "^1.0.0"
+
p-limit@^2.0.0, p-limit@^2.2.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
@@ -7126,6 +9397,13 @@ p-limit@^3.0.2, p-limit@^3.1.0:
dependencies:
yocto-queue "^0.1.0"
+p-locate@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
+ integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==
+ dependencies:
+ p-limit "^1.1.0"
+
p-locate@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
@@ -7147,11 +9425,87 @@ p-locate@^5.0.0:
dependencies:
p-limit "^3.0.2"
+p-map-series@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/p-map-series/-/p-map-series-2.1.0.tgz#7560d4c452d9da0c07e692fdbfe6e2c81a2a91f2"
+ integrity sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q==
+
+p-map@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b"
+ integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==
+ dependencies:
+ aggregate-error "^3.0.0"
+
+p-pipe@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/p-pipe/-/p-pipe-3.1.0.tgz#48b57c922aa2e1af6a6404cb7c6bf0eb9cc8e60e"
+ integrity sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==
+
+p-queue@^6.6.2:
+ version "6.6.2"
+ resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-6.6.2.tgz#2068a9dcf8e67dd0ec3e7a2bcb76810faa85e426"
+ integrity sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==
+ dependencies:
+ eventemitter3 "^4.0.4"
+ p-timeout "^3.2.0"
+
+p-reduce@^2.0.0, p-reduce@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-2.1.0.tgz#09408da49507c6c274faa31f28df334bc712b64a"
+ integrity sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==
+
+p-timeout@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe"
+ integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==
+ dependencies:
+ p-finally "^1.0.0"
+
+p-try@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
+ integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==
+
p-try@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
+p-waterfall@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/p-waterfall/-/p-waterfall-2.1.1.tgz#63153a774f472ccdc4eb281cdb2967fcf158b2ee"
+ integrity sha512-RRTnDb2TBG/epPRI2yYXsimO0v3BXC8Yd3ogr1545IaqKK17VGhbWVeGGN+XfCm/08OK8635nH31c8bATkHuSw==
+ dependencies:
+ p-reduce "^2.0.0"
+
+pacote@^13.0.3, pacote@^13.6.1:
+ version "13.6.2"
+ resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.6.2.tgz#0d444ba3618ab3e5cd330b451c22967bbd0ca48a"
+ integrity sha512-Gu8fU3GsvOPkak2CkbojR7vjs3k3P9cA6uazKTHdsdV0gpCEQq2opelnEv30KRQWgVzP5Vd/5umjcedma3MKtg==
+ dependencies:
+ "@npmcli/git" "^3.0.0"
+ "@npmcli/installed-package-contents" "^1.0.7"
+ "@npmcli/promise-spawn" "^3.0.0"
+ "@npmcli/run-script" "^4.1.0"
+ cacache "^16.0.0"
+ chownr "^2.0.0"
+ fs-minipass "^2.1.0"
+ infer-owner "^1.0.4"
+ minipass "^3.1.6"
+ mkdirp "^1.0.4"
+ npm-package-arg "^9.0.0"
+ npm-packlist "^5.1.0"
+ npm-pick-manifest "^7.0.0"
+ npm-registry-fetch "^13.0.1"
+ proc-log "^2.0.0"
+ promise-retry "^2.0.1"
+ read-package-json "^5.0.0"
+ read-package-json-fast "^2.0.3"
+ rimraf "^3.0.2"
+ ssri "^9.0.0"
+ tar "^6.1.11"
+
pako@~1.0.5:
version "1.0.11"
resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
@@ -7184,6 +9538,15 @@ parse-asn1@^5.0.0, parse-asn1@^5.1.5:
pbkdf2 "^3.0.3"
safe-buffer "^5.1.1"
+parse-conflict-json@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/parse-conflict-json/-/parse-conflict-json-2.0.2.tgz#3d05bc8ffe07d39600dc6436c6aefe382033d323"
+ integrity sha512-jDbRGb00TAPFsKWCpZZOT93SxVP9nONOSgES3AevqRq/CHvavEBvKAjxX9p5Y5F0RZLxH9Ufd9+RwtCsa+lFDA==
+ dependencies:
+ json-parse-even-better-errors "^2.3.1"
+ just-diff "^5.0.1"
+ just-diff-apply "^5.2.0"
+
parse-json@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
@@ -7192,7 +9555,7 @@ parse-json@^4.0.0:
error-ex "^1.3.1"
json-parse-better-errors "^1.0.1"
-parse-json@^5.2.0:
+parse-json@^5.0.0, parse-json@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
@@ -7202,6 +9565,20 @@ parse-json@^5.2.0:
json-parse-even-better-errors "^2.3.0"
lines-and-columns "^1.1.6"
+parse-path@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-7.0.0.tgz#605a2d58d0a749c8594405d8cc3a2bf76d16099b"
+ integrity sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==
+ dependencies:
+ protocols "^2.0.0"
+
+parse-url@^8.1.0:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-8.1.0.tgz#972e0827ed4b57fc85f0ea6b0d839f0d8a57a57d"
+ integrity sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==
+ dependencies:
+ parse-path "^7.0.0"
+
parse5@6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b"
@@ -7300,6 +9677,11 @@ pidtree@^0.3.0:
resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a"
integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==
+pify@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
+ integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==
+
pify@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
@@ -7310,6 +9692,11 @@ pify@^4.0.1:
resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
+pify@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f"
+ integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==
+
pirates@^4.0.4:
version "4.0.5"
resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b"
@@ -7389,6 +9776,11 @@ pretty-quick@^3.1.3:
mri "^1.1.5"
multimatch "^4.0.0"
+proc-log@^2.0.0, proc-log@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-2.0.1.tgz#8f3f69a1f608de27878f91f5c688b225391cb685"
+ integrity sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==
+
process-nextick-args@~2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
@@ -7399,11 +9791,29 @@ process@^0.11.10:
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==
+promise-all-reject-late@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz#f8ebf13483e5ca91ad809ccc2fcf25f26f8643c2"
+ integrity sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==
+
+promise-call-limit@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/promise-call-limit/-/promise-call-limit-1.0.1.tgz#4bdee03aeb85674385ca934da7114e9bcd3c6e24"
+ integrity sha512-3+hgaa19jzCGLuSCbieeRsu5C2joKfYn8pY6JAuXFRVfF4IO+L7UPpFWNTeWT9pM7uhskvbPPd/oEOktCn317Q==
+
promise-inflight@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==
+promise-retry@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22"
+ integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==
+ dependencies:
+ err-code "^2.0.2"
+ retry "^0.12.0"
+
prompts@^2.0.1:
version "2.4.2"
resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069"
@@ -7412,6 +9822,13 @@ prompts@^2.0.1:
kleur "^3.0.3"
sisteransi "^1.0.5"
+promzard@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee"
+ integrity sha512-JZeYqd7UAcHCwI+sTOeUDYkvEU+1bQ7iE0UT1MgB/tERkAPkesW46MrpIySzODi+owTjZtiF8Ay5j9m60KmMBw==
+ dependencies:
+ read "1"
+
prop-types@^15.8.1:
version "15.8.1"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
@@ -7421,6 +9838,16 @@ prop-types@^15.8.1:
object-assign "^4.1.1"
react-is "^16.13.1"
+proto-list@~1.2.1:
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
+ integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==
+
+protocols@^2.0.0, protocols@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/protocols/-/protocols-2.0.1.tgz#8f155da3fc0f32644e83c5782c8e8212ccf70a86"
+ integrity sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==
+
proxy-addr@~2.0.7:
version "2.0.7"
resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
@@ -7429,6 +9856,11 @@ proxy-addr@~2.0.7:
forwarded "0.2.0"
ipaddr.js "1.9.1"
+proxy-from-env@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
+ integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
+
prr@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
@@ -7491,6 +9923,11 @@ punycode@^2.1.0, punycode@^2.1.1:
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
+q@^1.5.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
+ integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==
+
qs@6.10.3:
version "6.10.3"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e"
@@ -7518,6 +9955,11 @@ queue-microtask@^1.2.2:
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
+quick-lru@^4.0.1:
+ version "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:
version "2.1.0"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
@@ -7563,6 +10005,46 @@ react-is@^18.0.0:
resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b"
integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
+read-cmd-shim@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-3.0.1.tgz#868c235ec59d1de2db69e11aec885bc095aea087"
+ integrity sha512-kEmDUoYf/CDy8yZbLTmhB1X9kkjf9Q80PCNsDMb7ufrGd6zZSQA1+UyjrO+pZm5K/S4OXCWJeiIt1JA8kAsa6g==
+
+read-package-json-fast@^2.0.2, read-package-json-fast@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz#323ca529630da82cb34b36cc0b996693c98c2b83"
+ integrity sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==
+ dependencies:
+ json-parse-even-better-errors "^2.3.0"
+ npm-normalize-package-bin "^1.0.1"
+
+read-package-json@^5.0.0, read-package-json@^5.0.1:
+ version "5.0.2"
+ resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-5.0.2.tgz#b8779ccfd169f523b67208a89cc912e3f663f3fa"
+ integrity sha512-BSzugrt4kQ/Z0krro8zhTwV1Kd79ue25IhNN/VtHFy1mG/6Tluyi+msc0UpwaoQzxSHa28mntAjIZY6kEgfR9Q==
+ dependencies:
+ glob "^8.0.1"
+ json-parse-even-better-errors "^2.3.1"
+ normalize-package-data "^4.0.0"
+ npm-normalize-package-bin "^2.0.0"
+
+read-pkg-up@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07"
+ integrity sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==
+ dependencies:
+ find-up "^2.0.0"
+ read-pkg "^3.0.0"
+
+read-pkg-up@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507"
+ integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==
+ dependencies:
+ find-up "^4.1.0"
+ read-pkg "^5.2.0"
+ type-fest "^0.8.1"
+
read-pkg@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389"
@@ -7572,6 +10054,23 @@ read-pkg@^3.0.0:
normalize-package-data "^2.3.2"
path-type "^3.0.0"
+read-pkg@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc"
+ integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==
+ dependencies:
+ "@types/normalize-package-data" "^2.4.0"
+ normalize-package-data "^2.5.0"
+ parse-json "^5.0.0"
+ type-fest "^0.6.0"
+
+read@1, read@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4"
+ integrity sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==
+ 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.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, 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"
@@ -7585,7 +10084,7 @@ read-pkg@^3.0.0:
string_decoder "~1.1.1"
util-deprecate "~1.0.1"
-readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0:
+readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0:
version "3.6.0"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
@@ -7594,6 +10093,16 @@ readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0:
string_decoder "^1.1.1"
util-deprecate "^1.0.1"
+readdir-scoped-modules@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309"
+ integrity sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==
+ dependencies:
+ debuglog "^1.0.1"
+ dezalgo "^1.0.0"
+ graceful-fs "^4.1.2"
+ once "^1.3.0"
+
readdirp@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525"
@@ -7610,6 +10119,14 @@ readdirp@~3.6.0:
dependencies:
picomatch "^2.2.1"
+redent@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f"
+ integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==
+ dependencies:
+ indent-string "^4.0.0"
+ strip-indent "^3.0.0"
+
regenerate-unicode-properties@^10.0.1:
version "10.0.1"
resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz#7f442732aa7934a3740c779bb9b3340dccc1fb56"
@@ -7763,6 +10280,11 @@ ret@~0.1.10:
resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
+retry@^0.12.0:
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b"
+ integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==
+
reusify@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
@@ -7811,6 +10333,11 @@ rollup@^2.75.6:
optionalDependencies:
fsevents "~2.3.2"
+run-async@^2.4.0:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
+ integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==
+
run-parallel@^1.1.9:
version "1.2.0"
resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
@@ -7832,6 +10359,13 @@ rxjs@^6.5.4:
dependencies:
tslib "^1.9.0"
+rxjs@^7.5.5:
+ version "7.5.7"
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.7.tgz#2ec0d57fdc89ece220d2e702730ae8f1e49def39"
+ integrity sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==
+ dependencies:
+ tslib "^2.1.0"
+
safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0:
version "5.2.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
@@ -7849,7 +10383,7 @@ safe-regex@^1.1.0:
dependencies:
ret "~0.1.10"
-"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.1.0:
+"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.1.0:
version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
@@ -7901,6 +10435,13 @@ semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
+semver@^7.0.0, semver@^7.1.1, semver@^7.3.4:
+ version "7.3.8"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798"
+ integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==
+ dependencies:
+ lru-cache "^6.0.0"
+
semver@^7.3.2, semver@^7.3.5, semver@^7.3.7:
version "7.3.7"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f"
@@ -7951,6 +10492,11 @@ serve-static@1.15.0:
parseurl "~1.3.3"
send "0.18.0"
+set-blocking@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
+ integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==
+
set-value@^2.0.0, set-value@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b"
@@ -7979,6 +10525,13 @@ sha.js@^2.4.0, sha.js@^2.4.8:
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"
+ integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==
+ dependencies:
+ kind-of "^6.0.2"
+
shebang-command@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
@@ -8032,6 +10585,11 @@ slash@^3.0.0:
resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
+smart-buffer@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae"
+ integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==
+
snapdragon-node@^2.0.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
@@ -8062,6 +10620,37 @@ snapdragon@^0.8.1:
source-map-resolve "^0.5.0"
use "^3.1.0"
+socks-proxy-agent@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz#dc069ecf34436621acb41e3efa66ca1b5fed15b6"
+ integrity sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==
+ dependencies:
+ agent-base "^6.0.2"
+ debug "^4.3.3"
+ socks "^2.6.2"
+
+socks@^2.6.2:
+ version "2.7.1"
+ resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.1.tgz#d8e651247178fde79c0663043e07240196857d55"
+ integrity sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==
+ dependencies:
+ ip "^2.0.0"
+ smart-buffer "^4.2.0"
+
+sort-keys@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128"
+ integrity sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==
+ dependencies:
+ is-plain-obj "^1.0.0"
+
+sort-keys@^4.0.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-4.2.0.tgz#6b7638cee42c506fff8c1cecde7376d21315be18"
+ integrity sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==
+ dependencies:
+ is-plain-obj "^2.0.0"
+
source-list-map@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
@@ -8157,6 +10746,20 @@ split-string@^3.0.1, split-string@^3.0.2:
dependencies:
extend-shallow "^3.0.0"
+split2@^3.0.0:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f"
+ integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==
+ dependencies:
+ readable-stream "^3.0.0"
+
+split@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9"
+ integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==
+ dependencies:
+ through "2"
+
sprintf-js@~1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
@@ -8169,6 +10772,13 @@ ssri@^6.0.1:
dependencies:
figgy-pudding "^3.5.1"
+ssri@^9.0.0, ssri@^9.0.1:
+ version "9.0.1"
+ resolved "https://registry.yarnpkg.com/ssri/-/ssri-9.0.1.tgz#544d4c357a8d7b71a19700074b6883fcb4eae057"
+ integrity sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==
+ dependencies:
+ minipass "^3.1.1"
+
stack-utils@^2.0.3:
version "2.0.5"
resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5"
@@ -8229,7 +10839,7 @@ string-length@^4.0.1:
char-regex "^1.0.2"
strip-ansi "^6.0.0"
-string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
+"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
version "4.2.3"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -8315,11 +10925,27 @@ strip-final-newline@^2.0.0:
resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
+strip-indent@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001"
+ integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==
+ dependencies:
+ min-indent "^1.0.0"
+
strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
+strong-log-transformer@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10"
+ integrity sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==
+ dependencies:
+ duplexer "^0.1.1"
+ minimist "^1.2.0"
+ through "^2.3.4"
+
supports-color@^5.3.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
@@ -8380,6 +11006,23 @@ tar-stream@~2.2.0:
inherits "^2.0.3"
readable-stream "^3.1.1"
+tar@^6.1.0, tar@^6.1.11, tar@^6.1.2:
+ version "6.1.11"
+ resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621"
+ integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==
+ dependencies:
+ chownr "^2.0.0"
+ fs-minipass "^2.0.0"
+ minipass "^3.0.0"
+ minizlib "^2.1.1"
+ mkdirp "^1.0.3"
+ yallist "^4.0.0"
+
+temp-dir@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d"
+ integrity sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==
+
terminal-link@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994"
@@ -8442,6 +11085,11 @@ test-exclude@^6.0.0:
glob "^7.1.4"
minimatch "^3.0.4"
+text-extensions@^1.0.0:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26"
+ integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==
+
text-table@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
@@ -8460,6 +11108,18 @@ through2@^2.0.0:
readable-stream "~2.3.6"
xtend "~4.0.1"
+through2@^4.0.0:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764"
+ integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==
+ dependencies:
+ readable-stream "3"
+
+through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6:
+ version "2.3.8"
+ resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
+ integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
+
timers-browserify@^2.0.4:
version "2.0.12"
resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee"
@@ -8467,6 +11127,13 @@ timers-browserify@^2.0.4:
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"
+ integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==
+ dependencies:
+ os-tmpdir "~1.0.2"
+
tmp@~0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14"
@@ -8543,6 +11210,21 @@ tr46@^2.1.0:
dependencies:
punycode "^2.1.1"
+tr46@~0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
+ integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
+
+treeverse@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/treeverse/-/treeverse-2.0.0.tgz#036dcef04bc3fd79a9b79a68d4da03e882d8a9ca"
+ integrity sha512-N5gJCkLu1aXccpOTtqV6ddSEi6ZmGkh3hjmbu1IjcavJK4qyOVQmi0myQKM7z5jVGmD68SJoliaVrMmVObhj6A==
+
+trim-newlines@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144"
+ integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==
+
ts-node@^10.9.1:
version "10.9.1"
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b"
@@ -8577,7 +11259,7 @@ tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
-tslib@^2.3.0:
+tslib@^2.1.0, tslib@^2.3.0, tslib@^2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3"
integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==
@@ -8613,6 +11295,11 @@ type-detect@4.0.8:
resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
+type-fest@^0.18.0:
+ version "0.18.1"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f"
+ integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==
+
type-fest@^0.20.2:
version "0.20.2"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
@@ -8623,6 +11310,21 @@ type-fest@^0.21.3:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"
integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
+type-fest@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.4.1.tgz#8bdf77743385d8a4f13ba95f610f5ccd68c728f8"
+ integrity sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==
+
+type-fest@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b"
+ integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==
+
+type-fest@^0.8.1:
+ version "0.8.1"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
+ integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
+
type-is@~1.6.18:
version "1.6.18"
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
@@ -8643,11 +11345,21 @@ typedarray@^0.0.6:
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==
+"typescript@^3 || ^4":
+ version "4.8.4"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6"
+ integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==
+
typescript@^4.7.4:
version "4.7.4"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235"
integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==
+uglify-js@^3.1.4:
+ version "3.17.3"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.3.tgz#f0feedf019c4510f164099e8d7e72ff2d7304377"
+ integrity sha512-JmMFDME3iufZnBpyKL+uS78LRiC+mK55zWfM5f/pWBJfpOttXAqYfdDGRukYhJuyRinvPVAtUhvy7rlDybNtFg==
+
unbox-primitive@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e"
@@ -8698,6 +11410,13 @@ unique-filename@^1.1.1:
dependencies:
unique-slug "^2.0.0"
+unique-filename@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-2.0.1.tgz#e785f8675a9a7589e0ac77e0b5c34d2eaeac6da2"
+ integrity sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==
+ dependencies:
+ unique-slug "^3.0.0"
+
unique-slug@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c"
@@ -8705,6 +11424,18 @@ unique-slug@^2.0.0:
dependencies:
imurmurhash "^0.1.4"
+unique-slug@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-3.0.0.tgz#6d347cf57c8a7a7a6044aabd0e2d74e4d76dc7c9"
+ integrity sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==
+ dependencies:
+ imurmurhash "^0.1.4"
+
+universal-user-agent@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee"
+ integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==
+
universalify@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0"
@@ -8743,6 +11474,11 @@ upath@^1.1.1:
resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894"
integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==
+upath@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/upath/-/upath-2.0.1.tgz#50c73dea68d6f6b990f51d279ce6081665d61a8b"
+ integrity sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==
+
update-browserslist-db@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz#be06a5eedd62f107b7c19eb5bcefb194411abf38"
@@ -8808,6 +11544,11 @@ utils-merge@1.0.1:
resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
+uuid@^8.3.2:
+ version "8.3.2"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
+ integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
+
v8-compile-cache-lib@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf"
@@ -8836,7 +11577,7 @@ v8-to-istanbul@^9.0.1:
"@types/istanbul-lib-coverage" "^2.0.1"
convert-source-map "^1.6.0"
-validate-npm-package-license@^3.0.1:
+validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==
@@ -8844,6 +11585,20 @@ validate-npm-package-license@^3.0.1:
spdx-correct "^3.0.0"
spdx-expression-parse "^3.0.0"
+validate-npm-package-name@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e"
+ integrity sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==
+ dependencies:
+ builtins "^1.0.3"
+
+validate-npm-package-name@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz#fe8f1c50ac20afdb86f177da85b3600f0ac0d747"
+ integrity sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==
+ dependencies:
+ builtins "^5.0.0"
+
vary@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
@@ -8880,6 +11635,11 @@ w3c-xmlserializer@^2.0.0:
dependencies:
xml-name-validator "^3.0.0"
+walk-up-path@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-1.0.0.tgz#d4745e893dd5fd0dbb58dd0a4c6a33d9c9fec53e"
+ integrity sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg==
+
walker@^1.0.7, walker@^1.0.8:
version "1.0.8"
resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f"
@@ -8913,6 +11673,18 @@ watchpack@^2.4.0:
glob-to-regexp "^0.4.1"
graceful-fs "^4.1.2"
+wcwidth@^1.0.0, wcwidth@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
+ integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==
+ dependencies:
+ defaults "^1.0.3"
+
+webidl-conversions@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
+ integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
+
webidl-conversions@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff"
@@ -9012,6 +11784,14 @@ whatwg-mimetype@^2.3.0:
resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf"
integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==
+whatwg-url@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
+ integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
+ dependencies:
+ tr46 "~0.0.3"
+ webidl-conversions "^3.0.0"
+
whatwg-url@^8.0.0, whatwg-url@^8.5.0:
version "8.7.0"
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77"
@@ -9039,18 +11819,30 @@ which@^1.2.9:
dependencies:
isexe "^2.0.0"
-which@^2.0.1:
+which@^2.0.1, which@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
dependencies:
isexe "^2.0.0"
+wide-align@^1.1.5:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3"
+ integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==
+ dependencies:
+ string-width "^1.0.2 || 2 || 3 || 4"
+
word-wrap@^1.2.3, word-wrap@~1.2.3:
version "1.2.3"
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
+wordwrap@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
+ integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==
+
worker-farm@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8"
@@ -9072,6 +11864,15 @@ wrappy@1:
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
+write-file-atomic@^2.4.2:
+ version "2.4.3"
+ resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481"
+ integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==
+ dependencies:
+ graceful-fs "^4.1.11"
+ imurmurhash "^0.1.4"
+ signal-exit "^3.0.2"
+
write-file-atomic@^3.0.0:
version "3.0.3"
resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8"
@@ -9082,7 +11883,7 @@ write-file-atomic@^3.0.0:
signal-exit "^3.0.2"
typedarray-to-buffer "^3.1.5"
-write-file-atomic@^4.0.1:
+write-file-atomic@^4.0.0, write-file-atomic@^4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd"
integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==
@@ -9090,6 +11891,39 @@ write-file-atomic@^4.0.1:
imurmurhash "^0.1.4"
signal-exit "^3.0.7"
+write-json-file@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-3.2.0.tgz#65bbdc9ecd8a1458e15952770ccbadfcff5fe62a"
+ integrity sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ==
+ dependencies:
+ detect-indent "^5.0.0"
+ graceful-fs "^4.1.15"
+ make-dir "^2.1.0"
+ pify "^4.0.1"
+ sort-keys "^2.0.0"
+ write-file-atomic "^2.4.2"
+
+write-json-file@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-4.3.0.tgz#908493d6fd23225344af324016e4ca8f702dd12d"
+ integrity sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ==
+ dependencies:
+ detect-indent "^6.0.0"
+ graceful-fs "^4.1.15"
+ is-plain-obj "^2.0.0"
+ make-dir "^3.0.0"
+ sort-keys "^4.0.0"
+ write-file-atomic "^3.0.0"
+
+write-pkg@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-4.0.0.tgz#675cc04ef6c11faacbbc7771b24c0abbf2a20039"
+ integrity sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA==
+ dependencies:
+ sort-keys "^2.0.0"
+ type-fest "^0.4.1"
+ write-json-file "^3.2.0"
+
ws@^7.4.6:
version "7.5.9"
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591"
@@ -9130,16 +11964,44 @@ yallist@^4.0.0:
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
+yaml@^1.10.0:
+ version "1.10.2"
+ resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
+ integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
+
+yargs-parser@20.2.4:
+ version "20.2.4"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54"
+ integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==
+
yargs-parser@21.0.1:
version "21.0.1"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35"
integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==
+yargs-parser@^20.2.2, yargs-parser@^20.2.3:
+ version "20.2.9"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
+ integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
+
yargs-parser@^21.0.0:
version "21.1.1"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"
integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
+yargs@^16.2.0:
+ version "16.2.0"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"
+ integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==
+ dependencies:
+ cliui "^7.0.2"
+ escalade "^3.1.1"
+ get-caller-file "^2.0.5"
+ require-directory "^2.1.1"
+ string-width "^4.2.0"
+ y18n "^5.0.5"
+ yargs-parser "^20.2.2"
+
yargs@^17.3.1, yargs@^17.4.0:
version "17.5.1"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e"
From 8c04dce9c53680bd0fed637a8474acda64db4a17 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Thu, 20 Oct 2022 13:36:46 +0200
Subject: [PATCH 050/640] feat(publish): Create NPM tarballs (#54)
- Add yarn scripts (`yarn build:npm`) to our packages to create NPM tarballs.
- Rename the root package (purely cosmetic) and the core package (to get a somewhat reasonanable package name)
---
.gitignore | 4 ++++
nx.json | 3 +++
package.json | 7 ++++---
packages/{unplugin => bundler-plugin-core}/.babelrc.json | 0
packages/{unplugin => bundler-plugin-core}/.eslintrc.js | 0
packages/{unplugin => bundler-plugin-core}/.gitignore | 0
packages/{unplugin => bundler-plugin-core}/LICENSE | 0
packages/{unplugin => bundler-plugin-core}/README.md | 6 ++----
packages/{unplugin => bundler-plugin-core}/jest.config.js | 0
packages/{unplugin => bundler-plugin-core}/package.json | 3 ++-
.../{unplugin => bundler-plugin-core}/rollup.config.js | 0
.../src/getReleaseName.ts | 0
.../{unplugin => bundler-plugin-core}/src/globals.d.ts | 0
packages/{unplugin => bundler-plugin-core}/src/index.ts | 0
.../{unplugin => bundler-plugin-core}/src/sentry/api.ts | 0
.../{unplugin => bundler-plugin-core}/src/sentry/logger.ts | 0
.../src/sentry/releasePipeline.ts | 0
.../src/sentry/sourcemaps.ts | 0
.../src/sentry/telemetry.ts | 0
.../{unplugin => bundler-plugin-core}/src/tsconfig.json | 0
packages/{unplugin => bundler-plugin-core}/src/types.ts | 0
.../test/getReleaseName.test.ts | 0
.../{unplugin => bundler-plugin-core}/test/logger.test.ts | 0
.../{unplugin => bundler-plugin-core}/test/tsconfig.json | 0
.../{unplugin => bundler-plugin-core}/types.tsconfig.json | 0
packages/esbuild-plugin/package.json | 3 ++-
packages/esbuild-plugin/src/index.ts | 4 ++--
packages/integration-tests/package.json | 2 +-
packages/integration-tests/utils/create-cjs-bundles.ts | 2 +-
packages/playground/build-esbuild.js | 2 +-
packages/playground/build-webpack4.js | 2 +-
packages/playground/build-webpack5.js | 2 +-
packages/playground/package.json | 2 +-
packages/playground/rollup.config.js | 2 +-
packages/playground/vite.config.js | 2 +-
packages/playground/vite.config.smallNodeApp.js | 2 +-
packages/rollup-plugin/package.json | 3 ++-
packages/rollup-plugin/src/index.ts | 4 ++--
packages/vite-plugin/package.json | 3 ++-
packages/vite-plugin/src/index.ts | 4 ++--
packages/webpack-plugin/package.json | 2 +-
packages/webpack-plugin/src/index.ts | 4 ++--
42 files changed, 39 insertions(+), 29 deletions(-)
rename packages/{unplugin => bundler-plugin-core}/.babelrc.json (100%)
rename packages/{unplugin => bundler-plugin-core}/.eslintrc.js (100%)
rename packages/{unplugin => bundler-plugin-core}/.gitignore (100%)
rename packages/{unplugin => bundler-plugin-core}/LICENSE (100%)
rename packages/{unplugin => bundler-plugin-core}/README.md (84%)
rename packages/{unplugin => bundler-plugin-core}/jest.config.js (100%)
rename packages/{unplugin => bundler-plugin-core}/package.json (96%)
rename packages/{unplugin => bundler-plugin-core}/rollup.config.js (100%)
rename packages/{unplugin => bundler-plugin-core}/src/getReleaseName.ts (100%)
rename packages/{unplugin => bundler-plugin-core}/src/globals.d.ts (100%)
rename packages/{unplugin => bundler-plugin-core}/src/index.ts (100%)
rename packages/{unplugin => bundler-plugin-core}/src/sentry/api.ts (100%)
rename packages/{unplugin => bundler-plugin-core}/src/sentry/logger.ts (100%)
rename packages/{unplugin => bundler-plugin-core}/src/sentry/releasePipeline.ts (100%)
rename packages/{unplugin => bundler-plugin-core}/src/sentry/sourcemaps.ts (100%)
rename packages/{unplugin => bundler-plugin-core}/src/sentry/telemetry.ts (100%)
rename packages/{unplugin => bundler-plugin-core}/src/tsconfig.json (100%)
rename packages/{unplugin => bundler-plugin-core}/src/types.ts (100%)
rename packages/{unplugin => bundler-plugin-core}/test/getReleaseName.test.ts (100%)
rename packages/{unplugin => bundler-plugin-core}/test/logger.test.ts (100%)
rename packages/{unplugin => bundler-plugin-core}/test/tsconfig.json (100%)
rename packages/{unplugin => bundler-plugin-core}/types.tsconfig.json (100%)
diff --git a/.gitignore b/.gitignore
index 93cab344de41..cdf43c383107 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,6 @@
node_modules
yarn-error.log
+
+.vscode/settings.json
+
+*.tgz
\ No newline at end of file
diff --git a/nx.json b/nx.json
index 5fcc7fdcb750..a7836ba51dd0 100644
--- a/nx.json
+++ b/nx.json
@@ -24,6 +24,9 @@
},
"check:types": {
"dependsOn": ["^build"]
+ },
+ "build:npm": {
+ "dependsOn": ["build", "^build"]
}
}
}
diff --git a/package.json b/package.json
index d6963f7ec9e5..234b48708487 100644
--- a/package.json
+++ b/package.json
@@ -1,8 +1,8 @@
{
- "name": "@sentry/sentry-unplugin-root",
+ "name": "@sentry/bundler-plugins",
"version": "0.0.0",
- "description": "Root of the sentry unplugin monorepo.",
- "repository": "git@github.com:lforst/sentry-unplugin.git",
+ "description": "Sentry Bundler Plugins Monorepo.",
+ "repository": "git@github.com:getsentry/sentry-unplugin.git",
"private": true,
"workspaces": [
"packages/*"
@@ -11,6 +11,7 @@
"build": "nx run-many --target=build --all",
"build:watch": "nx run-many --target=build:watch --all",
"build:graph": "nx graph",
+ "build:npm": "nx run-many --target=build:npm --all",
"check:types": "nx run-many --target=check:types --all",
"test": "nx run-many --target=test --all",
"lint": "nx run-many --target=lint --all",
diff --git a/packages/unplugin/.babelrc.json b/packages/bundler-plugin-core/.babelrc.json
similarity index 100%
rename from packages/unplugin/.babelrc.json
rename to packages/bundler-plugin-core/.babelrc.json
diff --git a/packages/unplugin/.eslintrc.js b/packages/bundler-plugin-core/.eslintrc.js
similarity index 100%
rename from packages/unplugin/.eslintrc.js
rename to packages/bundler-plugin-core/.eslintrc.js
diff --git a/packages/unplugin/.gitignore b/packages/bundler-plugin-core/.gitignore
similarity index 100%
rename from packages/unplugin/.gitignore
rename to packages/bundler-plugin-core/.gitignore
diff --git a/packages/unplugin/LICENSE b/packages/bundler-plugin-core/LICENSE
similarity index 100%
rename from packages/unplugin/LICENSE
rename to packages/bundler-plugin-core/LICENSE
diff --git a/packages/unplugin/README.md b/packages/bundler-plugin-core/README.md
similarity index 84%
rename from packages/unplugin/README.md
rename to packages/bundler-plugin-core/README.md
index b3c303b9e921..5c41bd0051bf 100644
--- a/packages/unplugin/README.md
+++ b/packages/bundler-plugin-core/README.md
@@ -4,7 +4,7 @@
-# Sentry Unplugin (WIP)
+# Sentry Bundler Plugin Core
**WARNING: This package is work in progress! Do not yet use it in production. We're happy to receive your feedback!**
@@ -19,15 +19,13 @@ Check out the individual packages for more information and examples:
### Features
-The Sentry Unplugin take care of Sentry-related tasks at build time of your JavaScript projects. It supports the following features:
+The Sentry bundler plugin core package contains the following functionality:
- Sourcemap upload
- Release creation in Sentry
- Automatic release name discovery (based on CI environment - Vercel, AWS, Heroku, CircleCI, or current Git SHA)
- Automatically associate errors with releases (Release injection)
-The Sentry Unplugin can be used as a replacement of [Sentry CLI](https://docs.sentry.io/learn/cli/) for these tasks.
-
### More information
- [Sentry Documentation](https://docs.sentry.io/quickstart/)
diff --git a/packages/unplugin/jest.config.js b/packages/bundler-plugin-core/jest.config.js
similarity index 100%
rename from packages/unplugin/jest.config.js
rename to packages/bundler-plugin-core/jest.config.js
diff --git a/packages/unplugin/package.json b/packages/bundler-plugin-core/package.json
similarity index 96%
rename from packages/unplugin/package.json
rename to packages/bundler-plugin-core/package.json
index 1e103a90dd0d..6bf3e921229e 100644
--- a/packages/unplugin/package.json
+++ b/packages/bundler-plugin-core/package.json
@@ -1,5 +1,5 @@
{
- "name": "@sentry/sentry-unplugin",
+ "name": "@sentry/bundler-plugin-core",
"version": "0.0.0-alpha.0",
"description": "Official Sentry unplugin",
"repository": "git://github.com/getsentry/sentry-unplugin.git",
@@ -22,6 +22,7 @@
"build:rollup:watch": "rollup --config rollup.config.js --watch --no-watch.clearScreen",
"build:types": "tsc --project types.tsconfig.json",
"build:types:watch": "tsc --project types.tsconfig.json --watch --preserveWatchOutput",
+ "build:npm": "npm pack",
"check:types": "run-p check:types:src check:types:test",
"check:types:src": "tsc --project ./src/tsconfig.json --noEmit",
"check:types:test": "tsc --project ./test/tsconfig.json --noEmit",
diff --git a/packages/unplugin/rollup.config.js b/packages/bundler-plugin-core/rollup.config.js
similarity index 100%
rename from packages/unplugin/rollup.config.js
rename to packages/bundler-plugin-core/rollup.config.js
diff --git a/packages/unplugin/src/getReleaseName.ts b/packages/bundler-plugin-core/src/getReleaseName.ts
similarity index 100%
rename from packages/unplugin/src/getReleaseName.ts
rename to packages/bundler-plugin-core/src/getReleaseName.ts
diff --git a/packages/unplugin/src/globals.d.ts b/packages/bundler-plugin-core/src/globals.d.ts
similarity index 100%
rename from packages/unplugin/src/globals.d.ts
rename to packages/bundler-plugin-core/src/globals.d.ts
diff --git a/packages/unplugin/src/index.ts b/packages/bundler-plugin-core/src/index.ts
similarity index 100%
rename from packages/unplugin/src/index.ts
rename to packages/bundler-plugin-core/src/index.ts
diff --git a/packages/unplugin/src/sentry/api.ts b/packages/bundler-plugin-core/src/sentry/api.ts
similarity index 100%
rename from packages/unplugin/src/sentry/api.ts
rename to packages/bundler-plugin-core/src/sentry/api.ts
diff --git a/packages/unplugin/src/sentry/logger.ts b/packages/bundler-plugin-core/src/sentry/logger.ts
similarity index 100%
rename from packages/unplugin/src/sentry/logger.ts
rename to packages/bundler-plugin-core/src/sentry/logger.ts
diff --git a/packages/unplugin/src/sentry/releasePipeline.ts b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
similarity index 100%
rename from packages/unplugin/src/sentry/releasePipeline.ts
rename to packages/bundler-plugin-core/src/sentry/releasePipeline.ts
diff --git a/packages/unplugin/src/sentry/sourcemaps.ts b/packages/bundler-plugin-core/src/sentry/sourcemaps.ts
similarity index 100%
rename from packages/unplugin/src/sentry/sourcemaps.ts
rename to packages/bundler-plugin-core/src/sentry/sourcemaps.ts
diff --git a/packages/unplugin/src/sentry/telemetry.ts b/packages/bundler-plugin-core/src/sentry/telemetry.ts
similarity index 100%
rename from packages/unplugin/src/sentry/telemetry.ts
rename to packages/bundler-plugin-core/src/sentry/telemetry.ts
diff --git a/packages/unplugin/src/tsconfig.json b/packages/bundler-plugin-core/src/tsconfig.json
similarity index 100%
rename from packages/unplugin/src/tsconfig.json
rename to packages/bundler-plugin-core/src/tsconfig.json
diff --git a/packages/unplugin/src/types.ts b/packages/bundler-plugin-core/src/types.ts
similarity index 100%
rename from packages/unplugin/src/types.ts
rename to packages/bundler-plugin-core/src/types.ts
diff --git a/packages/unplugin/test/getReleaseName.test.ts b/packages/bundler-plugin-core/test/getReleaseName.test.ts
similarity index 100%
rename from packages/unplugin/test/getReleaseName.test.ts
rename to packages/bundler-plugin-core/test/getReleaseName.test.ts
diff --git a/packages/unplugin/test/logger.test.ts b/packages/bundler-plugin-core/test/logger.test.ts
similarity index 100%
rename from packages/unplugin/test/logger.test.ts
rename to packages/bundler-plugin-core/test/logger.test.ts
diff --git a/packages/unplugin/test/tsconfig.json b/packages/bundler-plugin-core/test/tsconfig.json
similarity index 100%
rename from packages/unplugin/test/tsconfig.json
rename to packages/bundler-plugin-core/test/tsconfig.json
diff --git a/packages/unplugin/types.tsconfig.json b/packages/bundler-plugin-core/types.tsconfig.json
similarity index 100%
rename from packages/unplugin/types.tsconfig.json
rename to packages/bundler-plugin-core/types.tsconfig.json
diff --git a/packages/esbuild-plugin/package.json b/packages/esbuild-plugin/package.json
index bc9ddd0623eb..72e60901057f 100644
--- a/packages/esbuild-plugin/package.json
+++ b/packages/esbuild-plugin/package.json
@@ -28,6 +28,7 @@
"build:rollup:watch": "rollup --config rollup.config.js --watch --no-watch.clearScreen",
"build:types": "tsc --project types.tsconfig.json",
"build:types:watch": "tsc --project types.tsconfig.json --watch --preserveWatchOutput",
+ "build:npm": "npm pack",
"check:types": "run-p check:types:src check:types:test",
"check:types:src": "tsc --project ./src/tsconfig.json --noEmit",
"check:types:test": "tsc --project ./test/tsconfig.json --noEmit",
@@ -35,7 +36,7 @@
"lint": "eslint ./src ./test"
},
"dependencies": {
- "@sentry/sentry-unplugin": "0.0.0-alpha.0"
+ "@sentry/bundler-plugin-core": "0.0.0-alpha.0"
},
"devDependencies": {
"@babel/core": "7.18.5",
diff --git a/packages/esbuild-plugin/src/index.ts b/packages/esbuild-plugin/src/index.ts
index 92e5078306d6..a7e7f03da45d 100644
--- a/packages/esbuild-plugin/src/index.ts
+++ b/packages/esbuild-plugin/src/index.ts
@@ -1,2 +1,2 @@
-export { sentryEsbuildPlugin as default } from "@sentry/sentry-unplugin";
-export type { Options } from "@sentry/sentry-unplugin";
+export { sentryEsbuildPlugin as default } from "@sentry/bundler-plugin-core";
+export type { Options } from "@sentry/bundler-plugin-core";
diff --git a/packages/integration-tests/package.json b/packages/integration-tests/package.json
index d3eb40d3a8bc..18d5c5f9392b 100644
--- a/packages/integration-tests/package.json
+++ b/packages/integration-tests/package.json
@@ -13,7 +13,7 @@
"dependencies": {
"@sentry-internal/eslint-config": "0.0.0-alpha.0",
"@sentry-internal/sentry-unplugin-tsconfig": "0.0.0-alpha.0",
- "@sentry/sentry-unplugin": "0.0.0-alpha.0",
+ "@sentry/bundler-plugin-core": "0.0.0-alpha.0",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
"@types/webpack4": "npm:@types/webpack@4.41.32",
diff --git a/packages/integration-tests/utils/create-cjs-bundles.ts b/packages/integration-tests/utils/create-cjs-bundles.ts
index d335d656745b..b88860646718 100644
--- a/packages/integration-tests/utils/create-cjs-bundles.ts
+++ b/packages/integration-tests/utils/create-cjs-bundles.ts
@@ -10,7 +10,7 @@ import {
sentryVitePlugin,
sentryWebpackPlugin,
Options,
-} from "@sentry/sentry-unplugin";
+} from "@sentry/bundler-plugin-core";
export function createCjsBundles(
entrypoints: { [name: string]: string },
diff --git a/packages/playground/build-esbuild.js b/packages/playground/build-esbuild.js
index 6eee7f2a9e8c..a8d5283cfde1 100644
--- a/packages/playground/build-esbuild.js
+++ b/packages/playground/build-esbuild.js
@@ -1,4 +1,4 @@
-const { sentryEsbuildPlugin } = require("@sentry/sentry-unplugin");
+const { sentryEsbuildPlugin } = require("@sentry/bundler-plugin-core");
const { build } = require("esbuild");
const placeHolderOptions = require("./config.json");
diff --git a/packages/playground/build-webpack4.js b/packages/playground/build-webpack4.js
index 3de801e19c89..8cd29aff146d 100644
--- a/packages/playground/build-webpack4.js
+++ b/packages/playground/build-webpack4.js
@@ -1,7 +1,7 @@
// @ts-check
const path = require("path");
const webpack4 = require("webpack4");
-const { sentryWebpackPlugin } = require("@sentry/sentry-unplugin");
+const { sentryWebpackPlugin } = require("@sentry/bundler-plugin-core");
const placeHolderOptions = require("./config.json");
diff --git a/packages/playground/build-webpack5.js b/packages/playground/build-webpack5.js
index 0295c797f0ae..812dd5df38f2 100644
--- a/packages/playground/build-webpack5.js
+++ b/packages/playground/build-webpack5.js
@@ -1,7 +1,7 @@
// @ts-check
const path = require("path");
const webpack5 = require("webpack");
-const { sentryWebpackPlugin } = require("@sentry/sentry-unplugin");
+const { sentryWebpackPlugin } = require("@sentry/bundler-plugin-core");
const placeHolderOptions = require("./config.json");
diff --git a/packages/playground/package.json b/packages/playground/package.json
index 9b7db230914b..e56132160810 100644
--- a/packages/playground/package.json
+++ b/packages/playground/package.json
@@ -16,7 +16,7 @@
"dependencies": {
"@sentry/integrations": "^7.11.1",
"@sentry/node": "^7.11.1",
- "@sentry/sentry-unplugin": "0.0.0-alpha.0",
+ "@sentry/bundler-plugin-core": "0.0.0-alpha.0",
"@types/express": "^4.17.13",
"@types/http-proxy": "^1.17.9",
"esbuild": "0.14.49",
diff --git a/packages/playground/rollup.config.js b/packages/playground/rollup.config.js
index 3eb8f3195a31..7c54c2697d75 100644
--- a/packages/playground/rollup.config.js
+++ b/packages/playground/rollup.config.js
@@ -1,7 +1,7 @@
// @ts-check
import commonjs from "@rollup/plugin-commonjs";
import resolve from "@rollup/plugin-node-resolve";
-import { sentryRollupPlugin } from "@sentry/sentry-unplugin";
+import { sentryRollupPlugin } from "@sentry/bundler-plugin-core";
import placeHolderOptions from "./config.json";
const input = ["src/entrypoint1.js"];
diff --git a/packages/playground/vite.config.js b/packages/playground/vite.config.js
index c68a6a8ff8db..a625bae999b3 100644
--- a/packages/playground/vite.config.js
+++ b/packages/playground/vite.config.js
@@ -1,5 +1,5 @@
// @ts-check
-import { sentryVitePlugin } from "@sentry/sentry-unplugin";
+import { sentryVitePlugin } from "@sentry/bundler-plugin-core";
import { defineConfig } from "vite";
import * as path from "path";
import placeHolderOptions from "./config.json";
diff --git a/packages/playground/vite.config.smallNodeApp.js b/packages/playground/vite.config.smallNodeApp.js
index 996d7ac59fd3..6873c32669fb 100644
--- a/packages/playground/vite.config.smallNodeApp.js
+++ b/packages/playground/vite.config.smallNodeApp.js
@@ -1,5 +1,5 @@
// @ts-check
-import { sentryVitePlugin } from "@sentry/sentry-unplugin";
+import { sentryVitePlugin } from "@sentry/bundler-plugin-core";
import { defineConfig } from "vite";
import * as path from "path";
diff --git a/packages/rollup-plugin/package.json b/packages/rollup-plugin/package.json
index 5c56130986d0..ef3743a5b944 100644
--- a/packages/rollup-plugin/package.json
+++ b/packages/rollup-plugin/package.json
@@ -29,6 +29,7 @@
"build:rollup:watch": "rollup --config rollup.config.js --watch --no-watch.clearScreen",
"build:types": "tsc --project types.tsconfig.json",
"build:types:watch": "tsc --project types.tsconfig.json --watch --preserveWatchOutput",
+ "build:npm": "npm pack",
"check:types": "run-p check:types:src check:types:test",
"check:types:src": "tsc --project ./src/tsconfig.json --noEmit",
"check:types:test": "tsc --project ./test/tsconfig.json --noEmit",
@@ -36,7 +37,7 @@
"lint": "eslint ./src ./test"
},
"dependencies": {
- "@sentry/sentry-unplugin": "0.0.0-alpha.0"
+ "@sentry/bundler-plugin-core": "0.0.0-alpha.0"
},
"devDependencies": {
"@babel/core": "7.18.5",
diff --git a/packages/rollup-plugin/src/index.ts b/packages/rollup-plugin/src/index.ts
index 1a96f42a0fef..6e64e732d3f4 100644
--- a/packages/rollup-plugin/src/index.ts
+++ b/packages/rollup-plugin/src/index.ts
@@ -1,2 +1,2 @@
-export { sentryRollupPlugin as default } from "@sentry/sentry-unplugin";
-export type { Options } from "@sentry/sentry-unplugin";
+export { sentryRollupPlugin as default } from "@sentry/bundler-plugin-core";
+export type { Options } from "@sentry/bundler-plugin-core";
diff --git a/packages/vite-plugin/package.json b/packages/vite-plugin/package.json
index a06b9ec4554c..b476d848a316 100644
--- a/packages/vite-plugin/package.json
+++ b/packages/vite-plugin/package.json
@@ -28,6 +28,7 @@
"build:rollup:watch": "rollup --config rollup.config.js --watch --no-watch.clearScreen",
"build:types": "tsc --project types.tsconfig.json",
"build:types:watch": "tsc --project types.tsconfig.json --watch --preserveWatchOutput",
+ "build:npm": "npm pack",
"check:types": "run-p check:types:src check:types:test",
"check:types:src": "tsc --project ./src/tsconfig.json --noEmit",
"check:types:test": "tsc --project ./test/tsconfig.json --noEmit",
@@ -35,7 +36,7 @@
"lint": "eslint ./src ./test"
},
"dependencies": {
- "@sentry/sentry-unplugin": "0.0.0-alpha.0"
+ "@sentry/bundler-plugin-core": "0.0.0-alpha.0"
},
"devDependencies": {
"@babel/core": "7.18.5",
diff --git a/packages/vite-plugin/src/index.ts b/packages/vite-plugin/src/index.ts
index 216d37ad1f69..f4754ff8b06b 100644
--- a/packages/vite-plugin/src/index.ts
+++ b/packages/vite-plugin/src/index.ts
@@ -1,2 +1,2 @@
-export { sentryVitePlugin as default } from "@sentry/sentry-unplugin";
-export type { Options } from "@sentry/sentry-unplugin";
+export { sentryVitePlugin as default } from "@sentry/bundler-plugin-core";
+export type { Options } from "@sentry/bundler-plugin-core";
diff --git a/packages/webpack-plugin/package.json b/packages/webpack-plugin/package.json
index f10df214fbb7..3795d0548de9 100644
--- a/packages/webpack-plugin/package.json
+++ b/packages/webpack-plugin/package.json
@@ -36,7 +36,7 @@
"lint": "eslint ./src ./test"
},
"dependencies": {
- "@sentry/sentry-unplugin": "0.0.0-alpha.0"
+ "@sentry/bundler-plugin-core": "0.0.0-alpha.0"
},
"devDependencies": {
"@babel/core": "7.18.5",
diff --git a/packages/webpack-plugin/src/index.ts b/packages/webpack-plugin/src/index.ts
index 7f1b86e673ff..67cd0758054a 100644
--- a/packages/webpack-plugin/src/index.ts
+++ b/packages/webpack-plugin/src/index.ts
@@ -1,2 +1,2 @@
-export { sentryWebpackPlugin as default } from "@sentry/sentry-unplugin";
-export type { Options } from "@sentry/sentry-unplugin";
+export { sentryWebpackPlugin as default } from "@sentry/bundler-plugin-core";
+export type { Options } from "@sentry/bundler-plugin-core";
From 922d4c27ab1bf9d2633daef39687b0f8f802028c Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Thu, 20 Oct 2022 14:09:31 +0200
Subject: [PATCH 051/640] meta: Remove unplugin references (#56)
---
README.md | 16 ++++++++--------
package.json | 2 +-
packages/bundler-plugin-core/README.md | 8 ++++----
packages/bundler-plugin-core/package.json | 4 ++--
packages/bundler-plugin-core/src/index.ts | 12 ++++++------
packages/bundler-plugin-core/src/sentry/api.ts | 2 +-
.../src/sentry/releasePipeline.ts | 12 ++++++------
packages/bundler-plugin-core/src/tsconfig.json | 2 +-
packages/esbuild-plugin/package.json | 6 +++---
packages/esbuild-plugin/src/tsconfig.json | 2 +-
packages/integration-tests/package.json | 2 +-
packages/integration-tests/tsconfig.json | 2 +-
packages/playground/package.json | 2 +-
packages/rollup-plugin/package.json | 6 +++---
packages/rollup-plugin/src/tsconfig.json | 2 +-
packages/tsconfigs/package.json | 2 +-
packages/vite-plugin/package.json | 6 +++---
packages/vite-plugin/src/tsconfig.json | 2 +-
packages/webpack-plugin/package.json | 6 +++---
packages/webpack-plugin/src/tsconfig.json | 2 +-
20 files changed, 49 insertions(+), 49 deletions(-)
diff --git a/README.md b/README.md
index 2ede16e18882..558f3c0e2745 100644
--- a/README.md
+++ b/README.md
@@ -4,29 +4,29 @@
-# Sentry Unplugin (WIP)
+# Sentry Bundler Plugins (WIP)
**WARNING: This project is work in progress! Do not yet use it in production. We're happy to receive your feedback!**
-Universal Sentry plugin for various JavaScript bundlers. Based on [unjs/uplugin](https://github.com/unjs/unplugin). Currently supports Rollup, Vite, esbuild, Webpack 4 and Webpack 5.
+Universal Sentry plugin for various JavaScript bundlers. Based on [unjs/uplugin](https://github.com/getsentry/bundler-plugins). Currently supports Rollup, Vite, esbuild, Webpack 4 and Webpack 5.
Check out the individual packages for more information and examples:
-- [Rollup](https://github.com/getsentry/sentry-unplugin/tree/main/packages/rollup-plugin)
-- [Vite](https://github.com/getsentry/sentry-unplugin/tree/main/packages/vite-plugin)
-- [esbuild](https://github.com/getsentry/sentry-unplugin/tree/main/packages/esbuild-plugin)
-- [Webpack](https://github.com/getsentry/sentry-unplugin/tree/main/packages/webpack-plugin)
+- [Rollup](https://github.com/getsentry/bundler-plugins/tree/main/packages/rollup-plugin)
+- [Vite](https://github.com/getsentry/bundler-plugins/tree/main/packages/vite-plugin)
+- [esbuild](https://github.com/getsentry/bundler-plugins/tree/main/packages/esbuild-plugin)
+- [Webpack](https://github.com/getsentry/bundler-plugins/tree/main/packages/webpack-plugin)
### Features
-The Sentry Unplugin take care of Sentry-related tasks at build time of your JavaScript projects. It supports the following features:
+The Sentry Bundler Plugins take care of Sentry-related tasks at build time of your JavaScript projects. It supports the following features:
- Sourcemap upload
- Release creation in Sentry
- Automatic release name discovery (based on CI environment - Vercel, AWS, Heroku, CircleCI, or current Git SHA)
- Automatically associate errors with releases (Release injection)
-The Sentry Unplugin can be used as a replacement of [Sentry CLI](https://docs.sentry.io/learn/cli/) for these tasks.
+The Sentry Bundler Plugins can be used as a replacement of [Sentry CLI](https://docs.sentry.io/learn/cli/) for these tasks.
### More information
diff --git a/package.json b/package.json
index 234b48708487..975fa2dddeb6 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
"name": "@sentry/bundler-plugins",
"version": "0.0.0",
"description": "Sentry Bundler Plugins Monorepo.",
- "repository": "git@github.com:getsentry/sentry-unplugin.git",
+ "repository": "git@github.com:getsentry/bundler-plugins.git",
"private": true,
"workspaces": [
"packages/*"
diff --git a/packages/bundler-plugin-core/README.md b/packages/bundler-plugin-core/README.md
index 5c41bd0051bf..b95d143afb25 100644
--- a/packages/bundler-plugin-core/README.md
+++ b/packages/bundler-plugin-core/README.md
@@ -12,10 +12,10 @@ Core package containing the bundler-agnostic functionality used by the bundler p
Check out the individual packages for more information and examples:
-- [Rollup](https://github.com/getsentry/sentry-unplugin/tree/main/packages/rollup-plugin)
-- [Vite](https://github.com/getsentry/sentry-unplugin/tree/main/packages/vite-plugin)
-- [esbuild](https://github.com/getsentry/sentry-unplugin/tree/main/packages/esbuild-plugin)
-- [Webpack](https://github.com/getsentry/sentry-unplugin/tree/main/packages/webpack-plugin)
+- [Rollup](https://github.com/getsentry/bundler-plugins/tree/main/packages/rollup-plugin)
+- [Vite](https://github.com/getsentry/bundler-plugins/tree/main/packages/vite-plugin)
+- [esbuild](https://github.com/getsentry/bundler-plugins/tree/main/packages/esbuild-plugin)
+- [Webpack](https://github.com/getsentry/bundler-plugins/tree/main/packages/webpack-plugin)
### Features
diff --git a/packages/bundler-plugin-core/package.json b/packages/bundler-plugin-core/package.json
index 6bf3e921229e..5ec1c34e5dc5 100644
--- a/packages/bundler-plugin-core/package.json
+++ b/packages/bundler-plugin-core/package.json
@@ -1,7 +1,7 @@
{
"name": "@sentry/bundler-plugin-core",
"version": "0.0.0-alpha.0",
- "description": "Official Sentry unplugin",
+ "description": "Sentry Bundler Plugin Core",
"repository": "git://github.com/getsentry/sentry-unplugin.git",
"homepage": "https://github.com/getsentry/sentry-unplugin",
"author": "Sentry",
@@ -47,7 +47,7 @@
"@rollup/plugin-node-resolve": "13.3.0",
"@rollup/plugin-replace": "^4.0.0",
"@sentry-internal/eslint-config": "0.0.0-alpha.0",
- "@sentry-internal/sentry-unplugin-tsconfig": "0.0.0-alpha.0",
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.0.0-alpha.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
diff --git a/packages/bundler-plugin-core/src/index.ts b/packages/bundler-plugin-core/src/index.ts
index 841fe1bc98b5..5ca37107676b 100644
--- a/packages/bundler-plugin-core/src/index.ts
+++ b/packages/bundler-plugin-core/src/index.ts
@@ -132,13 +132,13 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
*/
buildStart() {
transaction = sentryHub.startTransaction({
- op: "sentry-unplugin",
- name: "plugin-execution",
+ op: "function.plugin",
+ name: "Sentry Bundler Plugin execution",
});
releaseInjectionSpan = addSpanToTransaction(
{ hub: sentryHub, parentSpan: transaction, logger },
- "release-injection",
- "release-injection"
+ "function.plugin.inject_release",
+ "Release injection"
);
},
@@ -278,8 +278,8 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
transaction &&
addSpanToTransaction(
{ hub: sentryHub, parentSpan: transaction, logger },
- "release-creation",
- "release-creation-pipeline"
+ "function.plugin.release",
+ "Release pipeline"
);
const release = getReleaseName(options.release);
diff --git a/packages/bundler-plugin-core/src/sentry/api.ts b/packages/bundler-plugin-core/src/sentry/api.ts
index 17cfd2994828..a9d57c40d5a4 100644
--- a/packages/bundler-plugin-core/src/sentry/api.ts
+++ b/packages/bundler-plugin-core/src/sentry/api.ts
@@ -5,7 +5,7 @@ import { Options } from "../types";
import { captureMinimalError } from "./telemetry";
const API_PATH = "/api/0";
-const USER_AGENT = `sentry-unplugin/${__PACKAGE_VERSION__}`;
+const USER_AGENT = `sentry-bundler-plugin/${__PACKAGE_VERSION__}`;
const sentryApiAxiosInstance = ({
authToken,
diff --git a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
index 380fcb840d40..c8e31b4fb3ae 100644
--- a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
+++ b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
@@ -16,7 +16,7 @@ export async function createNewRelease(
options: Options,
ctx: BuildContext
): Promise {
- const span = addSpanToTransaction(ctx, "create-new-release");
+ const span = addSpanToTransaction(ctx, "function.plugin.create_release");
// TODO: pull these checks out of here and simplify them
if (options.authToken === undefined) {
@@ -54,7 +54,7 @@ export async function uploadSourceMaps(
options: Options,
ctx: BuildContext
): Promise {
- const span = addSpanToTransaction(ctx, "upload-sourceMaps");
+ const span = addSpanToTransaction(ctx, "function.plugin.upload_sourcemaps");
// This is what Sentry CLI does:
// TODO: 0. Preprocess source maps
// - (Out of scope for now)
@@ -137,7 +137,7 @@ export async function finalizeRelease(
options: Options,
ctx: BuildContext
): Promise {
- const span = addSpanToTransaction(ctx, "finalize-release");
+ const span = addSpanToTransaction(ctx, "function.plugin.finalize_release");
if (options.finalize) {
const { authToken, org, url, project } = options;
@@ -168,7 +168,7 @@ export async function cleanArtifacts(
options: Options,
ctx: BuildContext
): Promise {
- const span = addSpanToTransaction(ctx, "clean-artifacts");
+ const span = addSpanToTransaction(ctx, "function.plugin.clean_artifacts");
if (options.cleanArtifacts) {
// TODO: pull these checks out of here and simplify them
@@ -209,7 +209,7 @@ export async function setCommits(
/* version: string, */
ctx: BuildContext
): Promise {
- const span = addSpanToTransaction(ctx, "set-commits");
+ const span = addSpanToTransaction(ctx, "function.plugin.set_commits");
span?.finish();
return Promise.resolve("Noop");
@@ -219,7 +219,7 @@ export async function addDeploy(
/* version: string, */
ctx: BuildContext
): Promise {
- const span = addSpanToTransaction(ctx, "add-deploy");
+ const span = addSpanToTransaction(ctx, "function.plugin.add_deploy");
span?.finish();
return Promise.resolve("Noop");
diff --git a/packages/bundler-plugin-core/src/tsconfig.json b/packages/bundler-plugin-core/src/tsconfig.json
index ec25fabd5819..2607d6f03246 100644
--- a/packages/bundler-plugin-core/src/tsconfig.json
+++ b/packages/bundler-plugin-core/src/tsconfig.json
@@ -1,6 +1,6 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
- "extends": "@sentry-internal/sentry-unplugin-tsconfig/base-config.json",
+ "extends": "@sentry-internal/sentry-bundler-plugin-tsconfig/base-config.json",
"include": ["./**/*"],
"compilerOptions": {
"esModuleInterop": true,
diff --git a/packages/esbuild-plugin/package.json b/packages/esbuild-plugin/package.json
index 72e60901057f..5ed266ade09b 100644
--- a/packages/esbuild-plugin/package.json
+++ b/packages/esbuild-plugin/package.json
@@ -2,8 +2,8 @@
"name": "@sentry/esbuild-plugin",
"version": "0.0.0-alpha.0",
"description": "Official Sentry esbuild plugin",
- "repository": "git://github.com/getsentry/sentry-unplugin.git",
- "homepage": "https://github.com/getsentry/sentry-unplugin/tree/main/packages/esbuild-plugin",
+ "repository": "git@github.com:getsentry/bundler-plugins.git",
+ "homepage": "https://github.com/getsentry/bundler-plugins/tree/main/packages/esbuild-plugin",
"author": "Sentry",
"license": "MIT",
"keywords": [
@@ -47,7 +47,7 @@
"@rollup/plugin-json": "4.1.0",
"@rollup/plugin-node-resolve": "13.3.0",
"@sentry-internal/eslint-config": "0.0.0-alpha.0",
- "@sentry-internal/sentry-unplugin-tsconfig": "0.0.0-alpha.0",
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.0.0-alpha.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
diff --git a/packages/esbuild-plugin/src/tsconfig.json b/packages/esbuild-plugin/src/tsconfig.json
index 86051fab4936..fd37e1237c42 100644
--- a/packages/esbuild-plugin/src/tsconfig.json
+++ b/packages/esbuild-plugin/src/tsconfig.json
@@ -1,6 +1,6 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
- "extends": "@sentry-internal/sentry-unplugin-tsconfig/base-config.json",
+ "extends": "@sentry-internal/sentry-bundler-plugin-tsconfig/base-config.json",
"include": ["./**/*", "../package.json"],
"compilerOptions": {
"esModuleInterop": true
diff --git a/packages/integration-tests/package.json b/packages/integration-tests/package.json
index 18d5c5f9392b..627ac490a62b 100644
--- a/packages/integration-tests/package.json
+++ b/packages/integration-tests/package.json
@@ -12,7 +12,7 @@
},
"dependencies": {
"@sentry-internal/eslint-config": "0.0.0-alpha.0",
- "@sentry-internal/sentry-unplugin-tsconfig": "0.0.0-alpha.0",
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.0.0-alpha.0",
"@sentry/bundler-plugin-core": "0.0.0-alpha.0",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
diff --git a/packages/integration-tests/tsconfig.json b/packages/integration-tests/tsconfig.json
index c697299a2fcb..79bc94be3707 100644
--- a/packages/integration-tests/tsconfig.json
+++ b/packages/integration-tests/tsconfig.json
@@ -1,6 +1,6 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
- "extends": "@sentry-internal/sentry-unplugin-tsconfig/base-config.json",
+ "extends": "@sentry-internal/sentry-bundler-plugin-tsconfig/base-config.json",
"include": ["./**/*"],
"compilerOptions": {
"esModuleInterop": true,
diff --git a/packages/playground/package.json b/packages/playground/package.json
index e56132160810..311ac62411ce 100644
--- a/packages/playground/package.json
+++ b/packages/playground/package.json
@@ -1,5 +1,5 @@
{
- "name": "@sentry-internal/unplugin-playground",
+ "name": "@sentry-internal/bundler-plugin-playground",
"version": "0.0.0-alpha.0",
"license": "MIT",
"private": true,
diff --git a/packages/rollup-plugin/package.json b/packages/rollup-plugin/package.json
index ef3743a5b944..9a4a067026de 100644
--- a/packages/rollup-plugin/package.json
+++ b/packages/rollup-plugin/package.json
@@ -2,8 +2,8 @@
"name": "@sentry/rollup-plugin",
"version": "0.0.0-alpha.0",
"description": "Official Sentry Rollup plugin",
- "repository": "git://github.com/getsentry/sentry-unplugin.git",
- "homepage": "https://github.com/getsentry/sentry-unplugin/tree/main/packages/rollup-plugin",
+ "repository": "git://github.com/getsentry/bundler-plugins.git",
+ "homepage": "https://github.com/getsentry/bundler-plugins/tree/main/packages/rollup-plugin",
"author": "Sentry",
"license": "MIT",
"keywords": [
@@ -48,7 +48,7 @@
"@rollup/plugin-json": "4.1.0",
"@rollup/plugin-node-resolve": "13.3.0",
"@sentry-internal/eslint-config": "0.0.0-alpha.0",
- "@sentry-internal/sentry-unplugin-tsconfig": "0.0.0-alpha.0",
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.0.0-alpha.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
diff --git a/packages/rollup-plugin/src/tsconfig.json b/packages/rollup-plugin/src/tsconfig.json
index 86051fab4936..fd37e1237c42 100644
--- a/packages/rollup-plugin/src/tsconfig.json
+++ b/packages/rollup-plugin/src/tsconfig.json
@@ -1,6 +1,6 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
- "extends": "@sentry-internal/sentry-unplugin-tsconfig/base-config.json",
+ "extends": "@sentry-internal/sentry-bundler-plugin-tsconfig/base-config.json",
"include": ["./**/*", "../package.json"],
"compilerOptions": {
"esModuleInterop": true
diff --git a/packages/tsconfigs/package.json b/packages/tsconfigs/package.json
index 2d9dba9eef95..7fd1c852c3dc 100644
--- a/packages/tsconfigs/package.json
+++ b/packages/tsconfigs/package.json
@@ -1,5 +1,5 @@
{
- "name": "@sentry-internal/sentry-unplugin-tsconfig",
+ "name": "@sentry-internal/sentry-bundler-plugin-tsconfig",
"version": "0.0.0-alpha.0",
"license": "MIT",
"private": true
diff --git a/packages/vite-plugin/package.json b/packages/vite-plugin/package.json
index b476d848a316..416c363cda20 100644
--- a/packages/vite-plugin/package.json
+++ b/packages/vite-plugin/package.json
@@ -2,8 +2,8 @@
"name": "@sentry/vite-plugin",
"version": "0.0.0-alpha.0",
"description": "Official Sentry Vite plugin",
- "repository": "git://github.com/getsentry/sentry-unplugin.git",
- "homepage": "https://github.com/getsentry/sentry-unplugin/tree/main/packages/vite-plugin",
+ "repository": "git://github.com/getsentry/bundler-plugins.git",
+ "homepage": "https://github.com/getsentry/bundler-plugins/tree/main/packages/vite-plugin",
"author": "Sentry",
"license": "MIT",
"keywords": [
@@ -47,7 +47,7 @@
"@rollup/plugin-json": "4.1.0",
"@rollup/plugin-node-resolve": "13.3.0",
"@sentry-internal/eslint-config": "0.0.0-alpha.0",
- "@sentry-internal/sentry-unplugin-tsconfig": "0.0.0-alpha.0",
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.0.0-alpha.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
diff --git a/packages/vite-plugin/src/tsconfig.json b/packages/vite-plugin/src/tsconfig.json
index 86051fab4936..fd37e1237c42 100644
--- a/packages/vite-plugin/src/tsconfig.json
+++ b/packages/vite-plugin/src/tsconfig.json
@@ -1,6 +1,6 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
- "extends": "@sentry-internal/sentry-unplugin-tsconfig/base-config.json",
+ "extends": "@sentry-internal/sentry-bundler-plugin-tsconfig/base-config.json",
"include": ["./**/*", "../package.json"],
"compilerOptions": {
"esModuleInterop": true
diff --git a/packages/webpack-plugin/package.json b/packages/webpack-plugin/package.json
index 3795d0548de9..3f84b3915725 100644
--- a/packages/webpack-plugin/package.json
+++ b/packages/webpack-plugin/package.json
@@ -2,8 +2,8 @@
"name": "@sentry/webpack-plugin",
"version": "0.0.0-alpha.0",
"description": "Official Sentry Webpack plugin",
- "repository": "git://github.com/getsentry/sentry-unplugin.git",
- "homepage": "https://github.com/getsentry/sentry-unplugin/tree/main/packages/webpack-plugin",
+ "repository": "git://github.com/getsentry/bundler-plugins.git",
+ "homepage": "https://github.com/getsentry/bundler-plugins/tree/main/packages/webpack-plugin",
"author": "Sentry",
"license": "MIT",
"keywords": [
@@ -47,7 +47,7 @@
"@rollup/plugin-json": "4.1.0",
"@rollup/plugin-node-resolve": "13.3.0",
"@sentry-internal/eslint-config": "0.0.0-alpha.0",
- "@sentry-internal/sentry-unplugin-tsconfig": "0.0.0-alpha.0",
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.0.0-alpha.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
diff --git a/packages/webpack-plugin/src/tsconfig.json b/packages/webpack-plugin/src/tsconfig.json
index 86051fab4936..fd37e1237c42 100644
--- a/packages/webpack-plugin/src/tsconfig.json
+++ b/packages/webpack-plugin/src/tsconfig.json
@@ -1,6 +1,6 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
- "extends": "@sentry-internal/sentry-unplugin-tsconfig/base-config.json",
+ "extends": "@sentry-internal/sentry-bundler-plugin-tsconfig/base-config.json",
"include": ["./**/*", "../package.json"],
"compilerOptions": {
"esModuleInterop": true
From a8975d67521b7c6d5d52f2a78b1498df1df3b95f Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Thu, 20 Oct 2022 15:19:30 +0200
Subject: [PATCH 052/640] meta: Rename repo to
`sentry-javascript-bundler-plugins` (#57)
---
README.md | 10 +++++-----
package.json | 4 ++--
packages/bundler-plugin-core/README.md | 8 ++++----
packages/esbuild-plugin/package.json | 4 ++--
packages/rollup-plugin/package.json | 4 ++--
packages/vite-plugin/package.json | 4 ++--
packages/webpack-plugin/package.json | 4 ++--
7 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/README.md b/README.md
index 558f3c0e2745..c50a1b04205e 100644
--- a/README.md
+++ b/README.md
@@ -8,14 +8,14 @@
**WARNING: This project is work in progress! Do not yet use it in production. We're happy to receive your feedback!**
-Universal Sentry plugin for various JavaScript bundlers. Based on [unjs/uplugin](https://github.com/getsentry/bundler-plugins). Currently supports Rollup, Vite, esbuild, Webpack 4 and Webpack 5.
+Universal Sentry plugin for various JavaScript bundlers. Based on [unjs/uplugin](https://github.com/unjs/unplugin). Currently supports Rollup, Vite, esbuild, Webpack 4 and Webpack 5.
Check out the individual packages for more information and examples:
-- [Rollup](https://github.com/getsentry/bundler-plugins/tree/main/packages/rollup-plugin)
-- [Vite](https://github.com/getsentry/bundler-plugins/tree/main/packages/vite-plugin)
-- [esbuild](https://github.com/getsentry/bundler-plugins/tree/main/packages/esbuild-plugin)
-- [Webpack](https://github.com/getsentry/bundler-plugins/tree/main/packages/webpack-plugin)
+- [Rollup](https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/rollup-plugin)
+- [Vite](https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/vite-plugin)
+- [esbuild](https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/esbuild-plugin)
+- [Webpack](https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/webpack-plugin)
### Features
diff --git a/package.json b/package.json
index 975fa2dddeb6..a4218e935daa 100644
--- a/package.json
+++ b/package.json
@@ -1,8 +1,8 @@
{
- "name": "@sentry/bundler-plugins",
+ "name": "@sentry/sentry-javascript-bundler-plugins",
"version": "0.0.0",
"description": "Sentry Bundler Plugins Monorepo.",
- "repository": "git@github.com:getsentry/bundler-plugins.git",
+ "repository": "git@github.com:getsentry/sentry-javascript-bundler-plugins.git",
"private": true,
"workspaces": [
"packages/*"
diff --git a/packages/bundler-plugin-core/README.md b/packages/bundler-plugin-core/README.md
index b95d143afb25..bc20d6a3b8f5 100644
--- a/packages/bundler-plugin-core/README.md
+++ b/packages/bundler-plugin-core/README.md
@@ -12,10 +12,10 @@ Core package containing the bundler-agnostic functionality used by the bundler p
Check out the individual packages for more information and examples:
-- [Rollup](https://github.com/getsentry/bundler-plugins/tree/main/packages/rollup-plugin)
-- [Vite](https://github.com/getsentry/bundler-plugins/tree/main/packages/vite-plugin)
-- [esbuild](https://github.com/getsentry/bundler-plugins/tree/main/packages/esbuild-plugin)
-- [Webpack](https://github.com/getsentry/bundler-plugins/tree/main/packages/webpack-plugin)
+- [Rollup](https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/rollup-plugin)
+- [Vite](https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/vite-plugin)
+- [esbuild](https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/esbuild-plugin)
+- [Webpack](https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/webpack-plugin)
### Features
diff --git a/packages/esbuild-plugin/package.json b/packages/esbuild-plugin/package.json
index 5ed266ade09b..0dbb96a875ee 100644
--- a/packages/esbuild-plugin/package.json
+++ b/packages/esbuild-plugin/package.json
@@ -2,8 +2,8 @@
"name": "@sentry/esbuild-plugin",
"version": "0.0.0-alpha.0",
"description": "Official Sentry esbuild plugin",
- "repository": "git@github.com:getsentry/bundler-plugins.git",
- "homepage": "https://github.com/getsentry/bundler-plugins/tree/main/packages/esbuild-plugin",
+ "repository": "git@github.com:getsentry/sentry-javascript-bundler-plugins.git",
+ "homepage": "https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/esbuild-plugin",
"author": "Sentry",
"license": "MIT",
"keywords": [
diff --git a/packages/rollup-plugin/package.json b/packages/rollup-plugin/package.json
index 9a4a067026de..774c785f1d4f 100644
--- a/packages/rollup-plugin/package.json
+++ b/packages/rollup-plugin/package.json
@@ -2,8 +2,8 @@
"name": "@sentry/rollup-plugin",
"version": "0.0.0-alpha.0",
"description": "Official Sentry Rollup plugin",
- "repository": "git://github.com/getsentry/bundler-plugins.git",
- "homepage": "https://github.com/getsentry/bundler-plugins/tree/main/packages/rollup-plugin",
+ "repository": "git://github.com/getsentry/sentry-javascript-bundler-plugins.git",
+ "homepage": "https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/rollup-plugin",
"author": "Sentry",
"license": "MIT",
"keywords": [
diff --git a/packages/vite-plugin/package.json b/packages/vite-plugin/package.json
index 416c363cda20..92083ec68fbc 100644
--- a/packages/vite-plugin/package.json
+++ b/packages/vite-plugin/package.json
@@ -2,8 +2,8 @@
"name": "@sentry/vite-plugin",
"version": "0.0.0-alpha.0",
"description": "Official Sentry Vite plugin",
- "repository": "git://github.com/getsentry/bundler-plugins.git",
- "homepage": "https://github.com/getsentry/bundler-plugins/tree/main/packages/vite-plugin",
+ "repository": "git://github.com/getsentry/sentry-javascript-bundler-plugins.git",
+ "homepage": "https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/vite-plugin",
"author": "Sentry",
"license": "MIT",
"keywords": [
diff --git a/packages/webpack-plugin/package.json b/packages/webpack-plugin/package.json
index 3f84b3915725..21f0617a6840 100644
--- a/packages/webpack-plugin/package.json
+++ b/packages/webpack-plugin/package.json
@@ -2,8 +2,8 @@
"name": "@sentry/webpack-plugin",
"version": "0.0.0-alpha.0",
"description": "Official Sentry Webpack plugin",
- "repository": "git://github.com/getsentry/bundler-plugins.git",
- "homepage": "https://github.com/getsentry/bundler-plugins/tree/main/packages/webpack-plugin",
+ "repository": "git://github.com/getsentry/sentry-javascript-bundler-plugins.git",
+ "homepage": "https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/webpack-plugin",
"author": "Sentry",
"license": "MIT",
"keywords": [
From 6977e411170155e88e5f13a8ee661fadb6a99fd6 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Thu, 20 Oct 2022 15:26:20 +0200
Subject: [PATCH 053/640] feat(publish): Add GHA and Craft configs (#55)
This adds a few files to set up Craft and our release process.
- New GHA `release` workflow
- Upload artifacts job
- Craft config
---
.craft.yml | 17 ++++++++++++++++
.github/workflows/checks.yml | 38 ++++++++++++++++++++++++++++++++++-
.github/workflows/release.yml | 30 +++++++++++++++++++++++++++
3 files changed, 84 insertions(+), 1 deletion(-)
create mode 100644 .craft.yml
create mode 100644 .github/workflows/release.yml
diff --git a/.craft.yml b/.craft.yml
new file mode 100644
index 000000000000..56e26bd00693
--- /dev/null
+++ b/.craft.yml
@@ -0,0 +1,17 @@
+github:
+ owner: getsentry
+ repo: bundler-plugins
+changelogPolicy: simple
+preReleaseCommand: bash scripts/craft-pre-release.sh
+requireNames:
+ - /^sentry-bundler-plugin-core--*.tgz$/
+ - /^sentry-esbuild-plugin-*.tgz$/
+ - /^sentry-rollup-plugin-*.tgz$/
+ - /^sentry-vite-plugin-*.tgz$/
+ # TODO: Comment in when we replace the webpack plugin
+ # - /^sentry-webpack-plugin-*.tgz$/
+targets:
+ - name: github
+ includeNames: /^sentry-.*.tgz$/
+ - name: npm
+ includeNames: /^sentry-.*.tgz$/
diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml
index e71cd7a401fa..dee7a2c211a5 100644
--- a/.github/workflows/checks.yml
+++ b/.github/workflows/checks.yml
@@ -2,10 +2,13 @@ name: Checks
on:
push:
- branches: [main]
+ branches:
+ - main
+ - release/**
pull_request:
env:
+ # We pin the exact version to enforce reproducable builds with node + npm.
DEFAULT_NODE_VERSION: "16.15.1"
jobs:
@@ -66,3 +69,36 @@ jobs:
node-version: ${{ env.DEFAULT_NODE_VERSION }}
- run: yarn --frozen-lockfile
- run: yarn lint
+
+ artifacts:
+ needs: build
+ name: Upload Artifacts
+ runs-on: ubuntu-latest
+ # Build artifacts are only needed for releasing workflow.
+ # TODO comment back in
+ # if: startsWith(github.ref, 'refs/heads/release/')
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-node@v3
+ with:
+ node-version: ${{ env.DEFAULT_NODE_VERSION }}
+ # - name: Check dependency cache
+ # uses: actions/cache@v3
+ # with:
+ # path: ${{ env.CACHED_DEPENDENCY_PATHS }}
+ # key: ${{ needs.job_build.outputs.dependency_cache_key }}
+ # - name: Check build cache
+ # uses: actions/cache@v3
+ # with:
+ # path: ${{ env.CACHED_BUILD_PATHS }}
+ # key: ${{ env.BUILD_CACHE_KEY }}
+ - run: yarn --frozen-lockfile
+ - name: pack
+ run: yarn build:npm
+ - name: archive artifacts
+ uses: actions/upload-artifact@v3
+ with:
+ name: ${{ github.sha }}
+ path: |
+ ${{ github.workspace }}/packages/*/dist/**
+ ${{ github.workspace }}/packages/**/*.tgz
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 000000000000..15eea42568e2
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,30 @@
+name: Prepare Release
+on:
+ workflow_dispatch:
+ inputs:
+ version:
+ description: Version to release
+ required: true
+ force:
+ description: Force a release even when there are release-blockers (optional)
+ required: false
+ merge_target:
+ description: Target branch to merge into. Uses the default branch as a fallback (optional)
+ required: false
+jobs:
+ release:
+ runs-on: ubuntu-latest
+ name: "Release a new version"
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ token: ${{ secrets.GH_RELEASE_PAT }}
+ fetch-depth: 0
+ - name: Prepare release
+ uses: getsentry/action-prepare-release@v1
+ env:
+ GITHUB_TOKEN: ${{ secrets.GH_RELEASE_PAT }}
+ with:
+ version: ${{ github.event.inputs.version }}
+ force: ${{ github.event.inputs.force }}
+ merge_target: ${{ github.event.inputs.merge_target }}
From 23fa0b963e73a576fbf12271a5760c9b706e4ca6 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Thu, 20 Oct 2022 17:09:35 +0200
Subject: [PATCH 054/640] fix(publish): Correct craft requireNames config (#59)
---
.craft.yml | 6 +++---
CHANGELOG.md | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/.craft.yml b/.craft.yml
index 56e26bd00693..146958da1c87 100644
--- a/.craft.yml
+++ b/.craft.yml
@@ -4,12 +4,12 @@ github:
changelogPolicy: simple
preReleaseCommand: bash scripts/craft-pre-release.sh
requireNames:
- - /^sentry-bundler-plugin-core--*.tgz$/
+ - /^sentry-bundler-plugin-core-*.tgz$/
- /^sentry-esbuild-plugin-*.tgz$/
- /^sentry-rollup-plugin-*.tgz$/
- /^sentry-vite-plugin-*.tgz$/
- # TODO: Comment in when we replace the webpack plugin
- # - /^sentry-webpack-plugin-*.tgz$/
+# TODO: Comment in when we replace the webpack plugin
+# - /^sentry-webpack-plugin-*.tgz$/
targets:
- name: github
includeNames: /^sentry-.*.tgz$/
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a7c3d479274b..478db95e7709 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,7 +4,7 @@
- "You know what they say ‘Fool me once, strike one, but fool me twice… strike three.’" — Michael Scott
-## 0.0.0-alpha.0
+## 0.0.1-alpha.0
This release marks the first release of the Sentry bundler blugins. This is still a heavy work in progress and a lot of things are still missing and subject to change
From 18d0392613ea26a5da90c6abd7c49ddeb22e91a8 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Thu, 20 Oct 2022 17:15:42 +0200
Subject: [PATCH 055/640] chore: Add CONTRIBUTING file (#58)
add a slightly changed version of the JS SDK's CONTRIBUTION.md guide
Co-authored-by: Luca Forstner
---
CONTRIBUTING.md | 90 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 90 insertions(+)
create mode 100644 CONTRIBUTING.md
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 000000000000..6f6d82e80d4e
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+# Contributing
+
+We welcome suggested improvements and bug fixes to the `@sentry/*` family of packages, in the form of pull requests on [`GitHub`](https://github.com/getsentry/sentry-javascript-bundler-plugins). The guide below will help you get started, but if you have further questions, please feel free to reach out on [Discord](https://discord.gg/Ww9hbqr).
+
+## Setting up an Environment
+
+To run the test suite and our code linter, node.js and yarn are required.
+
+[`node` download](https://nodejs.org/download)
+[`yarn` download](https://yarnpkg.com/en/docs/install)
+
+`sentry-javascript-bundler-plugins` is a monorepo containing several packages, and we use `nx` to manage them. To get started, install all dependencies and then perform an initial build.
+
+```
+$ yarn
+$ yarn build
+```
+
+With that, the repo is fully set up and you are ready to run all commands.
+
+## Building Packages
+
+Since we are using [`TypeScript`](https://www.typescriptlang.org/), you need to transpile the code to JavaScript to be able to use it. From the top level of the repo, there are three commands available:
+
+- `yarn build`, which runs a one-time build (transpiling and type generation) of every package
+- `yarn build:watch`, which runs the command listed above in watch mode, meaning the command is re-executed after every file change
+
+## Adding Tests
+
+**Any nontrivial fixes/features should include tests.** You'll find a `test` folder in each package.
+
+## Running Tests
+
+Running tests works the same way as building - running `yarn test` at the project root will run tests for all packages, and running `yarn test` in a specific package will run tests for that package. There are also commands to run subsets of the tests in each location. Check out the `scripts` entry of the corresponding `package.json` for details.
+
+## Linting
+
+Similar to building and testing, linting can be done in the project root or in individual packages by calling `yarn lint`.
+
+## Considerations Before Sending Your First PR
+
+When contributing to the codebase, please note:
+
+- Non-trivial PRs will not be accepted without tests (see above).
+ If you need assistance in writing tests, feel free to reach out to us.
+- Please do not bump version numbers yourself.
+
+## PR reviews
+
+For feedback in PRs, we use the [LOGAF scale](https://blog.danlew.net/2020/04/15/the-logaf-scale/) to specify how important a comment is:
+
+- `l`: low - nitpick. You may address this comment, but you don't have to.
+- `m`: medium - normal comment. Worth addressing and fixing.
+- `h`: high - Very important. We must not merge this PR without addressing this issue.
+
+You only need one approval from a maintainer to be able to merge. For some PRs, asking specific or multiple people for review might be adequate.
+
+Our different types of reviews:
+
+1. **LGTM without any comments.** You can merge immediately.
+2. **LGTM with low and medium comments.** The reviewer trusts you to resolve these comments yourself, and you don't need to wait for another approval.
+3. **Only comments.** You must address all the comments and need another review until you merge.
+4. **Request changes.** Only use if something critical is in the PR that absolutely must be addressed. We usually use `h` comments for that. When someone requests changes, the same person must approve the changes to allow merging. Use this sparingly.
+
+## Publishing a Release
+
+_These steps are only relevant to Sentry employees when preparing and publishing a new SDK release._
+
+1. Determine what version will be released (we use [semver](https://semver.org)).
+2. Update [`CHANGELOG.md`](https://github.com/getsentry/sentry-javascript-bundler-plugins/edit/master/CHANGELOG.md) to add an entry for the next release number and a list of changes since the last release. (See details below.)
+3. Run the [Prepare Release](https://github.com/getsentry/sentry-javascript-bundler-plugins/actions/workflows/release.yml) workflow.
+4. A new issue should appear in https://github.com/getsentry/publish/issues.
+5. Ask a member of the [@getsentry/releases team](https://github.com/orgs/getsentry/teams/releases/members) to approve the release.
+
+### Updating the Changelog
+
+1. Create a new branch.
+2. Run `git log --format="- %s"` and copy everything since the last release.
+3. Create a new section in the changelog, deciding based on the changes whether it should be a minor bump or a patch release.
+4. Paste in the logs you copied earlier.
+5. Delete any which aren't user-facing changes.
+6. Alphabetize the rest.
+7. If any of the PRs are from external contributors, include underneath the commits `Work in this release contributed by . Thank you for your contributions!`. If there's only one external PR, don't forget to remove the final `s`. If there are three or more, use an Oxford comma. (It's in the Sentry styleguide!)
+8. Commit, push, and open a PR with the title `meta: Update changelog for `.
From f80128d68f28d9806344ae5a2b1e659807954f08 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Thu, 20 Oct 2022 17:42:15 +0200
Subject: [PATCH 056/640] fix(publish): Fix regex in craft.yml
---
.craft.yml | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/.craft.yml b/.craft.yml
index 146958da1c87..88dfd5ac1e62 100644
--- a/.craft.yml
+++ b/.craft.yml
@@ -4,10 +4,10 @@ github:
changelogPolicy: simple
preReleaseCommand: bash scripts/craft-pre-release.sh
requireNames:
- - /^sentry-bundler-plugin-core-*.tgz$/
- - /^sentry-esbuild-plugin-*.tgz$/
- - /^sentry-rollup-plugin-*.tgz$/
- - /^sentry-vite-plugin-*.tgz$/
+ - /^sentry-bundler-plugin-core-.*\.tgz$/
+ - /^sentry-esbuild-plugin-.*\.tgz$/
+ - /^sentry-rollup-plugin-.*\.tgz$/
+ - /^sentry-vite-plugin-.*\.tgz$/
# TODO: Comment in when we replace the webpack plugin
# - /^sentry-webpack-plugin-*.tgz$/
targets:
From 3dc95c1434993ba7b3f8098b2765a073e50133fe Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Fri, 21 Oct 2022 10:15:25 +0200
Subject: [PATCH 057/640] fix(publish): Rename repo in craft config (#63)
Adjust the repo name in .craft.yml to the current (and hopefully final) repo name
---
.craft.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.craft.yml b/.craft.yml
index 88dfd5ac1e62..a970baac1043 100644
--- a/.craft.yml
+++ b/.craft.yml
@@ -1,6 +1,6 @@
github:
owner: getsentry
- repo: bundler-plugins
+ repo: sentry-javascript-bundler-plugins
changelogPolicy: simple
preReleaseCommand: bash scripts/craft-pre-release.sh
requireNames:
From 607112c4ef649897c6b61f3c68ab7304f0e18872 Mon Sep 17 00:00:00 2001
From: getsentry-bot
Date: Fri, 21 Oct 2022 08:29:50 +0000
Subject: [PATCH 058/640] release: 0.0.1-alpha.0
---
lerna.json | 2 +-
packages/bundler-plugin-core/package.json | 6 +++---
packages/esbuild-plugin/package.json | 8 ++++----
packages/eslint-configs/package.json | 2 +-
packages/integration-tests/package.json | 8 ++++----
packages/playground/package.json | 4 ++--
packages/rollup-plugin/package.json | 8 ++++----
packages/tsconfigs/package.json | 2 +-
packages/vite-plugin/package.json | 8 ++++----
packages/webpack-plugin/package.json | 8 ++++----
10 files changed, 28 insertions(+), 28 deletions(-)
diff --git a/lerna.json b/lerna.json
index c718d2ad8280..b537b4f9cbc3 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
{
- "version": "0.0.0-alpha.0",
+ "version": "0.0.1-alpha.0",
"packages": "packages/*",
"npmClient": "yarn",
"useWorkspaces": true
diff --git a/packages/bundler-plugin-core/package.json b/packages/bundler-plugin-core/package.json
index 5ec1c34e5dc5..d8e14ca88068 100644
--- a/packages/bundler-plugin-core/package.json
+++ b/packages/bundler-plugin-core/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry/bundler-plugin-core",
- "version": "0.0.0-alpha.0",
+ "version": "0.0.1-alpha.0",
"description": "Sentry Bundler Plugin Core",
"repository": "git://github.com/getsentry/sentry-unplugin.git",
"homepage": "https://github.com/getsentry/sentry-unplugin",
@@ -46,8 +46,8 @@
"@rollup/plugin-json": "4.1.0",
"@rollup/plugin-node-resolve": "13.3.0",
"@rollup/plugin-replace": "^4.0.0",
- "@sentry-internal/eslint-config": "0.0.0-alpha.0",
- "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.0.0-alpha.0",
+ "@sentry-internal/eslint-config": "0.0.1-alpha.0",
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.0.1-alpha.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
diff --git a/packages/esbuild-plugin/package.json b/packages/esbuild-plugin/package.json
index 0dbb96a875ee..98ad45e891c6 100644
--- a/packages/esbuild-plugin/package.json
+++ b/packages/esbuild-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry/esbuild-plugin",
- "version": "0.0.0-alpha.0",
+ "version": "0.0.1-alpha.0",
"description": "Official Sentry esbuild plugin",
"repository": "git@github.com:getsentry/sentry-javascript-bundler-plugins.git",
"homepage": "https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/esbuild-plugin",
@@ -36,7 +36,7 @@
"lint": "eslint ./src ./test"
},
"dependencies": {
- "@sentry/bundler-plugin-core": "0.0.0-alpha.0"
+ "@sentry/bundler-plugin-core": "0.0.1-alpha.0"
},
"devDependencies": {
"@babel/core": "7.18.5",
@@ -46,8 +46,8 @@
"@rollup/plugin-commonjs": "22.0.1",
"@rollup/plugin-json": "4.1.0",
"@rollup/plugin-node-resolve": "13.3.0",
- "@sentry-internal/eslint-config": "0.0.0-alpha.0",
- "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.0.0-alpha.0",
+ "@sentry-internal/eslint-config": "0.0.1-alpha.0",
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.0.1-alpha.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
diff --git a/packages/eslint-configs/package.json b/packages/eslint-configs/package.json
index ffa9d598b643..59984ab1b449 100644
--- a/packages/eslint-configs/package.json
+++ b/packages/eslint-configs/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry-internal/eslint-config",
- "version": "0.0.0-alpha.0",
+ "version": "0.0.1-alpha.0",
"license": "MIT",
"private": true,
"peerDependencies": {
diff --git a/packages/integration-tests/package.json b/packages/integration-tests/package.json
index 627ac490a62b..31f5556b5c35 100644
--- a/packages/integration-tests/package.json
+++ b/packages/integration-tests/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry-internal/integration-tests",
- "version": "0.0.0-alpha.0",
+ "version": "0.0.1-alpha.0",
"license": "MIT",
"private": true,
"scripts": {
@@ -11,9 +11,9 @@
"check:types": "tsc --project ./tsconfig.json --noEmit"
},
"dependencies": {
- "@sentry-internal/eslint-config": "0.0.0-alpha.0",
- "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.0.0-alpha.0",
- "@sentry/bundler-plugin-core": "0.0.0-alpha.0",
+ "@sentry-internal/eslint-config": "0.0.1-alpha.0",
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.0.1-alpha.0",
+ "@sentry/bundler-plugin-core": "0.0.1-alpha.0",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
"@types/webpack4": "npm:@types/webpack@4.41.32",
diff --git a/packages/playground/package.json b/packages/playground/package.json
index 311ac62411ce..2741911f002c 100644
--- a/packages/playground/package.json
+++ b/packages/playground/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry-internal/bundler-plugin-playground",
- "version": "0.0.0-alpha.0",
+ "version": "0.0.1-alpha.0",
"license": "MIT",
"private": true,
"scripts": {
@@ -14,9 +14,9 @@
"start:proxyLogger": "ts-node scripts/request-logger-proxy.ts"
},
"dependencies": {
+ "@sentry/bundler-plugin-core": "0.0.1-alpha.0",
"@sentry/integrations": "^7.11.1",
"@sentry/node": "^7.11.1",
- "@sentry/bundler-plugin-core": "0.0.0-alpha.0",
"@types/express": "^4.17.13",
"@types/http-proxy": "^1.17.9",
"esbuild": "0.14.49",
diff --git a/packages/rollup-plugin/package.json b/packages/rollup-plugin/package.json
index 774c785f1d4f..08588eefa112 100644
--- a/packages/rollup-plugin/package.json
+++ b/packages/rollup-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry/rollup-plugin",
- "version": "0.0.0-alpha.0",
+ "version": "0.0.1-alpha.0",
"description": "Official Sentry Rollup plugin",
"repository": "git://github.com/getsentry/sentry-javascript-bundler-plugins.git",
"homepage": "https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/rollup-plugin",
@@ -37,7 +37,7 @@
"lint": "eslint ./src ./test"
},
"dependencies": {
- "@sentry/bundler-plugin-core": "0.0.0-alpha.0"
+ "@sentry/bundler-plugin-core": "0.0.1-alpha.0"
},
"devDependencies": {
"@babel/core": "7.18.5",
@@ -47,8 +47,8 @@
"@rollup/plugin-commonjs": "22.0.1",
"@rollup/plugin-json": "4.1.0",
"@rollup/plugin-node-resolve": "13.3.0",
- "@sentry-internal/eslint-config": "0.0.0-alpha.0",
- "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.0.0-alpha.0",
+ "@sentry-internal/eslint-config": "0.0.1-alpha.0",
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.0.1-alpha.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
diff --git a/packages/tsconfigs/package.json b/packages/tsconfigs/package.json
index 7fd1c852c3dc..e3d5e4a3830b 100644
--- a/packages/tsconfigs/package.json
+++ b/packages/tsconfigs/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry-internal/sentry-bundler-plugin-tsconfig",
- "version": "0.0.0-alpha.0",
+ "version": "0.0.1-alpha.0",
"license": "MIT",
"private": true
}
diff --git a/packages/vite-plugin/package.json b/packages/vite-plugin/package.json
index 92083ec68fbc..bfc3bbac0c22 100644
--- a/packages/vite-plugin/package.json
+++ b/packages/vite-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry/vite-plugin",
- "version": "0.0.0-alpha.0",
+ "version": "0.0.1-alpha.0",
"description": "Official Sentry Vite plugin",
"repository": "git://github.com/getsentry/sentry-javascript-bundler-plugins.git",
"homepage": "https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/vite-plugin",
@@ -36,7 +36,7 @@
"lint": "eslint ./src ./test"
},
"dependencies": {
- "@sentry/bundler-plugin-core": "0.0.0-alpha.0"
+ "@sentry/bundler-plugin-core": "0.0.1-alpha.0"
},
"devDependencies": {
"@babel/core": "7.18.5",
@@ -46,8 +46,8 @@
"@rollup/plugin-commonjs": "22.0.1",
"@rollup/plugin-json": "4.1.0",
"@rollup/plugin-node-resolve": "13.3.0",
- "@sentry-internal/eslint-config": "0.0.0-alpha.0",
- "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.0.0-alpha.0",
+ "@sentry-internal/eslint-config": "0.0.1-alpha.0",
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.0.1-alpha.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
diff --git a/packages/webpack-plugin/package.json b/packages/webpack-plugin/package.json
index 21f0617a6840..0b870dc0f0d3 100644
--- a/packages/webpack-plugin/package.json
+++ b/packages/webpack-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry/webpack-plugin",
- "version": "0.0.0-alpha.0",
+ "version": "0.0.1-alpha.0",
"description": "Official Sentry Webpack plugin",
"repository": "git://github.com/getsentry/sentry-javascript-bundler-plugins.git",
"homepage": "https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/webpack-plugin",
@@ -36,7 +36,7 @@
"lint": "eslint ./src ./test"
},
"dependencies": {
- "@sentry/bundler-plugin-core": "0.0.0-alpha.0"
+ "@sentry/bundler-plugin-core": "0.0.1-alpha.0"
},
"devDependencies": {
"@babel/core": "7.18.5",
@@ -46,8 +46,8 @@
"@rollup/plugin-commonjs": "22.0.1",
"@rollup/plugin-json": "4.1.0",
"@rollup/plugin-node-resolve": "13.3.0",
- "@sentry-internal/eslint-config": "0.0.0-alpha.0",
- "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.0.0-alpha.0",
+ "@sentry-internal/eslint-config": "0.0.1-alpha.0",
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.0.1-alpha.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
From 0076936fb2b91da5fa4d357a87c5c63f8415175c Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Fri, 21 Oct 2022 13:28:24 +0200
Subject: [PATCH 059/640] fix(publish): Fix repository and homepage values in
root package.json (#64)
---
package.json | 3 ++-
packages/bundler-plugin-core/package.json | 4 ++--
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/package.json b/package.json
index a4218e935daa..36875dd3038d 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,8 @@
"name": "@sentry/sentry-javascript-bundler-plugins",
"version": "0.0.0",
"description": "Sentry Bundler Plugins Monorepo.",
- "repository": "git@github.com:getsentry/sentry-javascript-bundler-plugins.git",
+ "repository": "git://github.com/getsentry/sentry-javascript-bundler-plugins.git",
+ "homepage": "https://github.com/getsentry/sentry-javascript-bundler-plugins",
"private": true,
"workspaces": [
"packages/*"
diff --git a/packages/bundler-plugin-core/package.json b/packages/bundler-plugin-core/package.json
index d8e14ca88068..97b5f5d81bba 100644
--- a/packages/bundler-plugin-core/package.json
+++ b/packages/bundler-plugin-core/package.json
@@ -2,8 +2,8 @@
"name": "@sentry/bundler-plugin-core",
"version": "0.0.1-alpha.0",
"description": "Sentry Bundler Plugin Core",
- "repository": "git://github.com/getsentry/sentry-unplugin.git",
- "homepage": "https://github.com/getsentry/sentry-unplugin",
+ "repository": "git://github.com/getsentry/sentry-javascript-bundler-plugins.git",
+ "homepage": "https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/bundler-plugin-core",
"author": "Sentry",
"license": "MIT",
"publishConfig": {
From 3ea33a0ccbcf3f5dbca6e37980c10c6ef355f9c1 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Fri, 21 Oct 2022 13:32:45 +0200
Subject: [PATCH 060/640] chore: Add `yarn clean` scripts (#65)
yarn clean and yarn clean:all
---
package.json | 5 ++++-
packages/bundler-plugin-core/package.json | 5 ++++-
packages/esbuild-plugin/package.json | 5 ++++-
packages/eslint-configs/package.json | 4 ++++
packages/integration-tests/package.json | 7 +++++--
packages/playground/package.json | 5 ++++-
packages/rollup-plugin/package.json | 5 ++++-
packages/vite-plugin/package.json | 5 ++++-
packages/webpack-plugin/package.json | 5 ++++-
yarn.lock | 2 +-
10 files changed, 38 insertions(+), 10 deletions(-)
diff --git a/package.json b/package.json
index 36875dd3038d..3be276d6f921 100644
--- a/package.json
+++ b/package.json
@@ -14,6 +14,8 @@
"build:graph": "nx graph",
"build:npm": "nx run-many --target=build:npm --all",
"check:types": "nx run-many --target=check:types --all",
+ "clean": "nx run-many --target=clean --all",
+ "clean:all": "nx run-many --target=clean:all --all && yarn",
"test": "nx run-many --target=test --all",
"lint": "nx run-many --target=lint --all",
"check:formatting": "prettier --check .",
@@ -27,6 +29,7 @@
"lerna": "^6.0.1",
"nx": "14.5.10",
"prettier": "^2.7.1",
- "pretty-quick": "^3.1.3"
+ "pretty-quick": "^3.1.3",
+ "npm-run-all": "^4.1.5"
}
}
diff --git a/packages/bundler-plugin-core/package.json b/packages/bundler-plugin-core/package.json
index 97b5f5d81bba..483debea7ff0 100644
--- a/packages/bundler-plugin-core/package.json
+++ b/packages/bundler-plugin-core/package.json
@@ -26,6 +26,10 @@
"check:types": "run-p check:types:src check:types:test",
"check:types:src": "tsc --project ./src/tsconfig.json --noEmit",
"check:types:test": "tsc --project ./test/tsconfig.json --noEmit",
+ "clean": "run-s clean:build",
+ "clean:all": "run-p clean clean:deps",
+ "clean:build": "rimraf ./dist *.tgz",
+ "clean:deps": "rimraf node_modules",
"test": "jest",
"lint": "eslint ./src ./test"
},
@@ -54,7 +58,6 @@
"@types/node": "^18.6.3",
"eslint": "^8.18.0",
"jest": "^28.1.1",
- "npm-run-all": "^4.1.5",
"rimraf": "^3.0.2",
"rollup": "2.75.7",
"typescript": "^4.7.4"
diff --git a/packages/esbuild-plugin/package.json b/packages/esbuild-plugin/package.json
index 98ad45e891c6..6cfe1b757e0a 100644
--- a/packages/esbuild-plugin/package.json
+++ b/packages/esbuild-plugin/package.json
@@ -32,6 +32,10 @@
"check:types": "run-p check:types:src check:types:test",
"check:types:src": "tsc --project ./src/tsconfig.json --noEmit",
"check:types:test": "tsc --project ./test/tsconfig.json --noEmit",
+ "clean": "run-s clean:build",
+ "clean:all": "run-p clean clean:deps",
+ "clean:build": "rimraf ./dist *.tgz",
+ "clean:deps": "rimraf node_modules",
"test": "jest",
"lint": "eslint ./src ./test"
},
@@ -54,7 +58,6 @@
"@types/node": "^18.6.3",
"eslint": "^8.18.0",
"jest": "^28.1.1",
- "npm-run-all": "^4.1.5",
"rimraf": "^3.0.2",
"rollup": "2.75.7",
"typescript": "^4.7.4"
diff --git a/packages/eslint-configs/package.json b/packages/eslint-configs/package.json
index 59984ab1b449..e10030503f54 100644
--- a/packages/eslint-configs/package.json
+++ b/packages/eslint-configs/package.json
@@ -16,5 +16,9 @@
},
"devDependencies": {
"eslint": "^8.14.0"
+ },
+ "scripts": {
+ "clean:all": "run-s clean:deps",
+ "clean:deps": "rimraf node_modules"
}
}
diff --git a/packages/integration-tests/package.json b/packages/integration-tests/package.json
index 31f5556b5c35..5c969d905b52 100644
--- a/packages/integration-tests/package.json
+++ b/packages/integration-tests/package.json
@@ -8,7 +8,11 @@
"test:setup": "ts-node scripts/run-fixture-setups.ts",
"test:jest": "jest",
"lint": "eslint .",
- "check:types": "tsc --project ./tsconfig.json --noEmit"
+ "check:types": "tsc --project ./tsconfig.json --noEmit",
+ "clean": "run-s clean:build",
+ "clean:all": "run-p clean clean:deps",
+ "clean:build": "rimraf ./fixtures/*/out",
+ "clean:deps": "rimraf node_modules"
},
"dependencies": {
"@sentry-internal/eslint-config": "0.0.1-alpha.0",
@@ -20,7 +24,6 @@
"esbuild": "0.14.49",
"eslint": "^8.18.0",
"jest": "^28.1.3",
- "npm-run-all": "4.1.5",
"rollup": "2.77.0",
"ts-node": "^10.9.1",
"vite": "3.0.0",
diff --git a/packages/playground/package.json b/packages/playground/package.json
index 2741911f002c..5de2792f75b1 100644
--- a/packages/playground/package.json
+++ b/packages/playground/package.json
@@ -11,6 +11,10 @@
"build:webpack5": "node build-webpack5.js",
"build:esbuild": "node build-esbuild.js",
"build:smallNodeApp": "vite build --config vite.config.smallNodeApp.js",
+ "clean": "run-s clean:build",
+ "clean:all": "run-p clean:deps",
+ "clean:build": "rimraf ./out",
+ "clean:deps": "rimraf node_modules",
"start:proxyLogger": "ts-node scripts/request-logger-proxy.ts"
},
"dependencies": {
@@ -22,7 +26,6 @@
"esbuild": "0.14.49",
"express": "^4.18.1",
"http-proxy": "^1.18.1",
- "npm-run-all": "4.1.5",
"rollup": "2.77.0",
"vite": "3.0.0",
"webpack": "5.74.0",
diff --git a/packages/rollup-plugin/package.json b/packages/rollup-plugin/package.json
index 08588eefa112..22f94eeddc37 100644
--- a/packages/rollup-plugin/package.json
+++ b/packages/rollup-plugin/package.json
@@ -33,6 +33,10 @@
"check:types": "run-p check:types:src check:types:test",
"check:types:src": "tsc --project ./src/tsconfig.json --noEmit",
"check:types:test": "tsc --project ./test/tsconfig.json --noEmit",
+ "clean": "run-s clean:build",
+ "clean:all": "run-p clean clean:deps",
+ "clean:build": "rimraf ./dist *.tgz",
+ "clean:deps": "rimraf node_modules",
"test": "jest",
"lint": "eslint ./src ./test"
},
@@ -55,7 +59,6 @@
"@types/node": "^18.6.3",
"eslint": "^8.18.0",
"jest": "^28.1.1",
- "npm-run-all": "^4.1.5",
"rimraf": "^3.0.2",
"rollup": "2.75.7",
"typescript": "^4.7.4"
diff --git a/packages/vite-plugin/package.json b/packages/vite-plugin/package.json
index bfc3bbac0c22..a700f43a3f7f 100644
--- a/packages/vite-plugin/package.json
+++ b/packages/vite-plugin/package.json
@@ -32,6 +32,10 @@
"check:types": "run-p check:types:src check:types:test",
"check:types:src": "tsc --project ./src/tsconfig.json --noEmit",
"check:types:test": "tsc --project ./test/tsconfig.json --noEmit",
+ "clean": "run-s clean:build",
+ "clean:all": "run-p clean clean:deps",
+ "clean:build": "rimraf ./dist *.tgz",
+ "clean:deps": "rimraf node_modules",
"test": "jest",
"lint": "eslint ./src ./test"
},
@@ -54,7 +58,6 @@
"@types/node": "^18.6.3",
"eslint": "^8.18.0",
"jest": "^28.1.1",
- "npm-run-all": "^4.1.5",
"rimraf": "^3.0.2",
"rollup": "2.75.7",
"typescript": "^4.7.4"
diff --git a/packages/webpack-plugin/package.json b/packages/webpack-plugin/package.json
index 0b870dc0f0d3..aed42747a48c 100644
--- a/packages/webpack-plugin/package.json
+++ b/packages/webpack-plugin/package.json
@@ -32,6 +32,10 @@
"check:types": "run-p check:types:src check:types:test",
"check:types:src": "tsc --project ./src/tsconfig.json --noEmit",
"check:types:test": "tsc --project ./test/tsconfig.json --noEmit",
+ "clean": "run-s clean:build",
+ "clean:all": "run-p clean clean:deps",
+ "clean:build": "rimraf ./dist *.tgz",
+ "clean:deps": "rimraf node_modules",
"test": "jest",
"lint": "eslint ./src ./test"
},
@@ -54,7 +58,6 @@
"@types/node": "^18.6.3",
"eslint": "^8.18.0",
"jest": "^28.1.1",
- "npm-run-all": "^4.1.5",
"rimraf": "^3.0.2",
"rollup": "2.75.7",
"typescript": "^4.7.4"
diff --git a/yarn.lock b/yarn.lock
index 5b537dc738c4..7a038a31ea7b 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -9095,7 +9095,7 @@ npm-registry-fetch@^13.0.0, npm-registry-fetch@^13.0.1, npm-registry-fetch@^13.3
npm-package-arg "^9.0.1"
proc-log "^2.0.0"
-npm-run-all@4.1.5, npm-run-all@^4.1.5:
+npm-run-all@^4.1.5:
version "4.1.5"
resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba"
integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==
From 61e91efde921fe66606e0b6bf4c3e5abd626a258 Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Mon, 24 Oct 2022 09:52:49 +0200
Subject: [PATCH 061/640] fix: Use `writeBundle` hook instead of `buildEnd`
(#67)
---
packages/bundler-plugin-core/package.json | 2 +-
packages/bundler-plugin-core/src/index.ts | 8 ++++----
yarn.lock | 18 +++++++++---------
3 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/packages/bundler-plugin-core/package.json b/packages/bundler-plugin-core/package.json
index 483debea7ff0..378e27e949ca 100644
--- a/packages/bundler-plugin-core/package.json
+++ b/packages/bundler-plugin-core/package.json
@@ -39,7 +39,7 @@
"axios": "^0.27.2",
"form-data": "^4.0.0",
"magic-string": "0.26.2",
- "unplugin": "0.9.4"
+ "unplugin": "0.10.1"
},
"devDependencies": {
"@babel/core": "7.18.5",
diff --git a/packages/bundler-plugin-core/src/index.ts b/packages/bundler-plugin-core/src/index.ts
index 5ca37107676b..66f7c8715688 100644
--- a/packages/bundler-plugin-core/src/index.ts
+++ b/packages/bundler-plugin-core/src/index.ts
@@ -80,7 +80,7 @@ const RELEASE_INJECTOR_ID = "\0sentry-release-injector";
*
* Source maps upload:
*
- * The sentry-unplugin will also take care of uploading source maps to Sentry. This is all done in the `buildEnd` hook.
+ * The sentry-unplugin will also take care of uploading source maps to Sentry. This is all done in the `writeBundle` hook.
* TODO: elaborate a bit on how sourcemaps upload works
*/
const unplugin = createUnplugin((originalOptions, unpluginMetaContext) => {
@@ -272,7 +272,7 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
* Responsible for executing the sentry release creation pipeline (i.e. creating a release on
* Sentry.io, uploading sourcemaps, associating commits and deploys and finalizing the release)
*/
- buildEnd() {
+ writeBundle() {
releaseInjectionSpan?.finish();
const releasePipelineSpan =
transaction &&
@@ -285,7 +285,7 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
const release = getReleaseName(options.release);
sentryHub.addBreadcrumb({
- category: "buildEnd:start",
+ category: "writeBundle:start",
level: "info",
});
@@ -320,7 +320,7 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
})
.finally(() => {
sentryHub.addBreadcrumb({
- category: "buildEnd:finish",
+ category: "writeBundle:finish",
level: "info",
});
releasePipelineSpan?.finish();
diff --git a/yarn.lock b/yarn.lock
index 7a038a31ea7b..e304efef8cb2 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -11451,15 +11451,15 @@ unpipe@1.0.0, unpipe@~1.0.0:
resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
-unplugin@0.9.4:
- version "0.9.4"
- resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-0.9.4.tgz#53e6f4fc92905122219af0e3f40af753563d38b6"
- integrity sha512-lUe769wSsZiltVA1Ns9ZRx3K1ri/4yzOrLLI/ebSAj2f0PsXqIJeHIXhkhiayEe1pv+mHuZYyBS3B2RXG2Q2EQ==
+unplugin@0.10.1:
+ version "0.10.1"
+ resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-0.10.1.tgz#e00dc951c1901aef4124121057102a8c290e28b3"
+ integrity sha512-y1hdBitiLOJvCmer0/IGrMGmHplsm2oFRGWleoAJTRQ8aMHxHOe9gLntYlh1WNLKufBuQ2sOTrHF+KWH4xE8Ag==
dependencies:
acorn "^8.8.0"
chokidar "^3.5.3"
webpack-sources "^3.2.3"
- webpack-virtual-modules "^0.4.4"
+ webpack-virtual-modules "^0.4.5"
unset-value@^1.0.0:
version "1.0.0"
@@ -11708,10 +11708,10 @@ webpack-sources@^3.2.3:
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde"
integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
-webpack-virtual-modules@^0.4.4:
- version "0.4.4"
- resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.4.4.tgz#a19fcf371923c59c4712d63d7d194b1e4d8262cc"
- integrity sha512-h9atBP/bsZohWpHnr+2sic8Iecb60GxftXsWNLLLSqewgIsGzByd2gcIID4nXcG+3tNe4GQG3dLcff3kXupdRA==
+webpack-virtual-modules@^0.4.5:
+ version "0.4.5"
+ resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.4.5.tgz#e476842dab5eafb7beb844aa2f747fc12ebbf6ec"
+ integrity sha512-8bWq0Iluiv9lVf9YaqWQ9+liNgXSHICm+rg544yRgGYaR8yXZTVBaHZkINZSB2yZSWo4b0F6MIxqJezVfOEAlg==
"webpack4@npm:webpack@4.46.0":
version "4.46.0"
From f3843b54cf21e22e61e88dd902a314663e49657c Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Mon, 24 Oct 2022 11:35:39 +0200
Subject: [PATCH 062/640] Add all options including JSDoc to `Options` type
(#66)
Add all options + JSDoc from the webpack plugin to our `Options` type.
Changes to Webpack Plugin:
* Remove env variable usage
* Remove configFile property
ref: #62
---
packages/bundler-plugin-core/src/index.ts | 2 +-
.../src/sentry/releasePipeline.ts | 3 +-
packages/bundler-plugin-core/src/types.ts | 314 +++++++++++++++---
.../fixtures/array-entries-option/setup.ts | 7 +-
.../fixtures/basic-release-injection/setup.ts | 3 +-
.../fixtures/function-entries-option/setup.ts | 3 +-
.../fixtures/regex-entries-option/setup.ts | 3 +-
.../fixtures/string-entries-option/setup.ts | 3 +-
8 files changed, 291 insertions(+), 47 deletions(-)
diff --git a/packages/bundler-plugin-core/src/index.ts b/packages/bundler-plugin-core/src/index.ts
index 66f7c8715688..27525fa19c16 100644
--- a/packages/bundler-plugin-core/src/index.ts
+++ b/packages/bundler-plugin-core/src/index.ts
@@ -15,7 +15,7 @@ import { addSpanToTransaction, captureMinimalError, makeSentryClient } from "./s
import { Span, Transaction } from "@sentry/types";
import { createLogger } from "./sentry/logger";
-const defaultOptions: Omit = {
+const defaultOptions: Omit = {
//TODO: add default options here as we port over options from the webpack plugin
// validate: false
debug: false,
diff --git a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
index c8e31b4fb3ae..3643b0301a0b 100644
--- a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
+++ b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
@@ -107,7 +107,8 @@ export async function uploadSourceMaps(
//TODO: Remove this once we have internal options. this property must always be present
const fileExtensions = ext || [];
- const files = getFiles(include, fileExtensions);
+ //TODO: handle include property properly and remove this def. wrong type cast
+ const files = getFiles(include as string, fileExtensions);
ctx.logger.info(`Found ${files.length} files to upload.`);
diff --git a/packages/bundler-plugin-core/src/types.ts b/packages/bundler-plugin-core/src/types.ts
index 392cc950bb12..2481f7ce98ea 100644
--- a/packages/bundler-plugin-core/src/types.ts
+++ b/packages/bundler-plugin-core/src/types.ts
@@ -1,20 +1,61 @@
-//TODO: JsDoc for all properties
-
import { Hub } from "@sentry/hub";
import { Span } from "@sentry/tracing";
import { createLogger } from "./sentry/logger";
-//TODO: compare types w/ webpack plugin (and sentry-cli?)
-export type Options = {
+/**
+ * The main options object holding all plugin options available to users
+ */
+export type Options = Omit & {
/* --- authentication/identification: */
- org?: string;
- project?: string;
- authToken?: string;
+
+ /**
+ * The slug of the Sentry organization associated with the app.
+ *
+ * This is a required field.
+ */
+ org: string;
+
+ /**
+ * The slug of the Sentry project associated with the app.
+ *
+ * This is a required field.
+ */
+ project: string;
+
+ /**
+ * The authentication token to use for all communication with Sentry.
+ * Can be obtained from https://sentry.io/settings/account/api/auth-tokens/.
+ * Required scopes: project:releases (and org:read if setCommits option is used).
+ *
+ * This is a required field.
+ */
+ authToken: string;
+
+ /**
+ * The base URL of your Sentry instance. Use this if you are using a self-hosted
+ * or Sentry instance other than sentry.io.
+ *
+ * Defaults to https://sentry.io/, which is the correct value for SAAS customers.
+ */
url?: string;
/* --- release properties: */
+
+ /**
+ * Unique identifier for the release.
+ *
+ * Defaults to the output of the sentry-cli releases propose-version command,
+ * which automatically detects values for Cordova, Heroku, AWS CodeBuild, CircleCI,
+ * Xcode, and Gradle, and otherwise uses HEAD's commit SHA. (For HEAD option,
+ * requires access to git CLI and for the root directory to be a valid repository).
+ */
release?: string;
- // dist: string,
+
+ /**
+ * Unique identifier for the distribution, used to further segment your release.
+ * Usually your build number.
+ */
+ dist?: string;
/**
* Filter for bundle entry points that should contain the provided release. By default, the release will be injected
@@ -27,34 +68,87 @@ export type Options = {
*/
entries?: (string | RegExp)[] | RegExp | string | ((filePath: string) => boolean);
+ /**
+ * Determines if the Sentry release record should be automatically finalized
+ * (meaning a date_released timestamp is added) after artifact upload.
+ *
+ * Defaults to `true`.
+ */
finalize?: boolean;
/* --- source maps properties: */
- include: string; // | Array;
- // ignoreFile: string
- // ignore: string | string[]
- ext?: string[];
- // urlPrefix: string,
- // urlSuffix: string,
- // validate: boolean
- // stripPrefix?: boolean,
- // stripCommonPrefix?: boolean,
- // sourceMapReference?: boolean,
- // rewrite?: boolean,
+
+ /**
+ * One or more paths that Sentry CLI should scan recursively for sources.
+ * It will upload all .map files and match associated .js files.
+ * Each path can be given as a string or an object with path-specific options
+ *
+ * This is a required field.
+ */
+ include: string | IncludeEntry | Array;
+
+ /**
+ * When `true`, attempts source map validation before upload if rewriting is not enabled.
+ * It will spot a variety of issues with source maps and cancel the upload if any are found.
+ *
+ * Defaults to `false` as this can cause false positives.
+ */
+ validate?: boolean;
/* --- other unimportant (for now) stuff- properties: */
- // vcsRemote: string,
+
+ /**
+ * Version control system remote name.
+ *
+ * Defaults to 'origin'.
+ */
+ vcsRemote?: string;
+
+ /**
+ * A header added to every outgoing network request.
+ * The format should be `header-key: header-value`.
+ *
+ * TODO: This is currently different from the webpack plugin. There, this property is
+ * called `customHeader` and it only accepts one header as a string.
+ * Change in follow-up PR.
+ */
customHeaders?: Record;
- // dryRun?: boolean,
+ /**
+ * Attempts a dry run (useful for dev environments).
+ *
+ * Defaults to `false`, but may be automatically set to `true` in development environments
+ * by some framework integrations (Next.JS, possibly others).
+ */
+ dryRun?: boolean;
+
+ /**
+ * Print useful debug information.
+ *
+ * Defaults to `false`.
+ */
debug?: boolean;
+
+ /**
+ * Suppresses all logs.
+ *
+ * Defaults to `false`.
+ */
silent?: boolean;
+
+ /**
+ * Remove all the artifacts in the release before the upload.
+ *
+ * Defaults to `false`.
+ */
cleanArtifacts?: boolean;
/**
* When an error occurs during rlease creation or sourcemaps upload, the plugin will call this function.
*
- * By default, the plugin will simply throw an error, thereby stopping the bundling process. If an `errorHandler` callback is provided, compilation will continue, unless an error is thrown in the provided callback.
+ * By default, the plugin will simply throw an error, thereby stopping the bundling process.
+ * If an `errorHandler` callback is provided, compilation will continue, unless an error is
+ * thrown in the provided callback.
*
* To allow compilation to continue but still emit a warning, set this option to the following:
*
@@ -65,21 +159,16 @@ export type Options = {
* ```
*/
errorHandler?: (err: Error) => void;
- // setCommits?: {
- // repo?: string,
- // commit?: string,
- // previousCommit?: string,
- // auto?: boolean,
- // ignoreMissing?: boolean
- // },
- // deploy?: {
- // env: string,
- // started?: number,
- // finished?: number,
- // time?: number,
- // name?: string,
- // url?: string,
- // }
+
+ /**
+ * Adds commits to Sentry.
+ */
+ setCommits?: SetCommitsOptions;
+
+ /**
+ * Creates a new release deployment in Sentry.
+ */
+ deploy?: DeployOptions;
/**
* If set to true, internal plugin errors and performance data will be sent to Sentry.
@@ -94,12 +183,157 @@ export type Options = {
telemetry?: boolean;
};
-/*
type IncludeEntry = {
+ /**
+ * One or more paths to scan for files to upload.
+ */
paths: string[];
- //TODO: what about the other entries??
+
+ /**
+ * One or more paths to ignore during upload.
+ * Overrides entries in ignoreFile file.
+ *
+ * Defaults to `['node_modules']` if neither `ignoreFile` nor `ignore` is set.
+ */
+ ignore?: string | string[];
+
+ /**
+ * Path to a file containing list of files/directories to ignore.
+ *
+ * Can point to `.gitignore` or anything with the same format.
+ */
+ ignoreFile?: string;
+
+ /**
+ * Array of file extensions of files to be collected for the file upload.
+ *
+ * By default the following file extensions are processed: js, map, jsbundle and bundle.
+ */
+ ext?: string[];
+
+ /**
+ * URL prefix to add to the beginning of all filenames.
+ * Defaults to '~/' but you might want to set this to the full URL.
+ *
+ * This is also useful if your files are stored in a sub folder. eg: url-prefix '~/static/js'.
+ */
+ urlPrefix?: string;
+
+ /**
+ * URL suffix to add to the end of all filenames.
+ * Useful for appending query parameters.
+ */
+ urlSuffix?: string;
+
+ /**
+ * When paired with the `rewrite`, this will remove a prefix from filename references inside of
+ * sourcemaps. For instance you can use this to remove a path that is build machine specific.
+ * Note that this will NOT change the names of uploaded files.
+ */
+ stripPrefix?: string[];
+
+ /**
+ * When paired with rewrite, this will add `~` to the stripPrefix array.
+ *
+ * Defaults to false.
+ */
+ stripCommonPrefix?: boolean;
+
+ /**
+ * Determines whether sentry-cli should attempt to link minified files with their corresponding maps.
+ * By default, it will match files and maps based on name, and add a Sourcemap header to each minified file
+ * for which it finds a map. Can be disabled if all minified files contain sourceMappingURL.
+ *
+ * Defaults to true.
+ */
+ sourceMapReference?: boolean;
+
+ /**
+ * Enables rewriting of matching source maps so that indexed maps are flattened and missing sources
+ * are inlined if possible.
+ *
+ * Defaults to true
+ */
+ rewrite?: boolean;
+};
+
+type SetCommitsOptions = {
+ /**
+ * Automatically sets `commit` and `previousCommit`. Sets `commit` to `HEAD`
+ * and `previousCommit` as described in the option's documentation.
+ *
+ * If you set this to `true`, manually specified `commit` and `previousCommit`
+ * options will be overridden. It is best to not specify them at all if you
+ * set this option to `true`.
+ */
+ auto?: boolean;
+
+ /**
+ * The full repo name as defined in Sentry.
+ *
+ * Required if `auto` option is not `true`.
+ */
+ repo?: string;
+
+ /**
+ * The current (last) commit in the release.
+ *
+ * Required if `auto` option is not `true`.
+ */
+ commit?: string;
+
+ /**
+ * The commit before the beginning of this release (in other words,
+ * the last commit of the previous release).
+ *
+ * Defaults to the last commit of the previous release in Sentry.
+ *
+ * If there was no previous release, the last 10 commits will be used.
+ */
+ previousCommit?: string;
+
+ /**
+ * If the flag is to `true` and the previous release commit was not found
+ * in the repository, we create a release with the default commits count
+ * instead of failing the command.
+ *
+ * Defaults to `false`.
+ */
+ ignoreMissing?: boolean;
+};
+
+type DeployOptions = {
+ /**
+ * Environment for this release. Values that make sense here would
+ * be `production` or `staging`.
+ */
+ env: string;
+
+ /**
+ * Deployment start time in Unix timestamp (in seconds) or ISO 8601 format.
+ */
+ started?: number;
+
+ /**
+ * Deployment finish time in Unix timestamp (in seconds) or ISO 8601 format.
+ */
+ finished?: number;
+
+ /**
+ * Deployment duration (in seconds). Can be used instead of started and finished.
+ */
+ time?: number;
+
+ /**
+ * Human readable name for the deployment.
+ */
+ name?: string;
+
+ /**
+ * URL that points to the deployment.
+ */
+ url?: string;
};
-*/
/**
* Holds data for internal purposes
diff --git a/packages/integration-tests/fixtures/array-entries-option/setup.ts b/packages/integration-tests/fixtures/array-entries-option/setup.ts
index 5092fe22d781..d12f1b0a3d45 100644
--- a/packages/integration-tests/fixtures/array-entries-option/setup.ts
+++ b/packages/integration-tests/fixtures/array-entries-option/setup.ts
@@ -1,3 +1,4 @@
+import { Options } from "@sentry/bundler-plugin-core";
import * as path from "path";
import { createCjsBundles } from "../../utils/create-cjs-bundles";
@@ -9,5 +10,9 @@ const outputDir = path.resolve(__dirname, "./out");
createCjsBundles(
{ entrypoint1: entryPoint1Path, entrypoint2: entryPoint2Path, entrypoint3: entryPoint3Path },
outputDir,
- { release: "I AM A RELEASE!", include: outputDir, entries: [/entrypoint1\.js/, entryPoint3Path] }
+ {
+ release: "I AM A RELEASE!",
+ include: outputDir,
+ entries: [/entrypoint1\.js/, entryPoint3Path],
+ } as Options
);
diff --git a/packages/integration-tests/fixtures/basic-release-injection/setup.ts b/packages/integration-tests/fixtures/basic-release-injection/setup.ts
index 2cd1f928e046..2d8a42fbb01f 100644
--- a/packages/integration-tests/fixtures/basic-release-injection/setup.ts
+++ b/packages/integration-tests/fixtures/basic-release-injection/setup.ts
@@ -1,3 +1,4 @@
+import { Options } from "@sentry/bundler-plugin-core";
import * as path from "path";
import { createCjsBundles } from "../../utils/create-cjs-bundles";
@@ -7,4 +8,4 @@ const outputDir = path.resolve(__dirname, "./out");
createCjsBundles({ index: entryPointPath }, outputDir, {
release: "I AM A RELEASE!",
include: outputDir,
-});
+} as Options);
diff --git a/packages/integration-tests/fixtures/function-entries-option/setup.ts b/packages/integration-tests/fixtures/function-entries-option/setup.ts
index 58eee0af840d..565b941bbfcf 100644
--- a/packages/integration-tests/fixtures/function-entries-option/setup.ts
+++ b/packages/integration-tests/fixtures/function-entries-option/setup.ts
@@ -1,3 +1,4 @@
+import { Options } from "@sentry/bundler-plugin-core";
import * as path from "path";
import { createCjsBundles } from "../../utils/create-cjs-bundles";
@@ -14,5 +15,5 @@ createCjsBundles(
include: outputDir,
entries: (entrypointPath) =>
entrypointPath === entryPoint1Path || entrypointPath === entryPoint3Path,
- }
+ } as Options
);
diff --git a/packages/integration-tests/fixtures/regex-entries-option/setup.ts b/packages/integration-tests/fixtures/regex-entries-option/setup.ts
index 2dd0ccded728..f5e288173f9f 100644
--- a/packages/integration-tests/fixtures/regex-entries-option/setup.ts
+++ b/packages/integration-tests/fixtures/regex-entries-option/setup.ts
@@ -1,3 +1,4 @@
+import { Options } from "@sentry/bundler-plugin-core";
import * as path from "path";
import { createCjsBundles } from "../../utils/create-cjs-bundles";
@@ -9,4 +10,4 @@ createCjsBundles({ entrypoint1: entryPoint1Path, entrypoint2: entryPoint2Path },
release: "I AM A RELEASE!",
include: outputDir,
entries: /entrypoint1\.js/,
-});
+} as Options);
diff --git a/packages/integration-tests/fixtures/string-entries-option/setup.ts b/packages/integration-tests/fixtures/string-entries-option/setup.ts
index a31f86c736a1..0481189ff48c 100644
--- a/packages/integration-tests/fixtures/string-entries-option/setup.ts
+++ b/packages/integration-tests/fixtures/string-entries-option/setup.ts
@@ -1,3 +1,4 @@
+import { Options } from "@sentry/bundler-plugin-core";
import * as path from "path";
import { createCjsBundles } from "../../utils/create-cjs-bundles";
@@ -9,4 +10,4 @@ createCjsBundles({ entrypoint1: entryPoint1Path, entrypoint2: entryPoint2Path },
release: "I AM A RELEASE!",
include: outputDir,
entries: entryPoint1Path,
-});
+} as Options);
From a3c3ed8da1a6ac689b8ad0fd9f071c2b9f8bdefc Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Mon, 24 Oct 2022 15:25:13 +0200
Subject: [PATCH 063/640] chore: Add MIGRATION.md guide (#68)
Add a `MIGRATION.md` file to our repo to add breaking changes to. Add the two breaking changes we discussed in #66 as a start. We can iterate on this document and adjust/add changes as we progress towards replacing the webpack plugin.
Co-authored-by: Luca Forstner
---
MIGRATION.md | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
create mode 100644 MIGRATION.md
diff --git a/MIGRATION.md b/MIGRATION.md
new file mode 100644
index 000000000000..f2b6a696277e
--- /dev/null
+++ b/MIGRATION.md
@@ -0,0 +1,35 @@
+# Migration Guide
+
+This document serves as a migration guide, documenting all breaking changes between major versions of the Sentry bundler plugins.
+
+## [Unreleased] Upgrading from 1.x to 2.x
+
+Version 2 of `@sentry/webpack-plugin` is a complete rewrite of version 1. Version 2 no longer requires `sentry-cli` underneath, meaning the plugin no longer downloads a binary but implements all its functionality natively.
+
+### Removal of Implicit Environment Variable Usage
+
+Version 2 of the Webpack plugin removes the implicit passing of plugin parameters via environment variables. Previously, it was possible to specify values as environment variables, such as SENTRY_AUTH_TOKEN, but to never mention them in the plugin init options. In this version, you'll have to specify these values in the options. Note that this makes certain option fields explicitly required now which were previously only implicitly required (see [Initialization and Required Values](#initialization-and-required-values)).
+
+### Initialization and Required Values
+
+Previously, to use the plugin, you had to create a new class of the `SentryCLIPlugin` class. In version 2, you simply need to call a function and pass the initialization options to it. Note that in this new version, more options are now explicitly required. Here's an example:
+
+```js
+// old config + environment variables were set for authToken, org and project
+new SentryCliPlugin({
+ include: "./dist",
+});
+
+// new config (you can still use env variables but you need to set them explicitly):
+sentryWebpackPlugin({
+ include: "./dist",
+ authToken: process.env.SENTRY_AUTH_TOKEN,
+ org: process.env.SENTRY_ORG,
+ project: process.env.SENTRY_PROJECT,
+});
+```
+
+### Removal of `configFile` option
+
+Previously, you could set the `configFile` option when initializing the plugin to point `sentry-cli` to its `.sentryclirc` config. Because `sentry-cli` is no longer part of the plugin, this is option was removed.
+If you previously used this option, make sure to specify all required options when intializing the plugin (see [Initialization and Required Values](#initialization-and-required-values)).
From 14bf6306d6e5eb298f3cf49cfe03bc0fb862cb2a Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Tue, 25 Oct 2022 11:02:43 +0200
Subject: [PATCH 064/640] ref: Normalize user options (#69)
---
.../{getReleaseName.ts => detect-release.ts} | 10 +-
packages/bundler-plugin-core/src/index.ts | 62 +++-----
.../src/options-mapping.ts | 132 ++++++++++++++++++
.../src/sentry/releasePipeline.ts | 72 ++++------
packages/bundler-plugin-core/src/types.ts | 2 +-
.../test/getReleaseName.test.ts | 35 ++---
.../test/option-mappings.test.ts | 84 +++++++++++
.../bundler-plugin-core/types.tsconfig.json | 2 +-
8 files changed, 280 insertions(+), 119 deletions(-)
rename packages/bundler-plugin-core/src/{getReleaseName.ts => detect-release.ts} (88%)
create mode 100644 packages/bundler-plugin-core/src/options-mapping.ts
create mode 100644 packages/bundler-plugin-core/test/option-mappings.test.ts
diff --git a/packages/bundler-plugin-core/src/getReleaseName.ts b/packages/bundler-plugin-core/src/detect-release.ts
similarity index 88%
rename from packages/bundler-plugin-core/src/getReleaseName.ts
rename to packages/bundler-plugin-core/src/detect-release.ts
index 70bbfa07ff89..92671227b823 100644
--- a/packages/bundler-plugin-core/src/getReleaseName.ts
+++ b/packages/bundler-plugin-core/src/detect-release.ts
@@ -9,11 +9,7 @@ function getGitBranchHead(): string | undefined {
}
}
-export function getReleaseName(releaseName?: string): string {
- if (releaseName) {
- return releaseName;
- }
-
+export function detectRelease(): string {
// Env var SENTRY_RELEASE takes presendace over other env vars listed below
// this is why we are looking for it before proceeding with others
if (process.env["SENTRY_RELEASE"]) {
@@ -39,6 +35,8 @@ export function getReleaseName(releaseName?: string): string {
if (gitBranchHead) {
return gitBranchHead;
} else {
- throw new Error("Could not return a release name");
+ throw new Error(
+ 'Could not automatically determine release name. Please provide a release identifier via the "release" option.'
+ );
}
}
diff --git a/packages/bundler-plugin-core/src/index.ts b/packages/bundler-plugin-core/src/index.ts
index 27525fa19c16..70633d28b02b 100644
--- a/packages/bundler-plugin-core/src/index.ts
+++ b/packages/bundler-plugin-core/src/index.ts
@@ -1,6 +1,5 @@
import { createUnplugin } from "unplugin";
import MagicString from "magic-string";
-import { getReleaseName } from "./getReleaseName";
import { Options, BuildContext } from "./types";
import {
createNewRelease,
@@ -14,17 +13,7 @@ import "@sentry/tracing";
import { addSpanToTransaction, captureMinimalError, makeSentryClient } from "./sentry/telemetry";
import { Span, Transaction } from "@sentry/types";
import { createLogger } from "./sentry/logger";
-
-const defaultOptions: Omit = {
- //TODO: add default options here as we port over options from the webpack plugin
- // validate: false
- debug: false,
- cleanArtifacts: false,
- finalize: true,
- url: "https://sentry.io",
- ext: ["js", "map", "jsbundle", "bundle"],
- telemetry: true,
-};
+import { normalizeUserOptions } from "./options-mapping";
// We prefix the polyfill id with \0 to tell other plugins not to try to load or transform it.
// This hack is taken straight from https://rollupjs.org/guide/en/#resolveid.
@@ -83,36 +72,33 @@ const RELEASE_INJECTOR_ID = "\0sentry-release-injector";
* The sentry-unplugin will also take care of uploading source maps to Sentry. This is all done in the `writeBundle` hook.
* TODO: elaborate a bit on how sourcemaps upload works
*/
-const unplugin = createUnplugin((originalOptions, unpluginMetaContext) => {
- const options = { ...defaultOptions, ...originalOptions };
-
- //TODO: We can get rid of this variable once we have internal plugin options
- const telemetryEnabled = options.telemetry === true;
+const unplugin = createUnplugin((options, unpluginMetaContext) => {
+ const internalOptions = normalizeUserOptions(options);
const { hub: sentryHub } = makeSentryClient(
"https://4c2bae7d9fbc413e8f7385f55c515d51@o1.ingest.sentry.io/6690737",
- telemetryEnabled,
- options.org
+ internalOptions.telemetry,
+ internalOptions.org
);
const logger = createLogger({
hub: sentryHub,
prefix: `[sentry-${unpluginMetaContext.framework}-plugin]`,
- silent: options.silent,
+ silent: internalOptions.silent,
});
- if (telemetryEnabled) {
+ if (internalOptions.telemetry) {
logger.info("Sending error and performance telemetry data to Sentry.");
logger.info("To disable telemetry, set `options.telemetry` to `false`.");
}
sentryHub.setTags({
- organization: options.org,
- project: options.project,
+ organization: internalOptions.org,
+ project: internalOptions.project,
bundler: unpluginMetaContext.framework,
});
- sentryHub.setUser({ id: options.org });
+ sentryHub.setUser({ id: internalOptions.org });
// This is `nonEntrypointSet` instead of `entrypointSet` because this set is filled in the `resolveId` hook and there
// we don't have guaranteed access to *absolute* paths of files if they're entrypoints. For non-entrypoints we're
@@ -191,7 +177,7 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
});
if (id === RELEASE_INJECTOR_ID) {
- return generateGlobalInjectorCode({ release: getReleaseName(options.release) });
+ return generateGlobalInjectorCode({ release: internalOptions.release });
} else {
return undefined;
}
@@ -211,17 +197,13 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
level: "info",
});
- if (options.entries) {
+ if (internalOptions.entries) {
// If there's an `entries` option transform (ie. inject the release varible) when the file path matches the option.
- if (typeof options.entries === "function") {
- return options.entries(id);
+ if (typeof internalOptions.entries === "function") {
+ return internalOptions.entries(id);
}
- const arrayifiedEntriesOption = Array.isArray(options.entries)
- ? options.entries
- : [options.entries];
-
- return arrayifiedEntriesOption.some((entry) => {
+ return internalOptions.entries.some((entry) => {
if (entry instanceof RegExp) {
return entry.test(id);
} else {
@@ -282,8 +264,6 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
"Release pipeline"
);
- const release = getReleaseName(options.release);
-
sentryHub.addBreadcrumb({
category: "writeBundle:start",
level: "info",
@@ -297,11 +277,11 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
const ctx: BuildContext = { hub: sentryHub, parentSpan: releasePipelineSpan, logger };
- createNewRelease(release, options, ctx)
- .then(() => cleanArtifacts(release, options, ctx))
- .then(() => uploadSourceMaps(release, options, ctx))
+ createNewRelease(internalOptions, ctx)
+ .then(() => cleanArtifacts(internalOptions, ctx))
+ .then(() => uploadSourceMaps(internalOptions, ctx))
.then(() => setCommits(ctx)) // this is a noop for now
- .then(() => finalizeRelease(release, options, ctx))
+ .then(() => finalizeRelease(internalOptions, ctx))
.then(() => addDeploy(ctx)) // this is a noop for now
.then(() => {
transaction?.setStatus("ok");
@@ -312,8 +292,8 @@ const unplugin = createUnplugin((originalOptions, unpluginMetaContext)
logger.error(e.message);
- if (options.errorHandler) {
- options.errorHandler(e);
+ if (internalOptions.errorHandler) {
+ internalOptions.errorHandler(e);
} else {
throw e;
}
diff --git a/packages/bundler-plugin-core/src/options-mapping.ts b/packages/bundler-plugin-core/src/options-mapping.ts
new file mode 100644
index 000000000000..7fc098974b6f
--- /dev/null
+++ b/packages/bundler-plugin-core/src/options-mapping.ts
@@ -0,0 +1,132 @@
+import { detectRelease } from "./detect-release";
+import { IncludeEntry as UserIncludeEntry, Options as UserOptions } from "./types";
+
+type RequiredInternalOptions = Required<
+ Pick<
+ UserOptions,
+ | "org"
+ | "project"
+ | "authToken"
+ | "url"
+ | "release"
+ | "finalize"
+ | "validate"
+ | "vcsRemote"
+ | "customHeaders"
+ | "dryRun"
+ | "debug"
+ | "silent"
+ | "cleanArtifacts"
+ | "telemetry"
+ >
+>;
+
+type OptionalInternalOptions = Partial<
+ Pick
+>;
+
+type NormalizedInternalOptions = {
+ entries: (string | RegExp)[] | ((filePath: string) => boolean) | undefined;
+ include: InternalIncludeEntry[];
+};
+
+export type InternalOptions = RequiredInternalOptions &
+ OptionalInternalOptions &
+ NormalizedInternalOptions;
+
+type RequiredInternalIncludeEntry = Required<
+ Pick
+>;
+
+type OptionalInternalIncludeEntry = Partial<
+ Pick
+>;
+
+type InternalIncludeEntry = RequiredInternalIncludeEntry &
+ OptionalInternalIncludeEntry & {
+ ignore: string[];
+ };
+
+export function normalizeUserOptions(userOptions: UserOptions): InternalOptions {
+ let entries: (string | RegExp)[] | ((filePath: string) => boolean) | undefined;
+ if (userOptions.entries === undefined) {
+ entries = undefined;
+ } else if (typeof userOptions.entries === "function" || Array.isArray(userOptions.entries)) {
+ entries = userOptions.entries;
+ } else {
+ entries = [userOptions.entries];
+ }
+
+ let userInclude: UserIncludeEntry[];
+ if (typeof userOptions.include === "string") {
+ userInclude = [convertIncludePathToIncludeEntry(userOptions.include)];
+ } else if (Array.isArray(userOptions.include)) {
+ userInclude = userOptions.include.map((potentialIncludeEntry) => {
+ if (typeof potentialIncludeEntry === "string") {
+ return convertIncludePathToIncludeEntry(potentialIncludeEntry);
+ } else {
+ return potentialIncludeEntry;
+ }
+ });
+ } else {
+ userInclude = [userOptions.include];
+ }
+
+ const include = userInclude.map((userIncludeEntry) =>
+ normalizeIncludeEntry(userOptions, userIncludeEntry)
+ );
+
+ return {
+ org: userOptions.org,
+ project: userOptions.project,
+ authToken: userOptions.authToken,
+ url: userOptions.url ?? "https://sentry.io/",
+ release: userOptions.release ?? detectRelease(),
+ finalize: userOptions.finalize ?? true,
+ validate: userOptions.validate ?? false,
+ vcsRemote: userOptions.vcsRemote ?? "origin",
+ customHeaders: userOptions.customHeaders ?? {},
+ dryRun: userOptions.dryRun ?? false,
+ debug: userOptions.debug ?? false,
+ silent: userOptions.silent ?? false,
+ cleanArtifacts: userOptions.cleanArtifacts ?? false,
+ telemetry: userOptions.telemetry ?? true,
+ dist: userOptions.dist,
+ errorHandler: userOptions.errorHandler,
+ setCommits: userOptions.setCommits,
+ deploy: userOptions.deploy,
+ entries,
+ include,
+ };
+}
+
+function convertIncludePathToIncludeEntry(includePath: string): UserIncludeEntry {
+ return {
+ paths: [includePath],
+ };
+}
+
+/**
+ * Besides array-ifying the `ignore` option, this function hoists top level options into the items of the `include`
+ * option. This is to simplify the handling of of the `include` items later on.
+ */
+function normalizeIncludeEntry(
+ userOptions: UserOptions,
+ includeEntry: UserIncludeEntry
+): InternalIncludeEntry {
+ const ignoreOption = includeEntry.ignore ?? userOptions.ignore ?? [];
+ const ignore = Array.isArray(ignoreOption) ? ignoreOption : [ignoreOption];
+
+ return {
+ paths: includeEntry.paths,
+ ignore,
+ ignoreFile: includeEntry.ignoreFile ?? userOptions.ignoreFile,
+ ext: includeEntry.ext ?? userOptions.ext ?? ["js", "map", "jsbundle", "bundle"],
+ urlPrefix: includeEntry.urlPrefix ?? userOptions.urlPrefix,
+ urlSuffix: includeEntry.urlSuffix ?? userOptions.urlSuffix,
+ stripPrefix: includeEntry.stripPrefix ?? userOptions.stripPrefix,
+ stripCommonPrefix: includeEntry.stripCommonPrefix ?? userOptions.stripCommonPrefix ?? false,
+ sourceMapReference: includeEntry.sourceMapReference ?? userOptions.sourceMapReference ?? true,
+ rewrite: includeEntry.rewrite ?? userOptions.rewrite ?? true,
+ };
+}
diff --git a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
index 3643b0301a0b..cffe42502211 100644
--- a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
+++ b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
@@ -6,14 +6,14 @@
// - huge download
// - unnecessary functionality
-import { Options, BuildContext } from "../types";
+import { InternalOptions } from "../options-mapping";
+import { BuildContext } from "../types";
import { createRelease, deleteAllReleaseArtifacts, uploadReleaseFile, updateRelease } from "./api";
-import { getFiles } from "./sourcemaps";
+import { getFiles, FileRecord } from "./sourcemaps";
import { addSpanToTransaction } from "./telemetry";
export async function createNewRelease(
- release: string,
- options: Options,
+ options: InternalOptions,
ctx: BuildContext
): Promise {
const span = addSpanToTransaction(ctx, "function.plugin.create_release");
@@ -34,7 +34,7 @@ export async function createNewRelease(
}
await createRelease({
- release,
+ release: options.release,
authToken: options.authToken,
org: options.org,
project: options.project,
@@ -50,8 +50,7 @@ export async function createNewRelease(
}
export async function uploadSourceMaps(
- release: string,
- options: Options,
+ options: InternalOptions,
ctx: BuildContext
): Promise {
const span = addSpanToTransaction(ctx, "function.plugin.upload_sourcemaps");
@@ -70,56 +69,42 @@ export async function uploadSourceMaps(
// - don't upload more than 20k files
// - upload files concurrently
// - 2 options: chunked upload (multiple files per chunk) or single file upload
- const {
- include,
- ext,
- // ignore,
- // ignoreFile,
- // rewrite,
- // sourceMapReference,
- // stripPrefix,
- // stripCommonPrefix,
- // validate,
- // urlPrefix,
- // urlSuffix,
- org,
- project,
- authToken,
- url,
- } = options;
// TODO: pull these checks out of here and simplify them
- if (authToken === undefined) {
+ if (options.authToken === undefined) {
ctx.logger.warn('Missing "authToken" option. Will not create release.');
return Promise.resolve("nothing to do here");
- } else if (org === undefined) {
+ } else if (options.org === undefined) {
ctx.logger.warn('Missing "org" option. Will not create release.');
return Promise.resolve("nothing to do here");
- } else if (url === undefined) {
+ } else if (options.url === undefined) {
ctx.logger.warn('Missing "url" option. Will not create release.');
return Promise.resolve("nothing to do here");
- } else if (project === undefined) {
+ } else if (options.project === undefined) {
ctx.logger.warn('Missing "project" option. Will not create release.');
return Promise.resolve("nothing to do here");
}
ctx.logger.info("Uploading Sourcemaps.");
- //TODO: Remove this once we have internal options. this property must always be present
- const fileExtensions = ext || [];
- //TODO: handle include property properly and remove this def. wrong type cast
- const files = getFiles(include as string, fileExtensions);
+ const files: FileRecord[] = [];
+ options.include.forEach((includeEntry) => {
+ includeEntry.paths.forEach((path) => {
+ //TODO: handle include property properly
+ files.push(...getFiles(path, includeEntry.ext));
+ });
+ });
ctx.logger.info(`Found ${files.length} files to upload.`);
return Promise.all(
files.map((file) =>
uploadReleaseFile({
- org,
- project,
- release,
- authToken,
- sentryUrl: url,
+ org: options.org,
+ project: options.project,
+ release: options.release,
+ authToken: options.authToken,
+ sentryUrl: options.url,
filename: file.name,
fileContent: file.content,
sentryHub: ctx.hub,
@@ -134,8 +119,7 @@ export async function uploadSourceMaps(
}
export async function finalizeRelease(
- release: string,
- options: Options,
+ options: InternalOptions,
ctx: BuildContext
): Promise {
const span = addSpanToTransaction(ctx, "function.plugin.finalize_release");
@@ -150,7 +134,7 @@ export async function finalizeRelease(
await updateRelease({
authToken,
org,
- release,
+ release: options.release,
sentryUrl: url,
project,
sentryHub: ctx.hub,
@@ -164,11 +148,7 @@ export async function finalizeRelease(
return Promise.resolve("nothing to do here");
}
-export async function cleanArtifacts(
- release: string,
- options: Options,
- ctx: BuildContext
-): Promise {
+export async function cleanArtifacts(options: InternalOptions, ctx: BuildContext): Promise {
const span = addSpanToTransaction(ctx, "function.plugin.clean_artifacts");
if (options.cleanArtifacts) {
@@ -190,7 +170,7 @@ export async function cleanArtifacts(
await deleteAllReleaseArtifacts({
authToken: options.authToken,
org: options.org,
- release,
+ release: options.release,
sentryUrl: options.url,
project: options.project,
sentryHub: ctx.hub,
diff --git a/packages/bundler-plugin-core/src/types.ts b/packages/bundler-plugin-core/src/types.ts
index 2481f7ce98ea..6954431607a4 100644
--- a/packages/bundler-plugin-core/src/types.ts
+++ b/packages/bundler-plugin-core/src/types.ts
@@ -183,7 +183,7 @@ export type Options = Omit & {
telemetry?: boolean;
};
-type IncludeEntry = {
+export type IncludeEntry = {
/**
* One or more paths to scan for files to upload.
*/
diff --git a/packages/bundler-plugin-core/test/getReleaseName.test.ts b/packages/bundler-plugin-core/test/getReleaseName.test.ts
index 6c04d5764d12..7dfa3f438b16 100644
--- a/packages/bundler-plugin-core/test/getReleaseName.test.ts
+++ b/packages/bundler-plugin-core/test/getReleaseName.test.ts
@@ -1,4 +1,4 @@
-import { getReleaseName } from "../src/getReleaseName";
+import { detectRelease } from "../src/detect-release";
import * as fs from "fs";
import * as child_process from "child_process";
jest.mock("fs");
@@ -28,54 +28,50 @@ describe("environmental getReleaseName", () => {
const sha = "c3f235fc86f1c4007e3a218ec82d666586e73cbf";
(mockedChildProcess.execSync as jest.Mock).mockReturnValue(sha);
- expect(getReleaseName()).toBe(sha);
+ expect(detectRelease()).toBe(sha);
});
it("throws an error if no release information could be found", () => {
(mockedFs.existsSync as jest.Mock).mockReturnValueOnce(false);
- expect(getReleaseName).toThrow("Could not return a release name");
- });
-
- it("adheres to user defined release name", () => {
- const releaseName = "USER_DEFINED_this-is-my-custom-release";
-
- expect(getReleaseName(releaseName)).toBe(releaseName);
+ expect(detectRelease).toThrow(
+ 'Could not automatically determine release name. Please provide a release identifier via the "release" option.'
+ );
});
it("adheres to process.env.SENTRY_RELEASE", () => {
const releaseName = "SENTRY_RELEASE_string";
process.env["SENTRY_RELEASE"] = releaseName;
- expect(getReleaseName()).toBe(releaseName);
+ expect(detectRelease()).toBe(releaseName);
});
it("adheres to Heroku: process.env.SOURCE_VERSION", () => {
const releaseName = "SOURCE_VERSION_string";
process.env["SOURCE_VERSION"] = releaseName;
- expect(getReleaseName()).toBe(releaseName);
+ expect(detectRelease()).toBe(releaseName);
});
it("adheres to Heroku: process.env.HEROKU_SLUG_COMMIT", () => {
const releaseName = "HEROKU_SLUG_COMMIT_string";
process.env["HEROKU_SLUG_COMMIT"] = releaseName;
- expect(getReleaseName()).toBe(releaseName);
+ expect(detectRelease()).toBe(releaseName);
});
it("adheres to AWS: process.env.CODEBUILD_RESOLVED_SOURCE_VERSION", () => {
const releaseName = "CODEBUILD_RESOLVED_SOURCE_VERSION_string";
process.env["CODEBUILD_RESOLVED_SOURCE_VERSION"] = releaseName;
- expect(getReleaseName()).toBe(releaseName);
+ expect(detectRelease()).toBe(releaseName);
});
it("adheres to Vercel: process.env.VERCEL_GIT_COMMIT_SHA", () => {
const releaseName = "VERCEL_GIT_COMMIT_SHA_string";
process.env["VERCEL_GIT_COMMIT_SHA"] = releaseName;
- expect(getReleaseName()).toBe(releaseName);
+ expect(detectRelease()).toBe(releaseName);
});
it("allows SENTRY_RELEASE to take precedence over other env vars", () => {
@@ -84,15 +80,6 @@ describe("environmental getReleaseName", () => {
process.env["VERCEL_GIT_COMMIT_SHA"] = vercelReleaseName;
process.env["SENTRY_RELEASE"] = sentryReleaseName;
- expect(getReleaseName()).toBe(sentryReleaseName);
- });
-
- it("allows custom release name to take precedence over other env vars", () => {
- const vercelReleaseName = "VERCEL_GIT_COMMIT_SHA_string";
- const sentryReleaseName = "SENTRY_RELEASE_string";
- process.env["VERCEL_GIT_COMMIT_SHA"] = vercelReleaseName;
- process.env["SENTRY_RELEASE"] = sentryReleaseName;
-
- expect(getReleaseName("cutom_release_name")).toBe("cutom_release_name");
+ expect(detectRelease()).toBe(sentryReleaseName);
});
});
diff --git a/packages/bundler-plugin-core/test/option-mappings.test.ts b/packages/bundler-plugin-core/test/option-mappings.test.ts
new file mode 100644
index 000000000000..7c6f40cd1ebc
--- /dev/null
+++ b/packages/bundler-plugin-core/test/option-mappings.test.ts
@@ -0,0 +1,84 @@
+import { Options } from "../src";
+import { normalizeUserOptions } from "../src/options-mapping";
+
+describe("normalizeUserOptions()", () => {
+ test("should return correct value for default input", () => {
+ const userOptions: Options = {
+ org: "my-org",
+ project: "my-project",
+ authToken: "my-auth-token",
+ release: "my-release", // we have to define this even though it is an optional value because of auto discovery
+ include: "./out",
+ };
+
+ expect(normalizeUserOptions(userOptions)).toEqual({
+ authToken: "my-auth-token",
+ cleanArtifacts: false,
+ customHeaders: {},
+ debug: false,
+ dryRun: false,
+ finalize: true,
+ include: [
+ {
+ ext: ["js", "map", "jsbundle", "bundle"],
+ ignore: [],
+ paths: ["./out"],
+ rewrite: true,
+ sourceMapReference: true,
+ stripCommonPrefix: false,
+ },
+ ],
+ org: "my-org",
+ project: "my-project",
+ release: "my-release",
+ silent: false,
+ telemetry: true,
+ url: "https://sentry.io/",
+ validate: false,
+ vcsRemote: "origin",
+ });
+ });
+
+ test("should hoist top-level include options into include entries", () => {
+ const userOptions: Options = {
+ org: "my-org",
+ project: "my-project",
+ authToken: "my-auth-token",
+ release: "my-release", // we have to define this even though it is an optional value because of auto discovery
+
+ // include options
+ include: [{ paths: ["./output", "./files"], ignore: ["./files"] }],
+ rewrite: true,
+ sourceMapReference: false,
+ stripCommonPrefix: true,
+ ext: ["js", "map", "foo"],
+ };
+
+ expect(normalizeUserOptions(userOptions)).toEqual({
+ authToken: "my-auth-token",
+ cleanArtifacts: false,
+ customHeaders: {},
+ debug: false,
+ dryRun: false,
+ finalize: true,
+ include: [
+ {
+ ext: ["js", "map", "foo"],
+ ignore: ["./files"],
+ paths: ["./output", "./files"],
+ rewrite: true,
+ sourceMapReference: false,
+ stripCommonPrefix: true,
+ },
+ ],
+ org: "my-org",
+ project: "my-project",
+ release: "my-release",
+ silent: false,
+ telemetry: true,
+ url: "https://sentry.io/",
+ validate: false,
+ vcsRemote: "origin",
+ });
+ });
+});
diff --git a/packages/bundler-plugin-core/types.tsconfig.json b/packages/bundler-plugin-core/types.tsconfig.json
index fb161bc4ab78..2d84052b318f 100644
--- a/packages/bundler-plugin-core/types.tsconfig.json
+++ b/packages/bundler-plugin-core/types.tsconfig.json
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"extends": "./src/tsconfig.json",
- "include": ["./src/**/*"],
+ "files": ["./src/index.ts"],
"compilerOptions": {
"rootDir": "./src",
"declaration": true,
From 17dbc506ef0551f8ac5589c93b247be62d369f98 Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Thu, 27 Oct 2022 12:38:51 +0200
Subject: [PATCH 065/640] feat: Implement `paths` and `ext` options for
`include` (#73)
---
packages/bundler-plugin-core/package.json | 2 +
.../src/options-mapping.ts | 2 +-
.../bundler-plugin-core/src/sentry/api.ts | 2 +-
.../src/sentry/releasePipeline.ts | 25 +++++-
.../src/sentry/sourcemaps.ts | 80 +++++++++++++------
yarn.lock | 35 +++++---
6 files changed, 106 insertions(+), 40 deletions(-)
diff --git a/packages/bundler-plugin-core/package.json b/packages/bundler-plugin-core/package.json
index 378e27e949ca..670ac71cc2e2 100644
--- a/packages/bundler-plugin-core/package.json
+++ b/packages/bundler-plugin-core/package.json
@@ -38,6 +38,7 @@
"@sentry/tracing": "^7.11.1",
"axios": "^0.27.2",
"form-data": "^4.0.0",
+ "glob": "8.0.3",
"magic-string": "0.26.2",
"unplugin": "0.10.1"
},
@@ -54,6 +55,7 @@
"@sentry-internal/sentry-bundler-plugin-tsconfig": "0.0.1-alpha.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
+ "@types/glob": "8.0.0",
"@types/jest": "^28.1.3",
"@types/node": "^18.6.3",
"eslint": "^8.18.0",
diff --git a/packages/bundler-plugin-core/src/options-mapping.ts b/packages/bundler-plugin-core/src/options-mapping.ts
index 7fc098974b6f..039f23182571 100644
--- a/packages/bundler-plugin-core/src/options-mapping.ts
+++ b/packages/bundler-plugin-core/src/options-mapping.ts
@@ -42,7 +42,7 @@ type OptionalInternalIncludeEntry = Partial<
Pick
>;
-type InternalIncludeEntry = RequiredInternalIncludeEntry &
+export type InternalIncludeEntry = RequiredInternalIncludeEntry &
OptionalInternalIncludeEntry & {
ignore: string[];
};
diff --git a/packages/bundler-plugin-core/src/sentry/api.ts b/packages/bundler-plugin-core/src/sentry/api.ts
index a9d57c40d5a4..11c551248cef 100644
--- a/packages/bundler-plugin-core/src/sentry/api.ts
+++ b/packages/bundler-plugin-core/src/sentry/api.ts
@@ -4,7 +4,7 @@ import FormData from "form-data";
import { Options } from "../types";
import { captureMinimalError } from "./telemetry";
-const API_PATH = "/api/0";
+const API_PATH = "api/0";
const USER_AGENT = `sentry-bundler-plugin/${__PACKAGE_VERSION__}`;
const sentryApiAxiosInstance = ({
diff --git a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
index cffe42502211..f1ef51d18f26 100644
--- a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
+++ b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
@@ -91,12 +91,35 @@ export async function uploadSourceMaps(
options.include.forEach((includeEntry) => {
includeEntry.paths.forEach((path) => {
//TODO: handle include property properly
- files.push(...getFiles(path, includeEntry.ext));
+ files.push(...getFiles(path, includeEntry));
});
});
ctx.logger.info(`Found ${files.length} files to upload.`);
+ // Check if there would be duplicate artifacts and throw if there are any.
+ const duplicateArtifacts = new Set();
+ const fileSet = new Set();
+ files.forEach((file) => {
+ if (fileSet.has(file.name)) {
+ duplicateArtifacts.add(file.name);
+ } else {
+ fileSet.add(file.name);
+ }
+ });
+ if (duplicateArtifacts.size > 0) {
+ const artifactsList: string[] = [];
+ duplicateArtifacts.forEach((artifact) => {
+ artifactsList.push(`- "${artifact}"`);
+ });
+ ctx.logger.error(
+ `The following artifacts were identified more than once. Use the "urlPrefix" or "urlSuffix" options to tell them apart or adjust your "include" and "ignore" settings.\n${artifactsList.join(
+ "\n"
+ )}`
+ );
+ throw new Error();
+ }
+
return Promise.all(
files.map((file) =>
uploadReleaseFile({
diff --git a/packages/bundler-plugin-core/src/sentry/sourcemaps.ts b/packages/bundler-plugin-core/src/sentry/sourcemaps.ts
index fc726019329f..2dd3de192dbb 100644
--- a/packages/bundler-plugin-core/src/sentry/sourcemaps.ts
+++ b/packages/bundler-plugin-core/src/sentry/sourcemaps.ts
@@ -1,38 +1,66 @@
import path from "path";
-import fs from "fs";
+import fs, { Stats } from "fs";
+import glob from "glob";
+import { InternalIncludeEntry } from "../options-mapping";
export type FileRecord = {
name: string;
content: string;
};
-export function getFiles(path: string, allowedExtensions: string[]): FileRecord[] {
- const includedFiles = getAllIncludedFileNames(path, allowedExtensions, []);
+export function getFiles(fpath: string, includeEntry: InternalIncludeEntry): FileRecord[] {
+ let fileStat: Stats;
+ const p = path.isAbsolute(fpath) ? fpath : path.resolve(process.cwd(), fpath);
+ try {
+ fileStat = fs.statSync(p);
+ } catch (e) {
+ return [];
+ }
- return includedFiles.map((filename) => {
- const content = fs.readFileSync(filename, { encoding: "utf-8" });
- return { name: "~" + filename.replace(new RegExp(`^${path}`), ""), content };
+ let files: {
+ absolutePath: string;
+ // Contains relative paths without leading `.` (e.g. "foo/bar.js" or "asdf\\a\\b.js.map")
+ relativePath: string;
+ }[];
+
+ if (fileStat.isFile()) {
+ files = [{ absolutePath: p, relativePath: path.basename(p) }];
+ } else if (fileStat.isDirectory()) {
+ files = glob
+ .sync(path.join(p, "**"), {
+ nodir: true,
+ absolute: true,
+ })
+ .map((globPath) => ({ absolutePath: globPath, relativePath: globPath.slice(p.length + 1) }));
+ } else {
+ return [];
+ }
+
+ const dotPrefixedAllowedExtensions = includeEntry.ext.map(
+ (extension) => `.${extension.replace(/^\./, "")}`
+ );
+
+ const filteredFiles = files.filter(({ absolutePath }) => {
+ return dotPrefixedAllowedExtensions.includes(path.extname(absolutePath));
+ });
+
+ // TODO ignore files
+ // TODO ignorefile
+ // TODO do sourcemap rewriting?
+ // TODO do sourcefile rewriting? (adding source map reference to bottom - search for "guess_sourcemap_reference")
+
+ return filteredFiles.map(({ absolutePath, relativePath }) => {
+ const content = fs.readFileSync(absolutePath, { encoding: "utf-8" });
+ return {
+ name:
+ (includeEntry.urlPrefix ?? "~/") +
+ convertWindowsPathToPosix(relativePath) +
+ (includeEntry.urlSuffix ?? ""),
+ content,
+ };
});
}
-function getAllIncludedFileNames(
- dirPath: string,
- allowedExtensions: string[],
- accFiles: string[]
-): string[] {
- const files = fs.readdirSync(dirPath);
-
- files
- .map((file) => path.join(dirPath, "/", file))
- .forEach((file) => {
- if (fs.statSync(file).isDirectory()) {
- accFiles = accFiles.concat(getAllIncludedFileNames(file, allowedExtensions, accFiles));
- } else {
- if (allowedExtensions.some((e) => file.endsWith(e))) {
- accFiles.push(file);
- }
- }
- });
-
- return accFiles;
+function convertWindowsPathToPosix(windowsPath: string): string {
+ return windowsPath.split(path.sep).join(path.posix.sep);
}
diff --git a/yarn.lock b/yarn.lock
index e304efef8cb2..b65f1413f3ff 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2897,6 +2897,14 @@
"@types/qs" "*"
"@types/serve-static" "*"
+"@types/glob@^8.0.0":
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/@types/glob/-/glob-8.0.0.tgz#321607e9cbaec54f687a0792b2d1d370739455d2"
+ integrity sha512-l6NQsDDyQUVeoTynNpC9uRvCUint/gSUXQA2euwmTuWGvPY5LSDUu6tkCtJB2SvGQlJQzLaKqcGZP4//7EDveA==
+ dependencies:
+ "@types/minimatch" "*"
+ "@types/node" "*"
+
"@types/graceful-fs@^4.1.2", "@types/graceful-fs@^4.1.3":
version "4.1.5"
resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15"
@@ -2953,6 +2961,11 @@
resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10"
integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==
+"@types/minimatch@*":
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca"
+ integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==
+
"@types/minimatch@^3.0.3":
version "3.0.5"
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40"
@@ -6440,28 +6453,28 @@ glob@7.1.4:
once "^1.3.0"
path-is-absolute "^1.0.0"
-glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
- version "7.2.3"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
- integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
+glob@8.0.3, glob@^8.0.1:
+ version "8.0.3"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.3.tgz#415c6eb2deed9e502c68fa44a272e6da6eeca42e"
+ integrity sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
inherits "2"
- minimatch "^3.1.1"
+ minimatch "^5.0.1"
once "^1.3.0"
- path-is-absolute "^1.0.0"
-glob@^8.0.1:
- version "8.0.3"
- resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.3.tgz#415c6eb2deed9e502c68fa44a272e6da6eeca42e"
- integrity sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==
+glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
+ version "7.2.3"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
+ integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
inherits "2"
- minimatch "^5.0.1"
+ minimatch "^3.1.1"
once "^1.3.0"
+ path-is-absolute "^1.0.0"
globals@^11.1.0:
version "11.12.0"
From a2506b0df0935307fecc324b043c9d8ebc936cf0 Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Thu, 27 Oct 2022 13:05:48 +0200
Subject: [PATCH 066/640] ref: Clean up `include` logic (#74)
---
.../src/options-mapping.ts | 6 ++++-
.../src/sentry/releasePipeline.ts | 1 -
.../src/sentry/sourcemaps.ts | 23 ++++++++++---------
.../test/option-mappings.test.ts | 7 +++---
4 files changed, 21 insertions(+), 16 deletions(-)
diff --git a/packages/bundler-plugin-core/src/options-mapping.ts b/packages/bundler-plugin-core/src/options-mapping.ts
index 039f23182571..f1bd6921d5dd 100644
--- a/packages/bundler-plugin-core/src/options-mapping.ts
+++ b/packages/bundler-plugin-core/src/options-mapping.ts
@@ -117,11 +117,15 @@ function normalizeIncludeEntry(
const ignoreOption = includeEntry.ignore ?? userOptions.ignore ?? [];
const ignore = Array.isArray(ignoreOption) ? ignoreOption : [ignoreOption];
+ // We're prefixing all entries in the `ext` option with a `.` (if it isn't already) to align with Node.js' `path.extname()`
+ const ext = includeEntry.ext ?? userOptions.ext ?? ["js", "map", "jsbundle", "bundle"];
+ const dotPrefixedExt = ext.map((extension) => `.${extension.replace(/^\./, "")}`);
+
return {
paths: includeEntry.paths,
ignore,
ignoreFile: includeEntry.ignoreFile ?? userOptions.ignoreFile,
- ext: includeEntry.ext ?? userOptions.ext ?? ["js", "map", "jsbundle", "bundle"],
+ ext: dotPrefixedExt,
urlPrefix: includeEntry.urlPrefix ?? userOptions.urlPrefix,
urlSuffix: includeEntry.urlSuffix ?? userOptions.urlSuffix,
stripPrefix: includeEntry.stripPrefix ?? userOptions.stripPrefix,
diff --git a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
index f1ef51d18f26..7b4ad6d9a96d 100644
--- a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
+++ b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
@@ -90,7 +90,6 @@ export async function uploadSourceMaps(
const files: FileRecord[] = [];
options.include.forEach((includeEntry) => {
includeEntry.paths.forEach((path) => {
- //TODO: handle include property properly
files.push(...getFiles(path, includeEntry));
});
});
diff --git a/packages/bundler-plugin-core/src/sentry/sourcemaps.ts b/packages/bundler-plugin-core/src/sentry/sourcemaps.ts
index 2dd3de192dbb..5c0e2b7d91a2 100644
--- a/packages/bundler-plugin-core/src/sentry/sourcemaps.ts
+++ b/packages/bundler-plugin-core/src/sentry/sourcemaps.ts
@@ -8,11 +8,13 @@ export type FileRecord = {
content: string;
};
-export function getFiles(fpath: string, includeEntry: InternalIncludeEntry): FileRecord[] {
+export function getFiles(includePath: string, includeEntry: InternalIncludeEntry): FileRecord[] {
let fileStat: Stats;
- const p = path.isAbsolute(fpath) ? fpath : path.resolve(process.cwd(), fpath);
+ const absolutePath = path.isAbsolute(includePath)
+ ? includePath
+ : path.resolve(process.cwd(), includePath);
try {
- fileStat = fs.statSync(p);
+ fileStat = fs.statSync(absolutePath);
} catch (e) {
return [];
}
@@ -24,24 +26,23 @@ export function getFiles(fpath: string, includeEntry: InternalIncludeEntry): Fil
}[];
if (fileStat.isFile()) {
- files = [{ absolutePath: p, relativePath: path.basename(p) }];
+ files = [{ absolutePath, relativePath: path.basename(absolutePath) }];
} else if (fileStat.isDirectory()) {
files = glob
- .sync(path.join(p, "**"), {
+ .sync(path.join(absolutePath, "**"), {
nodir: true,
absolute: true,
})
- .map((globPath) => ({ absolutePath: globPath, relativePath: globPath.slice(p.length + 1) }));
+ .map((globPath) => ({
+ absolutePath: globPath,
+ relativePath: globPath.slice(absolutePath.length + 1),
+ }));
} else {
return [];
}
- const dotPrefixedAllowedExtensions = includeEntry.ext.map(
- (extension) => `.${extension.replace(/^\./, "")}`
- );
-
const filteredFiles = files.filter(({ absolutePath }) => {
- return dotPrefixedAllowedExtensions.includes(path.extname(absolutePath));
+ return includeEntry.ext.includes(path.extname(absolutePath));
});
// TODO ignore files
diff --git a/packages/bundler-plugin-core/test/option-mappings.test.ts b/packages/bundler-plugin-core/test/option-mappings.test.ts
index 7c6f40cd1ebc..bc8c54f6b4db 100644
--- a/packages/bundler-plugin-core/test/option-mappings.test.ts
+++ b/packages/bundler-plugin-core/test/option-mappings.test.ts
@@ -20,7 +20,7 @@ describe("normalizeUserOptions()", () => {
finalize: true,
include: [
{
- ext: ["js", "map", "jsbundle", "bundle"],
+ ext: [".js", ".map", ".jsbundle", ".bundle"],
ignore: [],
paths: ["./out"],
rewrite: true,
@@ -51,7 +51,8 @@ describe("normalizeUserOptions()", () => {
rewrite: true,
sourceMapReference: false,
stripCommonPrefix: true,
- ext: ["js", "map", "foo"],
+ // It is intentional that only foo has a `.`. We're expecting all extensions to be prefixed with a dot.
+ ext: ["js", "map", ".foo"],
};
expect(normalizeUserOptions(userOptions)).toEqual({
@@ -63,7 +64,7 @@ describe("normalizeUserOptions()", () => {
finalize: true,
include: [
{
- ext: ["js", "map", "foo"],
+ ext: [".js", ".map", ".foo"],
ignore: ["./files"],
paths: ["./output", "./files"],
rewrite: true,
From 1e01cfe5b03f39c7f5592de0708b4d13b81c9564 Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Thu, 27 Oct 2022 15:17:15 +0200
Subject: [PATCH 067/640] meta: Update MIGRATION.md with globbing deprecation
(#76)
---
MIGRATION.md | 23 +++++++++++++++++++----
1 file changed, 19 insertions(+), 4 deletions(-)
diff --git a/MIGRATION.md b/MIGRATION.md
index f2b6a696277e..81d0ec6896fb 100644
--- a/MIGRATION.md
+++ b/MIGRATION.md
@@ -4,15 +4,21 @@ This document serves as a migration guide, documenting all breaking changes betw
## [Unreleased] Upgrading from 1.x to 2.x
-Version 2 of `@sentry/webpack-plugin` is a complete rewrite of version 1. Version 2 no longer requires `sentry-cli` underneath, meaning the plugin no longer downloads a binary but implements all its functionality natively.
+Version 2 of `@sentry/webpack-plugin` is a complete rewrite of version 1.
+Version 2 no longer requires `sentry-cli` underneath, meaning the plugin no longer downloads a binary but implements all its functionality natively.
### Removal of Implicit Environment Variable Usage
-Version 2 of the Webpack plugin removes the implicit passing of plugin parameters via environment variables. Previously, it was possible to specify values as environment variables, such as SENTRY_AUTH_TOKEN, but to never mention them in the plugin init options. In this version, you'll have to specify these values in the options. Note that this makes certain option fields explicitly required now which were previously only implicitly required (see [Initialization and Required Values](#initialization-and-required-values)).
+Version 2 of the Webpack plugin removes the implicit passing of plugin parameters via environment variables.
+Previously, it was possible to specify values as environment variables, such as SENTRY_AUTH_TOKEN, but to never mention them in the plugin init options.
+In this version, you'll have to specify these values in the options.
+Note that this makes certain option fields explicitly required now which were previously only implicitly required (see [Initialization and Required Values](#initialization-and-required-values)).
### Initialization and Required Values
-Previously, to use the plugin, you had to create a new class of the `SentryCLIPlugin` class. In version 2, you simply need to call a function and pass the initialization options to it. Note that in this new version, more options are now explicitly required. Here's an example:
+Previously, to use the plugin, you had to create a new class of the `SentryCLIPlugin` class.
+In version 2, you simply need to call a function and pass the initialization options to it.
+Note that in this new version, more options are now explicitly required. Here's an example:
```js
// old config + environment variables were set for authToken, org and project
@@ -31,5 +37,14 @@ sentryWebpackPlugin({
### Removal of `configFile` option
-Previously, you could set the `configFile` option when initializing the plugin to point `sentry-cli` to its `.sentryclirc` config. Because `sentry-cli` is no longer part of the plugin, this is option was removed.
+Previously, you could set the `configFile` option when initializing the plugin to point `sentry-cli` to its `.sentryclirc` config.
+Because `sentry-cli` is no longer part of the plugin, this is option was removed.
If you previously used this option, make sure to specify all required options when intializing the plugin (see [Initialization and Required Values](#initialization-and-required-values)).
+
+### Removal of globbing
+
+Previously it was possible to glob for files to include in the sourcemap upload (e.g. `include: "./my-build-dir/**"`).
+In version 2 we removed this functionality because it lead to intransparent naming of release artifacts.
+
+Going forward, if you need similar functionality, we recommend providing folder paths in the `include` and `include.paths` options and narrowing down the matched files with the `ignore`, `ignoreFile` or `ext` options.
+The `ignore` and `ignoreFile` options will still allow globbing patterns.
From d8c4468b9563ae34687ce5e4590e1f84d19b0fef Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Thu, 27 Oct 2022 17:41:15 +0200
Subject: [PATCH 068/640] test(e2e): Add E2E tests (#75)
This PR adds basic E2E or Snapshot tests to our repo in a dedicated package. The high-level idea is to add a set of input JS files, a plugin config and a set of reference files per test scenario. For a more detailed explanation, take a look at the README file. In addition, it adds one test scenario which tests a very basic sourcemaps upload configuration.
Here's what these tests do:
Per test scenario, per bundler:
1. Delete the release from Sentry.io (sentry-sdks org) if it is already present
2. Bundle the input files and run the Sentry Bundler Plugin which uploads the files to Sentry
3. Download the release from Sentry
4. Compare downloaded files against reference files. They must match exactly for the test to pass.
As of right now, it is arguable if these tests should have their own package or be in the integration-tests package. I opted for the former because there are subtle differences and if we chose to improve them (e.g. do the Verdaccio approach from the JS SDK or add recipes) the structure and components will differ more.
---
.prettierignore | 1 +
packages/e2e-tests/.env.example | 1 +
packages/e2e-tests/.eslintrc.js | 29 ++++
packages/e2e-tests/.gitignore | 3 +
packages/e2e-tests/README.md | 20 +++
packages/e2e-tests/jest.config.js | 6 +
packages/e2e-tests/package.json | 42 ++++++
.../basic-upload/basic-upload.test.ts | 14 ++
.../scenarios/basic-upload/config.ts | 13 ++
.../scenarios/basic-upload/input/fib.js | 9 ++
.../scenarios/basic-upload/input/index.js | 6 +
.../basic-upload/ref/esbuild/~/index.js | 2 +
.../basic-upload/ref/esbuild/~/index.js.map | 1 +
.../basic-upload/ref/rollup/~/index.js | 29 ++++
.../basic-upload/ref/rollup/~/index.js.map | 1 +
.../basic-upload/ref/vite/~/index.js | 2 +
.../basic-upload/ref/vite/~/index.js.map | 1 +
.../basic-upload/ref/webpack4/~/index.js | 2 +
.../basic-upload/ref/webpack4/~/index.js.map | 1 +
.../basic-upload/ref/webpack5/~/index.js | 2 +
.../basic-upload/ref/webpack5/~/index.js.map | 1 +
.../e2e-tests/scenarios/basic-upload/setup.ts | 16 +++
.../e2e-tests/scripts/run-scenario-setups.ts | 10 ++
packages/e2e-tests/tsconfig.json | 9 ++
packages/e2e-tests/utils/bundlers.ts | 1 +
.../e2e-tests/utils/create-cjs-bundles.ts | 133 ++++++++++++++++++
packages/e2e-tests/utils/releases.ts | 83 +++++++++++
packages/e2e-tests/utils/sentry-api.ts | 39 +++++
yarn.lock | 27 ++--
29 files changed, 494 insertions(+), 10 deletions(-)
create mode 100644 .prettierignore
create mode 100644 packages/e2e-tests/.env.example
create mode 100644 packages/e2e-tests/.eslintrc.js
create mode 100644 packages/e2e-tests/.gitignore
create mode 100644 packages/e2e-tests/README.md
create mode 100644 packages/e2e-tests/jest.config.js
create mode 100644 packages/e2e-tests/package.json
create mode 100644 packages/e2e-tests/scenarios/basic-upload/basic-upload.test.ts
create mode 100644 packages/e2e-tests/scenarios/basic-upload/config.ts
create mode 100644 packages/e2e-tests/scenarios/basic-upload/input/fib.js
create mode 100644 packages/e2e-tests/scenarios/basic-upload/input/index.js
create mode 100644 packages/e2e-tests/scenarios/basic-upload/ref/esbuild/~/index.js
create mode 100644 packages/e2e-tests/scenarios/basic-upload/ref/esbuild/~/index.js.map
create mode 100644 packages/e2e-tests/scenarios/basic-upload/ref/rollup/~/index.js
create mode 100644 packages/e2e-tests/scenarios/basic-upload/ref/rollup/~/index.js.map
create mode 100644 packages/e2e-tests/scenarios/basic-upload/ref/vite/~/index.js
create mode 100644 packages/e2e-tests/scenarios/basic-upload/ref/vite/~/index.js.map
create mode 100644 packages/e2e-tests/scenarios/basic-upload/ref/webpack4/~/index.js
create mode 100644 packages/e2e-tests/scenarios/basic-upload/ref/webpack4/~/index.js.map
create mode 100644 packages/e2e-tests/scenarios/basic-upload/ref/webpack5/~/index.js
create mode 100644 packages/e2e-tests/scenarios/basic-upload/ref/webpack5/~/index.js.map
create mode 100644 packages/e2e-tests/scenarios/basic-upload/setup.ts
create mode 100644 packages/e2e-tests/scripts/run-scenario-setups.ts
create mode 100644 packages/e2e-tests/tsconfig.json
create mode 100644 packages/e2e-tests/utils/bundlers.ts
create mode 100644 packages/e2e-tests/utils/create-cjs-bundles.ts
create mode 100644 packages/e2e-tests/utils/releases.ts
create mode 100644 packages/e2e-tests/utils/sentry-api.ts
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 000000000000..218659e6dd46
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1 @@
+packages/e2e-tests/scenarios/*/ref/**/*
\ No newline at end of file
diff --git a/packages/e2e-tests/.env.example b/packages/e2e-tests/.env.example
new file mode 100644
index 000000000000..98608208d085
--- /dev/null
+++ b/packages/e2e-tests/.env.example
@@ -0,0 +1 @@
+SENTRY_AUTH_TOKEN=
\ No newline at end of file
diff --git a/packages/e2e-tests/.eslintrc.js b/packages/e2e-tests/.eslintrc.js
new file mode 100644
index 000000000000..2140ab1856eb
--- /dev/null
+++ b/packages/e2e-tests/.eslintrc.js
@@ -0,0 +1,29 @@
+const jestPackageJson = require("jest/package.json");
+
+/** @type {import('eslint').ESLint.Options} */
+module.exports = {
+ root: true,
+ extends: ["@sentry-internal/eslint-config/jest", "@sentry-internal/eslint-config/base"],
+ ignorePatterns: [
+ ".eslintrc.js",
+ "scenarios/*/out",
+ "scenarios/*/ref",
+ "scenarios/*/input",
+ "jest.config.js",
+ ],
+ parserOptions: {
+ tsconfigRootDir: __dirname,
+ project: ["./tsconfig.json"],
+ },
+ env: {
+ node: true,
+ },
+ settings: {
+ jest: {
+ version: jestPackageJson.version,
+ },
+ },
+ rules: {
+ "no-console": "off",
+ },
+};
diff --git a/packages/e2e-tests/.gitignore b/packages/e2e-tests/.gitignore
new file mode 100644
index 000000000000..bacbd86e6069
--- /dev/null
+++ b/packages/e2e-tests/.gitignore
@@ -0,0 +1,3 @@
+**/out
+!scenarios/*/ref/**
+.env
\ No newline at end of file
diff --git a/packages/e2e-tests/README.md b/packages/e2e-tests/README.md
new file mode 100644
index 000000000000..5e5e921450c5
--- /dev/null
+++ b/packages/e2e-tests/README.md
@@ -0,0 +1,20 @@
+# End-To-End Tests
+
+Each folder in the `scenarios` folder represents one testing scenario.
+When `yarn test` is run, first `setup.ts` in all scenarios is executed, afterwards we run `jest`, which will pick up all `*.test.ts` files.
+Generally, the `*.test.ts` files can then use anything that is generated via `setup.ts`.
+
+## Snapshot Test Structure
+
+For snapshot tests where files uploaded to Sentry are cpompared with local reference files, it's recommended to stick to the following structure inside a scenario folder:
+
+- `input` contains the JS input files. These will be bundled by all bundlers defined in `utils/bundlers.ts`.
+- `ref` contains the reference files. All files that are uploaded to Sentry for one release must be present in this folder, in the same structure as the uploaded filename contains (e.g. `~/index.js`). Because generated JS and source maps look entirely different per bundler, reference files must be specified separately for each bundler.
+- `config.ts` contains the bundler plugin config that is used to
+ 1. Delete a release from Sentry with the given `release` property
+ 2. Bundle files from `input` and upload them to Sentry
+ 3. Download the files from Sentry with the for the given `release` property
+- `setup.ts` is the starting point to create bundles for all bundlers specified in `utils/bundlers.ts`. Specify the name of your entry point file(s) in this file.
+- `*.test.ts` specifies all tests which are executed by Jest for this scenario.
+
+Note that the final release name used per scenario is `[config.release]-[bundler]`. Each scenario will create separate releases for each bundler to distinguish the files generated by the bundlers.
diff --git a/packages/e2e-tests/jest.config.js b/packages/e2e-tests/jest.config.js
new file mode 100644
index 000000000000..160178bbd22f
--- /dev/null
+++ b/packages/e2e-tests/jest.config.js
@@ -0,0 +1,6 @@
+module.exports = {
+ testEnvironment: "node",
+ transform: {
+ "^.+\\.(t|j)sx?$": ["@swc/jest"],
+ },
+};
diff --git a/packages/e2e-tests/package.json b/packages/e2e-tests/package.json
new file mode 100644
index 000000000000..4d4636d3be67
--- /dev/null
+++ b/packages/e2e-tests/package.json
@@ -0,0 +1,42 @@
+{
+ "name": "@sentry-internal/bundler-plugin-e2e-tests",
+ "version": "0.0.1-alpha.0",
+ "license": "MIT",
+ "private": true,
+ "scripts": {
+ "test:e2e": "run-s test:setup test:jest",
+ "test:setup": "ts-node scripts/run-scenario-setups.ts",
+ "test:jest": "jest",
+ "check:types": "tsc --project ./tsconfig.json --noEmit",
+ "clean": "run-s clean:build",
+ "clean:all": "run-p clean clean:deps",
+ "clean:build": "rimraf ./scenarios/*/out",
+ "clean:deps": "rimraf node_modules",
+ "lint": "eslint ."
+ },
+ "dependencies": {
+ "@sentry/vite-plugin": "0.0.1-alpha.0",
+ "@sentry/rollup-plugin": "0.0.1-alpha.0",
+ "@sentry/esbuild-plugin": "0.0.1-alpha.0",
+ "@sentry/webpack-plugin": "0.0.1-alpha.0",
+ "axios": "^1.1.3"
+ },
+ "devDependencies": {
+ "@sentry-internal/eslint-config": "0.0.1-alpha.0",
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.0.1-alpha.0",
+ "@swc/jest": "^0.2.21",
+ "@types/glob": "8.0.0",
+ "@types/jest": "^28.1.3",
+ "@types/webpack4": "npm:@types/webpack@4.41.32",
+ "@types/axios": "^0.14.0",
+ "esbuild": "0.14.49",
+ "eslint": "^8.18.0",
+ "glob": "8.0.3",
+ "jest": "^28.1.3",
+ "rollup": "2.77.0",
+ "ts-node": "^10.9.1",
+ "vite": "3.0.0",
+ "webpack": "5.74.0",
+ "webpack4": "npm:webpack@4.46.0"
+ }
+}
diff --git a/packages/e2e-tests/scenarios/basic-upload/basic-upload.test.ts b/packages/e2e-tests/scenarios/basic-upload/basic-upload.test.ts
new file mode 100644
index 000000000000..ab7918c6ff88
--- /dev/null
+++ b/packages/e2e-tests/scenarios/basic-upload/basic-upload.test.ts
@@ -0,0 +1,14 @@
+import { pluginConfig } from "./config";
+import { BUNDLERS } from "../../utils/bundlers";
+import { getReferenceFiles, getSentryReleaseFiles } from "../../utils/releases";
+
+describe("Simple Sourcemaps Upload (one string include + default options)", () => {
+ it.each(BUNDLERS)("uploads the correct files using %s", async (bundler) => {
+ const release = `${pluginConfig.release || ""}-${bundler}`;
+
+ const sentryFiles = await getSentryReleaseFiles(release);
+ const refFiles = getReferenceFiles(bundler, __dirname);
+
+ expect(sentryFiles).toMatchObject(refFiles);
+ });
+});
diff --git a/packages/e2e-tests/scenarios/basic-upload/config.ts b/packages/e2e-tests/scenarios/basic-upload/config.ts
new file mode 100644
index 000000000000..b828c9a1d709
--- /dev/null
+++ b/packages/e2e-tests/scenarios/basic-upload/config.ts
@@ -0,0 +1,13 @@
+import { Options } from "@sentry/bundler-plugin-core";
+import * as path from "path";
+
+/**
+ * The Sentry bundler plugin config object used for this test
+ */
+export const pluginConfig: Options = {
+ release: "basic-upload",
+ include: path.resolve(__dirname, "./out"),
+ authToken: process.env["SENTRY_AUTH_TOKEN"] || "",
+ org: "sentry-sdks",
+ project: "js-bundler-plugin-e2e-tests",
+};
diff --git a/packages/e2e-tests/scenarios/basic-upload/input/fib.js b/packages/e2e-tests/scenarios/basic-upload/input/fib.js
new file mode 100644
index 000000000000..a6da581e758e
--- /dev/null
+++ b/packages/e2e-tests/scenarios/basic-upload/input/fib.js
@@ -0,0 +1,9 @@
+export const fibonacci = (n) => {
+ if (n === 3) {
+ throw new Error("I'm an uncaught error");
+ }
+ if (n <= 1) {
+ return n;
+ }
+ return fibonacci(n - 1) + fibonacci(n - 2);
+};
diff --git a/packages/e2e-tests/scenarios/basic-upload/input/index.js b/packages/e2e-tests/scenarios/basic-upload/input/index.js
new file mode 100644
index 000000000000..8159534a46a4
--- /dev/null
+++ b/packages/e2e-tests/scenarios/basic-upload/input/index.js
@@ -0,0 +1,6 @@
+import { fibonacci } from "./fib";
+console.log("Hi, I'm a very simple app");
+
+fibonacci(10);
+
+console.log("I'm done");
diff --git a/packages/e2e-tests/scenarios/basic-upload/ref/esbuild/~/index.js b/packages/e2e-tests/scenarios/basic-upload/ref/esbuild/~/index.js
new file mode 100644
index 000000000000..7485db947d25
--- /dev/null
+++ b/packages/e2e-tests/scenarios/basic-upload/ref/esbuild/~/index.js
@@ -0,0 +1,2 @@
+"use strict";var i=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};i.SENTRY_RELEASE={id:"basic-upload-esbuild"};var e=o=>{if(o===3)throw new Error("I'm an uncaught error");return o<=1?o:e(o-1)+e(o-2)};console.log("Hi, I'm a very simple app");e(10);console.log("I'm done");
+//# sourceMappingURL=index.js.map
diff --git a/packages/e2e-tests/scenarios/basic-upload/ref/esbuild/~/index.js.map b/packages/e2e-tests/scenarios/basic-upload/ref/esbuild/~/index.js.map
new file mode 100644
index 000000000000..300618e83fbc
--- /dev/null
+++ b/packages/e2e-tests/scenarios/basic-upload/ref/esbuild/~/index.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["sentry-plugin:\u0000sentry-release-injector","../../input/fib.js","../../input/index.js"],"sourcesContent":["\n var _global =\n typeof window !== 'undefined' ?\n window :\n typeof global !== 'undefined' ?\n global :\n typeof self !== 'undefined' ?\n self :\n {};\n\n _global.SENTRY_RELEASE={id:\"basic-upload-esbuild\"};","export const fibonacci = (n) => {\n if (n === 3) {\n throw new Error(\"I'm an uncaught error\");\n }\n if (n <= 1) {\n return n;\n }\n return fibonacci(n - 1) + fibonacci(n - 2);\n};\nimport \"\u0000sentry-release-injector\";","import { fibonacci } from \"./fib\";\nconsole.log(\"Hi, I'm a very simple app\");\n\nfibonacci(10);\n\nconsole.log(\"I'm done\");\nimport \"\u0000sentry-release-injector\";"],"mappings":"aACI,GAAI,GACF,MAAO,QAAW,IAChB,OACA,MAAO,QAAW,IAChB,OACA,MAAO,MAAS,IACd,KACA,CAAC,EAET,EAAQ,eAAe,CAAC,GAAG,sBAAsB,ECV9C,GAAM,GAAY,AAAC,GAAM,CAC9B,GAAI,IAAM,EACR,KAAM,IAAI,OAAM,uBAAuB,EAEzC,MAAI,IAAK,EACA,EAEF,EAAU,EAAI,CAAC,EAAI,EAAU,EAAI,CAAC,CAC3C,ECPA,QAAQ,IAAI,2BAA2B,EAEvC,EAAU,EAAE,EAEZ,QAAQ,IAAI,UAAU","names":[]}
\ No newline at end of file
diff --git a/packages/e2e-tests/scenarios/basic-upload/ref/rollup/~/index.js b/packages/e2e-tests/scenarios/basic-upload/ref/rollup/~/index.js
new file mode 100644
index 000000000000..b77c543a0de8
--- /dev/null
+++ b/packages/e2e-tests/scenarios/basic-upload/ref/rollup/~/index.js
@@ -0,0 +1,29 @@
+'use strict';
+
+var _global =
+ typeof window !== 'undefined' ?
+ window :
+ typeof global !== 'undefined' ?
+ global :
+ typeof self !== 'undefined' ?
+ self :
+ {};
+
+ _global.SENTRY_RELEASE={id:"basic-upload-rollup"};
+
+const fibonacci = (n) => {
+ if (n === 3) {
+ throw new Error("I'm an uncaught error");
+ }
+ if (n <= 1) {
+ return n;
+ }
+ return fibonacci(n - 1) + fibonacci(n - 2);
+};
+
+console.log("Hi, I'm a very simple app");
+
+fibonacci(10);
+
+console.log("I'm done");
+//# sourceMappingURL=index.js.map
diff --git a/packages/e2e-tests/scenarios/basic-upload/ref/rollup/~/index.js.map b/packages/e2e-tests/scenarios/basic-upload/ref/rollup/~/index.js.map
new file mode 100644
index 000000000000..a9db562a8d34
--- /dev/null
+++ b/packages/e2e-tests/scenarios/basic-upload/ref/rollup/~/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sources":["../../input/fib.js","../../input/index.js"],"sourcesContent":["export const fibonacci = (n) => {\n if (n === 3) {\n throw new Error(\"I'm an uncaught error\");\n }\n if (n <= 1) {\n return n;\n }\n return fibonacci(n - 1) + fibonacci(n - 2);\n};\n","import { fibonacci } from \"./fib\";\nconsole.log(\"Hi, I'm a very simple app\");\n\nfibonacci(10);\n\nconsole.log(\"I'm done\");\n"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,MAAA,SAAA,GAAA,CAAA,CAAA,KAAA;AACA,EAAA,IAAA,CAAA,KAAA,CAAA,EAAA;AACA,IAAA,MAAA,IAAA,KAAA,CAAA,uBAAA,CAAA,CAAA;AACA,GAAA;AACA,EAAA,IAAA,CAAA,IAAA,CAAA,EAAA;AACA,IAAA,OAAA,CAAA,CAAA;AACA,GAAA;AACA,EAAA,OAAA,SAAA,CAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AACA,CAAA;;ACPA,OAAA,CAAA,GAAA,CAAA,2BAAA,CAAA,CAAA;AACA;AACA,SAAA,CAAA,EAAA,CAAA,CAAA;AACA;AACA,OAAA,CAAA,GAAA,CAAA,UAAA,CAAA;;"}
\ No newline at end of file
diff --git a/packages/e2e-tests/scenarios/basic-upload/ref/vite/~/index.js b/packages/e2e-tests/scenarios/basic-upload/ref/vite/~/index.js
new file mode 100644
index 000000000000..4438a4b33d4a
--- /dev/null
+++ b/packages/e2e-tests/scenarios/basic-upload/ref/vite/~/index.js
@@ -0,0 +1,2 @@
+"use strict";var i=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};i.SENTRY_RELEASE={id:"basic-upload-vite"};const o=e=>{if(e===3)throw new Error("I'm an uncaught error");return e<=1?e:o(e-1)+o(e-2)};console.log("Hi, I'm a very simple app");o(10);console.log("I'm done");
+//# sourceMappingURL=index.js.map
diff --git a/packages/e2e-tests/scenarios/basic-upload/ref/vite/~/index.js.map b/packages/e2e-tests/scenarios/basic-upload/ref/vite/~/index.js.map
new file mode 100644
index 000000000000..f579e392b316
--- /dev/null
+++ b/packages/e2e-tests/scenarios/basic-upload/ref/vite/~/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sources":["../../input/fib.js","../../input/index.js"],"sourcesContent":["export const fibonacci = (n) => {\n if (n === 3) {\n throw new Error(\"I'm an uncaught error\");\n }\n if (n <= 1) {\n return n;\n }\n return fibonacci(n - 1) + fibonacci(n - 2);\n};\n","import { fibonacci } from \"./fib\";\nconsole.log(\"Hi, I'm a very simple app\");\n\nfibonacci(10);\n\nconsole.log(\"I'm done\");\n"],"names":["fibonacci","n"],"mappings":"uIAAA,MAAAA,EAAAC,GAAA,CACA,GAAAA,IAAA,EACA,MAAA,IAAA,MAAA,uBAAA,EAEA,OAAAA,GAAA,EACAA,EAEAD,EAAAC,EAAA,CAAA,EAAAD,EAAAC,EAAA,CAAA,CACA,ECPA,QAAA,IAAA,2BAAA,EAEAD,EAAA,EAAA,EAEA,QAAA,IAAA,UAAA"}
\ No newline at end of file
diff --git a/packages/e2e-tests/scenarios/basic-upload/ref/webpack4/~/index.js b/packages/e2e-tests/scenarios/basic-upload/ref/webpack4/~/index.js
new file mode 100644
index 000000000000..9066db4c3cbb
--- /dev/null
+++ b/packages/e2e-tests/scenarios/basic-upload/ref/webpack4/~/index.js
@@ -0,0 +1,2 @@
+!function(e,n){for(var r in n)e[r]=n[r]}(exports,function(e){var n={};function r(t){if(n[t])return n[t].exports;var o=n[t]={i:t,l:!1,exports:{}};return e[t].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=n,r.d=function(e,n,t){r.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,n){if(1&n&&(e=r(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(r.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var o in e)r.d(t,o,function(n){return e[n]}.bind(null,o));return t},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,"a",n),n},r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.p="",r(r.s=1)}([function(e,n){("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{}).SENTRY_RELEASE={id:"basic-upload-webpack4"}},function(e,n,r){"use strict";r.r(n);r(0);const t=e=>{if(3===e)throw new Error("I'm an uncaught error");return e<=1?e:t(e-1)+t(e-2)};console.log("Hi, I'm a very simple app"),t(10),console.log("I'm done")}]));
+//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/packages/e2e-tests/scenarios/basic-upload/ref/webpack4/~/index.js.map b/packages/e2e-tests/scenarios/basic-upload/ref/webpack4/~/index.js.map
new file mode 100644
index 000000000000..04f5cb9a429d
--- /dev/null
+++ b/packages/e2e-tests/scenarios/basic-upload/ref/webpack4/~/index.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./_virtual_%00sentry-release-injector","webpack:///./scenarios/basic-upload/input/fib.js","webpack:///./scenarios/basic-upload/input/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","window","global","self","SENTRY_RELEASE","id","fibonacci","Error","console","log"],"mappings":"6DACE,IAAIA,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,IAUV,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,QA0Df,OArDAF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEZ,EAAoBkB,EAAI,SAAShB,GACX,oBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,KAQvDrB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG/B,EAAoBkC,EAAI,GAIjBlC,EAAoBA,EAAoBmC,EAAI,G,iBChF7B,oBAAXC,OACLA,OACkB,oBAAXC,OACLA,OACgB,oBAATC,KACLA,KACA,IAEAC,eAAe,CAACC,GAAG,0B,yCCVxB,MAAMC,EAAaZ,IACxB,GAAU,IAANA,EACF,MAAM,IAAIa,MAAM,yBAElB,OAAIb,GAAK,EACAA,EAEFY,EAAUZ,EAAI,GAAKY,EAAUZ,EAAI,ICN1Cc,QAAQC,IAAI,6BAEZH,EAAU,IAEVE,QAAQC,IAAI","file":"index.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n","\n var _global =\n typeof window !== 'undefined' ?\n window :\n typeof global !== 'undefined' ?\n global :\n typeof self !== 'undefined' ?\n self :\n {};\n\n _global.SENTRY_RELEASE={id:\"basic-upload-webpack4\"};","export const fibonacci = (n) => {\n if (n === 3) {\n throw new Error(\"I'm an uncaught error\");\n }\n if (n <= 1) {\n return n;\n }\n return fibonacci(n - 1) + fibonacci(n - 2);\n};\nimport \"\u0000sentry-release-injector\";","import { fibonacci } from \"./fib\";\nconsole.log(\"Hi, I'm a very simple app\");\n\nfibonacci(10);\n\nconsole.log(\"I'm done\");\nimport \"\u0000sentry-release-injector\";"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/e2e-tests/scenarios/basic-upload/ref/webpack5/~/index.js b/packages/e2e-tests/scenarios/basic-upload/ref/webpack5/~/index.js
new file mode 100644
index 000000000000..05d1a48b700e
--- /dev/null
+++ b/packages/e2e-tests/scenarios/basic-upload/ref/webpack5/~/index.js
@@ -0,0 +1,2 @@
+(()=>{var e={434:(e,o,r)=>{("undefined"!=typeof window?window:void 0!==r.g?r.g:"undefined"!=typeof self?self:{}).SENTRY_RELEASE={id:"basic-upload-webpack5"}}},o={};function r(t){var n=o[t];if(void 0!==n)return n.exports;var i=o[t]={exports:{}};return e[t](i,i.exports,r),i.exports}r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var t={};(()=>{"use strict";r.r(t),r(434);const e=o=>{if(3===o)throw new Error("I'm an uncaught error");return o<=1?o:e(o-1)+e(o-2)};console.log("Hi, I'm a very simple app"),e(10),console.log("I'm done")})();var n=exports;for(var i in t)n[i]=t[i];t.__esModule&&Object.defineProperty(n,"__esModule",{value:!0})})();
+//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/packages/e2e-tests/scenarios/basic-upload/ref/webpack5/~/index.js.map b/packages/e2e-tests/scenarios/basic-upload/ref/webpack5/~/index.js.map
new file mode 100644
index 000000000000..58a23cf4f0ec
--- /dev/null
+++ b/packages/e2e-tests/scenarios/basic-upload/ref/webpack5/~/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","mappings":"4BAEwB,oBAAXA,OACLA,YACkB,IAAX,EAAAC,EACL,EAAAA,EACgB,oBAATC,KACLA,KACA,CAAC,GAEDC,eAAe,CAACC,GAAG,wB,GCT3BC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaE,QAGrB,IAAIC,EAASN,EAAyBE,GAAY,CAGjDG,QAAS,CAAC,GAOX,OAHAE,EAAoBL,GAAUI,EAAQA,EAAOD,QAASJ,GAG/CK,EAAOD,OACf,CCtBAJ,EAAoBL,EAAI,WACvB,GAA0B,iBAAfY,WAAyB,OAAOA,WAC3C,IACC,OAAOC,MAAQ,IAAIC,SAAS,cAAb,EAGhB,CAFE,MAAOC,GACR,GAAsB,iBAAXhB,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCCxBM,EAAoBW,EAAKP,IACH,oBAAXQ,QAA0BA,OAAOC,aAC1CC,OAAOC,eAAeX,EAASQ,OAAOC,YAAa,CAAEG,MAAO,WAE7DF,OAAOC,eAAeX,EAAS,aAAc,CAAEY,OAAO,GAAO,E,0CCLvD,MAAMC,EAAaC,IACxB,GAAU,IAANA,EACF,MAAM,IAAIC,MAAM,yBAElB,OAAID,GAAK,EACAA,EAEFD,EAAUC,EAAI,GAAKD,EAAUC,EAAI,EAAE,ECN5CE,QAAQC,IAAI,6BAEZJ,EAAU,IAEVG,QAAQC,IAAI,W","sources":["webpack://@sentry-internal/bundler-plugin-e2e-tests/./_virtual_%00sentry-release-injector","webpack://@sentry-internal/bundler-plugin-e2e-tests/webpack/bootstrap","webpack://@sentry-internal/bundler-plugin-e2e-tests/webpack/runtime/global","webpack://@sentry-internal/bundler-plugin-e2e-tests/webpack/runtime/make namespace object","webpack://@sentry-internal/bundler-plugin-e2e-tests/./scenarios/basic-upload/input/fib.js","webpack://@sentry-internal/bundler-plugin-e2e-tests/./scenarios/basic-upload/input/index.js"],"sourcesContent":["\n var _global =\n typeof window !== 'undefined' ?\n window :\n typeof global !== 'undefined' ?\n global :\n typeof self !== 'undefined' ?\n self :\n {};\n\n _global.SENTRY_RELEASE={id:\"basic-upload-webpack5\"};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export const fibonacci = (n) => {\n if (n === 3) {\n throw new Error(\"I'm an uncaught error\");\n }\n if (n <= 1) {\n return n;\n }\n return fibonacci(n - 1) + fibonacci(n - 2);\n};\nimport \"\u0000sentry-release-injector\";","import { fibonacci } from \"./fib\";\nconsole.log(\"Hi, I'm a very simple app\");\n\nfibonacci(10);\n\nconsole.log(\"I'm done\");\nimport \"\u0000sentry-release-injector\";"],"names":["window","g","self","SENTRY_RELEASE","id","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","globalThis","this","Function","e","r","Symbol","toStringTag","Object","defineProperty","value","fibonacci","n","Error","console","log"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/e2e-tests/scenarios/basic-upload/setup.ts b/packages/e2e-tests/scenarios/basic-upload/setup.ts
new file mode 100644
index 000000000000..34cbb317ed02
--- /dev/null
+++ b/packages/e2e-tests/scenarios/basic-upload/setup.ts
@@ -0,0 +1,16 @@
+import * as path from "path";
+
+import { pluginConfig } from "./config";
+import { deleteAllReleases } from "../../utils/releases";
+import { createCjsBundles } from "../../utils/create-cjs-bundles";
+
+deleteAllReleases(pluginConfig.release || "")
+ .then(() => {
+ const entryPointPath = path.resolve(__dirname, "./input/index.js");
+ const outputDir = path.resolve(__dirname, "./out");
+
+ createCjsBundles({ index: entryPointPath }, outputDir, pluginConfig);
+ })
+ .catch(() => {
+ console.error("Could not delete release!");
+ });
diff --git a/packages/e2e-tests/scripts/run-scenario-setups.ts b/packages/e2e-tests/scripts/run-scenario-setups.ts
new file mode 100644
index 000000000000..8bd7ff049308
--- /dev/null
+++ b/packages/e2e-tests/scripts/run-scenario-setups.ts
@@ -0,0 +1,10 @@
+import fs from "fs";
+import path from "path";
+
+const scenarioPaths = fs
+ .readdirSync(path.join(__dirname, "../scenarios"))
+ .map((fixtureDir) => path.join(__dirname, "../scenarios", fixtureDir));
+
+scenarioPaths.forEach((fixturePath) => {
+ require(path.join(fixturePath, "setup.ts"));
+});
diff --git a/packages/e2e-tests/tsconfig.json b/packages/e2e-tests/tsconfig.json
new file mode 100644
index 000000000000..79bc94be3707
--- /dev/null
+++ b/packages/e2e-tests/tsconfig.json
@@ -0,0 +1,9 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "@sentry-internal/sentry-bundler-plugin-tsconfig/base-config.json",
+ "include": ["./**/*"],
+ "compilerOptions": {
+ "esModuleInterop": true,
+ "types": ["node", "jest"]
+ }
+}
diff --git a/packages/e2e-tests/utils/bundlers.ts b/packages/e2e-tests/utils/bundlers.ts
new file mode 100644
index 000000000000..358ebbb13c33
--- /dev/null
+++ b/packages/e2e-tests/utils/bundlers.ts
@@ -0,0 +1 @@
+export const BUNDLERS = ["rollup", "vite", "esbuild", "webpack4", "webpack5"];
diff --git a/packages/e2e-tests/utils/create-cjs-bundles.ts b/packages/e2e-tests/utils/create-cjs-bundles.ts
new file mode 100644
index 000000000000..d1c20f3fe4c2
--- /dev/null
+++ b/packages/e2e-tests/utils/create-cjs-bundles.ts
@@ -0,0 +1,133 @@
+import * as vite from "vite";
+import * as path from "path";
+import * as rollup from "rollup";
+import { default as webpack4 } from "webpack4";
+import { webpack as webpack5 } from "webpack";
+import * as esbuild from "esbuild";
+
+import sentryVitePlugin, { Options } from "@sentry/vite-plugin";
+import sentryWebpackPlugin from "@sentry/webpack-plugin";
+import sentryEsbuildPlugin from "@sentry/esbuild-plugin";
+import sentryRollupPlugin from "@sentry/rollup-plugin";
+
+export function createCjsBundles(
+ entrypoints: { [name: string]: string },
+ outFolder: string,
+ sentryUnpluginOptions: Options
+): void {
+ if (!sentryUnpluginOptions.release) {
+ console.error("Config has no release set, aborting");
+ return;
+ }
+
+ void vite.build({
+ clearScreen: false,
+ build: {
+ sourcemap: true,
+ outDir: path.join(outFolder, "vite"),
+ rollupOptions: {
+ input: entrypoints,
+ output: {
+ format: "cjs",
+ entryFileNames: "[name].js",
+ },
+ },
+ },
+ plugins: [
+ sentryVitePlugin({
+ ...sentryUnpluginOptions,
+ release: `${sentryUnpluginOptions.release}-vite`,
+ include: `${sentryUnpluginOptions.include as string}/vite`,
+ }),
+ ],
+ });
+
+ void rollup
+ .rollup({
+ input: entrypoints,
+ plugins: [
+ sentryRollupPlugin({
+ ...sentryUnpluginOptions,
+ release: `${sentryUnpluginOptions.release}-rollup`,
+ include: `${sentryUnpluginOptions.include as string}/rollup`,
+ }),
+ ],
+ })
+ .then((bundle) =>
+ bundle.write({
+ sourcemap: true,
+ dir: path.join(outFolder, "rollup"),
+ format: "cjs",
+ exports: "named",
+ })
+ );
+
+ void esbuild.build({
+ entryPoints: entrypoints,
+ outdir: path.join(outFolder, "esbuild"),
+ sourcemap: true,
+ plugins: [
+ sentryEsbuildPlugin({
+ ...sentryUnpluginOptions,
+ release: `${sentryUnpluginOptions.release}-esbuild`,
+ include: `${sentryUnpluginOptions.include as string}/esbuild`,
+ }),
+ ],
+ minify: true,
+ bundle: true,
+ format: "cjs",
+ });
+
+ webpack4(
+ {
+ devtool: "source-map",
+ mode: "production",
+ entry: entrypoints,
+ cache: false,
+ output: {
+ path: path.join(outFolder, "webpack4"),
+ libraryTarget: "commonjs",
+ },
+ target: "node", // needed for webpack 4 so we can access node api
+ plugins: [
+ sentryWebpackPlugin({
+ ...sentryUnpluginOptions,
+ release: `${sentryUnpluginOptions.release}-webpack4`,
+ include: `${sentryUnpluginOptions.include as string}/webpack4`,
+ }),
+ ],
+ },
+ (err) => {
+ if (err) {
+ throw err;
+ }
+ }
+ );
+
+ webpack5(
+ {
+ devtool: "source-map",
+ cache: false,
+ entry: entrypoints,
+ output: {
+ path: path.join(outFolder, "webpack5"),
+ library: {
+ type: "commonjs",
+ },
+ },
+ mode: "production",
+ plugins: [
+ sentryWebpackPlugin({
+ ...sentryUnpluginOptions,
+ release: `${sentryUnpluginOptions.release}-webpack5`,
+ include: `${sentryUnpluginOptions.include as string}/webpack5`,
+ }),
+ ],
+ },
+ (err) => {
+ if (err) {
+ throw err;
+ }
+ }
+ );
+}
diff --git a/packages/e2e-tests/utils/releases.ts b/packages/e2e-tests/utils/releases.ts
new file mode 100644
index 000000000000..d3c673939270
--- /dev/null
+++ b/packages/e2e-tests/utils/releases.ts
@@ -0,0 +1,83 @@
+import { AxiosError } from "axios";
+import { BUNDLERS } from "./bundlers";
+import {
+ deleteReleaseFromSentry,
+ getReleaseFileFromSentry,
+ getReleaseFilesFromSentry,
+} from "./sentry-api";
+
+import fs from "fs";
+import path from "path";
+import glob from "glob";
+
+type ReleaseFilesData = {
+ id: string;
+ name: string;
+ dist?: string;
+ headers: Record;
+ size: number;
+ sha1: string;
+ dateCreated: string;
+};
+
+type ReleaseFile = {
+ name: string;
+ content: string;
+};
+
+export function deleteAllReleases(release: string) {
+ return Promise.all(
+ BUNDLERS.map(async (bundler) => {
+ const bundlerRelease = `${release}-${bundler}`;
+ try {
+ const response = await deleteReleaseFromSentry(bundlerRelease);
+ return response;
+ } catch (e) {
+ if ((e as AxiosError).response?.status === 404) {
+ return Promise.resolve();
+ }
+ throw e;
+ }
+ })
+ );
+}
+
+export async function getSentryReleaseFiles(release: string): Promise {
+ const releaseFileEntries = await getReleaseFiles(release);
+
+ const releaseFiles: ReleaseFile[] = await Promise.all(
+ releaseFileEntries.map((entry) => getReleaseFile(release, entry))
+ );
+ return releaseFiles;
+}
+
+export function getReferenceFiles(bundler: string, testDirecory: string): ReleaseFile[] {
+ const refFilePath = path.resolve(testDirecory, "ref", bundler);
+ const files = glob.sync(path.join(refFilePath, "**"), {
+ nodir: true,
+ absolute: true,
+ });
+ return files.map((file) => {
+ return {
+ name: path.relative(refFilePath, file),
+ content: fs.readFileSync(file).toString(),
+ };
+ });
+}
+
+async function getReleaseFiles(release: string): Promise {
+ const response = await getReleaseFilesFromSentry(release);
+ return response.data as ReleaseFilesData[];
+}
+
+async function getReleaseFile(release: string, fileEntry: ReleaseFilesData): Promise {
+ const response = await getReleaseFileFromSentry(release, fileEntry.id);
+ const data = response.data as ReleaseFile;
+
+ return {
+ name: fileEntry.name,
+ // source maps are JSON and therefore, axios returns them as an object
+ // We want them as a string, though, so we convert it
+ content: typeof data === "object" ? JSON.stringify(data) : data,
+ };
+}
diff --git a/packages/e2e-tests/utils/sentry-api.ts b/packages/e2e-tests/utils/sentry-api.ts
new file mode 100644
index 000000000000..c275b0fa88fa
--- /dev/null
+++ b/packages/e2e-tests/utils/sentry-api.ts
@@ -0,0 +1,39 @@
+import axios from "axios";
+
+const AUTH_TOKEN = process.env["SENTRY_AUTH_TOKEN"] || "";
+const SENTRY_TEST_ORG_SLUG = "sentry-sdks";
+const SENTRY_TEST_PROJECT = "js-bundler-plugin-e2e-tests";
+
+/**
+ * Sends a request to the Sentry API to GET all release files of a given release name
+ */
+export async function getReleaseFilesFromSentry(release: string) {
+ return axios.get(
+ `https://sentry.io/api/0/projects/${SENTRY_TEST_ORG_SLUG}/${SENTRY_TEST_PROJECT}/releases/${release}/files/`,
+ { headers: getSentryApiHeaders() }
+ );
+}
+
+/**
+ * Sends a request to the Sentry API to GET a specific release file of a given release name and fileId
+ */
+export async function getReleaseFileFromSentry(release: string, fileId: string) {
+ return axios.get(
+ `https://sentry.io/api/0/projects/${SENTRY_TEST_ORG_SLUG}/${SENTRY_TEST_PROJECT}/releases/${release}/files/${fileId}/?download=1`,
+ { headers: getSentryApiHeaders() }
+ );
+}
+
+/**
+ * Sends a request to the Sentry API to DELETE a specific release for a given release name
+ */
+export async function deleteReleaseFromSentry(release: string) {
+ return axios.delete(
+ `https://sentry.io/api/0/projects/${SENTRY_TEST_ORG_SLUG}/${SENTRY_TEST_PROJECT}/releases/${release}/`,
+ { headers: getSentryApiHeaders() }
+ );
+}
+
+function getSentryApiHeaders() {
+ return { Authorization: `Bearer ${AUTH_TOKEN}` };
+}
diff --git a/yarn.lock b/yarn.lock
index b65f1413f3ff..18ee774672e7 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2799,6 +2799,13 @@
resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e"
integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==
+"@types/axios@^0.14.0":
+ version "0.14.0"
+ resolved "https://registry.yarnpkg.com/@types/axios/-/axios-0.14.0.tgz#ec2300fbe7d7dddd7eb9d3abf87999964cafce46"
+ integrity sha512-KqQnQbdYE54D7oa/UmYVMZKq7CO4l8DEENzOKc4aBRwxCXSlJXGz83flFx5L7AWrOQnmuN3kVsRdt+GZPPjiVQ==
+ dependencies:
+ axios "*"
+
"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14":
version "7.1.19"
resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460"
@@ -2897,7 +2904,7 @@
"@types/qs" "*"
"@types/serve-static" "*"
-"@types/glob@^8.0.0":
+"@types/glob@8.0.0":
version "8.0.0"
resolved "https://registry.yarnpkg.com/@types/glob/-/glob-8.0.0.tgz#321607e9cbaec54f687a0792b2d1d370739455d2"
integrity sha512-l6NQsDDyQUVeoTynNpC9uRvCUint/gSUXQA2euwmTuWGvPY5LSDUu6tkCtJB2SvGQlJQzLaKqcGZP4//7EDveA==
@@ -3795,15 +3802,7 @@ atob@^2.1.2:
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
-axios@^0.27.2:
- version "0.27.2"
- resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972"
- integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==
- dependencies:
- follow-redirects "^1.14.9"
- form-data "^4.0.0"
-
-axios@^1.0.0:
+axios@*, axios@^1.0.0, axios@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/axios/-/axios-1.1.3.tgz#8274250dada2edf53814ed7db644b9c2866c1e35"
integrity sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==
@@ -3812,6 +3811,14 @@ axios@^1.0.0:
form-data "^4.0.0"
proxy-from-env "^1.1.0"
+axios@^0.27.2:
+ version "0.27.2"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972"
+ integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==
+ dependencies:
+ follow-redirects "^1.14.9"
+ form-data "^4.0.0"
+
babel-jest@^27.5.1:
version "27.5.1"
resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.1.tgz#a1bf8d61928edfefd21da27eb86a695bfd691444"
From b89bcc634435c106a63ea3fd7a7acb0adabe2807 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Fri, 28 Oct 2022 11:51:22 +0200
Subject: [PATCH 069/640] test(CI): Add E2E and split test jobs (#77)
Split up our tests in CI and adds an E2E test job. We now have three jobs for testing:
* Unit tests
* Integration tests
* E2E tests
New testing commands for yarn:
* `yarn test`
* top level: executes all tests **except** for E2E tests
* package level: executes the tests of the package (also in E2E tests package)
* `yarn test:all`
* top level: executes all tests, **including** E2E tests
* package level: N/A
In the future we might want to look into build caching to leverage nx' cache capabilities but for now, I'll work on more pressing stuff.
---
.github/workflows/checks.yml | 32 +++++++++++++++++++++++++++++---
nx.json | 3 ++-
package.json | 6 +++++-
packages/e2e-tests/package.json | 2 +-
4 files changed, 37 insertions(+), 6 deletions(-)
diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml
index dee7a2c211a5..02c133baef80 100644
--- a/.github/workflows/checks.yml
+++ b/.github/workflows/checks.yml
@@ -46,9 +46,9 @@ jobs:
- run: yarn --frozen-lockfile
- run: yarn check:formatting
- test:
+ test-unit:
needs: build
- name: Tests
+ name: Unit Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
@@ -56,7 +56,33 @@ jobs:
with:
node-version: ${{ env.DEFAULT_NODE_VERSION }}
- run: yarn --frozen-lockfile
- - run: yarn test
+ - run: yarn test:unit
+
+ test-integration:
+ needs: build
+ name: Integration Tests
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-node@v3
+ with:
+ node-version: ${{ env.DEFAULT_NODE_VERSION }}
+ - run: yarn --frozen-lockfile
+ - run: yarn test:integration
+
+ test-e2e:
+ needs: build
+ name: E2E Tests
+ runs-on: ubuntu-latest
+ env:
+ SENTRY_AUTH_TOKEN: ${{ secrets.E2E_TESTS_SENTRY_AUTH_TOKEN }}
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-node@v3
+ with:
+ node-version: ${{ env.DEFAULT_NODE_VERSION }}
+ - run: yarn --frozen-lockfile
+ - run: yarn test:e2e
lint:
needs: build
diff --git a/nx.json b/nx.json
index a7836ba51dd0..a8d43f5c31f6 100644
--- a/nx.json
+++ b/nx.json
@@ -8,7 +8,8 @@
"default": {
"runner": "nx/tasks-runners/default",
"options": {
- "cacheableOperations": ["build", "lint", "test"]
+ "cacheableOperations": ["build", "lint", "test"],
+ "parallel": 10
}
}
},
diff --git a/package.json b/package.json
index 3be276d6f921..b5e66f49a010 100644
--- a/package.json
+++ b/package.json
@@ -16,7 +16,11 @@
"check:types": "nx run-many --target=check:types --all",
"clean": "nx run-many --target=clean --all",
"clean:all": "nx run-many --target=clean:all --all && yarn",
- "test": "nx run-many --target=test --all",
+ "test": "nx run-many --target=test --all --exclude=@sentry-internal/bundler-plugin-e2e-tests",
+ "test:all": "nx run-many --target=test --all",
+ "test:unit": "nx run-many --target=test --all --exclude=@sentry-internal/integration-tests,@sentry-internal/bundler-plugin-e2e-tests",
+ "test:integration": "nx run @sentry-internal/integration-tests:test",
+ "test:e2e": "nx run @sentry-internal/bundler-plugin-e2e-tests:test",
"lint": "nx run-many --target=lint --all",
"check:formatting": "prettier --check .",
"fix:formatting": "prettier --write .",
diff --git a/packages/e2e-tests/package.json b/packages/e2e-tests/package.json
index 4d4636d3be67..7a21d4b63c37 100644
--- a/packages/e2e-tests/package.json
+++ b/packages/e2e-tests/package.json
@@ -4,7 +4,7 @@
"license": "MIT",
"private": true,
"scripts": {
- "test:e2e": "run-s test:setup test:jest",
+ "test": "run-s test:setup test:jest",
"test:setup": "ts-node scripts/run-scenario-setups.ts",
"test:jest": "jest",
"check:types": "tsc --project ./tsconfig.json --noEmit",
From b5eb585e8b67e0e54778859a8d3971f4cc0d3b07 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Mon, 31 Oct 2022 10:50:32 +0100
Subject: [PATCH 070/640] chore(ci): Only upload artifacts on release branches
(#78)
---
.github/workflows/checks.yml | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml
index 02c133baef80..6e18bbd0ee6e 100644
--- a/.github/workflows/checks.yml
+++ b/.github/workflows/checks.yml
@@ -101,8 +101,7 @@ jobs:
name: Upload Artifacts
runs-on: ubuntu-latest
# Build artifacts are only needed for releasing workflow.
- # TODO comment back in
- # if: startsWith(github.ref, 'refs/heads/release/')
+ if: startsWith(github.ref, 'refs/heads/release/')
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
From 17b4f9a4aba46859dcb8823c3510d9e3b9f1c4f0 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Mon, 31 Oct 2022 11:01:19 +0100
Subject: [PATCH 071/640] feat(core): Add `ignore` option (#79)
Add the `ignore` option implementation to the plugin core. We're using `glob` for recursively searching for files which, as luck would have it, also supports an `ignore` option (h/t @lforst for finding this out).
We don't have to do a lot to get it working properly other than converting the ignore entries from our users to absolute paths. I tried passing on relative paths but it wouldn't work as expected when trying to replicate how users (and our [documentation](https://github.com/getsentry/sentry-webpack-plugin#optionsinclude)) [use the `ignore` option](https://cs.github.com/?scopeName=All+repos&scope=&q=%22new+sentrycliplugin%28%22+ignore).
---
packages/bundler-plugin-core/src/options-mapping.ts | 2 +-
packages/bundler-plugin-core/src/sentry/sourcemaps.ts | 5 +++++
packages/bundler-plugin-core/test/option-mappings.test.ts | 2 +-
3 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/packages/bundler-plugin-core/src/options-mapping.ts b/packages/bundler-plugin-core/src/options-mapping.ts
index f1bd6921d5dd..d61bd0e02b0c 100644
--- a/packages/bundler-plugin-core/src/options-mapping.ts
+++ b/packages/bundler-plugin-core/src/options-mapping.ts
@@ -114,7 +114,7 @@ function normalizeIncludeEntry(
userOptions: UserOptions,
includeEntry: UserIncludeEntry
): InternalIncludeEntry {
- const ignoreOption = includeEntry.ignore ?? userOptions.ignore ?? [];
+ const ignoreOption = includeEntry.ignore ?? userOptions.ignore ?? ["node_modules"];
const ignore = Array.isArray(ignoreOption) ? ignoreOption : [ignoreOption];
// We're prefixing all entries in the `ext` option with a `.` (if it isn't already) to align with Node.js' `path.extname()`
diff --git a/packages/bundler-plugin-core/src/sentry/sourcemaps.ts b/packages/bundler-plugin-core/src/sentry/sourcemaps.ts
index 5c0e2b7d91a2..87de8ab4cda6 100644
--- a/packages/bundler-plugin-core/src/sentry/sourcemaps.ts
+++ b/packages/bundler-plugin-core/src/sentry/sourcemaps.ts
@@ -28,10 +28,15 @@ export function getFiles(includePath: string, includeEntry: InternalIncludeEntry
if (fileStat.isFile()) {
files = [{ absolutePath, relativePath: path.basename(absolutePath) }];
} else if (fileStat.isDirectory()) {
+ const absoluteIgnores = includeEntry.ignore.map((ignoreEntry) =>
+ path.join(process.cwd(), ignoreEntry)
+ );
+
files = glob
.sync(path.join(absolutePath, "**"), {
nodir: true,
absolute: true,
+ ignore: absoluteIgnores,
})
.map((globPath) => ({
absolutePath: globPath,
diff --git a/packages/bundler-plugin-core/test/option-mappings.test.ts b/packages/bundler-plugin-core/test/option-mappings.test.ts
index bc8c54f6b4db..100e9970d87a 100644
--- a/packages/bundler-plugin-core/test/option-mappings.test.ts
+++ b/packages/bundler-plugin-core/test/option-mappings.test.ts
@@ -21,7 +21,7 @@ describe("normalizeUserOptions()", () => {
include: [
{
ext: [".js", ".map", ".jsbundle", ".bundle"],
- ignore: [],
+ ignore: ["node_modules"],
paths: ["./out"],
rewrite: true,
sourceMapReference: true,
From db04eb5a636c6b97095c09309c03c01f582439e0 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Wed, 2 Nov 2022 11:51:19 +0100
Subject: [PATCH 072/640] feat(core): Add `ignoreFile` option (#80)
Implement the `ignoreFile` option and rewrite the `ignore` option behaviour.
Previously, we used `glob`'s `ignore` option to pass an array of ignore rules to the library. This meant we'd get back a set of filtered files where ignore rules were already applied. However, `glob` does not support negated ignore rules, meaning ignore patterns like "ignore everything except file x" wouldn't work.
With this change, we introduce a new library to the project: [ignore](https://www.npmjs.com/package/ignore). It lets us add rules to a rule checker (regardless of if these rules come from a file or an array). We now first collect all files with `glob` and subsequently filter out the ones that are ignored by the specified ignore rules. This rule checker supports all rules as specified in `.gitignore` specs. Therefore, it also supports negated ignore rules.
---
packages/bundler-plugin-core/package.json | 1 +
.../src/sentry/sourcemaps.ts | 96 ++++++++++++-------
packages/playground/.sentryignore | 5 +
.../playground/vite.config.smallNodeApp.js | 12 ++-
4 files changed, 77 insertions(+), 37 deletions(-)
create mode 100644 packages/playground/.sentryignore
diff --git a/packages/bundler-plugin-core/package.json b/packages/bundler-plugin-core/package.json
index 670ac71cc2e2..b78125439b12 100644
--- a/packages/bundler-plugin-core/package.json
+++ b/packages/bundler-plugin-core/package.json
@@ -39,6 +39,7 @@
"axios": "^0.27.2",
"form-data": "^4.0.0",
"glob": "8.0.3",
+ "ignore": "^5.2.0",
"magic-string": "0.26.2",
"unplugin": "0.10.1"
},
diff --git a/packages/bundler-plugin-core/src/sentry/sourcemaps.ts b/packages/bundler-plugin-core/src/sentry/sourcemaps.ts
index 87de8ab4cda6..07f02b8c383c 100644
--- a/packages/bundler-plugin-core/src/sentry/sourcemaps.ts
+++ b/packages/bundler-plugin-core/src/sentry/sourcemaps.ts
@@ -3,13 +3,55 @@ import fs, { Stats } from "fs";
import glob from "glob";
import { InternalIncludeEntry } from "../options-mapping";
+import ignore, { Ignore } from "ignore";
+
export type FileRecord = {
name: string;
content: string;
};
+type FileNameRecord = {
+ absolutePath: string;
+ // Contains relative paths without leading `.` (e.g. "foo/bar.js" or "asdf\\a\\b.js.map")
+ relativePath: string;
+ // Holds the path of the file relative to the CWD (used for ignore matching)
+ relativeCwdPath: string;
+};
+
export function getFiles(includePath: string, includeEntry: InternalIncludeEntry): FileRecord[] {
+ // Start with getting all (unfiltered) files for the given includePath.
+ const files = collectAllFiles(includePath);
+ if (!files.length) {
+ return [];
+ }
+
+ const ignore = getIgnoreRules(includeEntry);
+ const filteredFiles = files
+ .filter(({ relativeCwdPath }) => !ignore.ignores(relativeCwdPath))
+ .filter(({ absolutePath }) => includeEntry.ext.includes(path.extname(absolutePath)));
+
+ // TODO do sourcemap rewriting?
+ // TODO do sourcefile rewriting? (adding source map reference to bottom - search for "guess_sourcemap_reference")
+ return filteredFiles.map(({ absolutePath, relativePath }) => {
+ const content = fs.readFileSync(absolutePath, { encoding: "utf-8" });
+ return {
+ name:
+ (includeEntry.urlPrefix ?? "~/") +
+ convertWindowsPathToPosix(relativePath) +
+ (includeEntry.urlSuffix ?? ""),
+ content,
+ };
+ });
+}
+
+/**
+ * Collects all (unfiltered) files from @param includePath
+ * @param includePath
+ * @returns an array of files
+ */
+function collectAllFiles(includePath: string): FileNameRecord[] {
let fileStat: Stats;
+
const absolutePath = path.isAbsolute(includePath)
? includePath
: path.resolve(process.cwd(), includePath);
@@ -19,52 +61,42 @@ export function getFiles(includePath: string, includeEntry: InternalIncludeEntry
return [];
}
- let files: {
- absolutePath: string;
- // Contains relative paths without leading `.` (e.g. "foo/bar.js" or "asdf\\a\\b.js.map")
- relativePath: string;
- }[];
-
if (fileStat.isFile()) {
- files = [{ absolutePath, relativePath: path.basename(absolutePath) }];
+ return [
+ {
+ absolutePath,
+ relativePath: path.basename(absolutePath),
+ relativeCwdPath: path.relative(process.cwd(), absolutePath),
+ },
+ ];
} else if (fileStat.isDirectory()) {
- const absoluteIgnores = includeEntry.ignore.map((ignoreEntry) =>
- path.join(process.cwd(), ignoreEntry)
- );
-
- files = glob
+ return glob
.sync(path.join(absolutePath, "**"), {
nodir: true,
absolute: true,
- ignore: absoluteIgnores,
})
.map((globPath) => ({
absolutePath: globPath,
relativePath: globPath.slice(absolutePath.length + 1),
+ relativeCwdPath: path.relative(process.cwd(), globPath),
}));
} else {
return [];
}
+}
- const filteredFiles = files.filter(({ absolutePath }) => {
- return includeEntry.ext.includes(path.extname(absolutePath));
- });
-
- // TODO ignore files
- // TODO ignorefile
- // TODO do sourcemap rewriting?
- // TODO do sourcefile rewriting? (adding source map reference to bottom - search for "guess_sourcemap_reference")
-
- return filteredFiles.map(({ absolutePath, relativePath }) => {
- const content = fs.readFileSync(absolutePath, { encoding: "utf-8" });
- return {
- name:
- (includeEntry.urlPrefix ?? "~/") +
- convertWindowsPathToPosix(relativePath) +
- (includeEntry.urlSuffix ?? ""),
- content,
- };
- });
+/**
+ * Adds rules specified in `ignore` and `ignoreFile` to the ignore rule
+ * checker and returns the checker for further use.
+ */
+function getIgnoreRules(includeEntry: InternalIncludeEntry): Ignore {
+ const ignoreChecker = ignore();
+ if (includeEntry.ignoreFile) {
+ const ignoreFileContent = fs.readFileSync(includeEntry.ignoreFile).toString();
+ ignoreChecker.add(ignoreFileContent);
+ }
+ ignoreChecker.add(includeEntry.ignore);
+ return ignoreChecker;
}
function convertWindowsPathToPosix(windowsPath: string): string {
diff --git a/packages/playground/.sentryignore b/packages/playground/.sentryignore
new file mode 100644
index 000000000000..236ac487ddc9
--- /dev/null
+++ b/packages/playground/.sentryignore
@@ -0,0 +1,5 @@
+#out/vite-smallNodeApp/\*\*
+
+# some comment
+
+!out/vite-smallNodeApp/index.js
diff --git a/packages/playground/vite.config.smallNodeApp.js b/packages/playground/vite.config.smallNodeApp.js
index 6873c32669fb..308852b551a3 100644
--- a/packages/playground/vite.config.smallNodeApp.js
+++ b/packages/playground/vite.config.smallNodeApp.js
@@ -17,14 +17,16 @@ export default defineConfig({
},
plugins: [
sentryVitePlugin({
- url: process.env.SENTRY_URL,
- authToken: process.env.SENTRY_AUTH_TOKEN,
- org: process.env.SENTRY_ORG,
- project: process.env.SENTRY_PROJECT,
+ authToken: process.env.SENTRY_AUTH_TOKEN || "",
+ org: process.env.SENTRY_ORG || "",
+ project: process.env.SENTRY_PROJECT || "",
debug: true,
- release: "0.0.11",
+ release: "0.0.14",
include: "out/vite-smallNodeApp",
cleanArtifacts: true,
+ // ignore: ["out/*", "!out/vite-smallNodeApp/index.js.map"],
+ ignore: ["!out/vite-smallNodeApp/index.js.map"],
+ ignoreFile: ".sentryignore",
}),
],
});
From 9be1d5650e31f8ac8708c272947b28f2e02bb9ca Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Thu, 3 Nov 2022 14:43:09 +0100
Subject: [PATCH 073/640] ref(core): Change customHeaders option to
customHeader (#84)
Rename `customHeaders` to `customHeader` and change user-facing data type to string. This change aligns the option with the Sentry Webpack Plugin.
---
.../src/options-mapping.ts | 14 ++++++--
.../bundler-plugin-core/src/sentry/api.ts | 32 +++++++++----------
.../src/sentry/releasePipeline.ts | 8 ++---
packages/bundler-plugin-core/src/types.ts | 6 +---
.../test/option-mappings.test.ts | 19 +++++++++--
5 files changed, 50 insertions(+), 29 deletions(-)
diff --git a/packages/bundler-plugin-core/src/options-mapping.ts b/packages/bundler-plugin-core/src/options-mapping.ts
index d61bd0e02b0c..ea8658e6105b 100644
--- a/packages/bundler-plugin-core/src/options-mapping.ts
+++ b/packages/bundler-plugin-core/src/options-mapping.ts
@@ -12,7 +12,6 @@ type RequiredInternalOptions = Required<
| "finalize"
| "validate"
| "vcsRemote"
- | "customHeaders"
| "dryRun"
| "debug"
| "silent"
@@ -28,6 +27,7 @@ type OptionalInternalOptions = Partial<
type NormalizedInternalOptions = {
entries: (string | RegExp)[] | ((filePath: string) => boolean) | undefined;
include: InternalIncludeEntry[];
+ customHeader: Record;
};
export type InternalOptions = RequiredInternalOptions &
@@ -85,7 +85,7 @@ export function normalizeUserOptions(userOptions: UserOptions): InternalOptions
finalize: userOptions.finalize ?? true,
validate: userOptions.validate ?? false,
vcsRemote: userOptions.vcsRemote ?? "origin",
- customHeaders: userOptions.customHeaders ?? {},
+ customHeader: normalizeCustomHeader(userOptions.customHeader),
dryRun: userOptions.dryRun ?? false,
debug: userOptions.debug ?? false,
silent: userOptions.silent ?? false,
@@ -134,3 +134,13 @@ function normalizeIncludeEntry(
rewrite: includeEntry.rewrite ?? userOptions.rewrite ?? true,
};
}
+
+function normalizeCustomHeader(
+ userCustomHeader: UserOptions["customHeader"]
+): InternalOptions["customHeader"] {
+ if (!userCustomHeader || !userCustomHeader.includes(":")) {
+ return {};
+ }
+ const [key, value] = userCustomHeader.split(/:(.*)/, 2).map((s) => s.trim()) as [string, string];
+ return { [key]: value };
+}
diff --git a/packages/bundler-plugin-core/src/sentry/api.ts b/packages/bundler-plugin-core/src/sentry/api.ts
index 11c551248cef..8a30fc8d726b 100644
--- a/packages/bundler-plugin-core/src/sentry/api.ts
+++ b/packages/bundler-plugin-core/src/sentry/api.ts
@@ -1,7 +1,7 @@
import { Hub } from "@sentry/node";
import axios from "axios";
import FormData from "form-data";
-import { Options } from "../types";
+import { InternalOptions } from "../options-mapping";
import { captureMinimalError } from "./telemetry";
const API_PATH = "api/0";
@@ -9,10 +9,10 @@ const USER_AGENT = `sentry-bundler-plugin/${__PACKAGE_VERSION__}`;
const sentryApiAxiosInstance = ({
authToken,
- customHeaders,
-}: Required> & Pick) =>
+ customHeader,
+}: Required> & Pick) =>
axios.create({
- headers: { ...customHeaders, "User-Agent": USER_AGENT, Authorization: `Bearer ${authToken}` },
+ headers: { ...customHeader, "User-Agent": USER_AGENT, Authorization: `Bearer ${authToken}` },
});
export async function createRelease({
@@ -22,7 +22,7 @@ export async function createRelease({
authToken,
sentryUrl,
sentryHub,
- customHeaders,
+ customHeader,
}: {
release: string;
project: string;
@@ -30,7 +30,7 @@ export async function createRelease({
authToken: string;
sentryUrl: string;
sentryHub: Hub;
- customHeaders?: Record;
+ customHeader: Record;
}): Promise {
const requestUrl = `${sentryUrl}${API_PATH}/organizations/${org}/releases/`;
@@ -42,7 +42,7 @@ export async function createRelease({
};
try {
- await sentryApiAxiosInstance({ authToken, customHeaders }).post(requestUrl, releasePayload, {
+ await sentryApiAxiosInstance({ authToken, customHeader }).post(requestUrl, releasePayload, {
headers: { Authorization: `Bearer ${authToken}` },
});
} catch (e) {
@@ -58,7 +58,7 @@ export async function deleteAllReleaseArtifacts({
authToken,
sentryUrl,
sentryHub,
- customHeaders,
+ customHeader,
}: {
org: string;
release: string;
@@ -66,12 +66,12 @@ export async function deleteAllReleaseArtifacts({
authToken: string;
project: string;
sentryHub: Hub;
- customHeaders?: Record;
+ customHeader: Record;
}): Promise {
const requestUrl = `${sentryUrl}${API_PATH}/projects/${org}/${project}/files/source-maps/?name=${release}`;
try {
- await sentryApiAxiosInstance({ authToken, customHeaders }).delete(requestUrl, {
+ await sentryApiAxiosInstance({ authToken, customHeader }).delete(requestUrl, {
headers: {
Authorization: `Bearer ${authToken}`,
},
@@ -89,7 +89,7 @@ export async function updateRelease({
sentryUrl,
project,
sentryHub,
- customHeaders,
+ customHeader,
}: {
release: string;
org: string;
@@ -97,7 +97,7 @@ export async function updateRelease({
sentryUrl: string;
project: string;
sentryHub: Hub;
- customHeaders?: Record;
+ customHeader: Record;
}): Promise {
const requestUrl = `${sentryUrl}${API_PATH}/projects/${org}/${project}/releases/${release}/`;
@@ -106,7 +106,7 @@ export async function updateRelease({
};
try {
- await sentryApiAxiosInstance({ authToken, customHeaders }).put(requestUrl, releasePayload, {
+ await sentryApiAxiosInstance({ authToken, customHeader }).put(requestUrl, releasePayload, {
headers: { Authorization: `Bearer ${authToken}` },
});
} catch (e) {
@@ -124,7 +124,7 @@ export async function uploadReleaseFile({
filename,
fileContent,
sentryHub,
- customHeaders,
+ customHeader,
}: {
org: string;
release: string;
@@ -134,7 +134,7 @@ export async function uploadReleaseFile({
filename: string;
fileContent: string;
sentryHub: Hub;
- customHeaders?: Record;
+ customHeader: Record;
}) {
const requestUrl = `${sentryUrl}${API_PATH}/projects/${org}/${project}/releases/${release}/files/`;
@@ -143,7 +143,7 @@ export async function uploadReleaseFile({
form.append("file", Buffer.from(fileContent, "utf-8"), { filename });
try {
- await sentryApiAxiosInstance({ authToken, customHeaders }).post(requestUrl, form, {
+ await sentryApiAxiosInstance({ authToken, customHeader }).post(requestUrl, form, {
headers: {
Authorization: `Bearer ${authToken}`,
"Content-Type": "multipart/form-data",
diff --git a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
index 7b4ad6d9a96d..7b22f593d09c 100644
--- a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
+++ b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
@@ -40,7 +40,7 @@ export async function createNewRelease(
project: options.project,
sentryUrl: options.url,
sentryHub: ctx.hub,
- customHeaders: options.customHeaders,
+ customHeader: options.customHeader,
});
ctx.logger.info("Successfully created release.");
@@ -130,7 +130,7 @@ export async function uploadSourceMaps(
filename: file.name,
fileContent: file.content,
sentryHub: ctx.hub,
- customHeaders: options.customHeaders,
+ customHeader: options.customHeader,
})
)
).then(() => {
@@ -160,7 +160,7 @@ export async function finalizeRelease(
sentryUrl: url,
project,
sentryHub: ctx.hub,
- customHeaders: options.customHeaders,
+ customHeader: options.customHeader,
});
ctx.logger.info("Successfully finalized release.");
@@ -196,7 +196,7 @@ export async function cleanArtifacts(options: InternalOptions, ctx: BuildContext
sentryUrl: options.url,
project: options.project,
sentryHub: ctx.hub,
- customHeaders: options.customHeaders,
+ customHeader: options.customHeader,
});
ctx.logger.info("Successfully cleaned previous artifacts.");
diff --git a/packages/bundler-plugin-core/src/types.ts b/packages/bundler-plugin-core/src/types.ts
index 6954431607a4..0d5612b982f5 100644
--- a/packages/bundler-plugin-core/src/types.ts
+++ b/packages/bundler-plugin-core/src/types.ts
@@ -107,12 +107,8 @@ export type Options = Omit & {
/**
* A header added to every outgoing network request.
* The format should be `header-key: header-value`.
- *
- * TODO: This is currently different from the webpack plugin. There, this property is
- * called `customHeader` and it only accepts one header as a string.
- * Change in follow-up PR.
*/
- customHeaders?: Record;
+ customHeader?: string;
/**
* Attempts a dry run (useful for dev environments).
diff --git a/packages/bundler-plugin-core/test/option-mappings.test.ts b/packages/bundler-plugin-core/test/option-mappings.test.ts
index 100e9970d87a..861b6990074a 100644
--- a/packages/bundler-plugin-core/test/option-mappings.test.ts
+++ b/packages/bundler-plugin-core/test/option-mappings.test.ts
@@ -14,7 +14,7 @@ describe("normalizeUserOptions()", () => {
expect(normalizeUserOptions(userOptions)).toEqual({
authToken: "my-auth-token",
cleanArtifacts: false,
- customHeaders: {},
+ customHeader: {},
debug: false,
dryRun: false,
finalize: true,
@@ -58,7 +58,7 @@ describe("normalizeUserOptions()", () => {
expect(normalizeUserOptions(userOptions)).toEqual({
authToken: "my-auth-token",
cleanArtifacts: false,
- customHeaders: {},
+ customHeader: {},
debug: false,
dryRun: false,
finalize: true,
@@ -82,4 +82,19 @@ describe("normalizeUserOptions()", () => {
vcsRemote: "origin",
});
});
+
+ test("should convert string customHeader to internal representation", () => {
+ const userOptions: Options = {
+ org: "my-org",
+ project: "my-project",
+ authToken: "my-auth-token",
+ release: "my-release",
+ include: "dist",
+ customHeader: "customKey: CustomValue",
+ };
+
+ expect(normalizeUserOptions(userOptions)).toEqual(
+ expect.objectContaining({ customHeader: { customKey: "CustomValue" } })
+ );
+ });
});
From 4b7d2e8c731c2081ec5a441281f7a016b1b8571f Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Fri, 4 Nov 2022 13:00:49 +0100
Subject: [PATCH 074/640] ref(core): Add Sentry CLI (#86)
Bring back Sentry CLI as a dependency and adjust a few necessary things to be compatible with the CLI along the way:
* Add CLI dependency
* Add `getCLI()` function which creates a CLI or a stub if in `dryRun` mode
* Adjust logger (+ introduce a debug level)
* `dryRun` mode of CLI needs it
* added variable args parameter to fully utilize `console.log` capabilities
* Bring back the `configFile` option as it is relevant again because of Sentry CLI
---
packages/bundler-plugin-core/package.json | 4 +-
.../src/options-mapping.ts | 3 +-
.../bundler-plugin-core/src/sentry/cli.ts | 61 ++++++++++
.../bundler-plugin-core/src/sentry/logger.ts | 30 +++--
packages/bundler-plugin-core/src/types.ts | 9 ++
packages/bundler-plugin-core/test/cli.test.ts | 16 +++
.../bundler-plugin-core/test/logger.test.ts | 46 ++++---
yarn.lock | 114 ++++++++++++++++--
8 files changed, 241 insertions(+), 42 deletions(-)
create mode 100644 packages/bundler-plugin-core/src/sentry/cli.ts
create mode 100644 packages/bundler-plugin-core/test/cli.test.ts
diff --git a/packages/bundler-plugin-core/package.json b/packages/bundler-plugin-core/package.json
index b78125439b12..e47082f1b41a 100644
--- a/packages/bundler-plugin-core/package.json
+++ b/packages/bundler-plugin-core/package.json
@@ -31,9 +31,11 @@
"clean:build": "rimraf ./dist *.tgz",
"clean:deps": "rimraf node_modules",
"test": "jest",
- "lint": "eslint ./src ./test"
+ "lint": "eslint ./src ./test",
+ "fix": "eslint ./src ./test --format stylish --fix"
},
"dependencies": {
+ "@sentry/cli": "^1.74.6",
"@sentry/node": "^7.11.1",
"@sentry/tracing": "^7.11.1",
"axios": "^0.27.2",
diff --git a/packages/bundler-plugin-core/src/options-mapping.ts b/packages/bundler-plugin-core/src/options-mapping.ts
index ea8658e6105b..56f8ed58841c 100644
--- a/packages/bundler-plugin-core/src/options-mapping.ts
+++ b/packages/bundler-plugin-core/src/options-mapping.ts
@@ -21,7 +21,7 @@ type RequiredInternalOptions = Required<
>;
type OptionalInternalOptions = Partial<
- Pick
+ Pick
>;
type NormalizedInternalOptions = {
@@ -97,6 +97,7 @@ export function normalizeUserOptions(userOptions: UserOptions): InternalOptions
deploy: userOptions.deploy,
entries,
include,
+ configFile: userOptions.configFile,
};
}
diff --git a/packages/bundler-plugin-core/src/sentry/cli.ts b/packages/bundler-plugin-core/src/sentry/cli.ts
new file mode 100644
index 000000000000..41eb35d40703
--- /dev/null
+++ b/packages/bundler-plugin-core/src/sentry/cli.ts
@@ -0,0 +1,61 @@
+import SentryCli, { SentryCliReleases } from "@sentry/cli";
+import { InternalOptions } from "../options-mapping";
+import { Logger } from "./logger";
+
+type SentryDryRunCLI = { releases: Omit };
+type SentryCLILike = SentryCli | SentryDryRunCLI;
+
+/**
+ * Creates a new Sentry CLI instance.
+ *
+ * In case, users selected the `dryRun` options, this returns a stub
+ * that makes no-ops out of most CLI operations
+ */
+export function getSentryCli(internalOptions: InternalOptions, logger: Logger): SentryCLILike {
+ const cli = new SentryCli(internalOptions.configFile, {
+ silent: internalOptions.silent,
+ org: internalOptions.org,
+ project: internalOptions.project,
+ authToken: internalOptions.authToken,
+ url: internalOptions.url,
+ vcsRemote: internalOptions.vcsRemote,
+ });
+
+ if (internalOptions.dryRun) {
+ return getDryRunCLI(cli, logger);
+ }
+
+ return cli;
+}
+
+function getDryRunCLI(cli: SentryCli, logger: Logger): SentryDryRunCLI {
+ return {
+ releases: {
+ proposeVersion: () =>
+ cli.releases.proposeVersion().then((version) => {
+ logger.info("Proposed version:\n", version);
+ return version;
+ }),
+ new: (release: string) => {
+ logger.info("Creating new release:\n", release);
+ return Promise.resolve(release);
+ },
+ uploadSourceMaps: (release: string, config: unknown) => {
+ logger.info("Calling upload-sourcemaps with:\n", config);
+ return Promise.resolve(release);
+ },
+ finalize: (release: string) => {
+ logger.info("Finalizing release:\n", release);
+ return Promise.resolve(release);
+ },
+ setCommits: (release: string, config: unknown) => {
+ logger.info("Calling set-commits with:\n", config);
+ return Promise.resolve(release);
+ },
+ newDeploy: (release: string, config: unknown) => {
+ logger.info("Calling deploy with:\n", config);
+ return Promise.resolve(release);
+ },
+ },
+ };
+}
diff --git a/packages/bundler-plugin-core/src/sentry/logger.ts b/packages/bundler-plugin-core/src/sentry/logger.ts
index dc5fce6e5533..cda91a85ee70 100644
--- a/packages/bundler-plugin-core/src/sentry/logger.ts
+++ b/packages/bundler-plugin-core/src/sentry/logger.ts
@@ -6,7 +6,14 @@ interface LoggerOptions {
prefix: string;
}
-export function createLogger(options: LoggerOptions) {
+export type Logger = {
+ info(message: string, ...params: unknown[]): void;
+ warn(message: string, ...params: unknown[]): void;
+ error(message: string, ...params: unknown[]): void;
+ debug(message: string, ...params: unknown[]): void;
+};
+
+export function createLogger(options: LoggerOptions): Logger {
function addBreadcrumb(level: SeverityLevel, message: string) {
options.hub.addBreadcrumb({
category: "logger",
@@ -16,29 +23,38 @@ export function createLogger(options: LoggerOptions) {
}
return {
- info(message: string) {
+ info(message: string, ...params: unknown[]) {
if (!options?.silent) {
// eslint-disable-next-line no-console
- console.log(`${options.prefix} ${message}`);
+ console.log(`${options.prefix} Info: ${message}`, ...params);
}
addBreadcrumb("info", message);
},
- warn(message: string) {
+ warn(message: string, ...params: unknown[]) {
if (!options?.silent) {
// eslint-disable-next-line no-console
- console.log(`${options.prefix} Warning! ${message}`);
+ console.log(`${options.prefix} Warning: ${message}`, ...params);
}
addBreadcrumb("warning", message);
},
- error(message: string) {
+ error(message: string, ...params: unknown[]) {
if (!options?.silent) {
// eslint-disable-next-line no-console
- console.log(`${options.prefix} Error: ${message}`);
+ console.log(`${options.prefix} Error: ${message}`, ...params);
}
addBreadcrumb("error", message);
},
+
+ debug(message: string, ...params: unknown[]) {
+ if (!options?.silent) {
+ // eslint-disable-next-line no-console
+ console.log(`${options.prefix} Debug: ${message}`, ...params);
+ }
+
+ addBreadcrumb("debug", message);
+ },
};
}
diff --git a/packages/bundler-plugin-core/src/types.ts b/packages/bundler-plugin-core/src/types.ts
index 0d5612b982f5..ad6fc3d23e53 100644
--- a/packages/bundler-plugin-core/src/types.ts
+++ b/packages/bundler-plugin-core/src/types.ts
@@ -177,6 +177,15 @@ export type Options = Omit & {
* Defaults to true
*/
telemetry?: boolean;
+
+ /**
+ * Path to Sentry CLI config properties, as described in
+ * https://docs.sentry.io/product/cli/configuration/#configuration-file.
+ *
+ * By default, the config file is looked for upwards from the current path, and
+ * defaults from ~/.sentryclirc are always loaded
+ */
+ configFile?: string;
};
export type IncludeEntry = {
diff --git a/packages/bundler-plugin-core/test/cli.test.ts b/packages/bundler-plugin-core/test/cli.test.ts
new file mode 100644
index 000000000000..3777922be552
--- /dev/null
+++ b/packages/bundler-plugin-core/test/cli.test.ts
@@ -0,0 +1,16 @@
+import SentryCli from "@sentry/cli";
+import { getSentryCli } from "../src/sentry/cli";
+
+describe("getSentryCLI", () => {
+ it("returns a valid CLI instance if dryRun is not specified", () => {
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any
+ const cli = getSentryCli({} as any, {} as any);
+ expect(cli).toBeInstanceOf(SentryCli);
+ });
+
+ it("returns a valid CLI instance if dryRun is set to true", () => {
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any
+ const cli = getSentryCli({ dryRun: true } as any, {} as any);
+ expect(cli).not.toBeInstanceOf(SentryCli);
+ });
+});
diff --git a/packages/bundler-plugin-core/test/logger.test.ts b/packages/bundler-plugin-core/test/logger.test.ts
index 268a45077148..27b0508d0dd6 100644
--- a/packages/bundler-plugin-core/test/logger.test.ts
+++ b/packages/bundler-plugin-core/test/logger.test.ts
@@ -19,41 +19,47 @@ describe("Logger", () => {
mockedAddBreadcrumb.mockReset();
});
- it(".info() should log correctly", () => {
+ it.each([
+ ["info", "Info"],
+ ["warn", "Warning"],
+ ["error", "Error"],
+ ["debug", "Debug"],
+ ] as const)(".%s() should log correctly", (loggerMethod, logLevel) => {
const prefix = "[some-prefix]";
const logger = createLogger({ hub, prefix });
- logger.info("Hey!");
- expect(consoleLogSpy).toHaveBeenCalledWith("[some-prefix] Hey!");
- expect(mockedAddBreadcrumb).toHaveBeenCalledWith({
- category: "logger",
- level: "info",
- message: "Hey!",
- });
- });
+ logger[loggerMethod]("Hey!");
- it(".warn() should log correctly", () => {
- const prefix = "[some-prefix]";
- const logger = createLogger({ hub, prefix });
- logger.warn("Hey!");
-
- expect(consoleLogSpy).toHaveBeenCalledWith("[some-prefix] Warning! Hey!");
+ expect(consoleLogSpy).toHaveBeenCalledWith(`[some-prefix] ${logLevel}: Hey!`);
expect(mockedAddBreadcrumb).toHaveBeenCalledWith({
category: "logger",
- level: "warning",
+ level: logLevel.toLowerCase(),
message: "Hey!",
});
});
- it(".error() should log correctly", () => {
+ it.each([
+ ["info", "Info"],
+ ["warn", "Warning"],
+ ["error", "Error"],
+ ["debug", "Debug"],
+ ] as const)(".%s() should log multiple params correctly", (loggerMethod, logLevel) => {
const prefix = "[some-prefix]";
const logger = createLogger({ hub, prefix });
- logger.error("Hey!");
- expect(consoleLogSpy).toHaveBeenCalledWith("[some-prefix] Error: Hey!");
+ logger[loggerMethod]("Hey!", "this", "is", "a test with", 5, "params");
+
+ expect(consoleLogSpy).toHaveBeenCalledWith(
+ `[some-prefix] ${logLevel}: Hey!`,
+ "this",
+ "is",
+ "a test with",
+ 5,
+ "params"
+ );
expect(mockedAddBreadcrumb).toHaveBeenCalledWith({
category: "logger",
- level: "error",
+ level: logLevel.toLowerCase(),
message: "Hey!",
});
});
diff --git a/yarn.lock b/yarn.lock
index 18ee774672e7..95c7fbda47ef 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2564,6 +2564,19 @@
estree-walker "^1.0.1"
picomatch "^2.2.2"
+"@sentry/cli@^1.74.6":
+ version "1.74.6"
+ resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-1.74.6.tgz#c4f276e52c6f5e8c8d692845a965988068ebc6f5"
+ integrity sha512-pJ7JJgozyjKZSTjOGi86chIngZMLUlYt2HOog+OJn+WGvqEkVymu8m462j1DiXAnex9NspB4zLLNuZ/R6rTQHg==
+ dependencies:
+ https-proxy-agent "^5.0.0"
+ mkdirp "^0.5.5"
+ node-fetch "^2.6.7"
+ npmlog "^4.1.2"
+ progress "^2.0.3"
+ proxy-from-env "^1.1.0"
+ which "^2.0.2"
+
"@sentry/core@7.11.1":
version "7.11.1"
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.11.1.tgz#d68e796f3b6428aefd6086a1db00118df7a9a9e4"
@@ -3603,6 +3616,11 @@ ansi-escapes@^4.2.1:
dependencies:
type-fest "^0.21.3"
+ansi-regex@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
+ integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==
+
ansi-regex@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
@@ -3643,16 +3661,16 @@ anymatch@^3.0.0, anymatch@^3.0.3, anymatch@~3.1.2:
normalize-path "^3.0.0"
picomatch "^2.0.4"
+aproba@^1.0.3, aproba@^1.1.1:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
+ integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
+
"aproba@^1.0.3 || ^2.0.0", aproba@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc"
integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==
-aproba@^1.1.1:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
- integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
-
are-we-there-yet@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz#679df222b278c64f2cdba1175cdc00b0d96164bd"
@@ -3661,6 +3679,14 @@ are-we-there-yet@^3.0.0:
delegates "^1.0.0"
readable-stream "^3.6.0"
+are-we-there-yet@~1.1.2:
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146"
+ integrity sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==
+ dependencies:
+ delegates "^1.0.0"
+ readable-stream "^2.0.6"
+
arg@^4.1.0:
version "4.1.3"
resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
@@ -4515,6 +4541,11 @@ co@^4.6.0:
resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==
+code-point-at@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
+ integrity sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==
+
collect-v8-coverage@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59"
@@ -4638,7 +4669,7 @@ console-browserify@^1.1.0:
resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336"
integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==
-console-control-strings@^1.1.0:
+console-control-strings@^1.0.0, console-control-strings@^1.1.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 sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==
@@ -6308,6 +6339,20 @@ gauge@^4.0.3:
strip-ansi "^6.0.1"
wide-align "^1.1.5"
+gauge@~2.7.3:
+ version "2.7.4"
+ resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
+ integrity sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==
+ dependencies:
+ aproba "^1.0.3"
+ console-control-strings "^1.0.0"
+ has-unicode "^2.0.0"
+ object-assign "^4.1.0"
+ signal-exit "^3.0.0"
+ string-width "^1.0.1"
+ strip-ansi "^3.0.1"
+ wide-align "^1.1.0"
+
gensync@^1.0.0-beta.2:
version "1.0.0-beta.2"
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
@@ -6573,7 +6618,7 @@ has-tostringtag@^1.0.0:
dependencies:
has-symbols "^1.0.2"
-has-unicode@^2.0.1:
+has-unicode@^2.0.0, has-unicode@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==
@@ -7065,6 +7110,13 @@ is-extglob@^2.1.0, is-extglob@^2.1.1:
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
+is-fullwidth-code-point@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
+ integrity sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==
+ dependencies:
+ number-is-nan "^1.0.0"
+
is-fullwidth-code-point@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
@@ -8781,7 +8833,7 @@ mkdirp-infer-owner@^2.0.0:
infer-owner "^1.0.4"
mkdirp "^1.0.3"
-mkdirp@^0.5.1, mkdirp@^0.5.3:
+mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5:
version "0.5.6"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6"
integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==
@@ -9137,6 +9189,16 @@ npm-run-path@^4.0.0, npm-run-path@^4.0.1:
dependencies:
path-key "^3.0.0"
+npmlog@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
+ integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
+ dependencies:
+ are-we-there-yet "~1.1.2"
+ console-control-strings "~1.1.0"
+ gauge "~2.7.3"
+ set-blocking "~2.0.0"
+
npmlog@^6.0.0, npmlog@^6.0.2:
version "6.0.2"
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830"
@@ -9147,6 +9209,11 @@ npmlog@^6.0.0, npmlog@^6.0.2:
gauge "^4.0.3"
set-blocking "^2.0.0"
+number-is-nan@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
+ integrity sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==
+
nwsapi@^2.2.0:
version "2.2.1"
resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.1.tgz#10a9f268fbf4c461249ebcfe38e359aa36e2577c"
@@ -9229,7 +9296,7 @@ nx@15.0.0, "nx@>=14.8.6 < 16":
yargs "^17.4.0"
yargs-parser "21.0.1"
-object-assign@^4.1.1:
+object-assign@^4.1.0, object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
@@ -9811,6 +9878,11 @@ process@^0.11.10:
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==
+progress@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
+ integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
+
promise-all-reject-late@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz#f8ebf13483e5ca91ad809ccc2fcf25f26f8643c2"
@@ -10091,7 +10163,7 @@ read@1, read@^1.0.7:
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.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, 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.3, 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==
@@ -10512,7 +10584,7 @@ serve-static@1.15.0:
parseurl "~1.3.3"
send "0.18.0"
-set-blocking@^2.0.0:
+set-blocking@^2.0.0, set-blocking@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==
@@ -10590,7 +10662,7 @@ side-channel@^1.0.4:
get-intrinsic "^1.0.2"
object-inspect "^1.9.0"
-signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7:
+signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7:
version "3.0.7"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
@@ -10859,6 +10931,15 @@ string-length@^4.0.1:
char-regex "^1.0.2"
strip-ansi "^6.0.0"
+string-width@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
+ integrity sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==
+ dependencies:
+ code-point-at "^1.0.0"
+ is-fullwidth-code-point "^1.0.0"
+ strip-ansi "^3.0.0"
+
"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
version "4.2.3"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
@@ -10923,6 +11004,13 @@ string_decoder@~1.1.1:
dependencies:
safe-buffer "~5.1.0"
+strip-ansi@^3.0.0, strip-ansi@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
+ integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==
+ dependencies:
+ ansi-regex "^2.0.0"
+
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
@@ -11846,7 +11934,7 @@ which@^2.0.1, which@^2.0.2:
dependencies:
isexe "^2.0.0"
-wide-align@^1.1.5:
+wide-align@^1.1.0, wide-align@^1.1.5:
version "1.1.5"
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3"
integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==
From 097252c945ecebfdc29d7b507075470b387e9961 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Mon, 7 Nov 2022 11:25:26 +0100
Subject: [PATCH 075/640] ref(core): Replace release detection with Sentry CLI
release detection (#87)
Remove our previous release detection code (RIP) and replace it with CLI functionality. Doing this to ensure feature parity with the CLI, we can revisit this if we have time
---
.../bundler-plugin-core/src/detect-release.ts | 42 ---------
packages/bundler-plugin-core/src/index.ts | 15 +++-
.../src/options-mapping.ts | 3 +-
.../bundler-plugin-core/src/sentry/cli.ts | 3 +-
packages/bundler-plugin-core/src/types.ts | 2 +
packages/bundler-plugin-core/test/cli.test.ts | 6 +-
.../test/getReleaseName.test.ts | 85 -------------------
7 files changed, 20 insertions(+), 136 deletions(-)
delete mode 100644 packages/bundler-plugin-core/src/detect-release.ts
delete mode 100644 packages/bundler-plugin-core/test/getReleaseName.test.ts
diff --git a/packages/bundler-plugin-core/src/detect-release.ts b/packages/bundler-plugin-core/src/detect-release.ts
deleted file mode 100644
index 92671227b823..000000000000
--- a/packages/bundler-plugin-core/src/detect-release.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-import * as child_process from "child_process";
-
-function getGitBranchHead(): string | undefined {
- try {
- return child_process.execSync("git rev-parse HEAD").toString().trim();
- } catch (e) {
- // no git installed
- return undefined;
- }
-}
-
-export function detectRelease(): string {
- // Env var SENTRY_RELEASE takes presendace over other env vars listed below
- // this is why we are looking for it before proceeding with others
- if (process.env["SENTRY_RELEASE"]) {
- return process.env["SENTRY_RELEASE"];
- }
-
- const ENV_VARS = [
- "SOURCE_VERSION", // Heroku #1 https://devcenter.heroku.com/changelog-items/630
- "HEROKU_SLUG_COMMIT", // Heroku #2: https://docs.sentry.io/product/integrations/deployment/heroku/#configure-releases
- "CODEBUILD_RESOLVED_SOURCE_VERSION", // AWS CodeBuild: https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html
- "CIRCLE_SHA1", // CircleCI: https://circleci.com/docs/2.0/env-vars/
- "VERCEL_GIT_COMMIT_SHA", // Vercel docs: https://vercel.com/docs/concepts/projects/environment-variables#system-environment-variables
- ];
-
- const releaseFromEnvironmentVar = ENV_VARS.find((key) => Object.keys(process.env).includes(key));
-
- if (releaseFromEnvironmentVar) {
- return process.env[releaseFromEnvironmentVar] as string;
- }
-
- const gitBranchHead = getGitBranchHead();
-
- if (gitBranchHead) {
- return gitBranchHead;
- } else {
- throw new Error(
- 'Could not automatically determine release name. Please provide a release identifier via the "release" option.'
- );
- }
-}
diff --git a/packages/bundler-plugin-core/src/index.ts b/packages/bundler-plugin-core/src/index.ts
index 70633d28b02b..58e51813df94 100644
--- a/packages/bundler-plugin-core/src/index.ts
+++ b/packages/bundler-plugin-core/src/index.ts
@@ -14,6 +14,7 @@ import { addSpanToTransaction, captureMinimalError, makeSentryClient } from "./s
import { Span, Transaction } from "@sentry/types";
import { createLogger } from "./sentry/logger";
import { normalizeUserOptions } from "./options-mapping";
+import { getSentryCli } from "./sentry/cli";
// We prefix the polyfill id with \0 to tell other plugins not to try to load or transform it.
// This hack is taken straight from https://rollupjs.org/guide/en/#resolveid.
@@ -87,6 +88,8 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
silent: internalOptions.silent,
});
+ const cli = getSentryCli(internalOptions, logger);
+
if (internalOptions.telemetry) {
logger.info("Sending error and performance telemetry data to Sentry.");
logger.info("To disable telemetry, set `options.telemetry` to `false`.");
@@ -116,13 +119,17 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
/**
* Responsible for starting the plugin execution transaction and the release injection span
*/
- buildStart() {
+ async buildStart() {
+ if (!internalOptions.release) {
+ internalOptions.release = await cli.releases.proposeVersion();
+ }
+
transaction = sentryHub.startTransaction({
op: "function.plugin",
name: "Sentry Bundler Plugin execution",
});
releaseInjectionSpan = addSpanToTransaction(
- { hub: sentryHub, parentSpan: transaction, logger },
+ { hub: sentryHub, parentSpan: transaction, logger, cli },
"function.plugin.inject_release",
"Release injection"
);
@@ -259,7 +266,7 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
const releasePipelineSpan =
transaction &&
addSpanToTransaction(
- { hub: sentryHub, parentSpan: transaction, logger },
+ { hub: sentryHub, parentSpan: transaction, logger, cli },
"function.plugin.release",
"Release pipeline"
);
@@ -275,7 +282,7 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
// That's good for them but a hassle for us. Let's try to normalize this into one data type
// (I vote IncludeEntry[]) and continue with that down the line
- const ctx: BuildContext = { hub: sentryHub, parentSpan: releasePipelineSpan, logger };
+ const ctx: BuildContext = { hub: sentryHub, parentSpan: releasePipelineSpan, logger, cli };
createNewRelease(internalOptions, ctx)
.then(() => cleanArtifacts(internalOptions, ctx))
diff --git a/packages/bundler-plugin-core/src/options-mapping.ts b/packages/bundler-plugin-core/src/options-mapping.ts
index 56f8ed58841c..9397cfb887a6 100644
--- a/packages/bundler-plugin-core/src/options-mapping.ts
+++ b/packages/bundler-plugin-core/src/options-mapping.ts
@@ -1,4 +1,3 @@
-import { detectRelease } from "./detect-release";
import { IncludeEntry as UserIncludeEntry, Options as UserOptions } from "./types";
type RequiredInternalOptions = Required<
@@ -81,7 +80,7 @@ export function normalizeUserOptions(userOptions: UserOptions): InternalOptions
project: userOptions.project,
authToken: userOptions.authToken,
url: userOptions.url ?? "https://sentry.io/",
- release: userOptions.release ?? detectRelease(),
+ release: userOptions.release ?? "",
finalize: userOptions.finalize ?? true,
validate: userOptions.validate ?? false,
vcsRemote: userOptions.vcsRemote ?? "origin",
diff --git a/packages/bundler-plugin-core/src/sentry/cli.ts b/packages/bundler-plugin-core/src/sentry/cli.ts
index 41eb35d40703..690d3fed0d5f 100644
--- a/packages/bundler-plugin-core/src/sentry/cli.ts
+++ b/packages/bundler-plugin-core/src/sentry/cli.ts
@@ -3,7 +3,7 @@ import { InternalOptions } from "../options-mapping";
import { Logger } from "./logger";
type SentryDryRunCLI = { releases: Omit };
-type SentryCLILike = SentryCli | SentryDryRunCLI;
+export type SentryCLILike = SentryCli | SentryDryRunCLI;
/**
* Creates a new Sentry CLI instance.
@@ -22,6 +22,7 @@ export function getSentryCli(internalOptions: InternalOptions, logger: Logger):
});
if (internalOptions.dryRun) {
+ logger.info("In DRY RUN Mode");
return getDryRunCLI(cli, logger);
}
diff --git a/packages/bundler-plugin-core/src/types.ts b/packages/bundler-plugin-core/src/types.ts
index ad6fc3d23e53..c405817a927d 100644
--- a/packages/bundler-plugin-core/src/types.ts
+++ b/packages/bundler-plugin-core/src/types.ts
@@ -1,5 +1,6 @@
import { Hub } from "@sentry/hub";
import { Span } from "@sentry/tracing";
+import { SentryCLILike } from "./sentry/cli";
import { createLogger } from "./sentry/logger";
/**
@@ -348,4 +349,5 @@ export type BuildContext = {
hub: Hub;
parentSpan?: Span;
logger: ReturnType;
+ cli: SentryCLILike;
};
diff --git a/packages/bundler-plugin-core/test/cli.test.ts b/packages/bundler-plugin-core/test/cli.test.ts
index 3777922be552..189e571ae546 100644
--- a/packages/bundler-plugin-core/test/cli.test.ts
+++ b/packages/bundler-plugin-core/test/cli.test.ts
@@ -8,9 +8,11 @@ describe("getSentryCLI", () => {
expect(cli).toBeInstanceOf(SentryCli);
});
- it("returns a valid CLI instance if dryRun is set to true", () => {
+ it("returns a dry run CLI stub if `dryRun` is set to true", () => {
+ const logger = { info: jest.fn() };
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any
- const cli = getSentryCli({ dryRun: true } as any, {} as any);
+ const cli = getSentryCli({ dryRun: true } as any, logger as any);
+ expect(logger.info).toHaveBeenCalledWith(expect.stringMatching("DRY RUN"));
expect(cli).not.toBeInstanceOf(SentryCli);
});
});
diff --git a/packages/bundler-plugin-core/test/getReleaseName.test.ts b/packages/bundler-plugin-core/test/getReleaseName.test.ts
deleted file mode 100644
index 7dfa3f438b16..000000000000
--- a/packages/bundler-plugin-core/test/getReleaseName.test.ts
+++ /dev/null
@@ -1,85 +0,0 @@
-import { detectRelease } from "../src/detect-release";
-import * as fs from "fs";
-import * as child_process from "child_process";
-jest.mock("fs");
-jest.mock("child_process");
-
-const mockedFs = fs;
-const mockedChildProcess = child_process;
-
-describe("environmental getReleaseName", () => {
- const OLD_ENV = process.env;
-
- beforeEach(() => {
- jest.resetModules();
- process.env = { ...OLD_ENV };
- });
-
- afterEach(() => {
- (mockedChildProcess.execSync as jest.Mock).mockRestore();
- });
-
- afterAll(() => {
- process.env = OLD_ENV;
- });
-
- it("adheres to HEAD when git is present", () => {
- (mockedFs.existsSync as jest.Mock).mockReturnValueOnce(true);
- const sha = "c3f235fc86f1c4007e3a218ec82d666586e73cbf";
- (mockedChildProcess.execSync as jest.Mock).mockReturnValue(sha);
-
- expect(detectRelease()).toBe(sha);
- });
-
- it("throws an error if no release information could be found", () => {
- (mockedFs.existsSync as jest.Mock).mockReturnValueOnce(false);
-
- expect(detectRelease).toThrow(
- 'Could not automatically determine release name. Please provide a release identifier via the "release" option.'
- );
- });
-
- it("adheres to process.env.SENTRY_RELEASE", () => {
- const releaseName = "SENTRY_RELEASE_string";
- process.env["SENTRY_RELEASE"] = releaseName;
-
- expect(detectRelease()).toBe(releaseName);
- });
-
- it("adheres to Heroku: process.env.SOURCE_VERSION", () => {
- const releaseName = "SOURCE_VERSION_string";
- process.env["SOURCE_VERSION"] = releaseName;
-
- expect(detectRelease()).toBe(releaseName);
- });
-
- it("adheres to Heroku: process.env.HEROKU_SLUG_COMMIT", () => {
- const releaseName = "HEROKU_SLUG_COMMIT_string";
- process.env["HEROKU_SLUG_COMMIT"] = releaseName;
-
- expect(detectRelease()).toBe(releaseName);
- });
-
- it("adheres to AWS: process.env.CODEBUILD_RESOLVED_SOURCE_VERSION", () => {
- const releaseName = "CODEBUILD_RESOLVED_SOURCE_VERSION_string";
- process.env["CODEBUILD_RESOLVED_SOURCE_VERSION"] = releaseName;
-
- expect(detectRelease()).toBe(releaseName);
- });
-
- it("adheres to Vercel: process.env.VERCEL_GIT_COMMIT_SHA", () => {
- const releaseName = "VERCEL_GIT_COMMIT_SHA_string";
- process.env["VERCEL_GIT_COMMIT_SHA"] = releaseName;
-
- expect(detectRelease()).toBe(releaseName);
- });
-
- it("allows SENTRY_RELEASE to take precedence over other env vars", () => {
- const vercelReleaseName = "VERCEL_GIT_COMMIT_SHA_string";
- const sentryReleaseName = "SENTRY_RELEASE_string";
- process.env["VERCEL_GIT_COMMIT_SHA"] = vercelReleaseName;
- process.env["SENTRY_RELEASE"] = sentryReleaseName;
-
- expect(detectRelease()).toBe(sentryReleaseName);
- });
-});
From 3e3a9b41409cc615cb488982b4ea2a14b71b5a4d Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Mon, 7 Nov 2022 11:32:13 +0100
Subject: [PATCH 076/640] ref(core): Use Sentry CLI for sourcemaps upload (#88)
Replace our own WIP sourcemaps upload logic with Sentry CLI's implementation.
---
.../bundler-plugin-core/src/sentry/api.ts | 41 -------
.../src/sentry/releasePipeline.ts | 83 ++------------
.../src/sentry/sourcemaps.ts | 104 ------------------
.../basic-upload/ref/esbuild/~/index.js.map | 2 +-
.../basic-upload/ref/rollup/~/index.js.map | 2 +-
.../basic-upload/ref/webpack4/~/index.js.map | 2 +-
.../basic-upload/ref/webpack5/~/index.js.map | 2 +-
7 files changed, 13 insertions(+), 223 deletions(-)
delete mode 100644 packages/bundler-plugin-core/src/sentry/sourcemaps.ts
diff --git a/packages/bundler-plugin-core/src/sentry/api.ts b/packages/bundler-plugin-core/src/sentry/api.ts
index 8a30fc8d726b..6acea24b4791 100644
--- a/packages/bundler-plugin-core/src/sentry/api.ts
+++ b/packages/bundler-plugin-core/src/sentry/api.ts
@@ -1,6 +1,5 @@
import { Hub } from "@sentry/node";
import axios from "axios";
-import FormData from "form-data";
import { InternalOptions } from "../options-mapping";
import { captureMinimalError } from "./telemetry";
@@ -114,43 +113,3 @@ export async function updateRelease({
throw e;
}
}
-
-export async function uploadReleaseFile({
- org,
- project,
- release,
- authToken,
- sentryUrl,
- filename,
- fileContent,
- sentryHub,
- customHeader,
-}: {
- org: string;
- release: string;
- sentryUrl: string;
- authToken: string;
- project: string;
- filename: string;
- fileContent: string;
- sentryHub: Hub;
- customHeader: Record;
-}) {
- const requestUrl = `${sentryUrl}${API_PATH}/projects/${org}/${project}/releases/${release}/files/`;
-
- const form = new FormData();
- form.append("name", filename);
- form.append("file", Buffer.from(fileContent, "utf-8"), { filename });
-
- try {
- await sentryApiAxiosInstance({ authToken, customHeader }).post(requestUrl, form, {
- headers: {
- Authorization: `Bearer ${authToken}`,
- "Content-Type": "multipart/form-data",
- },
- });
- } catch (e) {
- captureMinimalError(e, sentryHub);
- throw e;
- }
-}
diff --git a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
index 7b22f593d09c..d286645c7e34 100644
--- a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
+++ b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
@@ -8,8 +8,7 @@
import { InternalOptions } from "../options-mapping";
import { BuildContext } from "../types";
-import { createRelease, deleteAllReleaseArtifacts, uploadReleaseFile, updateRelease } from "./api";
-import { getFiles, FileRecord } from "./sourcemaps";
+import { createRelease, deleteAllReleaseArtifacts, updateRelease } from "./api";
import { addSpanToTransaction } from "./telemetry";
export async function createNewRelease(
@@ -49,95 +48,31 @@ export async function createNewRelease(
return Promise.resolve("nothing to do here");
}
-export async function uploadSourceMaps(
- options: InternalOptions,
- ctx: BuildContext
-): Promise {
+export async function uploadSourceMaps(options: InternalOptions, ctx: BuildContext): Promise {
const span = addSpanToTransaction(ctx, "function.plugin.upload_sourcemaps");
- // This is what Sentry CLI does:
- // TODO: 0. Preprocess source maps
- // - (Out of scope for now)
- // - For rewriting source maps see https://github.com/getsentry/rust-sourcemap/blob/master/src/types.rs#L763
- // TODO: 1. Creates a new release to make sure it exists
- // - can we assume that the release will exist b/c we don't give unplugin users the
- // option to skip this step?
- // TODO: 2. download already uploaded files and get their checksums
- // TODO: 3. identify new or changed files (by comparing checksums)
- // TODO: 4. upload new and changed files
- // - CLI asks API for chunk options https://github.com/getsentry/sentry-cli/blob/7b8466885d9cfd51aee6fdc041eca9f645026303/src/utils/file_upload.rs#L106-L112
- // - WTF?
- // - don't upload more than 20k files
- // - upload files concurrently
- // - 2 options: chunked upload (multiple files per chunk) or single file upload
// TODO: pull these checks out of here and simplify them
if (options.authToken === undefined) {
ctx.logger.warn('Missing "authToken" option. Will not create release.');
- return Promise.resolve("nothing to do here");
+ return Promise.resolve();
} else if (options.org === undefined) {
ctx.logger.warn('Missing "org" option. Will not create release.');
- return Promise.resolve("nothing to do here");
+ return Promise.resolve();
} else if (options.url === undefined) {
ctx.logger.warn('Missing "url" option. Will not create release.');
- return Promise.resolve("nothing to do here");
+ return Promise.resolve();
} else if (options.project === undefined) {
ctx.logger.warn('Missing "project" option. Will not create release.');
- return Promise.resolve("nothing to do here");
+ return Promise.resolve();
}
ctx.logger.info("Uploading Sourcemaps.");
- const files: FileRecord[] = [];
- options.include.forEach((includeEntry) => {
- includeEntry.paths.forEach((path) => {
- files.push(...getFiles(path, includeEntry));
- });
- });
-
- ctx.logger.info(`Found ${files.length} files to upload.`);
+ await ctx.cli.releases.uploadSourceMaps(options.release, { include: options.include });
- // Check if there would be duplicate artifacts and throw if there are any.
- const duplicateArtifacts = new Set();
- const fileSet = new Set();
- files.forEach((file) => {
- if (fileSet.has(file.name)) {
- duplicateArtifacts.add(file.name);
- } else {
- fileSet.add(file.name);
- }
- });
- if (duplicateArtifacts.size > 0) {
- const artifactsList: string[] = [];
- duplicateArtifacts.forEach((artifact) => {
- artifactsList.push(`- "${artifact}"`);
- });
- ctx.logger.error(
- `The following artifacts were identified more than once. Use the "urlPrefix" or "urlSuffix" options to tell them apart or adjust your "include" and "ignore" settings.\n${artifactsList.join(
- "\n"
- )}`
- );
- throw new Error();
- }
+ ctx.logger.info("Successfully uploaded Sourcemaps.");
- return Promise.all(
- files.map((file) =>
- uploadReleaseFile({
- org: options.org,
- project: options.project,
- release: options.release,
- authToken: options.authToken,
- sentryUrl: options.url,
- filename: file.name,
- fileContent: file.content,
- sentryHub: ctx.hub,
- customHeader: options.customHeader,
- })
- )
- ).then(() => {
- ctx.logger.info("Successfully uploaded sourcemaps.");
- span?.finish();
- return "done";
- });
+ span?.finish();
}
export async function finalizeRelease(
diff --git a/packages/bundler-plugin-core/src/sentry/sourcemaps.ts b/packages/bundler-plugin-core/src/sentry/sourcemaps.ts
deleted file mode 100644
index 07f02b8c383c..000000000000
--- a/packages/bundler-plugin-core/src/sentry/sourcemaps.ts
+++ /dev/null
@@ -1,104 +0,0 @@
-import path from "path";
-import fs, { Stats } from "fs";
-import glob from "glob";
-import { InternalIncludeEntry } from "../options-mapping";
-
-import ignore, { Ignore } from "ignore";
-
-export type FileRecord = {
- name: string;
- content: string;
-};
-
-type FileNameRecord = {
- absolutePath: string;
- // Contains relative paths without leading `.` (e.g. "foo/bar.js" or "asdf\\a\\b.js.map")
- relativePath: string;
- // Holds the path of the file relative to the CWD (used for ignore matching)
- relativeCwdPath: string;
-};
-
-export function getFiles(includePath: string, includeEntry: InternalIncludeEntry): FileRecord[] {
- // Start with getting all (unfiltered) files for the given includePath.
- const files = collectAllFiles(includePath);
- if (!files.length) {
- return [];
- }
-
- const ignore = getIgnoreRules(includeEntry);
- const filteredFiles = files
- .filter(({ relativeCwdPath }) => !ignore.ignores(relativeCwdPath))
- .filter(({ absolutePath }) => includeEntry.ext.includes(path.extname(absolutePath)));
-
- // TODO do sourcemap rewriting?
- // TODO do sourcefile rewriting? (adding source map reference to bottom - search for "guess_sourcemap_reference")
- return filteredFiles.map(({ absolutePath, relativePath }) => {
- const content = fs.readFileSync(absolutePath, { encoding: "utf-8" });
- return {
- name:
- (includeEntry.urlPrefix ?? "~/") +
- convertWindowsPathToPosix(relativePath) +
- (includeEntry.urlSuffix ?? ""),
- content,
- };
- });
-}
-
-/**
- * Collects all (unfiltered) files from @param includePath
- * @param includePath
- * @returns an array of files
- */
-function collectAllFiles(includePath: string): FileNameRecord[] {
- let fileStat: Stats;
-
- const absolutePath = path.isAbsolute(includePath)
- ? includePath
- : path.resolve(process.cwd(), includePath);
- try {
- fileStat = fs.statSync(absolutePath);
- } catch (e) {
- return [];
- }
-
- if (fileStat.isFile()) {
- return [
- {
- absolutePath,
- relativePath: path.basename(absolutePath),
- relativeCwdPath: path.relative(process.cwd(), absolutePath),
- },
- ];
- } else if (fileStat.isDirectory()) {
- return glob
- .sync(path.join(absolutePath, "**"), {
- nodir: true,
- absolute: true,
- })
- .map((globPath) => ({
- absolutePath: globPath,
- relativePath: globPath.slice(absolutePath.length + 1),
- relativeCwdPath: path.relative(process.cwd(), globPath),
- }));
- } else {
- return [];
- }
-}
-
-/**
- * Adds rules specified in `ignore` and `ignoreFile` to the ignore rule
- * checker and returns the checker for further use.
- */
-function getIgnoreRules(includeEntry: InternalIncludeEntry): Ignore {
- const ignoreChecker = ignore();
- if (includeEntry.ignoreFile) {
- const ignoreFileContent = fs.readFileSync(includeEntry.ignoreFile).toString();
- ignoreChecker.add(ignoreFileContent);
- }
- ignoreChecker.add(includeEntry.ignore);
- return ignoreChecker;
-}
-
-function convertWindowsPathToPosix(windowsPath: string): string {
- return windowsPath.split(path.sep).join(path.posix.sep);
-}
diff --git a/packages/e2e-tests/scenarios/basic-upload/ref/esbuild/~/index.js.map b/packages/e2e-tests/scenarios/basic-upload/ref/esbuild/~/index.js.map
index 300618e83fbc..3e8047c2ba23 100644
--- a/packages/e2e-tests/scenarios/basic-upload/ref/esbuild/~/index.js.map
+++ b/packages/e2e-tests/scenarios/basic-upload/ref/esbuild/~/index.js.map
@@ -1 +1 @@
-{"version":3,"sources":["sentry-plugin:\u0000sentry-release-injector","../../input/fib.js","../../input/index.js"],"sourcesContent":["\n var _global =\n typeof window !== 'undefined' ?\n window :\n typeof global !== 'undefined' ?\n global :\n typeof self !== 'undefined' ?\n self :\n {};\n\n _global.SENTRY_RELEASE={id:\"basic-upload-esbuild\"};","export const fibonacci = (n) => {\n if (n === 3) {\n throw new Error(\"I'm an uncaught error\");\n }\n if (n <= 1) {\n return n;\n }\n return fibonacci(n - 1) + fibonacci(n - 2);\n};\nimport \"\u0000sentry-release-injector\";","import { fibonacci } from \"./fib\";\nconsole.log(\"Hi, I'm a very simple app\");\n\nfibonacci(10);\n\nconsole.log(\"I'm done\");\nimport \"\u0000sentry-release-injector\";"],"mappings":"aACI,GAAI,GACF,MAAO,QAAW,IAChB,OACA,MAAO,QAAW,IAChB,OACA,MAAO,MAAS,IACd,KACA,CAAC,EAET,EAAQ,eAAe,CAAC,GAAG,sBAAsB,ECV9C,GAAM,GAAY,AAAC,GAAM,CAC9B,GAAI,IAAM,EACR,KAAM,IAAI,OAAM,uBAAuB,EAEzC,MAAI,IAAK,EACA,EAEF,EAAU,EAAI,CAAC,EAAI,EAAU,EAAI,CAAC,CAC3C,ECPA,QAAQ,IAAI,2BAA2B,EAEvC,EAAU,EAAE,EAEZ,QAAQ,IAAI,UAAU","names":[]}
\ No newline at end of file
+{"version":3,"sources":["sentry-plugin:\u0000sentry-release-injector","../../input/fib.js","../../input/index.js"],"sourcesContent":["\n var _global =\n typeof window !== 'undefined' ?\n window :\n typeof global !== 'undefined' ?\n global :\n typeof self !== 'undefined' ?\n self :\n {};\n\n _global.SENTRY_RELEASE={id:\"basic-upload-esbuild\"};","export const fibonacci = (n) => {\n if (n === 3) {\n throw new Error(\"I'm an uncaught error\");\n }\n if (n <= 1) {\n return n;\n }\n return fibonacci(n - 1) + fibonacci(n - 2);\n};\nimport \"\u0000sentry-release-injector\";","import { fibonacci } from \"./fib\";\nconsole.log(\"Hi, I'm a very simple app\");\n\nfibonacci(10);\n\nconsole.log(\"I'm done\");\nimport \"\u0000sentry-release-injector\";"],"names":[],"mappings":"aACI,GAAI,GACF,MAAO,QAAW,IAChB,OACA,MAAO,QAAW,IAChB,OACA,MAAO,MAAS,IACd,KACA,CAAC,EAET,EAAQ,eAAe,CAAC,GAAG,sBAAsB,ECV9C,GAAM,GAAY,AAAC,GAAM,CAC9B,GAAI,IAAM,EACR,KAAM,IAAI,OAAM,uBAAuB,EAEzC,MAAI,IAAK,EACA,EAEF,EAAU,EAAI,CAAC,EAAI,EAAU,EAAI,CAAC,CAC3C,ECPA,QAAQ,IAAI,2BAA2B,EAEvC,EAAU,EAAE,EAEZ,QAAQ,IAAI,UAAU"}
\ No newline at end of file
diff --git a/packages/e2e-tests/scenarios/basic-upload/ref/rollup/~/index.js.map b/packages/e2e-tests/scenarios/basic-upload/ref/rollup/~/index.js.map
index a9db562a8d34..60b20001040e 100644
--- a/packages/e2e-tests/scenarios/basic-upload/ref/rollup/~/index.js.map
+++ b/packages/e2e-tests/scenarios/basic-upload/ref/rollup/~/index.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.js","sources":["../../input/fib.js","../../input/index.js"],"sourcesContent":["export const fibonacci = (n) => {\n if (n === 3) {\n throw new Error(\"I'm an uncaught error\");\n }\n if (n <= 1) {\n return n;\n }\n return fibonacci(n - 1) + fibonacci(n - 2);\n};\n","import { fibonacci } from \"./fib\";\nconsole.log(\"Hi, I'm a very simple app\");\n\nfibonacci(10);\n\nconsole.log(\"I'm done\");\n"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,MAAA,SAAA,GAAA,CAAA,CAAA,KAAA;AACA,EAAA,IAAA,CAAA,KAAA,CAAA,EAAA;AACA,IAAA,MAAA,IAAA,KAAA,CAAA,uBAAA,CAAA,CAAA;AACA,GAAA;AACA,EAAA,IAAA,CAAA,IAAA,CAAA,EAAA;AACA,IAAA,OAAA,CAAA,CAAA;AACA,GAAA;AACA,EAAA,OAAA,SAAA,CAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AACA,CAAA;;ACPA,OAAA,CAAA,GAAA,CAAA,2BAAA,CAAA,CAAA;AACA;AACA,SAAA,CAAA,EAAA,CAAA,CAAA;AACA;AACA,OAAA,CAAA,GAAA,CAAA,UAAA,CAAA;;"}
\ No newline at end of file
+{"version":3,"file":"index.js","sources":["../../input/fib.js","../../input/index.js"],"sourcesContent":["export const fibonacci = (n) => {\n if (n === 3) {\n throw new Error(\"I'm an uncaught error\");\n }\n if (n <= 1) {\n return n;\n }\n return fibonacci(n - 1) + fibonacci(n - 2);\n};\n","import { fibonacci } from \"./fib\";\nconsole.log(\"Hi, I'm a very simple app\");\n\nfibonacci(10);\n\nconsole.log(\"I'm done\");\n"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,MAAA,SAAA,GAAA,CAAA,CAAA,KAAA;AACA,EAAA,IAAA,CAAA,KAAA,CAAA,EAAA;AACA,IAAA,MAAA,IAAA,KAAA,CAAA,uBAAA,CAAA,CAAA;AACA,GAAA;AACA,EAAA,IAAA,CAAA,IAAA,CAAA,EAAA;AACA,IAAA,OAAA,CAAA,CAAA;AACA,GAAA;AACA,EAAA,OAAA,SAAA,CAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AACA,CAAA;;ACPA,OAAA,CAAA,GAAA,CAAA,2BAAA,CAAA,CAAA;AACA;AACA,SAAA,CAAA,EAAA,CAAA,CAAA;AACA;AACA,OAAA,CAAA,GAAA,CAAA,UAAA,CAAA"}
\ No newline at end of file
diff --git a/packages/e2e-tests/scenarios/basic-upload/ref/webpack4/~/index.js.map b/packages/e2e-tests/scenarios/basic-upload/ref/webpack4/~/index.js.map
index 04f5cb9a429d..cf01f9e9a227 100644
--- a/packages/e2e-tests/scenarios/basic-upload/ref/webpack4/~/index.js.map
+++ b/packages/e2e-tests/scenarios/basic-upload/ref/webpack4/~/index.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./_virtual_%00sentry-release-injector","webpack:///./scenarios/basic-upload/input/fib.js","webpack:///./scenarios/basic-upload/input/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","window","global","self","SENTRY_RELEASE","id","fibonacci","Error","console","log"],"mappings":"6DACE,IAAIA,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,IAUV,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,QA0Df,OArDAF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEZ,EAAoBkB,EAAI,SAAShB,GACX,oBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,KAQvDrB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG/B,EAAoBkC,EAAI,GAIjBlC,EAAoBA,EAAoBmC,EAAI,G,iBChF7B,oBAAXC,OACLA,OACkB,oBAAXC,OACLA,OACgB,oBAATC,KACLA,KACA,IAEAC,eAAe,CAACC,GAAG,0B,yCCVxB,MAAMC,EAAaZ,IACxB,GAAU,IAANA,EACF,MAAM,IAAIa,MAAM,yBAElB,OAAIb,GAAK,EACAA,EAEFY,EAAUZ,EAAI,GAAKY,EAAUZ,EAAI,ICN1Cc,QAAQC,IAAI,6BAEZH,EAAU,IAEVE,QAAQC,IAAI","file":"index.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n","\n var _global =\n typeof window !== 'undefined' ?\n window :\n typeof global !== 'undefined' ?\n global :\n typeof self !== 'undefined' ?\n self :\n {};\n\n _global.SENTRY_RELEASE={id:\"basic-upload-webpack4\"};","export const fibonacci = (n) => {\n if (n === 3) {\n throw new Error(\"I'm an uncaught error\");\n }\n if (n <= 1) {\n return n;\n }\n return fibonacci(n - 1) + fibonacci(n - 2);\n};\nimport \"\u0000sentry-release-injector\";","import { fibonacci } from \"./fib\";\nconsole.log(\"Hi, I'm a very simple app\");\n\nfibonacci(10);\n\nconsole.log(\"I'm done\");\nimport \"\u0000sentry-release-injector\";"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"index.js","sources":["webpack:///webpack/bootstrap","webpack:///./_virtual_%00sentry-release-injector","webpack:///./scenarios/basic-upload/input/fib.js","webpack:///./scenarios/basic-upload/input/index.js"],"sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n","\n var _global =\n typeof window !== 'undefined' ?\n window :\n typeof global !== 'undefined' ?\n global :\n typeof self !== 'undefined' ?\n self :\n {};\n\n _global.SENTRY_RELEASE={id:\"basic-upload-webpack4\"};","export const fibonacci = (n) => {\n if (n === 3) {\n throw new Error(\"I'm an uncaught error\");\n }\n if (n <= 1) {\n return n;\n }\n return fibonacci(n - 1) + fibonacci(n - 2);\n};\nimport \"\u0000sentry-release-injector\";","import { fibonacci } from \"./fib\";\nconsole.log(\"Hi, I'm a very simple app\");\n\nfibonacci(10);\n\nconsole.log(\"I'm done\");\nimport \"\u0000sentry-release-injector\";"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","window","global","self","SENTRY_RELEASE","id","fibonacci","Error","console","log"],"mappings":"6DACE,IAAIA,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,IAUV,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,QA0Df,OArDAF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEZ,EAAoBkB,EAAI,SAAShB,GACX,oBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,KAQvDrB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG/B,EAAoBkC,EAAI,GAIjBlC,EAAoBA,EAAoBmC,EAAI,G,iBChF7B,oBAAXC,OACLA,OACkB,oBAAXC,OACLA,OACgB,oBAATC,KACLA,KACA,IAEAC,eAAe,CAACC,GAAG,0B,yCCVxB,MAAMC,EAAaZ,IACxB,GAAU,IAANA,EACF,MAAM,IAAIa,MAAM,yBAElB,OAAIb,GAAK,EACAA,EAEFY,EAAUZ,EAAI,GAAKY,EAAUZ,EAAI,ICN1Cc,QAAQC,IAAI,6BAEZH,EAAU,IAEVE,QAAQC,IAAI"}
\ No newline at end of file
diff --git a/packages/e2e-tests/scenarios/basic-upload/ref/webpack5/~/index.js.map b/packages/e2e-tests/scenarios/basic-upload/ref/webpack5/~/index.js.map
index 58a23cf4f0ec..001628f390dd 100644
--- a/packages/e2e-tests/scenarios/basic-upload/ref/webpack5/~/index.js.map
+++ b/packages/e2e-tests/scenarios/basic-upload/ref/webpack5/~/index.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.js","mappings":"4BAEwB,oBAAXA,OACLA,YACkB,IAAX,EAAAC,EACL,EAAAA,EACgB,oBAATC,KACLA,KACA,CAAC,GAEDC,eAAe,CAACC,GAAG,wB,GCT3BC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaE,QAGrB,IAAIC,EAASN,EAAyBE,GAAY,CAGjDG,QAAS,CAAC,GAOX,OAHAE,EAAoBL,GAAUI,EAAQA,EAAOD,QAASJ,GAG/CK,EAAOD,OACf,CCtBAJ,EAAoBL,EAAI,WACvB,GAA0B,iBAAfY,WAAyB,OAAOA,WAC3C,IACC,OAAOC,MAAQ,IAAIC,SAAS,cAAb,EAGhB,CAFE,MAAOC,GACR,GAAsB,iBAAXhB,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCCxBM,EAAoBW,EAAKP,IACH,oBAAXQ,QAA0BA,OAAOC,aAC1CC,OAAOC,eAAeX,EAASQ,OAAOC,YAAa,CAAEG,MAAO,WAE7DF,OAAOC,eAAeX,EAAS,aAAc,CAAEY,OAAO,GAAO,E,0CCLvD,MAAMC,EAAaC,IACxB,GAAU,IAANA,EACF,MAAM,IAAIC,MAAM,yBAElB,OAAID,GAAK,EACAA,EAEFD,EAAUC,EAAI,GAAKD,EAAUC,EAAI,EAAE,ECN5CE,QAAQC,IAAI,6BAEZJ,EAAU,IAEVG,QAAQC,IAAI,W","sources":["webpack://@sentry-internal/bundler-plugin-e2e-tests/./_virtual_%00sentry-release-injector","webpack://@sentry-internal/bundler-plugin-e2e-tests/webpack/bootstrap","webpack://@sentry-internal/bundler-plugin-e2e-tests/webpack/runtime/global","webpack://@sentry-internal/bundler-plugin-e2e-tests/webpack/runtime/make namespace object","webpack://@sentry-internal/bundler-plugin-e2e-tests/./scenarios/basic-upload/input/fib.js","webpack://@sentry-internal/bundler-plugin-e2e-tests/./scenarios/basic-upload/input/index.js"],"sourcesContent":["\n var _global =\n typeof window !== 'undefined' ?\n window :\n typeof global !== 'undefined' ?\n global :\n typeof self !== 'undefined' ?\n self :\n {};\n\n _global.SENTRY_RELEASE={id:\"basic-upload-webpack5\"};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export const fibonacci = (n) => {\n if (n === 3) {\n throw new Error(\"I'm an uncaught error\");\n }\n if (n <= 1) {\n return n;\n }\n return fibonacci(n - 1) + fibonacci(n - 2);\n};\nimport \"\u0000sentry-release-injector\";","import { fibonacci } from \"./fib\";\nconsole.log(\"Hi, I'm a very simple app\");\n\nfibonacci(10);\n\nconsole.log(\"I'm done\");\nimport \"\u0000sentry-release-injector\";"],"names":["window","g","self","SENTRY_RELEASE","id","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","globalThis","this","Function","e","r","Symbol","toStringTag","Object","defineProperty","value","fibonacci","n","Error","console","log"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"index.js","sources":["webpack://@sentry-internal/bundler-plugin-e2e-tests/./_virtual_%00sentry-release-injector","webpack://@sentry-internal/bundler-plugin-e2e-tests/webpack/bootstrap","webpack://@sentry-internal/bundler-plugin-e2e-tests/webpack/runtime/global","webpack://@sentry-internal/bundler-plugin-e2e-tests/webpack/runtime/make namespace object","webpack://@sentry-internal/bundler-plugin-e2e-tests/./scenarios/basic-upload/input/fib.js","webpack://@sentry-internal/bundler-plugin-e2e-tests/./scenarios/basic-upload/input/index.js"],"sourcesContent":["\n var _global =\n typeof window !== 'undefined' ?\n window :\n typeof global !== 'undefined' ?\n global :\n typeof self !== 'undefined' ?\n self :\n {};\n\n _global.SENTRY_RELEASE={id:\"basic-upload-webpack5\"};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export const fibonacci = (n) => {\n if (n === 3) {\n throw new Error(\"I'm an uncaught error\");\n }\n if (n <= 1) {\n return n;\n }\n return fibonacci(n - 1) + fibonacci(n - 2);\n};\nimport \"\u0000sentry-release-injector\";","import { fibonacci } from \"./fib\";\nconsole.log(\"Hi, I'm a very simple app\");\n\nfibonacci(10);\n\nconsole.log(\"I'm done\");\nimport \"\u0000sentry-release-injector\";"],"names":["window","g","self","SENTRY_RELEASE","id","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","globalThis","this","Function","e","r","Symbol","toStringTag","Object","defineProperty","value","fibonacci","n","Error","console","log"],"mappings":"4BAEwB,oBAAXA,OACLA,YACkB,IAAX,EAAAC,EACL,EAAAA,EACgB,oBAATC,KACLA,KACA,CAAC,GAEDC,eAAe,CAACC,GAAG,wB,GCT3BC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaE,QAGrB,IAAIC,EAASN,EAAyBE,GAAY,CAGjDG,QAAS,CAAC,GAOX,OAHAE,EAAoBL,GAAUI,EAAQA,EAAOD,QAASJ,GAG/CK,EAAOD,OACf,CCtBAJ,EAAoBL,EAAI,WACvB,GAA0B,iBAAfY,WAAyB,OAAOA,WAC3C,IACC,OAAOC,MAAQ,IAAIC,SAAS,cAAb,EAGhB,CAFE,MAAOC,GACR,GAAsB,iBAAXhB,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCCxBM,EAAoBW,EAAKP,IACH,oBAAXQ,QAA0BA,OAAOC,aAC1CC,OAAOC,eAAeX,EAASQ,OAAOC,YAAa,CAAEG,MAAO,WAE7DF,OAAOC,eAAeX,EAAS,aAAc,CAAEY,OAAO,GAAO,E,0CCLvD,MAAMC,EAAaC,IACxB,GAAU,IAANA,EACF,MAAM,IAAIC,MAAM,yBAElB,OAAID,GAAK,EACAA,EAEFD,EAAUC,EAAI,GAAKD,EAAUC,EAAI,EAAE,ECN5CE,QAAQC,IAAI,6BAEZJ,EAAU,IAEVG,QAAQC,IAAI,W"}
\ No newline at end of file
From dd8f9f27b5811c43e3116206de325cb1c3812aca Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Mon, 7 Nov 2022 11:47:04 +0100
Subject: [PATCH 077/640] ref(core): Use Sentry-CLI to finalize release (#90)
Replace our own release finalization logic with Sentry CLI's implementation
RIP
Note: Since integration tests were failing because the CLI expects parameters that we didn't specify, I opted to set the `dryRun` option in our test setups. We're only testing release injection in these tests, so apart from the CLI's version detection (which still works as expected in dry run mode) we don't need any of its functionality.
---
.../bundler-plugin-core/src/sentry/api.ts | 33 -------------------
.../src/sentry/releasePipeline.ts | 25 ++------------
.../fixtures/array-entries-option/setup.ts | 1 +
.../fixtures/basic-release-injection/setup.ts | 1 +
.../fixtures/function-entries-option/setup.ts | 1 +
.../fixtures/regex-entries-option/setup.ts | 1 +
.../fixtures/string-entries-option/setup.ts | 1 +
7 files changed, 8 insertions(+), 55 deletions(-)
diff --git a/packages/bundler-plugin-core/src/sentry/api.ts b/packages/bundler-plugin-core/src/sentry/api.ts
index 6acea24b4791..65776b254244 100644
--- a/packages/bundler-plugin-core/src/sentry/api.ts
+++ b/packages/bundler-plugin-core/src/sentry/api.ts
@@ -80,36 +80,3 @@ export async function deleteAllReleaseArtifacts({
throw e;
}
}
-
-export async function updateRelease({
- release,
- org,
- authToken,
- sentryUrl,
- project,
- sentryHub,
- customHeader,
-}: {
- release: string;
- org: string;
- authToken: string;
- sentryUrl: string;
- project: string;
- sentryHub: Hub;
- customHeader: Record;
-}): Promise {
- const requestUrl = `${sentryUrl}${API_PATH}/projects/${org}/${project}/releases/${release}/`;
-
- const releasePayload = {
- dateReleased: new Date().toISOString(),
- };
-
- try {
- await sentryApiAxiosInstance({ authToken, customHeader }).put(requestUrl, releasePayload, {
- headers: { Authorization: `Bearer ${authToken}` },
- });
- } catch (e) {
- captureMinimalError(e, sentryHub);
- throw e;
- }
-}
diff --git a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
index d286645c7e34..87a2a71be279 100644
--- a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
+++ b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
@@ -8,7 +8,7 @@
import { InternalOptions } from "../options-mapping";
import { BuildContext } from "../types";
-import { createRelease, deleteAllReleaseArtifacts, updateRelease } from "./api";
+import { createRelease, deleteAllReleaseArtifacts } from "./api";
import { addSpanToTransaction } from "./telemetry";
export async function createNewRelease(
@@ -75,34 +75,15 @@ export async function uploadSourceMaps(options: InternalOptions, ctx: BuildConte
span?.finish();
}
-export async function finalizeRelease(
- options: InternalOptions,
- ctx: BuildContext
-): Promise {
+export async function finalizeRelease(options: InternalOptions, ctx: BuildContext): Promise {
const span = addSpanToTransaction(ctx, "function.plugin.finalize_release");
if (options.finalize) {
- const { authToken, org, url, project } = options;
- if (!authToken || !org || !url || !project) {
- ctx.logger.warn("Missing required option. Will not clean existing artifacts.");
- return Promise.resolve("nothing to do here");
- }
-
- await updateRelease({
- authToken,
- org,
- release: options.release,
- sentryUrl: url,
- project,
- sentryHub: ctx.hub,
- customHeader: options.customHeader,
- });
-
+ await ctx.cli.releases.finalize(options.release);
ctx.logger.info("Successfully finalized release.");
}
span?.finish();
- return Promise.resolve("nothing to do here");
}
export async function cleanArtifacts(options: InternalOptions, ctx: BuildContext): Promise {
diff --git a/packages/integration-tests/fixtures/array-entries-option/setup.ts b/packages/integration-tests/fixtures/array-entries-option/setup.ts
index d12f1b0a3d45..1da304a4e2d8 100644
--- a/packages/integration-tests/fixtures/array-entries-option/setup.ts
+++ b/packages/integration-tests/fixtures/array-entries-option/setup.ts
@@ -14,5 +14,6 @@ createCjsBundles(
release: "I AM A RELEASE!",
include: outputDir,
entries: [/entrypoint1\.js/, entryPoint3Path],
+ dryRun: true,
} as Options
);
diff --git a/packages/integration-tests/fixtures/basic-release-injection/setup.ts b/packages/integration-tests/fixtures/basic-release-injection/setup.ts
index 2d8a42fbb01f..b9112296838a 100644
--- a/packages/integration-tests/fixtures/basic-release-injection/setup.ts
+++ b/packages/integration-tests/fixtures/basic-release-injection/setup.ts
@@ -8,4 +8,5 @@ const outputDir = path.resolve(__dirname, "./out");
createCjsBundles({ index: entryPointPath }, outputDir, {
release: "I AM A RELEASE!",
include: outputDir,
+ dryRun: true,
} as Options);
diff --git a/packages/integration-tests/fixtures/function-entries-option/setup.ts b/packages/integration-tests/fixtures/function-entries-option/setup.ts
index 565b941bbfcf..d30480410ec0 100644
--- a/packages/integration-tests/fixtures/function-entries-option/setup.ts
+++ b/packages/integration-tests/fixtures/function-entries-option/setup.ts
@@ -15,5 +15,6 @@ createCjsBundles(
include: outputDir,
entries: (entrypointPath) =>
entrypointPath === entryPoint1Path || entrypointPath === entryPoint3Path,
+ dryRun: true,
} as Options
);
diff --git a/packages/integration-tests/fixtures/regex-entries-option/setup.ts b/packages/integration-tests/fixtures/regex-entries-option/setup.ts
index f5e288173f9f..8f528f4c7aec 100644
--- a/packages/integration-tests/fixtures/regex-entries-option/setup.ts
+++ b/packages/integration-tests/fixtures/regex-entries-option/setup.ts
@@ -9,5 +9,6 @@ const outputDir = path.resolve(__dirname, "./out");
createCjsBundles({ entrypoint1: entryPoint1Path, entrypoint2: entryPoint2Path }, outputDir, {
release: "I AM A RELEASE!",
include: outputDir,
+ dryRun: true,
entries: /entrypoint1\.js/,
} as Options);
diff --git a/packages/integration-tests/fixtures/string-entries-option/setup.ts b/packages/integration-tests/fixtures/string-entries-option/setup.ts
index 0481189ff48c..374012e9cae7 100644
--- a/packages/integration-tests/fixtures/string-entries-option/setup.ts
+++ b/packages/integration-tests/fixtures/string-entries-option/setup.ts
@@ -10,4 +10,5 @@ createCjsBundles({ entrypoint1: entryPoint1Path, entrypoint2: entryPoint2Path },
release: "I AM A RELEASE!",
include: outputDir,
entries: entryPoint1Path,
+ dryRun: true,
} as Options);
From 6a30140e150f14054084b87bdd524f39602218ba Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Tue, 8 Nov 2022 13:16:02 +0100
Subject: [PATCH 078/640] ref(core): Use Sentry CLI for artifact deletion (#92)
Replace previous custom implementation with Sentry CLI logic analogously to the [webpack plugin](https://github.com/getsentry/sentry-webpack-plugin/blob/137503f3ac6fe423b16c5c50379859c86e689017/src/index.js#L487-L490)
---
.../bundler-plugin-core/src/sentry/api.ts | 31 -------------------
.../bundler-plugin-core/src/sentry/cli.ts | 6 +++-
.../src/sentry/releasePipeline.ts | 23 +++++---------
3 files changed, 12 insertions(+), 48 deletions(-)
diff --git a/packages/bundler-plugin-core/src/sentry/api.ts b/packages/bundler-plugin-core/src/sentry/api.ts
index 65776b254244..994123945863 100644
--- a/packages/bundler-plugin-core/src/sentry/api.ts
+++ b/packages/bundler-plugin-core/src/sentry/api.ts
@@ -49,34 +49,3 @@ export async function createRelease({
throw e;
}
}
-
-export async function deleteAllReleaseArtifacts({
- org,
- project,
- release,
- authToken,
- sentryUrl,
- sentryHub,
- customHeader,
-}: {
- org: string;
- release: string;
- sentryUrl: string;
- authToken: string;
- project: string;
- sentryHub: Hub;
- customHeader: Record;
-}): Promise {
- const requestUrl = `${sentryUrl}${API_PATH}/projects/${org}/${project}/files/source-maps/?name=${release}`;
-
- try {
- await sentryApiAxiosInstance({ authToken, customHeader }).delete(requestUrl, {
- headers: {
- Authorization: `Bearer ${authToken}`,
- },
- });
- } catch (e) {
- captureMinimalError(e, sentryHub);
- throw e;
- }
-}
diff --git a/packages/bundler-plugin-core/src/sentry/cli.ts b/packages/bundler-plugin-core/src/sentry/cli.ts
index 690d3fed0d5f..5ee351663435 100644
--- a/packages/bundler-plugin-core/src/sentry/cli.ts
+++ b/packages/bundler-plugin-core/src/sentry/cli.ts
@@ -2,7 +2,7 @@ import SentryCli, { SentryCliReleases } from "@sentry/cli";
import { InternalOptions } from "../options-mapping";
import { Logger } from "./logger";
-type SentryDryRunCLI = { releases: Omit };
+type SentryDryRunCLI = { releases: Omit };
export type SentryCLILike = SentryCli | SentryDryRunCLI;
/**
@@ -57,6 +57,10 @@ function getDryRunCLI(cli: SentryCli, logger: Logger): SentryDryRunCLI {
logger.info("Calling deploy with:\n", config);
return Promise.resolve(release);
},
+ execute: (args: string[], live: boolean) => {
+ logger.info("Executing", args, "live:", live);
+ return Promise.resolve("");
+ },
},
};
}
diff --git a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
index 87a2a71be279..a903c88a5931 100644
--- a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
+++ b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
@@ -8,7 +8,7 @@
import { InternalOptions } from "../options-mapping";
import { BuildContext } from "../types";
-import { createRelease, deleteAllReleaseArtifacts } from "./api";
+import { createRelease } from "./api";
import { addSpanToTransaction } from "./telemetry";
export async function createNewRelease(
@@ -86,40 +86,31 @@ export async function finalizeRelease(options: InternalOptions, ctx: BuildContex
span?.finish();
}
-export async function cleanArtifacts(options: InternalOptions, ctx: BuildContext): Promise {
+export async function cleanArtifacts(options: InternalOptions, ctx: BuildContext): Promise {
const span = addSpanToTransaction(ctx, "function.plugin.clean_artifacts");
if (options.cleanArtifacts) {
// TODO: pull these checks out of here and simplify them
if (options.authToken === undefined) {
ctx.logger.warn('Missing "authToken" option. Will not clean existing artifacts.');
- return Promise.resolve("nothing to do here");
+ return;
} else if (options.org === undefined) {
ctx.logger.warn('Missing "org" option. Will not clean existing artifacts.');
- return Promise.resolve("nothing to do here");
+ return;
} else if (options.url === undefined) {
ctx.logger.warn('Missing "url" option. Will not clean existing artifacts.');
- return Promise.resolve("nothing to do here");
+ return;
} else if (options.project === undefined) {
ctx.logger.warn('Missing "project" option. Will not clean existing artifacts.');
- return Promise.resolve("nothing to do here");
+ return;
}
- await deleteAllReleaseArtifacts({
- authToken: options.authToken,
- org: options.org,
- release: options.release,
- sentryUrl: options.url,
- project: options.project,
- sentryHub: ctx.hub,
- customHeader: options.customHeader,
- });
+ await ctx.cli.releases.execute(["releases", "files", options.release, "delete", "--all"], true);
ctx.logger.info("Successfully cleaned previous artifacts.");
}
span?.finish();
- return Promise.resolve("nothing to do here");
}
// TODO: Stuff we worry about later:
From 8e47960a9a8c397a7b9ec577b1db699cceb7118d Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Tue, 8 Nov 2022 13:23:39 +0100
Subject: [PATCH 079/640] ref(core): Use Sentry CLI to create new release (#93)
replaces our custom implementation of the release creation API call with a call to Sentry CLI to do the job
---
.../bundler-plugin-core/src/sentry/api.ts | 51 -------------------
.../src/sentry/releasePipeline.ts | 25 +++------
2 files changed, 6 insertions(+), 70 deletions(-)
delete mode 100644 packages/bundler-plugin-core/src/sentry/api.ts
diff --git a/packages/bundler-plugin-core/src/sentry/api.ts b/packages/bundler-plugin-core/src/sentry/api.ts
deleted file mode 100644
index 994123945863..000000000000
--- a/packages/bundler-plugin-core/src/sentry/api.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-import { Hub } from "@sentry/node";
-import axios from "axios";
-import { InternalOptions } from "../options-mapping";
-import { captureMinimalError } from "./telemetry";
-
-const API_PATH = "api/0";
-const USER_AGENT = `sentry-bundler-plugin/${__PACKAGE_VERSION__}`;
-
-const sentryApiAxiosInstance = ({
- authToken,
- customHeader,
-}: Required> & Pick) =>
- axios.create({
- headers: { ...customHeader, "User-Agent": USER_AGENT, Authorization: `Bearer ${authToken}` },
- });
-
-export async function createRelease({
- org,
- project,
- release,
- authToken,
- sentryUrl,
- sentryHub,
- customHeader,
-}: {
- release: string;
- project: string;
- org: string;
- authToken: string;
- sentryUrl: string;
- sentryHub: Hub;
- customHeader: Record;
-}): Promise {
- const requestUrl = `${sentryUrl}${API_PATH}/organizations/${org}/releases/`;
-
- const releasePayload = {
- version: release,
- projects: [project], // we currently only support creating releases for a single project
- dateStarted: new Date(),
- dateReleased: new Date(), //TODO: figure out if these dates are set correctly
- };
-
- try {
- await sentryApiAxiosInstance({ authToken, customHeader }).post(requestUrl, releasePayload, {
- headers: { Authorization: `Bearer ${authToken}` },
- });
- } catch (e) {
- captureMinimalError(e, sentryHub);
- throw e;
- }
-}
diff --git a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
index a903c88a5931..1bdc47409644 100644
--- a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
+++ b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
@@ -8,44 +8,31 @@
import { InternalOptions } from "../options-mapping";
import { BuildContext } from "../types";
-import { createRelease } from "./api";
import { addSpanToTransaction } from "./telemetry";
-export async function createNewRelease(
- options: InternalOptions,
- ctx: BuildContext
-): Promise {
+export async function createNewRelease(options: InternalOptions, ctx: BuildContext): Promise {
const span = addSpanToTransaction(ctx, "function.plugin.create_release");
// TODO: pull these checks out of here and simplify them
if (options.authToken === undefined) {
ctx.logger.warn('Missing "authToken" option. Will not create release.');
- return Promise.resolve("nothing to do here");
+ return;
} else if (options.org === undefined) {
ctx.logger.warn('Missing "org" option. Will not create release.');
- return Promise.resolve("nothing to do here");
+ return;
} else if (options.url === undefined) {
ctx.logger.warn('Missing "url" option. Will not create release.');
- return Promise.resolve("nothing to do here");
+ return;
} else if (options.project === undefined) {
ctx.logger.warn('Missing "project" option. Will not create release.');
- return Promise.resolve("nothing to do here");
+ return;
}
- await createRelease({
- release: options.release,
- authToken: options.authToken,
- org: options.org,
- project: options.project,
- sentryUrl: options.url,
- sentryHub: ctx.hub,
- customHeader: options.customHeader,
- });
+ await ctx.cli.releases.new(options.release);
ctx.logger.info("Successfully created release.");
span?.finish();
- return Promise.resolve("nothing to do here");
}
export async function uploadSourceMaps(options: InternalOptions, ctx: BuildContext): Promise {
From 4e7802f92f4359c9d078defca7989e68560d00be Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Tue, 8 Nov 2022 17:07:31 +0100
Subject: [PATCH 080/640] feat(core): Add `setCommits` (#96)
Add the `setCommits` option implementation, analogously to what we have in the [webpack plugin](https://github.com/getsentry/sentry-webpack-plugin/blob/137503f3ac6fe423b16c5c50379859c86e689017/src/index.js#L495-L516).
Add a few tests to check that this step in our release pipeline is working as expected. I'll make similar tests to the other steps in future PRs.
---
packages/bundler-plugin-core/src/index.ts | 2 +-
.../src/sentry/releasePipeline.ts | 29 ++++++--
packages/bundler-plugin-core/src/types.ts | 12 +++-
.../test/releasePipeline.test.ts | 71 +++++++++++++++++++
.../playground/vite.config.smallNodeApp.js | 4 ++
5 files changed, 108 insertions(+), 10 deletions(-)
create mode 100644 packages/bundler-plugin-core/test/releasePipeline.test.ts
diff --git a/packages/bundler-plugin-core/src/index.ts b/packages/bundler-plugin-core/src/index.ts
index 58e51813df94..c53df5f9291f 100644
--- a/packages/bundler-plugin-core/src/index.ts
+++ b/packages/bundler-plugin-core/src/index.ts
@@ -287,7 +287,7 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
createNewRelease(internalOptions, ctx)
.then(() => cleanArtifacts(internalOptions, ctx))
.then(() => uploadSourceMaps(internalOptions, ctx))
- .then(() => setCommits(ctx)) // this is a noop for now
+ .then(() => setCommits(internalOptions, ctx))
.then(() => finalizeRelease(internalOptions, ctx))
.then(() => addDeploy(ctx)) // this is a noop for now
.then(() => {
diff --git a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
index 1bdc47409644..023a0c62987b 100644
--- a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
+++ b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
@@ -100,16 +100,31 @@ export async function cleanArtifacts(options: InternalOptions, ctx: BuildContext
span?.finish();
}
-// TODO: Stuff we worry about later:
-
-export async function setCommits(
- /* version: string, */
- ctx: BuildContext
-): Promise {
+export async function setCommits(options: InternalOptions, ctx: BuildContext): Promise {
const span = addSpanToTransaction(ctx, "function.plugin.set_commits");
+ if (options.setCommits) {
+ const { auto, repo, commit, previousCommit, ignoreMissing, ignoreEmpty } = options.setCommits;
+
+ if (auto || (repo && commit)) {
+ await ctx.cli.releases.setCommits(options.release, {
+ commit,
+ previousCommit,
+ repo,
+ auto,
+ ignoreMissing,
+ ignoreEmpty,
+ });
+ ctx.logger.info("Successfully set commits.");
+ } else {
+ ctx.logger.error(
+ "Couldn't set commits - neither the `auto` nor the `repo` and `commit` options were specified!",
+ "Make sure to either set `auto` to `true` or to manually set `repo` and `commit`."
+ );
+ }
+ }
+
span?.finish();
- return Promise.resolve("Noop");
}
export async function addDeploy(
diff --git a/packages/bundler-plugin-core/src/types.ts b/packages/bundler-plugin-core/src/types.ts
index c405817a927d..73991279ea1a 100644
--- a/packages/bundler-plugin-core/src/types.ts
+++ b/packages/bundler-plugin-core/src/types.ts
@@ -277,14 +277,14 @@ type SetCommitsOptions = {
/**
* The full repo name as defined in Sentry.
*
- * Required if `auto` option is not `true`.
+ * Required if `auto` option is not set to `true`.
*/
repo?: string;
/**
* The current (last) commit in the release.
*
- * Required if `auto` option is not `true`.
+ * Required if `auto` option is not set to `true`.
*/
commit?: string;
@@ -306,6 +306,14 @@ type SetCommitsOptions = {
* Defaults to `false`.
*/
ignoreMissing?: boolean;
+
+ /**
+ * If this flag is set, the setCommits step will not fail and just exit
+ * silently if no new commits for a given release have been found.
+ *
+ * Defaults to `false`.
+ */
+ ignoreEmpty?: boolean;
};
type DeployOptions = {
diff --git a/packages/bundler-plugin-core/test/releasePipeline.test.ts b/packages/bundler-plugin-core/test/releasePipeline.test.ts
new file mode 100644
index 000000000000..7f2d3cd12f87
--- /dev/null
+++ b/packages/bundler-plugin-core/test/releasePipeline.test.ts
@@ -0,0 +1,71 @@
+import { InternalOptions } from "../src/options-mapping";
+import { setCommits } from "../src/sentry/releasePipeline";
+import { BuildContext } from "../src/types";
+
+const mockedAddSpanToTxn = jest.fn();
+
+jest.mock("../src/sentry/telemetry", () => {
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
+ const original = jest.requireActual("../src/sentry/telemetry");
+
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
+ return {
+ ...original,
+ addSpanToTransaction: () => {
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
+ return mockedAddSpanToTxn();
+ },
+ };
+});
+
+describe("Release Pipeline", () => {
+ const mockedLogger = {
+ debug: jest.fn(),
+ info: jest.fn(),
+ warn: jest.fn(),
+ error: jest.fn(),
+ };
+
+ const mockedCLI = {
+ releases: {
+ setCommits: jest.fn(),
+ },
+ };
+
+ const mockedChildSpan = { finish: jest.fn() };
+ mockedAddSpanToTxn.mockImplementation(() => mockedChildSpan);
+
+ const ctx = { cli: mockedCLI, logger: mockedLogger };
+
+ describe("setCommits", () => {
+ it("doesn't do anything if setCommits option is not specified", async () => {
+ await setCommits({} as InternalOptions, ctx as unknown as BuildContext);
+
+ expect(mockedCLI.releases.setCommits).not.toHaveBeenCalled();
+ expect(mockedAddSpanToTxn).toHaveBeenCalled();
+ expect(mockedChildSpan.finish).toHaveBeenCalled();
+ });
+
+ it("logs an error if neither `auto` nor `repo` && `commit` options are specified", async () => {
+ await setCommits({ setCommits: {} } as InternalOptions, ctx as unknown as BuildContext);
+ expect(mockedCLI.releases.setCommits).not.toHaveBeenCalled();
+ expect(mockedLogger.error).toHaveBeenLastCalledWith(
+ expect.stringMatching(/Couldn't set commits.*auto.*repo.*commit/),
+ expect.stringMatching(/.*auto.*repo.*commit/)
+ );
+ expect(mockedAddSpanToTxn).toHaveBeenCalled();
+ expect(mockedChildSpan.finish).toHaveBeenCalled();
+ });
+
+ it("makes a call to Sentry CLI if the correct options are specified", async () => {
+ await setCommits(
+ { setCommits: { auto: true }, release: "1.0.0" } as InternalOptions,
+ ctx as unknown as BuildContext
+ );
+
+ expect(mockedCLI.releases.setCommits).toHaveBeenCalledWith("1.0.0", { auto: true });
+ expect(mockedAddSpanToTxn).toHaveBeenCalled();
+ expect(mockedChildSpan.finish).toHaveBeenCalled();
+ });
+ });
+});
diff --git a/packages/playground/vite.config.smallNodeApp.js b/packages/playground/vite.config.smallNodeApp.js
index 308852b551a3..e549a8fe8453 100644
--- a/packages/playground/vite.config.smallNodeApp.js
+++ b/packages/playground/vite.config.smallNodeApp.js
@@ -27,6 +27,10 @@ export default defineConfig({
// ignore: ["out/*", "!out/vite-smallNodeApp/index.js.map"],
ignore: ["!out/vite-smallNodeApp/index.js.map"],
ignoreFile: ".sentryignore",
+ setCommits: {
+ auto: true,
+ ignoreMissing: true,
+ },
}),
],
});
From 8a7fa9394348efcc6307130fcdb752ebebc4ce28 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Wed, 9 Nov 2022 10:52:14 +0100
Subject: [PATCH 081/640] feat(core): Add `deploy` command (#97)
Add the implementation of the `deploy` option and its step in the release pipeline. The implementation is mostly taken from the [webpack plugin](https://github.com/getsentry/sentry-webpack-plugin/blob/137503f3ac6fe423b16c5c50379859c86e689017/src/index.js#L524-L536) and relies on Sentry CLI.
Add tests for deploy
---
packages/bundler-plugin-core/src/index.ts | 6 +--
.../src/sentry/releasePipeline.ts | 29 +++++++++---
packages/bundler-plugin-core/src/types.ts | 4 +-
.../test/releasePipeline.test.ts | 45 ++++++++++++++++++-
.../playground/vite.config.smallNodeApp.js | 4 ++
5 files changed, 74 insertions(+), 14 deletions(-)
diff --git a/packages/bundler-plugin-core/src/index.ts b/packages/bundler-plugin-core/src/index.ts
index c53df5f9291f..9222c733a625 100644
--- a/packages/bundler-plugin-core/src/index.ts
+++ b/packages/bundler-plugin-core/src/index.ts
@@ -289,10 +289,8 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
.then(() => uploadSourceMaps(internalOptions, ctx))
.then(() => setCommits(internalOptions, ctx))
.then(() => finalizeRelease(internalOptions, ctx))
- .then(() => addDeploy(ctx)) // this is a noop for now
- .then(() => {
- transaction?.setStatus("ok");
- })
+ .then(() => addDeploy(internalOptions, ctx))
+ .then(() => transaction?.setStatus("ok"))
.catch((e: Error) => {
captureMinimalError(e, sentryHub);
transaction?.setStatus("cancelled");
diff --git a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
index 023a0c62987b..fce94afcaebb 100644
--- a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
+++ b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
@@ -127,12 +127,29 @@ export async function setCommits(options: InternalOptions, ctx: BuildContext): P
span?.finish();
}
-export async function addDeploy(
- /* version: string, */
- ctx: BuildContext
-): Promise {
- const span = addSpanToTransaction(ctx, "function.plugin.add_deploy");
+export async function addDeploy(options: InternalOptions, ctx: BuildContext): Promise {
+ const span = addSpanToTransaction(ctx, "function.plugin.deploy");
+
+ if (options.deploy) {
+ const { env, started, finished, time, name, url } = options.deploy;
+
+ if (env) {
+ await ctx.cli.releases.newDeploy(options.release, {
+ env,
+ started,
+ finished,
+ time,
+ name,
+ url,
+ });
+ ctx.logger.info("Successfully added deploy.");
+ } else {
+ ctx.logger.error(
+ "Couldn't add deploy - the `env` option was not specified!",
+ "Make sure to set `deploy.env` (e.g. to 'production')."
+ );
+ }
+ }
span?.finish();
- return Promise.resolve("Noop");
}
diff --git a/packages/bundler-plugin-core/src/types.ts b/packages/bundler-plugin-core/src/types.ts
index 73991279ea1a..a6765ddfc4db 100644
--- a/packages/bundler-plugin-core/src/types.ts
+++ b/packages/bundler-plugin-core/src/types.ts
@@ -326,12 +326,12 @@ type DeployOptions = {
/**
* Deployment start time in Unix timestamp (in seconds) or ISO 8601 format.
*/
- started?: number;
+ started?: number | string;
/**
* Deployment finish time in Unix timestamp (in seconds) or ISO 8601 format.
*/
- finished?: number;
+ finished?: number | string;
/**
* Deployment duration (in seconds). Can be used instead of started and finished.
diff --git a/packages/bundler-plugin-core/test/releasePipeline.test.ts b/packages/bundler-plugin-core/test/releasePipeline.test.ts
index 7f2d3cd12f87..5b10f4cdf9d3 100644
--- a/packages/bundler-plugin-core/test/releasePipeline.test.ts
+++ b/packages/bundler-plugin-core/test/releasePipeline.test.ts
@@ -1,5 +1,5 @@
import { InternalOptions } from "../src/options-mapping";
-import { setCommits } from "../src/sentry/releasePipeline";
+import { addDeploy, setCommits } from "../src/sentry/releasePipeline";
import { BuildContext } from "../src/types";
const mockedAddSpanToTxn = jest.fn();
@@ -29,6 +29,7 @@ describe("Release Pipeline", () => {
const mockedCLI = {
releases: {
setCommits: jest.fn(),
+ newDeploy: jest.fn(),
},
};
@@ -38,7 +39,7 @@ describe("Release Pipeline", () => {
const ctx = { cli: mockedCLI, logger: mockedLogger };
describe("setCommits", () => {
- it("doesn't do anything if setCommits option is not specified", async () => {
+ it("doesn't do anything if `setCommits` option is not specified", async () => {
await setCommits({} as InternalOptions, ctx as unknown as BuildContext);
expect(mockedCLI.releases.setCommits).not.toHaveBeenCalled();
@@ -68,4 +69,44 @@ describe("Release Pipeline", () => {
expect(mockedChildSpan.finish).toHaveBeenCalled();
});
});
+
+ describe("addDeploy", () => {
+ it("doesn't do anything if `deploy` option is not specified", async () => {
+ await addDeploy({} as InternalOptions, ctx as unknown as BuildContext);
+
+ expect(mockedCLI.releases.newDeploy).not.toHaveBeenCalled();
+ expect(mockedAddSpanToTxn).toHaveBeenCalled();
+ expect(mockedChildSpan.finish).toHaveBeenCalled();
+ });
+
+ it("logs an error and does nothing if `env` isn't specified", async () => {
+ await addDeploy({ deploy: {} } as InternalOptions, ctx as unknown as BuildContext);
+ expect(mockedCLI.releases.newDeploy).not.toHaveBeenCalled();
+ expect(mockedLogger.error).toHaveBeenLastCalledWith(
+ expect.stringMatching(/Couldn't add deploy.*env/),
+ expect.stringMatching(/env/)
+ );
+ expect(mockedAddSpanToTxn).toHaveBeenCalled();
+ expect(mockedChildSpan.finish).toHaveBeenCalled();
+ });
+
+ it("makes a call to Sentry CLI if the correct options are specified", async () => {
+ const deployOptions = {
+ env: "production",
+ started: 0,
+ finished: 10,
+ name: "myDeployment",
+ url: "https://my-deploy-server.com",
+ };
+
+ await addDeploy(
+ { deploy: deployOptions, release: "1.0.0" } as InternalOptions,
+ ctx as unknown as BuildContext
+ );
+
+ expect(mockedCLI.releases.newDeploy).toHaveBeenCalledWith("1.0.0", deployOptions);
+ expect(mockedAddSpanToTxn).toHaveBeenCalled();
+ expect(mockedChildSpan.finish).toHaveBeenCalled();
+ });
+ });
});
diff --git a/packages/playground/vite.config.smallNodeApp.js b/packages/playground/vite.config.smallNodeApp.js
index e549a8fe8453..d2ee7d5339ff 100644
--- a/packages/playground/vite.config.smallNodeApp.js
+++ b/packages/playground/vite.config.smallNodeApp.js
@@ -31,6 +31,10 @@ export default defineConfig({
auto: true,
ignoreMissing: true,
},
+ deploy: {
+ env: "myEnv",
+ time: 10,
+ },
}),
],
});
From b6e9f3465a25eb4c0f6c6e174b1ddcb4b3cf3d10 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Wed, 9 Nov 2022 10:58:41 +0100
Subject: [PATCH 082/640] ref(core): Remove customHeader conversion in internal
options (#98)
Previously, we coverted the user-facing `customHeader` option, typed as string to an internal option typed `Record`. This was handy for adding the header to our outgoing API requests. Since we don't do these ourselves anymore but rely on Sentry CLI, it's just easier to pass this option through to the CLI which also expects the string representation.
---
.../bundler-plugin-core/src/options-mapping.ts | 18 +++++-------------
packages/bundler-plugin-core/src/sentry/cli.ts | 14 ++++++++------
.../test/option-mappings.test.ts | 17 -----------------
3 files changed, 13 insertions(+), 36 deletions(-)
diff --git a/packages/bundler-plugin-core/src/options-mapping.ts b/packages/bundler-plugin-core/src/options-mapping.ts
index 9397cfb887a6..c4a68eb210d0 100644
--- a/packages/bundler-plugin-core/src/options-mapping.ts
+++ b/packages/bundler-plugin-core/src/options-mapping.ts
@@ -20,13 +20,15 @@ type RequiredInternalOptions = Required<
>;
type OptionalInternalOptions = Partial<
- Pick
+ Pick<
+ UserOptions,
+ "dist" | "errorHandler" | "setCommits" | "deploy" | "configFile" | "customHeader"
+ >
>;
type NormalizedInternalOptions = {
entries: (string | RegExp)[] | ((filePath: string) => boolean) | undefined;
include: InternalIncludeEntry[];
- customHeader: Record;
};
export type InternalOptions = RequiredInternalOptions &
@@ -84,7 +86,7 @@ export function normalizeUserOptions(userOptions: UserOptions): InternalOptions
finalize: userOptions.finalize ?? true,
validate: userOptions.validate ?? false,
vcsRemote: userOptions.vcsRemote ?? "origin",
- customHeader: normalizeCustomHeader(userOptions.customHeader),
+ customHeader: userOptions.customHeader,
dryRun: userOptions.dryRun ?? false,
debug: userOptions.debug ?? false,
silent: userOptions.silent ?? false,
@@ -134,13 +136,3 @@ function normalizeIncludeEntry(
rewrite: includeEntry.rewrite ?? userOptions.rewrite ?? true,
};
}
-
-function normalizeCustomHeader(
- userCustomHeader: UserOptions["customHeader"]
-): InternalOptions["customHeader"] {
- if (!userCustomHeader || !userCustomHeader.includes(":")) {
- return {};
- }
- const [key, value] = userCustomHeader.split(/:(.*)/, 2).map((s) => s.trim()) as [string, string];
- return { [key]: value };
-}
diff --git a/packages/bundler-plugin-core/src/sentry/cli.ts b/packages/bundler-plugin-core/src/sentry/cli.ts
index 5ee351663435..4abfc8b26c45 100644
--- a/packages/bundler-plugin-core/src/sentry/cli.ts
+++ b/packages/bundler-plugin-core/src/sentry/cli.ts
@@ -12,13 +12,15 @@ export type SentryCLILike = SentryCli | SentryDryRunCLI;
* that makes no-ops out of most CLI operations
*/
export function getSentryCli(internalOptions: InternalOptions, logger: Logger): SentryCLILike {
+ const { silent, org, project, authToken, url, vcsRemote, customHeader } = internalOptions;
const cli = new SentryCli(internalOptions.configFile, {
- silent: internalOptions.silent,
- org: internalOptions.org,
- project: internalOptions.project,
- authToken: internalOptions.authToken,
- url: internalOptions.url,
- vcsRemote: internalOptions.vcsRemote,
+ silent,
+ org,
+ project,
+ authToken,
+ url,
+ vcsRemote,
+ customHeader,
});
if (internalOptions.dryRun) {
diff --git a/packages/bundler-plugin-core/test/option-mappings.test.ts b/packages/bundler-plugin-core/test/option-mappings.test.ts
index 861b6990074a..be19b54fa503 100644
--- a/packages/bundler-plugin-core/test/option-mappings.test.ts
+++ b/packages/bundler-plugin-core/test/option-mappings.test.ts
@@ -14,7 +14,6 @@ describe("normalizeUserOptions()", () => {
expect(normalizeUserOptions(userOptions)).toEqual({
authToken: "my-auth-token",
cleanArtifacts: false,
- customHeader: {},
debug: false,
dryRun: false,
finalize: true,
@@ -58,7 +57,6 @@ describe("normalizeUserOptions()", () => {
expect(normalizeUserOptions(userOptions)).toEqual({
authToken: "my-auth-token",
cleanArtifacts: false,
- customHeader: {},
debug: false,
dryRun: false,
finalize: true,
@@ -82,19 +80,4 @@ describe("normalizeUserOptions()", () => {
vcsRemote: "origin",
});
});
-
- test("should convert string customHeader to internal representation", () => {
- const userOptions: Options = {
- org: "my-org",
- project: "my-project",
- authToken: "my-auth-token",
- release: "my-release",
- include: "dist",
- customHeader: "customKey: CustomValue",
- };
-
- expect(normalizeUserOptions(userOptions)).toEqual(
- expect.objectContaining({ customHeader: { customKey: "CustomValue" } })
- );
- });
});
From 23457930333643d10947760318c33177c0419356 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Wed, 9 Nov 2022 14:51:37 +0100
Subject: [PATCH 083/640] ref(core): Add missing and change unused options
(#101)
Revisit our options after checking them for completeness against the webpack plugin and Sentry CLI:
* Add the missing `debug` options to the plugin and make the `logger.debug` output depend on it
* Pass the previously unused `dist` option to the CLI constructor
* Move the previously top-level `validate` option to `IncludeEntry`
---
packages/bundler-plugin-core/src/index.ts | 1 +
.../bundler-plugin-core/src/options-mapping.ts | 8 +++++---
packages/bundler-plugin-core/src/sentry/cli.ts | 9 +++++----
.../bundler-plugin-core/src/sentry/logger.ts | 11 ++++++-----
.../src/sentry/releasePipeline.ts | 2 ++
packages/bundler-plugin-core/src/types.ts | 16 ++++++++--------
packages/bundler-plugin-core/test/logger.test.ts | 8 ++++----
.../test/option-mappings.test.ts | 4 ++--
8 files changed, 33 insertions(+), 26 deletions(-)
diff --git a/packages/bundler-plugin-core/src/index.ts b/packages/bundler-plugin-core/src/index.ts
index 9222c733a625..4142b0d7af63 100644
--- a/packages/bundler-plugin-core/src/index.ts
+++ b/packages/bundler-plugin-core/src/index.ts
@@ -86,6 +86,7 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
hub: sentryHub,
prefix: `[sentry-${unpluginMetaContext.framework}-plugin]`,
silent: internalOptions.silent,
+ debug: internalOptions.debug,
});
const cli = getSentryCli(internalOptions, logger);
diff --git a/packages/bundler-plugin-core/src/options-mapping.ts b/packages/bundler-plugin-core/src/options-mapping.ts
index c4a68eb210d0..9c7daaec651b 100644
--- a/packages/bundler-plugin-core/src/options-mapping.ts
+++ b/packages/bundler-plugin-core/src/options-mapping.ts
@@ -9,7 +9,6 @@ type RequiredInternalOptions = Required<
| "url"
| "release"
| "finalize"
- | "validate"
| "vcsRemote"
| "dryRun"
| "debug"
@@ -36,7 +35,10 @@ export type InternalOptions = RequiredInternalOptions &
NormalizedInternalOptions;
type RequiredInternalIncludeEntry = Required<
- Pick
+ Pick<
+ UserIncludeEntry,
+ "paths" | "ext" | "stripCommonPrefix" | "sourceMapReference" | "rewrite" | "validate"
+ >
>;
type OptionalInternalIncludeEntry = Partial<
@@ -84,7 +86,6 @@ export function normalizeUserOptions(userOptions: UserOptions): InternalOptions
url: userOptions.url ?? "https://sentry.io/",
release: userOptions.release ?? "",
finalize: userOptions.finalize ?? true,
- validate: userOptions.validate ?? false,
vcsRemote: userOptions.vcsRemote ?? "origin",
customHeader: userOptions.customHeader,
dryRun: userOptions.dryRun ?? false,
@@ -134,5 +135,6 @@ function normalizeIncludeEntry(
stripCommonPrefix: includeEntry.stripCommonPrefix ?? userOptions.stripCommonPrefix ?? false,
sourceMapReference: includeEntry.sourceMapReference ?? userOptions.sourceMapReference ?? true,
rewrite: includeEntry.rewrite ?? userOptions.rewrite ?? true,
+ validate: includeEntry.validate ?? userOptions.validate ?? false,
};
}
diff --git a/packages/bundler-plugin-core/src/sentry/cli.ts b/packages/bundler-plugin-core/src/sentry/cli.ts
index 4abfc8b26c45..53aa89fddb45 100644
--- a/packages/bundler-plugin-core/src/sentry/cli.ts
+++ b/packages/bundler-plugin-core/src/sentry/cli.ts
@@ -12,14 +12,15 @@ export type SentryCLILike = SentryCli | SentryDryRunCLI;
* that makes no-ops out of most CLI operations
*/
export function getSentryCli(internalOptions: InternalOptions, logger: Logger): SentryCLILike {
- const { silent, org, project, authToken, url, vcsRemote, customHeader } = internalOptions;
+ const { silent, org, project, authToken, url, vcsRemote, customHeader, dist } = internalOptions;
const cli = new SentryCli(internalOptions.configFile, {
- silent,
+ url,
+ authToken,
org,
project,
- authToken,
- url,
vcsRemote,
+ dist,
+ silent,
customHeader,
});
diff --git a/packages/bundler-plugin-core/src/sentry/logger.ts b/packages/bundler-plugin-core/src/sentry/logger.ts
index cda91a85ee70..9328cf37284e 100644
--- a/packages/bundler-plugin-core/src/sentry/logger.ts
+++ b/packages/bundler-plugin-core/src/sentry/logger.ts
@@ -1,7 +1,8 @@
import { SeverityLevel, Hub } from "@sentry/node";
interface LoggerOptions {
- silent?: boolean;
+ silent: boolean;
+ debug: boolean;
hub: Hub;
prefix: string;
}
@@ -24,7 +25,7 @@ export function createLogger(options: LoggerOptions): Logger {
return {
info(message: string, ...params: unknown[]) {
- if (!options?.silent) {
+ if (!options.silent) {
// eslint-disable-next-line no-console
console.log(`${options.prefix} Info: ${message}`, ...params);
}
@@ -32,7 +33,7 @@ export function createLogger(options: LoggerOptions): Logger {
addBreadcrumb("info", message);
},
warn(message: string, ...params: unknown[]) {
- if (!options?.silent) {
+ if (!options.silent) {
// eslint-disable-next-line no-console
console.log(`${options.prefix} Warning: ${message}`, ...params);
}
@@ -40,7 +41,7 @@ export function createLogger(options: LoggerOptions): Logger {
addBreadcrumb("warning", message);
},
error(message: string, ...params: unknown[]) {
- if (!options?.silent) {
+ if (!options.silent) {
// eslint-disable-next-line no-console
console.log(`${options.prefix} Error: ${message}`, ...params);
}
@@ -49,7 +50,7 @@ export function createLogger(options: LoggerOptions): Logger {
},
debug(message: string, ...params: unknown[]) {
- if (!options?.silent) {
+ if (!options.silent && options.debug) {
// eslint-disable-next-line no-console
console.log(`${options.prefix} Debug: ${message}`, ...params);
}
diff --git a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
index fce94afcaebb..66a72bdce1d2 100644
--- a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
+++ b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
@@ -55,6 +55,8 @@ export async function uploadSourceMaps(options: InternalOptions, ctx: BuildConte
ctx.logger.info("Uploading Sourcemaps.");
+ // Since our internal include entries contain all top-level sourcemaps options,
+ // we only need to pass the include option here.
await ctx.cli.releases.uploadSourceMaps(options.release, { include: options.include });
ctx.logger.info("Successfully uploaded Sourcemaps.");
diff --git a/packages/bundler-plugin-core/src/types.ts b/packages/bundler-plugin-core/src/types.ts
index a6765ddfc4db..941ca96e90fe 100644
--- a/packages/bundler-plugin-core/src/types.ts
+++ b/packages/bundler-plugin-core/src/types.ts
@@ -88,14 +88,6 @@ export type Options = Omit & {
*/
include: string | IncludeEntry | Array;
- /**
- * When `true`, attempts source map validation before upload if rewriting is not enabled.
- * It will spot a variety of issues with source maps and cancel the upload if any are found.
- *
- * Defaults to `false` as this can cause false positives.
- */
- validate?: boolean;
-
/* --- other unimportant (for now) stuff- properties: */
/**
@@ -261,6 +253,14 @@ export type IncludeEntry = {
* Defaults to true
*/
rewrite?: boolean;
+
+ /**
+ * When `true`, attempts source map validation before upload if rewriting is not enabled.
+ * It will spot a variety of issues with source maps and cancel the upload if any are found.
+ *
+ * Defaults to `false` as this can cause false positives.
+ */
+ validate?: boolean;
};
type SetCommitsOptions = {
diff --git a/packages/bundler-plugin-core/test/logger.test.ts b/packages/bundler-plugin-core/test/logger.test.ts
index 27b0508d0dd6..e4140ef8d5bc 100644
--- a/packages/bundler-plugin-core/test/logger.test.ts
+++ b/packages/bundler-plugin-core/test/logger.test.ts
@@ -26,7 +26,7 @@ describe("Logger", () => {
["debug", "Debug"],
] as const)(".%s() should log correctly", (loggerMethod, logLevel) => {
const prefix = "[some-prefix]";
- const logger = createLogger({ hub, prefix });
+ const logger = createLogger({ hub, prefix, silent: false, debug: true });
logger[loggerMethod]("Hey!");
@@ -45,7 +45,7 @@ describe("Logger", () => {
["debug", "Debug"],
] as const)(".%s() should log multiple params correctly", (loggerMethod, logLevel) => {
const prefix = "[some-prefix]";
- const logger = createLogger({ hub, prefix });
+ const logger = createLogger({ hub, prefix, silent: false, debug: true });
logger[loggerMethod]("Hey!", "this", "is", "a test with", 5, "params");
@@ -65,9 +65,9 @@ describe("Logger", () => {
});
describe("doesn't log when `silent` option is `true`", () => {
- it.each(["info", "warn", "error"] as const)(".%s()", (loggerMethod) => {
+ it.each(["info", "warn", "error", "debug"] as const)(".%s()", (loggerMethod) => {
const prefix = "[some-prefix]";
- const logger = createLogger({ silent: true, hub, prefix });
+ const logger = createLogger({ hub, prefix, silent: true, debug: true });
logger[loggerMethod]("Hey!");
diff --git a/packages/bundler-plugin-core/test/option-mappings.test.ts b/packages/bundler-plugin-core/test/option-mappings.test.ts
index be19b54fa503..8267bc29aef5 100644
--- a/packages/bundler-plugin-core/test/option-mappings.test.ts
+++ b/packages/bundler-plugin-core/test/option-mappings.test.ts
@@ -25,6 +25,7 @@ describe("normalizeUserOptions()", () => {
rewrite: true,
sourceMapReference: true,
stripCommonPrefix: false,
+ validate: false,
},
],
org: "my-org",
@@ -33,7 +34,6 @@ describe("normalizeUserOptions()", () => {
silent: false,
telemetry: true,
url: "https://sentry.io/",
- validate: false,
vcsRemote: "origin",
});
});
@@ -68,6 +68,7 @@ describe("normalizeUserOptions()", () => {
rewrite: true,
sourceMapReference: false,
stripCommonPrefix: true,
+ validate: false,
},
],
org: "my-org",
@@ -76,7 +77,6 @@ describe("normalizeUserOptions()", () => {
silent: false,
telemetry: true,
url: "https://sentry.io/",
- validate: false,
vcsRemote: "origin",
});
});
From 3ecb9ff3caa83c171c000a0ab5b82029de29f9a6 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Wed, 9 Nov 2022 14:58:07 +0100
Subject: [PATCH 084/640] feat(core): Add `SENTRY_RELEASES` variable during
release injection (#102)
Add injection of `SENTRY_RELEASES` variable if `injectReleasesMap` option was set to `true`.
- Introduce `injectReleasesMap` option
- Add map map injection to release injection code generation and make it depend on `injectReleasesMap`
- Add integration test to verify behaviour
---
MIGRATION.md | 6 +++
packages/bundler-plugin-core/src/index.ts | 31 +++++++++++++--
.../src/options-mapping.ts | 2 +
packages/bundler-plugin-core/src/types.ts | 9 +++++
.../test/option-mappings.test.ts | 2 +
.../releases-injection/input/entrypoint.js | 2 +
.../releases-injection.test.ts | 38 +++++++++++++++++++
.../fixtures/releases-injection/setup.ts | 15 ++++++++
8 files changed, 102 insertions(+), 3 deletions(-)
create mode 100644 packages/integration-tests/fixtures/releases-injection/input/entrypoint.js
create mode 100644 packages/integration-tests/fixtures/releases-injection/releases-injection.test.ts
create mode 100644 packages/integration-tests/fixtures/releases-injection/setup.ts
diff --git a/MIGRATION.md b/MIGRATION.md
index 81d0ec6896fb..5963841afb41 100644
--- a/MIGRATION.md
+++ b/MIGRATION.md
@@ -48,3 +48,9 @@ In version 2 we removed this functionality because it lead to intransparent nami
Going forward, if you need similar functionality, we recommend providing folder paths in the `include` and `include.paths` options and narrowing down the matched files with the `ignore`, `ignoreFile` or `ext` options.
The `ignore` and `ignoreFile` options will still allow globbing patterns.
+
+### Injecting `SENTRY_RELEASES` Map
+
+Previously, the webpack plugin always injected a `SENTRY_RELEASES` variable into the global object which would map from `project@org` to the `release` value. In version 2, we made this behaviour opt-in by setting the `injectReleasesMap` option in the plugin options to `true`.
+
+The purpose of this option is to support module-federated projects or micro frontend setups where multiple projects would want to access the global release variable. However, Sentry SDKs by default never accessed this variable so it would require manual user-intervention to make use of it. Making this behaviour opt-in decreases the bundle size impact of our plugin for the majority of users.
diff --git a/packages/bundler-plugin-core/src/index.ts b/packages/bundler-plugin-core/src/index.ts
index 4142b0d7af63..a371e3d72161 100644
--- a/packages/bundler-plugin-core/src/index.ts
+++ b/packages/bundler-plugin-core/src/index.ts
@@ -185,7 +185,12 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
});
if (id === RELEASE_INJECTOR_ID) {
- return generateGlobalInjectorCode({ release: internalOptions.release });
+ return generateGlobalInjectorCode({
+ release: internalOptions.release,
+ injectReleasesMap: internalOptions.injectReleasesMap,
+ org: internalOptions.org,
+ project: internalOptions.project,
+ });
} else {
return undefined;
}
@@ -320,10 +325,20 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
* Generates code for the "sentry-release-injector" which is responsible for setting the global `SENTRY_RELEASE`
* variable.
*/
-function generateGlobalInjectorCode({ release }: { release: string }) {
+function generateGlobalInjectorCode({
+ release,
+ injectReleasesMap,
+ org,
+ project,
+}: {
+ release: string;
+ injectReleasesMap: boolean;
+ org?: string;
+ project?: string;
+}) {
// The code below is mostly ternary operators because it saves bundle size.
// The checks are to support as many environments as possible. (Node.js, Browser, webworkers, etc.)
- return `
+ let code = `
var _global =
typeof window !== 'undefined' ?
window :
@@ -334,6 +349,16 @@ function generateGlobalInjectorCode({ release }: { release: string }) {
{};
_global.SENTRY_RELEASE={id:"${release}"};`;
+
+ if (injectReleasesMap && project) {
+ const key = org ? `${project}@${org}` : project;
+ code += `
+ _global.SENTRY_RELEASES=_global.SENTRY_RELEASES || {};
+ _global.SENTRY_RELEASES["${key}"]={id:"${release}"};
+ `;
+ }
+
+ return code;
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
diff --git a/packages/bundler-plugin-core/src/options-mapping.ts b/packages/bundler-plugin-core/src/options-mapping.ts
index 9c7daaec651b..8485f22e106f 100644
--- a/packages/bundler-plugin-core/src/options-mapping.ts
+++ b/packages/bundler-plugin-core/src/options-mapping.ts
@@ -15,6 +15,7 @@ type RequiredInternalOptions = Required<
| "silent"
| "cleanArtifacts"
| "telemetry"
+ | "injectReleasesMap"
>
>;
@@ -100,6 +101,7 @@ export function normalizeUserOptions(userOptions: UserOptions): InternalOptions
entries,
include,
configFile: userOptions.configFile,
+ injectReleasesMap: userOptions.injectReleasesMap ?? false,
};
}
diff --git a/packages/bundler-plugin-core/src/types.ts b/packages/bundler-plugin-core/src/types.ts
index 941ca96e90fe..540599787c7c 100644
--- a/packages/bundler-plugin-core/src/types.ts
+++ b/packages/bundler-plugin-core/src/types.ts
@@ -179,6 +179,15 @@ export type Options = Omit & {
* defaults from ~/.sentryclirc are always loaded
*/
configFile?: string;
+
+ /**
+ * If set to true, the plugin will inject an additional `SENTRY_RELEASES` variable that
+ * maps from `{org}@{project}` to the `release` value. This might be helpful for webpack
+ * module federation or micro frontend setups.
+ *
+ * Defaults to `false`
+ */
+ injectReleasesMap?: boolean;
};
export type IncludeEntry = {
diff --git a/packages/bundler-plugin-core/test/option-mappings.test.ts b/packages/bundler-plugin-core/test/option-mappings.test.ts
index 8267bc29aef5..f440b9f5ed21 100644
--- a/packages/bundler-plugin-core/test/option-mappings.test.ts
+++ b/packages/bundler-plugin-core/test/option-mappings.test.ts
@@ -35,6 +35,7 @@ describe("normalizeUserOptions()", () => {
telemetry: true,
url: "https://sentry.io/",
vcsRemote: "origin",
+ injectReleasesMap: false,
});
});
@@ -78,6 +79,7 @@ describe("normalizeUserOptions()", () => {
telemetry: true,
url: "https://sentry.io/",
vcsRemote: "origin",
+ injectReleasesMap: false,
});
});
});
diff --git a/packages/integration-tests/fixtures/releases-injection/input/entrypoint.js b/packages/integration-tests/fixtures/releases-injection/input/entrypoint.js
new file mode 100644
index 000000000000..1f0821b87781
--- /dev/null
+++ b/packages/integration-tests/fixtures/releases-injection/input/entrypoint.js
@@ -0,0 +1,2 @@
+// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
+process.stdout.write(global.SENTRY_RELEASES["releasesProject@releasesOrg"].id.toString());
diff --git a/packages/integration-tests/fixtures/releases-injection/releases-injection.test.ts b/packages/integration-tests/fixtures/releases-injection/releases-injection.test.ts
new file mode 100644
index 000000000000..7d889cece802
--- /dev/null
+++ b/packages/integration-tests/fixtures/releases-injection/releases-injection.test.ts
@@ -0,0 +1,38 @@
+import childProcess from "child_process";
+import path from "path";
+
+/**
+ * Runs a node file in a seprate process.
+ *
+ * @param bundlePath Path of node file to run
+ * @returns Stdout of the process
+ */
+function checkBundle(bundlePath: string): void {
+ const processOutput = childProcess.execSync(`node ${bundlePath}`, { encoding: "utf-8" });
+ expect(processOutput).toBe("I AM A RELEASE!");
+}
+
+test("esbuild bundle", () => {
+ expect.assertions(1);
+ checkBundle(path.join(__dirname, "./out/esbuild/index.js"));
+});
+
+test("rollup bundle", () => {
+ expect.assertions(1);
+ checkBundle(path.join(__dirname, "./out/rollup/index.js"));
+});
+
+test("vite bundle", () => {
+ expect.assertions(1);
+ checkBundle(path.join(__dirname, "./out/vite/index.js"));
+});
+
+test("webpack 4 bundle", () => {
+ expect.assertions(1);
+ checkBundle(path.join(__dirname, "./out/webpack4/index.js"));
+});
+
+test("webpack 5 bundle", () => {
+ expect.assertions(1);
+ checkBundle(path.join(__dirname, "./out/webpack5/index.js"));
+});
diff --git a/packages/integration-tests/fixtures/releases-injection/setup.ts b/packages/integration-tests/fixtures/releases-injection/setup.ts
new file mode 100644
index 000000000000..8807e676049e
--- /dev/null
+++ b/packages/integration-tests/fixtures/releases-injection/setup.ts
@@ -0,0 +1,15 @@
+import { Options } from "@sentry/bundler-plugin-core";
+import * as path from "path";
+import { createCjsBundles } from "../../utils/create-cjs-bundles";
+
+const entryPointPath = path.resolve(__dirname, "./input/entrypoint.js");
+const outputDir = path.resolve(__dirname, "./out");
+
+createCjsBundles({ index: entryPointPath }, outputDir, {
+ release: "I AM A RELEASE!",
+ project: "releasesProject",
+ org: "releasesOrg",
+ include: outputDir,
+ dryRun: true,
+ injectReleasesMap: true,
+} as Options);
From d0188bcd7dda4a540e9c392d2f8fcd65f05b6919 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Thu, 10 Nov 2022 15:36:04 +0100
Subject: [PATCH 085/640] chore(core): Adjust `MIGRATION.md` after CLI
reintroduction (#105)
Remove the sections about more required options, env variables and the config file
---
MIGRATION.md | 36 +++++-------------------------------
1 file changed, 5 insertions(+), 31 deletions(-)
diff --git a/MIGRATION.md b/MIGRATION.md
index 5963841afb41..04bba739c033 100644
--- a/MIGRATION.md
+++ b/MIGRATION.md
@@ -2,53 +2,27 @@
This document serves as a migration guide, documenting all breaking changes between major versions of the Sentry bundler plugins.
-## [Unreleased] Upgrading from 1.x to 2.x
+## [Unreleased] Upgrading from 1.x to 2.x (Webpack Plugin Only)
-Version 2 of `@sentry/webpack-plugin` is a complete rewrite of version 1.
-Version 2 no longer requires `sentry-cli` underneath, meaning the plugin no longer downloads a binary but implements all its functionality natively.
-
-### Removal of Implicit Environment Variable Usage
-
-Version 2 of the Webpack plugin removes the implicit passing of plugin parameters via environment variables.
-Previously, it was possible to specify values as environment variables, such as SENTRY_AUTH_TOKEN, but to never mention them in the plugin init options.
-In this version, you'll have to specify these values in the options.
-Note that this makes certain option fields explicitly required now which were previously only implicitly required (see [Initialization and Required Values](#initialization-and-required-values)).
+Version 2 of `@sentry/webpack-plugin` is a complete rewrite of version 1, relying on bundler-agnostic code (based on [unjs/unplugin](https://github.com/unjs/unplugin)). While we tried to keep changes to v1 of the webpack plugin minimal, a adjustments are nevertheless necessary:
### Initialization and Required Values
Previously, to use the plugin, you had to create a new class of the `SentryCLIPlugin` class.
-In version 2, you simply need to call a function and pass the initialization options to it.
-Note that in this new version, more options are now explicitly required. Here's an example:
+In version 2, you simply need to call a function and pass the initialization options to it:
```js
-// old config + environment variables were set for authToken, org and project
+// old initialization:
new SentryCliPlugin({
include: "./dist",
});
-// new config (you can still use env variables but you need to set them explicitly):
+// new initialization:
sentryWebpackPlugin({
include: "./dist",
- authToken: process.env.SENTRY_AUTH_TOKEN,
- org: process.env.SENTRY_ORG,
- project: process.env.SENTRY_PROJECT,
});
```
-### Removal of `configFile` option
-
-Previously, you could set the `configFile` option when initializing the plugin to point `sentry-cli` to its `.sentryclirc` config.
-Because `sentry-cli` is no longer part of the plugin, this is option was removed.
-If you previously used this option, make sure to specify all required options when intializing the plugin (see [Initialization and Required Values](#initialization-and-required-values)).
-
-### Removal of globbing
-
-Previously it was possible to glob for files to include in the sourcemap upload (e.g. `include: "./my-build-dir/**"`).
-In version 2 we removed this functionality because it lead to intransparent naming of release artifacts.
-
-Going forward, if you need similar functionality, we recommend providing folder paths in the `include` and `include.paths` options and narrowing down the matched files with the `ignore`, `ignoreFile` or `ext` options.
-The `ignore` and `ignoreFile` options will still allow globbing patterns.
-
### Injecting `SENTRY_RELEASES` Map
Previously, the webpack plugin always injected a `SENTRY_RELEASES` variable into the global object which would map from `project@org` to the `release` value. In version 2, we made this behaviour opt-in by setting the `injectReleasesMap` option in the plugin options to `true`.
From ce610f99a66f03f5a9a855f0dd439a5fc639e6c0 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Thu, 10 Nov 2022 17:57:16 +0100
Subject: [PATCH 086/640] ref(core): Make various user and internal options
optional (#103)
Adjust some user-facing and internal options from being strictly required to being optional. The reason for this change is that with the introduction of Sentry CLI, we can (and for feature parity should) let users either use env variables or specify some values via a `.sentryclirc` config file.
Note that for release injection to work properly, users have to specify `project`, `org` and `release` either via the options or via env variables. The reason is that the config file which could also hold these options is only later used by Sentry CLI. This behaviour is identical to what we do in the webpack plugin.
---
.../src/options-mapping.ts | 127 +++++++++++-------
.../src/sentry/releasePipeline.ts | 9 --
packages/bundler-plugin-core/src/types.ts | 20 ++-
packages/bundler-plugin-core/src/utils.ts | 9 ++
.../test/option-mappings.test.ts | 4 -
5 files changed, 104 insertions(+), 65 deletions(-)
create mode 100644 packages/bundler-plugin-core/src/utils.ts
diff --git a/packages/bundler-plugin-core/src/options-mapping.ts b/packages/bundler-plugin-core/src/options-mapping.ts
index 8485f22e106f..6c6ef503bb59 100644
--- a/packages/bundler-plugin-core/src/options-mapping.ts
+++ b/packages/bundler-plugin-core/src/options-mapping.ts
@@ -1,15 +1,11 @@
import { IncludeEntry as UserIncludeEntry, Options as UserOptions } from "./types";
+import { arrayify } from "./utils";
type RequiredInternalOptions = Required<
Pick<
UserOptions,
- | "org"
- | "project"
- | "authToken"
- | "url"
| "release"
| "finalize"
- | "vcsRemote"
| "dryRun"
| "debug"
| "silent"
@@ -22,7 +18,17 @@ type RequiredInternalOptions = Required<
type OptionalInternalOptions = Partial<
Pick<
UserOptions,
- "dist" | "errorHandler" | "setCommits" | "deploy" | "configFile" | "customHeader"
+ | "org"
+ | "project"
+ | "authToken"
+ | "url"
+ | "vcsRemote"
+ | "dist"
+ | "errorHandler"
+ | "setCommits"
+ | "deploy"
+ | "configFile"
+ | "customHeader"
>
>;
@@ -52,59 +58,88 @@ export type InternalIncludeEntry = RequiredInternalIncludeEntry &
};
export function normalizeUserOptions(userOptions: UserOptions): InternalOptions {
- let entries: (string | RegExp)[] | ((filePath: string) => boolean) | undefined;
- if (userOptions.entries === undefined) {
- entries = undefined;
- } else if (typeof userOptions.entries === "function" || Array.isArray(userOptions.entries)) {
- entries = userOptions.entries;
- } else {
- entries = [userOptions.entries];
- }
-
- let userInclude: UserIncludeEntry[];
- if (typeof userOptions.include === "string") {
- userInclude = [convertIncludePathToIncludeEntry(userOptions.include)];
- } else if (Array.isArray(userOptions.include)) {
- userInclude = userOptions.include.map((potentialIncludeEntry) => {
- if (typeof potentialIncludeEntry === "string") {
- return convertIncludePathToIncludeEntry(potentialIncludeEntry);
- } else {
- return potentialIncludeEntry;
- }
- });
- } else {
- userInclude = [userOptions.include];
- }
+ return {
+ // include is the only strictly required option
+ // (normalizeInclude needs all userOptions to access top-level include options)
+ include: normalizeInclude(userOptions),
- const include = userInclude.map((userIncludeEntry) =>
- normalizeIncludeEntry(userOptions, userIncludeEntry)
- );
+ // These options must be set b/c we need them for release injection.
+ // They can also be set as environment variables. Technically, they
+ // could be set in the config file but this would be too late for
+ // release injection because we only pass the config file path
+ // to the CLI
+ org: userOptions.org ?? process.env["SENTRY_ORG"],
+ project: userOptions.project ?? process.env["SENTRY_PROJECT"],
+ // Falling back to the empty string here b/c at a later point, we use
+ // Sentry CLI to determine a release if none was specified via options
+ // or env vars. In case we don't find one, we'll bail at that point.
+ release: userOptions.release ?? process.env["SENTRY_RELEASE"] ?? "",
- return {
- org: userOptions.org,
- project: userOptions.project,
- authToken: userOptions.authToken,
- url: userOptions.url ?? "https://sentry.io/",
- release: userOptions.release ?? "",
+ // Options with default values
finalize: userOptions.finalize ?? true,
- vcsRemote: userOptions.vcsRemote ?? "origin",
- customHeader: userOptions.customHeader,
+ cleanArtifacts: userOptions.cleanArtifacts ?? false,
dryRun: userOptions.dryRun ?? false,
debug: userOptions.debug ?? false,
silent: userOptions.silent ?? false,
- cleanArtifacts: userOptions.cleanArtifacts ?? false,
telemetry: userOptions.telemetry ?? true,
- dist: userOptions.dist,
- errorHandler: userOptions.errorHandler,
+ injectReleasesMap: userOptions.injectReleasesMap ?? false,
+
+ // These options and can also be set via env variables or the config file.
+ // If they're set in the options, we simply pass them to the CLI constructor.
+ // Sentry CLI will internally query env variables and read its config file if
+ // the passed options are undefined.
+ authToken: userOptions.authToken, // env var: `SENTRY_AUTH_TOKEN`
+ customHeader: userOptions.customHeader, // env var: `CUSTOM_HEADER`
+ url: userOptions.url, // env var: `SENTRY_URL`
+ vcsRemote: userOptions.vcsRemote, // env var: `SENTRY_VSC_REMOTE`
+
+ // Optional options
setCommits: userOptions.setCommits,
deploy: userOptions.deploy,
- entries,
- include,
+ entries: normalizeEntries(userOptions.entries),
+ dist: userOptions.dist,
+ errorHandler: userOptions.errorHandler,
configFile: userOptions.configFile,
- injectReleasesMap: userOptions.injectReleasesMap ?? false,
};
}
+/**
+ * Converts the user-facing `entries` option to the internal `entries` option
+ */
+function normalizeEntries(
+ userEntries: UserOptions["entries"]
+): (string | RegExp)[] | ((filePath: string) => boolean) | undefined {
+ if (userEntries === undefined) {
+ return undefined;
+ } else if (typeof userEntries === "function") {
+ return userEntries;
+ } else {
+ return arrayify(userEntries);
+ }
+}
+
+/**
+ * Converts the user-facing `include` option to the internal `include` option,
+ * resulting in an array of `InternalIncludeEntry` objects. This later on lets us
+ * work with only one type of include data structure instead of multiple.
+ *
+ * During the process, we hoist top-level include options (e.g. urlPrefix) into each
+ * object if they were not alrady specified in an `IncludeEntry`, making every object
+ * fully self-contained. This is also the reason why we pass the entire options
+ * object and not just `include`.
+ *
+ * @param userOptions the entire user-facing `options` object
+ *
+ * @return an array of `InternalIncludeEntry` objects.
+ */
+function normalizeInclude(userOptions: UserOptions): InternalIncludeEntry[] {
+ return arrayify(userOptions.include)
+ .map((includeItem) =>
+ typeof includeItem === "string" ? convertIncludePathToIncludeEntry(includeItem) : includeItem
+ )
+ .map((userIncludeEntry) => normalizeIncludeEntry(userOptions, userIncludeEntry));
+}
+
function convertIncludePathToIncludeEntry(includePath: string): UserIncludeEntry {
return {
paths: [includePath],
diff --git a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
index 66a72bdce1d2..1a4650d2ba81 100644
--- a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
+++ b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
@@ -20,9 +20,6 @@ export async function createNewRelease(options: InternalOptions, ctx: BuildConte
} else if (options.org === undefined) {
ctx.logger.warn('Missing "org" option. Will not create release.');
return;
- } else if (options.url === undefined) {
- ctx.logger.warn('Missing "url" option. Will not create release.');
- return;
} else if (options.project === undefined) {
ctx.logger.warn('Missing "project" option. Will not create release.');
return;
@@ -45,9 +42,6 @@ export async function uploadSourceMaps(options: InternalOptions, ctx: BuildConte
} else if (options.org === undefined) {
ctx.logger.warn('Missing "org" option. Will not create release.');
return Promise.resolve();
- } else if (options.url === undefined) {
- ctx.logger.warn('Missing "url" option. Will not create release.');
- return Promise.resolve();
} else if (options.project === undefined) {
ctx.logger.warn('Missing "project" option. Will not create release.');
return Promise.resolve();
@@ -86,9 +80,6 @@ export async function cleanArtifacts(options: InternalOptions, ctx: BuildContext
} else if (options.org === undefined) {
ctx.logger.warn('Missing "org" option. Will not clean existing artifacts.');
return;
- } else if (options.url === undefined) {
- ctx.logger.warn('Missing "url" option. Will not clean existing artifacts.');
- return;
} else if (options.project === undefined) {
ctx.logger.warn('Missing "project" option. Will not clean existing artifacts.');
return;
diff --git a/packages/bundler-plugin-core/src/types.ts b/packages/bundler-plugin-core/src/types.ts
index 540599787c7c..07ebe6c58b74 100644
--- a/packages/bundler-plugin-core/src/types.ts
+++ b/packages/bundler-plugin-core/src/types.ts
@@ -12,30 +12,32 @@ export type Options = Omit & {
/**
* The slug of the Sentry organization associated with the app.
*
- * This is a required field.
+ * This value can also be set via the `SENTRY_ORG` env variable.
*/
- org: string;
+ org?: string;
/**
* The slug of the Sentry project associated with the app.
*
- * This is a required field.
+ * This value can also be set via the `SENTRY_PROJECT` env variable.
*/
- project: string;
+ project?: string;
/**
* The authentication token to use for all communication with Sentry.
* Can be obtained from https://sentry.io/settings/account/api/auth-tokens/.
* Required scopes: project:releases (and org:read if setCommits option is used).
*
- * This is a required field.
+ * This value can also be set via the `SENTRY_AUTH_TOKEN` env variable
*/
- authToken: string;
+ authToken?: string;
/**
* The base URL of your Sentry instance. Use this if you are using a self-hosted
* or Sentry instance other than sentry.io.
*
+ * This value can also be set via the `SENTRY_URL` env variable.
+ *
* Defaults to https://sentry.io/, which is the correct value for SAAS customers.
*/
url?: string;
@@ -45,6 +47,8 @@ export type Options = Omit & {
/**
* Unique identifier for the release.
*
+ * This value can also be set via the `SENTRY_RELEASE` env variable.
+ *
* Defaults to the output of the sentry-cli releases propose-version command,
* which automatically detects values for Cordova, Heroku, AWS CodeBuild, CircleCI,
* Xcode, and Gradle, and otherwise uses HEAD's commit SHA. (For HEAD option,
@@ -93,6 +97,8 @@ export type Options = Omit & {
/**
* Version control system remote name.
*
+ * This value can also be set via the `SENTRY_VSC_REMOTE` env variable.
+ *
* Defaults to 'origin'.
*/
vcsRemote?: string;
@@ -100,6 +106,8 @@ export type Options = Omit & {
/**
* A header added to every outgoing network request.
* The format should be `header-key: header-value`.
+ *
+ * This value can also be set via the `CUSTOM_HEADER` env variable.
*/
customHeader?: string;
diff --git a/packages/bundler-plugin-core/src/utils.ts b/packages/bundler-plugin-core/src/utils.ts
new file mode 100644
index 000000000000..3027ff001d9a
--- /dev/null
+++ b/packages/bundler-plugin-core/src/utils.ts
@@ -0,0 +1,9 @@
+/**
+ * Checks whether the given input is already an array, and if it isn't, wraps it in one.
+ *
+ * @param maybeArray Input to turn into an array, if necessary
+ * @returns The input, if already an array, or an array with the input as the only element, if not
+ */
+export function arrayify(maybeArray: T | T[]): T[] {
+ return Array.isArray(maybeArray) ? maybeArray : [maybeArray];
+}
diff --git a/packages/bundler-plugin-core/test/option-mappings.test.ts b/packages/bundler-plugin-core/test/option-mappings.test.ts
index f440b9f5ed21..22fac3b20e31 100644
--- a/packages/bundler-plugin-core/test/option-mappings.test.ts
+++ b/packages/bundler-plugin-core/test/option-mappings.test.ts
@@ -33,8 +33,6 @@ describe("normalizeUserOptions()", () => {
release: "my-release",
silent: false,
telemetry: true,
- url: "https://sentry.io/",
- vcsRemote: "origin",
injectReleasesMap: false,
});
});
@@ -77,8 +75,6 @@ describe("normalizeUserOptions()", () => {
release: "my-release",
silent: false,
telemetry: true,
- url: "https://sentry.io/",
- vcsRemote: "origin",
injectReleasesMap: false,
});
});
From 46ba891b7e5648e4b9f83e7f301d8fcbee5c1ca3 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Fri, 11 Nov 2022 10:40:41 +0100
Subject: [PATCH 087/640] ref(core): Refactor options validation (#104)
Refactor the validation logic of the plugin options. Since Sentry CLI does most of the validation work out of the box, we only need to take care of a few special cases. Therefore:
* Delete the ugly and duplicated org, project, auth, etc. checks in the release pipeline steps as most of them aren't necessary at all in that form
* Add a centralized validation function that validates certain combinations of options that Sentry CLI doesn't do (these validations are also present in the webpack plugin, albeit in a little different form)
* Add special validation of the `release` value as it simply has to be present to continue with release injection and the release creation pipeline
* All validation errors will cause the plugin to throw unless the user specified an error handler. Happy to discuss this point but I think it makes sense to only continue with valid options.
---
packages/bundler-plugin-core/src/index.ts | 64 +++++++++----
.../src/options-mapping.ts | 51 ++++++++++
.../src/sentry/releasePipeline.ts | 92 ++++---------------
.../src/sentry/telemetry.ts | 9 +-
packages/bundler-plugin-core/src/types.ts | 59 +++++++-----
.../test/option-mappings.test.ts | 84 ++++++++++++++++-
.../test/releasePipeline.test.ts | 22 -----
.../playground/vite.config.smallNodeApp.js | 3 +-
8 files changed, 236 insertions(+), 148 deletions(-)
diff --git a/packages/bundler-plugin-core/src/index.ts b/packages/bundler-plugin-core/src/index.ts
index a371e3d72161..67d5b1d2ff32 100644
--- a/packages/bundler-plugin-core/src/index.ts
+++ b/packages/bundler-plugin-core/src/index.ts
@@ -12,9 +12,10 @@ import {
import "@sentry/tracing";
import { addSpanToTransaction, captureMinimalError, makeSentryClient } from "./sentry/telemetry";
import { Span, Transaction } from "@sentry/types";
-import { createLogger } from "./sentry/logger";
-import { normalizeUserOptions } from "./options-mapping";
+import { createLogger, Logger } from "./sentry/logger";
+import { InternalOptions, normalizeUserOptions, validateOptions } from "./options-mapping";
import { getSentryCli } from "./sentry/cli";
+import { Hub } from "@sentry/node";
// We prefix the polyfill id with \0 to tell other plugins not to try to load or transform it.
// This hack is taken straight from https://rollupjs.org/guide/en/#resolveid.
@@ -78,8 +79,7 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
const { hub: sentryHub } = makeSentryClient(
"https://4c2bae7d9fbc413e8f7385f55c515d51@o1.ingest.sentry.io/6690737",
- internalOptions.telemetry,
- internalOptions.org
+ internalOptions.telemetry
);
const logger = createLogger({
@@ -89,6 +89,15 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
debug: internalOptions.debug,
});
+ if (!validateOptions(internalOptions, logger)) {
+ handleError(
+ new Error("Options were not set correctly. See output above for more details."),
+ logger,
+ internalOptions.errorHandler,
+ sentryHub
+ );
+ }
+
const cli = getSentryCli(internalOptions, logger);
if (internalOptions.telemetry) {
@@ -125,6 +134,18 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
internalOptions.release = await cli.releases.proposeVersion();
}
+ // At this point, we either have determined a release or we have to bail
+ if (!internalOptions.release) {
+ handleError(
+ new Error(
+ "Unable to determine a release name. Make sure to set the `release` option or use an environment that supports auto-detection https://docs.sentry.io/cli/releases/#creating-releases`"
+ ),
+ logger,
+ internalOptions.errorHandler,
+ sentryHub
+ );
+ }
+
transaction = sentryHub.startTransaction({
op: "function.plugin",
name: "Sentry Bundler Plugin execution",
@@ -282,12 +303,6 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
level: "info",
});
- //TODO:
- // 1. validate options to see if we get a valid include property, release name, etc.
- // 2. normalize the include property: Users can pass string | string [] | IncludeEntry[].
- // That's good for them but a hassle for us. Let's try to normalize this into one data type
- // (I vote IncludeEntry[]) and continue with that down the line
-
const ctx: BuildContext = { hub: sentryHub, parentSpan: releasePipelineSpan, logger, cli };
createNewRelease(internalOptions, ctx)
@@ -298,16 +313,8 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
.then(() => addDeploy(internalOptions, ctx))
.then(() => transaction?.setStatus("ok"))
.catch((e: Error) => {
- captureMinimalError(e, sentryHub);
transaction?.setStatus("cancelled");
-
- logger.error(e.message);
-
- if (internalOptions.errorHandler) {
- internalOptions.errorHandler(e);
- } else {
- throw e;
- }
+ handleError(e, logger, internalOptions.errorHandler, sentryHub);
})
.finally(() => {
sentryHub.addBreadcrumb({
@@ -321,6 +328,25 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
};
});
+function handleError(
+ error: Error,
+ logger: Logger,
+ errorHandler: InternalOptions["errorHandler"],
+ sentryHub?: Hub
+) {
+ logger.error(error.message);
+
+ if (sentryHub) {
+ captureMinimalError(error, sentryHub);
+ }
+
+ if (errorHandler) {
+ errorHandler(error);
+ } else {
+ throw error;
+ }
+}
+
/**
* Generates code for the "sentry-release-injector" which is responsible for setting the global `SENTRY_RELEASE`
* variable.
diff --git a/packages/bundler-plugin-core/src/options-mapping.ts b/packages/bundler-plugin-core/src/options-mapping.ts
index 6c6ef503bb59..ed113ba2ec11 100644
--- a/packages/bundler-plugin-core/src/options-mapping.ts
+++ b/packages/bundler-plugin-core/src/options-mapping.ts
@@ -1,3 +1,4 @@
+import { Logger } from "./sentry/logger";
import { IncludeEntry as UserIncludeEntry, Options as UserOptions } from "./types";
import { arrayify } from "./utils";
@@ -175,3 +176,53 @@ function normalizeIncludeEntry(
validate: includeEntry.validate ?? userOptions.validate ?? false,
};
}
+
+/**
+ * Validates a few combinations of options that are not checked by Sentry CLI.
+ *
+ * For all other options, we can rely on Sentry CLI to validate them. In fact,
+ * we can't validate them in the plugin because Sentry CLI might pick up options from
+ * its config file.
+ *
+ * @param options the internal options
+ * @param logger the logger
+ *
+ * @returns `true` if the options are valid, `false` otherwise
+ */
+export function validateOptions(options: InternalOptions, logger: Logger): boolean {
+ if (options.injectReleasesMap && !options.org) {
+ logger.error(
+ "The `injectReleasesMap` option was set but it is only supported when the `org` option is also specified.",
+ "Please set the `org` option (you can also set the SENTRY_ORG environment variable) or disable the `injectReleasesMap` option."
+ );
+ return false;
+ }
+
+ const setCommits = options.setCommits;
+ if (setCommits) {
+ if (!setCommits.auto && !(setCommits.repo && setCommits.commit)) {
+ logger.error(
+ "The `setCommits` option was specified but is missing required properties.",
+ "Please set either `auto` or both, `repo` and `commit`."
+ );
+ return false;
+ }
+ if (setCommits.auto && setCommits.repo && setCommits) {
+ logger.warn(
+ "The `setCommits` options includes `auto` but also `repo` and `commit`.",
+ "Ignoring `repo` and `commit`.",
+ "Please only set either `auto` or both, `repo` and `commit`."
+ );
+ }
+ }
+
+ if (options.deploy && !options.deploy.env) {
+ logger.error(
+ "The `deploy` option was specified but is missing the required `env` property.",
+ "Please set the `env` property."
+ );
+ return false;
+ }
+
+ return true;
+}
diff --git a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
index 1a4650d2ba81..6949ed19137a 100644
--- a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
+++ b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
@@ -13,40 +13,14 @@ import { addSpanToTransaction } from "./telemetry";
export async function createNewRelease(options: InternalOptions, ctx: BuildContext): Promise {
const span = addSpanToTransaction(ctx, "function.plugin.create_release");
- // TODO: pull these checks out of here and simplify them
- if (options.authToken === undefined) {
- ctx.logger.warn('Missing "authToken" option. Will not create release.');
- return;
- } else if (options.org === undefined) {
- ctx.logger.warn('Missing "org" option. Will not create release.');
- return;
- } else if (options.project === undefined) {
- ctx.logger.warn('Missing "project" option. Will not create release.');
- return;
- }
-
await ctx.cli.releases.new(options.release);
ctx.logger.info("Successfully created release.");
-
span?.finish();
}
export async function uploadSourceMaps(options: InternalOptions, ctx: BuildContext): Promise {
const span = addSpanToTransaction(ctx, "function.plugin.upload_sourcemaps");
-
- // TODO: pull these checks out of here and simplify them
- if (options.authToken === undefined) {
- ctx.logger.warn('Missing "authToken" option. Will not create release.');
- return Promise.resolve();
- } else if (options.org === undefined) {
- ctx.logger.warn('Missing "org" option. Will not create release.');
- return Promise.resolve();
- } else if (options.project === undefined) {
- ctx.logger.warn('Missing "project" option. Will not create release.');
- return Promise.resolve();
- }
-
ctx.logger.info("Uploading Sourcemaps.");
// Since our internal include entries contain all top-level sourcemaps options,
@@ -54,7 +28,6 @@ export async function uploadSourceMaps(options: InternalOptions, ctx: BuildConte
await ctx.cli.releases.uploadSourceMaps(options.release, { include: options.include });
ctx.logger.info("Successfully uploaded Sourcemaps.");
-
span?.finish();
}
@@ -73,20 +46,7 @@ export async function cleanArtifacts(options: InternalOptions, ctx: BuildContext
const span = addSpanToTransaction(ctx, "function.plugin.clean_artifacts");
if (options.cleanArtifacts) {
- // TODO: pull these checks out of here and simplify them
- if (options.authToken === undefined) {
- ctx.logger.warn('Missing "authToken" option. Will not clean existing artifacts.');
- return;
- } else if (options.org === undefined) {
- ctx.logger.warn('Missing "org" option. Will not clean existing artifacts.');
- return;
- } else if (options.project === undefined) {
- ctx.logger.warn('Missing "project" option. Will not clean existing artifacts.');
- return;
- }
-
await ctx.cli.releases.execute(["releases", "files", options.release, "delete", "--all"], true);
-
ctx.logger.info("Successfully cleaned previous artifacts.");
}
@@ -99,22 +59,16 @@ export async function setCommits(options: InternalOptions, ctx: BuildContext): P
if (options.setCommits) {
const { auto, repo, commit, previousCommit, ignoreMissing, ignoreEmpty } = options.setCommits;
- if (auto || (repo && commit)) {
- await ctx.cli.releases.setCommits(options.release, {
- commit,
- previousCommit,
- repo,
- auto,
- ignoreMissing,
- ignoreEmpty,
- });
- ctx.logger.info("Successfully set commits.");
- } else {
- ctx.logger.error(
- "Couldn't set commits - neither the `auto` nor the `repo` and `commit` options were specified!",
- "Make sure to either set `auto` to `true` or to manually set `repo` and `commit`."
- );
- }
+ await ctx.cli.releases.setCommits(options.release, {
+ commit,
+ previousCommit,
+ repo,
+ auto,
+ ignoreMissing,
+ ignoreEmpty,
+ });
+
+ ctx.logger.info("Successfully set commits.");
}
span?.finish();
@@ -126,22 +80,16 @@ export async function addDeploy(options: InternalOptions, ctx: BuildContext): Pr
if (options.deploy) {
const { env, started, finished, time, name, url } = options.deploy;
- if (env) {
- await ctx.cli.releases.newDeploy(options.release, {
- env,
- started,
- finished,
- time,
- name,
- url,
- });
- ctx.logger.info("Successfully added deploy.");
- } else {
- ctx.logger.error(
- "Couldn't add deploy - the `env` option was not specified!",
- "Make sure to set `deploy.env` (e.g. to 'production')."
- );
- }
+ await ctx.cli.releases.newDeploy(options.release, {
+ env,
+ started,
+ finished,
+ time,
+ name,
+ url,
+ });
+
+ ctx.logger.info("Successfully added deploy.");
}
span?.finish();
diff --git a/packages/bundler-plugin-core/src/sentry/telemetry.ts b/packages/bundler-plugin-core/src/sentry/telemetry.ts
index d33003caa1fc..99ceee34b613 100644
--- a/packages/bundler-plugin-core/src/sentry/telemetry.ts
+++ b/packages/bundler-plugin-core/src/sentry/telemetry.ts
@@ -12,8 +12,7 @@ import { BuildContext } from "../types";
export function makeSentryClient(
dsn: string,
- telemetryEnabled: boolean,
- org?: string
+ telemetryEnabled: boolean
): { client: NodeClient; hub: Hub } {
const client = new NodeClient({
dsn,
@@ -34,12 +33,6 @@ export function makeSentryClient(
const hub = new Hub(client);
- hub.configureScope((scope) => {
- if (org) {
- scope.setTag("org", org);
- }
- });
-
//TODO: This call is problematic because as soon as we set our hub as the current hub
// we might interfere with other plugins that use Sentry. However, for now, we'll
// leave it in because without it, we can't get distributed traces (which are pretty nice)
diff --git a/packages/bundler-plugin-core/src/types.ts b/packages/bundler-plugin-core/src/types.ts
index 07ebe6c58b74..a58de91d0472 100644
--- a/packages/bundler-plugin-core/src/types.ts
+++ b/packages/bundler-plugin-core/src/types.ts
@@ -280,31 +280,7 @@ export type IncludeEntry = {
validate?: boolean;
};
-type SetCommitsOptions = {
- /**
- * Automatically sets `commit` and `previousCommit`. Sets `commit` to `HEAD`
- * and `previousCommit` as described in the option's documentation.
- *
- * If you set this to `true`, manually specified `commit` and `previousCommit`
- * options will be overridden. It is best to not specify them at all if you
- * set this option to `true`.
- */
- auto?: boolean;
-
- /**
- * The full repo name as defined in Sentry.
- *
- * Required if `auto` option is not set to `true`.
- */
- repo?: string;
-
- /**
- * The current (last) commit in the release.
- *
- * Required if `auto` option is not set to `true`.
- */
- commit?: string;
-
+type SetCommitsOptions = (AutoSetCommitsOptions | ManualSetCommitsOptions) & {
/**
* The commit before the beginning of this release (in other words,
* the last commit of the previous release).
@@ -333,6 +309,39 @@ type SetCommitsOptions = {
ignoreEmpty?: boolean;
};
+type AutoSetCommitsOptions = {
+ /**
+ * Automatically sets `commit` and `previousCommit`. Sets `commit` to `HEAD`
+ * and `previousCommit` as described in the option's documentation.
+ *
+ * If you set this to `true`, manually specified `commit` and `previousCommit`
+ * options will be overridden. It is best to not specify them at all if you
+ * set this option to `true`.
+ */
+ auto: true;
+
+ repo?: undefined;
+ commit?: undefined;
+};
+
+type ManualSetCommitsOptions = {
+ auto?: false | undefined;
+
+ /**
+ * The full repo name as defined in Sentry.
+ *
+ * Required if `auto` option is not set to `true`.
+ */
+ repo: string;
+
+ /**
+ * The current (last) commit in the release.
+ *
+ * Required if `auto` option is not set to `true`.
+ */
+ commit: string;
+};
+
type DeployOptions = {
/**
* Environment for this release. Values that make sense here would
diff --git a/packages/bundler-plugin-core/test/option-mappings.test.ts b/packages/bundler-plugin-core/test/option-mappings.test.ts
index 22fac3b20e31..6374a684913a 100644
--- a/packages/bundler-plugin-core/test/option-mappings.test.ts
+++ b/packages/bundler-plugin-core/test/option-mappings.test.ts
@@ -1,5 +1,5 @@
import { Options } from "../src";
-import { normalizeUserOptions } from "../src/options-mapping";
+import { InternalOptions, normalizeUserOptions, validateOptions } from "../src/options-mapping";
describe("normalizeUserOptions()", () => {
test("should return correct value for default input", () => {
@@ -79,3 +79,85 @@ describe("normalizeUserOptions()", () => {
});
});
});
+
+describe("validateOptions", () => {
+ const mockedLogger = {
+ debug: jest.fn(),
+ info: jest.fn(),
+ warn: jest.fn(),
+ error: jest.fn(),
+ };
+
+ afterEach(() => {
+ jest.resetAllMocks();
+ });
+
+ it("should return `false` if `injectRelease` is `true` but org is not provided", () => {
+ const options = { injectReleasesMap: true } as Partial;
+
+ expect(validateOptions(options as unknown as InternalOptions, mockedLogger)).toBe(false);
+ expect(mockedLogger.error).toHaveBeenCalledWith(
+ expect.stringMatching(/injectReleasesMap.*org/),
+ expect.stringMatching(/set.*org.*injectReleasesMap/)
+ );
+ });
+
+ it("should return `true` if `injectRelease` is `true` and org is provided", () => {
+ const options = { injectReleasesMap: true, org: "my-org" } as Partial;
+
+ expect(validateOptions(options as unknown as InternalOptions, mockedLogger)).toBe(true);
+ expect(mockedLogger.error).not.toHaveBeenCalled();
+ });
+
+ it("should return `false` if `setCommits` is set but neither auto nor manual options are set", () => {
+ const options = { setCommits: {} } as Partial;
+
+ expect(validateOptions(options as unknown as InternalOptions, mockedLogger)).toBe(false);
+ expect(mockedLogger.error).toHaveBeenCalledWith(
+ expect.stringMatching(/setCommits.*missing.*properties/),
+ expect.stringMatching(/set.*either.*auto.*repo.*commit/)
+ );
+ });
+
+ it("should return `true` but warn if `setCommits` is set and both auto nor manual options are set", () => {
+ const options = { setCommits: { auto: true, repo: "myRepo", commit: "myCommit" } };
+
+ expect(validateOptions(options as unknown as InternalOptions, mockedLogger)).toBe(true);
+ expect(mockedLogger.error).not.toHaveBeenCalled();
+ expect(mockedLogger.warn).toHaveBeenCalledWith(
+ expect.stringMatching(/setCommits.*auto.*repo.*commit/),
+ expect.stringMatching(/Ignoring.*repo.*commit/),
+ expect.stringMatching(/set.*either.*auto.*repo.*commit/)
+ );
+ });
+
+ it("should return `false` if `deploy`is set but `env` is not provided", () => {
+ const options = { deploy: {} } as Partial;
+
+ expect(validateOptions(options as unknown as InternalOptions, mockedLogger)).toBe(false);
+ expect(mockedLogger.error).toHaveBeenCalledWith(
+ expect.stringMatching(/deploy.*missing.*property/),
+ expect.stringMatching(/set.*env/)
+ );
+ });
+
+ it("should return `true` if `deploy`is set and `env` is provided", () => {
+ const options = { deploy: { env: "my-env" } } as Partial;
+
+ expect(validateOptions(options as unknown as InternalOptions, mockedLogger)).toBe(true);
+ expect(mockedLogger.error).not.toHaveBeenCalled();
+ });
+
+ it("should return `true` for options without special cases", () => {
+ const options = {
+ org: "my-org",
+ project: "my-project",
+ authToken: "my-auth-token",
+ include: [{}],
+ finalize: true,
+ } as Partial;
+
+ expect(validateOptions(options as unknown as InternalOptions, mockedLogger)).toBe(true);
+ expect(mockedLogger.error).not.toHaveBeenCalled();
+ });
+});
diff --git a/packages/bundler-plugin-core/test/releasePipeline.test.ts b/packages/bundler-plugin-core/test/releasePipeline.test.ts
index 5b10f4cdf9d3..5309adc26f23 100644
--- a/packages/bundler-plugin-core/test/releasePipeline.test.ts
+++ b/packages/bundler-plugin-core/test/releasePipeline.test.ts
@@ -47,17 +47,6 @@ describe("Release Pipeline", () => {
expect(mockedChildSpan.finish).toHaveBeenCalled();
});
- it("logs an error if neither `auto` nor `repo` && `commit` options are specified", async () => {
- await setCommits({ setCommits: {} } as InternalOptions, ctx as unknown as BuildContext);
- expect(mockedCLI.releases.setCommits).not.toHaveBeenCalled();
- expect(mockedLogger.error).toHaveBeenLastCalledWith(
- expect.stringMatching(/Couldn't set commits.*auto.*repo.*commit/),
- expect.stringMatching(/.*auto.*repo.*commit/)
- );
- expect(mockedAddSpanToTxn).toHaveBeenCalled();
- expect(mockedChildSpan.finish).toHaveBeenCalled();
- });
-
it("makes a call to Sentry CLI if the correct options are specified", async () => {
await setCommits(
{ setCommits: { auto: true }, release: "1.0.0" } as InternalOptions,
@@ -79,17 +68,6 @@ describe("Release Pipeline", () => {
expect(mockedChildSpan.finish).toHaveBeenCalled();
});
- it("logs an error and does nothing if `env` isn't specified", async () => {
- await addDeploy({ deploy: {} } as InternalOptions, ctx as unknown as BuildContext);
- expect(mockedCLI.releases.newDeploy).not.toHaveBeenCalled();
- expect(mockedLogger.error).toHaveBeenLastCalledWith(
- expect.stringMatching(/Couldn't add deploy.*env/),
- expect.stringMatching(/env/)
- );
- expect(mockedAddSpanToTxn).toHaveBeenCalled();
- expect(mockedChildSpan.finish).toHaveBeenCalled();
- });
-
it("makes a call to Sentry CLI if the correct options are specified", async () => {
const deployOptions = {
env: "production",
diff --git a/packages/playground/vite.config.smallNodeApp.js b/packages/playground/vite.config.smallNodeApp.js
index d2ee7d5339ff..b8d48b670579 100644
--- a/packages/playground/vite.config.smallNodeApp.js
+++ b/packages/playground/vite.config.smallNodeApp.js
@@ -28,7 +28,8 @@ export default defineConfig({
ignore: ["!out/vite-smallNodeApp/index.js.map"],
ignoreFile: ".sentryignore",
setCommits: {
- auto: true,
+ repo: "",
+ commit: "",
ignoreMissing: true,
},
deploy: {
From 8661b6a426311ae252afbcff7ec6f6e51151d5f2 Mon Sep 17 00:00:00 2001
From: Francesco Novy
Date: Fri, 11 Nov 2022 10:56:27 +0100
Subject: [PATCH 088/640] chore: Setup volta (#107)
* chore: Setup volta
* chore(ci): make CI use volta
---
.github/workflows/checks.yml | 36 +++++------------------
package.json | 4 +++
packages/bundler-plugin-core/package.json | 6 ++++
packages/e2e-tests/package.json | 3 ++
packages/esbuild-plugin/package.json | 6 ++++
packages/eslint-configs/package.json | 3 ++
packages/integration-tests/package.json | 3 ++
packages/playground/package.json | 3 ++
packages/rollup-plugin/package.json | 6 ++++
packages/vite-plugin/package.json | 6 ++++
packages/webpack-plugin/package.json | 6 ++++
11 files changed, 54 insertions(+), 28 deletions(-)
diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml
index 6e18bbd0ee6e..af11100ff2c4 100644
--- a/.github/workflows/checks.yml
+++ b/.github/workflows/checks.yml
@@ -7,19 +7,13 @@ on:
- release/**
pull_request:
-env:
- # We pin the exact version to enforce reproducable builds with node + npm.
- DEFAULT_NODE_VERSION: "16.15.1"
-
jobs:
build:
name: Build packages
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- - uses: actions/setup-node@v3
- with:
- node-version: ${{ env.DEFAULT_NODE_VERSION }}
+ - uses: volta-cli/action@v3
- run: yarn --frozen-lockfile
- run: yarn build
@@ -29,9 +23,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- - uses: actions/setup-node@v3
- with:
- node-version: ${{ env.DEFAULT_NODE_VERSION }}
+ - uses: volta-cli/action@v3
- run: yarn --frozen-lockfile
- run: yarn check:types
@@ -40,9 +32,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- - uses: actions/setup-node@v3
- with:
- node-version: ${{ env.DEFAULT_NODE_VERSION }}
+ - uses: volta-cli/action@v3
- run: yarn --frozen-lockfile
- run: yarn check:formatting
@@ -52,9 +42,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- - uses: actions/setup-node@v3
- with:
- node-version: ${{ env.DEFAULT_NODE_VERSION }}
+ - uses: volta-cli/action@v3
- run: yarn --frozen-lockfile
- run: yarn test:unit
@@ -64,9 +52,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- - uses: actions/setup-node@v3
- with:
- node-version: ${{ env.DEFAULT_NODE_VERSION }}
+ - uses: volta-cli/action@v3
- run: yarn --frozen-lockfile
- run: yarn test:integration
@@ -78,9 +64,7 @@ jobs:
SENTRY_AUTH_TOKEN: ${{ secrets.E2E_TESTS_SENTRY_AUTH_TOKEN }}
steps:
- uses: actions/checkout@v3
- - uses: actions/setup-node@v3
- with:
- node-version: ${{ env.DEFAULT_NODE_VERSION }}
+ - uses: volta-cli/action@v3
- run: yarn --frozen-lockfile
- run: yarn test:e2e
@@ -90,9 +74,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- - uses: actions/setup-node@v3
- with:
- node-version: ${{ env.DEFAULT_NODE_VERSION }}
+ - uses: volta-cli/action@v3
- run: yarn --frozen-lockfile
- run: yarn lint
@@ -104,9 +86,7 @@ jobs:
if: startsWith(github.ref, 'refs/heads/release/')
steps:
- uses: actions/checkout@v3
- - uses: actions/setup-node@v3
- with:
- node-version: ${{ env.DEFAULT_NODE_VERSION }}
+ - uses: volta-cli/action@v3
# - name: Check dependency cache
# uses: actions/cache@v3
# with:
diff --git a/package.json b/package.json
index b5e66f49a010..87883c41ee2d 100644
--- a/package.json
+++ b/package.json
@@ -35,5 +35,9 @@
"prettier": "^2.7.1",
"pretty-quick": "^3.1.3",
"npm-run-all": "^4.1.5"
+ },
+ "volta": {
+ "node": "14.21.1",
+ "yarn": "1.22.19"
}
}
diff --git a/packages/bundler-plugin-core/package.json b/packages/bundler-plugin-core/package.json
index e47082f1b41a..4c9369a933b4 100644
--- a/packages/bundler-plugin-core/package.json
+++ b/packages/bundler-plugin-core/package.json
@@ -66,5 +66,11 @@
"rimraf": "^3.0.2",
"rollup": "2.75.7",
"typescript": "^4.7.4"
+ },
+ "volta": {
+ "extends": "../../package.json"
+ },
+ "engines": {
+ "node": ">= 10"
}
}
diff --git a/packages/e2e-tests/package.json b/packages/e2e-tests/package.json
index 7a21d4b63c37..eb8853d911f7 100644
--- a/packages/e2e-tests/package.json
+++ b/packages/e2e-tests/package.json
@@ -38,5 +38,8 @@
"vite": "3.0.0",
"webpack": "5.74.0",
"webpack4": "npm:webpack@4.46.0"
+ },
+ "volta": {
+ "extends": "../../package.json"
}
}
diff --git a/packages/esbuild-plugin/package.json b/packages/esbuild-plugin/package.json
index 6cfe1b757e0a..097b2a568467 100644
--- a/packages/esbuild-plugin/package.json
+++ b/packages/esbuild-plugin/package.json
@@ -61,5 +61,11 @@
"rimraf": "^3.0.2",
"rollup": "2.75.7",
"typescript": "^4.7.4"
+ },
+ "volta": {
+ "extends": "../../package.json"
+ },
+ "engines": {
+ "node": ">= 10"
}
}
diff --git a/packages/eslint-configs/package.json b/packages/eslint-configs/package.json
index e10030503f54..7afcb47f5f57 100644
--- a/packages/eslint-configs/package.json
+++ b/packages/eslint-configs/package.json
@@ -20,5 +20,8 @@
"scripts": {
"clean:all": "run-s clean:deps",
"clean:deps": "rimraf node_modules"
+ },
+ "volta": {
+ "extends": "../../package.json"
}
}
diff --git a/packages/integration-tests/package.json b/packages/integration-tests/package.json
index 5c969d905b52..3a280d52f36c 100644
--- a/packages/integration-tests/package.json
+++ b/packages/integration-tests/package.json
@@ -29,5 +29,8 @@
"vite": "3.0.0",
"webpack": "5.74.0",
"webpack4": "npm:webpack@4.46.0"
+ },
+ "volta": {
+ "extends": "../../package.json"
}
}
diff --git a/packages/playground/package.json b/packages/playground/package.json
index 5de2792f75b1..6abd0a5c3acf 100644
--- a/packages/playground/package.json
+++ b/packages/playground/package.json
@@ -30,5 +30,8 @@
"vite": "3.0.0",
"webpack": "5.74.0",
"webpack4": "npm:webpack@4.46.0"
+ },
+ "volta": {
+ "extends": "../../package.json"
}
}
diff --git a/packages/rollup-plugin/package.json b/packages/rollup-plugin/package.json
index 22f94eeddc37..0f99956f9655 100644
--- a/packages/rollup-plugin/package.json
+++ b/packages/rollup-plugin/package.json
@@ -62,5 +62,11 @@
"rimraf": "^3.0.2",
"rollup": "2.75.7",
"typescript": "^4.7.4"
+ },
+ "volta": {
+ "extends": "../../package.json"
+ },
+ "engines": {
+ "node": ">= 10"
}
}
diff --git a/packages/vite-plugin/package.json b/packages/vite-plugin/package.json
index a700f43a3f7f..3a6c840b9a9a 100644
--- a/packages/vite-plugin/package.json
+++ b/packages/vite-plugin/package.json
@@ -61,5 +61,11 @@
"rimraf": "^3.0.2",
"rollup": "2.75.7",
"typescript": "^4.7.4"
+ },
+ "volta": {
+ "extends": "../../package.json"
+ },
+ "engines": {
+ "node": ">= 10"
}
}
diff --git a/packages/webpack-plugin/package.json b/packages/webpack-plugin/package.json
index aed42747a48c..e0e28f185834 100644
--- a/packages/webpack-plugin/package.json
+++ b/packages/webpack-plugin/package.json
@@ -61,5 +61,11 @@
"rimraf": "^3.0.2",
"rollup": "2.75.7",
"typescript": "^4.7.4"
+ },
+ "volta": {
+ "extends": "../../package.json"
+ },
+ "engines": {
+ "node": ">= 10"
}
}
From d5575261069baf4bba67513e5d3e64ff6514de4a Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Fri, 11 Nov 2022 11:31:18 +0100
Subject: [PATCH 089/640] chore(core): Cleanup code and JSDocs (#108)
clean up some code, left-over TODOs and adds a few JSDoc improvements
---
packages/bundler-plugin-core/src/index.ts | 42 +++++++++++--------
.../src/options-mapping.ts | 8 +---
.../src/sentry/telemetry.ts | 2 -
packages/bundler-plugin-core/src/types.ts | 17 ++++----
4 files changed, 36 insertions(+), 33 deletions(-)
diff --git a/packages/bundler-plugin-core/src/index.ts b/packages/bundler-plugin-core/src/index.ts
index 67d5b1d2ff32..f066fd4496b5 100644
--- a/packages/bundler-plugin-core/src/index.ts
+++ b/packages/bundler-plugin-core/src/index.ts
@@ -23,28 +23,28 @@ import { Hub } from "@sentry/node";
const RELEASE_INJECTOR_ID = "\0sentry-release-injector";
/**
- * The sentry-unplugin concerns itself with two things:
+ * The sentry bundler plugin concerns itself with two things:
* - Release injection
* - Sourcemaps upload
*
* Release injection:
*
- * Per default the sentry-unpugin will inject a global `SENTRY_RELEASE` variable into the entrypoint of all bundles. On
- * a technical level this is done by appending an import (`import "sentry-release-injector;"`) to all entrypoint files
- * of the user code (see `transformInclude` and `transform` hooks). This import is then resolved by the sentry-unplugin
+ * Per default the sentry bundler plugin will inject a global `SENTRY_RELEASE` variable into the entrypoint of all bundles.
+ * On a technical level this is done by appending an import (`import "sentry-release-injector;"`) to all entrypoint files
+ * of the user code (see `transformInclude` and `transform` hooks). This import is then resolved by the sentry plugin
* to a virtual module that sets the global variable (see `resolveId` and `load` hooks).
*
* The resulting output approximately looks like this:
*
* ```text
* entrypoint1.js (user file)
- * ┌───────────────────┐ ┌─────────────────────────────────────────────────┐
- * │ │ │ import { myFunction } from "./my-library.js"; │
- * │ sentry-unplugin │ │ │
- * │ │ │ const myResult = myFunction(); │
- * └---------│---------┘ │ export { myResult }; │
+ * ┌─────────────────────────┐ ┌─────────────────────────────────────────────────┐
+ * │ │ │ import { myFunction } from "./my-library.js"; │
+ * │ sentry-bundler-plugin │ │ │
+ * │ │ │ const myResult = myFunction(); │
+ * └---------│--------------- │ export { myResult }; │
* │ │ │
- * │ injects │ // injected by sentry-unplugin │
+ * │ injects │ // injected by sentry plugin │
* ├───────────────────► import "sentry-release-injector"; ─────────────────────┐
* │ └─────────────────────────────────────────────────┘ │
* │ │
@@ -55,7 +55,7 @@ const RELEASE_INJECTOR_ID = "\0sentry-release-injector";
* │ │ return "Hello world!"; │ │
* │ │ } │ │
* │ │ │ │
- * │ injects │ // injected by sentry-unplugin │ │
+ * │ injects │ // injected by sentry plugin │ │
* └───────────────────► import "sentry-release-injector"; ─────────────────────┤
* └─────────────────────────────────────────────────┘ │
* │
@@ -63,7 +63,7 @@ const RELEASE_INJECTOR_ID = "\0sentry-release-injector";
* sentry-release-injector │
* ┌──────────────────────────────────┐ │
* │ │ is resolved │
- * │ global.SENTRY_RELEASE = { ... } │ by unplugin │
+ * │ global.SENTRY_RELEASE = { ... } │ by plugin │
* │ // + a little more logic │<─────────────────────┘
* │ │ (only once)
* └──────────────────────────────────┘
@@ -71,8 +71,17 @@ const RELEASE_INJECTOR_ID = "\0sentry-release-injector";
*
* Source maps upload:
*
- * The sentry-unplugin will also take care of uploading source maps to Sentry. This is all done in the `writeBundle` hook.
- * TODO: elaborate a bit on how sourcemaps upload works
+ * The sentry bundler plugin will also take care of uploading source maps to Sentry. This is all done in the
+ * `writeBundle` hook. In this hook the sentry plugin will execute the release creation pipeline:
+ *
+ * 1. Create a new release
+ * 2. Delete already uploaded artifacts for this release (if `cleanArtifacts` is enabled)
+ * 3. Upload sourcemaps based on `include` and source-map-specific options
+ * 4. Associate a range of commits with the release (if `setCommits` is specified)
+ * 5. Finalize the release (unless `finalize` is disabled)
+ * 6. Add deploy information to the release (if `deploy` is specified)
+ *
+ * This release creation pipeline relies on Sentry CLI to execute the different steps.
*/
const unplugin = createUnplugin((options, unpluginMetaContext) => {
const internalOptions = normalizeUserOptions(options);
@@ -188,7 +197,6 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
loadInclude(id) {
logger.info(`Called "loadInclude": ${JSON.stringify({ id })}`);
-
return id === RELEASE_INJECTOR_ID;
},
@@ -218,11 +226,11 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
},
/**
- * This hook determines whether we want to transform a module. In the unplugin we want to transform every entrypoint
+ * This hook determines whether we want to transform a module. In the sentry bundler plugin we want to transform every entrypoint
* unless configured otherwise with the `entries` option.
*
* @param id Always the absolute (fully resolved) path to the module.
- * @returns `true` or `false` depending on whether we want to transform the module. For the sentry-unplugin we only
+ * @returns `true` or `false` depending on whether we want to transform the module. For the sentry bundler plugin we only
* want to transform the release injector file.
*/
transformInclude(id) {
diff --git a/packages/bundler-plugin-core/src/options-mapping.ts b/packages/bundler-plugin-core/src/options-mapping.ts
index ed113ba2ec11..d4d0b10f0da6 100644
--- a/packages/bundler-plugin-core/src/options-mapping.ts
+++ b/packages/bundler-plugin-core/src/options-mapping.ts
@@ -136,17 +136,11 @@ function normalizeEntries(
function normalizeInclude(userOptions: UserOptions): InternalIncludeEntry[] {
return arrayify(userOptions.include)
.map((includeItem) =>
- typeof includeItem === "string" ? convertIncludePathToIncludeEntry(includeItem) : includeItem
+ typeof includeItem === "string" ? { paths: [includeItem] } : includeItem
)
.map((userIncludeEntry) => normalizeIncludeEntry(userOptions, userIncludeEntry));
}
-function convertIncludePathToIncludeEntry(includePath: string): UserIncludeEntry {
- return {
- paths: [includePath],
- };
-}
-
/**
* Besides array-ifying the `ignore` option, this function hoists top level options into the items of the `include`
* option. This is to simplify the handling of of the `include` items later on.
diff --git a/packages/bundler-plugin-core/src/sentry/telemetry.ts b/packages/bundler-plugin-core/src/sentry/telemetry.ts
index 99ceee34b613..b22001d3ce31 100644
--- a/packages/bundler-plugin-core/src/sentry/telemetry.ts
+++ b/packages/bundler-plugin-core/src/sentry/telemetry.ts
@@ -27,8 +27,6 @@ export function makeSentryClient(
stackParser: defaultStackParser,
transport: makeNodeTransport,
-
- debug: true,
});
const hub = new Hub(client);
diff --git a/packages/bundler-plugin-core/src/types.ts b/packages/bundler-plugin-core/src/types.ts
index a58de91d0472..294ca5be2a13 100644
--- a/packages/bundler-plugin-core/src/types.ts
+++ b/packages/bundler-plugin-core/src/types.ts
@@ -63,13 +63,14 @@ export type Options = Omit & {
dist?: string;
/**
- * Filter for bundle entry points that should contain the provided release. By default, the release will be injected
- * into all entry points.
+ * Filter for bundle entry points that should contain the provided release.
*
* This option takes a string, a regular expression, or an array containing strings, regular expressions, or both.
* It's also possible to provide a filter function that takes the absolute path of a processed entrypoint and should
* return `true` if the release should be injected into the entrypoint and `false` otherwise. String values of this
* option require a full match with the absolute path of the bundle.
+ *
+ * By default, the release will be injected into all entry points.
*/
entries?: (string | RegExp)[] | RegExp | string | ((filePath: string) => boolean);
@@ -85,14 +86,15 @@ export type Options = Omit & {
/**
* One or more paths that Sentry CLI should scan recursively for sources.
- * It will upload all .map files and match associated .js files.
+ * It will upload all .map files and match associated .js files. Other file
+ * types can be uploaded by using the `ext` option.
* Each path can be given as a string or an object with path-specific options
*
* This is a required field.
*/
include: string | IncludeEntry | Array;
- /* --- other unimportant (for now) stuff- properties: */
+ /* --- other properties: */
/**
* Version control system remote name.
@@ -112,7 +114,8 @@ export type Options = Omit & {
customHeader?: string;
/**
- * Attempts a dry run (useful for dev environments).
+ * Attempts a dry run (useful for dev environments), making release creation
+ * a no-op.
*
* Defaults to `false`, but may be automatically set to `true` in development environments
* by some framework integrations (Next.JS, possibly others).
@@ -158,12 +161,12 @@ export type Options = Omit & {
errorHandler?: (err: Error) => void;
/**
- * Adds commits to Sentry.
+ * Associates the release with its commits in Sentry.
*/
setCommits?: SetCommitsOptions;
/**
- * Creates a new release deployment in Sentry.
+ * Adds deployment information to the release in Sentry.
*/
deploy?: DeployOptions;
From 8adba647a8fd869a55738a7d978881b221b528fa Mon Sep 17 00:00:00 2001
From: Francesco Novy
Date: Fri, 11 Nov 2022 13:59:23 +0100
Subject: [PATCH 090/640] feat: Use `SENTRY_HEADER` env var when available
(#109)
---
.../src/options-mapping.ts | 8 +++++-
.../test/option-mappings.test.ts | 26 +++++++++++++++++++
2 files changed, 33 insertions(+), 1 deletion(-)
diff --git a/packages/bundler-plugin-core/src/options-mapping.ts b/packages/bundler-plugin-core/src/options-mapping.ts
index d4d0b10f0da6..ca28153a8f9a 100644
--- a/packages/bundler-plugin-core/src/options-mapping.ts
+++ b/packages/bundler-plugin-core/src/options-mapping.ts
@@ -90,7 +90,13 @@ export function normalizeUserOptions(userOptions: UserOptions): InternalOptions
// Sentry CLI will internally query env variables and read its config file if
// the passed options are undefined.
authToken: userOptions.authToken, // env var: `SENTRY_AUTH_TOKEN`
- customHeader: userOptions.customHeader, // env var: `CUSTOM_HEADER`
+
+ // CLI v1 (and the "old" webpack plugin) use `CUSTOM_HEADER`,
+ // but CLI v2 uses `SENTRY_HEADER` (which is also better aligned with other naming)
+ // In the spirit of maximum compatibility, we allow both here.
+ customHeader:
+ userOptions.customHeader ?? process.env["SENTRY_HEADER"] ?? process.env["CUSTOM_HEADER"],
+
url: userOptions.url, // env var: `SENTRY_URL`
vcsRemote: userOptions.vcsRemote, // env var: `SENTRY_VSC_REMOTE`
diff --git a/packages/bundler-plugin-core/test/option-mappings.test.ts b/packages/bundler-plugin-core/test/option-mappings.test.ts
index 6374a684913a..af76484d6d19 100644
--- a/packages/bundler-plugin-core/test/option-mappings.test.ts
+++ b/packages/bundler-plugin-core/test/option-mappings.test.ts
@@ -78,6 +78,32 @@ describe("normalizeUserOptions()", () => {
injectReleasesMap: false,
});
});
+
+ test("should handle `SENTRY_HEADER` & `CUSTOM_HEADER` env", () => {
+ const userOptions: Options = {
+ org: "my-org",
+ project: "my-project",
+ authToken: "my-auth-token",
+ release: "my-release",
+ include: "./out",
+ };
+
+ const _original_SENTRY_HEADER = process.env["SENTRY_HEADER"];
+ const _original_CUSTOM_HEADER = process.env["CUSTOM_HEADER"];
+
+ expect(normalizeUserOptions(userOptions).customHeader).toBeUndefined();
+
+ process.env["CUSTOM_HEADER"] = "custom-header";
+
+ expect(normalizeUserOptions(userOptions).customHeader).toBe("custom-header");
+
+ process.env["SENTRY_HEADER"] = "sentry-header";
+
+ expect(normalizeUserOptions(userOptions).customHeader).toBe("sentry-header");
+
+ process.env["SENTRY_HEADER"] = _original_SENTRY_HEADER;
+ process.env["CUSTOM_HEADER"] = _original_CUSTOM_HEADER;
+ });
});
describe("validateOptions", () => {
From a0640771c182641560e81414d3c7e742a51ad787 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Fri, 11 Nov 2022 14:27:48 +0100
Subject: [PATCH 091/640] ref(core): Don't create spans for skipped release
steps (#112)
Skip creating spans if optional release pipeline steps are skipped
Adjust and add tests
---
.../src/sentry/releasePipeline.ts | 101 +++++++++--------
.../test/releasePipeline.test.ts | 106 ++++++++++++++++--
2 files changed, 153 insertions(+), 54 deletions(-)
diff --git a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
index 6949ed19137a..05a75ea871c7 100644
--- a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
+++ b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
@@ -6,6 +6,7 @@
// - huge download
// - unnecessary functionality
+import { logger } from "@sentry/utils";
import { InternalOptions } from "../options-mapping";
import { BuildContext } from "../types";
import { addSpanToTransaction } from "./telemetry";
@@ -19,6 +20,20 @@ export async function createNewRelease(options: InternalOptions, ctx: BuildConte
span?.finish();
}
+export async function cleanArtifacts(options: InternalOptions, ctx: BuildContext): Promise {
+ if (!options.cleanArtifacts) {
+ logger.debug("Skipping artifact cleanup.");
+ return;
+ }
+
+ const span = addSpanToTransaction(ctx, "function.plugin.clean_artifacts");
+
+ await ctx.cli.releases.execute(["releases", "files", options.release, "delete", "--all"], true);
+
+ ctx.logger.info("Successfully cleaned previous artifacts.");
+ span?.finish();
+}
+
export async function uploadSourceMaps(options: InternalOptions, ctx: BuildContext): Promise {
const span = addSpanToTransaction(ctx, "function.plugin.upload_sourcemaps");
ctx.logger.info("Uploading Sourcemaps.");
@@ -31,66 +46,60 @@ export async function uploadSourceMaps(options: InternalOptions, ctx: BuildConte
span?.finish();
}
-export async function finalizeRelease(options: InternalOptions, ctx: BuildContext): Promise {
- const span = addSpanToTransaction(ctx, "function.plugin.finalize_release");
-
- if (options.finalize) {
- await ctx.cli.releases.finalize(options.release);
- ctx.logger.info("Successfully finalized release.");
+export async function setCommits(options: InternalOptions, ctx: BuildContext): Promise {
+ if (!options.setCommits) {
+ logger.debug("Skipping setting commits to release.");
+ return;
}
- span?.finish();
-}
-
-export async function cleanArtifacts(options: InternalOptions, ctx: BuildContext): Promise {
- const span = addSpanToTransaction(ctx, "function.plugin.clean_artifacts");
-
- if (options.cleanArtifacts) {
- await ctx.cli.releases.execute(["releases", "files", options.release, "delete", "--all"], true);
- ctx.logger.info("Successfully cleaned previous artifacts.");
- }
+ const span = addSpanToTransaction(ctx, "function.plugin.set_commits");
+ const { auto, repo, commit, previousCommit, ignoreMissing, ignoreEmpty } = options.setCommits;
+ await ctx.cli.releases.setCommits(options.release, {
+ commit,
+ previousCommit,
+ repo,
+ auto,
+ ignoreMissing,
+ ignoreEmpty,
+ });
+
+ ctx.logger.info("Successfully set commits.");
span?.finish();
}
-export async function setCommits(options: InternalOptions, ctx: BuildContext): Promise {
- const span = addSpanToTransaction(ctx, "function.plugin.set_commits");
-
- if (options.setCommits) {
- const { auto, repo, commit, previousCommit, ignoreMissing, ignoreEmpty } = options.setCommits;
+export async function finalizeRelease(options: InternalOptions, ctx: BuildContext): Promise {
+ if (!options.finalize) {
+ logger.debug("Skipping release finalization.");
+ return;
+ }
- await ctx.cli.releases.setCommits(options.release, {
- commit,
- previousCommit,
- repo,
- auto,
- ignoreMissing,
- ignoreEmpty,
- });
+ const span = addSpanToTransaction(ctx, "function.plugin.finalize_release");
- ctx.logger.info("Successfully set commits.");
- }
+ await ctx.cli.releases.finalize(options.release);
+ ctx.logger.info("Successfully finalized release.");
span?.finish();
}
export async function addDeploy(options: InternalOptions, ctx: BuildContext): Promise {
- const span = addSpanToTransaction(ctx, "function.plugin.deploy");
-
- if (options.deploy) {
- const { env, started, finished, time, name, url } = options.deploy;
-
- await ctx.cli.releases.newDeploy(options.release, {
- env,
- started,
- finished,
- time,
- name,
- url,
- });
-
- ctx.logger.info("Successfully added deploy.");
+ if (!options.deploy) {
+ logger.debug("Skipping adding deploy info to release.");
+ return;
}
+ const span = addSpanToTransaction(ctx, "function.plugin.deploy");
+
+ const { env, started, finished, time, name, url } = options.deploy;
+ await ctx.cli.releases.newDeploy(options.release, {
+ env,
+ started,
+ finished,
+ time,
+ name,
+ url,
+ });
+
+ ctx.logger.info("Successfully added deploy.");
span?.finish();
}
diff --git a/packages/bundler-plugin-core/test/releasePipeline.test.ts b/packages/bundler-plugin-core/test/releasePipeline.test.ts
index 5309adc26f23..97a2654383df 100644
--- a/packages/bundler-plugin-core/test/releasePipeline.test.ts
+++ b/packages/bundler-plugin-core/test/releasePipeline.test.ts
@@ -1,5 +1,12 @@
import { InternalOptions } from "../src/options-mapping";
-import { addDeploy, setCommits } from "../src/sentry/releasePipeline";
+import {
+ addDeploy,
+ cleanArtifacts,
+ createNewRelease,
+ finalizeRelease,
+ setCommits,
+ uploadSourceMaps,
+} from "../src/sentry/releasePipeline";
import { BuildContext } from "../src/types";
const mockedAddSpanToTxn = jest.fn();
@@ -11,9 +18,9 @@ jest.mock("../src/sentry/telemetry", () => {
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
return {
...original,
- addSpanToTransaction: () => {
+ addSpanToTransaction: (ctx: unknown, op: string) => {
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
- return mockedAddSpanToTxn();
+ return mockedAddSpanToTxn(ctx, op);
},
};
});
@@ -28,7 +35,11 @@ describe("Release Pipeline", () => {
const mockedCLI = {
releases: {
+ new: jest.fn(),
+ execute: jest.fn(),
+ uploadSourceMaps: jest.fn(),
setCommits: jest.fn(),
+ finalize: jest.fn(),
newDeploy: jest.fn(),
},
};
@@ -38,13 +49,71 @@ describe("Release Pipeline", () => {
const ctx = { cli: mockedCLI, logger: mockedLogger };
+ beforeEach(() => {
+ jest.clearAllMocks();
+ });
+
+ describe("createNewRelease", () => {
+ it("makes a call to Sentry CLI's releases creation command", async () => {
+ await createNewRelease(
+ { release: "1.0.0" } as InternalOptions,
+ ctx as unknown as BuildContext
+ );
+
+ expect(mockedCLI.releases.new).toHaveBeenCalledWith("1.0.0");
+ expect(mockedAddSpanToTxn).toHaveBeenCalledWith(ctx, "function.plugin.create_release");
+ expect(mockedChildSpan.finish).toHaveBeenCalled();
+ });
+ });
+
+ describe("cleanArtifacts", () => {
+ it("doest do anything if cleanArtifacts is not true", async () => {
+ await cleanArtifacts({} as InternalOptions, ctx as unknown as BuildContext);
+
+ expect(mockedCLI.releases.execute).not.toHaveBeenCalled();
+ expect(mockedAddSpanToTxn).not.toHaveBeenCalled();
+ expect(mockedChildSpan.finish).not.toHaveBeenCalled();
+ });
+
+ it("makes a call to Sentry CLI's artifact removal command if `cleanArtifacts` is set", async () => {
+ await cleanArtifacts(
+ { release: "1.0.0", cleanArtifacts: true } as InternalOptions,
+ ctx as unknown as BuildContext
+ );
+
+ expect(mockedCLI.releases.execute).toHaveBeenCalledWith(
+ ["releases", "files", "1.0.0", "delete", "--all"],
+ true
+ );
+ expect(mockedAddSpanToTxn).toHaveBeenCalledWith(ctx, "function.plugin.clean_artifacts");
+ expect(mockedChildSpan.finish).toHaveBeenCalled();
+ });
+ });
+
+ describe("uploadSourceMaps", () => {
+ it("makes a call to Sentry CLI's sourcemaps upload command", async () => {
+ const options = {
+ release: "1.0.0",
+ include: [{ paths: ["dist"] }],
+ } as InternalOptions;
+
+ await uploadSourceMaps(options, ctx as unknown as BuildContext);
+
+ expect(mockedCLI.releases.uploadSourceMaps).toHaveBeenCalledWith("1.0.0", {
+ include: [{ paths: ["dist"] }],
+ });
+ expect(mockedAddSpanToTxn).toHaveBeenCalledWith(ctx, "function.plugin.upload_sourcemaps");
+ expect(mockedChildSpan.finish).toHaveBeenCalled();
+ });
+ });
+
describe("setCommits", () => {
it("doesn't do anything if `setCommits` option is not specified", async () => {
await setCommits({} as InternalOptions, ctx as unknown as BuildContext);
expect(mockedCLI.releases.setCommits).not.toHaveBeenCalled();
- expect(mockedAddSpanToTxn).toHaveBeenCalled();
- expect(mockedChildSpan.finish).toHaveBeenCalled();
+ expect(mockedAddSpanToTxn).not.toHaveBeenCalled();
+ expect(mockedChildSpan.finish).not.toHaveBeenCalled();
});
it("makes a call to Sentry CLI if the correct options are specified", async () => {
@@ -54,7 +123,28 @@ describe("Release Pipeline", () => {
);
expect(mockedCLI.releases.setCommits).toHaveBeenCalledWith("1.0.0", { auto: true });
- expect(mockedAddSpanToTxn).toHaveBeenCalled();
+ expect(mockedAddSpanToTxn).toHaveBeenCalledWith(ctx, "function.plugin.set_commits");
+ expect(mockedChildSpan.finish).toHaveBeenCalled();
+ });
+ });
+
+ describe("finalizeRelease", () => {
+ it("doesn't do anything if `finalize` is not set", async () => {
+ await finalizeRelease({} as InternalOptions, ctx as unknown as BuildContext);
+
+ expect(mockedCLI.releases.finalize).not.toHaveBeenCalled();
+ expect(mockedAddSpanToTxn).not.toHaveBeenCalled();
+ expect(mockedChildSpan.finish).not.toHaveBeenCalled();
+ });
+
+ it("makes a call to Sentry CLI's release finalization command if `finalize` is true", async () => {
+ await finalizeRelease(
+ { release: "1.0.0", finalize: true } as InternalOptions,
+ ctx as unknown as BuildContext
+ );
+
+ expect(mockedCLI.releases.finalize).toHaveBeenCalledWith("1.0.0");
+ expect(mockedAddSpanToTxn).toHaveBeenCalledWith(ctx, "function.plugin.finalize_release");
expect(mockedChildSpan.finish).toHaveBeenCalled();
});
});
@@ -64,8 +154,8 @@ describe("Release Pipeline", () => {
await addDeploy({} as InternalOptions, ctx as unknown as BuildContext);
expect(mockedCLI.releases.newDeploy).not.toHaveBeenCalled();
- expect(mockedAddSpanToTxn).toHaveBeenCalled();
- expect(mockedChildSpan.finish).toHaveBeenCalled();
+ expect(mockedAddSpanToTxn).not.toHaveBeenCalled();
+ expect(mockedChildSpan.finish).not.toHaveBeenCalled();
});
it("makes a call to Sentry CLI if the correct options are specified", async () => {
From 624c15633a6f83942e707969ae43976d1077cb53 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Fri, 11 Nov 2022 17:03:02 +0100
Subject: [PATCH 092/640] chore(core): Remove unused dependencies (#110)
Removes a few dependencies we don't need anymore after switching back to Sentry CLI.
Makes adjustments to `captureMinimalError` to no longer treat axios errors (axios was one of the removed dependencies)
---
packages/bundler-plugin-core/package.json | 5 --
.../src/sentry/telemetry.ts | 28 +++++----
.../test/{ => sentry}/cli.test.ts | 2 +-
.../test/{ => sentry}/logger.test.ts | 2 +-
.../test/{ => sentry}/releasePipeline.test.ts | 10 ++--
.../test/sentry/telemetry.test.ts | 59 +++++++++++++++++++
yarn.lock | 10 +---
7 files changed, 84 insertions(+), 32 deletions(-)
rename packages/bundler-plugin-core/test/{ => sentry}/cli.test.ts (93%)
rename packages/bundler-plugin-core/test/{ => sentry}/logger.test.ts (97%)
rename packages/bundler-plugin-core/test/{ => sentry}/releasePipeline.test.ts (95%)
create mode 100644 packages/bundler-plugin-core/test/sentry/telemetry.test.ts
diff --git a/packages/bundler-plugin-core/package.json b/packages/bundler-plugin-core/package.json
index 4c9369a933b4..9c15c6e84935 100644
--- a/packages/bundler-plugin-core/package.json
+++ b/packages/bundler-plugin-core/package.json
@@ -38,10 +38,6 @@
"@sentry/cli": "^1.74.6",
"@sentry/node": "^7.11.1",
"@sentry/tracing": "^7.11.1",
- "axios": "^0.27.2",
- "form-data": "^4.0.0",
- "glob": "8.0.3",
- "ignore": "^5.2.0",
"magic-string": "0.26.2",
"unplugin": "0.10.1"
},
@@ -58,7 +54,6 @@
"@sentry-internal/sentry-bundler-plugin-tsconfig": "0.0.1-alpha.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
- "@types/glob": "8.0.0",
"@types/jest": "^28.1.3",
"@types/node": "^18.6.3",
"eslint": "^8.18.0",
diff --git a/packages/bundler-plugin-core/src/sentry/telemetry.ts b/packages/bundler-plugin-core/src/sentry/telemetry.ts
index b22001d3ce31..dcb4c605612f 100644
--- a/packages/bundler-plugin-core/src/sentry/telemetry.ts
+++ b/packages/bundler-plugin-core/src/sentry/telemetry.ts
@@ -7,7 +7,6 @@ import {
NodeClient,
} from "@sentry/node";
import { Span } from "@sentry/tracing";
-import { AxiosError } from "axios";
import { BuildContext } from "../types";
export function makeSentryClient(
@@ -57,16 +56,23 @@ export function addSpanToTransaction(
return span;
}
-export function captureMinimalError(error: unknown | Error | AxiosError, hub: Hub) {
- const isAxiosError = error instanceof AxiosError;
- const sentryError =
- error instanceof Error
- ? {
- name: `${isAxiosError && error.status ? error.status : ""}: ${error.name}`,
- message: error.message,
- stack: error.stack,
- }
- : {};
+export function captureMinimalError(error: unknown | Error, hub: Hub) {
+ let sentryError;
+
+ if (error && typeof error === "object") {
+ const e = error as { name?: string; message?: string; stack?: string };
+ sentryError = {
+ name: e.name,
+ message: e.message,
+ stack: e.stack,
+ };
+ } else {
+ sentryError = {
+ name: "Error",
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
+ message: `${error}`,
+ };
+ }
hub.captureException(sentryError);
}
diff --git a/packages/bundler-plugin-core/test/cli.test.ts b/packages/bundler-plugin-core/test/sentry/cli.test.ts
similarity index 93%
rename from packages/bundler-plugin-core/test/cli.test.ts
rename to packages/bundler-plugin-core/test/sentry/cli.test.ts
index 189e571ae546..3e1e3dd17812 100644
--- a/packages/bundler-plugin-core/test/cli.test.ts
+++ b/packages/bundler-plugin-core/test/sentry/cli.test.ts
@@ -1,5 +1,5 @@
import SentryCli from "@sentry/cli";
-import { getSentryCli } from "../src/sentry/cli";
+import { getSentryCli } from "../../src/sentry/cli";
describe("getSentryCLI", () => {
it("returns a valid CLI instance if dryRun is not specified", () => {
diff --git a/packages/bundler-plugin-core/test/logger.test.ts b/packages/bundler-plugin-core/test/sentry/logger.test.ts
similarity index 97%
rename from packages/bundler-plugin-core/test/logger.test.ts
rename to packages/bundler-plugin-core/test/sentry/logger.test.ts
index e4140ef8d5bc..c556cbaed06b 100644
--- a/packages/bundler-plugin-core/test/logger.test.ts
+++ b/packages/bundler-plugin-core/test/sentry/logger.test.ts
@@ -1,5 +1,5 @@
import { Hub } from "@sentry/node";
-import { createLogger } from "../src/sentry/logger";
+import { createLogger } from "../../src/sentry/logger";
describe("Logger", () => {
const consoleLogSpy = jest.spyOn(console, "log").mockImplementation(() => undefined);
diff --git a/packages/bundler-plugin-core/test/releasePipeline.test.ts b/packages/bundler-plugin-core/test/sentry/releasePipeline.test.ts
similarity index 95%
rename from packages/bundler-plugin-core/test/releasePipeline.test.ts
rename to packages/bundler-plugin-core/test/sentry/releasePipeline.test.ts
index 97a2654383df..2b25b8222cf7 100644
--- a/packages/bundler-plugin-core/test/releasePipeline.test.ts
+++ b/packages/bundler-plugin-core/test/sentry/releasePipeline.test.ts
@@ -1,4 +1,4 @@
-import { InternalOptions } from "../src/options-mapping";
+import { InternalOptions } from "../../src/options-mapping";
import {
addDeploy,
cleanArtifacts,
@@ -6,14 +6,14 @@ import {
finalizeRelease,
setCommits,
uploadSourceMaps,
-} from "../src/sentry/releasePipeline";
-import { BuildContext } from "../src/types";
+} from "../../src/sentry/releasePipeline";
+import { BuildContext } from "../../src/types";
const mockedAddSpanToTxn = jest.fn();
-jest.mock("../src/sentry/telemetry", () => {
+jest.mock("../../src/sentry/telemetry", () => {
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
- const original = jest.requireActual("../src/sentry/telemetry");
+ const original = jest.requireActual("../../src/sentry/telemetry");
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
return {
diff --git a/packages/bundler-plugin-core/test/sentry/telemetry.test.ts b/packages/bundler-plugin-core/test/sentry/telemetry.test.ts
new file mode 100644
index 000000000000..ceff71abfca1
--- /dev/null
+++ b/packages/bundler-plugin-core/test/sentry/telemetry.test.ts
@@ -0,0 +1,59 @@
+import { Hub } from "@sentry/node";
+import { captureMinimalError } from "../../src/sentry/telemetry";
+
+describe("captureMinimalError", () => {
+ const mockedHub = {
+ captureException: jest.fn(),
+ };
+
+ beforeEach(() => {
+ jest.resetAllMocks();
+ });
+
+ it("Should capture a normal error", () => {
+ captureMinimalError(new Error("test"), mockedHub as unknown as Hub);
+ expect(mockedHub.captureException).toHaveBeenCalledWith({
+ name: "Error",
+ message: "test",
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
+ stack: expect.any(String),
+ });
+ });
+
+ it("Shouldn't capture an error with additional data", () => {
+ const error = new Error("test");
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
+ (error as any).additionalContext = { foo: "bar" };
+
+ captureMinimalError(error, mockedHub as unknown as Hub);
+
+ expect(mockedHub.captureException).toHaveBeenCalledWith({
+ name: "Error",
+ message: "test",
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
+ stack: expect.any(String),
+ });
+ });
+
+ it("Should handle string messages gracefully", () => {
+ const error = "Property x is missing!";
+
+ captureMinimalError(error, mockedHub as unknown as Hub);
+
+ expect(mockedHub.captureException).toHaveBeenCalledWith({
+ name: "Error",
+ message: error,
+ });
+ });
+
+ it("Should even handle undefined gracefully", () => {
+ const error = undefined;
+
+ captureMinimalError(error, mockedHub as unknown as Hub);
+
+ expect(mockedHub.captureException).toHaveBeenCalledWith({
+ name: "Error",
+ message: "undefined",
+ });
+ });
+});
diff --git a/yarn.lock b/yarn.lock
index 95c7fbda47ef..47822dd7ab77 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3837,14 +3837,6 @@ axios@*, axios@^1.0.0, axios@^1.1.3:
form-data "^4.0.0"
proxy-from-env "^1.1.0"
-axios@^0.27.2:
- version "0.27.2"
- resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972"
- integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==
- dependencies:
- follow-redirects "^1.14.9"
- form-data "^4.0.0"
-
babel-jest@^27.5.1:
version "27.5.1"
resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.1.tgz#a1bf8d61928edfefd21da27eb86a695bfd691444"
@@ -6183,7 +6175,7 @@ flush-write-stream@^1.0.0:
inherits "^2.0.3"
readable-stream "^2.3.6"
-follow-redirects@^1.0.0, follow-redirects@^1.14.9:
+follow-redirects@^1.0.0:
version "1.15.1"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5"
integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==
From 26312512957973a6661fcbe5bd77189be08442fb Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Mon, 14 Nov 2022 13:12:24 +0100
Subject: [PATCH 093/640] feat(core): Add plugin options as tags (#113)
Add a subset of our plugin options as tags to Sentry events. Obviously, we cannot send all options but we have to be careful to only send insensitive data, such as if an optional step (e.g. `deploy`) was selected or not.
Going forward, we can use this data to evaluate which options are used and for debugging issues.
Also add some tests
---
packages/bundler-plugin-core/src/index.ts | 8 +-
.../src/sentry/telemetry.ts | 41 +++++++++
.../test/sentry/telemetry.test.ts | 84 ++++++++++++++++++-
3 files changed, 131 insertions(+), 2 deletions(-)
diff --git a/packages/bundler-plugin-core/src/index.ts b/packages/bundler-plugin-core/src/index.ts
index f066fd4496b5..3841a9a6be74 100644
--- a/packages/bundler-plugin-core/src/index.ts
+++ b/packages/bundler-plugin-core/src/index.ts
@@ -10,7 +10,12 @@ import {
uploadSourceMaps,
} from "./sentry/releasePipeline";
import "@sentry/tracing";
-import { addSpanToTransaction, captureMinimalError, makeSentryClient } from "./sentry/telemetry";
+import {
+ addPluginOptionTags,
+ addSpanToTransaction,
+ captureMinimalError,
+ makeSentryClient,
+} from "./sentry/telemetry";
import { Span, Transaction } from "@sentry/types";
import { createLogger, Logger } from "./sentry/logger";
import { InternalOptions, normalizeUserOptions, validateOptions } from "./options-mapping";
@@ -90,6 +95,7 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
"https://4c2bae7d9fbc413e8f7385f55c515d51@o1.ingest.sentry.io/6690737",
internalOptions.telemetry
);
+ addPluginOptionTags(internalOptions, sentryHub);
const logger = createLogger({
hub: sentryHub,
diff --git a/packages/bundler-plugin-core/src/sentry/telemetry.ts b/packages/bundler-plugin-core/src/sentry/telemetry.ts
index dcb4c605612f..6649959ea9e3 100644
--- a/packages/bundler-plugin-core/src/sentry/telemetry.ts
+++ b/packages/bundler-plugin-core/src/sentry/telemetry.ts
@@ -7,6 +7,7 @@ import {
NodeClient,
} from "@sentry/node";
import { Span } from "@sentry/tracing";
+import { InternalOptions } from "../options-mapping";
import { BuildContext } from "../types";
export function makeSentryClient(
@@ -76,3 +77,43 @@ export function captureMinimalError(error: unknown | Error, hub: Hub) {
hub.captureException(sentryError);
}
+
+export function addPluginOptionTags(options: InternalOptions, hub: Hub) {
+ const {
+ cleanArtifacts,
+ finalize,
+ setCommits,
+ injectReleasesMap,
+ dryRun,
+ errorHandler,
+ deploy,
+ include,
+ } = options;
+
+ hub.setTag("include", include.length > 1 ? "multiple-entries" : "single-entry");
+
+ // Optional release pipeline steps
+ if (cleanArtifacts) {
+ hub.setTag("clean-artifacts", true);
+ }
+ if (setCommits) {
+ hub.setTag("set-commits", setCommits.auto === true ? "auto" : "manual");
+ }
+ if (finalize) {
+ hub.setTag("finalize-release", true);
+ }
+ if (deploy) {
+ hub.setTag("add-deploy", true);
+ }
+
+ // Miscelaneous options
+ if (dryRun) {
+ hub.setTag("dry-run", true);
+ }
+ if (injectReleasesMap) {
+ hub.setTag("inject-releases-map", true);
+ }
+ if (errorHandler) {
+ hub.setTag("error-handler", "custom");
+ }
+}
diff --git a/packages/bundler-plugin-core/test/sentry/telemetry.test.ts b/packages/bundler-plugin-core/test/sentry/telemetry.test.ts
index ceff71abfca1..d268df76204b 100644
--- a/packages/bundler-plugin-core/test/sentry/telemetry.test.ts
+++ b/packages/bundler-plugin-core/test/sentry/telemetry.test.ts
@@ -1,5 +1,6 @@
import { Hub } from "@sentry/node";
-import { captureMinimalError } from "../../src/sentry/telemetry";
+import { InternalOptions } from "../../src/options-mapping";
+import { addPluginOptionTags, captureMinimalError } from "../../src/sentry/telemetry";
describe("captureMinimalError", () => {
const mockedHub = {
@@ -57,3 +58,84 @@ describe("captureMinimalError", () => {
});
});
});
+
+describe("addPluginOptionTags", () => {
+ const mockedHub = {
+ setTag: jest.fn(),
+ };
+
+ const defaultOptions: Partial = {
+ include: [],
+ };
+
+ beforeEach(() => {
+ jest.resetAllMocks();
+ });
+
+ it("should set include tag according to number of entries (single entry)", () => {
+ addPluginOptionTags(defaultOptions as unknown as InternalOptions, mockedHub as unknown as Hub);
+ expect(mockedHub.setTag).toHaveBeenCalledWith("include", "single-entry");
+ });
+ it("should set include tag according to number of entries (multiple entries)", () => {
+ addPluginOptionTags(
+ { include: [{}, {}, {}] } as unknown as InternalOptions,
+ mockedHub as unknown as Hub
+ );
+ expect(mockedHub.setTag).toHaveBeenCalledWith("include", "multiple-entries");
+ });
+
+ it("should set deploy tag to true if the deploy option is specified", () => {
+ addPluginOptionTags(
+ { ...defaultOptions, deploy: { env: "production" } } as unknown as InternalOptions,
+ mockedHub as unknown as Hub
+ );
+ expect(mockedHub.setTag).toHaveBeenCalledWith("add-deploy", true);
+ });
+
+ it("should set errorHandler tag to `custom` if the errorHandler option is specified", () => {
+ addPluginOptionTags(
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
+ { ...defaultOptions, errorHandler: () => {} } as unknown as InternalOptions,
+ mockedHub as unknown as Hub
+ );
+ expect(mockedHub.setTag).toHaveBeenCalledWith("error-handler", "custom");
+ });
+
+ it.each([
+ ["auto", { auto: true }],
+ ["manual", { repo: "", commit: "" }],
+ ])(
+ `should set setCommits tag to %s if the setCommits option is %s`,
+ (expectedValue, commitOptions) => {
+ addPluginOptionTags(
+ { ...defaultOptions, setCommits: commitOptions } as unknown as InternalOptions,
+ mockedHub as unknown as Hub
+ );
+ expect(mockedHub.setTag).toHaveBeenCalledWith("set-commits", expectedValue);
+ }
+ );
+
+ it("sets all simple tags correctly", () => {
+ addPluginOptionTags(
+ {
+ ...defaultOptions,
+ cleanArtifacts: true,
+ finalize: true,
+ injectReleasesMap: true,
+ dryRun: true,
+ } as unknown as InternalOptions,
+ mockedHub as unknown as Hub
+ );
+
+ expect(mockedHub.setTag).toHaveBeenCalledWith("clean-artifacts", true);
+ expect(mockedHub.setTag).toHaveBeenCalledWith("finalize-release", true);
+ expect(mockedHub.setTag).toHaveBeenCalledWith("inject-releases-map", true);
+ expect(mockedHub.setTag).toHaveBeenCalledWith("dry-run", true);
+ });
+
+ it("shouldn't set any tags other than include if no opional options are specified", () => {
+ addPluginOptionTags(defaultOptions as unknown as InternalOptions, mockedHub as unknown as Hub);
+ expect(mockedHub.setTag).toHaveBeenCalledTimes(1);
+ expect(mockedHub.setTag).toHaveBeenCalledWith("include", "single-entry");
+ });
+});
From 2df1eced8342818c24bf525ed7de9b3bd3c678ad Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Mon, 14 Nov 2022 13:26:27 +0100
Subject: [PATCH 094/640] docs: Add examples to individual READMEs (#115)
---
packages/esbuild-plugin/README.md | 37 ++++++++++++++++++++++++++++-
packages/rollup-plugin/README.md | 39 +++++++++++++++++++++++++++++--
packages/vite-plugin/README.md | 39 +++++++++++++++++++++++++++++--
packages/webpack-plugin/README.md | 39 +++++++++++++++++++++++++++++--
4 files changed, 147 insertions(+), 7 deletions(-)
diff --git a/packages/esbuild-plugin/README.md b/packages/esbuild-plugin/README.md
index 5bdc47d4f159..e97734bbf69f 100644
--- a/packages/esbuild-plugin/README.md
+++ b/packages/esbuild-plugin/README.md
@@ -15,7 +15,42 @@ A esbuild plugin that provides release management features for Sentry:
- Automatic release name discovery (based on CI environment - Vercel, AWS, Heroku, CircleCI, or current Git SHA)
- Automatically association of errors with releases (Release injection)
-### Configuration
+## Installation
+
+Using npm:
+
+```bash
+$ npm install @sentry/esbuild-plugin --save-dev
+```
+
+Using yarn:
+
+```bash
+$ yarn add @sentry/esbuild-plugin --dev
+```
+
+## Usage
+
+```js
+// esbuild.config.js
+const sentryEsbuildPlugin = require("@sentry/esbuild-plugin");
+
+require("esbuild").build({
+ plugins: [
+ sentryEsbuildPlugin({
+ include: ".",
+ ignore: ["node_modules", "esbuild.config.js"],
+ org: process.env.SENTRY_ORG,
+ project: process.env.SENTRY_PROJECT,
+ authToken: process.env.SENTRY_AUTH_TOKEN,
+ }),
+ ],
+});
+```
+
+As an alternative to passing options explicitly, you can also use a `.sentryclirc` file or environment variables as described in https://docs.sentry.io/product/cli/configuration/.
+
+## Configuration
Every plugin takes an options argument with the following properties:
diff --git a/packages/rollup-plugin/README.md b/packages/rollup-plugin/README.md
index 5e2fa7630612..b6fc2a275d5b 100644
--- a/packages/rollup-plugin/README.md
+++ b/packages/rollup-plugin/README.md
@@ -15,7 +15,42 @@ A Rollup plugin that provides release management features for Sentry:
- Automatic release name discovery (based on CI environment - Vercel, AWS, Heroku, CircleCI, or current Git SHA)
- Automatically association of errors with releases (Release injection)
-### Configuration
+## Installation
+
+Using npm:
+
+```bash
+$ npm install @sentry/rollup-plugin --save-dev
+```
+
+Using yarn:
+
+```bash
+$ yarn add @sentry/rollup-plugin --dev
+```
+
+## Usage
+
+```js
+// rollup.config.js
+import sentryRollupPlugin from "@sentry/rollup-plugin";
+
+export default {
+ plugins: [
+ sentryRollupPlugin({
+ include: ".",
+ ignore: ["node_modules", "rollup.config.js"],
+ org: process.env.SENTRY_ORG,
+ project: process.env.SENTRY_PROJECT,
+ authToken: process.env.SENTRY_AUTH_TOKEN,
+ }),
+ ],
+};
+```
+
+As an alternative to passing options explicitly, you can also use a `.sentryclirc` file or environment variables as described in https://docs.sentry.io/product/cli/configuration/.
+
+## Configuration
Every plugin takes an options argument with the following properties:
@@ -34,7 +69,7 @@ Every plugin takes an options argument with the following properties:
| cleanArtifacts | `boolean` | optional | Remove all existing artifacts in the Sentry release before uploading sourcemaps. Defaults to `false`. |
| errorHandler | `function(err: Error): void` | optional | Function that is called when an error occurs during rlease creation or sourcemaps upload. When this function is provided, thrown errors will not cause the process to abort. If you still want to abort the process you can throw an error in the function. |
-### More information
+## More information
- [Sentry Documentation](https://docs.sentry.io/quickstart/)
- [Troubleshooting Sourcemaps](https://docs.sentry.io/platforms/javascript/sourcemaps/troubleshooting_js/)
diff --git a/packages/vite-plugin/README.md b/packages/vite-plugin/README.md
index 7f26aec8fcef..e26ebb9a7302 100644
--- a/packages/vite-plugin/README.md
+++ b/packages/vite-plugin/README.md
@@ -15,7 +15,42 @@ A Vite plugin that provides release management features for Sentry:
- Automatic release name discovery (based on CI environment - Vercel, AWS, Heroku, CircleCI, or current Git SHA)
- Automatically association of errors with releases (Release injection)
-### Configuration
+## Installation
+
+Using npm:
+
+```bash
+$ npm install @sentry/vite-plugin --save-dev
+```
+
+Using yarn:
+
+```bash
+$ yarn add @sentry/vite-plugin --dev
+```
+
+## Usage
+
+```ts
+// vite.config.ts
+import sentryVitePlugin from "@sentry/vite-plugin";
+
+export default {
+ plugins: [
+ sentryVitePlugin({
+ include: ".",
+ ignore: ["node_modules", "vite.config.ts"],
+ org: process.env.SENTRY_ORG,
+ project: process.env.SENTRY_PROJECT,
+ authToken: process.env.SENTRY_AUTH_TOKEN,
+ }),
+ ],
+};
+```
+
+As an alternative to passing options explicitly, you can also use a `.sentryclirc` file or environment variables as described in https://docs.sentry.io/product/cli/configuration/.
+
+## Configuration
Every plugin takes an options argument with the following properties:
@@ -34,7 +69,7 @@ Every plugin takes an options argument with the following properties:
| cleanArtifacts | `boolean` | optional | Remove all existing artifacts in the Sentry release before uploading sourcemaps. Defaults to `false`. |
| errorHandler | `function(err: Error): void` | optional | Function that is called when an error occurs during rlease creation or sourcemaps upload. When this function is provided, thrown errors will not cause the process to abort. If you still want to abort the process you can throw an error in the function. |
-### More information
+## More information
- [Sentry Documentation](https://docs.sentry.io/quickstart/)
- [Troubleshooting Sourcemaps](https://docs.sentry.io/platforms/javascript/sourcemaps/troubleshooting_js/)
diff --git a/packages/webpack-plugin/README.md b/packages/webpack-plugin/README.md
index 086e050eeaa5..c15273d7010a 100644
--- a/packages/webpack-plugin/README.md
+++ b/packages/webpack-plugin/README.md
@@ -15,7 +15,42 @@ A Webpack plugin that provides release management features for Sentry:
- Automatic release name discovery (based on CI environment - Vercel, AWS, Heroku, CircleCI, or current Git SHA)
- Automatically association of errors with releases (Release injection)
-### Configuration
+## Installation
+
+Using npm:
+
+```bash
+$ npm install @sentry/webpack-plugin --save-dev
+```
+
+Using yarn:
+
+```bash
+$ yarn add @sentry/webpack-plugin --dev
+```
+
+## Usage
+
+```js
+// webpack.config.js
+const sentryWebpackPlugin = require("@sentry/webpack-plugin");
+
+module.exports = {
+ plugins: [
+ sentryWebpackPlugin({
+ include: ".",
+ ignore: ["node_modules", "webpack.config.js"],
+ org: process.env.SENTRY_ORG,
+ project: process.env.SENTRY_PROJECT,
+ authToken: process.env.SENTRY_AUTH_TOKEN,
+ }),
+ ],
+};
+```
+
+As an alternative to passing options explicitly, you can also use a `.sentryclirc` file or environment variables as described in https://docs.sentry.io/product/cli/configuration/.
+
+## Configuration
Every plugin takes an options argument with the following properties:
@@ -34,7 +69,7 @@ Every plugin takes an options argument with the following properties:
| cleanArtifacts | `boolean` | optional | Remove all existing artifacts in the Sentry release before uploading sourcemaps. Defaults to `false`. |
| errorHandler | `function(err: Error): void` | optional | Function that is called when an error occurs during rlease creation or sourcemaps upload. When this function is provided, thrown errors will not cause the process to abort. If you still want to abort the process you can throw an error in the function. |
-### More information
+## More information
- [Sentry Documentation](https://docs.sentry.io/quickstart/)
- [Troubleshooting Sourcemaps](https://docs.sentry.io/platforms/javascript/sourcemaps/troubleshooting_js/)
From 2e0abd0ec6b2f3d4bbb5fce0f40b65e01432a805 Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Mon, 14 Nov 2022 16:57:46 +0100
Subject: [PATCH 095/640] docs: Add option tables to READMEs (#117)
---
packages/bundler-plugin-core/src/types.ts | 36 +++----
packages/esbuild-plugin/README.md | 119 ++++++++++++++++++----
packages/rollup-plugin/README.md | 119 ++++++++++++++++++----
packages/vite-plugin/README.md | 119 ++++++++++++++++++----
packages/webpack-plugin/README.md | 119 ++++++++++++++++++----
5 files changed, 422 insertions(+), 90 deletions(-)
diff --git a/packages/bundler-plugin-core/src/types.ts b/packages/bundler-plugin-core/src/types.ts
index 294ca5be2a13..fa04110e56fe 100644
--- a/packages/bundler-plugin-core/src/types.ts
+++ b/packages/bundler-plugin-core/src/types.ts
@@ -12,14 +12,14 @@ export type Options = Omit & {
/**
* The slug of the Sentry organization associated with the app.
*
- * This value can also be set via the `SENTRY_ORG` env variable.
+ * This value can also be specified via the `SENTRY_ORG` environment variable.
*/
org?: string;
/**
* The slug of the Sentry project associated with the app.
*
- * This value can also be set via the `SENTRY_PROJECT` env variable.
+ * This value can also be specified via the `SENTRY_PROJECT` environment variable.
*/
project?: string;
@@ -28,7 +28,7 @@ export type Options = Omit & {
* Can be obtained from https://sentry.io/settings/account/api/auth-tokens/.
* Required scopes: project:releases (and org:read if setCommits option is used).
*
- * This value can also be set via the `SENTRY_AUTH_TOKEN` env variable
+ * This value can also be specified via the `SENTRY_AUTH_TOKEN` environment variable.
*/
authToken?: string;
@@ -36,9 +36,9 @@ export type Options = Omit & {
* The base URL of your Sentry instance. Use this if you are using a self-hosted
* or Sentry instance other than sentry.io.
*
- * This value can also be set via the `SENTRY_URL` env variable.
+ * This value can also be set via the `SENTRY_URL` environment variable.
*
- * Defaults to https://sentry.io/, which is the correct value for SAAS customers.
+ * Defaults to https://sentry.io/, which is the correct value for SaaS customers.
*/
url?: string;
@@ -47,11 +47,11 @@ export type Options = Omit & {
/**
* Unique identifier for the release.
*
- * This value can also be set via the `SENTRY_RELEASE` env variable.
+ * This value can also be specified via the `SENTRY_RELEASE` environment variable.
*
* Defaults to the output of the sentry-cli releases propose-version command,
* which automatically detects values for Cordova, Heroku, AWS CodeBuild, CircleCI,
- * Xcode, and Gradle, and otherwise uses HEAD's commit SHA. (For HEAD option,
+ * Xcode, and Gradle, and otherwise uses the git `HEAD`'s commit SHA. (the latter
* requires access to git CLI and for the root directory to be a valid repository).
*/
release?: string;
@@ -99,7 +99,7 @@ export type Options = Omit & {
/**
* Version control system remote name.
*
- * This value can also be set via the `SENTRY_VSC_REMOTE` env variable.
+ * This value can also be specified via the `SENTRY_VSC_REMOTE` environment variable.
*
* Defaults to 'origin'.
*/
@@ -109,7 +109,7 @@ export type Options = Omit & {
* A header added to every outgoing network request.
* The format should be `header-key: header-value`.
*
- * This value can also be set via the `CUSTOM_HEADER` env variable.
+ * This value can also be specified via the `CUSTOM_HEADER` environment variable.
*/
customHeader?: string;
@@ -178,7 +178,7 @@ export type Options = Omit & {
* and high-level performance data. We will never collect your code or any details of the
* projects in which you're using this plugin.
*
- * Defaults to true
+ * Defaults to `true`.
*/
telemetry?: boolean;
@@ -196,7 +196,7 @@ export type Options = Omit & {
* maps from `{org}@{project}` to the `release` value. This might be helpful for webpack
* module federation or micro frontend setups.
*
- * Defaults to `false`
+ * Defaults to `false`.
*/
injectReleasesMap?: boolean;
};
@@ -244,16 +244,16 @@ export type IncludeEntry = {
urlSuffix?: string;
/**
- * When paired with the `rewrite`, this will remove a prefix from filename references inside of
+ * When paired with the `rewrite` option, this will remove a prefix from filename references inside of
* sourcemaps. For instance you can use this to remove a path that is build machine specific.
* Note that this will NOT change the names of uploaded files.
*/
stripPrefix?: string[];
/**
- * When paired with rewrite, this will add `~` to the stripPrefix array.
+ * When paired with the `rewrite` option, this will add `~` to the `stripPrefix` array.
*
- * Defaults to false.
+ * Defaults to `false`.
*/
stripCommonPrefix?: boolean;
@@ -296,8 +296,8 @@ type SetCommitsOptions = (AutoSetCommitsOptions | ManualSetCommitsOptions) & {
/**
* If the flag is to `true` and the previous release commit was not found
- * in the repository, we create a release with the default commits count
- * instead of failing the command.
+ * in the repository, the plugin creates a release with the default commits
+ * count instead of failing the command.
*
* Defaults to `false`.
*/
@@ -333,14 +333,14 @@ type ManualSetCommitsOptions = {
/**
* The full repo name as defined in Sentry.
*
- * Required if `auto` option is not set to `true`.
+ * Required if the `auto` option is not set to `true`.
*/
repo: string;
/**
* The current (last) commit in the release.
*
- * Required if `auto` option is not set to `true`.
+ * Required if the `auto` option is not set to `true`.
*/
commit: string;
};
diff --git a/packages/esbuild-plugin/README.md b/packages/esbuild-plugin/README.md
index e97734bbf69f..77eef2194b24 100644
--- a/packages/esbuild-plugin/README.md
+++ b/packages/esbuild-plugin/README.md
@@ -50,24 +50,107 @@ require("esbuild").build({
As an alternative to passing options explicitly, you can also use a `.sentryclirc` file or environment variables as described in https://docs.sentry.io/product/cli/configuration/.
-## Configuration
-
-Every plugin takes an options argument with the following properties:
-
-| Option | Type | Required | Description |
-| -------------- | ----------------------------------------------------------------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| include | `string` | required | A path that the plugin should scan recursively for source maps. It will upload all `.map` files and match associated `.js` files. |
-| org | `string` | optional | The slug of the Sentry organization associated with the app. |
-| project | `string` | optional | The slug of the Sentry project associated with the app. |
-| authToken | `string` | optional | The authentication token to use for all communication with Sentry. Can be obtained from https://sentry.io/settings/account/api/auth-tokens/. Required scopes: `project:releases` (and `org:read` if `setCommits` option is used). |
-| url | `string` | optional | The base URL of your Sentry instance. Defaults to https://sentry.io/, which is the correct value for SAAS customers. |
-| release | `string` | optional | Unique identifier for the release. Defaults to automatically detected values for CI environments like Vercel, AWS, Heroku, CircleCI. If no such CI environment is detected, the plugin uses the git `HEAD`'s commit SHA. (**For `HEAD` option, requires access to the `git` CLI**). |
-| entries | `(string \| RegExp)[] \| RegExp \| string \| function(absoluteFilePath: string): boolean` | optional | Filter for entry points that should be processed. By default, the release will be injected into all entry points. |
-| ext | `array` | optional | The file extensions to be considered for the sourcemaps upload. By default the following file extensions are processed: `js`, `map`, `jsbundle`, and `bundle`. |
-| finalize | `boolean` | optional | Indicates whether Sentry release record should be automatically finalized (`date_released` timestamp added) after artifact upload. Defaults to `true` |
-| debug | `boolean` | optional | Print useful debug information. Defaults to `false`. |
-| cleanArtifacts | `boolean` | optional | Remove all existing artifacts in the Sentry release before uploading sourcemaps. Defaults to `false`. |
-| errorHandler | `function(err: Error): void` | optional | Function that is called when an error occurs during rlease creation or sourcemaps upload. When this function is provided, thrown errors will not cause the process to abort. If you still want to abort the process you can throw an error in the function. |
+### Configuration
+
+The Sentry Esbuild Plugin takes an options argument with the following properties:
+
+| Option | Type | Required | Description |
+| ------------------ | -------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| include | `string`/`array`/`object` | required | One or more paths that the plugin should scan recursively for sources. It will upload all `.map` files and match associated `.js` files. Other file types can be uploaded by using the `ext` option. Each path can be given as a string or an object with path-specific options. See [table below](#include) for details. |
+| org | `string` | optional | The slug of the Sentry organization associated with the app. Can also be specified via the `SENTRY_ORG` environment variable. |
+| project | `string` | optional | The slug of the Sentry project associated with the app. Can also be specified via the `SENTRY_PROJECT` environment variable. |
+| authToken | `string` | optional | The authentication token to use for all communication with Sentry. Can be obtained from https://sentry.io/settings/account/api/auth-tokens/. Required scopes: `project:releases` (and `org:read` if `setCommits` option is used). Can also be specified via the `SENTRY_AUTH_TOKEN` env variable. |
+| url | `string` | optional | The base URL of your Sentry instance. Use this if you are using a self-hosted or Sentry instance other than sentry.io. This value can also be set via the `SENTRY_URL` environment variable. Defaults to https://sentry.io/, which is the correct value for SaaS customers. |
+| customHeader | `string` | optional | A header added to every outgoing network request. The format should be `header-key: header-value`. This value can also be specified via the `CUSTOM_HEADER` environment variable. |
+| vcsRemote | `string` | optional | Version control system remote name. This value can also be specified via the `SENTRY_VSC_REMOTE` environment variable. Defaults to `'origin'`. |
+| release | `string` | optional | Unique identifier for the release. This value can also be specified via the `SENTRY_RELEASE` environment variable. Defaults to the output of the `sentry-cli releases propose-version` command, which automatically detects values for Cordova, Heroku, AWS CodeBuild, CircleCI, Xcode, and Gradle, and otherwise uses the git `HEAD`'s commit SHA. (**the latter requires access to `git` CLI and for the root directory to be a valid repository**). |
+| dist | `string` | optional | Unique identifier for the distribution, used to further segment your release. Usually your build number. |
+| entries | `array`/`RegExp`/`(string \| RegExp)[]`/`function(filePath: string): bool` | optional | Filter for bundle entry points that should contain the provided release. This option takes a string, a regular expression, or an array containing strings, regular expressions, or both. It's also possible to provide a filter function that takes the absolute path of a processed entrypoint and should return `true` if the release should be injected into the entrypoint and `false` otherwise. String values of this option require a full match with the absolute path of the bundle. By default, the release will be injected into all entry points. |
+| ignoreFile | `string` | optional | Path to a file containing list of files/directories to ignore. Can point to `.gitignore` or anything with the same format. |
+| ignore | `string`/`array` | optional | One or more paths to ignore during upload. Overrides entries in `ignoreFile` file. Defaults to `['node_modules']` if neither `ignoreFile` nor `ignore` is set. |
+| configFile | `string` | optional | Path to Sentry CLI config properties, as described in https://docs.sentry.io/product/cli/configuration/#configuration-file. By default, the config file is looked for upwards from the current path, and defaults from `~/.sentryclirc` are always loaded. |
+| ext | `array` | optional | Array of file extensions of files to be collected for the file upload. By default the following file extensions are processed: js, map, jsbundle and bundle. |
+| urlPrefix | `string` | optional | URL prefix to add to the beginning of all filenames. Defaults to `'~/'` but you might want to set this to the full URL. This is also useful if your files are stored in a sub folder. eg: url-prefix `'~/static/js'`. |
+| urlSuffix | `string` | optional | URL suffix to add to the end of all filenames. Useful for appending query parameters. |
+| validate | `boolean` | optional | When `true`, attempts source map validation before upload if rewriting is not enabled. It will spot a variety of issues with source maps and cancel the upload if any are found. Defaults to `false` as this can cause false positives. |
+| stripPrefix | `array` | optional | When paired with the `rewrite` option, this will remove a prefix from filename references inside of sourcemaps. For instance you can use this to remove a path that is build machine specific. Note that this will NOT change the names of uploaded files. |
+| stripCommonPrefix | `boolean` | optional | When paired with the `rewrite` option, this will add `~` to the `stripPrefix` array. |
+| sourceMapReference | `boolean` | optional | Determines whether sentry-cli should attempt to link minified files with their corresponding maps. By default, it will match files and maps based on name, and add a Sourcemap header to each minified file for which it finds a map. Can be disabled if all minified files contain a `sourceMappingURL`. Defaults to `true`. |
+| rewrite | `boolean` | optional | Enables rewriting of matching source maps so that indexed maps are flattened and missing sources are inlined if possible. Defaults to `true` |
+| finalize | `boolean` | optional | Determines if the Sentry release record should be automatically finalized (meaning a date_released timestamp is added) after artifact upload. Defaults to `true`. |
+| dryRun | `boolean` | optional | Attempts a dry run (useful for dev environments), making release creation a no-op. Defaults to `false`. |
+| debug | `boolean` | optional | Print useful debug information. Defaults to `false`. |
+| silent | `boolean` | optional | Suppresses all logs. Defaults to `false`. |
+| cleanArtifacts | `boolean` | optional | Remove all the artifacts in the release before the upload. Defaults to `false`. |
+| errorHandler | `function(err: Error): void` | optional | When an error occurs during rlease creation or sourcemaps upload, the plugin will call this function. By default, the plugin will simply throw an error, thereby stopping the bundling process. If an `errorHandler` callback is provided, compilation will continue, unless an error is thrown in the provided callback. |
+| setCommits | `Object` | optional | Associates the release with its commits in Sentry. See [table below](#setCommits) for details. |
+| deploy | `Object` | optional | Adds deployment information to the release in Sentry. See [table below](#deploy) for details. |
+| injectReleasesMap | `boolean` | optional | If set to true, the plugin will inject an additional `SENTRY_RELEASES` variable that maps from `{org}@{project}` to the `release` value. This might be helpful for webpack module federation or micro frontend setups. Defaults to `false`. |
+| telemetry | `boolean` | optional | If set to true, internal plugin errors and performance data will be sent to Sentry. At Sentry we like to use Sentry ourselves to deliver faster and more stable products. We're very careful of what we're sending. We won't collect anything other than error and high-level performance data. We will never collect your code or any details of the projects in which you're using this plugin. Defaults to `true`. |
+
+#### options.include:
+
+| Option | Type | Required | Description |
+| ------------------ | ------------------- | -------- | ---------------------------------------------- |
+| paths | `string[]` | required | One or more paths to scan for files to upload. |
+| ignoreFile | `string` | optional | See above. |
+| ignore | `string`/`string[]` | optional | See above. |
+| ext | `array` | optional | See above. |
+| urlPrefix | `string` | optional | See above. |
+| urlSuffix | `string` | optional | See above. |
+| stripPrefix | `array` | optional | See above. |
+| stripCommonPrefix | `boolean` | optional | See above. |
+| sourceMapReference | `boolean` | optional | See above. |
+| rewrite | `boolean` | optional | See above. |
+
+Example:
+
+```ts
+// esbuild.config.js
+const sentryEsbuildPlugin = require("@sentry/esbuild-plugin");
+
+require("esbuild").build({
+ plugins: [
+ sentryEsbuildPlugin({
+ // ...
+ include: [
+ {
+ paths: ["./packages"],
+ urlPrefix: "~/path/to/packages",
+ },
+ {
+ paths: ["./client"],
+ urlPrefix: "~/path/to/client",
+ },
+ ],
+ }),
+ ],
+});
+```
+
+#### options.setCommits:
+
+| Option | Type | Required | Description |
+| -------------- | --------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| repo | `string` | see notes | The full git repo name as defined in Sentry. Required if the `auto` option is not `true`, otherwise optional. |
+| commit | `string` | see notes | The current (most recent) commit in the release. Required if the `auto` option is not `true`, otherwise optional. |
+| previousCommit | `string` | optional | The commit before the beginning of this release (in other words, the last commit of the previous release). Defaults to the last commit of the previous release in Sentry. If there was no previous release, the last 10 commits will be used. |
+| auto | `boolean` | optional | Automatically sets `commit` and `previousCommit`. Sets `commit` to `HEAD` and `previousCommit` as described in the option's documentation. If you set this to `true`, manually specified `commit` and `previousCommit` options will be overridden. It is best to not specify them at all if you set this option to `true`. |
+| ignoreMissing | `boolean` | optional | If the flag is to `true` and the previous release commit was not found in the repository, the plugin creates a release with the default commits count instead of failing the command. Defaults to `false`. |
+
+#### options.deploy:
+
+| Option | Type | Required | Description |
+| -------- | -------- | -------- | -------------------------------------------------------------------------------- |
+| env | `string` | required | Environment value for the release, for example `production` or `staging`. |
+| started | `number` | optional | Deployment start time in Unix timestamp (in seconds) or ISO 8601 format. |
+| finished | `number` | optional | Deployment finish time in Unix timestamp (in seconds) or ISO 8601 format. |
+| time | `number` | optional | Deployment duration in seconds. Can be used instead of `started` and `finished`. |
+| name | `string` | optional | Human-readable name for this deployment. |
+| url | `string` | optional | URL that points to the deployment. |
+
+You can find more information about these options in our official docs:
+https://docs.sentry.io/product/cli/releases/#sentry-cli-sourcemaps.
### More information
diff --git a/packages/rollup-plugin/README.md b/packages/rollup-plugin/README.md
index b6fc2a275d5b..39addcea31ce 100644
--- a/packages/rollup-plugin/README.md
+++ b/packages/rollup-plugin/README.md
@@ -50,24 +50,107 @@ export default {
As an alternative to passing options explicitly, you can also use a `.sentryclirc` file or environment variables as described in https://docs.sentry.io/product/cli/configuration/.
-## Configuration
-
-Every plugin takes an options argument with the following properties:
-
-| Option | Type | Required | Description |
-| -------------- | ----------------------------------------------------------------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| include | `string` | required | A path that the plugin should scan recursively for source maps. It will upload all `.map` files and match associated `.js` files. |
-| org | `string` | optional | The slug of the Sentry organization associated with the app. |
-| project | `string` | optional | The slug of the Sentry project associated with the app. |
-| authToken | `string` | optional | The authentication token to use for all communication with Sentry. Can be obtained from https://sentry.io/settings/account/api/auth-tokens/. Required scopes: `project:releases` (and `org:read` if `setCommits` option is used). |
-| url | `string` | optional | The base URL of your Sentry instance. Defaults to https://sentry.io/, which is the correct value for SAAS customers. |
-| release | `string` | optional | Unique identifier for the release. Defaults to automatically detected values for CI environments like Vercel, AWS, Heroku, CircleCI. If no such CI environment is detected, the plugin uses the git `HEAD`'s commit SHA. (**For `HEAD` option, requires access to the `git` CLI**). |
-| entries | `(string \| RegExp)[] \| RegExp \| string \| function(absoluteFilePath: string): boolean` | optional | Filter for entry points that should be processed. By default, the release will be injected into all entry points. |
-| ext | `array` | optional | The file extensions to be considered for the sourcemaps upload. By default the following file extensions are processed: `js`, `map`, `jsbundle`, and `bundle`. |
-| finalize | `boolean` | optional | Indicates whether Sentry release record should be automatically finalized (`date_released` timestamp added) after artifact upload. Defaults to `true` |
-| debug | `boolean` | optional | Print useful debug information. Defaults to `false`. |
-| cleanArtifacts | `boolean` | optional | Remove all existing artifacts in the Sentry release before uploading sourcemaps. Defaults to `false`. |
-| errorHandler | `function(err: Error): void` | optional | Function that is called when an error occurs during rlease creation or sourcemaps upload. When this function is provided, thrown errors will not cause the process to abort. If you still want to abort the process you can throw an error in the function. |
+### Configuration
+
+The Sentry Rollup Plugin takes an options argument with the following properties:
+
+| Option | Type | Required | Description |
+| ------------------ | -------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| include | `string`/`array`/`object` | required | One or more paths that the plugin should scan recursively for sources. It will upload all `.map` files and match associated `.js` files. Other file types can be uploaded by using the `ext` option. Each path can be given as a string or an object with path-specific options. See [table below](#include) for details. |
+| org | `string` | optional | The slug of the Sentry organization associated with the app. Can also be specified via the `SENTRY_ORG` environment variable. |
+| project | `string` | optional | The slug of the Sentry project associated with the app. Can also be specified via the `SENTRY_PROJECT` environment variable. |
+| authToken | `string` | optional | The authentication token to use for all communication with Sentry. Can be obtained from https://sentry.io/settings/account/api/auth-tokens/. Required scopes: `project:releases` (and `org:read` if `setCommits` option is used). Can also be specified via the `SENTRY_AUTH_TOKEN` env variable. |
+| url | `string` | optional | The base URL of your Sentry instance. Use this if you are using a self-hosted or Sentry instance other than sentry.io. This value can also be set via the `SENTRY_URL` environment variable. Defaults to https://sentry.io/, which is the correct value for SaaS customers. |
+| customHeader | `string` | optional | A header added to every outgoing network request. The format should be `header-key: header-value`. This value can also be specified via the `CUSTOM_HEADER` environment variable. |
+| vcsRemote | `string` | optional | Version control system remote name. This value can also be specified via the `SENTRY_VSC_REMOTE` environment variable. Defaults to `'origin'`. |
+| release | `string` | optional | Unique identifier for the release. This value can also be specified via the `SENTRY_RELEASE` environment variable. Defaults to the output of the `sentry-cli releases propose-version` command, which automatically detects values for Cordova, Heroku, AWS CodeBuild, CircleCI, Xcode, and Gradle, and otherwise uses the git `HEAD`'s commit SHA. (**the latter requires access to `git` CLI and for the root directory to be a valid repository**). |
+| dist | `string` | optional | Unique identifier for the distribution, used to further segment your release. Usually your build number. |
+| entries | `array`/`RegExp`/`(string \| RegExp)[]`/`function(filePath: string): bool` | optional | Filter for bundle entry points that should contain the provided release. This option takes a string, a regular expression, or an array containing strings, regular expressions, or both. It's also possible to provide a filter function that takes the absolute path of a processed entrypoint and should return `true` if the release should be injected into the entrypoint and `false` otherwise. String values of this option require a full match with the absolute path of the bundle. By default, the release will be injected into all entry points. |
+| ignoreFile | `string` | optional | Path to a file containing list of files/directories to ignore. Can point to `.gitignore` or anything with the same format. |
+| ignore | `string`/`array` | optional | One or more paths to ignore during upload. Overrides entries in `ignoreFile` file. Defaults to `['node_modules']` if neither `ignoreFile` nor `ignore` is set. |
+| configFile | `string` | optional | Path to Sentry CLI config properties, as described in https://docs.sentry.io/product/cli/configuration/#configuration-file. By default, the config file is looked for upwards from the current path, and defaults from `~/.sentryclirc` are always loaded. |
+| ext | `array` | optional | Array of file extensions of files to be collected for the file upload. By default the following file extensions are processed: js, map, jsbundle and bundle. |
+| urlPrefix | `string` | optional | URL prefix to add to the beginning of all filenames. Defaults to `'~/'` but you might want to set this to the full URL. This is also useful if your files are stored in a sub folder. eg: url-prefix `'~/static/js'`. |
+| urlSuffix | `string` | optional | URL suffix to add to the end of all filenames. Useful for appending query parameters. |
+| validate | `boolean` | optional | When `true`, attempts source map validation before upload if rewriting is not enabled. It will spot a variety of issues with source maps and cancel the upload if any are found. Defaults to `false` as this can cause false positives. |
+| stripPrefix | `array` | optional | When paired with the `rewrite` option, this will remove a prefix from filename references inside of sourcemaps. For instance you can use this to remove a path that is build machine specific. Note that this will NOT change the names of uploaded files. |
+| stripCommonPrefix | `boolean` | optional | When paired with the `rewrite` option, this will add `~` to the `stripPrefix` array. |
+| sourceMapReference | `boolean` | optional | Determines whether sentry-cli should attempt to link minified files with their corresponding maps. By default, it will match files and maps based on name, and add a Sourcemap header to each minified file for which it finds a map. Can be disabled if all minified files contain a `sourceMappingURL`. Defaults to `true`. |
+| rewrite | `boolean` | optional | Enables rewriting of matching source maps so that indexed maps are flattened and missing sources are inlined if possible. Defaults to `true` |
+| finalize | `boolean` | optional | Determines if the Sentry release record should be automatically finalized (meaning a date_released timestamp is added) after artifact upload. Defaults to `true`. |
+| dryRun | `boolean` | optional | Attempts a dry run (useful for dev environments), making release creation a no-op. Defaults to `false`. |
+| debug | `boolean` | optional | Print useful debug information. Defaults to `false`. |
+| silent | `boolean` | optional | Suppresses all logs. Defaults to `false`. |
+| cleanArtifacts | `boolean` | optional | Remove all the artifacts in the release before the upload. Defaults to `false`. |
+| errorHandler | `function(err: Error): void` | optional | When an error occurs during rlease creation or sourcemaps upload, the plugin will call this function. By default, the plugin will simply throw an error, thereby stopping the bundling process. If an `errorHandler` callback is provided, compilation will continue, unless an error is thrown in the provided callback. |
+| setCommits | `Object` | optional | Associates the release with its commits in Sentry. See [table below](#setCommits) for details. |
+| deploy | `Object` | optional | Adds deployment information to the release in Sentry. See [table below](#deploy) for details. |
+| injectReleasesMap | `boolean` | optional | If set to true, the plugin will inject an additional `SENTRY_RELEASES` variable that maps from `{org}@{project}` to the `release` value. This might be helpful for webpack module federation or micro frontend setups. Defaults to `false`. |
+| telemetry | `boolean` | optional | If set to true, internal plugin errors and performance data will be sent to Sentry. At Sentry we like to use Sentry ourselves to deliver faster and more stable products. We're very careful of what we're sending. We won't collect anything other than error and high-level performance data. We will never collect your code or any details of the projects in which you're using this plugin. Defaults to `true`. |
+
+#### options.include:
+
+| Option | Type | Required | Description |
+| ------------------ | ------------------- | -------- | ---------------------------------------------- |
+| paths | `string[]` | required | One or more paths to scan for files to upload. |
+| ignoreFile | `string` | optional | See above. |
+| ignore | `string`/`string[]` | optional | See above. |
+| ext | `array` | optional | See above. |
+| urlPrefix | `string` | optional | See above. |
+| urlSuffix | `string` | optional | See above. |
+| stripPrefix | `array` | optional | See above. |
+| stripCommonPrefix | `boolean` | optional | See above. |
+| sourceMapReference | `boolean` | optional | See above. |
+| rewrite | `boolean` | optional | See above. |
+
+Example:
+
+```js
+// rollup.config.js
+import sentryRollupPlugin from "@sentry/rollup-plugin";
+
+export default {
+ plugins: [
+ sentryRollupPlugin({
+ // ...
+ include: [
+ {
+ paths: ["./packages"],
+ urlPrefix: "~/path/to/packages",
+ },
+ {
+ paths: ["./client"],
+ urlPrefix: "~/path/to/client",
+ },
+ ],
+ }),
+ ],
+};
+```
+
+#### options.setCommits:
+
+| Option | Type | Required | Description |
+| -------------- | --------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| repo | `string` | see notes | The full git repo name as defined in Sentry. Required if the `auto` option is not `true`, otherwise optional. |
+| commit | `string` | see notes | The current (most recent) commit in the release. Required if the `auto` option is not `true`, otherwise optional. |
+| previousCommit | `string` | optional | The commit before the beginning of this release (in other words, the last commit of the previous release). Defaults to the last commit of the previous release in Sentry. If there was no previous release, the last 10 commits will be used. |
+| auto | `boolean` | optional | Automatically sets `commit` and `previousCommit`. Sets `commit` to `HEAD` and `previousCommit` as described in the option's documentation. If you set this to `true`, manually specified `commit` and `previousCommit` options will be overridden. It is best to not specify them at all if you set this option to `true`. |
+| ignoreMissing | `boolean` | optional | If the flag is to `true` and the previous release commit was not found in the repository, the plugin creates a release with the default commits count instead of failing the command. Defaults to `false`. |
+
+#### options.deploy:
+
+| Option | Type | Required | Description |
+| -------- | -------- | -------- | -------------------------------------------------------------------------------- |
+| env | `string` | required | Environment value for the release, for example `production` or `staging`. |
+| started | `number` | optional | Deployment start time in Unix timestamp (in seconds) or ISO 8601 format. |
+| finished | `number` | optional | Deployment finish time in Unix timestamp (in seconds) or ISO 8601 format. |
+| time | `number` | optional | Deployment duration in seconds. Can be used instead of `started` and `finished`. |
+| name | `string` | optional | Human-readable name for this deployment. |
+| url | `string` | optional | URL that points to the deployment. |
+
+You can find more information about these options in our official docs:
+https://docs.sentry.io/product/cli/releases/#sentry-cli-sourcemaps.
## More information
diff --git a/packages/vite-plugin/README.md b/packages/vite-plugin/README.md
index e26ebb9a7302..56b7fe212f17 100644
--- a/packages/vite-plugin/README.md
+++ b/packages/vite-plugin/README.md
@@ -50,24 +50,107 @@ export default {
As an alternative to passing options explicitly, you can also use a `.sentryclirc` file or environment variables as described in https://docs.sentry.io/product/cli/configuration/.
-## Configuration
-
-Every plugin takes an options argument with the following properties:
-
-| Option | Type | Required | Description |
-| -------------- | ----------------------------------------------------------------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| include | `string` | required | A path that the plugin should scan recursively for source maps. It will upload all `.map` files and match associated `.js` files. |
-| org | `string` | optional | The slug of the Sentry organization associated with the app. |
-| project | `string` | optional | The slug of the Sentry project associated with the app. |
-| authToken | `string` | optional | The authentication token to use for all communication with Sentry. Can be obtained from https://sentry.io/settings/account/api/auth-tokens/. Required scopes: `project:releases` (and `org:read` if `setCommits` option is used). |
-| url | `string` | optional | The base URL of your Sentry instance. Defaults to https://sentry.io/, which is the correct value for SAAS customers. |
-| release | `string` | optional | Unique identifier for the release. Defaults to automatically detected values for CI environments like Vercel, AWS, Heroku, CircleCI. If no such CI environment is detected, the plugin uses the git `HEAD`'s commit SHA. (**For `HEAD` option, requires access to the `git` CLI**). |
-| entries | `(string \| RegExp)[] \| RegExp \| string \| function(absoluteFilePath: string): boolean` | optional | Filter for entry points that should be processed. By default, the release will be injected into all entry points. |
-| ext | `array` | optional | The file extensions to be considered for the sourcemaps upload. By default the following file extensions are processed: `js`, `map`, `jsbundle`, and `bundle`. |
-| finalize | `boolean` | optional | Indicates whether Sentry release record should be automatically finalized (`date_released` timestamp added) after artifact upload. Defaults to `true` |
-| debug | `boolean` | optional | Print useful debug information. Defaults to `false`. |
-| cleanArtifacts | `boolean` | optional | Remove all existing artifacts in the Sentry release before uploading sourcemaps. Defaults to `false`. |
-| errorHandler | `function(err: Error): void` | optional | Function that is called when an error occurs during rlease creation or sourcemaps upload. When this function is provided, thrown errors will not cause the process to abort. If you still want to abort the process you can throw an error in the function. |
+### Configuration
+
+The Sentry Vite Plugin takes an options argument with the following properties:
+
+| Option | Type | Required | Description |
+| ------------------ | -------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| include | `string`/`array`/`object` | required | One or more paths that the plugin should scan recursively for sources. It will upload all `.map` files and match associated `.js` files. Other file types can be uploaded by using the `ext` option. Each path can be given as a string or an object with path-specific options. See [table below](#include) for details. |
+| org | `string` | optional | The slug of the Sentry organization associated with the app. Can also be specified via the `SENTRY_ORG` environment variable. |
+| project | `string` | optional | The slug of the Sentry project associated with the app. Can also be specified via the `SENTRY_PROJECT` environment variable. |
+| authToken | `string` | optional | The authentication token to use for all communication with Sentry. Can be obtained from https://sentry.io/settings/account/api/auth-tokens/. Required scopes: `project:releases` (and `org:read` if `setCommits` option is used). Can also be specified via the `SENTRY_AUTH_TOKEN` env variable. |
+| url | `string` | optional | The base URL of your Sentry instance. Use this if you are using a self-hosted or Sentry instance other than sentry.io. This value can also be set via the `SENTRY_URL` environment variable. Defaults to https://sentry.io/, which is the correct value for SaaS customers. |
+| customHeader | `string` | optional | A header added to every outgoing network request. The format should be `header-key: header-value`. This value can also be specified via the `CUSTOM_HEADER` environment variable. |
+| vcsRemote | `string` | optional | Version control system remote name. This value can also be specified via the `SENTRY_VSC_REMOTE` environment variable. Defaults to `'origin'`. |
+| release | `string` | optional | Unique identifier for the release. This value can also be specified via the `SENTRY_RELEASE` environment variable. Defaults to the output of the `sentry-cli releases propose-version` command, which automatically detects values for Cordova, Heroku, AWS CodeBuild, CircleCI, Xcode, and Gradle, and otherwise uses the git `HEAD`'s commit SHA. (**the latter requires access to `git` CLI and for the root directory to be a valid repository**). |
+| dist | `string` | optional | Unique identifier for the distribution, used to further segment your release. Usually your build number. |
+| entries | `array`/`RegExp`/`(string \| RegExp)[]`/`function(filePath: string): bool` | optional | Filter for bundle entry points that should contain the provided release. This option takes a string, a regular expression, or an array containing strings, regular expressions, or both. It's also possible to provide a filter function that takes the absolute path of a processed entrypoint and should return `true` if the release should be injected into the entrypoint and `false` otherwise. String values of this option require a full match with the absolute path of the bundle. By default, the release will be injected into all entry points. |
+| ignoreFile | `string` | optional | Path to a file containing list of files/directories to ignore. Can point to `.gitignore` or anything with the same format. |
+| ignore | `string`/`array` | optional | One or more paths to ignore during upload. Overrides entries in `ignoreFile` file. Defaults to `['node_modules']` if neither `ignoreFile` nor `ignore` is set. |
+| configFile | `string` | optional | Path to Sentry CLI config properties, as described in https://docs.sentry.io/product/cli/configuration/#configuration-file. By default, the config file is looked for upwards from the current path, and defaults from `~/.sentryclirc` are always loaded. |
+| ext | `array` | optional | Array of file extensions of files to be collected for the file upload. By default the following file extensions are processed: js, map, jsbundle and bundle. |
+| urlPrefix | `string` | optional | URL prefix to add to the beginning of all filenames. Defaults to `'~/'` but you might want to set this to the full URL. This is also useful if your files are stored in a sub folder. eg: url-prefix `'~/static/js'`. |
+| urlSuffix | `string` | optional | URL suffix to add to the end of all filenames. Useful for appending query parameters. |
+| validate | `boolean` | optional | When `true`, attempts source map validation before upload if rewriting is not enabled. It will spot a variety of issues with source maps and cancel the upload if any are found. Defaults to `false` as this can cause false positives. |
+| stripPrefix | `array` | optional | When paired with the `rewrite` option, this will remove a prefix from filename references inside of sourcemaps. For instance you can use this to remove a path that is build machine specific. Note that this will NOT change the names of uploaded files. |
+| stripCommonPrefix | `boolean` | optional | When paired with the `rewrite` option, this will add `~` to the `stripPrefix` array. |
+| sourceMapReference | `boolean` | optional | Determines whether sentry-cli should attempt to link minified files with their corresponding maps. By default, it will match files and maps based on name, and add a Sourcemap header to each minified file for which it finds a map. Can be disabled if all minified files contain a `sourceMappingURL`. Defaults to `true`. |
+| rewrite | `boolean` | optional | Enables rewriting of matching source maps so that indexed maps are flattened and missing sources are inlined if possible. Defaults to `true` |
+| finalize | `boolean` | optional | Determines if the Sentry release record should be automatically finalized (meaning a date_released timestamp is added) after artifact upload. Defaults to `true`. |
+| dryRun | `boolean` | optional | Attempts a dry run (useful for dev environments), making release creation a no-op. Defaults to `false`. |
+| debug | `boolean` | optional | Print useful debug information. Defaults to `false`. |
+| silent | `boolean` | optional | Suppresses all logs. Defaults to `false`. |
+| cleanArtifacts | `boolean` | optional | Remove all the artifacts in the release before the upload. Defaults to `false`. |
+| errorHandler | `function(err: Error): void` | optional | When an error occurs during rlease creation or sourcemaps upload, the plugin will call this function. By default, the plugin will simply throw an error, thereby stopping the bundling process. If an `errorHandler` callback is provided, compilation will continue, unless an error is thrown in the provided callback. |
+| setCommits | `Object` | optional | Associates the release with its commits in Sentry. See [table below](#setCommits) for details. |
+| deploy | `Object` | optional | Adds deployment information to the release in Sentry. See [table below](#deploy) for details. |
+| injectReleasesMap | `boolean` | optional | If set to true, the plugin will inject an additional `SENTRY_RELEASES` variable that maps from `{org}@{project}` to the `release` value. This might be helpful for webpack module federation or micro frontend setups. Defaults to `false`. |
+| telemetry | `boolean` | optional | If set to true, internal plugin errors and performance data will be sent to Sentry. At Sentry we like to use Sentry ourselves to deliver faster and more stable products. We're very careful of what we're sending. We won't collect anything other than error and high-level performance data. We will never collect your code or any details of the projects in which you're using this plugin. Defaults to `true`. |
+
+#### options.include:
+
+| Option | Type | Required | Description |
+| ------------------ | ------------------- | -------- | ---------------------------------------------- |
+| paths | `string[]` | required | One or more paths to scan for files to upload. |
+| ignoreFile | `string` | optional | See above. |
+| ignore | `string`/`string[]` | optional | See above. |
+| ext | `array` | optional | See above. |
+| urlPrefix | `string` | optional | See above. |
+| urlSuffix | `string` | optional | See above. |
+| stripPrefix | `array` | optional | See above. |
+| stripCommonPrefix | `boolean` | optional | See above. |
+| sourceMapReference | `boolean` | optional | See above. |
+| rewrite | `boolean` | optional | See above. |
+
+Example:
+
+```ts
+// vite.config.ts
+import sentryVitePlugin from "@sentry/vite-plugin";
+
+export default {
+ plugins: [
+ sentryVitePlugin({
+ // ...
+ include: [
+ {
+ paths: ["./packages"],
+ urlPrefix: "~/path/to/packages",
+ },
+ {
+ paths: ["./client"],
+ urlPrefix: "~/path/to/client",
+ },
+ ],
+ }),
+ ],
+};
+```
+
+#### options.setCommits:
+
+| Option | Type | Required | Description |
+| -------------- | --------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| repo | `string` | see notes | The full git repo name as defined in Sentry. Required if the `auto` option is not `true`, otherwise optional. |
+| commit | `string` | see notes | The current (most recent) commit in the release. Required if the `auto` option is not `true`, otherwise optional. |
+| previousCommit | `string` | optional | The commit before the beginning of this release (in other words, the last commit of the previous release). Defaults to the last commit of the previous release in Sentry. If there was no previous release, the last 10 commits will be used. |
+| auto | `boolean` | optional | Automatically sets `commit` and `previousCommit`. Sets `commit` to `HEAD` and `previousCommit` as described in the option's documentation. If you set this to `true`, manually specified `commit` and `previousCommit` options will be overridden. It is best to not specify them at all if you set this option to `true`. |
+| ignoreMissing | `boolean` | optional | If the flag is to `true` and the previous release commit was not found in the repository, the plugin creates a release with the default commits count instead of failing the command. Defaults to `false`. |
+
+#### options.deploy:
+
+| Option | Type | Required | Description |
+| -------- | -------- | -------- | -------------------------------------------------------------------------------- |
+| env | `string` | required | Environment value for the release, for example `production` or `staging`. |
+| started | `number` | optional | Deployment start time in Unix timestamp (in seconds) or ISO 8601 format. |
+| finished | `number` | optional | Deployment finish time in Unix timestamp (in seconds) or ISO 8601 format. |
+| time | `number` | optional | Deployment duration in seconds. Can be used instead of `started` and `finished`. |
+| name | `string` | optional | Human-readable name for this deployment. |
+| url | `string` | optional | URL that points to the deployment. |
+
+You can find more information about these options in our official docs:
+https://docs.sentry.io/product/cli/releases/#sentry-cli-sourcemaps.
## More information
diff --git a/packages/webpack-plugin/README.md b/packages/webpack-plugin/README.md
index c15273d7010a..ecd36bf459db 100644
--- a/packages/webpack-plugin/README.md
+++ b/packages/webpack-plugin/README.md
@@ -50,24 +50,107 @@ module.exports = {
As an alternative to passing options explicitly, you can also use a `.sentryclirc` file or environment variables as described in https://docs.sentry.io/product/cli/configuration/.
-## Configuration
-
-Every plugin takes an options argument with the following properties:
-
-| Option | Type | Required | Description |
-| -------------- | ----------------------------------------------------------------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| include | `string` | required | A path that the plugin should scan recursively for source maps. It will upload all `.map` files and match associated `.js` files. |
-| org | `string` | optional | The slug of the Sentry organization associated with the app. |
-| project | `string` | optional | The slug of the Sentry project associated with the app. |
-| authToken | `string` | optional | The authentication token to use for all communication with Sentry. Can be obtained from https://sentry.io/settings/account/api/auth-tokens/. Required scopes: `project:releases` (and `org:read` if `setCommits` option is used). |
-| url | `string` | optional | The base URL of your Sentry instance. Defaults to https://sentry.io/, which is the correct value for SAAS customers. |
-| release | `string` | optional | Unique identifier for the release. Defaults to automatically detected values for CI environments like Vercel, AWS, Heroku, CircleCI. If no such CI environment is detected, the plugin uses the git `HEAD`'s commit SHA. (**For `HEAD` option, requires access to the `git` CLI**). |
-| entries | `(string \| RegExp)[] \| RegExp \| string \| function(absoluteFilePath: string): boolean` | optional | Filter for entry points that should be processed. By default, the release will be injected into all entry points. |
-| ext | `array` | optional | The file extensions to be considered for the sourcemaps upload. By default the following file extensions are processed: `js`, `map`, `jsbundle`, and `bundle`. |
-| finalize | `boolean` | optional | Indicates whether Sentry release record should be automatically finalized (`date_released` timestamp added) after artifact upload. Defaults to `true` |
-| debug | `boolean` | optional | Print useful debug information. Defaults to `false`. |
-| cleanArtifacts | `boolean` | optional | Remove all existing artifacts in the Sentry release before uploading sourcemaps. Defaults to `false`. |
-| errorHandler | `function(err: Error): void` | optional | Function that is called when an error occurs during rlease creation or sourcemaps upload. When this function is provided, thrown errors will not cause the process to abort. If you still want to abort the process you can throw an error in the function. |
+### Configuration
+
+The Sentry Webpack Plugin takes an options argument with the following properties:
+
+| Option | Type | Required | Description |
+| ------------------ | -------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| include | `string`/`array`/`object` | required | One or more paths that the plugin should scan recursively for sources. It will upload all `.map` files and match associated `.js` files. Other file types can be uploaded by using the `ext` option. Each path can be given as a string or an object with path-specific options. See [table below](#include) for details. |
+| org | `string` | optional | The slug of the Sentry organization associated with the app. Can also be specified via the `SENTRY_ORG` environment variable. |
+| project | `string` | optional | The slug of the Sentry project associated with the app. Can also be specified via the `SENTRY_PROJECT` environment variable. |
+| authToken | `string` | optional | The authentication token to use for all communication with Sentry. Can be obtained from https://sentry.io/settings/account/api/auth-tokens/. Required scopes: `project:releases` (and `org:read` if `setCommits` option is used). Can also be specified via the `SENTRY_AUTH_TOKEN` env variable. |
+| url | `string` | optional | The base URL of your Sentry instance. Use this if you are using a self-hosted or Sentry instance other than sentry.io. This value can also be set via the `SENTRY_URL` environment variable. Defaults to https://sentry.io/, which is the correct value for SaaS customers. |
+| customHeader | `string` | optional | A header added to every outgoing network request. The format should be `header-key: header-value`. This value can also be specified via the `CUSTOM_HEADER` environment variable. |
+| vcsRemote | `string` | optional | Version control system remote name. This value can also be specified via the `SENTRY_VSC_REMOTE` environment variable. Defaults to `'origin'`. |
+| release | `string` | optional | Unique identifier for the release. This value can also be specified via the `SENTRY_RELEASE` environment variable. Defaults to the output of the `sentry-cli releases propose-version` command, which automatically detects values for Cordova, Heroku, AWS CodeBuild, CircleCI, Xcode, and Gradle, and otherwise uses the git `HEAD`'s commit SHA. (**the latter requires access to `git` CLI and for the root directory to be a valid repository**). |
+| dist | `string` | optional | Unique identifier for the distribution, used to further segment your release. Usually your build number. |
+| entries | `array`/`RegExp`/`(string \| RegExp)[]`/`function(filePath: string): bool` | optional | Filter for bundle entry points that should contain the provided release. This option takes a string, a regular expression, or an array containing strings, regular expressions, or both. It's also possible to provide a filter function that takes the absolute path of a processed entrypoint and should return `true` if the release should be injected into the entrypoint and `false` otherwise. String values of this option require a full match with the absolute path of the bundle. By default, the release will be injected into all entry points. |
+| ignoreFile | `string` | optional | Path to a file containing list of files/directories to ignore. Can point to `.gitignore` or anything with the same format. |
+| ignore | `string`/`array` | optional | One or more paths to ignore during upload. Overrides entries in `ignoreFile` file. Defaults to `['node_modules']` if neither `ignoreFile` nor `ignore` is set. |
+| configFile | `string` | optional | Path to Sentry CLI config properties, as described in https://docs.sentry.io/product/cli/configuration/#configuration-file. By default, the config file is looked for upwards from the current path, and defaults from `~/.sentryclirc` are always loaded. |
+| ext | `array` | optional | Array of file extensions of files to be collected for the file upload. By default the following file extensions are processed: js, map, jsbundle and bundle. |
+| urlPrefix | `string` | optional | URL prefix to add to the beginning of all filenames. Defaults to `'~/'` but you might want to set this to the full URL. This is also useful if your files are stored in a sub folder. eg: url-prefix `'~/static/js'`. |
+| urlSuffix | `string` | optional | URL suffix to add to the end of all filenames. Useful for appending query parameters. |
+| validate | `boolean` | optional | When `true`, attempts source map validation before upload if rewriting is not enabled. It will spot a variety of issues with source maps and cancel the upload if any are found. Defaults to `false` as this can cause false positives. |
+| stripPrefix | `array` | optional | When paired with the `rewrite` option, this will remove a prefix from filename references inside of sourcemaps. For instance you can use this to remove a path that is build machine specific. Note that this will NOT change the names of uploaded files. |
+| stripCommonPrefix | `boolean` | optional | When paired with the `rewrite` option, this will add `~` to the `stripPrefix` array. |
+| sourceMapReference | `boolean` | optional | Determines whether sentry-cli should attempt to link minified files with their corresponding maps. By default, it will match files and maps based on name, and add a Sourcemap header to each minified file for which it finds a map. Can be disabled if all minified files contain a `sourceMappingURL`. Defaults to `true`. |
+| rewrite | `boolean` | optional | Enables rewriting of matching source maps so that indexed maps are flattened and missing sources are inlined if possible. Defaults to `true` |
+| finalize | `boolean` | optional | Determines if the Sentry release record should be automatically finalized (meaning a date_released timestamp is added) after artifact upload. Defaults to `true`. |
+| dryRun | `boolean` | optional | Attempts a dry run (useful for dev environments), making release creation a no-op. Defaults to `false`. |
+| debug | `boolean` | optional | Print useful debug information. Defaults to `false`. |
+| silent | `boolean` | optional | Suppresses all logs. Defaults to `false`. |
+| cleanArtifacts | `boolean` | optional | Remove all the artifacts in the release before the upload. Defaults to `false`. |
+| errorHandler | `function(err: Error): void` | optional | When an error occurs during rlease creation or sourcemaps upload, the plugin will call this function. By default, the plugin will simply throw an error, thereby stopping the bundling process. If an `errorHandler` callback is provided, compilation will continue, unless an error is thrown in the provided callback. |
+| setCommits | `Object` | optional | Associates the release with its commits in Sentry. See [table below](#setCommits) for details. |
+| deploy | `Object` | optional | Adds deployment information to the release in Sentry. See [table below](#deploy) for details. |
+| injectReleasesMap | `boolean` | optional | If set to true, the plugin will inject an additional `SENTRY_RELEASES` variable that maps from `{org}@{project}` to the `release` value. This might be helpful for webpack module federation or micro frontend setups. Defaults to `false`. |
+| telemetry | `boolean` | optional | If set to true, internal plugin errors and performance data will be sent to Sentry. At Sentry we like to use Sentry ourselves to deliver faster and more stable products. We're very careful of what we're sending. We won't collect anything other than error and high-level performance data. We will never collect your code or any details of the projects in which you're using this plugin. Defaults to `true`. |
+
+#### options.include:
+
+| Option | Type | Required | Description |
+| ------------------ | ------------------- | -------- | ---------------------------------------------- |
+| paths | `string[]` | required | One or more paths to scan for files to upload. |
+| ignoreFile | `string` | optional | See above. |
+| ignore | `string`/`string[]` | optional | See above. |
+| ext | `array` | optional | See above. |
+| urlPrefix | `string` | optional | See above. |
+| urlSuffix | `string` | optional | See above. |
+| stripPrefix | `array` | optional | See above. |
+| stripCommonPrefix | `boolean` | optional | See above. |
+| sourceMapReference | `boolean` | optional | See above. |
+| rewrite | `boolean` | optional | See above. |
+
+Example:
+
+```js
+// webpack.config.js
+const sentryWebpackPlugin = require("@sentry/webpack-plugin");
+
+module.exports = {
+ plugins: [
+ sentryWebpackPlugin({
+ // ...
+ include: [
+ {
+ paths: ["./packages"],
+ urlPrefix: "~/path/to/packages",
+ },
+ {
+ paths: ["./client"],
+ urlPrefix: "~/path/to/client",
+ },
+ ],
+ }),
+ ],
+};
+```
+
+#### options.setCommits:
+
+| Option | Type | Required | Description |
+| -------------- | --------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| repo | `string` | see notes | The full git repo name as defined in Sentry. Required if the `auto` option is not `true`, otherwise optional. |
+| commit | `string` | see notes | The current (most recent) commit in the release. Required if the `auto` option is not `true`, otherwise optional. |
+| previousCommit | `string` | optional | The commit before the beginning of this release (in other words, the last commit of the previous release). Defaults to the last commit of the previous release in Sentry. If there was no previous release, the last 10 commits will be used. |
+| auto | `boolean` | optional | Automatically sets `commit` and `previousCommit`. Sets `commit` to `HEAD` and `previousCommit` as described in the option's documentation. If you set this to `true`, manually specified `commit` and `previousCommit` options will be overridden. It is best to not specify them at all if you set this option to `true`. |
+| ignoreMissing | `boolean` | optional | If the flag is to `true` and the previous release commit was not found in the repository, the plugin creates a release with the default commits count instead of failing the command. Defaults to `false`. |
+
+#### options.deploy:
+
+| Option | Type | Required | Description |
+| -------- | -------- | -------- | -------------------------------------------------------------------------------- |
+| env | `string` | required | Environment value for the release, for example `production` or `staging`. |
+| started | `number` | optional | Deployment start time in Unix timestamp (in seconds) or ISO 8601 format. |
+| finished | `number` | optional | Deployment finish time in Unix timestamp (in seconds) or ISO 8601 format. |
+| time | `number` | optional | Deployment duration in seconds. Can be used instead of `started` and `finished`. |
+| name | `string` | optional | Human-readable name for this deployment. |
+| url | `string` | optional | URL that points to the deployment. |
+
+You can find more information about these options in our official docs:
+https://docs.sentry.io/product/cli/releases/#sentry-cli-sourcemaps.
## More information
From 174c33aecc052f04e5a4fde6dc6f0f8b0e7555b6 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Tue, 15 Nov 2022 12:59:44 +0100
Subject: [PATCH 096/640] feat(core): Add node version tag (#118)
Add another tag to Sentry events containing the used node version. This can help us with seeing in which node versions the plugins (and possibly their respective projects) are used.
---
packages/bundler-plugin-core/src/sentry/telemetry.ts | 2 ++
packages/bundler-plugin-core/test/sentry/telemetry.test.ts | 3 ++-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/packages/bundler-plugin-core/src/sentry/telemetry.ts b/packages/bundler-plugin-core/src/sentry/telemetry.ts
index 6649959ea9e3..b4fe2636a1c7 100644
--- a/packages/bundler-plugin-core/src/sentry/telemetry.ts
+++ b/packages/bundler-plugin-core/src/sentry/telemetry.ts
@@ -116,4 +116,6 @@ export function addPluginOptionTags(options: InternalOptions, hub: Hub) {
if (errorHandler) {
hub.setTag("error-handler", "custom");
}
+
+ hub.setTag("node", process.version);
}
diff --git a/packages/bundler-plugin-core/test/sentry/telemetry.test.ts b/packages/bundler-plugin-core/test/sentry/telemetry.test.ts
index d268df76204b..07299b7318bd 100644
--- a/packages/bundler-plugin-core/test/sentry/telemetry.test.ts
+++ b/packages/bundler-plugin-core/test/sentry/telemetry.test.ts
@@ -135,7 +135,8 @@ describe("addPluginOptionTags", () => {
it("shouldn't set any tags other than include if no opional options are specified", () => {
addPluginOptionTags(defaultOptions as unknown as InternalOptions, mockedHub as unknown as Hub);
- expect(mockedHub.setTag).toHaveBeenCalledTimes(1);
+ expect(mockedHub.setTag).toHaveBeenCalledTimes(2);
expect(mockedHub.setTag).toHaveBeenCalledWith("include", "single-entry");
+ expect(mockedHub.setTag).toHaveBeenCalledWith("node", expect.any(String));
});
});
From 4ef3ccf7317fa9838be7ad99e8770ee4d39f271c Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Tue, 15 Nov 2022 14:23:24 +0100
Subject: [PATCH 097/640] chore(core): Bump sentry to 7.19.0 (#119)
bump sentry to 7.19.0
---
packages/bundler-plugin-core/package.json | 4 +-
packages/bundler-plugin-core/src/types.ts | 2 +-
packages/playground/package.json | 4 +-
yarn.lock | 81 ++++++++++-------------
4 files changed, 40 insertions(+), 51 deletions(-)
diff --git a/packages/bundler-plugin-core/package.json b/packages/bundler-plugin-core/package.json
index 9c15c6e84935..91470c0f9f12 100644
--- a/packages/bundler-plugin-core/package.json
+++ b/packages/bundler-plugin-core/package.json
@@ -36,8 +36,8 @@
},
"dependencies": {
"@sentry/cli": "^1.74.6",
- "@sentry/node": "^7.11.1",
- "@sentry/tracing": "^7.11.1",
+ "@sentry/node": "^7.19.0",
+ "@sentry/tracing": "^7.19.0",
"magic-string": "0.26.2",
"unplugin": "0.10.1"
},
diff --git a/packages/bundler-plugin-core/src/types.ts b/packages/bundler-plugin-core/src/types.ts
index fa04110e56fe..28e67f0d5349 100644
--- a/packages/bundler-plugin-core/src/types.ts
+++ b/packages/bundler-plugin-core/src/types.ts
@@ -1,4 +1,4 @@
-import { Hub } from "@sentry/hub";
+import { Hub } from "@sentry/core";
import { Span } from "@sentry/tracing";
import { SentryCLILike } from "./sentry/cli";
import { createLogger } from "./sentry/logger";
diff --git a/packages/playground/package.json b/packages/playground/package.json
index 6abd0a5c3acf..d6fe5eb02844 100644
--- a/packages/playground/package.json
+++ b/packages/playground/package.json
@@ -19,8 +19,8 @@
},
"dependencies": {
"@sentry/bundler-plugin-core": "0.0.1-alpha.0",
- "@sentry/integrations": "^7.11.1",
- "@sentry/node": "^7.11.1",
+ "@sentry/integrations": "^7.19.0",
+ "@sentry/node": "^7.19.0",
"@types/express": "^4.17.13",
"@types/http-proxy": "^1.17.9",
"esbuild": "0.14.49",
diff --git a/yarn.lock b/yarn.lock
index 47822dd7ab77..0632815132db 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2577,70 +2577,59 @@
proxy-from-env "^1.1.0"
which "^2.0.2"
-"@sentry/core@7.11.1":
- version "7.11.1"
- resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.11.1.tgz#d68e796f3b6428aefd6086a1db00118df7a9a9e4"
- integrity sha512-kaDSZ6VNuO4ZZdqUOOX6XM6x+kjo2bMnDQ3IJG51FPvVjr8lXYhXj1Ccxcot3pBYAIWPPby2+vNDOXllmXqoBA==
- dependencies:
- "@sentry/hub" "7.11.1"
- "@sentry/types" "7.11.1"
- "@sentry/utils" "7.11.1"
- tslib "^1.9.3"
-
-"@sentry/hub@7.11.1":
- version "7.11.1"
- resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-7.11.1.tgz#1749b2b102ea1892ff388d65d66d3b402b393958"
- integrity sha512-M6ClgdXdptS0lUBKB5KpXXe2qMQhsoiEN2pEGRI6+auqhfHCUQB1ZXsfjiOYexKC9fwx7TyFyZ9Jcaf2DTxEhw==
+"@sentry/core@7.19.0":
+ version "7.19.0"
+ resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.19.0.tgz#74e0eaf4b9f42bb0290f4b3f3b0ea3e272dd693e"
+ integrity sha512-YF9cTBcAnO4R44092BJi5Wa2/EO02xn2ziCtmNgAVTN2LD31a/YVGxGBt/FDr4Y6yeuVehaqijVVvtpSmXrGJw==
dependencies:
- "@sentry/types" "7.11.1"
- "@sentry/utils" "7.11.1"
+ "@sentry/types" "7.19.0"
+ "@sentry/utils" "7.19.0"
tslib "^1.9.3"
-"@sentry/integrations@^7.11.1":
- version "7.11.1"
- resolved "https://registry.yarnpkg.com/@sentry/integrations/-/integrations-7.11.1.tgz#fa7b648fd479b9b8b8558f5b23c8c51a066737f5"
- integrity sha512-G4aw9X2WdRGwLk/2pAj+5LuZnLM4u1GG3o8bOWNASR9E7IiQQ9ERYlnfW7jas+08B1Q61WLwJPXZhJxvQfxLQw==
+"@sentry/integrations@^7.19.0":
+ version "7.19.0"
+ resolved "https://registry.yarnpkg.com/@sentry/integrations/-/integrations-7.19.0.tgz#570b7ced7ef9de43a6a56f99f324936148adf6b9"
+ integrity sha512-0x5AGU7EBIzOTSqD7TFvD4S5eX6hbqbvb4YCzJt3SIZC3bO4FiBu2t0y+PIZUSsupnqafBIIWsCcGWeKrNHAyA==
dependencies:
- "@sentry/types" "7.11.1"
- "@sentry/utils" "7.11.1"
+ "@sentry/types" "7.19.0"
+ "@sentry/utils" "7.19.0"
localforage "^1.8.1"
tslib "^1.9.3"
-"@sentry/node@^7.11.1":
- version "7.11.1"
- resolved "https://registry.yarnpkg.com/@sentry/node/-/node-7.11.1.tgz#97fd26de26e8203a3c34e26b38f3c2a5ba46828b"
- integrity sha512-EAAHou/eHSzwRK0Z5qnQiwXNbkpnjWjloaG979gftA+MS/kM0AxQHdOrSJQbOEaqRf3F7/eC4Hj+1tfglAuaLQ==
+"@sentry/node@^7.19.0":
+ version "7.19.0"
+ resolved "https://registry.yarnpkg.com/@sentry/node/-/node-7.19.0.tgz#4c9494d6aaa15d7f22fe4e6c31d0358a365adb2f"
+ integrity sha512-yG7Tx32WqOkEHVotFLrumCcT9qlaSDTkFNZ+yLSvZXx74ifsE781DzBA9W7K7bBdYO3op+p2YdsOKzf3nPpAyQ==
dependencies:
- "@sentry/core" "7.11.1"
- "@sentry/hub" "7.11.1"
- "@sentry/types" "7.11.1"
- "@sentry/utils" "7.11.1"
+ "@sentry/core" "7.19.0"
+ "@sentry/types" "7.19.0"
+ "@sentry/utils" "7.19.0"
cookie "^0.4.1"
https-proxy-agent "^5.0.0"
lru_map "^0.3.3"
tslib "^1.9.3"
-"@sentry/tracing@^7.11.1":
- version "7.11.1"
- resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-7.11.1.tgz#50cbe82dd5b9a1307b31761cdd4b0d71132cf5c7"
- integrity sha512-ilgnHfpdYUWKG/5yAXIfIbPVsCfrC4ONFBR/wN25/hdAyVfXMa3AJx7NCCXxZBOPDWH3hMW8rl4La5yuDbXofg==
+"@sentry/tracing@^7.19.0":
+ version "7.19.0"
+ resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-7.19.0.tgz#d69ecea2c0b53d113c5100fc52d0a0acc5c8a129"
+ integrity sha512-SWY17M3TsgBePaGowUcSqBwaT0TJQzuNexVnLojuU0k6F57L9hubvP9zaoosoCfARXQ/3NypAFWnlJyf570rFQ==
dependencies:
- "@sentry/hub" "7.11.1"
- "@sentry/types" "7.11.1"
- "@sentry/utils" "7.11.1"
+ "@sentry/core" "7.19.0"
+ "@sentry/types" "7.19.0"
+ "@sentry/utils" "7.19.0"
tslib "^1.9.3"
-"@sentry/types@7.11.1":
- version "7.11.1"
- resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.11.1.tgz#06e2827f6ba37159c33644208a0453b86d25e232"
- integrity sha512-gIEhOPxC2cjrxQ0+K2SFJ1P6e/an5osSxVc9OOtekN28eHtVsXFCLB8XVWeNQnS7N2VkrVrkqORMBz1kvIcvVQ==
+"@sentry/types@7.19.0":
+ version "7.19.0"
+ resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.19.0.tgz#3ebb96670399b637a945fa499fa7436f7b930147"
+ integrity sha512-oGRAT6lfzoKrxO1mvxiSj0XHxWPd6Gd1wpPGuu6iJo03xgWDS+MIlD1h2unqL4N5fAzLjzmbC2D2lUw50Kn2pA==
-"@sentry/utils@7.11.1":
- version "7.11.1"
- resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.11.1.tgz#1635c5b223369d9428bc83c9b8908c9c3287ee10"
- integrity sha512-tRVXNT5O9ilkV31pyHeTqA1PcPQfMV/2OR6yUYM4ah+QVISovC0f0ybhByuH5nYg6x/Gsnx1o7pc8L1GE3+O7A==
+"@sentry/utils@7.19.0":
+ version "7.19.0"
+ resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.19.0.tgz#0e039fe57056074c3a5e47bd50d9cb4ac9a6e909"
+ integrity sha512-2L6lq+c9Ol2uiRxQDdcgoapmHJp24MhMN0gIkn2alSfMJ+ls6bGXzQHx6JAIdoOiwFQXRZHKL9ecfAc8O+vItA==
dependencies:
- "@sentry/types" "7.11.1"
+ "@sentry/types" "7.19.0"
tslib "^1.9.3"
"@sinclair/typebox@^0.24.1":
From 297f5088c118df7d217beb187810f89162cc96e9 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Tue, 15 Nov 2022 14:38:59 +0100
Subject: [PATCH 098/640] ref(core): Do not send telemetry data for self-hosted
users (#120)
This PR turns telemetry off for self-hosted users, meaning that the plugin will only send Sentry events to Sentry.io if the URL used in the plugin (i.e. where sourcemaps are uploaded to) is sentry.io.
Unfortunately, this isn't entirely straight forward. Sentry-CLI will read a config file (`.sentryclirc`) if it finds one. Either in the directory of a global CLI installation (default behaviour) or if a path to a config file was specified via the `configFile` option. At option conversion time, we therefore don't know exactly yet, if the plugin is used for SaaS or self-hosted. We can only check the `url` option and `SENTRY_URL` env variable to make a first decision.
Only at a later time, we can make a call to Sentry-CLI (with the `info`) command which returns us the used Sentry server URL. At this point we can finally definitely make the call to leave telemetry running for SaaS or turn sending off for self-hosted.
Note that I had to remove a call to Sentry for options validation which would until now have sent an error to Sentry in case of a validation error. However, given that this is mostly a user-facing config problem, I think we're not missing out on important data.
---
packages/bundler-plugin-core/src/index.ts | 6 +-
.../src/options-mapping.ts | 17 +++++-
.../bundler-plugin-core/src/sentry/cli.ts | 9 ++-
.../src/sentry/telemetry.ts | 30 +++++++++-
.../test/option-mappings.test.ts | 31 ++++++++++
.../test/sentry/telemetry.test.ts | 58 ++++++++++++++++++-
.../playground/vite.config.smallNodeApp.js | 4 +-
7 files changed, 145 insertions(+), 10 deletions(-)
diff --git a/packages/bundler-plugin-core/src/index.ts b/packages/bundler-plugin-core/src/index.ts
index 3841a9a6be74..84da564c3564 100644
--- a/packages/bundler-plugin-core/src/index.ts
+++ b/packages/bundler-plugin-core/src/index.ts
@@ -15,6 +15,7 @@ import {
addSpanToTransaction,
captureMinimalError,
makeSentryClient,
+ turnOffTelemetryForSelfHostedSentry,
} from "./sentry/telemetry";
import { Span, Transaction } from "@sentry/types";
import { createLogger, Logger } from "./sentry/logger";
@@ -108,8 +109,7 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
handleError(
new Error("Options were not set correctly. See output above for more details."),
logger,
- internalOptions.errorHandler,
- sentryHub
+ internalOptions.errorHandler
);
}
@@ -145,6 +145,8 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
* Responsible for starting the plugin execution transaction and the release injection span
*/
async buildStart() {
+ await turnOffTelemetryForSelfHostedSentry(cli, sentryHub);
+
if (!internalOptions.release) {
internalOptions.release = await cli.releases.proposeVersion();
}
diff --git a/packages/bundler-plugin-core/src/options-mapping.ts b/packages/bundler-plugin-core/src/options-mapping.ts
index ca28153a8f9a..d1abab76520b 100644
--- a/packages/bundler-plugin-core/src/options-mapping.ts
+++ b/packages/bundler-plugin-core/src/options-mapping.ts
@@ -58,8 +58,10 @@ export type InternalIncludeEntry = RequiredInternalIncludeEntry &
ignore: string[];
};
+export const SENTRY_SAAS_URL = "https://sentry.io";
+
export function normalizeUserOptions(userOptions: UserOptions): InternalOptions {
- return {
+ const options = {
// include is the only strictly required option
// (normalizeInclude needs all userOptions to access top-level include options)
include: normalizeInclude(userOptions),
@@ -75,6 +77,10 @@ export function normalizeUserOptions(userOptions: UserOptions): InternalOptions
// Sentry CLI to determine a release if none was specified via options
// or env vars. In case we don't find one, we'll bail at that point.
release: userOptions.release ?? process.env["SENTRY_RELEASE"] ?? "",
+ // We technically don't need the URL for anything release-specific
+ // but we want to make sure that we're only sending Sentry data
+ // of SaaS customers. Hence we want to read it anyway.
+ url: userOptions.url ?? process.env["SENTRY_URL"] ?? SENTRY_SAAS_URL,
// Options with default values
finalize: userOptions.finalize ?? true,
@@ -97,7 +103,6 @@ export function normalizeUserOptions(userOptions: UserOptions): InternalOptions
customHeader:
userOptions.customHeader ?? process.env["SENTRY_HEADER"] ?? process.env["CUSTOM_HEADER"],
- url: userOptions.url, // env var: `SENTRY_URL`
vcsRemote: userOptions.vcsRemote, // env var: `SENTRY_VSC_REMOTE`
// Optional options
@@ -108,6 +113,14 @@ export function normalizeUserOptions(userOptions: UserOptions): InternalOptions
errorHandler: userOptions.errorHandler,
configFile: userOptions.configFile,
};
+
+ // We only want to enable telemetry for SaaS users
+ // This is not the final check (we need to call Sentry CLI at a later point)
+ // but we can already at this point make a first decision.
+ // @see `turnOffTelemetryForSelfHostedSentry` (telemetry.ts) for the second check.
+ options.telemetry = options.telemetry && options.url === SENTRY_SAAS_URL;
+
+ return options;
}
/**
diff --git a/packages/bundler-plugin-core/src/sentry/cli.ts b/packages/bundler-plugin-core/src/sentry/cli.ts
index 53aa89fddb45..97367cc64911 100644
--- a/packages/bundler-plugin-core/src/sentry/cli.ts
+++ b/packages/bundler-plugin-core/src/sentry/cli.ts
@@ -2,7 +2,10 @@ import SentryCli, { SentryCliReleases } from "@sentry/cli";
import { InternalOptions } from "../options-mapping";
import { Logger } from "./logger";
-type SentryDryRunCLI = { releases: Omit };
+type SentryDryRunCLI = {
+ releases: Omit;
+ execute: (args: string[], live: boolean) => Promise;
+};
export type SentryCLILike = SentryCli | SentryDryRunCLI;
/**
@@ -65,5 +68,9 @@ function getDryRunCLI(cli: SentryCli, logger: Logger): SentryDryRunCLI {
return Promise.resolve("");
},
},
+ execute: (args: string[], live: boolean) => {
+ logger.info("Executing", args, "live:", live);
+ return Promise.resolve("Executed");
+ },
};
}
diff --git a/packages/bundler-plugin-core/src/sentry/telemetry.ts b/packages/bundler-plugin-core/src/sentry/telemetry.ts
index b4fe2636a1c7..0b6af4933346 100644
--- a/packages/bundler-plugin-core/src/sentry/telemetry.ts
+++ b/packages/bundler-plugin-core/src/sentry/telemetry.ts
@@ -5,10 +5,11 @@ import {
makeMain,
makeNodeTransport,
NodeClient,
+ Span,
} from "@sentry/node";
-import { Span } from "@sentry/tracing";
-import { InternalOptions } from "../options-mapping";
+import { InternalOptions, SENTRY_SAAS_URL } from "../options-mapping";
import { BuildContext } from "../types";
+import { SentryCLILike } from "./cli";
export function makeSentryClient(
dsn: string,
@@ -119,3 +120,28 @@ export function addPluginOptionTags(options: InternalOptions, hub: Hub) {
hub.setTag("node", process.version);
}
+
+/**
+ * Makes a call to SentryCLI to get the Sentry server URL the CLI uses.
+ *
+ * We need to check and decide to use telemetry based on the CLI's respone to this call
+ * because only at this time we checked a possibly existing .sentryclirc file. This file
+ * could point to another URL than the default URL.
+ */
+export async function turnOffTelemetryForSelfHostedSentry(cli: SentryCLILike, hub: Hub) {
+ const cliInfo = await cli.execute(["info"], false);
+
+ const url = cliInfo
+ ?.split(/(\r\n|\n|\r)/)[0]
+ ?.replace(/^Sentry Server: /, "")
+ ?.trim();
+
+ if (url !== SENTRY_SAAS_URL) {
+ const client = hub.getClient();
+ if (client) {
+ client.getOptions().enabled = false;
+ client.getOptions().tracesSampleRate = 0;
+ client.getOptions().sampleRate = 0;
+ }
+ }
+}
diff --git a/packages/bundler-plugin-core/test/option-mappings.test.ts b/packages/bundler-plugin-core/test/option-mappings.test.ts
index af76484d6d19..cfcd05fb46a8 100644
--- a/packages/bundler-plugin-core/test/option-mappings.test.ts
+++ b/packages/bundler-plugin-core/test/option-mappings.test.ts
@@ -34,6 +34,7 @@ describe("normalizeUserOptions()", () => {
silent: false,
telemetry: true,
injectReleasesMap: false,
+ url: "https://sentry.io",
});
});
@@ -76,6 +77,7 @@ describe("normalizeUserOptions()", () => {
silent: false,
telemetry: true,
injectReleasesMap: false,
+ url: "https://sentry.io",
});
});
@@ -104,6 +106,35 @@ describe("normalizeUserOptions()", () => {
process.env["SENTRY_HEADER"] = _original_SENTRY_HEADER;
process.env["CUSTOM_HEADER"] = _original_CUSTOM_HEADER;
});
+
+ test.each(["https://sentry.io", undefined])(
+ "should enable telemetry if `telemetry` is true and Sentry SaaS URL (%s) is used",
+ (url) => {
+ const options = {
+ include: "",
+ url,
+ };
+
+ expect(normalizeUserOptions(options).telemetry).toBe(true);
+ }
+ );
+
+ test.each([
+ [true, "https://selfhostedSentry.io"],
+ [false, "https://sentry.io"],
+ [false, "https://selfhostedSentry.io"],
+ ])(
+ "should disable telemetry if `telemetry` is %s and Sentry SaaS URL (%s) is used",
+ (telemetry, url) => {
+ const options = {
+ include: "",
+ telemetry,
+ url,
+ };
+
+ expect(normalizeUserOptions(options).telemetry).toBe(false);
+ }
+ );
});
describe("validateOptions", () => {
diff --git a/packages/bundler-plugin-core/test/sentry/telemetry.test.ts b/packages/bundler-plugin-core/test/sentry/telemetry.test.ts
index 07299b7318bd..29efe785dc36 100644
--- a/packages/bundler-plugin-core/test/sentry/telemetry.test.ts
+++ b/packages/bundler-plugin-core/test/sentry/telemetry.test.ts
@@ -1,6 +1,62 @@
import { Hub } from "@sentry/node";
import { InternalOptions } from "../../src/options-mapping";
-import { addPluginOptionTags, captureMinimalError } from "../../src/sentry/telemetry";
+import { SentryCLILike } from "../../src/sentry/cli";
+import {
+ addPluginOptionTags,
+ captureMinimalError,
+ turnOffTelemetryForSelfHostedSentry,
+} from "../../src/sentry/telemetry";
+
+describe("turnOffTelemetryForSelfHostedSentry", () => {
+ const mockedCLI = {
+ execute: jest
+ .fn()
+ .mockImplementation(() => "Sentry Server: https://sentry.io \nsomeotherstuff\netc"),
+ };
+
+ const options = {
+ enabled: true,
+ tracesSampleRate: 1.0,
+ sampleRate: 1.0,
+ };
+
+ const mockedClient = {
+ getOptions: jest.fn().mockImplementation(() => options),
+ };
+ const mockedHub = {
+ getClient: jest.fn().mockImplementation(() => {
+ return mockedClient;
+ }),
+ };
+
+ afterEach(() => {
+ jest.resetAllMocks();
+ mockedCLI.execute.mockImplementation(
+ () => "Sentry Server: https://sentry.io \nsomeotherstuff\netc"
+ );
+ });
+
+ it("Should turn telemetry off if CLI returns a URL other than sentry.io", async () => {
+ mockedCLI.execute.mockImplementation(
+ () => "Sentry Server: https://selfhostedSentry.io \nsomeotherstuff\netc"
+ );
+ await turnOffTelemetryForSelfHostedSentry(
+ mockedCLI as unknown as SentryCLILike,
+ mockedHub as unknown as Hub
+ );
+ expect(mockedHub.getClient).toHaveBeenCalledTimes(1);
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
+ expect(mockedHub.getClient().getOptions).toHaveBeenCalledTimes(3);
+ });
+
+ it("Should do nothing if CLI returns sentry.io as a URL", async () => {
+ await turnOffTelemetryForSelfHostedSentry(
+ mockedCLI as unknown as SentryCLILike,
+ mockedHub as unknown as Hub
+ );
+ expect(mockedHub.getClient).not.toHaveBeenCalled();
+ });
+});
describe("captureMinimalError", () => {
const mockedHub = {
diff --git a/packages/playground/vite.config.smallNodeApp.js b/packages/playground/vite.config.smallNodeApp.js
index b8d48b670579..b9566f49f3cb 100644
--- a/packages/playground/vite.config.smallNodeApp.js
+++ b/packages/playground/vite.config.smallNodeApp.js
@@ -28,8 +28,8 @@ export default defineConfig({
ignore: ["!out/vite-smallNodeApp/index.js.map"],
ignoreFile: ".sentryignore",
setCommits: {
- repo: "",
- commit: "",
+ repo: "someRepo",
+ commit: "someCommit",
ignoreMissing: true,
},
deploy: {
From 42f601f9b5e6700647d9fa9202e18d65883a69f7 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Tue, 15 Nov 2022 14:57:08 +0100
Subject: [PATCH 099/640] meta: Update changelog for 0.1.0
---
CHANGELOG.md | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 478db95e7709..b3332765d352 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,22 @@
- "You know what they say ‘Fool me once, strike one, but fool me twice… strike three.’" — Michael Scott
+## 0.1.0
+
+This release marks the first official release of the Sentry bundler plugins. As of this release, the plugins support all features of the standalone Sentry Webpack plugin.
+Please note that breaking changes might still be introduced.
+
+- Re-added Sentry CLI to the project (#85).
+ The bundler plugins use Sentry CLI to create releases and upload sourcemaps
+- Added missing Release creation steps
+ - feat(core): Add `setCommits` (#96)
+ - feat(core): Add `deploy` command (#97)
+- Added validation of plugin options (#104)
+- Refined `telemetry` option to only send events to Sentry for projects uploading source maps to Sentry's SaaS instance (#99). For self-hosted Sentry servers, nothing will be sent to Sentry.
+- Updated `README.md` files with examples and option descriptions for each bundler plugin (#117)
+
+Link to [Full Changelog](https://github.com/getsentry/sentry-javascript-bundler-plugins/compare/0.0.1-alpha.0...main)
+
## 0.0.1-alpha.0
This release marks the first release of the Sentry bundler blugins. This is still a heavy work in progress and a lot of things are still missing and subject to change
From 9f01b3848f29d54e484be5c402f58547991e1c03 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Tue, 15 Nov 2022 15:47:48 +0100
Subject: [PATCH 100/640] chore: Update changelog (#122)
update changelog
---
CHANGELOG.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b3332765d352..11863d31a238 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,7 +6,7 @@
## 0.1.0
-This release marks the first official release of the Sentry bundler plugins. As of this release, the plugins support all features of the standalone Sentry Webpack plugin.
+With this release, the Sentry bundler plugins support all features of the standalone Sentry Webpack plugin.
Please note that breaking changes might still be introduced.
- Re-added Sentry CLI to the project (#85).
From 721e7fbcfcb9812ef9edc361e3481df37b6a1b1f Mon Sep 17 00:00:00 2001
From: getsentry-bot
Date: Tue, 15 Nov 2022 14:58:37 +0000
Subject: [PATCH 101/640] release: 0.1.0
---
lerna.json | 2 +-
packages/bundler-plugin-core/package.json | 6 +++---
packages/e2e-tests/package.json | 16 ++++++++--------
packages/esbuild-plugin/package.json | 8 ++++----
packages/eslint-configs/package.json | 2 +-
packages/integration-tests/package.json | 8 ++++----
packages/playground/package.json | 4 ++--
packages/rollup-plugin/package.json | 8 ++++----
packages/tsconfigs/package.json | 2 +-
packages/vite-plugin/package.json | 8 ++++----
packages/webpack-plugin/package.json | 8 ++++----
11 files changed, 36 insertions(+), 36 deletions(-)
diff --git a/lerna.json b/lerna.json
index b537b4f9cbc3..adfeeedd5a40 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
{
- "version": "0.0.1-alpha.0",
+ "version": "0.1.0",
"packages": "packages/*",
"npmClient": "yarn",
"useWorkspaces": true
diff --git a/packages/bundler-plugin-core/package.json b/packages/bundler-plugin-core/package.json
index 91470c0f9f12..5aac11d6e698 100644
--- a/packages/bundler-plugin-core/package.json
+++ b/packages/bundler-plugin-core/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry/bundler-plugin-core",
- "version": "0.0.1-alpha.0",
+ "version": "0.1.0",
"description": "Sentry Bundler Plugin Core",
"repository": "git://github.com/getsentry/sentry-javascript-bundler-plugins.git",
"homepage": "https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/bundler-plugin-core",
@@ -50,8 +50,8 @@
"@rollup/plugin-json": "4.1.0",
"@rollup/plugin-node-resolve": "13.3.0",
"@rollup/plugin-replace": "^4.0.0",
- "@sentry-internal/eslint-config": "0.0.1-alpha.0",
- "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.0.1-alpha.0",
+ "@sentry-internal/eslint-config": "0.1.0",
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.1.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
diff --git a/packages/e2e-tests/package.json b/packages/e2e-tests/package.json
index eb8853d911f7..162757ed4e57 100644
--- a/packages/e2e-tests/package.json
+++ b/packages/e2e-tests/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry-internal/bundler-plugin-e2e-tests",
- "version": "0.0.1-alpha.0",
+ "version": "0.1.0",
"license": "MIT",
"private": true,
"scripts": {
@@ -15,20 +15,20 @@
"lint": "eslint ."
},
"dependencies": {
- "@sentry/vite-plugin": "0.0.1-alpha.0",
- "@sentry/rollup-plugin": "0.0.1-alpha.0",
- "@sentry/esbuild-plugin": "0.0.1-alpha.0",
- "@sentry/webpack-plugin": "0.0.1-alpha.0",
+ "@sentry/esbuild-plugin": "0.1.0",
+ "@sentry/rollup-plugin": "0.1.0",
+ "@sentry/vite-plugin": "0.1.0",
+ "@sentry/webpack-plugin": "0.1.0",
"axios": "^1.1.3"
},
"devDependencies": {
- "@sentry-internal/eslint-config": "0.0.1-alpha.0",
- "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.0.1-alpha.0",
+ "@sentry-internal/eslint-config": "0.1.0",
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.1.0",
"@swc/jest": "^0.2.21",
+ "@types/axios": "^0.14.0",
"@types/glob": "8.0.0",
"@types/jest": "^28.1.3",
"@types/webpack4": "npm:@types/webpack@4.41.32",
- "@types/axios": "^0.14.0",
"esbuild": "0.14.49",
"eslint": "^8.18.0",
"glob": "8.0.3",
diff --git a/packages/esbuild-plugin/package.json b/packages/esbuild-plugin/package.json
index 097b2a568467..9a353fcf1cc3 100644
--- a/packages/esbuild-plugin/package.json
+++ b/packages/esbuild-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry/esbuild-plugin",
- "version": "0.0.1-alpha.0",
+ "version": "0.1.0",
"description": "Official Sentry esbuild plugin",
"repository": "git@github.com:getsentry/sentry-javascript-bundler-plugins.git",
"homepage": "https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/esbuild-plugin",
@@ -40,7 +40,7 @@
"lint": "eslint ./src ./test"
},
"dependencies": {
- "@sentry/bundler-plugin-core": "0.0.1-alpha.0"
+ "@sentry/bundler-plugin-core": "0.1.0"
},
"devDependencies": {
"@babel/core": "7.18.5",
@@ -50,8 +50,8 @@
"@rollup/plugin-commonjs": "22.0.1",
"@rollup/plugin-json": "4.1.0",
"@rollup/plugin-node-resolve": "13.3.0",
- "@sentry-internal/eslint-config": "0.0.1-alpha.0",
- "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.0.1-alpha.0",
+ "@sentry-internal/eslint-config": "0.1.0",
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.1.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
diff --git a/packages/eslint-configs/package.json b/packages/eslint-configs/package.json
index 7afcb47f5f57..2750f7ddc996 100644
--- a/packages/eslint-configs/package.json
+++ b/packages/eslint-configs/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry-internal/eslint-config",
- "version": "0.0.1-alpha.0",
+ "version": "0.1.0",
"license": "MIT",
"private": true,
"peerDependencies": {
diff --git a/packages/integration-tests/package.json b/packages/integration-tests/package.json
index 3a280d52f36c..1bede89237f9 100644
--- a/packages/integration-tests/package.json
+++ b/packages/integration-tests/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry-internal/integration-tests",
- "version": "0.0.1-alpha.0",
+ "version": "0.1.0",
"license": "MIT",
"private": true,
"scripts": {
@@ -15,9 +15,9 @@
"clean:deps": "rimraf node_modules"
},
"dependencies": {
- "@sentry-internal/eslint-config": "0.0.1-alpha.0",
- "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.0.1-alpha.0",
- "@sentry/bundler-plugin-core": "0.0.1-alpha.0",
+ "@sentry-internal/eslint-config": "0.1.0",
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.1.0",
+ "@sentry/bundler-plugin-core": "0.1.0",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
"@types/webpack4": "npm:@types/webpack@4.41.32",
diff --git a/packages/playground/package.json b/packages/playground/package.json
index d6fe5eb02844..34ea74a7615f 100644
--- a/packages/playground/package.json
+++ b/packages/playground/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry-internal/bundler-plugin-playground",
- "version": "0.0.1-alpha.0",
+ "version": "0.1.0",
"license": "MIT",
"private": true,
"scripts": {
@@ -18,7 +18,7 @@
"start:proxyLogger": "ts-node scripts/request-logger-proxy.ts"
},
"dependencies": {
- "@sentry/bundler-plugin-core": "0.0.1-alpha.0",
+ "@sentry/bundler-plugin-core": "0.1.0",
"@sentry/integrations": "^7.19.0",
"@sentry/node": "^7.19.0",
"@types/express": "^4.17.13",
diff --git a/packages/rollup-plugin/package.json b/packages/rollup-plugin/package.json
index 0f99956f9655..5d314edde19b 100644
--- a/packages/rollup-plugin/package.json
+++ b/packages/rollup-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry/rollup-plugin",
- "version": "0.0.1-alpha.0",
+ "version": "0.1.0",
"description": "Official Sentry Rollup plugin",
"repository": "git://github.com/getsentry/sentry-javascript-bundler-plugins.git",
"homepage": "https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/rollup-plugin",
@@ -41,7 +41,7 @@
"lint": "eslint ./src ./test"
},
"dependencies": {
- "@sentry/bundler-plugin-core": "0.0.1-alpha.0"
+ "@sentry/bundler-plugin-core": "0.1.0"
},
"devDependencies": {
"@babel/core": "7.18.5",
@@ -51,8 +51,8 @@
"@rollup/plugin-commonjs": "22.0.1",
"@rollup/plugin-json": "4.1.0",
"@rollup/plugin-node-resolve": "13.3.0",
- "@sentry-internal/eslint-config": "0.0.1-alpha.0",
- "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.0.1-alpha.0",
+ "@sentry-internal/eslint-config": "0.1.0",
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.1.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
diff --git a/packages/tsconfigs/package.json b/packages/tsconfigs/package.json
index e3d5e4a3830b..6181941ab41b 100644
--- a/packages/tsconfigs/package.json
+++ b/packages/tsconfigs/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry-internal/sentry-bundler-plugin-tsconfig",
- "version": "0.0.1-alpha.0",
+ "version": "0.1.0",
"license": "MIT",
"private": true
}
diff --git a/packages/vite-plugin/package.json b/packages/vite-plugin/package.json
index 3a6c840b9a9a..bbb0dfc241a1 100644
--- a/packages/vite-plugin/package.json
+++ b/packages/vite-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry/vite-plugin",
- "version": "0.0.1-alpha.0",
+ "version": "0.1.0",
"description": "Official Sentry Vite plugin",
"repository": "git://github.com/getsentry/sentry-javascript-bundler-plugins.git",
"homepage": "https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/vite-plugin",
@@ -40,7 +40,7 @@
"lint": "eslint ./src ./test"
},
"dependencies": {
- "@sentry/bundler-plugin-core": "0.0.1-alpha.0"
+ "@sentry/bundler-plugin-core": "0.1.0"
},
"devDependencies": {
"@babel/core": "7.18.5",
@@ -50,8 +50,8 @@
"@rollup/plugin-commonjs": "22.0.1",
"@rollup/plugin-json": "4.1.0",
"@rollup/plugin-node-resolve": "13.3.0",
- "@sentry-internal/eslint-config": "0.0.1-alpha.0",
- "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.0.1-alpha.0",
+ "@sentry-internal/eslint-config": "0.1.0",
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.1.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
diff --git a/packages/webpack-plugin/package.json b/packages/webpack-plugin/package.json
index e0e28f185834..842272589a95 100644
--- a/packages/webpack-plugin/package.json
+++ b/packages/webpack-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry/webpack-plugin",
- "version": "0.0.1-alpha.0",
+ "version": "0.1.0",
"description": "Official Sentry Webpack plugin",
"repository": "git://github.com/getsentry/sentry-javascript-bundler-plugins.git",
"homepage": "https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/webpack-plugin",
@@ -40,7 +40,7 @@
"lint": "eslint ./src ./test"
},
"dependencies": {
- "@sentry/bundler-plugin-core": "0.0.1-alpha.0"
+ "@sentry/bundler-plugin-core": "0.1.0"
},
"devDependencies": {
"@babel/core": "7.18.5",
@@ -50,8 +50,8 @@
"@rollup/plugin-commonjs": "22.0.1",
"@rollup/plugin-json": "4.1.0",
"@rollup/plugin-node-resolve": "13.3.0",
- "@sentry-internal/eslint-config": "0.0.1-alpha.0",
- "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.0.1-alpha.0",
+ "@sentry-internal/eslint-config": "0.1.0",
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.1.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
From a73d0ddca82db45b3279b13d220d14fdbbe6c409 Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Thu, 17 Nov 2022 09:26:00 +0100
Subject: [PATCH 102/640] test(e2e): Use jest snapshotting for E2E tests (#124)
---
.../__snapshots__/basic-upload.test.ts.snap | 101 ++++++++++++++++++
.../basic-upload/basic-upload.test.ts | 5 +-
.../basic-upload/ref/esbuild/~/index.js | 2 -
.../basic-upload/ref/esbuild/~/index.js.map | 1 -
.../basic-upload/ref/rollup/~/index.js | 29 -----
.../basic-upload/ref/rollup/~/index.js.map | 1 -
.../basic-upload/ref/vite/~/index.js | 2 -
.../basic-upload/ref/vite/~/index.js.map | 1 -
.../basic-upload/ref/webpack4/~/index.js | 2 -
.../basic-upload/ref/webpack4/~/index.js.map | 1 -
.../basic-upload/ref/webpack5/~/index.js | 2 -
.../basic-upload/ref/webpack5/~/index.js.map | 1 -
packages/e2e-tests/utils/releases.ts | 18 ----
13 files changed, 103 insertions(+), 63 deletions(-)
create mode 100644 packages/e2e-tests/scenarios/basic-upload/__snapshots__/basic-upload.test.ts.snap
delete mode 100644 packages/e2e-tests/scenarios/basic-upload/ref/esbuild/~/index.js
delete mode 100644 packages/e2e-tests/scenarios/basic-upload/ref/esbuild/~/index.js.map
delete mode 100644 packages/e2e-tests/scenarios/basic-upload/ref/rollup/~/index.js
delete mode 100644 packages/e2e-tests/scenarios/basic-upload/ref/rollup/~/index.js.map
delete mode 100644 packages/e2e-tests/scenarios/basic-upload/ref/vite/~/index.js
delete mode 100644 packages/e2e-tests/scenarios/basic-upload/ref/vite/~/index.js.map
delete mode 100644 packages/e2e-tests/scenarios/basic-upload/ref/webpack4/~/index.js
delete mode 100644 packages/e2e-tests/scenarios/basic-upload/ref/webpack4/~/index.js.map
delete mode 100644 packages/e2e-tests/scenarios/basic-upload/ref/webpack5/~/index.js
delete mode 100644 packages/e2e-tests/scenarios/basic-upload/ref/webpack5/~/index.js.map
diff --git a/packages/e2e-tests/scenarios/basic-upload/__snapshots__/basic-upload.test.ts.snap b/packages/e2e-tests/scenarios/basic-upload/__snapshots__/basic-upload.test.ts.snap
new file mode 100644
index 000000000000..7175c942da07
--- /dev/null
+++ b/packages/e2e-tests/scenarios/basic-upload/__snapshots__/basic-upload.test.ts.snap
@@ -0,0 +1,101 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Simple Sourcemaps Upload (one string include + default options) uploads the correct files using esbuild 1`] = `
+Array [
+ Object {
+ "content": "\\"use strict\\";var i=typeof window<\\"u\\"?window:typeof global<\\"u\\"?global:typeof self<\\"u\\"?self:{};i.SENTRY_RELEASE={id:\\"basic-upload-esbuild\\"};var e=o=>{if(o===3)throw new Error(\\"I'm an uncaught error\\");return o<=1?o:e(o-1)+e(o-2)};console.log(\\"Hi, I'm a very simple app\\");e(10);console.log(\\"I'm done\\");
+//# sourceMappingURL=index.js.map
+",
+ "name": "~/index.js",
+ },
+ Object {
+ "content": "{\\"version\\":3,\\"sources\\":[\\"sentry-plugin:\\\\u0000sentry-release-injector\\",\\"../../input/fib.js\\",\\"../../input/index.js\\"],\\"sourcesContent\\":[\\"\\\\n var _global =\\\\n typeof window !== 'undefined' ?\\\\n window :\\\\n typeof global !== 'undefined' ?\\\\n global :\\\\n typeof self !== 'undefined' ?\\\\n self :\\\\n {};\\\\n\\\\n _global.SENTRY_RELEASE={id:\\\\\\"basic-upload-esbuild\\\\\\"};\\",\\"export const fibonacci = (n) => {\\\\n if (n === 3) {\\\\n throw new Error(\\\\\\"I'm an uncaught error\\\\\\");\\\\n }\\\\n if (n <= 1) {\\\\n return n;\\\\n }\\\\n return fibonacci(n - 1) + fibonacci(n - 2);\\\\n};\\\\nimport \\\\\\"\\\\u0000sentry-release-injector\\\\\\";\\",\\"import { fibonacci } from \\\\\\"./fib\\\\\\";\\\\nconsole.log(\\\\\\"Hi, I'm a very simple app\\\\\\");\\\\n\\\\nfibonacci(10);\\\\n\\\\nconsole.log(\\\\\\"I'm done\\\\\\");\\\\nimport \\\\\\"\\\\u0000sentry-release-injector\\\\\\";\\"],\\"names\\":[],\\"mappings\\":\\"aACI,GAAI,GACF,MAAO,QAAW,IAChB,OACA,MAAO,QAAW,IAChB,OACA,MAAO,MAAS,IACd,KACA,CAAC,EAET,EAAQ,eAAe,CAAC,GAAG,sBAAsB,ECV9C,GAAM,GAAY,AAAC,GAAM,CAC9B,GAAI,IAAM,EACR,KAAM,IAAI,OAAM,uBAAuB,EAEzC,MAAI,IAAK,EACA,EAEF,EAAU,EAAI,CAAC,EAAI,EAAU,EAAI,CAAC,CAC3C,ECPA,QAAQ,IAAI,2BAA2B,EAEvC,EAAU,EAAE,EAEZ,QAAQ,IAAI,UAAU\\"}",
+ "name": "~/index.js.map",
+ },
+]
+`;
+
+exports[`Simple Sourcemaps Upload (one string include + default options) uploads the correct files using rollup 1`] = `
+Array [
+ Object {
+ "content": "'use strict';
+
+var _global =
+ typeof window !== 'undefined' ?
+ window :
+ typeof global !== 'undefined' ?
+ global :
+ typeof self !== 'undefined' ?
+ self :
+ {};
+
+ _global.SENTRY_RELEASE={id:\\"basic-upload-rollup\\"};
+
+const fibonacci = (n) => {
+ if (n === 3) {
+ throw new Error(\\"I'm an uncaught error\\");
+ }
+ if (n <= 1) {
+ return n;
+ }
+ return fibonacci(n - 1) + fibonacci(n - 2);
+};
+
+console.log(\\"Hi, I'm a very simple app\\");
+
+fibonacci(10);
+
+console.log(\\"I'm done\\");
+//# sourceMappingURL=index.js.map
+",
+ "name": "~/index.js",
+ },
+ Object {
+ "content": "{\\"version\\":3,\\"file\\":\\"index.js\\",\\"sources\\":[\\"../../input/fib.js\\",\\"../../input/index.js\\"],\\"sourcesContent\\":[\\"export const fibonacci = (n) => {\\\\n if (n === 3) {\\\\n throw new Error(\\\\\\"I'm an uncaught error\\\\\\");\\\\n }\\\\n if (n <= 1) {\\\\n return n;\\\\n }\\\\n return fibonacci(n - 1) + fibonacci(n - 2);\\\\n};\\\\n\\",\\"import { fibonacci } from \\\\\\"./fib\\\\\\";\\\\nconsole.log(\\\\\\"Hi, I'm a very simple app\\\\\\");\\\\n\\\\nfibonacci(10);\\\\n\\\\nconsole.log(\\\\\\"I'm done\\\\\\");\\\\n\\"],\\"names\\":[],\\"mappings\\":\\";;;;;;;;;;;;;AAAA,MAAA,SAAA,GAAA,CAAA,CAAA,KAAA;AACA,EAAA,IAAA,CAAA,KAAA,CAAA,EAAA;AACA,IAAA,MAAA,IAAA,KAAA,CAAA,uBAAA,CAAA,CAAA;AACA,GAAA;AACA,EAAA,IAAA,CAAA,IAAA,CAAA,EAAA;AACA,IAAA,OAAA,CAAA,CAAA;AACA,GAAA;AACA,EAAA,OAAA,SAAA,CAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AACA,CAAA;;ACPA,OAAA,CAAA,GAAA,CAAA,2BAAA,CAAA,CAAA;AACA;AACA,SAAA,CAAA,EAAA,CAAA,CAAA;AACA;AACA,OAAA,CAAA,GAAA,CAAA,UAAA,CAAA\\"}",
+ "name": "~/index.js.map",
+ },
+]
+`;
+
+exports[`Simple Sourcemaps Upload (one string include + default options) uploads the correct files using vite 1`] = `
+Array [
+ Object {
+ "content": "\\"use strict\\";var i=typeof window<\\"u\\"?window:typeof global<\\"u\\"?global:typeof self<\\"u\\"?self:{};i.SENTRY_RELEASE={id:\\"basic-upload-vite\\"};const o=e=>{if(e===3)throw new Error(\\"I'm an uncaught error\\");return e<=1?e:o(e-1)+o(e-2)};console.log(\\"Hi, I'm a very simple app\\");o(10);console.log(\\"I'm done\\");
+//# sourceMappingURL=index.js.map
+",
+ "name": "~/index.js",
+ },
+ Object {
+ "content": "{\\"version\\":3,\\"file\\":\\"index.js\\",\\"sources\\":[\\"../../input/fib.js\\",\\"../../input/index.js\\"],\\"sourcesContent\\":[\\"export const fibonacci = (n) => {\\\\n if (n === 3) {\\\\n throw new Error(\\\\\\"I'm an uncaught error\\\\\\");\\\\n }\\\\n if (n <= 1) {\\\\n return n;\\\\n }\\\\n return fibonacci(n - 1) + fibonacci(n - 2);\\\\n};\\\\n\\",\\"import { fibonacci } from \\\\\\"./fib\\\\\\";\\\\nconsole.log(\\\\\\"Hi, I'm a very simple app\\\\\\");\\\\n\\\\nfibonacci(10);\\\\n\\\\nconsole.log(\\\\\\"I'm done\\\\\\");\\\\n\\"],\\"names\\":[\\"fibonacci\\",\\"n\\"],\\"mappings\\":\\"uIAAA,MAAAA,EAAAC,GAAA,CACA,GAAAA,IAAA,EACA,MAAA,IAAA,MAAA,uBAAA,EAEA,OAAAA,GAAA,EACAA,EAEAD,EAAAC,EAAA,CAAA,EAAAD,EAAAC,EAAA,CAAA,CACA,ECPA,QAAA,IAAA,2BAAA,EAEAD,EAAA,EAAA,EAEA,QAAA,IAAA,UAAA\\"}",
+ "name": "~/index.js.map",
+ },
+]
+`;
+
+exports[`Simple Sourcemaps Upload (one string include + default options) uploads the correct files using webpack4 1`] = `
+Array [
+ Object {
+ "content": "!function(e,n){for(var r in n)e[r]=n[r]}(exports,function(e){var n={};function r(t){if(n[t])return n[t].exports;var o=n[t]={i:t,l:!1,exports:{}};return e[t].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=n,r.d=function(e,n,t){r.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},r.r=function(e){\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},r.t=function(e,n){if(1&n&&(e=r(e)),8&n)return e;if(4&n&&\\"object\\"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(r.r(t),Object.defineProperty(t,\\"default\\",{enumerable:!0,value:e}),2&n&&\\"string\\"!=typeof e)for(var o in e)r.d(t,o,function(n){return e[n]}.bind(null,o));return t},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,\\"a\\",n),n},r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.p=\\"\\",r(r.s=1)}([function(e,n){(\\"undefined\\"!=typeof window?window:\\"undefined\\"!=typeof global?global:\\"undefined\\"!=typeof self?self:{}).SENTRY_RELEASE={id:\\"basic-upload-webpack4\\"}},function(e,n,r){\\"use strict\\";r.r(n);r(0);const t=e=>{if(3===e)throw new Error(\\"I'm an uncaught error\\");return e<=1?e:t(e-1)+t(e-2)};console.log(\\"Hi, I'm a very simple app\\"),t(10),console.log(\\"I'm done\\")}]));
+//# sourceMappingURL=index.js.map",
+ "name": "~/index.js",
+ },
+ Object {
+ "content": "{\\"version\\":3,\\"file\\":\\"index.js\\",\\"sources\\":[\\"webpack:///webpack/bootstrap\\",\\"webpack:///./_virtual_%00sentry-release-injector\\",\\"webpack:///./scenarios/basic-upload/input/fib.js\\",\\"webpack:///./scenarios/basic-upload/input/index.js\\"],\\"sourcesContent\\":[\\" \\\\t// The module cache\\\\n \\\\tvar installedModules = {};\\\\n\\\\n \\\\t// The require function\\\\n \\\\tfunction __webpack_require__(moduleId) {\\\\n\\\\n \\\\t\\\\t// Check if module is in cache\\\\n \\\\t\\\\tif(installedModules[moduleId]) {\\\\n \\\\t\\\\t\\\\treturn installedModules[moduleId].exports;\\\\n \\\\t\\\\t}\\\\n \\\\t\\\\t// Create a new module (and put it into the cache)\\\\n \\\\t\\\\tvar module = installedModules[moduleId] = {\\\\n \\\\t\\\\t\\\\ti: moduleId,\\\\n \\\\t\\\\t\\\\tl: false,\\\\n \\\\t\\\\t\\\\texports: {}\\\\n \\\\t\\\\t};\\\\n\\\\n \\\\t\\\\t// Execute the module function\\\\n \\\\t\\\\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\\\\n\\\\n \\\\t\\\\t// Flag the module as loaded\\\\n \\\\t\\\\tmodule.l = true;\\\\n\\\\n \\\\t\\\\t// Return the exports of the module\\\\n \\\\t\\\\treturn module.exports;\\\\n \\\\t}\\\\n\\\\n\\\\n \\\\t// expose the modules object (__webpack_modules__)\\\\n \\\\t__webpack_require__.m = modules;\\\\n\\\\n \\\\t// expose the module cache\\\\n \\\\t__webpack_require__.c = installedModules;\\\\n\\\\n \\\\t// define getter function for harmony exports\\\\n \\\\t__webpack_require__.d = function(exports, name, getter) {\\\\n \\\\t\\\\tif(!__webpack_require__.o(exports, name)) {\\\\n \\\\t\\\\t\\\\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\\\\n \\\\t\\\\t}\\\\n \\\\t};\\\\n\\\\n \\\\t// define __esModule on exports\\\\n \\\\t__webpack_require__.r = function(exports) {\\\\n \\\\t\\\\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\\\\n \\\\t\\\\t\\\\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\\\\n \\\\t\\\\t}\\\\n \\\\t\\\\tObject.defineProperty(exports, '__esModule', { value: true });\\\\n \\\\t};\\\\n\\\\n \\\\t// create a fake namespace object\\\\n \\\\t// mode & 1: value is a module id, require it\\\\n \\\\t// mode & 2: merge all properties of value into the ns\\\\n \\\\t// mode & 4: return value when already ns object\\\\n \\\\t// mode & 8|1: behave like require\\\\n \\\\t__webpack_require__.t = function(value, mode) {\\\\n \\\\t\\\\tif(mode & 1) value = __webpack_require__(value);\\\\n \\\\t\\\\tif(mode & 8) return value;\\\\n \\\\t\\\\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\\\\n \\\\t\\\\tvar ns = Object.create(null);\\\\n \\\\t\\\\t__webpack_require__.r(ns);\\\\n \\\\t\\\\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\\\\n \\\\t\\\\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\\\\n \\\\t\\\\treturn ns;\\\\n \\\\t};\\\\n\\\\n \\\\t// getDefaultExport function for compatibility with non-harmony modules\\\\n \\\\t__webpack_require__.n = function(module) {\\\\n \\\\t\\\\tvar getter = module && module.__esModule ?\\\\n \\\\t\\\\t\\\\tfunction getDefault() { return module['default']; } :\\\\n \\\\t\\\\t\\\\tfunction getModuleExports() { return module; };\\\\n \\\\t\\\\t__webpack_require__.d(getter, 'a', getter);\\\\n \\\\t\\\\treturn getter;\\\\n \\\\t};\\\\n\\\\n \\\\t// Object.prototype.hasOwnProperty.call\\\\n \\\\t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\\\\n\\\\n \\\\t// __webpack_public_path__\\\\n \\\\t__webpack_require__.p = \\\\\\"\\\\\\";\\\\n\\\\n\\\\n \\\\t// Load entry module and return exports\\\\n \\\\treturn __webpack_require__(__webpack_require__.s = 1);\\\\n\\",\\"\\\\n var _global =\\\\n typeof window !== 'undefined' ?\\\\n window :\\\\n typeof global !== 'undefined' ?\\\\n global :\\\\n typeof self !== 'undefined' ?\\\\n self :\\\\n {};\\\\n\\\\n _global.SENTRY_RELEASE={id:\\\\\\"basic-upload-webpack4\\\\\\"};\\",\\"export const fibonacci = (n) => {\\\\n if (n === 3) {\\\\n throw new Error(\\\\\\"I'm an uncaught error\\\\\\");\\\\n }\\\\n if (n <= 1) {\\\\n return n;\\\\n }\\\\n return fibonacci(n - 1) + fibonacci(n - 2);\\\\n};\\\\nimport \\\\\\"\\\\u0000sentry-release-injector\\\\\\";\\",\\"import { fibonacci } from \\\\\\"./fib\\\\\\";\\\\nconsole.log(\\\\\\"Hi, I'm a very simple app\\\\\\");\\\\n\\\\nfibonacci(10);\\\\n\\\\nconsole.log(\\\\\\"I'm done\\\\\\");\\\\nimport \\\\\\"\\\\u0000sentry-release-injector\\\\\\";\\"],\\"names\\":[\\"installedModules\\",\\"__webpack_require__\\",\\"moduleId\\",\\"exports\\",\\"module\\",\\"i\\",\\"l\\",\\"modules\\",\\"call\\",\\"m\\",\\"c\\",\\"d\\",\\"name\\",\\"getter\\",\\"o\\",\\"Object\\",\\"defineProperty\\",\\"enumerable\\",\\"get\\",\\"r\\",\\"Symbol\\",\\"toStringTag\\",\\"value\\",\\"t\\",\\"mode\\",\\"__esModule\\",\\"ns\\",\\"create\\",\\"key\\",\\"bind\\",\\"n\\",\\"object\\",\\"property\\",\\"prototype\\",\\"hasOwnProperty\\",\\"p\\",\\"s\\",\\"window\\",\\"global\\",\\"self\\",\\"SENTRY_RELEASE\\",\\"id\\",\\"fibonacci\\",\\"Error\\",\\"console\\",\\"log\\"],\\"mappings\\":\\"6DACE,IAAIA,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,IAUV,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,QA0Df,OArDAF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEZ,EAAoBkB,EAAI,SAAShB,GACX,oBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,KAQvDrB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG/B,EAAoBkC,EAAI,GAIjBlC,EAAoBA,EAAoBmC,EAAI,G,iBChF7B,oBAAXC,OACLA,OACkB,oBAAXC,OACLA,OACgB,oBAATC,KACLA,KACA,IAEAC,eAAe,CAACC,GAAG,0B,yCCVxB,MAAMC,EAAaZ,IACxB,GAAU,IAANA,EACF,MAAM,IAAIa,MAAM,yBAElB,OAAIb,GAAK,EACAA,EAEFY,EAAUZ,EAAI,GAAKY,EAAUZ,EAAI,ICN1Cc,QAAQC,IAAI,6BAEZH,EAAU,IAEVE,QAAQC,IAAI\\"}",
+ "name": "~/index.js.map",
+ },
+]
+`;
+
+exports[`Simple Sourcemaps Upload (one string include + default options) uploads the correct files using webpack5 1`] = `
+Array [
+ Object {
+ "content": "(()=>{var e={434:(e,o,r)=>{(\\"undefined\\"!=typeof window?window:void 0!==r.g?r.g:\\"undefined\\"!=typeof self?self:{}).SENTRY_RELEASE={id:\\"basic-upload-webpack5\\"}}},o={};function r(t){var n=o[t];if(void 0!==n)return n.exports;var i=o[t]={exports:{}};return e[t](i,i.exports,r),i.exports}r.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),r.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})};var t={};(()=>{\\"use strict\\";r.r(t),r(434);const e=o=>{if(3===o)throw new Error(\\"I'm an uncaught error\\");return o<=1?o:e(o-1)+e(o-2)};console.log(\\"Hi, I'm a very simple app\\"),e(10),console.log(\\"I'm done\\")})();var n=exports;for(var i in t)n[i]=t[i];t.__esModule&&Object.defineProperty(n,\\"__esModule\\",{value:!0})})();
+//# sourceMappingURL=index.js.map",
+ "name": "~/index.js",
+ },
+ Object {
+ "content": "{\\"version\\":3,\\"file\\":\\"index.js\\",\\"sources\\":[\\"webpack://@sentry-internal/bundler-plugin-e2e-tests/./_virtual_%00sentry-release-injector\\",\\"webpack://@sentry-internal/bundler-plugin-e2e-tests/webpack/bootstrap\\",\\"webpack://@sentry-internal/bundler-plugin-e2e-tests/webpack/runtime/global\\",\\"webpack://@sentry-internal/bundler-plugin-e2e-tests/webpack/runtime/make namespace object\\",\\"webpack://@sentry-internal/bundler-plugin-e2e-tests/./scenarios/basic-upload/input/fib.js\\",\\"webpack://@sentry-internal/bundler-plugin-e2e-tests/./scenarios/basic-upload/input/index.js\\"],\\"sourcesContent\\":[\\"\\\\n var _global =\\\\n typeof window !== 'undefined' ?\\\\n window :\\\\n typeof global !== 'undefined' ?\\\\n global :\\\\n typeof self !== 'undefined' ?\\\\n self :\\\\n {};\\\\n\\\\n _global.SENTRY_RELEASE={id:\\\\\\"basic-upload-webpack5\\\\\\"};\\",\\"// The module cache\\\\nvar __webpack_module_cache__ = {};\\\\n\\\\n// The require function\\\\nfunction __webpack_require__(moduleId) {\\\\n\\\\t// Check if module is in cache\\\\n\\\\tvar cachedModule = __webpack_module_cache__[moduleId];\\\\n\\\\tif (cachedModule !== undefined) {\\\\n\\\\t\\\\treturn cachedModule.exports;\\\\n\\\\t}\\\\n\\\\t// Create a new module (and put it into the cache)\\\\n\\\\tvar module = __webpack_module_cache__[moduleId] = {\\\\n\\\\t\\\\t// no module.id needed\\\\n\\\\t\\\\t// no module.loaded needed\\\\n\\\\t\\\\texports: {}\\\\n\\\\t};\\\\n\\\\n\\\\t// Execute the module function\\\\n\\\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\\\n\\\\n\\\\t// Return the exports of the module\\\\n\\\\treturn module.exports;\\\\n}\\\\n\\\\n\\",\\"__webpack_require__.g = (function() {\\\\n\\\\tif (typeof globalThis === 'object') return globalThis;\\\\n\\\\ttry {\\\\n\\\\t\\\\treturn this || new Function('return this')();\\\\n\\\\t} catch (e) {\\\\n\\\\t\\\\tif (typeof window === 'object') return window;\\\\n\\\\t}\\\\n})();\\",\\"// define __esModule on exports\\\\n__webpack_require__.r = (exports) => {\\\\n\\\\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\\\\n\\\\t\\\\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\\\\n\\\\t}\\\\n\\\\tObject.defineProperty(exports, '__esModule', { value: true });\\\\n};\\",\\"export const fibonacci = (n) => {\\\\n if (n === 3) {\\\\n throw new Error(\\\\\\"I'm an uncaught error\\\\\\");\\\\n }\\\\n if (n <= 1) {\\\\n return n;\\\\n }\\\\n return fibonacci(n - 1) + fibonacci(n - 2);\\\\n};\\\\nimport \\\\\\"\\\\u0000sentry-release-injector\\\\\\";\\",\\"import { fibonacci } from \\\\\\"./fib\\\\\\";\\\\nconsole.log(\\\\\\"Hi, I'm a very simple app\\\\\\");\\\\n\\\\nfibonacci(10);\\\\n\\\\nconsole.log(\\\\\\"I'm done\\\\\\");\\\\nimport \\\\\\"\\\\u0000sentry-release-injector\\\\\\";\\"],\\"names\\":[\\"window\\",\\"g\\",\\"self\\",\\"SENTRY_RELEASE\\",\\"id\\",\\"__webpack_module_cache__\\",\\"__webpack_require__\\",\\"moduleId\\",\\"cachedModule\\",\\"undefined\\",\\"exports\\",\\"module\\",\\"__webpack_modules__\\",\\"globalThis\\",\\"this\\",\\"Function\\",\\"e\\",\\"r\\",\\"Symbol\\",\\"toStringTag\\",\\"Object\\",\\"defineProperty\\",\\"value\\",\\"fibonacci\\",\\"n\\",\\"Error\\",\\"console\\",\\"log\\"],\\"mappings\\":\\"4BAEwB,oBAAXA,OACLA,YACkB,IAAX,EAAAC,EACL,EAAAA,EACgB,oBAATC,KACLA,KACA,CAAC,GAEDC,eAAe,CAACC,GAAG,wB,GCT3BC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaE,QAGrB,IAAIC,EAASN,EAAyBE,GAAY,CAGjDG,QAAS,CAAC,GAOX,OAHAE,EAAoBL,GAAUI,EAAQA,EAAOD,QAASJ,GAG/CK,EAAOD,OACf,CCtBAJ,EAAoBL,EAAI,WACvB,GAA0B,iBAAfY,WAAyB,OAAOA,WAC3C,IACC,OAAOC,MAAQ,IAAIC,SAAS,cAAb,EAGhB,CAFE,MAAOC,GACR,GAAsB,iBAAXhB,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCCxBM,EAAoBW,EAAKP,IACH,oBAAXQ,QAA0BA,OAAOC,aAC1CC,OAAOC,eAAeX,EAASQ,OAAOC,YAAa,CAAEG,MAAO,WAE7DF,OAAOC,eAAeX,EAAS,aAAc,CAAEY,OAAO,GAAO,E,0CCLvD,MAAMC,EAAaC,IACxB,GAAU,IAANA,EACF,MAAM,IAAIC,MAAM,yBAElB,OAAID,GAAK,EACAA,EAEFD,EAAUC,EAAI,GAAKD,EAAUC,EAAI,EAAE,ECN5CE,QAAQC,IAAI,6BAEZJ,EAAU,IAEVG,QAAQC,IAAI,W\\"}",
+ "name": "~/index.js.map",
+ },
+]
+`;
diff --git a/packages/e2e-tests/scenarios/basic-upload/basic-upload.test.ts b/packages/e2e-tests/scenarios/basic-upload/basic-upload.test.ts
index ab7918c6ff88..3283fda0aa5b 100644
--- a/packages/e2e-tests/scenarios/basic-upload/basic-upload.test.ts
+++ b/packages/e2e-tests/scenarios/basic-upload/basic-upload.test.ts
@@ -1,14 +1,13 @@
import { pluginConfig } from "./config";
import { BUNDLERS } from "../../utils/bundlers";
-import { getReferenceFiles, getSentryReleaseFiles } from "../../utils/releases";
+import { getSentryReleaseFiles } from "../../utils/releases";
describe("Simple Sourcemaps Upload (one string include + default options)", () => {
it.each(BUNDLERS)("uploads the correct files using %s", async (bundler) => {
const release = `${pluginConfig.release || ""}-${bundler}`;
const sentryFiles = await getSentryReleaseFiles(release);
- const refFiles = getReferenceFiles(bundler, __dirname);
- expect(sentryFiles).toMatchObject(refFiles);
+ expect(sentryFiles).toMatchSnapshot();
});
});
diff --git a/packages/e2e-tests/scenarios/basic-upload/ref/esbuild/~/index.js b/packages/e2e-tests/scenarios/basic-upload/ref/esbuild/~/index.js
deleted file mode 100644
index 7485db947d25..000000000000
--- a/packages/e2e-tests/scenarios/basic-upload/ref/esbuild/~/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";var i=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};i.SENTRY_RELEASE={id:"basic-upload-esbuild"};var e=o=>{if(o===3)throw new Error("I'm an uncaught error");return o<=1?o:e(o-1)+e(o-2)};console.log("Hi, I'm a very simple app");e(10);console.log("I'm done");
-//# sourceMappingURL=index.js.map
diff --git a/packages/e2e-tests/scenarios/basic-upload/ref/esbuild/~/index.js.map b/packages/e2e-tests/scenarios/basic-upload/ref/esbuild/~/index.js.map
deleted file mode 100644
index 3e8047c2ba23..000000000000
--- a/packages/e2e-tests/scenarios/basic-upload/ref/esbuild/~/index.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["sentry-plugin:\u0000sentry-release-injector","../../input/fib.js","../../input/index.js"],"sourcesContent":["\n var _global =\n typeof window !== 'undefined' ?\n window :\n typeof global !== 'undefined' ?\n global :\n typeof self !== 'undefined' ?\n self :\n {};\n\n _global.SENTRY_RELEASE={id:\"basic-upload-esbuild\"};","export const fibonacci = (n) => {\n if (n === 3) {\n throw new Error(\"I'm an uncaught error\");\n }\n if (n <= 1) {\n return n;\n }\n return fibonacci(n - 1) + fibonacci(n - 2);\n};\nimport \"\u0000sentry-release-injector\";","import { fibonacci } from \"./fib\";\nconsole.log(\"Hi, I'm a very simple app\");\n\nfibonacci(10);\n\nconsole.log(\"I'm done\");\nimport \"\u0000sentry-release-injector\";"],"names":[],"mappings":"aACI,GAAI,GACF,MAAO,QAAW,IAChB,OACA,MAAO,QAAW,IAChB,OACA,MAAO,MAAS,IACd,KACA,CAAC,EAET,EAAQ,eAAe,CAAC,GAAG,sBAAsB,ECV9C,GAAM,GAAY,AAAC,GAAM,CAC9B,GAAI,IAAM,EACR,KAAM,IAAI,OAAM,uBAAuB,EAEzC,MAAI,IAAK,EACA,EAEF,EAAU,EAAI,CAAC,EAAI,EAAU,EAAI,CAAC,CAC3C,ECPA,QAAQ,IAAI,2BAA2B,EAEvC,EAAU,EAAE,EAEZ,QAAQ,IAAI,UAAU"}
\ No newline at end of file
diff --git a/packages/e2e-tests/scenarios/basic-upload/ref/rollup/~/index.js b/packages/e2e-tests/scenarios/basic-upload/ref/rollup/~/index.js
deleted file mode 100644
index b77c543a0de8..000000000000
--- a/packages/e2e-tests/scenarios/basic-upload/ref/rollup/~/index.js
+++ /dev/null
@@ -1,29 +0,0 @@
-'use strict';
-
-var _global =
- typeof window !== 'undefined' ?
- window :
- typeof global !== 'undefined' ?
- global :
- typeof self !== 'undefined' ?
- self :
- {};
-
- _global.SENTRY_RELEASE={id:"basic-upload-rollup"};
-
-const fibonacci = (n) => {
- if (n === 3) {
- throw new Error("I'm an uncaught error");
- }
- if (n <= 1) {
- return n;
- }
- return fibonacci(n - 1) + fibonacci(n - 2);
-};
-
-console.log("Hi, I'm a very simple app");
-
-fibonacci(10);
-
-console.log("I'm done");
-//# sourceMappingURL=index.js.map
diff --git a/packages/e2e-tests/scenarios/basic-upload/ref/rollup/~/index.js.map b/packages/e2e-tests/scenarios/basic-upload/ref/rollup/~/index.js.map
deleted file mode 100644
index 60b20001040e..000000000000
--- a/packages/e2e-tests/scenarios/basic-upload/ref/rollup/~/index.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"index.js","sources":["../../input/fib.js","../../input/index.js"],"sourcesContent":["export const fibonacci = (n) => {\n if (n === 3) {\n throw new Error(\"I'm an uncaught error\");\n }\n if (n <= 1) {\n return n;\n }\n return fibonacci(n - 1) + fibonacci(n - 2);\n};\n","import { fibonacci } from \"./fib\";\nconsole.log(\"Hi, I'm a very simple app\");\n\nfibonacci(10);\n\nconsole.log(\"I'm done\");\n"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,MAAA,SAAA,GAAA,CAAA,CAAA,KAAA;AACA,EAAA,IAAA,CAAA,KAAA,CAAA,EAAA;AACA,IAAA,MAAA,IAAA,KAAA,CAAA,uBAAA,CAAA,CAAA;AACA,GAAA;AACA,EAAA,IAAA,CAAA,IAAA,CAAA,EAAA;AACA,IAAA,OAAA,CAAA,CAAA;AACA,GAAA;AACA,EAAA,OAAA,SAAA,CAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AACA,CAAA;;ACPA,OAAA,CAAA,GAAA,CAAA,2BAAA,CAAA,CAAA;AACA;AACA,SAAA,CAAA,EAAA,CAAA,CAAA;AACA;AACA,OAAA,CAAA,GAAA,CAAA,UAAA,CAAA"}
\ No newline at end of file
diff --git a/packages/e2e-tests/scenarios/basic-upload/ref/vite/~/index.js b/packages/e2e-tests/scenarios/basic-upload/ref/vite/~/index.js
deleted file mode 100644
index 4438a4b33d4a..000000000000
--- a/packages/e2e-tests/scenarios/basic-upload/ref/vite/~/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";var i=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};i.SENTRY_RELEASE={id:"basic-upload-vite"};const o=e=>{if(e===3)throw new Error("I'm an uncaught error");return e<=1?e:o(e-1)+o(e-2)};console.log("Hi, I'm a very simple app");o(10);console.log("I'm done");
-//# sourceMappingURL=index.js.map
diff --git a/packages/e2e-tests/scenarios/basic-upload/ref/vite/~/index.js.map b/packages/e2e-tests/scenarios/basic-upload/ref/vite/~/index.js.map
deleted file mode 100644
index f579e392b316..000000000000
--- a/packages/e2e-tests/scenarios/basic-upload/ref/vite/~/index.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"index.js","sources":["../../input/fib.js","../../input/index.js"],"sourcesContent":["export const fibonacci = (n) => {\n if (n === 3) {\n throw new Error(\"I'm an uncaught error\");\n }\n if (n <= 1) {\n return n;\n }\n return fibonacci(n - 1) + fibonacci(n - 2);\n};\n","import { fibonacci } from \"./fib\";\nconsole.log(\"Hi, I'm a very simple app\");\n\nfibonacci(10);\n\nconsole.log(\"I'm done\");\n"],"names":["fibonacci","n"],"mappings":"uIAAA,MAAAA,EAAAC,GAAA,CACA,GAAAA,IAAA,EACA,MAAA,IAAA,MAAA,uBAAA,EAEA,OAAAA,GAAA,EACAA,EAEAD,EAAAC,EAAA,CAAA,EAAAD,EAAAC,EAAA,CAAA,CACA,ECPA,QAAA,IAAA,2BAAA,EAEAD,EAAA,EAAA,EAEA,QAAA,IAAA,UAAA"}
\ No newline at end of file
diff --git a/packages/e2e-tests/scenarios/basic-upload/ref/webpack4/~/index.js b/packages/e2e-tests/scenarios/basic-upload/ref/webpack4/~/index.js
deleted file mode 100644
index 9066db4c3cbb..000000000000
--- a/packages/e2e-tests/scenarios/basic-upload/ref/webpack4/~/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-!function(e,n){for(var r in n)e[r]=n[r]}(exports,function(e){var n={};function r(t){if(n[t])return n[t].exports;var o=n[t]={i:t,l:!1,exports:{}};return e[t].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=n,r.d=function(e,n,t){r.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,n){if(1&n&&(e=r(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(r.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var o in e)r.d(t,o,function(n){return e[n]}.bind(null,o));return t},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,"a",n),n},r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.p="",r(r.s=1)}([function(e,n){("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{}).SENTRY_RELEASE={id:"basic-upload-webpack4"}},function(e,n,r){"use strict";r.r(n);r(0);const t=e=>{if(3===e)throw new Error("I'm an uncaught error");return e<=1?e:t(e-1)+t(e-2)};console.log("Hi, I'm a very simple app"),t(10),console.log("I'm done")}]));
-//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/packages/e2e-tests/scenarios/basic-upload/ref/webpack4/~/index.js.map b/packages/e2e-tests/scenarios/basic-upload/ref/webpack4/~/index.js.map
deleted file mode 100644
index cf01f9e9a227..000000000000
--- a/packages/e2e-tests/scenarios/basic-upload/ref/webpack4/~/index.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"index.js","sources":["webpack:///webpack/bootstrap","webpack:///./_virtual_%00sentry-release-injector","webpack:///./scenarios/basic-upload/input/fib.js","webpack:///./scenarios/basic-upload/input/index.js"],"sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n","\n var _global =\n typeof window !== 'undefined' ?\n window :\n typeof global !== 'undefined' ?\n global :\n typeof self !== 'undefined' ?\n self :\n {};\n\n _global.SENTRY_RELEASE={id:\"basic-upload-webpack4\"};","export const fibonacci = (n) => {\n if (n === 3) {\n throw new Error(\"I'm an uncaught error\");\n }\n if (n <= 1) {\n return n;\n }\n return fibonacci(n - 1) + fibonacci(n - 2);\n};\nimport \"\u0000sentry-release-injector\";","import { fibonacci } from \"./fib\";\nconsole.log(\"Hi, I'm a very simple app\");\n\nfibonacci(10);\n\nconsole.log(\"I'm done\");\nimport \"\u0000sentry-release-injector\";"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","window","global","self","SENTRY_RELEASE","id","fibonacci","Error","console","log"],"mappings":"6DACE,IAAIA,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,IAUV,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,QA0Df,OArDAF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEZ,EAAoBkB,EAAI,SAAShB,GACX,oBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,KAQvDrB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG/B,EAAoBkC,EAAI,GAIjBlC,EAAoBA,EAAoBmC,EAAI,G,iBChF7B,oBAAXC,OACLA,OACkB,oBAAXC,OACLA,OACgB,oBAATC,KACLA,KACA,IAEAC,eAAe,CAACC,GAAG,0B,yCCVxB,MAAMC,EAAaZ,IACxB,GAAU,IAANA,EACF,MAAM,IAAIa,MAAM,yBAElB,OAAIb,GAAK,EACAA,EAEFY,EAAUZ,EAAI,GAAKY,EAAUZ,EAAI,ICN1Cc,QAAQC,IAAI,6BAEZH,EAAU,IAEVE,QAAQC,IAAI"}
\ No newline at end of file
diff --git a/packages/e2e-tests/scenarios/basic-upload/ref/webpack5/~/index.js b/packages/e2e-tests/scenarios/basic-upload/ref/webpack5/~/index.js
deleted file mode 100644
index 05d1a48b700e..000000000000
--- a/packages/e2e-tests/scenarios/basic-upload/ref/webpack5/~/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(()=>{var e={434:(e,o,r)=>{("undefined"!=typeof window?window:void 0!==r.g?r.g:"undefined"!=typeof self?self:{}).SENTRY_RELEASE={id:"basic-upload-webpack5"}}},o={};function r(t){var n=o[t];if(void 0!==n)return n.exports;var i=o[t]={exports:{}};return e[t](i,i.exports,r),i.exports}r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var t={};(()=>{"use strict";r.r(t),r(434);const e=o=>{if(3===o)throw new Error("I'm an uncaught error");return o<=1?o:e(o-1)+e(o-2)};console.log("Hi, I'm a very simple app"),e(10),console.log("I'm done")})();var n=exports;for(var i in t)n[i]=t[i];t.__esModule&&Object.defineProperty(n,"__esModule",{value:!0})})();
-//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/packages/e2e-tests/scenarios/basic-upload/ref/webpack5/~/index.js.map b/packages/e2e-tests/scenarios/basic-upload/ref/webpack5/~/index.js.map
deleted file mode 100644
index 001628f390dd..000000000000
--- a/packages/e2e-tests/scenarios/basic-upload/ref/webpack5/~/index.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"index.js","sources":["webpack://@sentry-internal/bundler-plugin-e2e-tests/./_virtual_%00sentry-release-injector","webpack://@sentry-internal/bundler-plugin-e2e-tests/webpack/bootstrap","webpack://@sentry-internal/bundler-plugin-e2e-tests/webpack/runtime/global","webpack://@sentry-internal/bundler-plugin-e2e-tests/webpack/runtime/make namespace object","webpack://@sentry-internal/bundler-plugin-e2e-tests/./scenarios/basic-upload/input/fib.js","webpack://@sentry-internal/bundler-plugin-e2e-tests/./scenarios/basic-upload/input/index.js"],"sourcesContent":["\n var _global =\n typeof window !== 'undefined' ?\n window :\n typeof global !== 'undefined' ?\n global :\n typeof self !== 'undefined' ?\n self :\n {};\n\n _global.SENTRY_RELEASE={id:\"basic-upload-webpack5\"};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export const fibonacci = (n) => {\n if (n === 3) {\n throw new Error(\"I'm an uncaught error\");\n }\n if (n <= 1) {\n return n;\n }\n return fibonacci(n - 1) + fibonacci(n - 2);\n};\nimport \"\u0000sentry-release-injector\";","import { fibonacci } from \"./fib\";\nconsole.log(\"Hi, I'm a very simple app\");\n\nfibonacci(10);\n\nconsole.log(\"I'm done\");\nimport \"\u0000sentry-release-injector\";"],"names":["window","g","self","SENTRY_RELEASE","id","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","globalThis","this","Function","e","r","Symbol","toStringTag","Object","defineProperty","value","fibonacci","n","Error","console","log"],"mappings":"4BAEwB,oBAAXA,OACLA,YACkB,IAAX,EAAAC,EACL,EAAAA,EACgB,oBAATC,KACLA,KACA,CAAC,GAEDC,eAAe,CAACC,GAAG,wB,GCT3BC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaE,QAGrB,IAAIC,EAASN,EAAyBE,GAAY,CAGjDG,QAAS,CAAC,GAOX,OAHAE,EAAoBL,GAAUI,EAAQA,EAAOD,QAASJ,GAG/CK,EAAOD,OACf,CCtBAJ,EAAoBL,EAAI,WACvB,GAA0B,iBAAfY,WAAyB,OAAOA,WAC3C,IACC,OAAOC,MAAQ,IAAIC,SAAS,cAAb,EAGhB,CAFE,MAAOC,GACR,GAAsB,iBAAXhB,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCCxBM,EAAoBW,EAAKP,IACH,oBAAXQ,QAA0BA,OAAOC,aAC1CC,OAAOC,eAAeX,EAASQ,OAAOC,YAAa,CAAEG,MAAO,WAE7DF,OAAOC,eAAeX,EAAS,aAAc,CAAEY,OAAO,GAAO,E,0CCLvD,MAAMC,EAAaC,IACxB,GAAU,IAANA,EACF,MAAM,IAAIC,MAAM,yBAElB,OAAID,GAAK,EACAA,EAEFD,EAAUC,EAAI,GAAKD,EAAUC,EAAI,EAAE,ECN5CE,QAAQC,IAAI,6BAEZJ,EAAU,IAEVG,QAAQC,IAAI,W"}
\ No newline at end of file
diff --git a/packages/e2e-tests/utils/releases.ts b/packages/e2e-tests/utils/releases.ts
index d3c673939270..9f8740a49c0a 100644
--- a/packages/e2e-tests/utils/releases.ts
+++ b/packages/e2e-tests/utils/releases.ts
@@ -6,10 +6,6 @@ import {
getReleaseFilesFromSentry,
} from "./sentry-api";
-import fs from "fs";
-import path from "path";
-import glob from "glob";
-
type ReleaseFilesData = {
id: string;
name: string;
@@ -51,20 +47,6 @@ export async function getSentryReleaseFiles(release: string): Promise {
- return {
- name: path.relative(refFilePath, file),
- content: fs.readFileSync(file).toString(),
- };
- });
-}
-
async function getReleaseFiles(release: string): Promise {
const response = await getReleaseFilesFromSentry(release);
return response.data as ReleaseFilesData[];
From c576affd2cad0a099027f5fd177255f7fc2def30 Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Thu, 17 Nov 2022 11:09:36 +0100
Subject: [PATCH 103/640] feat: Replace `entries` option with
`releaseInjectionTargets` (#123)
---
MIGRATION.md | 9 ++
packages/bundler-plugin-core/src/index.ts | 94 ++++++-------------
.../src/options-mapping.ts | 19 ++--
packages/bundler-plugin-core/src/types.ts | 17 ++--
.../__snapshots__/basic-upload.test.ts.snap | 8 +-
packages/esbuild-plugin/README.md | 66 ++++++-------
.../array-entries-option.test.ts | 2 +-
.../fixtures/array-entries-option/setup.ts | 2 +-
.../function-entries-option.test.ts | 2 +-
.../fixtures/function-entries-option/setup.ts | 2 +-
.../fixtures/regex-entries-option/setup.ts | 2 +-
.../string-entries-option.test.ts | 2 +-
.../fixtures/string-entries-option/setup.ts | 2 +-
.../string-entries-option.test.ts | 2 +-
packages/rollup-plugin/README.md | 66 ++++++-------
packages/vite-plugin/README.md | 66 ++++++-------
packages/webpack-plugin/README.md | 66 ++++++-------
17 files changed, 204 insertions(+), 223 deletions(-)
diff --git a/MIGRATION.md b/MIGRATION.md
index 04bba739c033..83e7d0ee7ae3 100644
--- a/MIGRATION.md
+++ b/MIGRATION.md
@@ -23,6 +23,15 @@ sentryWebpackPlugin({
});
```
+### Replacing `entries` option with `releaseInjectionTargets`
+
+Previously, the `entries` option was used to filter for _entrypoints_ that the plugin should inject the release into.
+Releases were only injected into entrypoint files of a bundle.
+In version 2, releases are injected into every module that is part of a bundle.
+Don't worry, your bundler will only include the injected release code once.
+Instead of using the `entries` option to filter for _entrypoints_, the `releaseInjectionTargets` option can now be used to filter for _modules_ that the plugin should inject the release into.
+Matching behaviour stays the same.
+
### Injecting `SENTRY_RELEASES` Map
Previously, the webpack plugin always injected a `SENTRY_RELEASES` variable into the global object which would map from `project@org` to the `release` value. In version 2, we made this behaviour opt-in by setting the `injectReleasesMap` option in the plugin options to `true`.
diff --git a/packages/bundler-plugin-core/src/index.ts b/packages/bundler-plugin-core/src/index.ts
index 84da564c3564..bdc8bf6dd10b 100644
--- a/packages/bundler-plugin-core/src/index.ts
+++ b/packages/bundler-plugin-core/src/index.ts
@@ -28,6 +28,8 @@ import { Hub } from "@sentry/node";
// This probably doesn't work for all bundlers but for rollup it does.
const RELEASE_INJECTOR_ID = "\0sentry-release-injector";
+const ALLOWED_TRANSFORMATION_FILE_ENDINGS = [".js", ".ts", ".jsx", ".tsx", ".cjs", ".mjs"];
+
/**
* The sentry bundler plugin concerns itself with two things:
* - Release injection
@@ -35,45 +37,11 @@ const RELEASE_INJECTOR_ID = "\0sentry-release-injector";
*
* Release injection:
*
- * Per default the sentry bundler plugin will inject a global `SENTRY_RELEASE` variable into the entrypoint of all bundles.
- * On a technical level this is done by appending an import (`import "sentry-release-injector;"`) to all entrypoint files
- * of the user code (see `transformInclude` and `transform` hooks). This import is then resolved by the sentry plugin
- * to a virtual module that sets the global variable (see `resolveId` and `load` hooks).
- *
- * The resulting output approximately looks like this:
- *
- * ```text
- * entrypoint1.js (user file)
- * ┌─────────────────────────┐ ┌─────────────────────────────────────────────────┐
- * │ │ │ import { myFunction } from "./my-library.js"; │
- * │ sentry-bundler-plugin │ │ │
- * │ │ │ const myResult = myFunction(); │
- * └---------│--------------- │ export { myResult }; │
- * │ │ │
- * │ injects │ // injected by sentry plugin │
- * ├───────────────────► import "sentry-release-injector"; ─────────────────────┐
- * │ └─────────────────────────────────────────────────┘ │
- * │ │
- * │ │
- * │ entrypoint2.js (user file) │
- * │ ┌─────────────────────────────────────────────────┐ │
- * │ │ export function myFunction() { │ │
- * │ │ return "Hello world!"; │ │
- * │ │ } │ │
- * │ │ │ │
- * │ injects │ // injected by sentry plugin │ │
- * └───────────────────► import "sentry-release-injector"; ─────────────────────┤
- * └─────────────────────────────────────────────────┘ │
- * │
- * │
- * sentry-release-injector │
- * ┌──────────────────────────────────┐ │
- * │ │ is resolved │
- * │ global.SENTRY_RELEASE = { ... } │ by plugin │
- * │ // + a little more logic │<─────────────────────┘
- * │ │ (only once)
- * └──────────────────────────────────┘
- * ```
+ * Per default the sentry bundler plugin will inject a global `SENTRY_RELEASE` into each JavaScript/TypeScript module
+ * that is part of the bundle. On a technical level this is done by appending an import (`import "sentry-release-injector;"`)
+ * to all entrypoint files of the user code (see `transformInclude` and `transform` hooks). This import is then resolved
+ * by the sentry plugin to a virtual module that sets the global variable (see `resolveId` and `load` hooks).
+ * If a user wants to inject the release into a particular set of modules they can use the `releaseInjectionTargets` option.
*
* Source maps upload:
*
@@ -128,12 +96,6 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
sentryHub.setUser({ id: internalOptions.org });
- // This is `nonEntrypointSet` instead of `entrypointSet` because this set is filled in the `resolveId` hook and there
- // we don't have guaranteed access to *absolute* paths of files if they're entrypoints. For non-entrypoints we're
- // guaranteed to have absolute paths - we're then using the paths in later hooks to make decisions about whether a
- // file is an entrypoint or a non-entrypoint.
- const nonEntrypointSet = new Set();
-
let transaction: Transaction | undefined;
let releaseInjectionSpan: Span | undefined;
@@ -192,10 +154,6 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
level: "info",
});
- if (!isEntry) {
- nonEntrypointSet.add(id);
- }
-
if (id === RELEASE_INJECTOR_ID) {
return RELEASE_INJECTOR_ID;
} else {
@@ -235,7 +193,7 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
/**
* This hook determines whether we want to transform a module. In the sentry bundler plugin we want to transform every entrypoint
- * unless configured otherwise with the `entries` option.
+ * unless configured otherwise with the `releaseInjectionTargets` option.
*
* @param id Always the absolute (fully resolved) path to the module.
* @returns `true` or `false` depending on whether we want to transform the module. For the sentry bundler plugin we only
@@ -247,28 +205,38 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
level: "info",
});
- if (internalOptions.entries) {
- // If there's an `entries` option transform (ie. inject the release varible) when the file path matches the option.
- if (typeof internalOptions.entries === "function") {
- return internalOptions.entries(id);
+ // We don't want to transform our injected code.
+ if (id === RELEASE_INJECTOR_ID) {
+ return false;
+ }
+
+ if (internalOptions.releaseInjectionTargets) {
+ // If there's an `releaseInjectionTargets` option transform (ie. inject the release varible) when the file path matches the option.
+ if (typeof internalOptions.releaseInjectionTargets === "function") {
+ return internalOptions.releaseInjectionTargets(id);
}
- return internalOptions.entries.some((entry) => {
+ return internalOptions.releaseInjectionTargets.some((entry) => {
if (entry instanceof RegExp) {
return entry.test(id);
} else {
return id === entry;
}
});
- }
+ } else {
+ const pathIsOrdinary = !id.includes("?") && !id.includes("#");
- // We want to transform (release injection) every module except for "sentry-release-injector".
- return id !== RELEASE_INJECTOR_ID && !nonEntrypointSet.has(id);
+ const pathHasAllowedFileEnding = ALLOWED_TRANSFORMATION_FILE_ENDINGS.some(
+ (allowedFileEnding) => id.endsWith(allowedFileEnding)
+ );
+
+ return pathIsOrdinary && pathHasAllowedFileEnding;
+ }
},
/**
* This hook is responsible for injecting the "sentry release injector" imoprt statement into each entrypoint unless
- * configured otherwise with the `entries` option (logic for that is in the `transformInclude` hook).
+ * configured otherwise with the `releaseInjectionTargets` option (logic for that is in the `transformInclude` hook).
*
* @param code Code of the file to transform.
* @param id Always the absolute (fully resolved) path to the module.
@@ -281,11 +249,11 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
});
// The MagicString library allows us to generate sourcemaps for the changes we make to the user code.
- const ms: MagicString = new MagicString(code); // Very stupid author's note: For some absurd reason, when we add a JSDoc to this hook, the TS language server starts complaining about `ms` and adding a type annotation helped so that's why it's here. (┛ಠ_ಠ)┛彡┻━┻
+ const ms = new MagicString(code);
- // appending instead of prepending has less probability of mucking with user'sadly
- // source maps and import statements get to the top anyways
- ms.append(`import "${RELEASE_INJECTOR_ID}";`);
+ // Appending instead of prepending has less probability of mucking with user's source maps.
+ // Luckily import statements get hoisted to the top anyways.
+ ms.append(`;\nimport "${RELEASE_INJECTOR_ID}";`);
if (unpluginMetaContext.framework === "esbuild") {
// esbuild + unplugin is buggy at the moment when we return an object with a `map` (sourcemap) property.
diff --git a/packages/bundler-plugin-core/src/options-mapping.ts b/packages/bundler-plugin-core/src/options-mapping.ts
index d1abab76520b..a2b1f2992b60 100644
--- a/packages/bundler-plugin-core/src/options-mapping.ts
+++ b/packages/bundler-plugin-core/src/options-mapping.ts
@@ -34,7 +34,7 @@ type OptionalInternalOptions = Partial<
>;
type NormalizedInternalOptions = {
- entries: (string | RegExp)[] | ((filePath: string) => boolean) | undefined;
+ releaseInjectionTargets: (string | RegExp)[] | ((filePath: string) => boolean) | undefined;
include: InternalIncludeEntry[];
};
@@ -108,7 +108,7 @@ export function normalizeUserOptions(userOptions: UserOptions): InternalOptions
// Optional options
setCommits: userOptions.setCommits,
deploy: userOptions.deploy,
- entries: normalizeEntries(userOptions.entries),
+ releaseInjectionTargets: normalizeReleaseInjectionTargets(userOptions.releaseInjectionTargets),
dist: userOptions.dist,
errorHandler: userOptions.errorHandler,
configFile: userOptions.configFile,
@@ -124,17 +124,18 @@ export function normalizeUserOptions(userOptions: UserOptions): InternalOptions
}
/**
- * Converts the user-facing `entries` option to the internal `entries` option
+ * Converts the user-facing `releaseInjectionTargets` option to the internal
+ * `releaseInjectionTargets` option
*/
-function normalizeEntries(
- userEntries: UserOptions["entries"]
+function normalizeReleaseInjectionTargets(
+ userReleaseInjectionTargets: UserOptions["releaseInjectionTargets"]
): (string | RegExp)[] | ((filePath: string) => boolean) | undefined {
- if (userEntries === undefined) {
+ if (userReleaseInjectionTargets === undefined) {
return undefined;
- } else if (typeof userEntries === "function") {
- return userEntries;
+ } else if (typeof userReleaseInjectionTargets === "function") {
+ return userReleaseInjectionTargets;
} else {
- return arrayify(userEntries);
+ return arrayify(userReleaseInjectionTargets);
}
}
diff --git a/packages/bundler-plugin-core/src/types.ts b/packages/bundler-plugin-core/src/types.ts
index 28e67f0d5349..5f98824a4802 100644
--- a/packages/bundler-plugin-core/src/types.ts
+++ b/packages/bundler-plugin-core/src/types.ts
@@ -63,16 +63,19 @@ export type Options = Omit & {
dist?: string;
/**
- * Filter for bundle entry points that should contain the provided release.
+ * Filter for modules that the release should be injected in.
*
- * This option takes a string, a regular expression, or an array containing strings, regular expressions, or both.
- * It's also possible to provide a filter function that takes the absolute path of a processed entrypoint and should
- * return `true` if the release should be injected into the entrypoint and `false` otherwise. String values of this
- * option require a full match with the absolute path of the bundle.
+ * This option takes a string, a regular expression, or an array containing strings,
+ * regular expressions, or both. It's also possible to provide a filter function
+ * that takes the absolute path of a processed module. It should return `true`
+ * if the release should be injected into the module and `false` otherwise. String
+ * values of this option require a full match with the absolute path of the module.
*
- * By default, the release will be injected into all entry points.
+ * By default, the release will be injected into all modules - however, bundlers
+ * will include the injected release code only once per entrypoint.
+ * If release injection should be disabled, provide an empty array here.
*/
- entries?: (string | RegExp)[] | RegExp | string | ((filePath: string) => boolean);
+ releaseInjectionTargets?: (string | RegExp)[] | RegExp | string | ((filePath: string) => boolean);
/**
* Determines if the Sentry release record should be automatically finalized
diff --git a/packages/e2e-tests/scenarios/basic-upload/__snapshots__/basic-upload.test.ts.snap b/packages/e2e-tests/scenarios/basic-upload/__snapshots__/basic-upload.test.ts.snap
index 7175c942da07..c8c6dfb3abcb 100644
--- a/packages/e2e-tests/scenarios/basic-upload/__snapshots__/basic-upload.test.ts.snap
+++ b/packages/e2e-tests/scenarios/basic-upload/__snapshots__/basic-upload.test.ts.snap
@@ -9,7 +9,7 @@ Array [
"name": "~/index.js",
},
Object {
- "content": "{\\"version\\":3,\\"sources\\":[\\"sentry-plugin:\\\\u0000sentry-release-injector\\",\\"../../input/fib.js\\",\\"../../input/index.js\\"],\\"sourcesContent\\":[\\"\\\\n var _global =\\\\n typeof window !== 'undefined' ?\\\\n window :\\\\n typeof global !== 'undefined' ?\\\\n global :\\\\n typeof self !== 'undefined' ?\\\\n self :\\\\n {};\\\\n\\\\n _global.SENTRY_RELEASE={id:\\\\\\"basic-upload-esbuild\\\\\\"};\\",\\"export const fibonacci = (n) => {\\\\n if (n === 3) {\\\\n throw new Error(\\\\\\"I'm an uncaught error\\\\\\");\\\\n }\\\\n if (n <= 1) {\\\\n return n;\\\\n }\\\\n return fibonacci(n - 1) + fibonacci(n - 2);\\\\n};\\\\nimport \\\\\\"\\\\u0000sentry-release-injector\\\\\\";\\",\\"import { fibonacci } from \\\\\\"./fib\\\\\\";\\\\nconsole.log(\\\\\\"Hi, I'm a very simple app\\\\\\");\\\\n\\\\nfibonacci(10);\\\\n\\\\nconsole.log(\\\\\\"I'm done\\\\\\");\\\\nimport \\\\\\"\\\\u0000sentry-release-injector\\\\\\";\\"],\\"names\\":[],\\"mappings\\":\\"aACI,GAAI,GACF,MAAO,QAAW,IAChB,OACA,MAAO,QAAW,IAChB,OACA,MAAO,MAAS,IACd,KACA,CAAC,EAET,EAAQ,eAAe,CAAC,GAAG,sBAAsB,ECV9C,GAAM,GAAY,AAAC,GAAM,CAC9B,GAAI,IAAM,EACR,KAAM,IAAI,OAAM,uBAAuB,EAEzC,MAAI,IAAK,EACA,EAEF,EAAU,EAAI,CAAC,EAAI,EAAU,EAAI,CAAC,CAC3C,ECPA,QAAQ,IAAI,2BAA2B,EAEvC,EAAU,EAAE,EAEZ,QAAQ,IAAI,UAAU\\"}",
+ "content": "{\\"version\\":3,\\"sources\\":[\\"sentry-plugin:\\\\u0000sentry-release-injector\\",\\"../../input/fib.js\\",\\"../../input/index.js\\"],\\"sourcesContent\\":[\\"\\\\n var _global =\\\\n typeof window !== 'undefined' ?\\\\n window :\\\\n typeof global !== 'undefined' ?\\\\n global :\\\\n typeof self !== 'undefined' ?\\\\n self :\\\\n {};\\\\n\\\\n _global.SENTRY_RELEASE={id:\\\\\\"basic-upload-esbuild\\\\\\"};\\",\\"export const fibonacci = (n) => {\\\\n if (n === 3) {\\\\n throw new Error(\\\\\\"I'm an uncaught error\\\\\\");\\\\n }\\\\n if (n <= 1) {\\\\n return n;\\\\n }\\\\n return fibonacci(n - 1) + fibonacci(n - 2);\\\\n};\\\\n;\\\\nimport \\\\\\"\\\\u0000sentry-release-injector\\\\\\";\\",\\"import { fibonacci } from \\\\\\"./fib\\\\\\";\\\\nconsole.log(\\\\\\"Hi, I'm a very simple app\\\\\\");\\\\n\\\\nfibonacci(10);\\\\n\\\\nconsole.log(\\\\\\"I'm done\\\\\\");\\\\n;\\\\nimport \\\\\\"\\\\u0000sentry-release-injector\\\\\\";\\"],\\"names\\":[],\\"mappings\\":\\"aACI,GAAI,GACF,MAAO,QAAW,IAChB,OACA,MAAO,QAAW,IAChB,OACA,MAAO,MAAS,IACd,KACA,CAAC,EAET,EAAQ,eAAe,CAAC,GAAG,sBAAsB,ECV9C,GAAM,GAAY,AAAC,GAAM,CAC9B,GAAI,IAAM,EACR,KAAM,IAAI,OAAM,uBAAuB,EAEzC,MAAI,IAAK,EACA,EAEF,EAAU,EAAI,CAAC,EAAI,EAAU,EAAI,CAAC,CAC3C,ECPA,QAAQ,IAAI,2BAA2B,EAEvC,EAAU,EAAE,EAEZ,QAAQ,IAAI,UAAU\\"}",
"name": "~/index.js.map",
},
]
@@ -80,7 +80,7 @@ Array [
"name": "~/index.js",
},
Object {
- "content": "{\\"version\\":3,\\"file\\":\\"index.js\\",\\"sources\\":[\\"webpack:///webpack/bootstrap\\",\\"webpack:///./_virtual_%00sentry-release-injector\\",\\"webpack:///./scenarios/basic-upload/input/fib.js\\",\\"webpack:///./scenarios/basic-upload/input/index.js\\"],\\"sourcesContent\\":[\\" \\\\t// The module cache\\\\n \\\\tvar installedModules = {};\\\\n\\\\n \\\\t// The require function\\\\n \\\\tfunction __webpack_require__(moduleId) {\\\\n\\\\n \\\\t\\\\t// Check if module is in cache\\\\n \\\\t\\\\tif(installedModules[moduleId]) {\\\\n \\\\t\\\\t\\\\treturn installedModules[moduleId].exports;\\\\n \\\\t\\\\t}\\\\n \\\\t\\\\t// Create a new module (and put it into the cache)\\\\n \\\\t\\\\tvar module = installedModules[moduleId] = {\\\\n \\\\t\\\\t\\\\ti: moduleId,\\\\n \\\\t\\\\t\\\\tl: false,\\\\n \\\\t\\\\t\\\\texports: {}\\\\n \\\\t\\\\t};\\\\n\\\\n \\\\t\\\\t// Execute the module function\\\\n \\\\t\\\\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\\\\n\\\\n \\\\t\\\\t// Flag the module as loaded\\\\n \\\\t\\\\tmodule.l = true;\\\\n\\\\n \\\\t\\\\t// Return the exports of the module\\\\n \\\\t\\\\treturn module.exports;\\\\n \\\\t}\\\\n\\\\n\\\\n \\\\t// expose the modules object (__webpack_modules__)\\\\n \\\\t__webpack_require__.m = modules;\\\\n\\\\n \\\\t// expose the module cache\\\\n \\\\t__webpack_require__.c = installedModules;\\\\n\\\\n \\\\t// define getter function for harmony exports\\\\n \\\\t__webpack_require__.d = function(exports, name, getter) {\\\\n \\\\t\\\\tif(!__webpack_require__.o(exports, name)) {\\\\n \\\\t\\\\t\\\\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\\\\n \\\\t\\\\t}\\\\n \\\\t};\\\\n\\\\n \\\\t// define __esModule on exports\\\\n \\\\t__webpack_require__.r = function(exports) {\\\\n \\\\t\\\\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\\\\n \\\\t\\\\t\\\\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\\\\n \\\\t\\\\t}\\\\n \\\\t\\\\tObject.defineProperty(exports, '__esModule', { value: true });\\\\n \\\\t};\\\\n\\\\n \\\\t// create a fake namespace object\\\\n \\\\t// mode & 1: value is a module id, require it\\\\n \\\\t// mode & 2: merge all properties of value into the ns\\\\n \\\\t// mode & 4: return value when already ns object\\\\n \\\\t// mode & 8|1: behave like require\\\\n \\\\t__webpack_require__.t = function(value, mode) {\\\\n \\\\t\\\\tif(mode & 1) value = __webpack_require__(value);\\\\n \\\\t\\\\tif(mode & 8) return value;\\\\n \\\\t\\\\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\\\\n \\\\t\\\\tvar ns = Object.create(null);\\\\n \\\\t\\\\t__webpack_require__.r(ns);\\\\n \\\\t\\\\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\\\\n \\\\t\\\\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\\\\n \\\\t\\\\treturn ns;\\\\n \\\\t};\\\\n\\\\n \\\\t// getDefaultExport function for compatibility with non-harmony modules\\\\n \\\\t__webpack_require__.n = function(module) {\\\\n \\\\t\\\\tvar getter = module && module.__esModule ?\\\\n \\\\t\\\\t\\\\tfunction getDefault() { return module['default']; } :\\\\n \\\\t\\\\t\\\\tfunction getModuleExports() { return module; };\\\\n \\\\t\\\\t__webpack_require__.d(getter, 'a', getter);\\\\n \\\\t\\\\treturn getter;\\\\n \\\\t};\\\\n\\\\n \\\\t// Object.prototype.hasOwnProperty.call\\\\n \\\\t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\\\\n\\\\n \\\\t// __webpack_public_path__\\\\n \\\\t__webpack_require__.p = \\\\\\"\\\\\\";\\\\n\\\\n\\\\n \\\\t// Load entry module and return exports\\\\n \\\\treturn __webpack_require__(__webpack_require__.s = 1);\\\\n\\",\\"\\\\n var _global =\\\\n typeof window !== 'undefined' ?\\\\n window :\\\\n typeof global !== 'undefined' ?\\\\n global :\\\\n typeof self !== 'undefined' ?\\\\n self :\\\\n {};\\\\n\\\\n _global.SENTRY_RELEASE={id:\\\\\\"basic-upload-webpack4\\\\\\"};\\",\\"export const fibonacci = (n) => {\\\\n if (n === 3) {\\\\n throw new Error(\\\\\\"I'm an uncaught error\\\\\\");\\\\n }\\\\n if (n <= 1) {\\\\n return n;\\\\n }\\\\n return fibonacci(n - 1) + fibonacci(n - 2);\\\\n};\\\\nimport \\\\\\"\\\\u0000sentry-release-injector\\\\\\";\\",\\"import { fibonacci } from \\\\\\"./fib\\\\\\";\\\\nconsole.log(\\\\\\"Hi, I'm a very simple app\\\\\\");\\\\n\\\\nfibonacci(10);\\\\n\\\\nconsole.log(\\\\\\"I'm done\\\\\\");\\\\nimport \\\\\\"\\\\u0000sentry-release-injector\\\\\\";\\"],\\"names\\":[\\"installedModules\\",\\"__webpack_require__\\",\\"moduleId\\",\\"exports\\",\\"module\\",\\"i\\",\\"l\\",\\"modules\\",\\"call\\",\\"m\\",\\"c\\",\\"d\\",\\"name\\",\\"getter\\",\\"o\\",\\"Object\\",\\"defineProperty\\",\\"enumerable\\",\\"get\\",\\"r\\",\\"Symbol\\",\\"toStringTag\\",\\"value\\",\\"t\\",\\"mode\\",\\"__esModule\\",\\"ns\\",\\"create\\",\\"key\\",\\"bind\\",\\"n\\",\\"object\\",\\"property\\",\\"prototype\\",\\"hasOwnProperty\\",\\"p\\",\\"s\\",\\"window\\",\\"global\\",\\"self\\",\\"SENTRY_RELEASE\\",\\"id\\",\\"fibonacci\\",\\"Error\\",\\"console\\",\\"log\\"],\\"mappings\\":\\"6DACE,IAAIA,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,IAUV,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,QA0Df,OArDAF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEZ,EAAoBkB,EAAI,SAAShB,GACX,oBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,KAQvDrB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG/B,EAAoBkC,EAAI,GAIjBlC,EAAoBA,EAAoBmC,EAAI,G,iBChF7B,oBAAXC,OACLA,OACkB,oBAAXC,OACLA,OACgB,oBAATC,KACLA,KACA,IAEAC,eAAe,CAACC,GAAG,0B,yCCVxB,MAAMC,EAAaZ,IACxB,GAAU,IAANA,EACF,MAAM,IAAIa,MAAM,yBAElB,OAAIb,GAAK,EACAA,EAEFY,EAAUZ,EAAI,GAAKY,EAAUZ,EAAI,ICN1Cc,QAAQC,IAAI,6BAEZH,EAAU,IAEVE,QAAQC,IAAI\\"}",
+ "content": "{\\"version\\":3,\\"file\\":\\"index.js\\",\\"sources\\":[\\"webpack:///webpack/bootstrap\\",\\"webpack:///./_virtual_%00sentry-release-injector\\",\\"webpack:///./scenarios/basic-upload/input/fib.js\\",\\"webpack:///./scenarios/basic-upload/input/index.js\\"],\\"sourcesContent\\":[\\" \\\\t// The module cache\\\\n \\\\tvar installedModules = {};\\\\n\\\\n \\\\t// The require function\\\\n \\\\tfunction __webpack_require__(moduleId) {\\\\n\\\\n \\\\t\\\\t// Check if module is in cache\\\\n \\\\t\\\\tif(installedModules[moduleId]) {\\\\n \\\\t\\\\t\\\\treturn installedModules[moduleId].exports;\\\\n \\\\t\\\\t}\\\\n \\\\t\\\\t// Create a new module (and put it into the cache)\\\\n \\\\t\\\\tvar module = installedModules[moduleId] = {\\\\n \\\\t\\\\t\\\\ti: moduleId,\\\\n \\\\t\\\\t\\\\tl: false,\\\\n \\\\t\\\\t\\\\texports: {}\\\\n \\\\t\\\\t};\\\\n\\\\n \\\\t\\\\t// Execute the module function\\\\n \\\\t\\\\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\\\\n\\\\n \\\\t\\\\t// Flag the module as loaded\\\\n \\\\t\\\\tmodule.l = true;\\\\n\\\\n \\\\t\\\\t// Return the exports of the module\\\\n \\\\t\\\\treturn module.exports;\\\\n \\\\t}\\\\n\\\\n\\\\n \\\\t// expose the modules object (__webpack_modules__)\\\\n \\\\t__webpack_require__.m = modules;\\\\n\\\\n \\\\t// expose the module cache\\\\n \\\\t__webpack_require__.c = installedModules;\\\\n\\\\n \\\\t// define getter function for harmony exports\\\\n \\\\t__webpack_require__.d = function(exports, name, getter) {\\\\n \\\\t\\\\tif(!__webpack_require__.o(exports, name)) {\\\\n \\\\t\\\\t\\\\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\\\\n \\\\t\\\\t}\\\\n \\\\t};\\\\n\\\\n \\\\t// define __esModule on exports\\\\n \\\\t__webpack_require__.r = function(exports) {\\\\n \\\\t\\\\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\\\\n \\\\t\\\\t\\\\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\\\\n \\\\t\\\\t}\\\\n \\\\t\\\\tObject.defineProperty(exports, '__esModule', { value: true });\\\\n \\\\t};\\\\n\\\\n \\\\t// create a fake namespace object\\\\n \\\\t// mode & 1: value is a module id, require it\\\\n \\\\t// mode & 2: merge all properties of value into the ns\\\\n \\\\t// mode & 4: return value when already ns object\\\\n \\\\t// mode & 8|1: behave like require\\\\n \\\\t__webpack_require__.t = function(value, mode) {\\\\n \\\\t\\\\tif(mode & 1) value = __webpack_require__(value);\\\\n \\\\t\\\\tif(mode & 8) return value;\\\\n \\\\t\\\\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\\\\n \\\\t\\\\tvar ns = Object.create(null);\\\\n \\\\t\\\\t__webpack_require__.r(ns);\\\\n \\\\t\\\\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\\\\n \\\\t\\\\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\\\\n \\\\t\\\\treturn ns;\\\\n \\\\t};\\\\n\\\\n \\\\t// getDefaultExport function for compatibility with non-harmony modules\\\\n \\\\t__webpack_require__.n = function(module) {\\\\n \\\\t\\\\tvar getter = module && module.__esModule ?\\\\n \\\\t\\\\t\\\\tfunction getDefault() { return module['default']; } :\\\\n \\\\t\\\\t\\\\tfunction getModuleExports() { return module; };\\\\n \\\\t\\\\t__webpack_require__.d(getter, 'a', getter);\\\\n \\\\t\\\\treturn getter;\\\\n \\\\t};\\\\n\\\\n \\\\t// Object.prototype.hasOwnProperty.call\\\\n \\\\t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\\\\n\\\\n \\\\t// __webpack_public_path__\\\\n \\\\t__webpack_require__.p = \\\\\\"\\\\\\";\\\\n\\\\n\\\\n \\\\t// Load entry module and return exports\\\\n \\\\treturn __webpack_require__(__webpack_require__.s = 1);\\\\n\\",\\"\\\\n var _global =\\\\n typeof window !== 'undefined' ?\\\\n window :\\\\n typeof global !== 'undefined' ?\\\\n global :\\\\n typeof self !== 'undefined' ?\\\\n self :\\\\n {};\\\\n\\\\n _global.SENTRY_RELEASE={id:\\\\\\"basic-upload-webpack4\\\\\\"};\\",\\"export const fibonacci = (n) => {\\\\n if (n === 3) {\\\\n throw new Error(\\\\\\"I'm an uncaught error\\\\\\");\\\\n }\\\\n if (n <= 1) {\\\\n return n;\\\\n }\\\\n return fibonacci(n - 1) + fibonacci(n - 2);\\\\n};\\\\n;\\\\nimport \\\\\\"\\\\u0000sentry-release-injector\\\\\\";\\",\\"import { fibonacci } from \\\\\\"./fib\\\\\\";\\\\nconsole.log(\\\\\\"Hi, I'm a very simple app\\\\\\");\\\\n\\\\nfibonacci(10);\\\\n\\\\nconsole.log(\\\\\\"I'm done\\\\\\");\\\\n;\\\\nimport \\\\\\"\\\\u0000sentry-release-injector\\\\\\";\\"],\\"names\\":[\\"installedModules\\",\\"__webpack_require__\\",\\"moduleId\\",\\"exports\\",\\"module\\",\\"i\\",\\"l\\",\\"modules\\",\\"call\\",\\"m\\",\\"c\\",\\"d\\",\\"name\\",\\"getter\\",\\"o\\",\\"Object\\",\\"defineProperty\\",\\"enumerable\\",\\"get\\",\\"r\\",\\"Symbol\\",\\"toStringTag\\",\\"value\\",\\"t\\",\\"mode\\",\\"__esModule\\",\\"ns\\",\\"create\\",\\"key\\",\\"bind\\",\\"n\\",\\"object\\",\\"property\\",\\"prototype\\",\\"hasOwnProperty\\",\\"p\\",\\"s\\",\\"window\\",\\"global\\",\\"self\\",\\"SENTRY_RELEASE\\",\\"id\\",\\"fibonacci\\",\\"Error\\",\\"console\\",\\"log\\"],\\"mappings\\":\\"6DACE,IAAIA,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,IAUV,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,QA0Df,OArDAF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEZ,EAAoBkB,EAAI,SAAShB,GACX,oBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,KAQvDrB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG/B,EAAoBkC,EAAI,GAIjBlC,EAAoBA,EAAoBmC,EAAI,G,iBChF7B,oBAAXC,OACLA,OACkB,oBAAXC,OACLA,OACgB,oBAATC,KACLA,KACA,IAEAC,eAAe,CAACC,GAAG,0B,yCCVxB,MAAMC,EAAaZ,IACxB,GAAU,IAANA,EACF,MAAM,IAAIa,MAAM,yBAElB,OAAIb,GAAK,EACAA,EAEFY,EAAUZ,EAAI,GAAKY,EAAUZ,EAAI,ICN1Cc,QAAQC,IAAI,6BAEZH,EAAU,IAEVE,QAAQC,IAAI\\"}",
"name": "~/index.js.map",
},
]
@@ -89,12 +89,12 @@ Array [
exports[`Simple Sourcemaps Upload (one string include + default options) uploads the correct files using webpack5 1`] = `
Array [
Object {
- "content": "(()=>{var e={434:(e,o,r)=>{(\\"undefined\\"!=typeof window?window:void 0!==r.g?r.g:\\"undefined\\"!=typeof self?self:{}).SENTRY_RELEASE={id:\\"basic-upload-webpack5\\"}}},o={};function r(t){var n=o[t];if(void 0!==n)return n.exports;var i=o[t]={exports:{}};return e[t](i,i.exports,r),i.exports}r.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),r.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})};var t={};(()=>{\\"use strict\\";r.r(t),r(434);const e=o=>{if(3===o)throw new Error(\\"I'm an uncaught error\\");return o<=1?o:e(o-1)+e(o-2)};console.log(\\"Hi, I'm a very simple app\\"),e(10),console.log(\\"I'm done\\")})();var n=exports;for(var i in t)n[i]=t[i];t.__esModule&&Object.defineProperty(n,\\"__esModule\\",{value:!0})})();
+ "content": "(()=>{var e={87:(e,o,r)=>{(\\"undefined\\"!=typeof window?window:void 0!==r.g?r.g:\\"undefined\\"!=typeof self?self:{}).SENTRY_RELEASE={id:\\"basic-upload-webpack5\\"}}},o={};function r(t){var n=o[t];if(void 0!==n)return n.exports;var i=o[t]={exports:{}};return e[t](i,i.exports,r),i.exports}r.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),r.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})};var t={};(()=>{\\"use strict\\";r.r(t),r(87);const e=o=>{if(3===o)throw new Error(\\"I'm an uncaught error\\");return o<=1?o:e(o-1)+e(o-2)};console.log(\\"Hi, I'm a very simple app\\"),e(10),console.log(\\"I'm done\\")})();var n=exports;for(var i in t)n[i]=t[i];t.__esModule&&Object.defineProperty(n,\\"__esModule\\",{value:!0})})();
//# sourceMappingURL=index.js.map",
"name": "~/index.js",
},
Object {
- "content": "{\\"version\\":3,\\"file\\":\\"index.js\\",\\"sources\\":[\\"webpack://@sentry-internal/bundler-plugin-e2e-tests/./_virtual_%00sentry-release-injector\\",\\"webpack://@sentry-internal/bundler-plugin-e2e-tests/webpack/bootstrap\\",\\"webpack://@sentry-internal/bundler-plugin-e2e-tests/webpack/runtime/global\\",\\"webpack://@sentry-internal/bundler-plugin-e2e-tests/webpack/runtime/make namespace object\\",\\"webpack://@sentry-internal/bundler-plugin-e2e-tests/./scenarios/basic-upload/input/fib.js\\",\\"webpack://@sentry-internal/bundler-plugin-e2e-tests/./scenarios/basic-upload/input/index.js\\"],\\"sourcesContent\\":[\\"\\\\n var _global =\\\\n typeof window !== 'undefined' ?\\\\n window :\\\\n typeof global !== 'undefined' ?\\\\n global :\\\\n typeof self !== 'undefined' ?\\\\n self :\\\\n {};\\\\n\\\\n _global.SENTRY_RELEASE={id:\\\\\\"basic-upload-webpack5\\\\\\"};\\",\\"// The module cache\\\\nvar __webpack_module_cache__ = {};\\\\n\\\\n// The require function\\\\nfunction __webpack_require__(moduleId) {\\\\n\\\\t// Check if module is in cache\\\\n\\\\tvar cachedModule = __webpack_module_cache__[moduleId];\\\\n\\\\tif (cachedModule !== undefined) {\\\\n\\\\t\\\\treturn cachedModule.exports;\\\\n\\\\t}\\\\n\\\\t// Create a new module (and put it into the cache)\\\\n\\\\tvar module = __webpack_module_cache__[moduleId] = {\\\\n\\\\t\\\\t// no module.id needed\\\\n\\\\t\\\\t// no module.loaded needed\\\\n\\\\t\\\\texports: {}\\\\n\\\\t};\\\\n\\\\n\\\\t// Execute the module function\\\\n\\\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\\\n\\\\n\\\\t// Return the exports of the module\\\\n\\\\treturn module.exports;\\\\n}\\\\n\\\\n\\",\\"__webpack_require__.g = (function() {\\\\n\\\\tif (typeof globalThis === 'object') return globalThis;\\\\n\\\\ttry {\\\\n\\\\t\\\\treturn this || new Function('return this')();\\\\n\\\\t} catch (e) {\\\\n\\\\t\\\\tif (typeof window === 'object') return window;\\\\n\\\\t}\\\\n})();\\",\\"// define __esModule on exports\\\\n__webpack_require__.r = (exports) => {\\\\n\\\\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\\\\n\\\\t\\\\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\\\\n\\\\t}\\\\n\\\\tObject.defineProperty(exports, '__esModule', { value: true });\\\\n};\\",\\"export const fibonacci = (n) => {\\\\n if (n === 3) {\\\\n throw new Error(\\\\\\"I'm an uncaught error\\\\\\");\\\\n }\\\\n if (n <= 1) {\\\\n return n;\\\\n }\\\\n return fibonacci(n - 1) + fibonacci(n - 2);\\\\n};\\\\nimport \\\\\\"\\\\u0000sentry-release-injector\\\\\\";\\",\\"import { fibonacci } from \\\\\\"./fib\\\\\\";\\\\nconsole.log(\\\\\\"Hi, I'm a very simple app\\\\\\");\\\\n\\\\nfibonacci(10);\\\\n\\\\nconsole.log(\\\\\\"I'm done\\\\\\");\\\\nimport \\\\\\"\\\\u0000sentry-release-injector\\\\\\";\\"],\\"names\\":[\\"window\\",\\"g\\",\\"self\\",\\"SENTRY_RELEASE\\",\\"id\\",\\"__webpack_module_cache__\\",\\"__webpack_require__\\",\\"moduleId\\",\\"cachedModule\\",\\"undefined\\",\\"exports\\",\\"module\\",\\"__webpack_modules__\\",\\"globalThis\\",\\"this\\",\\"Function\\",\\"e\\",\\"r\\",\\"Symbol\\",\\"toStringTag\\",\\"Object\\",\\"defineProperty\\",\\"value\\",\\"fibonacci\\",\\"n\\",\\"Error\\",\\"console\\",\\"log\\"],\\"mappings\\":\\"4BAEwB,oBAAXA,OACLA,YACkB,IAAX,EAAAC,EACL,EAAAA,EACgB,oBAATC,KACLA,KACA,CAAC,GAEDC,eAAe,CAACC,GAAG,wB,GCT3BC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaE,QAGrB,IAAIC,EAASN,EAAyBE,GAAY,CAGjDG,QAAS,CAAC,GAOX,OAHAE,EAAoBL,GAAUI,EAAQA,EAAOD,QAASJ,GAG/CK,EAAOD,OACf,CCtBAJ,EAAoBL,EAAI,WACvB,GAA0B,iBAAfY,WAAyB,OAAOA,WAC3C,IACC,OAAOC,MAAQ,IAAIC,SAAS,cAAb,EAGhB,CAFE,MAAOC,GACR,GAAsB,iBAAXhB,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCCxBM,EAAoBW,EAAKP,IACH,oBAAXQ,QAA0BA,OAAOC,aAC1CC,OAAOC,eAAeX,EAASQ,OAAOC,YAAa,CAAEG,MAAO,WAE7DF,OAAOC,eAAeX,EAAS,aAAc,CAAEY,OAAO,GAAO,E,0CCLvD,MAAMC,EAAaC,IACxB,GAAU,IAANA,EACF,MAAM,IAAIC,MAAM,yBAElB,OAAID,GAAK,EACAA,EAEFD,EAAUC,EAAI,GAAKD,EAAUC,EAAI,EAAE,ECN5CE,QAAQC,IAAI,6BAEZJ,EAAU,IAEVG,QAAQC,IAAI,W\\"}",
+ "content": "{\\"version\\":3,\\"file\\":\\"index.js\\",\\"sources\\":[\\"webpack://@sentry-internal/bundler-plugin-e2e-tests/./_virtual_%00sentry-release-injector\\",\\"webpack://@sentry-internal/bundler-plugin-e2e-tests/webpack/bootstrap\\",\\"webpack://@sentry-internal/bundler-plugin-e2e-tests/webpack/runtime/global\\",\\"webpack://@sentry-internal/bundler-plugin-e2e-tests/webpack/runtime/make namespace object\\",\\"webpack://@sentry-internal/bundler-plugin-e2e-tests/./scenarios/basic-upload/input/fib.js\\",\\"webpack://@sentry-internal/bundler-plugin-e2e-tests/./scenarios/basic-upload/input/index.js\\"],\\"sourcesContent\\":[\\"\\\\n var _global =\\\\n typeof window !== 'undefined' ?\\\\n window :\\\\n typeof global !== 'undefined' ?\\\\n global :\\\\n typeof self !== 'undefined' ?\\\\n self :\\\\n {};\\\\n\\\\n _global.SENTRY_RELEASE={id:\\\\\\"basic-upload-webpack5\\\\\\"};\\",\\"// The module cache\\\\nvar __webpack_module_cache__ = {};\\\\n\\\\n// The require function\\\\nfunction __webpack_require__(moduleId) {\\\\n\\\\t// Check if module is in cache\\\\n\\\\tvar cachedModule = __webpack_module_cache__[moduleId];\\\\n\\\\tif (cachedModule !== undefined) {\\\\n\\\\t\\\\treturn cachedModule.exports;\\\\n\\\\t}\\\\n\\\\t// Create a new module (and put it into the cache)\\\\n\\\\tvar module = __webpack_module_cache__[moduleId] = {\\\\n\\\\t\\\\t// no module.id needed\\\\n\\\\t\\\\t// no module.loaded needed\\\\n\\\\t\\\\texports: {}\\\\n\\\\t};\\\\n\\\\n\\\\t// Execute the module function\\\\n\\\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\\\n\\\\n\\\\t// Return the exports of the module\\\\n\\\\treturn module.exports;\\\\n}\\\\n\\\\n\\",\\"__webpack_require__.g = (function() {\\\\n\\\\tif (typeof globalThis === 'object') return globalThis;\\\\n\\\\ttry {\\\\n\\\\t\\\\treturn this || new Function('return this')();\\\\n\\\\t} catch (e) {\\\\n\\\\t\\\\tif (typeof window === 'object') return window;\\\\n\\\\t}\\\\n})();\\",\\"// define __esModule on exports\\\\n__webpack_require__.r = (exports) => {\\\\n\\\\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\\\\n\\\\t\\\\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\\\\n\\\\t}\\\\n\\\\tObject.defineProperty(exports, '__esModule', { value: true });\\\\n};\\",\\"export const fibonacci = (n) => {\\\\n if (n === 3) {\\\\n throw new Error(\\\\\\"I'm an uncaught error\\\\\\");\\\\n }\\\\n if (n <= 1) {\\\\n return n;\\\\n }\\\\n return fibonacci(n - 1) + fibonacci(n - 2);\\\\n};\\\\n;\\\\nimport \\\\\\"\\\\u0000sentry-release-injector\\\\\\";\\",\\"import { fibonacci } from \\\\\\"./fib\\\\\\";\\\\nconsole.log(\\\\\\"Hi, I'm a very simple app\\\\\\");\\\\n\\\\nfibonacci(10);\\\\n\\\\nconsole.log(\\\\\\"I'm done\\\\\\");\\\\n;\\\\nimport \\\\\\"\\\\u0000sentry-release-injector\\\\\\";\\"],\\"names\\":[\\"window\\",\\"g\\",\\"self\\",\\"SENTRY_RELEASE\\",\\"id\\",\\"__webpack_module_cache__\\",\\"__webpack_require__\\",\\"moduleId\\",\\"cachedModule\\",\\"undefined\\",\\"exports\\",\\"module\\",\\"__webpack_modules__\\",\\"globalThis\\",\\"this\\",\\"Function\\",\\"e\\",\\"r\\",\\"Symbol\\",\\"toStringTag\\",\\"Object\\",\\"defineProperty\\",\\"value\\",\\"fibonacci\\",\\"n\\",\\"Error\\",\\"console\\",\\"log\\"],\\"mappings\\":\\"2BAEwB,oBAAXA,OACLA,YACkB,IAAX,EAAAC,EACL,EAAAA,EACgB,oBAATC,KACLA,KACA,CAAC,GAEDC,eAAe,CAACC,GAAG,wB,GCT3BC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaE,QAGrB,IAAIC,EAASN,EAAyBE,GAAY,CAGjDG,QAAS,CAAC,GAOX,OAHAE,EAAoBL,GAAUI,EAAQA,EAAOD,QAASJ,GAG/CK,EAAOD,OACf,CCtBAJ,EAAoBL,EAAI,WACvB,GAA0B,iBAAfY,WAAyB,OAAOA,WAC3C,IACC,OAAOC,MAAQ,IAAIC,SAAS,cAAb,EAGhB,CAFE,MAAOC,GACR,GAAsB,iBAAXhB,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCCxBM,EAAoBW,EAAKP,IACH,oBAAXQ,QAA0BA,OAAOC,aAC1CC,OAAOC,eAAeX,EAASQ,OAAOC,YAAa,CAAEG,MAAO,WAE7DF,OAAOC,eAAeX,EAAS,aAAc,CAAEY,OAAO,GAAO,E,yCCLvD,MAAMC,EAAaC,IACxB,GAAU,IAANA,EACF,MAAM,IAAIC,MAAM,yBAElB,OAAID,GAAK,EACAA,EAEFD,EAAUC,EAAI,GAAKD,EAAUC,EAAI,EAAE,ECN5CE,QAAQC,IAAI,6BAEZJ,EAAU,IAEVG,QAAQC,IAAI,W\\"}",
"name": "~/index.js.map",
},
]
diff --git a/packages/esbuild-plugin/README.md b/packages/esbuild-plugin/README.md
index 77eef2194b24..634a3ad546c9 100644
--- a/packages/esbuild-plugin/README.md
+++ b/packages/esbuild-plugin/README.md
@@ -54,39 +54,39 @@ As an alternative to passing options explicitly, you can also use a `.sentryclir
The Sentry Esbuild Plugin takes an options argument with the following properties:
-| Option | Type | Required | Description |
-| ------------------ | -------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| include | `string`/`array`/`object` | required | One or more paths that the plugin should scan recursively for sources. It will upload all `.map` files and match associated `.js` files. Other file types can be uploaded by using the `ext` option. Each path can be given as a string or an object with path-specific options. See [table below](#include) for details. |
-| org | `string` | optional | The slug of the Sentry organization associated with the app. Can also be specified via the `SENTRY_ORG` environment variable. |
-| project | `string` | optional | The slug of the Sentry project associated with the app. Can also be specified via the `SENTRY_PROJECT` environment variable. |
-| authToken | `string` | optional | The authentication token to use for all communication with Sentry. Can be obtained from https://sentry.io/settings/account/api/auth-tokens/. Required scopes: `project:releases` (and `org:read` if `setCommits` option is used). Can also be specified via the `SENTRY_AUTH_TOKEN` env variable. |
-| url | `string` | optional | The base URL of your Sentry instance. Use this if you are using a self-hosted or Sentry instance other than sentry.io. This value can also be set via the `SENTRY_URL` environment variable. Defaults to https://sentry.io/, which is the correct value for SaaS customers. |
-| customHeader | `string` | optional | A header added to every outgoing network request. The format should be `header-key: header-value`. This value can also be specified via the `CUSTOM_HEADER` environment variable. |
-| vcsRemote | `string` | optional | Version control system remote name. This value can also be specified via the `SENTRY_VSC_REMOTE` environment variable. Defaults to `'origin'`. |
-| release | `string` | optional | Unique identifier for the release. This value can also be specified via the `SENTRY_RELEASE` environment variable. Defaults to the output of the `sentry-cli releases propose-version` command, which automatically detects values for Cordova, Heroku, AWS CodeBuild, CircleCI, Xcode, and Gradle, and otherwise uses the git `HEAD`'s commit SHA. (**the latter requires access to `git` CLI and for the root directory to be a valid repository**). |
-| dist | `string` | optional | Unique identifier for the distribution, used to further segment your release. Usually your build number. |
-| entries | `array`/`RegExp`/`(string \| RegExp)[]`/`function(filePath: string): bool` | optional | Filter for bundle entry points that should contain the provided release. This option takes a string, a regular expression, or an array containing strings, regular expressions, or both. It's also possible to provide a filter function that takes the absolute path of a processed entrypoint and should return `true` if the release should be injected into the entrypoint and `false` otherwise. String values of this option require a full match with the absolute path of the bundle. By default, the release will be injected into all entry points. |
-| ignoreFile | `string` | optional | Path to a file containing list of files/directories to ignore. Can point to `.gitignore` or anything with the same format. |
-| ignore | `string`/`array` | optional | One or more paths to ignore during upload. Overrides entries in `ignoreFile` file. Defaults to `['node_modules']` if neither `ignoreFile` nor `ignore` is set. |
-| configFile | `string` | optional | Path to Sentry CLI config properties, as described in https://docs.sentry.io/product/cli/configuration/#configuration-file. By default, the config file is looked for upwards from the current path, and defaults from `~/.sentryclirc` are always loaded. |
-| ext | `array` | optional | Array of file extensions of files to be collected for the file upload. By default the following file extensions are processed: js, map, jsbundle and bundle. |
-| urlPrefix | `string` | optional | URL prefix to add to the beginning of all filenames. Defaults to `'~/'` but you might want to set this to the full URL. This is also useful if your files are stored in a sub folder. eg: url-prefix `'~/static/js'`. |
-| urlSuffix | `string` | optional | URL suffix to add to the end of all filenames. Useful for appending query parameters. |
-| validate | `boolean` | optional | When `true`, attempts source map validation before upload if rewriting is not enabled. It will spot a variety of issues with source maps and cancel the upload if any are found. Defaults to `false` as this can cause false positives. |
-| stripPrefix | `array` | optional | When paired with the `rewrite` option, this will remove a prefix from filename references inside of sourcemaps. For instance you can use this to remove a path that is build machine specific. Note that this will NOT change the names of uploaded files. |
-| stripCommonPrefix | `boolean` | optional | When paired with the `rewrite` option, this will add `~` to the `stripPrefix` array. |
-| sourceMapReference | `boolean` | optional | Determines whether sentry-cli should attempt to link minified files with their corresponding maps. By default, it will match files and maps based on name, and add a Sourcemap header to each minified file for which it finds a map. Can be disabled if all minified files contain a `sourceMappingURL`. Defaults to `true`. |
-| rewrite | `boolean` | optional | Enables rewriting of matching source maps so that indexed maps are flattened and missing sources are inlined if possible. Defaults to `true` |
-| finalize | `boolean` | optional | Determines if the Sentry release record should be automatically finalized (meaning a date_released timestamp is added) after artifact upload. Defaults to `true`. |
-| dryRun | `boolean` | optional | Attempts a dry run (useful for dev environments), making release creation a no-op. Defaults to `false`. |
-| debug | `boolean` | optional | Print useful debug information. Defaults to `false`. |
-| silent | `boolean` | optional | Suppresses all logs. Defaults to `false`. |
-| cleanArtifacts | `boolean` | optional | Remove all the artifacts in the release before the upload. Defaults to `false`. |
-| errorHandler | `function(err: Error): void` | optional | When an error occurs during rlease creation or sourcemaps upload, the plugin will call this function. By default, the plugin will simply throw an error, thereby stopping the bundling process. If an `errorHandler` callback is provided, compilation will continue, unless an error is thrown in the provided callback. |
-| setCommits | `Object` | optional | Associates the release with its commits in Sentry. See [table below](#setCommits) for details. |
-| deploy | `Object` | optional | Adds deployment information to the release in Sentry. See [table below](#deploy) for details. |
-| injectReleasesMap | `boolean` | optional | If set to true, the plugin will inject an additional `SENTRY_RELEASES` variable that maps from `{org}@{project}` to the `release` value. This might be helpful for webpack module federation or micro frontend setups. Defaults to `false`. |
-| telemetry | `boolean` | optional | If set to true, internal plugin errors and performance data will be sent to Sentry. At Sentry we like to use Sentry ourselves to deliver faster and more stable products. We're very careful of what we're sending. We won't collect anything other than error and high-level performance data. We will never collect your code or any details of the projects in which you're using this plugin. Defaults to `true`. |
+| Option | Type | Required | Description |
+| ----------------------- | -------------------------------------------------------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| include | `string`/`array`/`object` | required | One or more paths that the plugin should scan recursively for sources. It will upload all `.map` files and match associated `.js` files. Other file types can be uploaded by using the `ext` option. Each path can be given as a string or an object with path-specific options. See [table below](#include) for details. |
+| org | `string` | optional | The slug of the Sentry organization associated with the app. Can also be specified via the `SENTRY_ORG` environment variable. |
+| project | `string` | optional | The slug of the Sentry project associated with the app. Can also be specified via the `SENTRY_PROJECT` environment variable. |
+| authToken | `string` | optional | The authentication token to use for all communication with Sentry. Can be obtained from https://sentry.io/settings/account/api/auth-tokens/. Required scopes: `project:releases` (and `org:read` if `setCommits` option is used). Can also be specified via the `SENTRY_AUTH_TOKEN` env variable. |
+| url | `string` | optional | The base URL of your Sentry instance. Use this if you are using a self-hosted or Sentry instance other than sentry.io. This value can also be set via the `SENTRY_URL` environment variable. Defaults to https://sentry.io/, which is the correct value for SaaS customers. |
+| customHeader | `string` | optional | A header added to every outgoing network request. The format should be `header-key: header-value`. This value can also be specified via the `CUSTOM_HEADER` environment variable. |
+| vcsRemote | `string` | optional | Version control system remote name. This value can also be specified via the `SENTRY_VSC_REMOTE` environment variable. Defaults to `'origin'`. |
+| release | `string` | optional | Unique identifier for the release. This value can also be specified via the `SENTRY_RELEASE` environment variable. Defaults to the output of the `sentry-cli releases propose-version` command, which automatically detects values for Cordova, Heroku, AWS CodeBuild, CircleCI, Xcode, and Gradle, and otherwise uses the git `HEAD`'s commit SHA. (**the latter requires access to `git` CLI and for the root directory to be a valid repository**). |
+| dist | `string` | optional | Unique identifier for the distribution, used to further segment your release. Usually your build number. |
+| releaseInjectionTargets | `array`/`RegExp`/`(string \| RegExp)[]`/`function(filePath: string): bool` | optional | Filter for modules that the release should be injected in. This option takes a string, a regular expression, or an array containing strings, regular expressions, or both. It's also possible to provide a filter function that takes the absolute path of a processed module. It should return `true` if the release should be injected into the module and `false` otherwise. String values of this option require a full match with the absolute path of the module. By default, the release will be injected into all modules - however, bundlers will include the injected release code only once per entrypoint. If release injection should be disabled, provide an empty array here. |
+| ignoreFile | `string` | optional | Path to a file containing list of files/directories to ignore. Can point to `.gitignore` or anything with the same format. |
+| ignore | `string`/`array` | optional | One or more paths to ignore during upload. Overrides entries in `ignoreFile` file. Defaults to `['node_modules']` if neither `ignoreFile` nor `ignore` is set. |
+| configFile | `string` | optional | Path to Sentry CLI config properties, as described in https://docs.sentry.io/product/cli/configuration/#configuration-file. By default, the config file is looked for upwards from the current path, and defaults from `~/.sentryclirc` are always loaded. |
+| ext | `array` | optional | Array of file extensions of files to be collected for the file upload. By default the following file extensions are processed: js, map, jsbundle and bundle. |
+| urlPrefix | `string` | optional | URL prefix to add to the beginning of all filenames. Defaults to `'~/'` but you might want to set this to the full URL. This is also useful if your files are stored in a sub folder. eg: url-prefix `'~/static/js'`. |
+| urlSuffix | `string` | optional | URL suffix to add to the end of all filenames. Useful for appending query parameters. |
+| validate | `boolean` | optional | When `true`, attempts source map validation before upload if rewriting is not enabled. It will spot a variety of issues with source maps and cancel the upload if any are found. Defaults to `false` as this can cause false positives. |
+| stripPrefix | `array` | optional | When paired with the `rewrite` option, this will remove a prefix from filename references inside of sourcemaps. For instance you can use this to remove a path that is build machine specific. Note that this will NOT change the names of uploaded files. |
+| stripCommonPrefix | `boolean` | optional | When paired with the `rewrite` option, this will add `~` to the `stripPrefix` array. |
+| sourceMapReference | `boolean` | optional | Determines whether sentry-cli should attempt to link minified files with their corresponding maps. By default, it will match files and maps based on name, and add a Sourcemap header to each minified file for which it finds a map. Can be disabled if all minified files contain a `sourceMappingURL`. Defaults to `true`. |
+| rewrite | `boolean` | optional | Enables rewriting of matching source maps so that indexed maps are flattened and missing sources are inlined if possible. Defaults to `true` |
+| finalize | `boolean` | optional | Determines if the Sentry release record should be automatically finalized (meaning a date_released timestamp is added) after artifact upload. Defaults to `true`. |
+| dryRun | `boolean` | optional | Attempts a dry run (useful for dev environments), making release creation a no-op. Defaults to `false`. |
+| debug | `boolean` | optional | Print useful debug information. Defaults to `false`. |
+| silent | `boolean` | optional | Suppresses all logs. Defaults to `false`. |
+| cleanArtifacts | `boolean` | optional | Remove all the artifacts in the release before the upload. Defaults to `false`. |
+| errorHandler | `function(err: Error): void` | optional | When an error occurs during rlease creation or sourcemaps upload, the plugin will call this function. By default, the plugin will simply throw an error, thereby stopping the bundling process. If an `errorHandler` callback is provided, compilation will continue, unless an error is thrown in the provided callback. |
+| setCommits | `Object` | optional | Associates the release with its commits in Sentry. See [table below](#setCommits) for details. |
+| deploy | `Object` | optional | Adds deployment information to the release in Sentry. See [table below](#deploy) for details. |
+| injectReleasesMap | `boolean` | optional | If set to true, the plugin will inject an additional `SENTRY_RELEASES` variable that maps from `{org}@{project}` to the `release` value. This might be helpful for webpack module federation or micro frontend setups. Defaults to `false`. |
+| telemetry | `boolean` | optional | If set to true, internal plugin errors and performance data will be sent to Sentry. At Sentry we like to use Sentry ourselves to deliver faster and more stable products. We're very careful of what we're sending. We won't collect anything other than error and high-level performance data. We will never collect your code or any details of the projects in which you're using this plugin. Defaults to `true`. |
#### options.include:
diff --git a/packages/integration-tests/fixtures/array-entries-option/array-entries-option.test.ts b/packages/integration-tests/fixtures/array-entries-option/array-entries-option.test.ts
index cdf6d8613144..093873447b8e 100644
--- a/packages/integration-tests/fixtures/array-entries-option/array-entries-option.test.ts
+++ b/packages/integration-tests/fixtures/array-entries-option/array-entries-option.test.ts
@@ -10,7 +10,7 @@ function getFileContents(bundlePath: string): string {
return fs.readFileSync(bundlePath, { encoding: "utf-8" });
}
-describe("`entries` option should work as expected when given an array of RegEx and strings", () => {
+describe("`releaseInjectionTargets` option should work as expected when given an array of RegEx and strings", () => {
test("esbuild bundle", () => {
expect(getBundleOutput(path.join(__dirname, "./out/esbuild/entrypoint1.js"))).toBe(
"I AM A RELEASE!"
diff --git a/packages/integration-tests/fixtures/array-entries-option/setup.ts b/packages/integration-tests/fixtures/array-entries-option/setup.ts
index 1da304a4e2d8..a07cd847df33 100644
--- a/packages/integration-tests/fixtures/array-entries-option/setup.ts
+++ b/packages/integration-tests/fixtures/array-entries-option/setup.ts
@@ -13,7 +13,7 @@ createCjsBundles(
{
release: "I AM A RELEASE!",
include: outputDir,
- entries: [/entrypoint1\.js/, entryPoint3Path],
+ releaseInjectionTargets: [/entrypoint1\.js/, entryPoint3Path],
dryRun: true,
} as Options
);
diff --git a/packages/integration-tests/fixtures/function-entries-option/function-entries-option.test.ts b/packages/integration-tests/fixtures/function-entries-option/function-entries-option.test.ts
index d238a443879b..11d2db889bcc 100644
--- a/packages/integration-tests/fixtures/function-entries-option/function-entries-option.test.ts
+++ b/packages/integration-tests/fixtures/function-entries-option/function-entries-option.test.ts
@@ -10,7 +10,7 @@ function getFileContents(bundlePath: string): string {
return fs.readFileSync(bundlePath, { encoding: "utf-8" });
}
-describe("`entries` option should work as expected when given a function", () => {
+describe("`releaseInjectionTargets` option should work as expected when given a function", () => {
test("esbuild bundle", () => {
expect(getBundleOutput(path.join(__dirname, "./out/esbuild/entrypoint1.js"))).toBe(
"I AM A RELEASE!"
diff --git a/packages/integration-tests/fixtures/function-entries-option/setup.ts b/packages/integration-tests/fixtures/function-entries-option/setup.ts
index d30480410ec0..059b85c20019 100644
--- a/packages/integration-tests/fixtures/function-entries-option/setup.ts
+++ b/packages/integration-tests/fixtures/function-entries-option/setup.ts
@@ -13,7 +13,7 @@ createCjsBundles(
{
release: "I AM A RELEASE!",
include: outputDir,
- entries: (entrypointPath) =>
+ releaseInjectionTargets: (entrypointPath) =>
entrypointPath === entryPoint1Path || entrypointPath === entryPoint3Path,
dryRun: true,
} as Options
diff --git a/packages/integration-tests/fixtures/regex-entries-option/setup.ts b/packages/integration-tests/fixtures/regex-entries-option/setup.ts
index 8f528f4c7aec..a3e004e50931 100644
--- a/packages/integration-tests/fixtures/regex-entries-option/setup.ts
+++ b/packages/integration-tests/fixtures/regex-entries-option/setup.ts
@@ -10,5 +10,5 @@ createCjsBundles({ entrypoint1: entryPoint1Path, entrypoint2: entryPoint2Path },
release: "I AM A RELEASE!",
include: outputDir,
dryRun: true,
- entries: /entrypoint1\.js/,
+ releaseInjectionTargets: /entrypoint1\.js/,
} as Options);
diff --git a/packages/integration-tests/fixtures/regex-entries-option/string-entries-option.test.ts b/packages/integration-tests/fixtures/regex-entries-option/string-entries-option.test.ts
index d3637dd3caf3..b37e7f4733eb 100644
--- a/packages/integration-tests/fixtures/regex-entries-option/string-entries-option.test.ts
+++ b/packages/integration-tests/fixtures/regex-entries-option/string-entries-option.test.ts
@@ -10,7 +10,7 @@ function getFileContents(bundlePath: string): string {
return fs.readFileSync(bundlePath, { encoding: "utf-8" });
}
-describe("`entries` option should work as expected when given a regular expression", () => {
+describe("`releaseInjectionTargets` option should work as expected when given a regular expression", () => {
test("esbuild bundle", () => {
expect(getBundleOutput(path.join(__dirname, "./out/esbuild/entrypoint1.js"))).toBe(
"I AM A RELEASE!"
diff --git a/packages/integration-tests/fixtures/string-entries-option/setup.ts b/packages/integration-tests/fixtures/string-entries-option/setup.ts
index 374012e9cae7..7b07fb66451a 100644
--- a/packages/integration-tests/fixtures/string-entries-option/setup.ts
+++ b/packages/integration-tests/fixtures/string-entries-option/setup.ts
@@ -9,6 +9,6 @@ const outputDir = path.resolve(__dirname, "./out");
createCjsBundles({ entrypoint1: entryPoint1Path, entrypoint2: entryPoint2Path }, outputDir, {
release: "I AM A RELEASE!",
include: outputDir,
- entries: entryPoint1Path,
+ releaseInjectionTargets: entryPoint1Path,
dryRun: true,
} as Options);
diff --git a/packages/integration-tests/fixtures/string-entries-option/string-entries-option.test.ts b/packages/integration-tests/fixtures/string-entries-option/string-entries-option.test.ts
index 7095f4fe6956..caf0f9e142c9 100644
--- a/packages/integration-tests/fixtures/string-entries-option/string-entries-option.test.ts
+++ b/packages/integration-tests/fixtures/string-entries-option/string-entries-option.test.ts
@@ -10,7 +10,7 @@ function getFileContents(bundlePath: string): string {
return fs.readFileSync(bundlePath, { encoding: "utf-8" });
}
-describe("`entries` option should work as expected when given a string", () => {
+describe("`releaseInjectionTargets` option should work as expected when given a string", () => {
test("esbuild bundle", () => {
expect(getBundleOutput(path.join(__dirname, "./out/esbuild/entrypoint1.js"))).toBe(
"I AM A RELEASE!"
diff --git a/packages/rollup-plugin/README.md b/packages/rollup-plugin/README.md
index 39addcea31ce..296d14a14363 100644
--- a/packages/rollup-plugin/README.md
+++ b/packages/rollup-plugin/README.md
@@ -54,39 +54,39 @@ As an alternative to passing options explicitly, you can also use a `.sentryclir
The Sentry Rollup Plugin takes an options argument with the following properties:
-| Option | Type | Required | Description |
-| ------------------ | -------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| include | `string`/`array`/`object` | required | One or more paths that the plugin should scan recursively for sources. It will upload all `.map` files and match associated `.js` files. Other file types can be uploaded by using the `ext` option. Each path can be given as a string or an object with path-specific options. See [table below](#include) for details. |
-| org | `string` | optional | The slug of the Sentry organization associated with the app. Can also be specified via the `SENTRY_ORG` environment variable. |
-| project | `string` | optional | The slug of the Sentry project associated with the app. Can also be specified via the `SENTRY_PROJECT` environment variable. |
-| authToken | `string` | optional | The authentication token to use for all communication with Sentry. Can be obtained from https://sentry.io/settings/account/api/auth-tokens/. Required scopes: `project:releases` (and `org:read` if `setCommits` option is used). Can also be specified via the `SENTRY_AUTH_TOKEN` env variable. |
-| url | `string` | optional | The base URL of your Sentry instance. Use this if you are using a self-hosted or Sentry instance other than sentry.io. This value can also be set via the `SENTRY_URL` environment variable. Defaults to https://sentry.io/, which is the correct value for SaaS customers. |
-| customHeader | `string` | optional | A header added to every outgoing network request. The format should be `header-key: header-value`. This value can also be specified via the `CUSTOM_HEADER` environment variable. |
-| vcsRemote | `string` | optional | Version control system remote name. This value can also be specified via the `SENTRY_VSC_REMOTE` environment variable. Defaults to `'origin'`. |
-| release | `string` | optional | Unique identifier for the release. This value can also be specified via the `SENTRY_RELEASE` environment variable. Defaults to the output of the `sentry-cli releases propose-version` command, which automatically detects values for Cordova, Heroku, AWS CodeBuild, CircleCI, Xcode, and Gradle, and otherwise uses the git `HEAD`'s commit SHA. (**the latter requires access to `git` CLI and for the root directory to be a valid repository**). |
-| dist | `string` | optional | Unique identifier for the distribution, used to further segment your release. Usually your build number. |
-| entries | `array`/`RegExp`/`(string \| RegExp)[]`/`function(filePath: string): bool` | optional | Filter for bundle entry points that should contain the provided release. This option takes a string, a regular expression, or an array containing strings, regular expressions, or both. It's also possible to provide a filter function that takes the absolute path of a processed entrypoint and should return `true` if the release should be injected into the entrypoint and `false` otherwise. String values of this option require a full match with the absolute path of the bundle. By default, the release will be injected into all entry points. |
-| ignoreFile | `string` | optional | Path to a file containing list of files/directories to ignore. Can point to `.gitignore` or anything with the same format. |
-| ignore | `string`/`array` | optional | One or more paths to ignore during upload. Overrides entries in `ignoreFile` file. Defaults to `['node_modules']` if neither `ignoreFile` nor `ignore` is set. |
-| configFile | `string` | optional | Path to Sentry CLI config properties, as described in https://docs.sentry.io/product/cli/configuration/#configuration-file. By default, the config file is looked for upwards from the current path, and defaults from `~/.sentryclirc` are always loaded. |
-| ext | `array` | optional | Array of file extensions of files to be collected for the file upload. By default the following file extensions are processed: js, map, jsbundle and bundle. |
-| urlPrefix | `string` | optional | URL prefix to add to the beginning of all filenames. Defaults to `'~/'` but you might want to set this to the full URL. This is also useful if your files are stored in a sub folder. eg: url-prefix `'~/static/js'`. |
-| urlSuffix | `string` | optional | URL suffix to add to the end of all filenames. Useful for appending query parameters. |
-| validate | `boolean` | optional | When `true`, attempts source map validation before upload if rewriting is not enabled. It will spot a variety of issues with source maps and cancel the upload if any are found. Defaults to `false` as this can cause false positives. |
-| stripPrefix | `array` | optional | When paired with the `rewrite` option, this will remove a prefix from filename references inside of sourcemaps. For instance you can use this to remove a path that is build machine specific. Note that this will NOT change the names of uploaded files. |
-| stripCommonPrefix | `boolean` | optional | When paired with the `rewrite` option, this will add `~` to the `stripPrefix` array. |
-| sourceMapReference | `boolean` | optional | Determines whether sentry-cli should attempt to link minified files with their corresponding maps. By default, it will match files and maps based on name, and add a Sourcemap header to each minified file for which it finds a map. Can be disabled if all minified files contain a `sourceMappingURL`. Defaults to `true`. |
-| rewrite | `boolean` | optional | Enables rewriting of matching source maps so that indexed maps are flattened and missing sources are inlined if possible. Defaults to `true` |
-| finalize | `boolean` | optional | Determines if the Sentry release record should be automatically finalized (meaning a date_released timestamp is added) after artifact upload. Defaults to `true`. |
-| dryRun | `boolean` | optional | Attempts a dry run (useful for dev environments), making release creation a no-op. Defaults to `false`. |
-| debug | `boolean` | optional | Print useful debug information. Defaults to `false`. |
-| silent | `boolean` | optional | Suppresses all logs. Defaults to `false`. |
-| cleanArtifacts | `boolean` | optional | Remove all the artifacts in the release before the upload. Defaults to `false`. |
-| errorHandler | `function(err: Error): void` | optional | When an error occurs during rlease creation or sourcemaps upload, the plugin will call this function. By default, the plugin will simply throw an error, thereby stopping the bundling process. If an `errorHandler` callback is provided, compilation will continue, unless an error is thrown in the provided callback. |
-| setCommits | `Object` | optional | Associates the release with its commits in Sentry. See [table below](#setCommits) for details. |
-| deploy | `Object` | optional | Adds deployment information to the release in Sentry. See [table below](#deploy) for details. |
-| injectReleasesMap | `boolean` | optional | If set to true, the plugin will inject an additional `SENTRY_RELEASES` variable that maps from `{org}@{project}` to the `release` value. This might be helpful for webpack module federation or micro frontend setups. Defaults to `false`. |
-| telemetry | `boolean` | optional | If set to true, internal plugin errors and performance data will be sent to Sentry. At Sentry we like to use Sentry ourselves to deliver faster and more stable products. We're very careful of what we're sending. We won't collect anything other than error and high-level performance data. We will never collect your code or any details of the projects in which you're using this plugin. Defaults to `true`. |
+| Option | Type | Required | Description |
+| ----------------------- | -------------------------------------------------------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| include | `string`/`array`/`object` | required | One or more paths that the plugin should scan recursively for sources. It will upload all `.map` files and match associated `.js` files. Other file types can be uploaded by using the `ext` option. Each path can be given as a string or an object with path-specific options. See [table below](#include) for details. |
+| org | `string` | optional | The slug of the Sentry organization associated with the app. Can also be specified via the `SENTRY_ORG` environment variable. |
+| project | `string` | optional | The slug of the Sentry project associated with the app. Can also be specified via the `SENTRY_PROJECT` environment variable. |
+| authToken | `string` | optional | The authentication token to use for all communication with Sentry. Can be obtained from https://sentry.io/settings/account/api/auth-tokens/. Required scopes: `project:releases` (and `org:read` if `setCommits` option is used). Can also be specified via the `SENTRY_AUTH_TOKEN` env variable. |
+| url | `string` | optional | The base URL of your Sentry instance. Use this if you are using a self-hosted or Sentry instance other than sentry.io. This value can also be set via the `SENTRY_URL` environment variable. Defaults to https://sentry.io/, which is the correct value for SaaS customers. |
+| customHeader | `string` | optional | A header added to every outgoing network request. The format should be `header-key: header-value`. This value can also be specified via the `CUSTOM_HEADER` environment variable. |
+| vcsRemote | `string` | optional | Version control system remote name. This value can also be specified via the `SENTRY_VSC_REMOTE` environment variable. Defaults to `'origin'`. |
+| release | `string` | optional | Unique identifier for the release. This value can also be specified via the `SENTRY_RELEASE` environment variable. Defaults to the output of the `sentry-cli releases propose-version` command, which automatically detects values for Cordova, Heroku, AWS CodeBuild, CircleCI, Xcode, and Gradle, and otherwise uses the git `HEAD`'s commit SHA. (**the latter requires access to `git` CLI and for the root directory to be a valid repository**). |
+| dist | `string` | optional | Unique identifier for the distribution, used to further segment your release. Usually your build number. |
+| releaseInjectionTargets | `array`/`RegExp`/`(string \| RegExp)[]`/`function(filePath: string): bool` | optional | Filter for modules that the release should be injected in. This option takes a string, a regular expression, or an array containing strings, regular expressions, or both. It's also possible to provide a filter function that takes the absolute path of a processed module. It should return `true` if the release should be injected into the module and `false` otherwise. String values of this option require a full match with the absolute path of the module. By default, the release will be injected into all modules - however, bundlers will include the injected release code only once per entrypoint. If release injection should be disabled, provide an empty array here. |
+| ignoreFile | `string` | optional | Path to a file containing list of files/directories to ignore. Can point to `.gitignore` or anything with the same format. |
+| ignore | `string`/`array` | optional | One or more paths to ignore during upload. Overrides entries in `ignoreFile` file. Defaults to `['node_modules']` if neither `ignoreFile` nor `ignore` is set. |
+| configFile | `string` | optional | Path to Sentry CLI config properties, as described in https://docs.sentry.io/product/cli/configuration/#configuration-file. By default, the config file is looked for upwards from the current path, and defaults from `~/.sentryclirc` are always loaded. |
+| ext | `array` | optional | Array of file extensions of files to be collected for the file upload. By default the following file extensions are processed: js, map, jsbundle and bundle. |
+| urlPrefix | `string` | optional | URL prefix to add to the beginning of all filenames. Defaults to `'~/'` but you might want to set this to the full URL. This is also useful if your files are stored in a sub folder. eg: url-prefix `'~/static/js'`. |
+| urlSuffix | `string` | optional | URL suffix to add to the end of all filenames. Useful for appending query parameters. |
+| validate | `boolean` | optional | When `true`, attempts source map validation before upload if rewriting is not enabled. It will spot a variety of issues with source maps and cancel the upload if any are found. Defaults to `false` as this can cause false positives. |
+| stripPrefix | `array` | optional | When paired with the `rewrite` option, this will remove a prefix from filename references inside of sourcemaps. For instance you can use this to remove a path that is build machine specific. Note that this will NOT change the names of uploaded files. |
+| stripCommonPrefix | `boolean` | optional | When paired with the `rewrite` option, this will add `~` to the `stripPrefix` array. |
+| sourceMapReference | `boolean` | optional | Determines whether sentry-cli should attempt to link minified files with their corresponding maps. By default, it will match files and maps based on name, and add a Sourcemap header to each minified file for which it finds a map. Can be disabled if all minified files contain a `sourceMappingURL`. Defaults to `true`. |
+| rewrite | `boolean` | optional | Enables rewriting of matching source maps so that indexed maps are flattened and missing sources are inlined if possible. Defaults to `true` |
+| finalize | `boolean` | optional | Determines if the Sentry release record should be automatically finalized (meaning a date_released timestamp is added) after artifact upload. Defaults to `true`. |
+| dryRun | `boolean` | optional | Attempts a dry run (useful for dev environments), making release creation a no-op. Defaults to `false`. |
+| debug | `boolean` | optional | Print useful debug information. Defaults to `false`. |
+| silent | `boolean` | optional | Suppresses all logs. Defaults to `false`. |
+| cleanArtifacts | `boolean` | optional | Remove all the artifacts in the release before the upload. Defaults to `false`. |
+| errorHandler | `function(err: Error): void` | optional | When an error occurs during rlease creation or sourcemaps upload, the plugin will call this function. By default, the plugin will simply throw an error, thereby stopping the bundling process. If an `errorHandler` callback is provided, compilation will continue, unless an error is thrown in the provided callback. |
+| setCommits | `Object` | optional | Associates the release with its commits in Sentry. See [table below](#setCommits) for details. |
+| deploy | `Object` | optional | Adds deployment information to the release in Sentry. See [table below](#deploy) for details. |
+| injectReleasesMap | `boolean` | optional | If set to true, the plugin will inject an additional `SENTRY_RELEASES` variable that maps from `{org}@{project}` to the `release` value. This might be helpful for webpack module federation or micro frontend setups. Defaults to `false`. |
+| telemetry | `boolean` | optional | If set to true, internal plugin errors and performance data will be sent to Sentry. At Sentry we like to use Sentry ourselves to deliver faster and more stable products. We're very careful of what we're sending. We won't collect anything other than error and high-level performance data. We will never collect your code or any details of the projects in which you're using this plugin. Defaults to `true`. |
#### options.include:
diff --git a/packages/vite-plugin/README.md b/packages/vite-plugin/README.md
index 56b7fe212f17..473684c8a26f 100644
--- a/packages/vite-plugin/README.md
+++ b/packages/vite-plugin/README.md
@@ -54,39 +54,39 @@ As an alternative to passing options explicitly, you can also use a `.sentryclir
The Sentry Vite Plugin takes an options argument with the following properties:
-| Option | Type | Required | Description |
-| ------------------ | -------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| include | `string`/`array`/`object` | required | One or more paths that the plugin should scan recursively for sources. It will upload all `.map` files and match associated `.js` files. Other file types can be uploaded by using the `ext` option. Each path can be given as a string or an object with path-specific options. See [table below](#include) for details. |
-| org | `string` | optional | The slug of the Sentry organization associated with the app. Can also be specified via the `SENTRY_ORG` environment variable. |
-| project | `string` | optional | The slug of the Sentry project associated with the app. Can also be specified via the `SENTRY_PROJECT` environment variable. |
-| authToken | `string` | optional | The authentication token to use for all communication with Sentry. Can be obtained from https://sentry.io/settings/account/api/auth-tokens/. Required scopes: `project:releases` (and `org:read` if `setCommits` option is used). Can also be specified via the `SENTRY_AUTH_TOKEN` env variable. |
-| url | `string` | optional | The base URL of your Sentry instance. Use this if you are using a self-hosted or Sentry instance other than sentry.io. This value can also be set via the `SENTRY_URL` environment variable. Defaults to https://sentry.io/, which is the correct value for SaaS customers. |
-| customHeader | `string` | optional | A header added to every outgoing network request. The format should be `header-key: header-value`. This value can also be specified via the `CUSTOM_HEADER` environment variable. |
-| vcsRemote | `string` | optional | Version control system remote name. This value can also be specified via the `SENTRY_VSC_REMOTE` environment variable. Defaults to `'origin'`. |
-| release | `string` | optional | Unique identifier for the release. This value can also be specified via the `SENTRY_RELEASE` environment variable. Defaults to the output of the `sentry-cli releases propose-version` command, which automatically detects values for Cordova, Heroku, AWS CodeBuild, CircleCI, Xcode, and Gradle, and otherwise uses the git `HEAD`'s commit SHA. (**the latter requires access to `git` CLI and for the root directory to be a valid repository**). |
-| dist | `string` | optional | Unique identifier for the distribution, used to further segment your release. Usually your build number. |
-| entries | `array`/`RegExp`/`(string \| RegExp)[]`/`function(filePath: string): bool` | optional | Filter for bundle entry points that should contain the provided release. This option takes a string, a regular expression, or an array containing strings, regular expressions, or both. It's also possible to provide a filter function that takes the absolute path of a processed entrypoint and should return `true` if the release should be injected into the entrypoint and `false` otherwise. String values of this option require a full match with the absolute path of the bundle. By default, the release will be injected into all entry points. |
-| ignoreFile | `string` | optional | Path to a file containing list of files/directories to ignore. Can point to `.gitignore` or anything with the same format. |
-| ignore | `string`/`array` | optional | One or more paths to ignore during upload. Overrides entries in `ignoreFile` file. Defaults to `['node_modules']` if neither `ignoreFile` nor `ignore` is set. |
-| configFile | `string` | optional | Path to Sentry CLI config properties, as described in https://docs.sentry.io/product/cli/configuration/#configuration-file. By default, the config file is looked for upwards from the current path, and defaults from `~/.sentryclirc` are always loaded. |
-| ext | `array` | optional | Array of file extensions of files to be collected for the file upload. By default the following file extensions are processed: js, map, jsbundle and bundle. |
-| urlPrefix | `string` | optional | URL prefix to add to the beginning of all filenames. Defaults to `'~/'` but you might want to set this to the full URL. This is also useful if your files are stored in a sub folder. eg: url-prefix `'~/static/js'`. |
-| urlSuffix | `string` | optional | URL suffix to add to the end of all filenames. Useful for appending query parameters. |
-| validate | `boolean` | optional | When `true`, attempts source map validation before upload if rewriting is not enabled. It will spot a variety of issues with source maps and cancel the upload if any are found. Defaults to `false` as this can cause false positives. |
-| stripPrefix | `array` | optional | When paired with the `rewrite` option, this will remove a prefix from filename references inside of sourcemaps. For instance you can use this to remove a path that is build machine specific. Note that this will NOT change the names of uploaded files. |
-| stripCommonPrefix | `boolean` | optional | When paired with the `rewrite` option, this will add `~` to the `stripPrefix` array. |
-| sourceMapReference | `boolean` | optional | Determines whether sentry-cli should attempt to link minified files with their corresponding maps. By default, it will match files and maps based on name, and add a Sourcemap header to each minified file for which it finds a map. Can be disabled if all minified files contain a `sourceMappingURL`. Defaults to `true`. |
-| rewrite | `boolean` | optional | Enables rewriting of matching source maps so that indexed maps are flattened and missing sources are inlined if possible. Defaults to `true` |
-| finalize | `boolean` | optional | Determines if the Sentry release record should be automatically finalized (meaning a date_released timestamp is added) after artifact upload. Defaults to `true`. |
-| dryRun | `boolean` | optional | Attempts a dry run (useful for dev environments), making release creation a no-op. Defaults to `false`. |
-| debug | `boolean` | optional | Print useful debug information. Defaults to `false`. |
-| silent | `boolean` | optional | Suppresses all logs. Defaults to `false`. |
-| cleanArtifacts | `boolean` | optional | Remove all the artifacts in the release before the upload. Defaults to `false`. |
-| errorHandler | `function(err: Error): void` | optional | When an error occurs during rlease creation or sourcemaps upload, the plugin will call this function. By default, the plugin will simply throw an error, thereby stopping the bundling process. If an `errorHandler` callback is provided, compilation will continue, unless an error is thrown in the provided callback. |
-| setCommits | `Object` | optional | Associates the release with its commits in Sentry. See [table below](#setCommits) for details. |
-| deploy | `Object` | optional | Adds deployment information to the release in Sentry. See [table below](#deploy) for details. |
-| injectReleasesMap | `boolean` | optional | If set to true, the plugin will inject an additional `SENTRY_RELEASES` variable that maps from `{org}@{project}` to the `release` value. This might be helpful for webpack module federation or micro frontend setups. Defaults to `false`. |
-| telemetry | `boolean` | optional | If set to true, internal plugin errors and performance data will be sent to Sentry. At Sentry we like to use Sentry ourselves to deliver faster and more stable products. We're very careful of what we're sending. We won't collect anything other than error and high-level performance data. We will never collect your code or any details of the projects in which you're using this plugin. Defaults to `true`. |
+| Option | Type | Required | Description |
+| ----------------------- | -------------------------------------------------------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| include | `string`/`array`/`object` | required | One or more paths that the plugin should scan recursively for sources. It will upload all `.map` files and match associated `.js` files. Other file types can be uploaded by using the `ext` option. Each path can be given as a string or an object with path-specific options. See [table below](#include) for details. |
+| org | `string` | optional | The slug of the Sentry organization associated with the app. Can also be specified via the `SENTRY_ORG` environment variable. |
+| project | `string` | optional | The slug of the Sentry project associated with the app. Can also be specified via the `SENTRY_PROJECT` environment variable. |
+| authToken | `string` | optional | The authentication token to use for all communication with Sentry. Can be obtained from https://sentry.io/settings/account/api/auth-tokens/. Required scopes: `project:releases` (and `org:read` if `setCommits` option is used). Can also be specified via the `SENTRY_AUTH_TOKEN` env variable. |
+| url | `string` | optional | The base URL of your Sentry instance. Use this if you are using a self-hosted or Sentry instance other than sentry.io. This value can also be set via the `SENTRY_URL` environment variable. Defaults to https://sentry.io/, which is the correct value for SaaS customers. |
+| customHeader | `string` | optional | A header added to every outgoing network request. The format should be `header-key: header-value`. This value can also be specified via the `CUSTOM_HEADER` environment variable. |
+| vcsRemote | `string` | optional | Version control system remote name. This value can also be specified via the `SENTRY_VSC_REMOTE` environment variable. Defaults to `'origin'`. |
+| releaseInjectionTargets | `array`/`RegExp`/`(string \| RegExp)[]`/`function(filePath: string): bool` | optional | Filter for modules that the release should be injected in. This option takes a string, a regular expression, or an array containing strings, regular expressions, or both. It's also possible to provide a filter function that takes the absolute path of a processed module. It should return `true` if the release should be injected into the module and `false` otherwise. String values of this option require a full match with the absolute path of the module. By default, the release will be injected into all modules - however, bundlers will include the injected release code only once per entrypoint. If release injection should be disabled, provide an empty array here. |
+| dist | `string` | optional | Unique identifier for the distribution, used to further segment your release. Usually your build number. |
+| entries | `array`/`RegExp`/`(string \| RegExp)[]`/`function(filePath: string): bool` | optional | Filter for modules that the release should be injected in. This option takes a string, a regular expression, or an array containing strings, regular expressions, or both. It's also possible to provide a filter function that takes the absolute path of a processed module. It should return `true` if the release should be injected into the module and `false` otherwise. String values of this option require a full match with the absolute path of the bundle. By default, the release will be injected into all modules - however, bundlers will include the injected release code only once per entrypoint. |
+| ignoreFile | `string` | optional | Path to a file containing list of files/directories to ignore. Can point to `.gitignore` or anything with the same format. |
+| ignore | `string`/`array` | optional | One or more paths to ignore during upload. Overrides entries in `ignoreFile` file. Defaults to `['node_modules']` if neither `ignoreFile` nor `ignore` is set. |
+| configFile | `string` | optional | Path to Sentry CLI config properties, as described in https://docs.sentry.io/product/cli/configuration/#configuration-file. By default, the config file is looked for upwards from the current path, and defaults from `~/.sentryclirc` are always loaded. |
+| ext | `array` | optional | Array of file extensions of files to be collected for the file upload. By default the following file extensions are processed: js, map, jsbundle and bundle. |
+| urlPrefix | `string` | optional | URL prefix to add to the beginning of all filenames. Defaults to `'~/'` but you might want to set this to the full URL. This is also useful if your files are stored in a sub folder. eg: url-prefix `'~/static/js'`. |
+| urlSuffix | `string` | optional | URL suffix to add to the end of all filenames. Useful for appending query parameters. |
+| validate | `boolean` | optional | When `true`, attempts source map validation before upload if rewriting is not enabled. It will spot a variety of issues with source maps and cancel the upload if any are found. Defaults to `false` as this can cause false positives. |
+| stripPrefix | `array` | optional | When paired with the `rewrite` option, this will remove a prefix from filename references inside of sourcemaps. For instance you can use this to remove a path that is build machine specific. Note that this will NOT change the names of uploaded files. |
+| stripCommonPrefix | `boolean` | optional | When paired with the `rewrite` option, this will add `~` to the `stripPrefix` array. |
+| sourceMapReference | `boolean` | optional | Determines whether sentry-cli should attempt to link minified files with their corresponding maps. By default, it will match files and maps based on name, and add a Sourcemap header to each minified file for which it finds a map. Can be disabled if all minified files contain a `sourceMappingURL`. Defaults to `true`. |
+| rewrite | `boolean` | optional | Enables rewriting of matching source maps so that indexed maps are flattened and missing sources are inlined if possible. Defaults to `true` |
+| finalize | `boolean` | optional | Determines if the Sentry release record should be automatically finalized (meaning a date_released timestamp is added) after artifact upload. Defaults to `true`. |
+| dryRun | `boolean` | optional | Attempts a dry run (useful for dev environments), making release creation a no-op. Defaults to `false`. |
+| debug | `boolean` | optional | Print useful debug information. Defaults to `false`. |
+| silent | `boolean` | optional | Suppresses all logs. Defaults to `false`. |
+| cleanArtifacts | `boolean` | optional | Remove all the artifacts in the release before the upload. Defaults to `false`. |
+| errorHandler | `function(err: Error): void` | optional | When an error occurs during rlease creation or sourcemaps upload, the plugin will call this function. By default, the plugin will simply throw an error, thereby stopping the bundling process. If an `errorHandler` callback is provided, compilation will continue, unless an error is thrown in the provided callback. |
+| setCommits | `Object` | optional | Associates the release with its commits in Sentry. See [table below](#setCommits) for details. |
+| deploy | `Object` | optional | Adds deployment information to the release in Sentry. See [table below](#deploy) for details. |
+| injectReleasesMap | `boolean` | optional | If set to true, the plugin will inject an additional `SENTRY_RELEASES` variable that maps from `{org}@{project}` to the `release` value. This might be helpful for webpack module federation or micro frontend setups. Defaults to `false`. |
+| telemetry | `boolean` | optional | If set to true, internal plugin errors and performance data will be sent to Sentry. At Sentry we like to use Sentry ourselves to deliver faster and more stable products. We're very careful of what we're sending. We won't collect anything other than error and high-level performance data. We will never collect your code or any details of the projects in which you're using this plugin. Defaults to `true`. |
#### options.include:
diff --git a/packages/webpack-plugin/README.md b/packages/webpack-plugin/README.md
index ecd36bf459db..35b765727caa 100644
--- a/packages/webpack-plugin/README.md
+++ b/packages/webpack-plugin/README.md
@@ -54,39 +54,39 @@ As an alternative to passing options explicitly, you can also use a `.sentryclir
The Sentry Webpack Plugin takes an options argument with the following properties:
-| Option | Type | Required | Description |
-| ------------------ | -------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| include | `string`/`array`/`object` | required | One or more paths that the plugin should scan recursively for sources. It will upload all `.map` files and match associated `.js` files. Other file types can be uploaded by using the `ext` option. Each path can be given as a string or an object with path-specific options. See [table below](#include) for details. |
-| org | `string` | optional | The slug of the Sentry organization associated with the app. Can also be specified via the `SENTRY_ORG` environment variable. |
-| project | `string` | optional | The slug of the Sentry project associated with the app. Can also be specified via the `SENTRY_PROJECT` environment variable. |
-| authToken | `string` | optional | The authentication token to use for all communication with Sentry. Can be obtained from https://sentry.io/settings/account/api/auth-tokens/. Required scopes: `project:releases` (and `org:read` if `setCommits` option is used). Can also be specified via the `SENTRY_AUTH_TOKEN` env variable. |
-| url | `string` | optional | The base URL of your Sentry instance. Use this if you are using a self-hosted or Sentry instance other than sentry.io. This value can also be set via the `SENTRY_URL` environment variable. Defaults to https://sentry.io/, which is the correct value for SaaS customers. |
-| customHeader | `string` | optional | A header added to every outgoing network request. The format should be `header-key: header-value`. This value can also be specified via the `CUSTOM_HEADER` environment variable. |
-| vcsRemote | `string` | optional | Version control system remote name. This value can also be specified via the `SENTRY_VSC_REMOTE` environment variable. Defaults to `'origin'`. |
-| release | `string` | optional | Unique identifier for the release. This value can also be specified via the `SENTRY_RELEASE` environment variable. Defaults to the output of the `sentry-cli releases propose-version` command, which automatically detects values for Cordova, Heroku, AWS CodeBuild, CircleCI, Xcode, and Gradle, and otherwise uses the git `HEAD`'s commit SHA. (**the latter requires access to `git` CLI and for the root directory to be a valid repository**). |
-| dist | `string` | optional | Unique identifier for the distribution, used to further segment your release. Usually your build number. |
-| entries | `array`/`RegExp`/`(string \| RegExp)[]`/`function(filePath: string): bool` | optional | Filter for bundle entry points that should contain the provided release. This option takes a string, a regular expression, or an array containing strings, regular expressions, or both. It's also possible to provide a filter function that takes the absolute path of a processed entrypoint and should return `true` if the release should be injected into the entrypoint and `false` otherwise. String values of this option require a full match with the absolute path of the bundle. By default, the release will be injected into all entry points. |
-| ignoreFile | `string` | optional | Path to a file containing list of files/directories to ignore. Can point to `.gitignore` or anything with the same format. |
-| ignore | `string`/`array` | optional | One or more paths to ignore during upload. Overrides entries in `ignoreFile` file. Defaults to `['node_modules']` if neither `ignoreFile` nor `ignore` is set. |
-| configFile | `string` | optional | Path to Sentry CLI config properties, as described in https://docs.sentry.io/product/cli/configuration/#configuration-file. By default, the config file is looked for upwards from the current path, and defaults from `~/.sentryclirc` are always loaded. |
-| ext | `array` | optional | Array of file extensions of files to be collected for the file upload. By default the following file extensions are processed: js, map, jsbundle and bundle. |
-| urlPrefix | `string` | optional | URL prefix to add to the beginning of all filenames. Defaults to `'~/'` but you might want to set this to the full URL. This is also useful if your files are stored in a sub folder. eg: url-prefix `'~/static/js'`. |
-| urlSuffix | `string` | optional | URL suffix to add to the end of all filenames. Useful for appending query parameters. |
-| validate | `boolean` | optional | When `true`, attempts source map validation before upload if rewriting is not enabled. It will spot a variety of issues with source maps and cancel the upload if any are found. Defaults to `false` as this can cause false positives. |
-| stripPrefix | `array` | optional | When paired with the `rewrite` option, this will remove a prefix from filename references inside of sourcemaps. For instance you can use this to remove a path that is build machine specific. Note that this will NOT change the names of uploaded files. |
-| stripCommonPrefix | `boolean` | optional | When paired with the `rewrite` option, this will add `~` to the `stripPrefix` array. |
-| sourceMapReference | `boolean` | optional | Determines whether sentry-cli should attempt to link minified files with their corresponding maps. By default, it will match files and maps based on name, and add a Sourcemap header to each minified file for which it finds a map. Can be disabled if all minified files contain a `sourceMappingURL`. Defaults to `true`. |
-| rewrite | `boolean` | optional | Enables rewriting of matching source maps so that indexed maps are flattened and missing sources are inlined if possible. Defaults to `true` |
-| finalize | `boolean` | optional | Determines if the Sentry release record should be automatically finalized (meaning a date_released timestamp is added) after artifact upload. Defaults to `true`. |
-| dryRun | `boolean` | optional | Attempts a dry run (useful for dev environments), making release creation a no-op. Defaults to `false`. |
-| debug | `boolean` | optional | Print useful debug information. Defaults to `false`. |
-| silent | `boolean` | optional | Suppresses all logs. Defaults to `false`. |
-| cleanArtifacts | `boolean` | optional | Remove all the artifacts in the release before the upload. Defaults to `false`. |
-| errorHandler | `function(err: Error): void` | optional | When an error occurs during rlease creation or sourcemaps upload, the plugin will call this function. By default, the plugin will simply throw an error, thereby stopping the bundling process. If an `errorHandler` callback is provided, compilation will continue, unless an error is thrown in the provided callback. |
-| setCommits | `Object` | optional | Associates the release with its commits in Sentry. See [table below](#setCommits) for details. |
-| deploy | `Object` | optional | Adds deployment information to the release in Sentry. See [table below](#deploy) for details. |
-| injectReleasesMap | `boolean` | optional | If set to true, the plugin will inject an additional `SENTRY_RELEASES` variable that maps from `{org}@{project}` to the `release` value. This might be helpful for webpack module federation or micro frontend setups. Defaults to `false`. |
-| telemetry | `boolean` | optional | If set to true, internal plugin errors and performance data will be sent to Sentry. At Sentry we like to use Sentry ourselves to deliver faster and more stable products. We're very careful of what we're sending. We won't collect anything other than error and high-level performance data. We will never collect your code or any details of the projects in which you're using this plugin. Defaults to `true`. |
+| Option | Type | Required | Description |
+| ----------------------- | -------------------------------------------------------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| include | `string`/`array`/`object` | required | One or more paths that the plugin should scan recursively for sources. It will upload all `.map` files and match associated `.js` files. Other file types can be uploaded by using the `ext` option. Each path can be given as a string or an object with path-specific options. See [table below](#include) for details. |
+| org | `string` | optional | The slug of the Sentry organization associated with the app. Can also be specified via the `SENTRY_ORG` environment variable. |
+| project | `string` | optional | The slug of the Sentry project associated with the app. Can also be specified via the `SENTRY_PROJECT` environment variable. |
+| authToken | `string` | optional | The authentication token to use for all communication with Sentry. Can be obtained from https://sentry.io/settings/account/api/auth-tokens/. Required scopes: `project:releases` (and `org:read` if `setCommits` option is used). Can also be specified via the `SENTRY_AUTH_TOKEN` env variable. |
+| url | `string` | optional | The base URL of your Sentry instance. Use this if you are using a self-hosted or Sentry instance other than sentry.io. This value can also be set via the `SENTRY_URL` environment variable. Defaults to https://sentry.io/, which is the correct value for SaaS customers. |
+| customHeader | `string` | optional | A header added to every outgoing network request. The format should be `header-key: header-value`. This value can also be specified via the `CUSTOM_HEADER` environment variable. |
+| vcsRemote | `string` | optional | Version control system remote name. This value can also be specified via the `SENTRY_VSC_REMOTE` environment variable. Defaults to `'origin'`. |
+| release | `string` | optional | Unique identifier for the release. This value can also be specified via the `SENTRY_RELEASE` environment variable. Defaults to the output of the `sentry-cli releases propose-version` command, which automatically detects values for Cordova, Heroku, AWS CodeBuild, CircleCI, Xcode, and Gradle, and otherwise uses the git `HEAD`'s commit SHA. (**the latter requires access to `git` CLI and for the root directory to be a valid repository**). |
+| dist | `string` | optional | Unique identifier for the distribution, used to further segment your release. Usually your build number. |
+| releaseInjectionTargets | `array`/`RegExp`/`(string \| RegExp)[]`/`function(filePath: string): bool` | optional | Filter for modules that the release should be injected in. This option takes a string, a regular expression, or an array containing strings, regular expressions, or both. It's also possible to provide a filter function that takes the absolute path of a processed module. It should return `true` if the release should be injected into the module and `false` otherwise. String values of this option require a full match with the absolute path of the module. By default, the release will be injected into all modules - however, bundlers will include the injected release code only once per entrypoint. If release injection should be disabled, provide an empty array here. |
+| ignoreFile | `string` | optional | Path to a file containing list of files/directories to ignore. Can point to `.gitignore` or anything with the same format. |
+| ignore | `string`/`array` | optional | One or more paths to ignore during upload. Overrides entries in `ignoreFile` file. Defaults to `['node_modules']` if neither `ignoreFile` nor `ignore` is set. |
+| configFile | `string` | optional | Path to Sentry CLI config properties, as described in https://docs.sentry.io/product/cli/configuration/#configuration-file. By default, the config file is looked for upwards from the current path, and defaults from `~/.sentryclirc` are always loaded. |
+| ext | `array` | optional | Array of file extensions of files to be collected for the file upload. By default the following file extensions are processed: js, map, jsbundle and bundle. |
+| urlPrefix | `string` | optional | URL prefix to add to the beginning of all filenames. Defaults to `'~/'` but you might want to set this to the full URL. This is also useful if your files are stored in a sub folder. eg: url-prefix `'~/static/js'`. |
+| urlSuffix | `string` | optional | URL suffix to add to the end of all filenames. Useful for appending query parameters. |
+| validate | `boolean` | optional | When `true`, attempts source map validation before upload if rewriting is not enabled. It will spot a variety of issues with source maps and cancel the upload if any are found. Defaults to `false` as this can cause false positives. |
+| stripPrefix | `array` | optional | When paired with the `rewrite` option, this will remove a prefix from filename references inside of sourcemaps. For instance you can use this to remove a path that is build machine specific. Note that this will NOT change the names of uploaded files. |
+| stripCommonPrefix | `boolean` | optional | When paired with the `rewrite` option, this will add `~` to the `stripPrefix` array. |
+| sourceMapReference | `boolean` | optional | Determines whether sentry-cli should attempt to link minified files with their corresponding maps. By default, it will match files and maps based on name, and add a Sourcemap header to each minified file for which it finds a map. Can be disabled if all minified files contain a `sourceMappingURL`. Defaults to `true`. |
+| rewrite | `boolean` | optional | Enables rewriting of matching source maps so that indexed maps are flattened and missing sources are inlined if possible. Defaults to `true` |
+| finalize | `boolean` | optional | Determines if the Sentry release record should be automatically finalized (meaning a date_released timestamp is added) after artifact upload. Defaults to `true`. |
+| dryRun | `boolean` | optional | Attempts a dry run (useful for dev environments), making release creation a no-op. Defaults to `false`. |
+| debug | `boolean` | optional | Print useful debug information. Defaults to `false`. |
+| silent | `boolean` | optional | Suppresses all logs. Defaults to `false`. |
+| cleanArtifacts | `boolean` | optional | Remove all the artifacts in the release before the upload. Defaults to `false`. |
+| errorHandler | `function(err: Error): void` | optional | When an error occurs during rlease creation or sourcemaps upload, the plugin will call this function. By default, the plugin will simply throw an error, thereby stopping the bundling process. If an `errorHandler` callback is provided, compilation will continue, unless an error is thrown in the provided callback. |
+| setCommits | `Object` | optional | Associates the release with its commits in Sentry. See [table below](#setCommits) for details. |
+| deploy | `Object` | optional | Adds deployment information to the release in Sentry. See [table below](#deploy) for details. |
+| injectReleasesMap | `boolean` | optional | If set to true, the plugin will inject an additional `SENTRY_RELEASES` variable that maps from `{org}@{project}` to the `release` value. This might be helpful for webpack module federation or micro frontend setups. Defaults to `false`. |
+| telemetry | `boolean` | optional | If set to true, internal plugin errors and performance data will be sent to Sentry. At Sentry we like to use Sentry ourselves to deliver faster and more stable products. We're very careful of what we're sending. We won't collect anything other than error and high-level performance data. We will never collect your code or any details of the projects in which you're using this plugin. Defaults to `true`. |
#### options.include:
From d35c948752dd33c69f9c7ed1af010b790f0870b6 Mon Sep 17 00:00:00 2001
From: Lukas Stracke
Date: Thu, 17 Nov 2022 15:29:31 +0100
Subject: [PATCH 104/640] meta: Update changelog for 0.2.0 (#125)
---
CHANGELOG.md | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 11863d31a238..79b485daae40 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,13 @@
- "You know what they say ‘Fool me once, strike one, but fool me twice… strike three.’" — Michael Scott
+## 0.2.0
+
+This release replaces the `entries` option with `releaseInjectionTargets` which is a breaking change from previous versions.
+For more information, take a look at the [migration guide](https://github.com/getsentry/sentry-javascript-bundler-plugins/blob/main/MIGRATION.md#replacing-entries-option-with-releaseinjectiontargets).
+
+- feat: Replace `entries` option with `releaseInjectionTargets` (#123)
+
## 0.1.0
With this release, the Sentry bundler plugins support all features of the standalone Sentry Webpack plugin.
From d452271f3d6d7f8f732d087ca6e2ef13953c46b6 Mon Sep 17 00:00:00 2001
From: getsentry-bot
Date: Thu, 17 Nov 2022 14:30:57 +0000
Subject: [PATCH 105/640] release: 0.2.0
---
lerna.json | 2 +-
packages/bundler-plugin-core/package.json | 6 +++---
packages/e2e-tests/package.json | 14 +++++++-------
packages/esbuild-plugin/package.json | 8 ++++----
packages/eslint-configs/package.json | 2 +-
packages/integration-tests/package.json | 8 ++++----
packages/playground/package.json | 4 ++--
packages/rollup-plugin/package.json | 8 ++++----
packages/tsconfigs/package.json | 2 +-
packages/vite-plugin/package.json | 8 ++++----
packages/webpack-plugin/package.json | 8 ++++----
11 files changed, 35 insertions(+), 35 deletions(-)
diff --git a/lerna.json b/lerna.json
index adfeeedd5a40..aff9f61b70c0 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
{
- "version": "0.1.0",
+ "version": "0.2.0",
"packages": "packages/*",
"npmClient": "yarn",
"useWorkspaces": true
diff --git a/packages/bundler-plugin-core/package.json b/packages/bundler-plugin-core/package.json
index 5aac11d6e698..a48fd96f5ad0 100644
--- a/packages/bundler-plugin-core/package.json
+++ b/packages/bundler-plugin-core/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry/bundler-plugin-core",
- "version": "0.1.0",
+ "version": "0.2.0",
"description": "Sentry Bundler Plugin Core",
"repository": "git://github.com/getsentry/sentry-javascript-bundler-plugins.git",
"homepage": "https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/bundler-plugin-core",
@@ -50,8 +50,8 @@
"@rollup/plugin-json": "4.1.0",
"@rollup/plugin-node-resolve": "13.3.0",
"@rollup/plugin-replace": "^4.0.0",
- "@sentry-internal/eslint-config": "0.1.0",
- "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.1.0",
+ "@sentry-internal/eslint-config": "0.2.0",
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.2.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
diff --git a/packages/e2e-tests/package.json b/packages/e2e-tests/package.json
index 162757ed4e57..b1c6408a66b0 100644
--- a/packages/e2e-tests/package.json
+++ b/packages/e2e-tests/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry-internal/bundler-plugin-e2e-tests",
- "version": "0.1.0",
+ "version": "0.2.0",
"license": "MIT",
"private": true,
"scripts": {
@@ -15,15 +15,15 @@
"lint": "eslint ."
},
"dependencies": {
- "@sentry/esbuild-plugin": "0.1.0",
- "@sentry/rollup-plugin": "0.1.0",
- "@sentry/vite-plugin": "0.1.0",
- "@sentry/webpack-plugin": "0.1.0",
+ "@sentry/esbuild-plugin": "0.2.0",
+ "@sentry/rollup-plugin": "0.2.0",
+ "@sentry/vite-plugin": "0.2.0",
+ "@sentry/webpack-plugin": "0.2.0",
"axios": "^1.1.3"
},
"devDependencies": {
- "@sentry-internal/eslint-config": "0.1.0",
- "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.1.0",
+ "@sentry-internal/eslint-config": "0.2.0",
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.2.0",
"@swc/jest": "^0.2.21",
"@types/axios": "^0.14.0",
"@types/glob": "8.0.0",
diff --git a/packages/esbuild-plugin/package.json b/packages/esbuild-plugin/package.json
index 9a353fcf1cc3..1293ba1db11d 100644
--- a/packages/esbuild-plugin/package.json
+++ b/packages/esbuild-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry/esbuild-plugin",
- "version": "0.1.0",
+ "version": "0.2.0",
"description": "Official Sentry esbuild plugin",
"repository": "git@github.com:getsentry/sentry-javascript-bundler-plugins.git",
"homepage": "https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/esbuild-plugin",
@@ -40,7 +40,7 @@
"lint": "eslint ./src ./test"
},
"dependencies": {
- "@sentry/bundler-plugin-core": "0.1.0"
+ "@sentry/bundler-plugin-core": "0.2.0"
},
"devDependencies": {
"@babel/core": "7.18.5",
@@ -50,8 +50,8 @@
"@rollup/plugin-commonjs": "22.0.1",
"@rollup/plugin-json": "4.1.0",
"@rollup/plugin-node-resolve": "13.3.0",
- "@sentry-internal/eslint-config": "0.1.0",
- "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.1.0",
+ "@sentry-internal/eslint-config": "0.2.0",
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.2.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
diff --git a/packages/eslint-configs/package.json b/packages/eslint-configs/package.json
index 2750f7ddc996..a72172d0291a 100644
--- a/packages/eslint-configs/package.json
+++ b/packages/eslint-configs/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry-internal/eslint-config",
- "version": "0.1.0",
+ "version": "0.2.0",
"license": "MIT",
"private": true,
"peerDependencies": {
diff --git a/packages/integration-tests/package.json b/packages/integration-tests/package.json
index 1bede89237f9..b89e471ac28f 100644
--- a/packages/integration-tests/package.json
+++ b/packages/integration-tests/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry-internal/integration-tests",
- "version": "0.1.0",
+ "version": "0.2.0",
"license": "MIT",
"private": true,
"scripts": {
@@ -15,9 +15,9 @@
"clean:deps": "rimraf node_modules"
},
"dependencies": {
- "@sentry-internal/eslint-config": "0.1.0",
- "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.1.0",
- "@sentry/bundler-plugin-core": "0.1.0",
+ "@sentry-internal/eslint-config": "0.2.0",
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.2.0",
+ "@sentry/bundler-plugin-core": "0.2.0",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
"@types/webpack4": "npm:@types/webpack@4.41.32",
diff --git a/packages/playground/package.json b/packages/playground/package.json
index 34ea74a7615f..f4003c2db7a3 100644
--- a/packages/playground/package.json
+++ b/packages/playground/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry-internal/bundler-plugin-playground",
- "version": "0.1.0",
+ "version": "0.2.0",
"license": "MIT",
"private": true,
"scripts": {
@@ -18,7 +18,7 @@
"start:proxyLogger": "ts-node scripts/request-logger-proxy.ts"
},
"dependencies": {
- "@sentry/bundler-plugin-core": "0.1.0",
+ "@sentry/bundler-plugin-core": "0.2.0",
"@sentry/integrations": "^7.19.0",
"@sentry/node": "^7.19.0",
"@types/express": "^4.17.13",
diff --git a/packages/rollup-plugin/package.json b/packages/rollup-plugin/package.json
index 5d314edde19b..6d63db56f55c 100644
--- a/packages/rollup-plugin/package.json
+++ b/packages/rollup-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry/rollup-plugin",
- "version": "0.1.0",
+ "version": "0.2.0",
"description": "Official Sentry Rollup plugin",
"repository": "git://github.com/getsentry/sentry-javascript-bundler-plugins.git",
"homepage": "https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/rollup-plugin",
@@ -41,7 +41,7 @@
"lint": "eslint ./src ./test"
},
"dependencies": {
- "@sentry/bundler-plugin-core": "0.1.0"
+ "@sentry/bundler-plugin-core": "0.2.0"
},
"devDependencies": {
"@babel/core": "7.18.5",
@@ -51,8 +51,8 @@
"@rollup/plugin-commonjs": "22.0.1",
"@rollup/plugin-json": "4.1.0",
"@rollup/plugin-node-resolve": "13.3.0",
- "@sentry-internal/eslint-config": "0.1.0",
- "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.1.0",
+ "@sentry-internal/eslint-config": "0.2.0",
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.2.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
diff --git a/packages/tsconfigs/package.json b/packages/tsconfigs/package.json
index 6181941ab41b..15e85ae21412 100644
--- a/packages/tsconfigs/package.json
+++ b/packages/tsconfigs/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry-internal/sentry-bundler-plugin-tsconfig",
- "version": "0.1.0",
+ "version": "0.2.0",
"license": "MIT",
"private": true
}
diff --git a/packages/vite-plugin/package.json b/packages/vite-plugin/package.json
index bbb0dfc241a1..2b5e709cf42c 100644
--- a/packages/vite-plugin/package.json
+++ b/packages/vite-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry/vite-plugin",
- "version": "0.1.0",
+ "version": "0.2.0",
"description": "Official Sentry Vite plugin",
"repository": "git://github.com/getsentry/sentry-javascript-bundler-plugins.git",
"homepage": "https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/vite-plugin",
@@ -40,7 +40,7 @@
"lint": "eslint ./src ./test"
},
"dependencies": {
- "@sentry/bundler-plugin-core": "0.1.0"
+ "@sentry/bundler-plugin-core": "0.2.0"
},
"devDependencies": {
"@babel/core": "7.18.5",
@@ -50,8 +50,8 @@
"@rollup/plugin-commonjs": "22.0.1",
"@rollup/plugin-json": "4.1.0",
"@rollup/plugin-node-resolve": "13.3.0",
- "@sentry-internal/eslint-config": "0.1.0",
- "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.1.0",
+ "@sentry-internal/eslint-config": "0.2.0",
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.2.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
diff --git a/packages/webpack-plugin/package.json b/packages/webpack-plugin/package.json
index 842272589a95..8fb5086c4fd9 100644
--- a/packages/webpack-plugin/package.json
+++ b/packages/webpack-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry/webpack-plugin",
- "version": "0.1.0",
+ "version": "0.2.0",
"description": "Official Sentry Webpack plugin",
"repository": "git://github.com/getsentry/sentry-javascript-bundler-plugins.git",
"homepage": "https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/webpack-plugin",
@@ -40,7 +40,7 @@
"lint": "eslint ./src ./test"
},
"dependencies": {
- "@sentry/bundler-plugin-core": "0.1.0"
+ "@sentry/bundler-plugin-core": "0.2.0"
},
"devDependencies": {
"@babel/core": "7.18.5",
@@ -50,8 +50,8 @@
"@rollup/plugin-commonjs": "22.0.1",
"@rollup/plugin-json": "4.1.0",
"@rollup/plugin-node-resolve": "13.3.0",
- "@sentry-internal/eslint-config": "0.1.0",
- "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.1.0",
+ "@sentry-internal/eslint-config": "0.2.0",
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "0.2.0",
"@swc/core": "^1.2.205",
"@swc/jest": "^0.2.21",
"@types/jest": "^28.1.3",
From 10e8d96520a3dbac0750b655489f5572907cd31c Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Wed, 23 Nov 2022 13:55:20 +0100
Subject: [PATCH 106/640] docs: Remove WIP warning from READMEs (#130)
---
README.md | 4 +---
packages/bundler-plugin-core/README.md | 2 --
packages/esbuild-plugin/README.md | 4 +---
packages/rollup-plugin/README.md | 2 --
packages/vite-plugin/README.md | 4 +---
packages/webpack-plugin/README.md | 4 +---
6 files changed, 4 insertions(+), 16 deletions(-)
diff --git a/README.md b/README.md
index c50a1b04205e..1f70a67ee5e7 100644
--- a/README.md
+++ b/README.md
@@ -4,9 +4,7 @@
-# Sentry Bundler Plugins (WIP)
-
-**WARNING: This project is work in progress! Do not yet use it in production. We're happy to receive your feedback!**
+# Sentry Bundler Plugins
Universal Sentry plugin for various JavaScript bundlers. Based on [unjs/uplugin](https://github.com/unjs/unplugin). Currently supports Rollup, Vite, esbuild, Webpack 4 and Webpack 5.
diff --git a/packages/bundler-plugin-core/README.md b/packages/bundler-plugin-core/README.md
index bc20d6a3b8f5..e95ece70c9c8 100644
--- a/packages/bundler-plugin-core/README.md
+++ b/packages/bundler-plugin-core/README.md
@@ -6,8 +6,6 @@
# Sentry Bundler Plugin Core
-**WARNING: This package is work in progress! Do not yet use it in production. We're happy to receive your feedback!**
-
Core package containing the bundler-agnostic functionality used by the bundler plugins.
Check out the individual packages for more information and examples:
diff --git a/packages/esbuild-plugin/README.md b/packages/esbuild-plugin/README.md
index 634a3ad546c9..b229a371fccf 100644
--- a/packages/esbuild-plugin/README.md
+++ b/packages/esbuild-plugin/README.md
@@ -4,9 +4,7 @@
-# Sentry Esbuild Plugin (WIP)
-
-**WARNING: This package is work in progress! Use with caution and do not yet use it in production. We're happy to receive your feedback!**
+# Sentry Esbuild Plugin
A esbuild plugin that provides release management features for Sentry:
diff --git a/packages/rollup-plugin/README.md b/packages/rollup-plugin/README.md
index 296d14a14363..281531ce16ce 100644
--- a/packages/rollup-plugin/README.md
+++ b/packages/rollup-plugin/README.md
@@ -6,8 +6,6 @@
# Sentry Rollup Plugin
-**WARNING: This package is work in progress! Use with caution and do not yet use it in production. We're happy to receive your feedback!**
-
A Rollup plugin that provides release management features for Sentry:
- Sourcemap upload
diff --git a/packages/vite-plugin/README.md b/packages/vite-plugin/README.md
index 473684c8a26f..6350da692092 100644
--- a/packages/vite-plugin/README.md
+++ b/packages/vite-plugin/README.md
@@ -4,9 +4,7 @@
-# Sentry Vite Plugin (WIP)
-
-**WARNING: This package is work in progress! Use with caution and do not yet use it in production. We're happy to receive your feedback!**
+# Sentry Vite Plugin
A Vite plugin that provides release management features for Sentry:
diff --git a/packages/webpack-plugin/README.md b/packages/webpack-plugin/README.md
index 35b765727caa..7e2c27aef926 100644
--- a/packages/webpack-plugin/README.md
+++ b/packages/webpack-plugin/README.md
@@ -4,9 +4,7 @@
-# Sentry Webpack Plugin (WIP)
-
-**WARNING: This package is work in progress! Use with caution and do not yet use it in production. We're happy to receive your feedback!**
+# Sentry Webpack Plugin
A Webpack plugin that provides release management features for Sentry:
From f34219f7d8cec2c1ce5d9df698d4678f2cd3d17a Mon Sep 17 00:00:00 2001
From: Luca Forstner
Date: Wed, 23 Nov 2022 15:33:14 +0100
Subject: [PATCH 107/640] fix(core): Fix telemetry option logic (#128)
---
packages/bundler-plugin-core/src/index.ts | 144 ++++++++++--------
.../src/options-mapping.ts | 7 -
.../bundler-plugin-core/src/sentry/logger.ts | 4 +-
.../src/sentry/releasePipeline.ts | 48 ++++--
.../src/sentry/telemetry.ts | 132 ++++++++++------
.../test/option-mappings.test.ts | 17 ---
.../test/sentry/logger.test.ts | 41 ++++-
.../test/sentry/releasePipeline.test.ts | 36 ++---
.../test/sentry/telemetry.test.ts | 101 ++++++------
9 files changed, 306 insertions(+), 224 deletions(-)
diff --git a/packages/bundler-plugin-core/src/index.ts b/packages/bundler-plugin-core/src/index.ts
index bdc8bf6dd10b..bbb87f47b910 100644
--- a/packages/bundler-plugin-core/src/index.ts
+++ b/packages/bundler-plugin-core/src/index.ts
@@ -11,17 +11,17 @@ import {
} from "./sentry/releasePipeline";
import "@sentry/tracing";
import {
- addPluginOptionTags,
+ addPluginOptionInformationToHub,
addSpanToTransaction,
captureMinimalError,
makeSentryClient,
- turnOffTelemetryForSelfHostedSentry,
+ shouldSendTelemetry,
} from "./sentry/telemetry";
import { Span, Transaction } from "@sentry/types";
import { createLogger, Logger } from "./sentry/logger";
import { InternalOptions, normalizeUserOptions, validateOptions } from "./options-mapping";
import { getSentryCli } from "./sentry/cli";
-import { Hub } from "@sentry/node";
+import { Hub, makeMain } from "@sentry/node";
// We prefix the polyfill id with \0 to tell other plugins not to try to load or transform it.
// This hack is taken straight from https://rollupjs.org/guide/en/#resolveid.
@@ -60,11 +60,21 @@ const ALLOWED_TRANSFORMATION_FILE_ENDINGS = [".js", ".ts", ".jsx", ".tsx", ".cjs
const unplugin = createUnplugin((options, unpluginMetaContext) => {
const internalOptions = normalizeUserOptions(options);
- const { hub: sentryHub } = makeSentryClient(
+ const allowedToSendTelemetryPromise = shouldSendTelemetry(internalOptions);
+
+ const { sentryHub, sentryClient } = makeSentryClient(
"https://4c2bae7d9fbc413e8f7385f55c515d51@o1.ingest.sentry.io/6690737",
- internalOptions.telemetry
+ allowedToSendTelemetryPromise
);
- addPluginOptionTags(internalOptions, sentryHub);
+
+ addPluginOptionInformationToHub(internalOptions, sentryHub, unpluginMetaContext.framework);
+
+ //TODO: This call is problematic because as soon as we set our hub as the current hub
+ // we might interfere with other plugins that use Sentry. However, for now, we'll
+ // leave it in because without it, we can't get distributed traces (which are pretty nice)
+ // Let's keep it until someone complains about interference.
+ // The ideal solution would be a code change in the JS SDK but it's not a straight-forward fix.
+ makeMain(sentryHub);
const logger = createLogger({
hub: sentryHub,
@@ -83,19 +93,14 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
const cli = getSentryCli(internalOptions, logger);
- if (internalOptions.telemetry) {
- logger.info("Sending error and performance telemetry data to Sentry.");
- logger.info("To disable telemetry, set `options.telemetry` to `false`.");
- }
-
- sentryHub.setTags({
- organization: internalOptions.org,
- project: internalOptions.project,
- bundler: unpluginMetaContext.framework,
+ const releaseNamePromise = new Promise((resolve) => {
+ if (options.release) {
+ resolve(options.release);
+ } else {
+ resolve(cli.releases.proposeVersion());
+ }
});
- sentryHub.setUser({ id: internalOptions.org });
-
let transaction: Transaction | undefined;
let releaseInjectionSpan: Span | undefined;
@@ -107,14 +112,18 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
* Responsible for starting the plugin execution transaction and the release injection span
*/
async buildStart() {
- await turnOffTelemetryForSelfHostedSentry(cli, sentryHub);
+ logger.debug("Called 'buildStart'");
- if (!internalOptions.release) {
- internalOptions.release = await cli.releases.proposeVersion();
+ const isAllowedToSendToSendTelemetry = await allowedToSendTelemetryPromise;
+ if (isAllowedToSendToSendTelemetry) {
+ logger.info("Sending error and performance telemetry data to Sentry.");
+ logger.info("To disable telemetry, set `options.telemetry` to `false`.");
}
+ const releaseName = await releaseNamePromise;
+
// At this point, we either have determined a release or we have to bail
- if (!internalOptions.release) {
+ if (!releaseName) {
handleError(
new Error(
"Unable to determine a release name. Make sure to set the `release` option or use an environment that supports auto-detection https://docs.sentry.io/cli/releases/#creating-releases`"
@@ -129,6 +138,7 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
op: "function.plugin",
name: "Sentry Bundler Plugin execution",
});
+
releaseInjectionSpan = addSpanToTransaction(
{ hub: sentryHub, parentSpan: transaction, logger, cli },
"function.plugin.inject_release",
@@ -148,11 +158,7 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
* @returns `"sentry-release-injector"` when the imported file is called `"sentry-release-injector"`. Otherwise returns `undefined`.
*/
resolveId(id, importer, { isEntry }) {
- sentryHub.addBreadcrumb({
- category: "resolveId",
- message: `isEntry: ${String(isEntry)}`,
- level: "info",
- });
+ logger.debug('Called "resolveId":', { id, importer, isEntry });
if (id === RELEASE_INJECTOR_ID) {
return RELEASE_INJECTOR_ID;
@@ -162,7 +168,7 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
},
loadInclude(id) {
- logger.info(`Called "loadInclude": ${JSON.stringify({ id })}`);
+ logger.debug('Called "loadInclude":', { id });
return id === RELEASE_INJECTOR_ID;
},
@@ -173,15 +179,12 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
* @param id Always the absolute (fully resolved) path to the module.
* @returns The global injector code when we load the "sentry-release-injector" module. Otherwise returns `undefined`.
*/
- load(id) {
- sentryHub.addBreadcrumb({
- category: "load",
- level: "info",
- });
+ async load(id) {
+ logger.debug('Called "load":', { id });
if (id === RELEASE_INJECTOR_ID) {
return generateGlobalInjectorCode({
- release: internalOptions.release,
+ release: await releaseNamePromise,
injectReleasesMap: internalOptions.injectReleasesMap,
org: internalOptions.org,
project: internalOptions.project,
@@ -200,10 +203,7 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
* want to transform the release injector file.
*/
transformInclude(id) {
- sentryHub.addBreadcrumb({
- category: "transformInclude",
- level: "info",
- });
+ logger.debug('Called "transformInclude":', { id });
// We don't want to transform our injected code.
if (id === RELEASE_INJECTOR_ID) {
@@ -242,11 +242,8 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
* @param id Always the absolute (fully resolved) path to the module.
* @returns transformed code + source map
*/
- transform(code) {
- sentryHub.addBreadcrumb({
- category: "transform",
- level: "info",
- });
+ transform(code, id) {
+ logger.debug('Called "transform":', { id });
// The MagicString library allows us to generate sourcemaps for the changes we make to the user code.
const ms = new MagicString(code);
@@ -272,7 +269,9 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
* Responsible for executing the sentry release creation pipeline (i.e. creating a release on
* Sentry.io, uploading sourcemaps, associating commits and deploys and finalizing the release)
*/
- writeBundle() {
+ async writeBundle() {
+ logger.debug('Called "writeBundle"');
+
releaseInjectionSpan?.finish();
const releasePipelineSpan =
transaction &&
@@ -289,45 +288,58 @@ const unplugin = createUnplugin((options, unpluginMetaContext) => {
const ctx: BuildContext = { hub: sentryHub, parentSpan: releasePipelineSpan, logger, cli };
- createNewRelease(internalOptions, ctx)
- .then(() => cleanArtifacts(internalOptions, ctx))
- .then(() => uploadSourceMaps(internalOptions, ctx))
- .then(() => setCommits(internalOptions, ctx))
- .then(() => finalizeRelease(internalOptions, ctx))
- .then(() => addDeploy(internalOptions, ctx))
- .then(() => transaction?.setStatus("ok"))
- .catch((e: Error) => {
- transaction?.setStatus("cancelled");
- handleError(e, logger, internalOptions.errorHandler, sentryHub);
- })
- .finally(() => {
- sentryHub.addBreadcrumb({
- category: "writeBundle:finish",
- level: "info",
- });
- releasePipelineSpan?.finish();
- transaction?.finish();
+ const releaseName = await releaseNamePromise;
+
+ try {
+ await createNewRelease(internalOptions, ctx, releaseName);
+ await cleanArtifacts(internalOptions, ctx, releaseName);
+ await uploadSourceMaps(internalOptions, ctx, releaseName);
+ await setCommits(internalOptions, ctx, releaseName);
+ await finalizeRelease(internalOptions, ctx, releaseName);
+ await addDeploy(internalOptions, ctx, releaseName);
+ transaction?.setStatus("ok");
+ } catch (e: unknown) {
+ transaction?.setStatus("cancelled");
+ handleError(e, logger, internalOptions.errorHandler, sentryHub);
+ } finally {
+ sentryHub.addBreadcrumb({
+ category: "writeBundle:finish",
+ level: "info",
+ });
+ releasePipelineSpan?.finish();
+ transaction?.finish();
+ await sentryClient.flush().then(null, () => {
+ logger.warn("Sending of telemetry failed");
});
+ }
},
};
});
function handleError(
- error: Error,
+ unknownError: unknown,
logger: Logger,
errorHandler: InternalOptions["errorHandler"],
sentryHub?: Hub
) {
- logger.error(error.message);
+ if (unknownError instanceof Error) {
+ logger.error(unknownError.message);
+ } else {
+ logger.error(String(unknownError));
+ }
if (sentryHub) {
- captureMinimalError(error, sentryHub);
+ captureMinimalError(unknownError, sentryHub);
}
if (errorHandler) {
- errorHandler(error);
+ if (unknownError instanceof Error) {
+ errorHandler(unknownError);
+ } else {
+ errorHandler(new Error("An unknown error occured"));
+ }
} else {
- throw error;
+ throw unknownError;
}
}
diff --git a/packages/bundler-plugin-core/src/options-mapping.ts b/packages/bundler-plugin-core/src/options-mapping.ts
index a2b1f2992b60..f38d39c7901d 100644
--- a/packages/bundler-plugin-core/src/options-mapping.ts
+++ b/packages/bundler-plugin-core/src/options-mapping.ts
@@ -5,7 +5,6 @@ import { arrayify } from "./utils";
type RequiredInternalOptions = Required<
Pick<
UserOptions,
- | "release"
| "finalize"
| "dryRun"
| "debug"
@@ -114,12 +113,6 @@ export function normalizeUserOptions(userOptions: UserOptions): InternalOptions
configFile: userOptions.configFile,
};
- // We only want to enable telemetry for SaaS users
- // This is not the final check (we need to call Sentry CLI at a later point)
- // but we can already at this point make a first decision.
- // @see `turnOffTelemetryForSelfHostedSentry` (telemetry.ts) for the second check.
- options.telemetry = options.telemetry && options.url === SENTRY_SAAS_URL;
-
return options;
}
diff --git a/packages/bundler-plugin-core/src/sentry/logger.ts b/packages/bundler-plugin-core/src/sentry/logger.ts
index 9328cf37284e..4dec02920369 100644
--- a/packages/bundler-plugin-core/src/sentry/logger.ts
+++ b/packages/bundler-plugin-core/src/sentry/logger.ts
@@ -48,14 +48,12 @@ export function createLogger(options: LoggerOptions): Logger {
addBreadcrumb("error", message);
},
-
debug(message: string, ...params: unknown[]) {
if (!options.silent && options.debug) {
// eslint-disable-next-line no-console
console.log(`${options.prefix} Debug: ${message}`, ...params);
+ // We're not creating breadcrumbs for debug logs because it is super spammy
}
-
- addBreadcrumb("debug", message);
},
};
}
diff --git a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
index 05a75ea871c7..943f4cdc1dcc 100644
--- a/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
+++ b/packages/bundler-plugin-core/src/sentry/releasePipeline.ts
@@ -11,16 +11,24 @@ import { InternalOptions } from "../options-mapping";
import { BuildContext } from "../types";
import { addSpanToTransaction } from "./telemetry";
-export async function createNewRelease(options: InternalOptions, ctx: BuildContext): Promise {
+export async function createNewRelease(
+ options: InternalOptions,
+ ctx: BuildContext,
+ releaseName: string
+): Promise {
const span = addSpanToTransaction(ctx, "function.plugin.create_release");
- await ctx.cli.releases.new(options.release);
+ await ctx.cli.releases.new(releaseName);
ctx.logger.info("Successfully created release.");
span?.finish();
}
-export async function cleanArtifacts(options: InternalOptions, ctx: BuildContext): Promise {
+export async function cleanArtifacts(
+ options: InternalOptions,
+ ctx: BuildContext,
+ releaseName: string
+): Promise {
if (!options.cleanArtifacts) {
logger.debug("Skipping artifact cleanup.");
return;
@@ -28,25 +36,33 @@ export async function cleanArtifacts(options: InternalOptions, ctx: BuildContext
const span = addSpanToTransaction(ctx, "function.plugin.clean_artifacts");
- await ctx.cli.releases.execute(["releases", "files", options.release, "delete", "--all"], true);
+ await ctx.cli.releases.execute(["releases", "files", releaseName, "delete", "--all"], true);
ctx.logger.info("Successfully cleaned previous artifacts.");
span?.finish();
}
-export async function uploadSourceMaps(options: InternalOptions, ctx: BuildContext): Promise {
+export async function uploadSourceMaps(
+ options: InternalOptions,
+ ctx: BuildContext,
+ releaseName: string
+): Promise {
const span = addSpanToTransaction(ctx, "function.plugin.upload_sourcemaps");
ctx.logger.info("Uploading Sourcemaps.");
// Since our internal include entries contain all top-level sourcemaps options,
// we only need to pass the include option here.
- await ctx.cli.releases.uploadSourceMaps(options.release, { include: options.include });
+ await ctx.cli.releases.uploadSourceMaps(releaseName, { include: options.include });
ctx.logger.info("Successfully uploaded Sourcemaps.");
span?.finish();
}
-export async function setCommits(options: InternalOptions, ctx: BuildContext): Promise {
+export async function setCommits(
+ options: InternalOptions,
+ ctx: BuildContext,
+ releaseName: string
+): Promise {
if (!options.setCommits) {
logger.debug("Skipping setting commits to release.");
return;
@@ -55,7 +71,7 @@ export async function setCommits(options: InternalOptions, ctx: BuildContext): P
const span = addSpanToTransaction(ctx, "function.plugin.set_commits");
const { auto, repo, commit, previousCommit, ignoreMissing, ignoreEmpty } = options.setCommits;
- await ctx.cli.releases.setCommits(options.release, {
+ await ctx.cli.releases.setCommits(releaseName, {
commit,
previousCommit,
repo,
@@ -68,7 +84,11 @@ export async function setCommits(options: InternalOptions, ctx: BuildContext): P
span?.finish();
}
-export async function finalizeRelease(options: InternalOptions, ctx: BuildContext): Promise