diff --git a/.gitignore b/.gitignore
index a47d953d..06c42ba1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -75,6 +75,7 @@ frontend/public/version.json
# Settings
backend/settings.yaml
+backend/settings.local.yaml
# pytest-ibutsu stuff
*.tar.gz
diff --git a/backend/ibutsu_server/__init__.py b/backend/ibutsu_server/__init__.py
index 72e72d33..baae8775 100644
--- a/backend/ibutsu_server/__init__.py
+++ b/backend/ibutsu_server/__init__.py
@@ -41,10 +41,7 @@ def get_app(**extra_config):
config = app.app.config
config.setdefault("BCRYPT_LOG_ROUNDS", 20)
config.setdefault("SQLALCHEMY_TRACK_MODIFICATIONS", True)
- settings_path = Path("./settings.yaml").resolve()
- if settings_path.exists():
- # If there's a config file, load it
- config.from_mapping(yaml_load(settings_path.open()))
+ config.from_file(str(Path("./settings.yaml").resolve()), yaml_load, silent=True)
# Now load config from environment variables
config.from_mapping(os.environ)
if config.get("POSTGRESQL_HOST") and config.get("POSTGRESQL_DATABASE"):
diff --git a/backend/ibutsu_server/constants.py b/backend/ibutsu_server/constants.py
index 5a434b9a..bc143c10 100644
--- a/backend/ibutsu_server/constants.py
+++ b/backend/ibutsu_server/constants.py
@@ -1,3 +1,24 @@
+OAUTH_CONFIG = {
+ "google": {
+ "scope": ["https://www.googleapis.com/auth/userinfo.profile"],
+ },
+ "github": {
+ "scope": ["read:user"],
+ },
+ "dropbox": {
+ "scope": ["account_info.read"],
+ },
+ "facebook": {
+ "scope": ["email", "public_profile"],
+ },
+ "gitlab": {
+ "scope": ["read_user"],
+ "sep": "+",
+ "user_url": "/api/v4/user",
+ "auth_url": "/oauth/authorize",
+ "token_url": "/oauth/token",
+ },
+}
ALLOWED_TRUE_BOOLEANS = ["y", "t", "1"]
ARRAY_FIELDS = ["metadata.tags", "metadata.markers", "metadata.annotations"]
NUMERIC_FIELDS = [
diff --git a/backend/ibutsu_server/controllers/artifact_controller.py b/backend/ibutsu_server/controllers/artifact_controller.py
index e2c26148..600c73e1 100644
--- a/backend/ibutsu_server/controllers/artifact_controller.py
+++ b/backend/ibutsu_server/controllers/artifact_controller.py
@@ -47,7 +47,7 @@ def download_artifact(id_):
@validate_uuid
-def get_artifact(id_):
+def get_artifact(id_, token_info=None, user=None):
"""Return a single artifact
:param id: ID of the artifact
diff --git a/backend/ibutsu_server/controllers/group_controller.py b/backend/ibutsu_server/controllers/group_controller.py
index a265bae2..92acc172 100644
--- a/backend/ibutsu_server/controllers/group_controller.py
+++ b/backend/ibutsu_server/controllers/group_controller.py
@@ -20,7 +20,7 @@ def add_group(group=None):
@validate_uuid
-def get_group(id_):
+def get_group(id_, token_info=None, user=None):
"""Get a group
:param id: The ID of the group
@@ -35,7 +35,7 @@ def get_group(id_):
return "Group not found", 404
-def get_group_list(page=1, page_size=25):
+def get_group_list(page=1, page_size=25, token_info=None, user=None):
"""Get a list of groups
diff --git a/backend/ibutsu_server/controllers/health_controller.py b/backend/ibutsu_server/controllers/health_controller.py
index a58d8d08..0a14fdb0 100644
--- a/backend/ibutsu_server/controllers/health_controller.py
+++ b/backend/ibutsu_server/controllers/health_controller.py
@@ -10,7 +10,7 @@
IS_CONNECTED = False
-def get_health():
+def get_health(token_info=None, user=None):
"""Get a health report
:rtype: Health
@@ -18,7 +18,7 @@ def get_health():
return {"status": "OK", "message": "Service is running"}
-def get_database_health():
+def get_database_health(token_info=None, user=None):
"""Get a health report for the database
:rtype: Health
@@ -40,7 +40,7 @@ def get_database_health():
return response
-def get_health_info():
+def get_health_info(token_info=None, user=None):
"""Get the information about this server
:rtype: HealthInfo
diff --git a/backend/ibutsu_server/controllers/login_controller.py b/backend/ibutsu_server/controllers/login_controller.py
new file mode 100644
index 00000000..90a87171
--- /dev/null
+++ b/backend/ibutsu_server/controllers/login_controller.py
@@ -0,0 +1,98 @@
+import json
+import random
+import string
+
+import connexion
+import requests
+from flask import current_app
+from flask import make_response
+from ibutsu_server.db.models import User
+from ibutsu_server.util.jwt import generate_token
+from ibutsu_server.util.oauth import get_provider_config
+from ibutsu_server.util.oauth import get_user_from_provider
+
+AUTH_WINDOW = """
+
+
+
+
+"""
+
+
+def _generate_state():
+ allowed_chars = string.ascii_letters + string.punctuation
+ return "".join(random.choice(allowed_chars) for x in range(40))
+
+
+def login(email=None, password=None):
+ """login
+
+ :param email: The e-mail address of the user
+ :type email: str
+ :param password: The password for the user
+ :type password: str
+
+ :rtype: LoginToken
+ """
+ if not connexion.request.is_json:
+ return "Bad request, JSON is required", 400
+ login = connexion.request.get_json()
+ if not login.get("email") or not login.get("password"):
+ return {"code": "EMPTY", "message": "Username and/or password are empty"}, 401
+ user = User.query.filter_by(email=login["email"]).first()
+ if user and user.check_password(login["password"]):
+ return {"name": user.name, "email": user.email, "token": generate_token(user.email)}
+ else:
+ return {"code": "INVALID", "message": "Username and/or password are invalid"}, 401
+
+
+def support():
+ """Return the authentication types that the server supports"""
+ return {
+ "user": True,
+ "redhat": current_app.config.get("REDHAT_CLIENT_ID") is not None,
+ "google": get_provider_config("google")["client_id"] is not None,
+ "github": get_provider_config("github")["client_id"] is not None,
+ "dropbox": get_provider_config("dropbox")["client_id"] is not None,
+ "facebook": get_provider_config("facebook")["client_id"] is not None,
+ "gitlab": get_provider_config("gitlab")["client_id"] is not None,
+ }
+
+
+def config(provider):
+ """Return the configuration for a particular login provider"""
+ if provider == "redhat":
+ return {}
+ else:
+ return get_provider_config(provider, is_private=False)
+
+
+def oauth(provider):
+ """OAuth redirect URL"""
+ if not connexion.request.args.get("code"):
+ return "Bad request", 400
+ provider_config = get_provider_config(provider, is_private=True)
+ payload = {
+ "client_id": provider_config["client_id"],
+ "client_secret": provider_config["client_secret"],
+ "code": connexion.request.args.get("code"),
+ "grant_type": "authorization_code",
+ "redirect_uri": provider_config["redirect_uri"],
+ }
+ r = requests.post(provider_config.get("token_url", "/oauth/token"), data=payload)
+ if r.status_code == 200:
+ user = get_user_from_provider(provider, r.json())
+ jwt_token = generate_token(user.id)
+ return make_response(
+ AUTH_WINDOW.format(
+ data=json.dumps({"email": user.email, "name": user.name, "token": jwt_token})
+ )
+ )
+ else:
+ return "Unauthorized", 401
diff --git a/backend/ibutsu_server/controllers/project_controller.py b/backend/ibutsu_server/controllers/project_controller.py
index a3e64ad2..066693c5 100644
--- a/backend/ibutsu_server/controllers/project_controller.py
+++ b/backend/ibutsu_server/controllers/project_controller.py
@@ -23,7 +23,7 @@ def add_project(project=None):
return project.to_dict(), 201
-def get_project(id_):
+def get_project(id_, token_info=None, user=None):
"""Get a single project by ID
:param id: ID of test project
@@ -41,11 +41,11 @@ def get_project(id_):
return project.to_dict()
-def get_project_list(owner_id=None, group_id=None, page=1, page_size=25):
+def get_project_list(
+ owner_id=None, group_id=None, page=1, page_size=25, token_info=None, user=None
+):
"""Get a list of projects
-
-
:param owner_id: Filter projects by owner ID
:type owner_id: str
:param group_id: Filter projects by group ID
diff --git a/backend/ibutsu_server/controllers/report_controller.py b/backend/ibutsu_server/controllers/report_controller.py
index d36443ac..05e961ae 100644
--- a/backend/ibutsu_server/controllers/report_controller.py
+++ b/backend/ibutsu_server/controllers/report_controller.py
@@ -26,7 +26,7 @@ def _build_report_response(id_):
return report, response
-def get_report_types():
+def get_report_types(token_info=None, user=None):
"""Get the types of reports that are available
:rtype: list
@@ -69,7 +69,7 @@ def add_report(report_parameters=None):
@validate_uuid
-def get_report(id_):
+def get_report(id_, token_info=None, user=None):
"""Get a report
:param id: The ID of the report
@@ -81,7 +81,7 @@ def get_report(id_):
return report.to_dict()
-def get_report_list(page=1, page_size=25, project=None):
+def get_report_list(page=1, page_size=25, project=None, token_info=None, user=None):
"""Get a list of reports
:param page: Set the page of items to return, defaults to 1
@@ -127,7 +127,7 @@ def delete_report(id_):
return "Not Found", 404
-def view_report(id_, filename):
+def view_report(id_, filename, token_info=None, user=None):
"""View the report file
:param id_: The ID of the report to view
@@ -138,7 +138,7 @@ def view_report(id_, filename):
return _build_report_response(id_)[1]
-def download_report(id_, filename):
+def download_report(id_, filename, token_info=None, user=None):
"""Download the report file
:param id_: The ID of the report to download
diff --git a/backend/ibutsu_server/controllers/result_controller.py b/backend/ibutsu_server/controllers/result_controller.py
index b04a3e9b..799343df 100644
--- a/backend/ibutsu_server/controllers/result_controller.py
+++ b/backend/ibutsu_server/controllers/result_controller.py
@@ -34,7 +34,7 @@ def add_result(result=None):
@query_as_task
-def get_result_list(filter_=None, page=1, page_size=25, estimate=False):
+def get_result_list(filter_=None, page=1, page_size=25, estimate=False, token_info=None, user=None):
"""Gets all results
The `filter` parameter takes a list of filters to apply in the form of:
@@ -111,7 +111,7 @@ def get_result_list(filter_=None, page=1, page_size=25, estimate=False):
@validate_uuid
-def get_result(id_):
+def get_result(id_, token_info=None, user=None):
"""Get a single result
:param id: ID of Result to return
diff --git a/backend/ibutsu_server/controllers/run_controller.py b/backend/ibutsu_server/controllers/run_controller.py
index 0a54c4d9..5b1e7817 100644
--- a/backend/ibutsu_server/controllers/run_controller.py
+++ b/backend/ibutsu_server/controllers/run_controller.py
@@ -12,7 +12,7 @@
@query_as_task
-def get_run_list(filter_=None, page=1, page_size=25, estimate=False):
+def get_run_list(filter_=None, page=1, page_size=25, estimate=False, token_info=None, user=None):
"""Get a list of runs
The `filter` parameter takes a list of filters to apply in the form of:
@@ -85,7 +85,7 @@ def get_run_list(filter_=None, page=1, page_size=25, estimate=False):
@validate_uuid
-def get_run(id_):
+def get_run(id_, token_info=None, user=None):
"""Get a run
:param id: The ID of the run
diff --git a/backend/ibutsu_server/db/models.py b/backend/ibutsu_server/db/models.py
index 0ad04761..2e19b5f1 100644
--- a/backend/ibutsu_server/db/models.py
+++ b/backend/ibutsu_server/db/models.py
@@ -209,7 +209,10 @@ def password(self):
@password.setter
def _set_password(self, plaintext):
- self._password = bcrypt.generate_password_hash(plaintext)
+ self._password = bcrypt.generate_password_hash(plaintext).decode("utf8")
+
+ def check_password(self, plaintext):
+ return bcrypt.check_password_hash(self.password, plaintext)
class Meta(Model):
diff --git a/backend/ibutsu_server/errors.py b/backend/ibutsu_server/errors.py
new file mode 100644
index 00000000..acf0577e
--- /dev/null
+++ b/backend/ibutsu_server/errors.py
@@ -0,0 +1,2 @@
+class IbutsuError(Exception):
+ """Base exception for Ibutsu"""
diff --git a/backend/ibutsu_server/openapi/openapi.yaml b/backend/ibutsu_server/openapi/openapi.yaml
index 8683c059..f1489e48 100644
--- a/backend/ibutsu_server/openapi/openapi.yaml
+++ b/backend/ibutsu_server/openapi/openapi.yaml
@@ -4,28 +4,32 @@ info:
title: Ibutsu API
version: 1.13.2
servers:
-- url: /api
+ - url: /api
tags:
-- description: The result of a test
- name: result
-- description: An artifact generated during the running of a test
- name: artifact
-- description: A collection of test results
- name: run
-- description: A collection of test runs
- name: project
-- description: A group of projects
- name: group
-- description: A report
- name: report
-- description: A health report
- name: health
-- description: Widgets
- name: widget
-- description: Widget configuration
- name: widget-config
-- description: Celery task
- name: task
+ - description: The result of a test
+ name: result
+ - description: An artifact generated during the running of a test
+ name: artifact
+ - description: A collection of test results
+ name: run
+ - description: A collection of test runs
+ name: project
+ - description: A group of projects
+ name: group
+ - description: A report
+ name: report
+ - description: A health report
+ name: health
+ - description: Widgets
+ name: widget
+ - description: Widget configuration
+ name: widget-config
+ - description: Celery task
+ name: task
+ - description: Login related methods
+ name: login
+security:
+ - jwt: []
paths:
/result:
get:
@@ -64,25 +68,25 @@ paths:
/result?filter=result!passed
operationId: get_result_list
parameters:
- - description: Fields to filter by
- explode: true
- in: query
- name: filter
- required: false
- schema:
- items:
- type: string
- type: array
- style: form
- - description: Return an estimated count
- in: query
- name: estimate
- required: false
- schema:
- type: boolean
- style: form
- - $ref: '#/components/parameters/Page'
- - $ref: '#/components/parameters/PageSize'
+ - description: Fields to filter by
+ explode: true
+ in: query
+ name: filter
+ required: false
+ schema:
+ items:
+ type: string
+ type: array
+ style: form
+ - description: Return an estimated count
+ in: query
+ name: estimate
+ required: false
+ schema:
+ type: boolean
+ style: form
+ - $ref: '#/components/parameters/Page'
+ - $ref: '#/components/parameters/PageSize'
responses:
200:
content:
@@ -98,7 +102,7 @@ paths:
description: Query being evaluated in a celery task
summary: Get the list of results.
tags:
- - result
+ - result
x-openapi-router-controller: ibutsu_server.controllers.result_controller
post:
operationId: add_result
@@ -115,21 +119,21 @@ paths:
description: Bad request, JSON required or not enough parameters
summary: Create a test result
tags:
- - result
+ - result
x-openapi-router-controller: ibutsu_server.controllers.result_controller
/result/{id}:
get:
operationId: get_result
parameters:
- - description: ID of result to return (uuid required)
- explode: false
- in: path
- name: id
- required: true
- schema:
- type: string
- format: uuid
- style: simple
+ - description: ID of result to return (uuid required)
+ explode: false
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ format: uuid
+ style: simple
responses:
200:
content:
@@ -141,20 +145,20 @@ paths:
description: Result not found
summary: Get a single result
tags:
- - result
+ - result
x-openapi-router-controller: ibutsu_server.controllers.result_controller
put:
operationId: update_result
parameters:
- - description: ID of result to update
- explode: false
- in: path
- name: id
- required: true
- schema:
- type: string
- format: uuid
- style: simple
+ - description: ID of result to update
+ explode: false
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ format: uuid
+ style: simple
requestBody:
$ref: '#/components/requestBodies/Result'
responses:
@@ -170,22 +174,22 @@ paths:
description: Result not found
summary: Updates a single result
tags:
- - result
+ - result
x-openapi-router-controller: ibutsu_server.controllers.result_controller
/artifact:
get:
operationId: get_artifact_list
parameters:
- - description: The result ID to filter by
- explode: true
- in: query
- name: resultId
- required: false
- schema:
- type: string
- style: form
- - $ref: '#/components/parameters/Page'
- - $ref: '#/components/parameters/PageSize'
+ - description: The result ID to filter by
+ explode: true
+ in: query
+ name: resultId
+ required: false
+ schema:
+ type: string
+ style: form
+ - $ref: '#/components/parameters/Page'
+ - $ref: '#/components/parameters/PageSize'
responses:
200:
content:
@@ -195,7 +199,7 @@ paths:
description: Array of artifacts
summary: Get a (filtered) list of artifacts
tags:
- - artifact
+ - artifact
x-openapi-router-controller: ibutsu_server.controllers.artifact_controller
post:
operationId: upload_artifact
@@ -218,9 +222,9 @@ paths:
description: Additional data to pass to server
type: object
required:
- - resultId
- - file
- - filename
+ - resultId
+ - file
+ - filename
type: object
responses:
201:
@@ -233,21 +237,21 @@ paths:
description: Bad request, not enough parameters
summary: Uploads a test run artifact
tags:
- - artifact
+ - artifact
x-openapi-router-controller: ibutsu_server.controllers.artifact_controller
/artifact/{id}:
delete:
operationId: delete_artifact
parameters:
- - description: ID of artifact to delete
- explode: false
- in: path
- name: id
- required: true
- schema:
- type: string
- format: uuid
- style: simple
+ - description: ID of artifact to delete
+ explode: false
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ format: uuid
+ style: simple
responses:
200:
description: The artifact was deleted
@@ -255,20 +259,20 @@ paths:
description: The artifact was not found
summary: Delete an artifact
tags:
- - artifact
+ - artifact
x-openapi-router-controller: ibutsu_server.controllers.artifact_controller
get:
operationId: get_artifact
parameters:
- - description: ID of artifact to return
- explode: false
- in: path
- name: id
- required: true
- schema:
- type: string
- format: uuid
- style: simple
+ - description: ID of artifact to return
+ explode: false
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ format: uuid
+ style: simple
responses:
200:
content:
@@ -280,21 +284,21 @@ paths:
description: Artifact not found
summary: Get a single artifact
tags:
- - artifact
+ - artifact
x-openapi-router-controller: ibutsu_server.controllers.artifact_controller
/artifact/{id}/download:
get:
operationId: download_artifact
parameters:
- - description: ID of artifact to return
- explode: false
- in: path
- name: id
- required: true
- schema:
- type: string
- format: uuid
- style: simple
+ - description: ID of artifact to return
+ explode: false
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ format: uuid
+ style: simple
responses:
200:
content:
@@ -323,21 +327,21 @@ paths:
description: Artifact not found
summary: Download an artifact
tags:
- - artifact
+ - artifact
x-openapi-router-controller: ibutsu_server.controllers.artifact_controller
/artifact/{id}/view:
get:
operationId: view_artifact
parameters:
- - description: ID of artifact to return
- explode: false
- in: path
- name: id
- required: true
- schema:
- type: string
- format: uuid
- style: simple
+ - description: ID of artifact to return
+ explode: false
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ format: uuid
+ style: simple
responses:
200:
content:
@@ -366,7 +370,7 @@ paths:
description: Artifact not found
summary: Stream an artifact directly to the client/browser
tags:
- - artifact
+ - artifact
x-openapi-router-controller: ibutsu_server.controllers.artifact_controller
/run:
get:
@@ -407,25 +411,25 @@ paths:
operationId: get_run_list
parameters:
- - description: Fields to filter by
- explode: true
- in: query
- name: filter
- required: false
- schema:
- items:
- type: string
- type: array
- style: form
- - description: Return an estimated count
- in: query
- name: estimate
- required: false
- schema:
- type: boolean
- style: form
- - $ref: '#/components/parameters/Page'
- - $ref: '#/components/parameters/PageSize'
+ - description: Fields to filter by
+ explode: true
+ in: query
+ name: filter
+ required: false
+ schema:
+ items:
+ type: string
+ type: array
+ style: form
+ - description: Return an estimated count
+ in: query
+ name: estimate
+ required: false
+ schema:
+ type: boolean
+ style: form
+ - $ref: '#/components/parameters/Page'
+ - $ref: '#/components/parameters/PageSize'
responses:
200:
content:
@@ -441,7 +445,7 @@ paths:
description: Query being evaluated in a celery task
summary: Get a list of the test runs
tags:
- - run
+ - run
x-openapi-router-controller: ibutsu_server.controllers.run_controller
post:
operationId: add_run
@@ -462,23 +466,23 @@ paths:
description: Bad request, JSON required
summary: Create a run
tags:
- - run
+ - run
x-openapi-router-controller: ibutsu_server.controllers.run_controller
/runs/bulk-update:
post:
operationId: bulk_update
parameters:
- - description: Fields to filter by
- explode: true
- in: query
- name: filter
- required: false
- schema:
- items:
- type: string
- type: array
- style: form
- - $ref: '#/components/parameters/PageSize'
+ - description: Fields to filter by
+ explode: true
+ in: query
+ name: filter
+ required: false
+ schema:
+ items:
+ type: string
+ type: array
+ style: form
+ - $ref: '#/components/parameters/PageSize'
requestBody:
content:
application/json:
@@ -509,15 +513,15 @@ paths:
get:
operationId: get_run
parameters:
- - description: ID of test run
- explode: false
- in: path
- name: id
- required: true
- schema:
- type: string
- format: uuid
- style: simple
+ - description: ID of test run
+ explode: false
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ format: uuid
+ style: simple
responses:
200:
content:
@@ -529,20 +533,20 @@ paths:
description: Run not found
summary: Get a single run by ID (uuid required)
tags:
- - run
+ - run
x-openapi-router-controller: ibutsu_server.controllers.run_controller
put:
operationId: update_run
parameters:
- - description: ID of the test run
- explode: false
- in: path
- name: id
- required: true
- schema:
- type: string
- format: uuid
- style: simple
+ - description: ID of the test run
+ explode: false
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ format: uuid
+ style: simple
requestBody:
content:
application/json:
@@ -563,30 +567,30 @@ paths:
description: Run not found
summary: Update a single run
tags:
- - run
+ - run
x-openapi-router-controller: ibutsu_server.controllers.run_controller
/project:
get:
operationId: get_project_list
parameters:
- - description: Filter projects by owner ID
- explode: true
- in: query
- name: ownerId
- required: false
- schema:
- type: string
- style: form
- - description: Filter projects by group ID
- explode: true
- in: query
- name: groupId
- required: false
- schema:
- type: string
- style: form
- - $ref: '#/components/parameters/Page'
- - $ref: '#/components/parameters/PageSize'
+ - description: Filter projects by owner ID
+ explode: true
+ in: query
+ name: ownerId
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Filter projects by group ID
+ explode: true
+ in: query
+ name: groupId
+ required: false
+ schema:
+ type: string
+ style: form
+ - $ref: '#/components/parameters/Page'
+ - $ref: '#/components/parameters/PageSize'
responses:
200:
content:
@@ -596,7 +600,7 @@ paths:
description: Array of projects
summary: Get a list of projects
tags:
- - project
+ - project
x-openapi-router-controller: ibutsu_server.controllers.project_controller
post:
operationId: add_project
@@ -618,20 +622,20 @@ paths:
description: Bad request, JSON required
summary: Create a project
tags:
- - project
+ - project
x-openapi-router-controller: ibutsu_server.controllers.project_controller
/project/{id}:
get:
operationId: get_project
parameters:
- - description: ID of test project
- explode: false
- in: path
- name: id
- required: true
- schema:
- type: string
- style: simple
+ - description: ID of test project
+ explode: false
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ style: simple
responses:
200:
content:
@@ -643,20 +647,20 @@ paths:
description: Project not found
summary: Get a single project by ID
tags:
- - project
+ - project
x-openapi-router-controller: ibutsu_server.controllers.project_controller
put:
operationId: update_project
parameters:
- - description: ID of test project
- explode: false
- in: path
- name: id
- required: true
- schema:
- type: string
- format: uuid
- style: simple
+ - description: ID of test project
+ explode: false
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ format: uuid
+ style: simple
requestBody:
content:
application/json:
@@ -676,14 +680,14 @@ paths:
description: Project not found
summary: Update a project
tags:
- - project
+ - project
x-openapi-router-controller: ibutsu_server.controllers.project_controller
/group:
get:
operationId: get_group_list
parameters:
- - $ref: '#/components/parameters/Page'
- - $ref: '#/components/parameters/PageSize'
+ - $ref: '#/components/parameters/Page'
+ - $ref: '#/components/parameters/PageSize'
responses:
200:
content:
@@ -693,7 +697,7 @@ paths:
description: A list of groups
summary: Get a list of groups
tags:
- - group
+ - group
x-openapi-router-controller: ibutsu_server.controllers.group_controller
post:
operationId: add_group
@@ -715,21 +719,21 @@ paths:
description: Bad request, probably not enough parameters
summary: Create a new group
tags:
- - group
+ - group
x-openapi-router-controller: ibutsu_server.controllers.group_controller
/group/{id}:
get:
operationId: get_group
parameters:
- - description: The ID of the group
- explode: false
- in: path
- name: id
- required: true
- schema:
- type: string
- format: uuid
- style: simple
+ - description: The ID of the group
+ explode: false
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ format: uuid
+ style: simple
responses:
200:
content:
@@ -741,20 +745,20 @@ paths:
description: Group not found
summary: Get a group
tags:
- - group
+ - group
x-openapi-router-controller: ibutsu_server.controllers.group_controller
put:
operationId: update_group
parameters:
- - description: The ID of the group
- explode: false
- in: path
- name: id
- required: true
- schema:
- type: string
- format: uuid
- style: simple
+ - description: The ID of the group
+ explode: false
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ format: uuid
+ style: simple
requestBody:
content:
application/json:
@@ -775,30 +779,30 @@ paths:
description: Group not found
summary: Update a group
tags:
- - group
+ - group
x-openapi-router-controller: ibutsu_server.controllers.group_controller
/dashboard:
get:
operationId: get_dashboard_list
parameters:
- - description: Filter dashboards by project ID
- explode: true
- in: query
- name: project_id
- required: false
- schema:
- type: string
- style: form
- - description: Filter dashboards by user ID
- explode: true
- in: query
- name: user_id
- required: false
- schema:
- type: string
- style: form
- - $ref: '#/components/parameters/Page'
- - $ref: '#/components/parameters/PageSize'
+ - description: Filter dashboards by project ID
+ explode: true
+ in: query
+ name: project_id
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Filter dashboards by user ID
+ explode: true
+ in: query
+ name: user_id
+ required: false
+ schema:
+ type: string
+ style: form
+ - $ref: '#/components/parameters/Page'
+ - $ref: '#/components/parameters/PageSize'
responses:
200:
content:
@@ -808,7 +812,7 @@ paths:
description: Array of dashboards
summary: Get a list of dashboards
tags:
- - dashboard
+ - dashboard
x-openapi-router-controller: ibutsu_server.controllers.dashboard_controller
post:
operationId: add_dashboard
@@ -830,21 +834,21 @@ paths:
description: Bad request, JSON required
summary: Create a dashboard
tags:
- - dashboard
+ - dashboard
x-openapi-router-controller: ibutsu_server.controllers.dashboard_controller
/dashboard/{id}:
get:
operationId: get_dashboard
parameters:
- - description: ID of test dashboard
- explode: false
- in: path
- name: id
- required: true
- schema:
- type: string
- format: uuid
- style: simple
+ - description: ID of test dashboard
+ explode: false
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ format: uuid
+ style: simple
responses:
200:
content:
@@ -856,20 +860,20 @@ paths:
description: Dashboard not found
summary: Get a single dashboard by ID
tags:
- - dashboard
+ - dashboard
x-openapi-router-controller: ibutsu_server.controllers.dashboard_controller
put:
operationId: update_dashboard
parameters:
- - description: ID of test dashboard
- explode: false
- in: path
- name: id
- required: true
- schema:
- type: string
- format: uuid
- style: simple
+ - description: ID of test dashboard
+ explode: false
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ format: uuid
+ style: simple
requestBody:
content:
application/json:
@@ -889,20 +893,20 @@ paths:
description: Dashboard not found
summary: Update a dashboard
tags:
- - dashboard
+ - dashboard
x-openapi-router-controller: ibutsu_server.controllers.dashboard_controller
delete:
operationId: delete_dashboard
parameters:
- - description: ID of dashboard to delete
- explode: false
- in: path
- name: id
- required: true
- schema:
- type: string
- format: uuid
- style: simple
+ - description: ID of dashboard to delete
+ explode: false
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ format: uuid
+ style: simple
responses:
200:
description: The dashboard was deleted
@@ -910,22 +914,22 @@ paths:
description: The dashboard was not found
summary: Delete a dashboard
tags:
- - dashboard
+ - dashboard
x-openapi-router-controller: ibutsu_server.controllers.dashboard_controller
/report:
get:
operationId: get_report_list
parameters:
- - $ref: '#/components/parameters/Page'
- - $ref: '#/components/parameters/PageSize'
- - description: Filter reports by project ID
- explode: true
- in: query
- name: project
- required: false
- schema:
- type: string
- style: form
+ - $ref: '#/components/parameters/Page'
+ - $ref: '#/components/parameters/PageSize'
+ - description: Filter reports by project ID
+ explode: true
+ in: query
+ name: project
+ required: false
+ schema:
+ type: string
+ style: form
responses:
200:
content:
@@ -935,7 +939,7 @@ paths:
description: A list of reports
summary: Get a list of reports
tags:
- - report
+ - report
x-openapi-router-controller: ibutsu_server.controllers.report_controller
post:
operationId: add_report
@@ -957,21 +961,21 @@ paths:
description: Bad request, probably not enough parameters
summary: Create a new report
tags:
- - report
+ - report
x-openapi-router-controller: ibutsu_server.controllers.report_controller
/report/{id}:
get:
operationId: get_report
parameters:
- - description: The ID of the report
- explode: false
- in: path
- name: id
- required: true
- schema:
- type: string
- format: uuid
- style: simple
+ - description: The ID of the report
+ explode: false
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ format: uuid
+ style: simple
responses:
200:
content:
@@ -983,20 +987,20 @@ paths:
description: Report not found
summary: Get a report
tags:
- - report
+ - report
x-openapi-router-controller: ibutsu_server.controllers.report_controller
delete:
operationId: delete_report
parameters:
- - description: ID of report to delete
- explode: false
- in: path
- name: id
- required: true
- schema:
- type: string
- format: uuid
- style: simple
+ - description: ID of report to delete
+ explode: false
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ format: uuid
+ style: simple
responses:
200:
description: The report was deleted
@@ -1004,29 +1008,29 @@ paths:
description: The report was not found
summary: Delete a report
tags:
- - report
+ - report
x-openapi-router-controller: ibutsu_server.controllers.report_controller
/report/{id}/view/{filename}:
get:
operationId: view_report
parameters:
- - description: The ID of the report
- explode: false
- in: path
- name: id
- required: true
- schema:
- type: string
- format: uuid
- style: simple
- - description: The file name of the downloadable report
- explode: false
- in: path
- name: filename
- required: true
- schema:
- type: string
- style: simple
+ - description: The ID of the report
+ explode: false
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ format: uuid
+ style: simple
+ - description: The file name of the downloadable report
+ explode: false
+ in: path
+ name: filename
+ required: true
+ schema:
+ type: string
+ style: simple
responses:
200:
content:
@@ -1055,29 +1059,29 @@ paths:
description: Artifact not found
summary: View a report
tags:
- - report
+ - report
x-openapi-router-controller: ibutsu_server.controllers.report_controller
/report/{id}/download/{filename}:
get:
operationId: download_report
parameters:
- - description: The ID of the report
- explode: false
- in: path
- name: id
- required: true
- schema:
- type: string
- format: uuid
- style: simple
- - description: The file name of the downloadable report
- explode: false
- in: path
- name: filename
- required: true
- schema:
- type: string
- style: simple
+ - description: The ID of the report
+ explode: false
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ format: uuid
+ style: simple
+ - description: The file name of the downloadable report
+ explode: false
+ in: path
+ name: filename
+ required: true
+ schema:
+ type: string
+ style: simple
responses:
200:
content:
@@ -1106,7 +1110,7 @@ paths:
description: Artifact not found
summary: Download a report
tags:
- - report
+ - report
x-openapi-router-controller: ibutsu_server.controllers.report_controller
/report/types:
get:
@@ -1131,28 +1135,28 @@ paths:
description: A list of types of reports available
summary: Get a list of report types
tags:
- - report
+ - report
x-openapi-router-controller: ibutsu_server.controllers.report_controller
/widget/{id}:
get:
operationId: get_widget
parameters:
- - description: The widget identifier
- explode: false
- in: path
- name: id
- required: true
- schema:
- type: string
- format: uuid
- style: simple
- - description: The parameters for the widget
- in: query
- name: params
- schema:
- type: object
- style: form
- explode: true
+ - description: The widget identifier
+ explode: false
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ format: uuid
+ style: simple
+ - description: The parameters for the widget
+ in: query
+ name: params
+ schema:
+ type: object
+ style: form
+ explode: true
responses:
200:
content:
@@ -1164,21 +1168,21 @@ paths:
description: No widget of this type exists
summary: Generate data for a dashboard widget
tags:
- - widget
+ - widget
x-openapi-router-controller: ibutsu_server.controllers.widget_controller
/widget/types:
get:
description: A list of widget types
operationId: get_widget_types
parameters:
- - description: Filter by type of widget
- explode: true
- in: query
- name: type
- required: false
- schema:
- type: string
- style: form
+ - description: Filter by type of widget
+ explode: true
+ in: query
+ name: type
+ required: false
+ schema:
+ type: string
+ style: form
responses:
200:
content:
@@ -1188,25 +1192,25 @@ paths:
description: A list of types of widgets available
summary: Get a list of widget types
tags:
- - widget
+ - widget
x-openapi-router-controller: ibutsu_server.controllers.widget_controller
/widget-config:
get:
description: A list of widget configurations
operationId: get_widget_config_list
parameters:
- - description: Fields to filter by
- explode: true
- in: query
- name: filter
- required: false
- schema:
- items:
- type: string
- type: array
- style: form
- - $ref: '#/components/parameters/Page'
- - $ref: '#/components/parameters/PageSize'
+ - description: Fields to filter by
+ explode: true
+ in: query
+ name: filter
+ required: false
+ schema:
+ items:
+ type: string
+ type: array
+ style: form
+ - $ref: '#/components/parameters/Page'
+ - $ref: '#/components/parameters/PageSize'
responses:
200:
content:
@@ -1216,7 +1220,7 @@ paths:
description: successful operation
summary: Get the list of widget configurations
tags:
- - widget-config
+ - widget-config
x-openapi-router-controller: ibutsu_server.controllers.widget_config_controller
post:
operationId: add_widget_config
@@ -1233,21 +1237,21 @@ paths:
description: Bad request, JSON required or not enough parameters
summary: Create a widget configuration
tags:
- - widget-config
+ - widget-config
x-openapi-router-controller: ibutsu_server.controllers.widget_config_controller
/widget-config/{id}:
get:
operationId: get_widget_config
parameters:
- - description: ID of widget config to return
- explode: false
- in: path
- name: id
- required: true
- schema:
- type: string
- format: uuid
- style: simple
+ - description: ID of widget config to return
+ explode: false
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ format: uuid
+ style: simple
responses:
200:
content:
@@ -1264,15 +1268,15 @@ paths:
put:
operationId: update_widget_config
parameters:
- - description: ID of widget configuration to update
- explode: false
- in: path
- name: id
- required: true
- schema:
- type: string
- format: uuid
- style: simple
+ - description: ID of widget configuration to update
+ explode: false
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ format: uuid
+ style: simple
requestBody:
$ref: '#/components/requestBodies/WidgetConfig'
responses:
@@ -1288,20 +1292,20 @@ paths:
description: Widget configuration not found
summary: Updates a single widget configuration
tags:
- - widget-config
+ - widget-config
x-openapi-router-controller: ibutsu_server.controllers.widget_config_controller
delete:
operationId: delete_widget_config
parameters:
- - description: ID of widget configuration to delete
- explode: false
- in: path
- name: id
- required: true
- schema:
- type: string
- format: uuid
- style: simple
+ - description: ID of widget configuration to delete
+ explode: false
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ format: uuid
+ style: simple
responses:
200:
description: The widget configuration was deleted
@@ -1309,7 +1313,7 @@ paths:
description: The widget configuration was not found
summary: Delete a widget configuration
tags:
- - widget-config
+ - widget-config
x-openapi-router-controller: ibutsu_server.controllers.widget_config_controller
/health:
get:
@@ -1323,7 +1327,7 @@ paths:
description: A health report
summary: Get a general health report
tags:
- - health
+ - health
x-openapi-router-controller: ibutsu_server.controllers.health_controller
/health/database:
get:
@@ -1343,7 +1347,7 @@ paths:
description: A health report with an error
summary: Get a health report for the database
tags:
- - health
+ - health
x-openapi-router-controller: ibutsu_server.controllers.health_controller
/health/info:
get:
@@ -1357,7 +1361,7 @@ paths:
description: Some information about the server
summary: Get information about the server
tags:
- - health
+ - health
x-openapi-router-controller: ibutsu_server.controllers.health_controller
/import:
post:
@@ -1375,7 +1379,7 @@ paths:
description: The project associated with this import
type: string
required:
- - importFile
+ - importFile
type: object
responses:
201:
@@ -1390,21 +1394,21 @@ paths:
description: Unsupported Media Type. This file cannot be imported
summary: Import a file into Ibutsu. This can be either a JUnit XML file, or an Ibutsu archive
tags:
- - import
+ - import
x-openapi-router-controller: ibutsu_server.controllers.import_controller
/import/{id}:
get:
operationId: get_import
parameters:
- - description: The ID of the import
- explode: false
- in: path
- name: id
- required: true
- schema:
- type: string
- format: uuid
- style: simple
+ - description: The ID of the import
+ explode: false
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ format: uuid
+ style: simple
responses:
200:
content:
@@ -1422,7 +1426,7 @@ paths:
description: The import does not exist
summary: Get the status of an import
tags:
- - import
+ - import
x-openapi-router-controller: ibutsu_server.controllers.import_controller
/task/{id}:
get:
@@ -1460,6 +1464,84 @@ paths:
tags:
- task
x-openapi-router-controller: ibutsu_server.controllers.task_controller
+ /login:
+ post:
+ operationId: login
+ requestBody:
+ $ref: '#/components/requestBodies/Credentials'
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/LoginToken'
+ description: The user was authenticated
+ 401:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/LoginError'
+ description: There was an error when the user tried to log in
+ tags:
+ - login
+ security: []
+ x-openapi-router-controller: ibutsu_server.controllers.login_controller
+ /login/support:
+ get:
+ operationId: support
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/LoginSupport'
+ description: A list of the login types supported by the backend
+ tags:
+ - login
+ security: []
+ x-openapi-router-controller: ibutsu_server.controllers.login_controller
+ /login/config/{provider}:
+ get:
+ operationId: config
+ parameters:
+ - description: The login provider's configuration
+ explode: false
+ in: path
+ name: provider
+ required: true
+ schema:
+ type: string
+ style: simple
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/LoginConfig'
+ description: A list of the login types supported by the backend
+ tags:
+ - login
+ security: []
+ x-openapi-router-controller: ibutsu_server.controllers.login_controller
+ /login/oauth/{provider}:
+ get:
+ operationId: oauth
+ parameters:
+ - description: The login provider's configuration
+ explode: false
+ in: path
+ name: provider
+ required: true
+ schema:
+ type: string
+ style: simple
+ responses:
+ 200:
+ description: Successful auth
+ tags:
+ - login
+ security: []
+ x-openapi-router-controller: ibutsu_server.controllers.login_controller
components:
requestBodies:
Result:
@@ -1480,6 +1562,27 @@ components:
schema:
$ref: '#/components/schemas/WidgetConfig'
description: Widget configuration
+ Credentials:
+ content:
+ application/json:
+ schema:
+ example:
+ email: me@example.com
+ password: mysupersecretpassword
+ properties:
+ email:
+ description: The e-mail address of the user
+ example: me@example.com
+ type: string
+ password:
+ description: The password for the user
+ example: mysupersecretpassword
+ type: string
+ required:
+ - email
+ - password
+ type: object
+ description: A login object
schemas:
Result:
example:
@@ -1993,6 +2096,58 @@ components:
example: http://localhost:8080/api/ui/
type: string
type: object
+ LoginToken:
+ example:
+ token: eyJhbGciOiJIUzI1NiJ9.SGVsbG8sIHdvcmxkIQ.onO9Ihudz3WkiauDO2Uhyuz0Y18UASXlSc1eS0NkWyA
+ properties:
+ token:
+ description: The JWT token returned from a successful login
+ example: eyJhbGciOiJIUzI1NiJ9.SGVsbG8sIHdvcmxkIQ.onO9Ihudz3WkiauDO2Uhyuz0Y18UASXlSc1eS0NkWyA
+ type: string
+ type: object
+ LoginError:
+ example:
+ code: ERR01
+ message: Username or password was invalid
+ properties:
+ code:
+ description: An error code generated by the server
+ example: ERR01
+ type: string
+ message:
+ description: The error message that corresponds with the error code
+ example: Username or password was invalid
+ type: string
+ type: object
+ LoginSupport:
+ example:
+ user: true
+ redhat: true
+ google: false
+ github: true
+ dropbox: false
+ facebook: false
+ gitlab: true
+ type: object
+ LoginConfig:
+ example:
+ client_id: ff542f48922114019fc5befd0fa0e107b494c365fa4f8af09f3fcb2eb6dc0f77
+ redirect_uri: /api/login/oauth
+ scope: read:user
+ properties:
+ client_id:
+ description: The client ID for the provider
+ example: ff542f48922114019fc5befd0fa0e107b494c365fa4f8af09f3fcb2eb6dc0f77
+ type: string
+ redirect_uri:
+ description: The redirect URI for the provider to call back
+ example: /api/login/oauth
+ type: string
+ scope:
+ description: The OAuth2 permission scope
+ example: read:user
+ type: string
+ type: object
Pagination:
example:
page: 2
@@ -2243,7 +2398,8 @@ components:
type: integer
style: form
securitySchemes:
- api_key:
- in: header
- name: api_key
- type: apiKey
+ jwt:
+ type: http
+ scheme: bearer
+ bearerFormat: JWT
+ x-bearerInfoFunc: ibutsu_server.util.jwt.decode_token
diff --git a/backend/ibutsu_server/test/__init__.py b/backend/ibutsu_server/test/__init__.py
index 562818e9..c0784b15 100644
--- a/backend/ibutsu_server/test/__init__.py
+++ b/backend/ibutsu_server/test/__init__.py
@@ -37,6 +37,13 @@ def create_app(self):
"TESTING": True,
"LIVESERVER_PORT": 0,
"SQLALCHEMY_DATABASE_URI": "sqlite:///:memory:",
+ "GOOGLE_CLIENT_ID": "123456@client.google.com",
+ "GITHUB_CLIENT_ID": None,
+ "DROPBOX_CLIENT_ID": None,
+ "FACEBOOK_CLIENT_ID": None,
+ "GITLAB_CLIENT_ID": "dfgfdgh4563453456dsfgdsfg456",
+ "GITLAB_BASE_URL": "https://gitlab.com",
+ "JWT_SECRET": "89807erkjhdfgu768dfsgdsfg345r",
}
app = get_app(**extra_config)
create_celery_app(app.app)
@@ -165,5 +172,19 @@ class MockRun(MockModel):
]
+class MockUser(MockModel):
+ COLUMNS = [
+ "id",
+ "email",
+ "password",
+ "name",
+ "group_id",
+ ]
+
+ def check_password(self, plain):
+ self._test_password = plain
+ return self.password == plain
+
+
# Mock out the task decorator
ibutsu_server.tasks.task = mock_task
diff --git a/backend/ibutsu_server/test/test_artifact_controller.py b/backend/ibutsu_server/test/test_artifact_controller.py
index 28a6d0f7..faffbc8f 100644
--- a/backend/ibutsu_server/test/test_artifact_controller.py
+++ b/backend/ibutsu_server/test/test_artifact_controller.py
@@ -7,6 +7,7 @@
from ibutsu_server.test import BaseTestCase
from ibutsu_server.test import MockArtifact
+from ibutsu_server.util.jwt import generate_token
from six import BytesIO
@@ -33,6 +34,7 @@ def setUp(self):
self.mock_session = self.session_patcher.start()
self.artifact_patcher = patch("ibutsu_server.controllers.artifact_controller.Artifact")
self.mock_artifact = self.artifact_patcher.start()
+ self.mock_artifact.return_value = MOCK_ARTIFACT
self.mock_artifact.query.get.return_value = MOCK_ARTIFACT
self.mock_limit = MagicMock()
self.mock_limit.return_value.offset.return_value.all.return_value = [MOCK_ARTIFACT]
@@ -40,6 +42,7 @@ def setUp(self):
self.mock_artifact.query.filter.return_value.limit = self.mock_limit
self.mock_artifact.query.count.return_value = 1
self.mock_artifact.query.filter.return_value.count.return_value = 1
+ self.jwt_token = generate_token("test-user")
def tearDown(self):
"""Teardown the mocks"""
@@ -51,7 +54,7 @@ def test_delete_artifact(self):
Delete an artifact
"""
- headers = {}
+ headers = {"Authorization": f"Bearer {self.jwt_token}"}
response = self.client.open(
"/api/artifact/{id}".format(id=MOCK_ID), method="DELETE", headers=headers
)
@@ -65,7 +68,10 @@ def test_download_artifact(self):
Download an artifact
"""
- headers = {"Accept": "application/octet-stream"}
+ headers = {
+ "Accept": "application/octet-stream",
+ "Authorization": f"Bearer {self.jwt_token}",
+ }
response = self.client.open(
"/api/artifact/{id}/download".format(id=MOCK_ID),
method="GET",
@@ -79,7 +85,7 @@ def test_get_artifact(self):
Get a single artifact
"""
- headers = {"Accept": "application/json"}
+ headers = {"Accept": "application/json", "Authorization": f"Bearer {self.jwt_token}"}
response = self.client.open(
"/api/artifact/{id}".format(id=MOCK_ID),
method="GET",
@@ -94,26 +100,30 @@ def test_get_artifact_list(self):
Get a (filtered) list of artifacts
"""
query_string = [("resultId", MOCK_RESULT_ID), ("page", 56), ("pageSize", 56)]
- headers = {"Accept": "application/json"}
+ headers = {"Accept": "application/json", "Authorization": f"Bearer {self.jwt_token}"}
response = self.client.open(
"/api/artifact", method="GET", headers=headers, query_string=query_string
)
self.mock_limit.return_value.offset.return_value.all.assert_called_once()
self.assert_200(response, "Response body is : " + response.data.decode("utf-8"))
- @skip("multipart/form-data not supported by Connexion")
+ @skip("Something is getting crossed in the validation layer")
def test_upload_artifact(self):
"""Test case for upload_artifact
Uploads a test run artifact
"""
- headers = {"Accept": "application/json", "Content-Type": "multipart/form-data"}
- data = dict(
- result_id="result_id_example",
- filename="filename_example",
- file=(BytesIO(b"some file data"), "file.txt"),
- additional_metadata=None,
- )
+ headers = {
+ "Accept": "application/json",
+ "Content-Type": "multipart/form-data",
+ "Authorization": f"Bearer {self.jwt_token}",
+ }
+ data = {
+ "resultId": MOCK_ID,
+ "filename": "log.txt",
+ "additionalMetadata": {"key": "value"},
+ "file": (BytesIO(b"filecontent"), "log.txt"),
+ }
response = self.client.open(
"/api/artifact",
method="POST",
diff --git a/backend/ibutsu_server/test/test_group_controller.py b/backend/ibutsu_server/test/test_group_controller.py
index c91dc3a6..f7079026 100644
--- a/backend/ibutsu_server/test/test_group_controller.py
+++ b/backend/ibutsu_server/test/test_group_controller.py
@@ -7,6 +7,7 @@
from flask import json
from ibutsu_server.test import BaseTestCase
from ibutsu_server.test import MockGroup
+from ibutsu_server.util.jwt import generate_token
MOCK_ID = "c68506e2-202e-4193-a47d-33f1571d4b3e"
MOCK_GROUP = MockGroup(id=MOCK_ID, name="Example group", data={})
@@ -29,6 +30,7 @@ def setUp(self):
self.mock_group.query.count.return_value = 1
self.mock_group.query.get.return_value = MOCK_GROUP
self.mock_group.query.limit = self.mock_limit
+ self.jwt_token = generate_token("test-user")
def tearDown(self):
"""Teardown the mocks"""
@@ -40,7 +42,11 @@ def test_add_group(self):
Create a new group
"""
- headers = {"Accept": "application/json", "Content-Type": "application/json"}
+ headers = {
+ "Accept": "application/json",
+ "Content-Type": "application/json",
+ "Authorization": f"Bearer {self.jwt_token}",
+ }
response = self.client.open(
"/api/group",
method="POST",
@@ -56,7 +62,7 @@ def test_get_group(self):
Get a group
"""
- headers = {"Accept": "application/json"}
+ headers = {"Accept": "application/json", "Authorization": f"Bearer {self.jwt_token}"}
response = self.client.open(
"/api/group/{id}".format(id=MOCK_ID), method="GET", headers=headers
)
@@ -69,7 +75,7 @@ def test_get_group_list(self):
Get a list of groups
"""
query_string = [("page", 56), ("pageSize", 56)]
- headers = {"Accept": "application/json"}
+ headers = {"Accept": "application/json", "Authorization": f"Bearer {self.jwt_token}"}
response = self.client.open(
"/api/group", method="GET", headers=headers, query_string=query_string
)
@@ -87,7 +93,11 @@ def test_update_group(self):
Update a group
"""
- headers = {"Accept": "application/json", "Content-Type": "application/json"}
+ headers = {
+ "Accept": "application/json",
+ "Content-Type": "application/json",
+ "Authorization": f"Bearer {self.jwt_token}",
+ }
response = self.client.open(
"/api/group/{id}".format(id=MOCK_ID),
method="PUT",
diff --git a/backend/ibutsu_server/test/test_health_controller.py b/backend/ibutsu_server/test/test_health_controller.py
index 9cb42d7d..8818ae4b 100644
--- a/backend/ibutsu_server/test/test_health_controller.py
+++ b/backend/ibutsu_server/test/test_health_controller.py
@@ -4,8 +4,7 @@
import unittest
from ibutsu_server.test import BaseTestCase
-
-# from unittest.mock import patch
+from ibutsu_server.util.jwt import generate_token
class TestHealthController(BaseTestCase):
@@ -16,7 +15,10 @@ def test_get_database_health(self):
Get a health report for the database
"""
- headers = {"Accept": "application/json"}
+ headers = {
+ "Accept": "application/json",
+ "Authorization": "Bearer " + generate_token("test-user"),
+ }
response = self.client.open("/api/health/database", method="GET", headers=headers)
self.assert_500(response, "Response body is : " + response.data.decode("utf-8"))
@@ -25,7 +27,10 @@ def test_get_health(self):
Get a general health report
"""
- headers = {"Accept": "application/json"}
+ headers = {
+ "Accept": "application/json",
+ "Authorization": "Bearer " + generate_token("test-user"),
+ }
response = self.client.open("/api/health", method="GET", headers=headers)
self.assert_200(response, "Response body is : " + response.data.decode("utf-8"))
diff --git a/backend/ibutsu_server/test/test_login_controller.py b/backend/ibutsu_server/test/test_login_controller.py
new file mode 100644
index 00000000..73c185ae
--- /dev/null
+++ b/backend/ibutsu_server/test/test_login_controller.py
@@ -0,0 +1,143 @@
+# coding: utf-8
+from __future__ import absolute_import
+
+from unittest.mock import patch
+
+from flask import json
+from ibutsu_server.test import BaseTestCase
+from ibutsu_server.test import MockUser
+from ibutsu_server.util.jwt import generate_token
+
+MOCK_ID = "6f7c2d52-54dc-4309-8e2e-c74515d39455"
+MOCK_EMAIL = "test@example.com"
+MOCK_PASSWORD = "my super secret password"
+MOCK_USER = MockUser(id=MOCK_ID, email=MOCK_EMAIL, password=MOCK_PASSWORD, name="Test User")
+
+
+class TestLoginController(BaseTestCase):
+ """LoginController integration test stubs"""
+
+ def setUp(self):
+ """Set up a fake DB objects"""
+ self.user_patcher = patch("ibutsu_server.controllers.login_controller.User")
+ self.mock_user = self.user_patcher.start()
+ self.mock_user.query.filter_by.return_value.first.return_value = MOCK_USER
+
+ def tearDown(self):
+ """Teardown the mocks"""
+ self.user_patcher.stop()
+
+ @patch("ibutsu_server.controllers.login_controller.generate_token")
+ def test_login(self, mocked_generate_token):
+ """Test case for login
+
+ Log in to the API
+ """
+ login_details = {"email": MOCK_EMAIL, "password": MOCK_PASSWORD}
+ expected_token = generate_token(MOCK_ID)
+ mocked_generate_token.return_value = expected_token
+ expected_response = {"name": "Test User", "email": MOCK_EMAIL, "token": expected_token}
+ headers = {"Accept": "application/json", "Content-Type": "application/json"}
+ response = self.client.open(
+ "/api/login",
+ method="POST",
+ headers=headers,
+ data=json.dumps(login_details),
+ content_type="application/json",
+ )
+ self.assert_200(response, "Response body is : " + response.data.decode("utf-8"))
+ assert response.json == expected_response
+
+ def test_login_empty_request(self):
+ """Test case for login
+
+ Log in to the API
+ """
+ login_details = {"email": "", "password": ""}
+ expected_response = {"code": "EMPTY", "message": "Username and/or password are empty"}
+ headers = {"Accept": "application/json", "Content-Type": "application/json"}
+ response = self.client.open(
+ "/api/login",
+ method="POST",
+ headers=headers,
+ data=json.dumps(login_details),
+ content_type="application/json",
+ )
+ self.assert_401(response, "Response body is : " + response.data.decode("utf-8"))
+ assert response.json == expected_response
+
+ def test_login_no_user(self):
+ """Test case for login
+
+ Log in to the API
+ """
+ login_details = {"email": "bad@email.com", "password": MOCK_PASSWORD}
+ expected_response = {"code": "INVALID", "message": "Username and/or password are invalid"}
+ headers = {"Accept": "application/json", "Content-Type": "application/json"}
+ self.mock_user.query.filter_by.return_value.first.return_value = None
+ response = self.client.open(
+ "/api/login",
+ method="POST",
+ headers=headers,
+ data=json.dumps(login_details),
+ content_type="application/json",
+ )
+ self.assert_401(response, "Response body is : " + response.data.decode("utf-8"))
+ assert response.json == expected_response
+
+ def test_login_bad_password(self):
+ """Test case for login
+
+ Log in to the API
+ """
+ login_details = {"email": MOCK_EMAIL, "password": "bad password"}
+ expected_response = {"code": "INVALID", "message": "Username and/or password are invalid"}
+ headers = {"Accept": "application/json", "Content-Type": "application/json"}
+ response = self.client.open(
+ "/api/login",
+ method="POST",
+ headers=headers,
+ data=json.dumps(login_details),
+ content_type="application/json",
+ )
+ self.assert_401(response, "Response body is : " + response.data.decode("utf-8"))
+ assert response.json == expected_response
+
+ def test_support(self):
+ """Test the support method"""
+ expected_response = {
+ "user": True,
+ "redhat": False,
+ "google": True,
+ "github": False,
+ "dropbox": False,
+ "facebook": False,
+ "gitlab": True,
+ }
+ headers = {"Accept": "application/json", "Content-Type": "application/json"}
+ response = self.client.open(
+ "/api/login/support",
+ method="GET",
+ headers=headers,
+ content_type="application/json",
+ )
+ self.assert_200(response, "Response body is : " + response.data.decode("utf-8"))
+ assert response.json == expected_response
+
+ def test_config_gitlab(self):
+ """Test getting the "gitlab" provider config"""
+ expected_response = {
+ "authorization_url": "https://gitlab.com/oauth/authorize",
+ "client_id": "dfgfdgh4563453456dsfgdsfg456",
+ "redirect_uri": "http://localhost:8080/api/login/oauth/gitlab",
+ "scope": "read_user",
+ }
+ headers = {"Accept": "application/json", "Content-Type": "application/json"}
+ response = self.client.open(
+ "/api/login/config/gitlab",
+ method="GET",
+ headers=headers,
+ content_type="application/json",
+ )
+ self.assert_200(response, "Response body is : " + response.data.decode("utf-8"))
+ assert response.json == expected_response
diff --git a/backend/ibutsu_server/test/test_project_controller.py b/backend/ibutsu_server/test/test_project_controller.py
index 9d4ce006..410ec9be 100644
--- a/backend/ibutsu_server/test/test_project_controller.py
+++ b/backend/ibutsu_server/test/test_project_controller.py
@@ -7,6 +7,7 @@
from flask import json
from ibutsu_server.test import BaseTestCase
from ibutsu_server.test import MockProject
+from ibutsu_server.util.jwt import generate_token
MOCK_ID = "5ac7d645-45a3-4cbe-acb2-c8d6f7e05468"
MOCK_NAME = "my-project"
@@ -39,6 +40,7 @@ def setUp(self):
self.mock_project.query.filter.return_value.limit = mock_limit
self.mock_project.query.count.return_value = 1
self.mock_project.query.filter.return_value.count.return_value = 1
+ self.jwt_token = generate_token("test-user")
def tearDown(self):
"""Teardown the mocks"""
@@ -50,7 +52,11 @@ def test_add_project(self):
Create a project
"""
- headers = {"Accept": "application/json", "Content-Type": "application/json"}
+ headers = {
+ "Accept": "application/json",
+ "Content-Type": "application/json",
+ "Authorization": f"Bearer {self.jwt_token}",
+ }
response = self.client.open(
"/api/project",
method="POST",
@@ -69,7 +75,7 @@ def test_get_project_by_id(self):
Get a single project by ID
"""
self.mock_project.query.filter.return_value.first.return_value = None
- headers = {"Accept": "application/json"}
+ headers = {"Accept": "application/json", "Authorization": f"Bearer {self.jwt_token}"}
response = self.client.open(
"/api/project/{id}".format(id=MOCK_ID), method="GET", headers=headers
)
@@ -83,7 +89,7 @@ def test_get_project_by_name(self):
Get a single project by name
"""
self.mock_project.query.filter.return_value.first.return_value = MOCK_PROJECT
- headers = {"Accept": "application/json"}
+ headers = {"Accept": "application/json", "Authorization": f"Bearer {self.jwt_token}"}
response = self.client.open(
"/api/project/{id}".format(id=MOCK_NAME), method="GET", headers=headers
)
@@ -105,7 +111,7 @@ def test_get_project_list(self):
("page", 56),
("pageSize", 56),
]
- headers = {"Accept": "application/json"}
+ headers = {"Accept": "application/json", "Authorization": f"Bearer {self.jwt_token}"}
response = self.client.open(
"/api/project", method="GET", headers=headers, query_string=query_string
)
@@ -127,7 +133,11 @@ def test_update_project(self):
}
updated_dict = MOCK_PROJECT_DICT.copy()
updated_dict.update(updates)
- headers = {"Accept": "application/json", "Content-Type": "application/json"}
+ headers = {
+ "Accept": "application/json",
+ "Content-Type": "application/json",
+ "Authorization": f"Bearer {self.jwt_token}",
+ }
response = self.client.open(
"/api/project/{id}".format(id=MOCK_ID),
method="PUT",
diff --git a/backend/ibutsu_server/test/test_report_controller.py b/backend/ibutsu_server/test/test_report_controller.py
index 18ef103e..75aad14d 100644
--- a/backend/ibutsu_server/test/test_report_controller.py
+++ b/backend/ibutsu_server/test/test_report_controller.py
@@ -7,6 +7,7 @@
from flask import json
from ibutsu_server.test import BaseTestCase
from ibutsu_server.test import MockReport
+from ibutsu_server.util.jwt import generate_token
MOCK_ID = "751162a7-b0e0-448e-9af3-676d1a48b0ca"
MOCK_PARAMS = {"type": "csv", "source": "local"}
@@ -35,6 +36,7 @@ def setUp(self):
self.mock_report.return_value = MOCK_REPORT
self.mock_report.from_dict.return_value = MOCK_REPORT
self.mock_report.query.get.return_value = MOCK_REPORT
+ self.jwt_token = generate_token("test-user")
def tearDown(self):
"""Tear down mocks"""
@@ -47,7 +49,11 @@ def test_add_report(self):
Create a new report
"""
body = {"type": "csv", "source": "local"}
- headers = {"Accept": "application/json", "Content-Type": "application/json"}
+ headers = {
+ "Accept": "application/json",
+ "Content-Type": "application/json",
+ "Authorization": f"Bearer {self.jwt_token}",
+ }
with patch.dict("ibutsu_server.controllers.report_controller.REPORTS", {"csv": MOCK_CSV}):
response = self.client.open(
"/api/report",
@@ -64,7 +70,7 @@ def test_get_report(self):
Get a report
"""
- headers = {"Accept": "application/json"}
+ headers = {"Accept": "application/json", "Authorization": f"Bearer {self.jwt_token}"}
response = self.client.open(
"/api/report/{id}".format(id=MOCK_ID), method="GET", headers=headers
)
@@ -81,7 +87,7 @@ def test_get_report_list(self):
mock_limit.return_value.all.return_value = [MOCK_REPORT]
self.mock_report.query.order_by.return_value.offset.return_value.limit = mock_limit
query_string = [("page", 56), ("pageSize", 56)]
- headers = {"Accept": "application/json"}
+ headers = {"Accept": "application/json", "Authorization": f"Bearer {self.jwt_token}"}
with patch(
"ibutsu_server.controllers.report_controller.get_project_id"
) as mocked_get_project_id:
diff --git a/backend/ibutsu_server/test/test_result_controller.py b/backend/ibutsu_server/test/test_result_controller.py
index 3097e470..b51899ea 100644
--- a/backend/ibutsu_server/test/test_result_controller.py
+++ b/backend/ibutsu_server/test/test_result_controller.py
@@ -8,6 +8,7 @@
from flask import json
from ibutsu_server.test import BaseTestCase
from ibutsu_server.test import MockResult
+from ibutsu_server.util.jwt import generate_token
MOCK_ID = "99fba7d2-4d32-4b9b-b07f-4200c9717661"
START_TIME = datetime.utcnow()
@@ -36,6 +37,7 @@ def setUp(self):
self.mock_result.return_value = MOCK_RESULT
self.mock_result.from_dict.return_value = MOCK_RESULT
self.mock_result.query.get.return_value = MOCK_RESULT
+ self.jwt_token = generate_token("test-user")
def tearDown(self):
"""Teardown the mocks"""
@@ -56,7 +58,11 @@ def test_add_result(self):
"params": {"provider": "vmware", "ip_stack": "ipv4"},
"test_id": "test_id",
}
- headers = {"Accept": "application/json", "Content-Type": "application/json"}
+ headers = {
+ "Accept": "application/json",
+ "Content-Type": "application/json",
+ "Authorization": f"Bearer {self.jwt_token}",
+ }
response = self.client.open(
"/api/result",
method="POST",
@@ -72,7 +78,7 @@ def test_get_result(self):
Get a single result
"""
- headers = {"Accept": "application/json"}
+ headers = {"Accept": "application/json", "Authorization": f"Bearer {self.jwt_token}"}
response = self.client.open(
"/api/result/{id}".format(id=MOCK_ID), method="GET", headers=headers
)
@@ -90,7 +96,7 @@ def test_get_result_list(self):
self.mock_result.query.count.return_value = 1
self.mock_result.query.filter.return_value.count.return_value = 1
query_string = [("filter", "metadata.component=frontend"), ("page", 56), ("pageSize", 56)]
- headers = {"Accept": "application/json"}
+ headers = {"Accept": "application/json", "Authorization": f"Bearer {self.jwt_token}"}
response = self.client.open(
"/api/result", method="GET", headers=headers, query_string=query_string
)
@@ -114,7 +120,11 @@ def test_update_result(self):
"params": {"provider": "vmware", "ip_stack": "ipv4"},
"test_id": "test_id",
}
- headers = {"Accept": "application/json", "Content-Type": "application/json"}
+ headers = {
+ "Accept": "application/json",
+ "Content-Type": "application/json",
+ "Authorization": f"Bearer {self.jwt_token}",
+ }
response = self.client.open(
"/api/result/{id}".format(id=MOCK_ID),
method="PUT",
diff --git a/backend/ibutsu_server/test/test_run_controller.py b/backend/ibutsu_server/test/test_run_controller.py
index d4035676..9fbbfe89 100644
--- a/backend/ibutsu_server/test/test_run_controller.py
+++ b/backend/ibutsu_server/test/test_run_controller.py
@@ -9,6 +9,7 @@
from flask import json
from ibutsu_server.test import BaseTestCase
from ibutsu_server.test import MockRun
+from ibutsu_server.util.jwt import generate_token
from six import BytesIO
MOCK_ID = "6b26876f-bcd9-49f3-b5bd-35f895a345d1"
@@ -43,6 +44,7 @@ def setUp(self):
self.mock_run.query.limit = self.mock_limit
self.task_patcher = patch("ibutsu_server.controllers.run_controller.update_run_task")
self.mock_update_run_task = self.task_patcher.start()
+ self.jwt_token = generate_token("test-user")
def tearDown(self):
"""Teardown the mocks"""
@@ -62,7 +64,11 @@ def test_add_run(self):
"start_time": START_TIME,
"created": START_TIME,
}
- headers = {"Accept": "application/json", "Content-Type": "application/json"}
+ headers = {
+ "Accept": "application/json",
+ "Content-Type": "application/json",
+ "Authorization": f"Bearer {self.jwt_token}",
+ }
response = self.client.open(
"/api/run",
method="POST",
@@ -79,7 +85,7 @@ def test_get_run(self):
Get a single run by ID
"""
- headers = {"Accept": "application/json"}
+ headers = {"Accept": "application/json", "Authorization": f"Bearer {self.jwt_token}"}
response = self.client.open(
"/api/run/{id}".format(id=MOCK_ID), method="GET", headers=headers
)
@@ -92,7 +98,7 @@ def test_get_run_list(self):
Get a list of the test runs
"""
query_string = [("page", 56), ("pageSize", 56)]
- headers = {"Accept": "application/json"}
+ headers = {"Accept": "application/json", "Authorization": f"Bearer {self.jwt_token}"}
response = self.client.open(
"/api/run", method="GET", headers=headers, query_string=query_string
)
@@ -104,7 +110,11 @@ def test_import_run(self):
Import a JUnit XML file
"""
- headers = {"Accept": "application/json", "Content-Type": "multipart/form-data"}
+ headers = {
+ "Accept": "application/json",
+ "Content-Type": "multipart/form-data",
+ "Authorization": f"Bearer {self.jwt_token}",
+ }
data = dict(xml_file=(BytesIO(b"some file data"), "file.txt"))
response = self.client.open(
"/api/run/import",
@@ -124,7 +134,11 @@ def test_update_run(self):
"duration": 540.05433,
"summary": {"errors": 1, "failures": 3, "skips": 0, "tests": 548},
}
- headers = {"Accept": "application/json", "Content-Type": "application/json"}
+ headers = {
+ "Accept": "application/json",
+ "Content-Type": "application/json",
+ "Authorization": f"Bearer {self.jwt_token}",
+ }
response = self.client.open(
"/api/run/{id}".format(id=MOCK_ID),
method="PUT",
diff --git a/backend/ibutsu_server/util/jwt.py b/backend/ibutsu_server/util/jwt.py
new file mode 100644
index 00000000..97b932c5
--- /dev/null
+++ b/backend/ibutsu_server/util/jwt.py
@@ -0,0 +1,37 @@
+import time
+
+from flask import current_app
+from ibutsu_server.errors import IbutsuError
+from jose.constants import ALGORITHMS
+from jose.exceptions import JWTError
+from jose.jwt import decode as jwt_decode
+from jose.jwt import encode as jwt_encode
+from werkzeug.exceptions import Unauthorized
+
+
+JWT_ISSUER = "org.ibutsu-project.server"
+JWT_SECRET = ""
+JWT_LIFETIME_SECONDS = 2592000
+
+
+def generate_token(user_id):
+ """Generate a JWT token using the user_id"""
+ timestamp = int(time.time())
+ claims = {
+ "iss": current_app.config.get("JWT_ISSUER", JWT_ISSUER),
+ "iat": timestamp,
+ "exp": timestamp
+ + int(current_app.config.get("JWT_LIFETIME_SECONDS", JWT_LIFETIME_SECONDS)),
+ "sub": str(user_id),
+ }
+ if not JWT_SECRET and not current_app.config.get("JWT_SECRET"):
+ raise IbutsuError("JWT_SECRET is not defined in configuration or an environment variable")
+ return jwt_encode(claims, JWT_SECRET, algorithm=ALGORITHMS.HS256)
+
+
+def decode_token(token):
+ """Decode a JWT token to check if it is valid"""
+ try:
+ return jwt_decode(token, JWT_SECRET, algorithms=[ALGORITHMS.HS256])
+ except JWTError as error:
+ raise Unauthorized from error
diff --git a/backend/ibutsu_server/util/oauth.py b/backend/ibutsu_server/util/oauth.py
new file mode 100644
index 00000000..96e68f25
--- /dev/null
+++ b/backend/ibutsu_server/util/oauth.py
@@ -0,0 +1,63 @@
+from urllib.parse import urljoin
+
+import requests
+from flask import current_app
+from ibutsu_server.constants import OAUTH_CONFIG
+from ibutsu_server.db.base import session
+from ibutsu_server.db.models import User
+
+
+def _build_url(base_url, url_path):
+ if "://" not in url_path and base_url:
+ return urljoin(base_url, url_path)
+ else:
+ return url_path
+
+
+def get_provider_config(provider, is_private=False):
+ """Return the customised config for a provider"""
+ provider_upper = provider.upper()
+ backend_url = current_app.config.get("BACKEND_URL", "http://localhost:8080/api")
+ server_url = current_app.config.get(f"{provider_upper}_BASE_URL")
+ provider_config = OAUTH_CONFIG.get(provider, {})
+ config = {
+ "client_id": current_app.config.get(f"{provider_upper}_CLIENT_ID"),
+ "redirect_uri": backend_url + f"/login/oauth/{provider}",
+ "scope": provider_config.get("sep", " ").join(provider_config.get("scope", [])),
+ }
+ if current_app.config.get(f"{provider_upper}_AUTH_URL"):
+ config["authorization_url"] = _build_url(
+ server_url, current_app.config.get(f"{provider_upper}_AUTH_URL")
+ )
+ elif provider_config.get("auth_url"):
+ config["authorization_url"] = _build_url(server_url, provider_config["auth_url"])
+ if is_private:
+ config["client_secret"] = current_app.config.get(f"{provider_upper}_CLIENT_SECRET")
+ config["user_url"] = _build_url(server_url, provider_config.get("user_url"))
+ if current_app.config.get(f"{provider_upper}_TOKEN_URL"):
+ config["token_url"] = _build_url(
+ server_url, current_app.config.get(f"{provider_upper}_TOKEN_URL")
+ )
+ elif provider_config.get("token_url"):
+ config["token_url"] = _build_url(server_url, provider_config["token_url"])
+ return config
+
+
+def get_user_from_provider(provider, auth_data):
+ """Get a user object from the ``provider``, using the ``auth_data``"""
+ provider_config = get_provider_config(provider, is_private=True)
+ response = requests.get(
+ provider_config["user_url"],
+ headers={"Authorization": "Bearer " + auth_data["access_token"]},
+ )
+ if response.status_code == 200:
+ user_json = response.json()
+ print(user_json)
+ user = User.query.filter(User.email == user_json["email"]).first()
+ if not user:
+ user = User(email=user_json["email"], name=user_json["name"], _password=user_json["id"])
+ session.add(user)
+ session.commit()
+ return user
+ else:
+ return None
diff --git a/backend/setup.py b/backend/setup.py
index 0abec36e..f0fde168 100644
--- a/backend/setup.py
+++ b/backend/setup.py
@@ -18,6 +18,7 @@
"lxml",
"psycopg2-binary",
"pymongo",
+ "python-jose[cryptography]",
"python-magic",
"python_dateutil==2.6.0",
"PyYAML",
@@ -26,7 +27,6 @@
"sqlalchemy==1.3.23",
"sqlalchemy-json",
"swagger-ui-bundle==0.0.2",
- # Pin this for now, once other libraries are updated, drop this pin
"werkzeug",
"vine<5.0.0a1",
]
diff --git a/frontend/package.json b/frontend/package.json
index 5552ced5..7b0b423d 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -24,17 +24,22 @@
"eslint": "^6.8.0",
"eslint-plugin-import": "^2.20.2",
"eslint-plugin-react": "^7.19.0",
+ "history": "^5.0.0",
"js-levenshtein": "^1.1.6",
"monaco-editor": "^0.19.0",
"prop-types": "^15.7.2",
"react": "^16.13.1",
"react-dom": "^16.8.6",
+ "react-facebook-login": "^4.1.1",
+ "react-github-login": "^1.0.3",
+ "react-google-login": "^5.2.2",
"react-heatmap-grid": "^0.8.1",
"react-json-view": "^1.19.1",
"react-linkify": "^1.0.0-alpha",
"react-router-dom": "^5.0.0",
"react-scripts": "^3.4.1",
"react-simple-jstree": "^0.2.2",
+ "react-simple-oauth2-login": "^0.2.0",
"react-test-renderer": "^16.13.1",
"react-typeahead": "^2.0.0-alpha.8",
"restful.js": "^0.9.6",
diff --git a/frontend/public/images/ibutsu-wordart-544.png b/frontend/public/images/ibutsu-wordart-544.png
new file mode 100644
index 00000000..89f9804a
Binary files /dev/null and b/frontend/public/images/ibutsu-wordart-544.png differ
diff --git a/frontend/src/app.css b/frontend/src/app.css
index aed79499..27a72ee6 100644
--- a/frontend/src/app.css
+++ b/frontend/src/app.css
@@ -146,6 +146,26 @@ a.typeahead-option {
outline: none;
}
+#user-dropdown {
+ margin-left: 2rem;
+}
+
+#user-dropdown .pf-c-dropdown__toggle::before {
+ border-color: var(--pf-global--BackgroundColor--dark-100);
+}
+
+#user-dropdown .pf-c-dropdown__toggle,
+#user-dropdown .pf-c-dropdown__toggle * {
+ background-color: var(--pf-global--BackgroundColor--dark-100);
+ color: var(--pf-global--Color--light-200);
+}
+
+#user-dropdown .pf-c-dropdown input,
+#user-dropdown .pf-c-dropdown button {
+ border-color: var(--pf-global--BackgroundColor--dark-100);
+ outline: none;
+}
+
#dashboard-selector .pf-c-select__toggle::before {
border-color: var(--pf-global--BackgroundColor--light-300);
}
@@ -167,6 +187,7 @@ a.typeahead-option {
#dashboard-selector .pf-c-select__toggle.pf-m-disabled * ,
#dashboard-selector .pf-c-select__toggle:disabled * {
background-color: var(--pf-global--BackgroundColor--light-200);
+ border-color: var(--pf-global--BackgroundColor--light-200);
color: var(--pf-global--Color--dark-100);
}
diff --git a/frontend/src/app.js b/frontend/src/app.js
index 012685c8..43375619 100644
--- a/frontend/src/app.js
+++ b/frontend/src/app.js
@@ -9,6 +9,9 @@ import {
AlertVariant,
Brand,
Button,
+ Dropdown,
+ DropdownItem,
+ DropdownToggle,
Flex,
FlexItem,
Nav,
@@ -28,8 +31,8 @@ import {
} from '@patternfly/react-core';
import EventEmitter from 'wolfy87-eventemitter';
-import { UploadIcon, ServerIcon, QuestionCircleIcon } from '@patternfly/react-icons';
-import { BrowserRouter as Router, NavLink, Route, Switch, withRouter } from 'react-router-dom';
+import { CaretDownIcon, UploadIcon, ServerIcon, QuestionCircleIcon, UserIcon } from '@patternfly/react-icons';
+import { NavLink, Route, Switch, withRouter } from 'react-router-dom';
import accessibleStyles from '@patternfly/patternfly/utilities/Accessibility/accessibility.css';
import { css } from '@patternfly/react-styles';
@@ -42,7 +45,9 @@ import { Result } from './result';
import { Settings } from './settings';
import { FileUpload, View } from './components';
import { ALERT_TIMEOUT, MONITOR_UPLOAD_TIMEOUT, VERSION_CHECK_TIMEOUT } from './constants';
-import { buildUrl, getActiveProject } from './utilities';
+import { AuthService } from './services/auth';
+import { HttpClient } from './services/http';
+import { getActiveProject } from './utilities';
import { version } from '../package.json'
import './app.css';
@@ -67,7 +72,7 @@ function projectToSelect(project) {
}
-class App extends React.Component {
+export class App extends React.Component {
constructor(props) {
super(props);
let project = getActiveProject();
@@ -84,7 +89,8 @@ class App extends React.Component {
selectedProject: projectToSelect(project),
searchValue: '',
projects: [],
- views: []
+ views: [],
+ isUserDropdownOpen: false
};
this.eventEmitter.on('projectChange', () => {
this.getViews();
@@ -97,8 +103,8 @@ class App extends React.Component {
if (project) {
params['filter'].push('project_id=' + project.id);
}
- fetch(buildUrl(Settings.serverUrl + '/widget-config', params))
- .then(response => response.json())
+ HttpClient.get([Settings.serverUrl, 'widget-config'], params)
+ .then(response => HttpClient.handleResponse(response))
.then(data => {
data.widgets.forEach(widget => {
if (project) {
@@ -149,6 +155,7 @@ class App extends React.Component {
}
onAfterUpload = (response) => {
+ response = HttpClient.handleResponse(response, 'response');
if (response.status >= 200 && response.status < 400) {
response.json().then((importObject) => {
this.showNotification('info', 'Import Starting', importObject.filename + ' is being imported...');
@@ -164,8 +171,8 @@ class App extends React.Component {
}
monitorUpload = () => {
- fetch(Settings.serverUrl + '/import/' + this.state.importId)
- .then(response => response.json())
+ HttpClient.get([Settings.serverUrl, 'import', this.state.importId])
+ .then(response => HttpClient.handleResponse(response))
.then(data => {
if (data['status'] === 'done') {
clearInterval(this.state.monitorUploadId);
@@ -186,8 +193,8 @@ class App extends React.Component {
checkVersion() {
const frontendUrl = window.location.origin;
- fetch(frontendUrl + '/version.json?v=' + getDateString())
- .then(response => response.json())
+ HttpClient.get([frontendUrl, 'version.json'], {'v': getDateString()})
+ .then(response => HttpClient.handleResponse(response))
.then((data) => {
if (data && data.version && (data.version !== this.version)) {
const action = { window.location.reload(); }}>Reload;
@@ -197,8 +204,8 @@ class App extends React.Component {
}
getProjects() {
- fetch(Settings.serverUrl + '/project')
- .then(response => response.json())
+ HttpClient.get([Settings.serverUrl, 'project'])
+ .then(response => HttpClient.handleResponse(response))
.then(data => this.setState({projects: data['projects']}));
}
@@ -233,6 +240,19 @@ class App extends React.Component {
this.eventEmitter.emit('projectChange');
}
+ onUserDropdownToggle = (isOpen) => {
+ this.setState({isUserDropdownOpen: isOpen});
+ };
+
+ onUserDropdownSelect = () => {
+ this.setState({isUserDropdownOpen: false});
+ };
+
+ logout = () => {
+ AuthService.logout();
+ window.location = "/";
+ }
+
componentWillUnmount() {
if (this.state.monitorUploadId) {
clearInterval(this.state.monitorUploadId);
@@ -312,6 +332,26 @@ class App extends React.Component {
API
+
+ }
+ isPlain={true}
+ >
+ {AuthService.getUser() && (AuthService.getUser().name || AuthService.getUser().email)}
+
+ }
+ isOpen={this.state.isUserDropdownOpen}
+ dropdownItems={[
+ Logout
+ ]}
+ />
+
);
@@ -326,8 +366,7 @@ class App extends React.Component {
const sidebar = ;
return (
-
-
+
@@ -394,10 +433,7 @@ class App extends React.Component {
-
-
+
);
}
}
-
-export default App;
diff --git a/frontend/src/app.test.js b/frontend/src/app.test.js
index e9957993..b6f858c2 100644
--- a/frontend/src/app.test.js
+++ b/frontend/src/app.test.js
@@ -1,9 +1,9 @@
import React from 'react';
import ReactDOM from 'react-dom';
-import App from './app';
+import { Base } from './base';
it('renders without crashing', () => {
const div = document.createElement('div');
- ReactDOM.render(, div);
+ ReactDOM.render(, div);
ReactDOM.unmountComponentAtNode(div);
});
diff --git a/frontend/src/base.js b/frontend/src/base.js
new file mode 100644
index 00000000..b1f7683e
--- /dev/null
+++ b/frontend/src/base.js
@@ -0,0 +1,20 @@
+import React from 'react';
+
+import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
+import { App } from './app';
+import { Login } from './login';
+import { ProtectedRoute } from './components/protected-route';
+import { AuthService } from './services/auth';
+
+export const Base = () => {
+ return (
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/frontend/src/components/classification-dropdown.js b/frontend/src/components/classification-dropdown.js
index bc55bb18..797e6a9c 100644
--- a/frontend/src/components/classification-dropdown.js
+++ b/frontend/src/components/classification-dropdown.js
@@ -7,6 +7,7 @@ import {
DropdownToggle
} from '@patternfly/react-core';
+import { HttpClient } from '../services/http';
import { Settings } from '../settings';
import { CLASSIFICATION } from '../constants.js';
@@ -38,11 +39,7 @@ export class ClassificationDropdown extends React.Component {
let testResult = this.state.testResult;
testResult['metadata']['classification'] = event.target.getAttribute('value');
this.setState({testResult: testResult, isClassificationOpen: !this.state.isClassificationOpen});
- fetch(Settings.serverUrl + '/result/' + testResult['id'], {
- method: 'PUT',
- headers: {'Content-Type': 'application/json'},
- body: JSON.stringify(testResult)
- });
+ HttpClient.put([Settings.serverUrl, 'result', testResult['id']], {}, testResult);
}
render() {
@@ -84,11 +81,8 @@ export class MultiClassificationDropdown extends React.Component {
else {
selectedResults.forEach(result => {
result['metadata']['classification'] = classification;
- fetch(Settings.serverUrl + '/result/' + result['id'], {
- method: 'PUT',
- headers: {'Content-Type': 'application/json'},
- body: JSON.stringify(result)
- }).then(this.props.refreshFunc());
+ HttpClient.put([Settings.serverUrl, 'result', result['id']], {}, result)
+ .then(this.props.refreshFunc());
})
this.setState({isClassificationOpen: !this.state.isClassificationOpen});
}
diff --git a/frontend/src/components/classify-failures.js b/frontend/src/components/classify-failures.js
index 6e8b6431..d3512f41 100644
--- a/frontend/src/components/classify-failures.js
+++ b/frontend/src/components/classify-failures.js
@@ -17,10 +17,10 @@ import {
expandable
} from '@patternfly/react-table';
+import { HttpClient } from '../services/http';
import { Settings } from '../settings';
import {
buildParams,
- buildUrl,
getSpinnerRow,
resultToClassificationRow,
} from '../utilities';
@@ -168,8 +168,8 @@ export class ClassifyFailuresTable extends React.Component {
}
this.setState({rows: [['Loading...', '', '', '', '']]});
- fetch(buildUrl(Settings.serverUrl + '/result', params))
- .then(response => response.json())
+ HttpClient.get([Settings.serverUrl, 'result'], params)
+ .then(response => HttpClient.handleResponse(response))
.then(data => this.setState({
results: data.results,
rows: data.results.map((result, index) => resultToClassificationRow(result, index, this.setFilter)).flat(),
diff --git a/frontend/src/components/delete-modal.js b/frontend/src/components/delete-modal.js
index 62f57e8c..aee5c888 100644
--- a/frontend/src/components/delete-modal.js
+++ b/frontend/src/components/delete-modal.js
@@ -13,7 +13,7 @@ export class DeleteModal extends React.Component {
static propTypes = {
id: PropTypes.object,
title: PropTypes.string,
- body: PropTypes.string,
+ body: PropTypes.node,
onDelete: PropTypes.func,
onClose: PropTypes.func,
isOpen: PropTypes.bool
diff --git a/frontend/src/components/fileupload.js b/frontend/src/components/fileupload.js
index 911c3302..95b6660a 100644
--- a/frontend/src/components/fileupload.js
+++ b/frontend/src/components/fileupload.js
@@ -1,6 +1,8 @@
import React from 'react';
import PropTypes from 'prop-types';
+import { HttpClient } from '../services/http';
+
export class FileUpload extends React.Component {
static propTypes = {
url: PropTypes.string.isRequired,
@@ -50,15 +52,9 @@ export class FileUpload extends React.Component {
}
uploadFile = (file) => {
- // Upload the file
- const formData = new FormData();
- formData.append(this.state.name, file);
- if (this.props.params) {
- Object.keys(this.props.params).forEach(key => {
- formData.append(key, this.props.params[key]);
- });
- }
- fetch(this.state.url, {method: 'POST', body: formData}).then((response) => {
+ const files = {};
+ files[this.state.name] = file;
+ HttpClient.upload(this.state.url, files, this.props.params).then((response) => {
if (this.state.afterUpload) {
this.state.afterUpload(response);
}
diff --git a/frontend/src/components/new-widget-wizard.js b/frontend/src/components/new-widget-wizard.js
index 754782cd..e40e6829 100644
--- a/frontend/src/components/new-widget-wizard.js
+++ b/frontend/src/components/new-widget-wizard.js
@@ -27,6 +27,7 @@ import {
import { ExclamationCircleIcon } from '@patternfly/react-icons';
import Linkify from 'react-linkify';
+import { HttpClient } from '../services/http';
import { linkifyDecorator } from './decorators';
import { Settings } from '../settings';
@@ -173,8 +174,8 @@ export class NewWidgetWizard extends React.Component {
}
componentDidMount() {
- fetch(Settings.serverUrl + '/widget/types?type=widget')
- .then(response => response.json())
+ HttpClient.get([Settings.serverUrl, 'widget', 'types'], {'type': 'widget'})
+ .then(response => HttpClient.handleResponse(response))
.then(data => {
this.setState({widgetTypes: data.types});
});
diff --git a/frontend/src/components/protected-route.js b/frontend/src/components/protected-route.js
new file mode 100644
index 00000000..fd58252f
--- /dev/null
+++ b/frontend/src/components/protected-route.js
@@ -0,0 +1,30 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import { Route, Redirect } from 'react-router-dom';
+
+export const ProtectedRoute = ({
+ component: Component,
+ isLoggedIn,
+ redirectRoute,
+ ...rest
+}) => {
+ return (
+ {
+ if (!isLoggedIn) {
+ return ;
+ }
+ else {
+ return ;
+ }
+ }}
+ />
+ );
+};
+
+ProtectedRoute.propTypes = {
+ component: PropTypes.elementType,
+ isLoggedIn: PropTypes.bool,
+ redirectRoute: PropTypes.any
+};
diff --git a/frontend/src/components/result.js b/frontend/src/components/result.js
index dab792ad..048968ac 100644
--- a/frontend/src/components/result.js
+++ b/frontend/src/components/result.js
@@ -23,10 +23,11 @@ import Linkify from 'react-linkify';
import ReactJson from 'react-json-view';
import Editor from '@monaco-editor/react';
+import { HttpClient } from '../services/http';
import { ClassificationDropdown } from './classification-dropdown';
import { linkifyDecorator } from './decorators'
import { Settings } from '../settings';
-import { buildUrl, getIconForResult, round } from '../utilities';
+import { getIconForResult, round } from '../utilities';
import { TabTitle } from './tabs';
const MockTest = {
@@ -115,18 +116,18 @@ export class ResultView extends React.Component {
};
getTestResult(resultId) {
- fetch(Settings.serverUrl + '/result/' + resultId)
- .then(response => response.json())
+ HttpClient.get([Settings.serverUrl, 'result', resultId])
+ .then(response => HttpClient.handleResponse(response))
.then(data => this.setState({testResult: data}));
}
getTestArtifacts(resultId) {
- fetch(buildUrl(Settings.serverUrl + '/artifact', {resultId: resultId}))
- .then(response => response.json())
+ HttpClient.get([Settings.serverUrl, 'artifact'], {resultId: resultId})
+ .then(response => HttpClient.handleResponse(response))
.then(data => {
let artifactTabs = [];
data.artifacts.forEach((artifact) => {
- fetch(Settings.serverUrl + `/artifact/${artifact.id}/view`)
+ HttpClient.get([Settings.serverUrl, 'artifact', artifact.id, 'view'])
.then(response => {
let contentType = response.headers.get('Content-Type');
if (contentType.includes('text')) {
diff --git a/frontend/src/components/tabs.js b/frontend/src/components/tabs.js
index 6aa2e2b3..98bcb552 100644
--- a/frontend/src/components/tabs.js
+++ b/frontend/src/components/tabs.js
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
import { TabTitleIcon, TabTitleText } from '@patternfly/react-core';
export class TabTitle extends React.Component {
- propTypes = {
+ static propTypes = {
icon: PropTypes.object,
text: PropTypes.string
}
diff --git a/frontend/src/components/view.js b/frontend/src/components/view.js
index 85b407a0..63ae5dc7 100644
--- a/frontend/src/components/view.js
+++ b/frontend/src/components/view.js
@@ -8,6 +8,7 @@ import {
TextContent
} from '@patternfly/react-core';
+import { HttpClient } from '../services/http';
import { Settings } from '../settings';
import { JenkinsJobView, JenkinsJobAnalysisView } from '../views';
@@ -32,8 +33,8 @@ export class View extends React.Component {
}
getView() {
- fetch(Settings.serverUrl + '/widget-config/' + this.state.id)
- .then(response => response.json())
+ HttpClient.get([Settings.serverUrl, 'widget-config', this.state.id])
+ .then(response => HttpClient.handleResponse(response))
.then(data => this.setState({view: data}));
}
diff --git a/frontend/src/dashboard.js b/frontend/src/dashboard.js
index 43a4aa85..7032062c 100644
--- a/frontend/src/dashboard.js
+++ b/frontend/src/dashboard.js
@@ -21,6 +21,7 @@ import {
} from '@patternfly/react-core';
import { ArchiveIcon, CubesIcon, PlusCircleIcon, TachometerAltIcon, TimesCircleIcon } from '@patternfly/react-icons';
+import { HttpClient } from './services/http';
import { KNOWN_WIDGETS } from './constants';
import { Settings } from './settings';
import { DeleteModal, NewDashboardModal, NewWidgetWizard } from './components';
@@ -30,7 +31,7 @@ import {
ResultAggregatorWidget,
ResultSummaryWidget
} from './widgets';
-import { buildUrl, getActiveProject, getActiveDashboard } from './utilities.js';
+import { getActiveProject, getActiveDashboard } from './utilities.js';
function dashboardToSelect(dashboard) {
@@ -82,8 +83,8 @@ export class Dashboard extends React.Component {
return;
}
params['project_id'] = project.id;
- fetch(buildUrl(Settings.serverUrl + '/dashboard', params))
- .then(response => response.json())
+ HttpClient.get([Settings.serverUrl, 'dashboard'], params)
+ .then(response => HttpClient.handleResponse(response))
.then(data => {
this.setState(
{dashboards: data['dashboards']},
@@ -116,8 +117,8 @@ export class Dashboard extends React.Component {
return;
}
params['filter'] = 'dashboard_id=' + dashboard.id;
- fetch(buildUrl(Settings.serverUrl + '/widget-config', params))
- .then(response => response.json())
+ HttpClient.get([Settings.serverUrl, 'widget-config'], params)
+ .then(response => HttpClient.handleResponse(response))
.then(data => {
// set the widget project param
data.widgets.forEach(widget => {
@@ -161,12 +162,8 @@ export class Dashboard extends React.Component {
}
onNewDashboardSave = (newDashboard) => {
- fetch(Settings.serverUrl + '/dashboard', {
- method: 'POST',
- headers: {'Content-Type': 'application/json'},
- body: JSON.stringify(newDashboard)
- })
- .then(response => response.json())
+ HttpClient.post([Settings.serverUrl, 'dashboard'], newDashboard)
+ .then(response => HttpClient.handleResponse(response))
.then(data => {
localStorage.setItem('dashboard', JSON.stringify(data));
this.getDashboards();
@@ -188,10 +185,8 @@ export class Dashboard extends React.Component {
onDeleteDashboard = () => {
const dashboard = getActiveDashboard();
- fetch(Settings.serverUrl + '/dashboard/' + dashboard.id, {
- method: 'DELETE',
- })
- .then(response => response.json())
+ HttpClient.delete([Settings.serverUrl, 'dashboard', dashboard.id])
+ .then(response => HttpClient.handleResponse(response))
.then(() => {
localStorage.removeItem('dashboard');
this.getDashboards();
@@ -203,10 +198,8 @@ export class Dashboard extends React.Component {
}
onDeleteWidget = () => {
- fetch(Settings.serverUrl + '/widget-config/' + this.state.currentWidgetId, {
- method: 'DELETE',
- })
- .then(response => response.json())
+ HttpClient.delete([Settings.serverUrl, 'widget-config', this.state.currentWidgetId])
+ .then(response => HttpClient.handleResponse(response))
.then(() => {
this.getWidgets();
this.setState({isDeleteWidgetOpen: false});
@@ -234,11 +227,7 @@ export class Dashboard extends React.Component {
if (!newWidget.project_id && project) {
newWidget.project_id = project.id;
}
- fetch(Settings.serverUrl + '/widget-config', {
- method: 'POST',
- headers: {'Content-Type': 'application/json'},
- body: JSON.stringify(newWidget)
- }).then(() => { this.getWidgets(); });
+ HttpClient.post([Settings.serverUrl, 'widget-config'], newWidget).then(() => { this.getWidgets() });
this.setState({isWidgetWizardOpen: false});
}
@@ -273,6 +262,7 @@ export class Dashboard extends React.Component {
onToggle={this.onDashboardToggle}
onSelect={this.onDashboardSelect}
onClear={this.onDashboardClear}
+ isPlain
>
{this.state.dashboards.map(dashboard => (
diff --git a/frontend/src/index.js b/frontend/src/index.js
index 2de9e3f4..777aa25c 100644
--- a/frontend/src/index.js
+++ b/frontend/src/index.js
@@ -4,10 +4,10 @@ import ReactDOM from 'react-dom';
import '@patternfly/react-core/dist/styles/base.css';
import './index.css';
-import App from './app';
+import { Base } from './base';
import * as serviceWorker from './serviceWorker';
-ReactDOM.render(, document.getElementById('root'));
+ReactDOM.render(, document.getElementById('root'));
// If you want your app to work offline and load faster, you can change
// unregister() to register() below. Note this comes with some pitfalls.
diff --git a/frontend/src/login.js b/frontend/src/login.js
new file mode 100644
index 00000000..afccf099
--- /dev/null
+++ b/frontend/src/login.js
@@ -0,0 +1,240 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import {
+ // LoginFooterItem,
+ LoginForm,
+ LoginMainFooterBandItem,
+ LoginMainFooterLinksItem,
+ LoginPage,
+ // ListItem
+} from '@patternfly/react-core';
+import { ExclamationCircleIcon, DropboxIcon, GoogleIcon, FacebookIcon, GithubIcon, GitlabIcon, RedhatIcon } from '@patternfly/react-icons';
+import { GoogleLogin } from 'react-google-login';
+import OAuth2Login from 'react-simple-oauth2-login';
+
+import { HttpClient } from './services/http';
+import { AuthService } from './services/auth';
+import { Settings } from './settings';
+
+function getLocationFrom(location) {
+ let { from } = location.state || {from: {pathname: '/'}};
+ if (from.pathname === '/login') {
+ from.pathname = '/';
+ }
+ console.log(from);
+ return from;
+}
+
+export class Login extends React.Component {
+ static propTypes = {
+ location: PropTypes.object
+ };
+
+ constructor(props) {
+ super(props);
+ this.oauth2Login = React.createRef();
+ this.state = {
+ helperText: '',
+ showHelperText: false,
+ emailValue: '',
+ isValidEmail: true,
+ passwordValue: '',
+ isValidPassword: true,
+ externalLogins: {},
+ from: getLocationFrom(props.location)
+ };
+
+ }
+
+ handleEmailChange = emailValue => {
+ this.setState({ emailValue });
+ }
+
+ handlePasswordChange = passwordValue => {
+ this.setState({ passwordValue });
+ }
+
+ onLoginButtonClick = event => {
+ event.preventDefault();
+ var isValidEmail = !!this.state.emailValue,
+ isValidPassword = !!this.state.passwordValue,
+ showHelperText = !this.state.emailValue || !this.state.passwordValue,
+ helperText = '';
+ if (!isValidEmail || !isValidPassword) {
+ helperText = 'E-mail and/or password fields are blank';
+ }
+ this.setState({isValidEmail, isValidPassword, showHelperText, helperText});
+ if (isValidEmail && isValidPassword) {
+ AuthService.login(this.state.emailValue, this.state.passwordValue)
+ .then(isLoggedIn => {
+ if (isLoggedIn) {
+ window.location = this.state.from.pathname;
+ }
+ else {
+ this.setState({
+ helperText: AuthService.loginError.message,
+ showHelperText: true,
+ isValidEmail: false,
+ isValidPassword: false
+ });
+ }
+ })
+ .catch(error => {
+ this.setState({
+ helperText: error,
+ showHelperText: true,
+ isValidEmail: false,
+ isValidPassword: false
+ });
+ });
+ }
+ }
+
+ onOAuth2Success = (response) => {
+ AuthService.setUser(response);
+ window.location = this.state.from.pathname;
+ }
+
+ componentDidMount() {
+ HttpClient.get([Settings.serverUrl, 'login', 'support'])
+ .then(response => response.json())
+ .then(data => {
+ for (const [key, value] of Object.entries(data)) {
+ if (key !== 'user' && value) {
+ HttpClient.get([Settings.serverUrl, 'login', 'config', key])
+ .then(response => response.json())
+ .then(data => {
+ this.setState(function(previousState) {
+ let externalLogins = previousState.externalLogins;
+ externalLogins[key] = data;
+ return {externalLogins: externalLogins};
+ });
+ });
+ }
+ }
+ });
+ }
+
+ render() {
+ const socialMediaLoginContent = (
+
+ {!!this.state.externalLogins.redhat &&
+
+
+
+ }
+ {this.state.externalLogins.google &&
+ console.log(response)}
+ onFailure={(response) => console.error(response)}
+ render={renderProps => (
+
+
+
+ )}
+ />
+ }
+ {this.state.externalLogins.github &&
+
+
+
+ }
+ {this.state.externalLogins.dropbox &&
+
+
+
+ }
+ {this.state.externalLogins.facebook &&
+
+
+
+ }
+ {this.state.externalLogins.gitlab &&
+ e.preventDefault()} linkComponentProps={{ 'aria-label': 'Login with GitLab', 'title': 'Login with GitLab' }}>
+ console.error(response)}
+ className="pf-c-button pf-m-link pf-m-inline pf-u-p-0 pf-u-m-0"
+ >
+
+
+
+ }
+
+ );
+
+ const signUpForAccountMessage = (
+
+ Need an account? Sign up.
+
+ );
+ const forgotCredentials = (
+
+ Forgot username or password?
+
+ );
+
+ /* const listItem = (
+
+
+ Terms of Use
+
+
+ Help
+
+
+ Privacy Policy
+
+
+ ); */
+
+ const backgroundImages = {
+ lg: '/images/pfbg_1200.jpg',
+ sm: '/images/pfbg_768.jpg',
+ sm2x: '/images/pfbg_768@2x.jpg',
+ xs: '/images/pfbg_576.jpg',
+ xs2x: '/images/pfbg_576@2x.jpg'
+ };
+
+ return (
+
+ }
+ usernameLabel="E-mail"
+ usernameValue={this.state.emailValue}
+ onChangeUsername={this.handleEmailChange}
+ isValidUsername={this.state.isValidEmail}
+ passwordLabel="Password"
+ passwordValue={this.state.passwordValue}
+ isShowPasswordEnabled
+ onChangePassword={this.handlePasswordChange}
+ isValidPassword={this.state.isValidPassword}
+ onLoginButtonClick={this.onLoginButtonClick}
+ />
+
+ );
+ }
+}
diff --git a/frontend/src/report-builder.js b/frontend/src/report-builder.js
index c72c8ba7..061b3174 100644
--- a/frontend/src/report-builder.js
+++ b/frontend/src/report-builder.js
@@ -20,11 +20,10 @@ import {
} from '@patternfly/react-core';
import Linkify from 'react-linkify';
-
+import { HttpClient } from './services/http';
import { linkifyDecorator } from './components/decorators';
import { Settings } from './settings';
import {
- buildUrl,
getIconForStatus,
toTitleCase,
parseFilter,
@@ -149,8 +148,8 @@ export class ReportBuilder extends React.Component {
if (project) {
params['project'] = project.id;
}
- fetch(buildUrl(Settings.serverUrl + '/report', params))
- .then(response => response.json())
+ HttpClient.get([Settings.serverUrl, 'report'], params)
+ .then(response => HttpClient.handleResponse(response))
.then(data => this.setState({
rows: data.reports.map((report) => reportToRow(report)),
page: data.pagination.page,
@@ -167,8 +166,8 @@ export class ReportBuilder extends React.Component {
}
getReportTypes() {
- fetch(Settings.serverUrl + '/report/types')
- .then(response => response.json())
+ HttpClient.get([Settings.serverUrl, 'report', 'types'])
+ .then(response => HttpClient.handleResponse(response))
.then(data => this.setState({reportTypes: data}));
}
@@ -182,12 +181,7 @@ export class ReportBuilder extends React.Component {
if (project) {
params['project'] = project.id;
}
- fetch(Settings.serverUrl + '/report', {
- method: 'POST',
- headers: {'Content-Type': 'application/json'},
- body: JSON.stringify(params)
- })
- .then(() => this.getReports());
+ HttpClient.post([Settings.serverUrl, 'report'], params).then(() => this.getReports());
};
componentDidMount() {
diff --git a/frontend/src/result-list.js b/frontend/src/result-list.js
index c36a4880..d3ffcf4c 100644
--- a/frontend/src/result-list.js
+++ b/frontend/src/result-list.js
@@ -15,10 +15,10 @@ import {
TextInput
} from '@patternfly/react-core';
+import { HttpClient } from './services/http';
import { Settings } from './settings';
import {
buildParams,
- buildUrl,
getActiveProject,
getFilterMode,
getOperationMode,
@@ -357,8 +357,8 @@ export class ResultList extends React.Component {
params.filter.push(key + op + val);
}
}
- fetch(buildUrl(Settings.serverUrl + '/result', params))
- .then(response => response.json())
+ HttpClient.get([Settings.serverUrl, 'result'], params)
+ .then(response => HttpClient.handleResponse(response))
.then(data => this.setState({
rows: data.results.map((result) => resultToRow(result, this.setFilter)),
page: data.pagination.page,
@@ -374,8 +374,8 @@ export class ResultList extends React.Component {
}
getRuns() {
- fetch(buildUrl(Settings.serverUrl + '/run', {pageSize: 1000, estimate: true}))
- .then(response => response.json())
+ HttpClient.get([Settings.serverUrl, 'run'], {pageSize: 1000, estimate: true})
+ .then(response => HttpClient.handleResponse(response))
.then(data => {
const runs = data.runs.map((run) => run.id);
this.setState({runs: runs, filteredRuns: runs});
diff --git a/frontend/src/result.js b/frontend/src/result.js
index 1cd9cec0..0462e655 100644
--- a/frontend/src/result.js
+++ b/frontend/src/result.js
@@ -8,6 +8,7 @@ import {
Text
} from '@patternfly/react-core';
+import { HttpClient } from './services/http';
import { Settings } from './settings';
import { EmptyObject, ResultView } from './components';
@@ -32,8 +33,9 @@ export class Result extends React.Component {
if (!this.state.id) {
return;
}
- fetch(Settings.serverUrl + '/result/' + this.state.id)
+ HttpClient.get([Settings.serverUrl, 'result', this.state.id])
.then(response => {
+ response = HttpClient.handleResponse(response, 'response');
if (response.ok) {
this.setState({"isResultValid": true});
} else {
diff --git a/frontend/src/run-list.js b/frontend/src/run-list.js
index f2335548..482ebd5f 100644
--- a/frontend/src/run-list.js
+++ b/frontend/src/run-list.js
@@ -17,11 +17,11 @@ import {
import { ChevronRightIcon } from '@patternfly/react-icons';
import { Link } from 'react-router-dom';
+import { HttpClient } from './services/http';
import { Settings } from './settings';
import {
buildBadge,
buildParams,
- buildUrl,
getActiveProject,
getFilterMode,
getOperationMode,
@@ -348,8 +348,8 @@ export class RunList extends React.Component {
params.filter.push(key + op + val);
}
}
- fetch(buildUrl(Settings.serverUrl + '/run', params))
- .then(response => response.json())
+ HttpClient.get([Settings.serverUrl, 'run'], params)
+ .then(response => HttpClient.handleResponse(response))
.then(data => this.setState({
rows: data.runs.map((run) => runToRow(run, this.setFilter)),
page: data.pagination.page,
diff --git a/frontend/src/run.js b/frontend/src/run.js
index 08d677f3..db11f464 100644
--- a/frontend/src/run.js
+++ b/frontend/src/run.js
@@ -39,9 +39,9 @@ import {
import { Link } from 'react-router-dom';
import ReactJson from 'react-json-view';
+import { HttpClient } from './services/http';
import { Settings } from './settings';
import {
- buildUrl,
cleanPath,
convertDate,
getSpinnerRow,
@@ -305,8 +305,8 @@ export class Run extends React.Component {
if (node.result) {
this.setState({currentTest: node.result}, () => {
if (!this.state.currentTest.artifacts) {
- fetch(buildUrl(Settings.serverUrl + '/artifact', {resultId: this.state.currentTest.id}))
- .then(response => response.json())
+ HttpClient.get([Settings.serverUrl, 'artifact'], {resultId: this.state.currentTest.id})
+ .then(response => HttpClient.handleResponse(response))
.then(data => {
let { currentTest } = this.state;
currentTest.artifacts = data.artifacts;
@@ -343,8 +343,9 @@ export class Run extends React.Component {
}
getRun() {
- fetch(Settings.serverUrl + '/run/' + this.state.id)
+ HttpClient.get([Settings.serverUrl, 'run', this.state.id])
.then(response => {
+ response = HttpClient.handleResponse(response, 'response');
if (response.ok) {
this.setState({"isRunValid": true});
} else {
@@ -364,8 +365,8 @@ export class Run extends React.Component {
params['pageSize'] = this.state.pageSize;
params['page'] = this.state.page;
this.setState({rows: [['Loading...', '', '', '']]});
- fetch(buildUrl(Settings.serverUrl + '/result', params))
- .then(response => response.json())
+ HttpClient.get([Settings.serverUrl, 'result'], params)
+ .then(response => HttpClient.handleResponse(response))
.then(data => this.setState({
results: data.results,
rows: data.results.map((result) => resultToRow(result)),
@@ -385,8 +386,8 @@ export class Run extends React.Component {
let params = {filter: 'run_id=' + this.state.id};
params['pageSize'] = 500;
params['page'] = page;
- fetch(buildUrl(Settings.serverUrl + '/result', params))
- .then(response => response.json())
+ HttpClient.get([Settings.serverUrl, 'result'], params)
+ .then(response => HttpClient.handleResponse(response))
.then(data => {
let treeData = [];
if (page !== 1) {
diff --git a/frontend/src/services/auth.js b/frontend/src/services/auth.js
new file mode 100644
index 00000000..f3c6c988
--- /dev/null
+++ b/frontend/src/services/auth.js
@@ -0,0 +1,71 @@
+import { Settings } from '../settings';
+
+export class AuthService {
+ static loginError = null;
+
+ static isLoggedIn() {
+ if (AuthService.getToken()) {
+ return true;
+ }
+ return false;
+ }
+
+ static getUser() {
+ let user = localStorage.getItem('user');
+ if (user) {
+ return JSON.parse(user);
+ }
+ return user;
+ }
+
+ static setUser(user) {
+ localStorage.setItem('user', JSON.stringify(user));
+ }
+
+ static getToken() {
+ let user = AuthService.getUser();
+ if (user && user.token) {
+ return user.token;
+ }
+ return null;
+ }
+
+ static setToken(token) {
+ let user = AuthService.getUser();
+ if (user) {
+ user.token = token;
+ }
+ else {
+ user = {"token": token};
+ }
+ AuthService.setUser(user);
+ }
+
+ static login(email, password) {
+ // Cannot use the HttpClient service here, otherwise we have circular imports
+ return fetch(Settings.serverUrl + '/login', {
+ method: 'POST',
+ body: JSON.stringify({email: email, password: password}),
+ headers: {'Content-Type': 'application/json; charset=UTF-8'}
+ })
+ .then(response => response.json())
+ .then(json => {
+ if (json.token) {
+ AuthService.setUser(json);
+ return true;
+ }
+ else if (json.code) {
+ AuthService.loginError = json;
+ return false;
+ }
+ else {
+ return false;
+ }
+ })
+ .catch(() => false);
+ }
+
+ static logout() {
+ localStorage.removeItem('user');
+ }
+}
diff --git a/frontend/src/services/http.js b/frontend/src/services/http.js
new file mode 100644
index 00000000..ed8a3479
--- /dev/null
+++ b/frontend/src/services/http.js
@@ -0,0 +1,129 @@
+import { AuthService } from './auth';
+
+
+function trim(string) {
+ if (string.startsWith('/')) {
+ string = string.slice(1);
+ }
+ if (string.endsWith('/')) {
+ string = string.slice(0, -1);
+ }
+ return string;
+}
+
+function prepareUrl(url, params={}) {
+ if (url instanceof Array) {
+ let newUrl = url[0];
+ url.slice(1).forEach(fragment => {
+ newUrl = [newUrl, trim(fragment)].join('/');
+ });
+ url = newUrl;
+ }
+ return buildUrl(url, params);
+}
+
+function addAuth(options) {
+ if (AuthService.isLoggedIn()) {
+ const bearer = 'Bearer ' + AuthService.getToken();
+ if (Object.keys(options).includes('headers')) {
+ options['headers'].set('Authorization', bearer);
+ }
+ else {
+ options['headers'] = new Headers({'Authorization': bearer});
+ }
+ }
+ return options;
+}
+
+export function buildUrl(url, params) {
+ // shorthand
+ const esc = encodeURIComponent;
+ let query = [];
+ for (const key of Object.keys(params)) {
+ const value = params[key];
+ if (value instanceof Array) {
+ value.forEach(element => {
+ query.push(esc(key) + '=' + esc(element));
+ });
+ }
+ else {
+ query.push(esc(key) + '=' + esc(value));
+ }
+ }
+ return url + '?' + query.join('&');
+}
+
+export class HttpClient {
+ static get(url, params={}, options={}) {
+ url = prepareUrl(url, params);
+ options = addAuth(options);
+ return fetch(url, options);
+ }
+
+ static post(url, data={}, options={}) {
+ url = prepareUrl(url);
+ options = addAuth(options);
+ if (data) {
+ options['body'] = JSON.stringify(data);
+ if (Object.keys(options).includes('headers')) {
+ options['headers'].set('Content-Type', 'application/json');
+ }
+ else {
+ options['headers'] = new Headers({'Content-Type': 'application/json'});
+ }
+ }
+ options['method'] = 'POST';
+ return fetch(url, options);
+ }
+
+ static put(url, params={}, data={}, options={}) {
+ url = prepareUrl(url, params);
+ options = addAuth(options);
+ if (data) {
+ options['body'] = JSON.stringify(data);
+ if (Object.keys(options).includes('headers')) {
+ options['headers'].set('Content-Type', 'application/json');
+ }
+ else {
+ options['headers'] = new Headers({'Content-Type': 'application/json'});
+ }
+ }
+ options['method'] = 'POST';
+ return fetch(url, options);
+ }
+
+ static delete(url, params={}, options={}) {
+ url = prepareUrl(url, params);
+ options = addAuth(options);
+ options['method'] = 'DELETE';
+ return fetch(url, options);
+ }
+
+ static upload(url, files, params={}, options={}) {
+ url = prepareUrl(url);
+ const formData = new FormData();
+ Object.keys(files).forEach(key => {
+ formData.append(key, files[key]);
+ });
+ Object.keys(params).forEach(key => {
+ formData.append(key, params[key]);
+ });
+ options['method'] = 'POST';
+ options['body'] = formData;
+ return fetch(url, options);
+ }
+
+ static handleResponse(response, retType='json') {
+ if (response.ok) {
+ if (retType === 'json') {
+ return response.json();
+ }
+ else {
+ return response;
+ }
+ }
+ else if (response.status === 401) {
+ window.location = '/login';
+ }
+ }
+}
diff --git a/frontend/src/settings.js b/frontend/src/settings.js
index f40b09ce..512714f9 100644
--- a/frontend/src/settings.js
+++ b/frontend/src/settings.js
@@ -1,13 +1,16 @@
const environ = process.env.NODE_ENV || 'development';
-const serverUrl = process.env.REACT_APP_SERVER_URL || null;
export class Settings {
+ static serverUrl = process.env.REACT_APP_SERVER_URL || null;
+ static isRedHatLoginEnabled = process.env.REACT_APP_REDHAT_LOGIN || false;
+ static isGoogleLoginEnabled = process.env.REACT_APP_GOOGLE_LOGIN || false;
+ static isGitHubLoginEnabled = process.env.REACT_APP_GITHUB_LOGIN || false;
+ static isDropboxLoginEnabled = process.env.REACT_APP_DROPBOX_LOGIN || false;
+ static isFacebookLoginEnabled = process.env.REACT_APP_FACEBOOK_LOGIN || false;
+ static isGitLabLoginEnabled = process.env.REACT_APP_GITLAB_LOGIN || false;
}
-if (serverUrl) {
- Settings.serverUrl = serverUrl;
-}
-else if (environ === 'production') {
+if (environ === 'production') {
Settings.serverUrl = '/api';
}
else {
diff --git a/frontend/src/utilities.js b/frontend/src/utilities.js
index cb0f49a0..56a3719e 100644
--- a/frontend/src/utilities.js
+++ b/frontend/src/utilities.js
@@ -101,24 +101,6 @@ export function buildParams(filters) {
return getParams;
}
-export function buildUrl(url, params) {
- // shorthand
- const esc = encodeURIComponent;
- let query = [];
- for (const key of Object.keys(params)) {
- const value = params[key];
- if (value instanceof Array) {
- value.forEach(element => {
- query.push(esc(key) + '=' + esc(element));
- });
- }
- else {
- query.push(esc(key) + '=' + esc(value));
- }
- }
- return url + '?' + query.join('&');
-}
-
export function round(number) {
let rounded = Math.round(number * 10);
return rounded / 10;
diff --git a/frontend/src/views/jenkinsjob.js b/frontend/src/views/jenkinsjob.js
index c244adff..eda83538 100644
--- a/frontend/src/views/jenkinsjob.js
+++ b/frontend/src/views/jenkinsjob.js
@@ -12,10 +12,10 @@ import {
import { ChevronRightIcon } from '@patternfly/react-icons';
import { Link } from 'react-router-dom';
+import { HttpClient } from '../services/http';
import { Settings } from '../settings';
import {
buildParams,
- buildUrl,
getActiveProject,
getFilterMode,
getOperationMode,
@@ -235,8 +235,8 @@ export class JenkinsJobView extends React.Component {
let project = getActiveProject();
// get the widget ID for the analysis view
- fetch(buildUrl(Settings.serverUrl + '/widget-config', {"filter": "widget=jenkins-analysis-view"}))
- .then(response => response.json())
+ HttpClient.get([Settings.serverUrl, 'widget-config'], {"filter": "widget=jenkins-analysis-view"})
+ .then(response => HttpClient.handleResponse(response))
.then(data => {
analysisViewId = data.widgets[0].id
}).catch(error => {
@@ -265,8 +265,8 @@ export class JenkinsJobView extends React.Component {
}
}
params.filter = params.filter.join(); // convert array to a comma-separated string
- fetch(buildUrl(Settings.serverUrl + '/widget/' + this.props.view.widget, params))
- .then(response => response.json())
+ HttpClient.get([Settings.serverUrl, 'widget', this.props.view.widget, params])
+ .then(response => HttpClient.handleResponse(response))
.then(data => {
this.setState({
rows: data.jobs.map(job => jobToRow(job, analysisViewId)),
diff --git a/frontend/src/views/jenkinsjobanalysis.js b/frontend/src/views/jenkinsjobanalysis.js
index 100b88e1..23859e0e 100644
--- a/frontend/src/views/jenkinsjobanalysis.js
+++ b/frontend/src/views/jenkinsjobanalysis.js
@@ -6,9 +6,10 @@ import {
Tab,
Tabs,
} from '@patternfly/react-core';
+
+import { HttpClient } from '../services/http';
import { Settings } from '../settings';
import {
- buildUrl,
getActiveProject,
parseFilter,
} from '../utilities';
@@ -81,8 +82,8 @@ export class JenkinsJobAnalysisView extends React.Component {
params['job_name'] = this.state.filters.job_name.val;
}
params['builds'] = this.state.builds;
- fetch(buildUrl(Settings.serverUrl + '/widget/' + this.props.view.widget, params))
- .then(response => response.json())
+ HttpClient.get([Settings.serverUrl, 'widget', this.props.view.widget], params)
+ .then(response => HttpClient.handleResponse(response))
.then(data => {
data.heatmap_params['count_skips'] = (this.state.countSkips === 'Yes');
this.setState({
diff --git a/frontend/src/widgets/genericarea.js b/frontend/src/widgets/genericarea.js
index 8cf20561..84baa836 100644
--- a/frontend/src/widgets/genericarea.js
+++ b/frontend/src/widgets/genericarea.js
@@ -19,8 +19,9 @@ import {
Text,
} from '@patternfly/react-core';
+import { HttpClient } from '../services/http';
import { Settings } from '../settings';
-import { buildUrl, toTitleCase } from '../utilities';
+import { toTitleCase } from '../utilities';
import { WidgetHeader } from '../components/widget-components';
@@ -70,8 +71,9 @@ export class GenericAreaWidget extends React.Component {
getData() {
this.setState({isLoading: true});
let widgetEndpoint = this.props.widgetEndpoint || 'jenkins-line-chart';
- fetch(buildUrl(Settings.serverUrl + '/widget/' + widgetEndpoint, this.params))
+ HttpClient.get([Settings.serverUrl, 'widget', widgetEndpoint], this.params)
.then(response => {
+ response = HttpClient.handleResponse(response, 'response');
if (!response.ok) {
throw Error(response.statusText);
}
diff --git a/frontend/src/widgets/genericbar.js b/frontend/src/widgets/genericbar.js
index 667a9054..ffd11ef7 100644
--- a/frontend/src/widgets/genericbar.js
+++ b/frontend/src/widgets/genericbar.js
@@ -16,8 +16,9 @@ import {
Text
} from '@patternfly/react-core';
+import { HttpClient } from '../services/http';
import { Settings } from '../settings';
-import { buildUrl, toTitleCase } from '../utilities';
+import { toTitleCase } from '../utilities';
import { ParamDropdown, WidgetHeader } from '../components/widget-components';
export class GenericBarWidget extends React.Component {
@@ -68,8 +69,9 @@ export class GenericBarWidget extends React.Component {
getData() {
this.setState({isLoading: true});
let widgetEndpoint = this.props.widgetEndpoint || 'run-aggregator';
- fetch(buildUrl(Settings.serverUrl + '/widget/' + widgetEndpoint, this.params))
+ HttpClient.get([Settings.serverUrl, 'widget', widgetEndpoint], this.params)
.then(response => {
+ response = HttpClient.handleResponse(response, 'response');
if (!response.ok) {
throw Error(response.statusText);
}
diff --git a/frontend/src/widgets/jenkinsheatmap.js b/frontend/src/widgets/jenkinsheatmap.js
index a312600f..e3829921 100644
--- a/frontend/src/widgets/jenkinsheatmap.js
+++ b/frontend/src/widgets/jenkinsheatmap.js
@@ -17,8 +17,8 @@ import {
import { Link } from 'react-router-dom';
import HeatMap from 'react-heatmap-grid';
+import { HttpClient } from '../services/http';
import { Settings } from '../settings';
-import { buildUrl } from '../utilities';
import { ParamDropdown, WidgetHeader } from '../components/widget-components';
@@ -47,8 +47,8 @@ export class JenkinsHeatmapWidget extends React.Component {
}
getJenkinsAnalysisViewId() {
- fetch(buildUrl(Settings.serverUrl + '/widget-config', {"filter": "widget=jenkins-analysis-view"}))
- .then(response => response.json())
+ HttpClient.get([Settings.serverUrl, 'widget-config'], {"filter": "widget=jenkins-analysis-view"})
+ .then(response => HttpClient.handleResponse(response))
.then(data => this.setState({analysisViewId: data.widgets[0].id}))
.catch(error => console.log(error));
}
@@ -70,8 +70,9 @@ export class JenkinsHeatmapWidget extends React.Component {
getHeatmap() {
this.setState({isLoading: true})
this.getJenkinsAnalysisViewId();
- fetch(buildUrl(Settings.serverUrl + '/widget/jenkins-heatmap', this.params))
+ HttpClient.get([Settings.serverUrl, 'widget', 'jenkins-heatmap'], this.params)
.then(response => {
+ response = HttpClient.handleResponse(response, 'response');
if (!response.ok) {
throw Error(response.statusText);
}
diff --git a/frontend/src/widgets/resultaggregator.js b/frontend/src/widgets/resultaggregator.js
index c0a1a12b..bb04a0a0 100644
--- a/frontend/src/widgets/resultaggregator.js
+++ b/frontend/src/widgets/resultaggregator.js
@@ -15,8 +15,9 @@ import {
Text
} from '@patternfly/react-core';
+import { HttpClient } from '../services/http';
import { Settings } from '../settings';
-import { buildUrl, toTitleCase } from '../utilities';
+import { toTitleCase } from '../utilities';
import { ParamDropdown, WidgetHeader } from '../components/widget-components';
@@ -44,11 +45,11 @@ export class ResultAggregatorWidget extends React.Component {
};
}
-
getResultData() {
this.setState({isLoading: true});
- fetch(buildUrl(Settings.serverUrl + '/widget/result-aggregator', this.params))
+ HttpClient.get([Settings.serverUrl, 'widget', 'result-aggregator'], this.params)
.then(response => {
+ response = HttpClient.handleResponse(response, 'response');
if (!response.ok) {
throw Error(response.statusText);
}
diff --git a/frontend/src/widgets/resultsummary.js b/frontend/src/widgets/resultsummary.js
index 27c87d11..97274a6e 100644
--- a/frontend/src/widgets/resultsummary.js
+++ b/frontend/src/widgets/resultsummary.js
@@ -12,8 +12,9 @@ import {
Text
} from '@patternfly/react-core';
+import { HttpClient } from '../services/http';
import { Settings } from '../settings';
-import { buildUrl, toTitleCase } from '../utilities';
+import { toTitleCase } from '../utilities';
import { WidgetHeader } from '../components/widget-components';
export class ResultSummaryWidget extends React.Component {
@@ -46,8 +47,9 @@ export class ResultSummaryWidget extends React.Component {
getResultSummary = () => {
this.setState({isLoading: true});
- fetch(buildUrl(Settings.serverUrl + '/widget/result-summary', this.params))
+ HttpClient.get([Settings.serverUrl, 'widget', 'result-summary'], this.params)
.then(response => {
+ response = HttpClient.handleResponse(response, 'response');
if (!response.ok) {
throw Error(response.statusText);
}
diff --git a/frontend/yarn.lock b/frontend/yarn.lock
index 64cda774..8918282e 100644
--- a/frontend/yarn.lock
+++ b/frontend/yarn.lock
@@ -9,17 +9,17 @@
dependencies:
"@babel/highlight" "^7.8.3"
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.8.3":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a"
- integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.8.3":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658"
+ integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==
dependencies:
- "@babel/highlight" "^7.10.4"
+ "@babel/highlight" "^7.12.13"
-"@babel/compat-data@^7.12.5", "@babel/compat-data@^7.12.7", "@babel/compat-data@^7.9.0":
- version "7.12.7"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.7.tgz#9329b4782a7d6bbd7eef57e11addf91ee3ef1e41"
- integrity sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==
+"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.13.15", "@babel/compat-data@^7.14.0", "@babel/compat-data@^7.9.0":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.0.tgz#a901128bce2ad02565df95e6ecbf195cf9465919"
+ integrity sha512-vu9V3uMM/1o5Hl5OekMUowo3FqXLJSw+s+66nt0fSWVWTtmosdzn45JHOB3cPtZoe6CTBDzvSw0RdOY85Q37+Q==
"@babel/core@7.9.0":
version "7.9.0"
@@ -44,209 +44,198 @@
source-map "^0.5.0"
"@babel/core@^7.1.0", "@babel/core@^7.4.5":
- version "7.12.10"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.10.tgz#b79a2e1b9f70ed3d84bbfb6d8c4ef825f606bccd"
- integrity sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==
- dependencies:
- "@babel/code-frame" "^7.10.4"
- "@babel/generator" "^7.12.10"
- "@babel/helper-module-transforms" "^7.12.1"
- "@babel/helpers" "^7.12.5"
- "@babel/parser" "^7.12.10"
- "@babel/template" "^7.12.7"
- "@babel/traverse" "^7.12.10"
- "@babel/types" "^7.12.10"
+ version "7.14.3"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.3.tgz#5395e30405f0776067fbd9cf0884f15bfb770a38"
+ integrity sha512-jB5AmTKOCSJIZ72sd78ECEhuPiDMKlQdDI/4QRI6lzYATx5SSogS1oQA2AoPecRCknm30gHi2l+QVvNUu3wZAg==
+ dependencies:
+ "@babel/code-frame" "^7.12.13"
+ "@babel/generator" "^7.14.3"
+ "@babel/helper-compilation-targets" "^7.13.16"
+ "@babel/helper-module-transforms" "^7.14.2"
+ "@babel/helpers" "^7.14.0"
+ "@babel/parser" "^7.14.3"
+ "@babel/template" "^7.12.13"
+ "@babel/traverse" "^7.14.2"
+ "@babel/types" "^7.14.2"
convert-source-map "^1.7.0"
debug "^4.1.0"
- gensync "^1.0.0-beta.1"
+ gensync "^1.0.0-beta.2"
json5 "^2.1.2"
- lodash "^4.17.19"
- semver "^5.4.1"
+ semver "^6.3.0"
source-map "^0.5.0"
-"@babel/generator@^7.12.10", "@babel/generator@^7.4.0", "@babel/generator@^7.9.0":
- version "7.12.10"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.10.tgz#2b188fc329fb8e4f762181703beffc0fe6df3460"
- integrity sha512-6mCdfhWgmqLdtTkhXjnIz0LcdVCd26wS2JXRtj2XY0u5klDsXBREA/pG5NVOuVnF2LUrBGNFtQkIqqTbblg0ww==
+"@babel/generator@^7.14.2", "@babel/generator@^7.14.3", "@babel/generator@^7.4.0", "@babel/generator@^7.9.0":
+ version "7.14.3"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.3.tgz#0c2652d91f7bddab7cccc6ba8157e4f40dcedb91"
+ integrity sha512-bn0S6flG/j0xtQdz3hsjJ624h3W0r3llttBMfyHX3YrZ/KtLYr15bjA0FXkgW7FpvrDuTuElXeVjiKlYRpnOFA==
dependencies:
- "@babel/types" "^7.12.10"
+ "@babel/types" "^7.14.2"
jsesc "^2.5.1"
source-map "^0.5.0"
-"@babel/helper-annotate-as-pure@^7.10.4", "@babel/helper-annotate-as-pure@^7.12.10":
- version "7.12.10"
- resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz#54ab9b000e60a93644ce17b3f37d313aaf1d115d"
- integrity sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==
+"@babel/helper-annotate-as-pure@^7.10.4", "@babel/helper-annotate-as-pure@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz#0f58e86dfc4bb3b1fcd7db806570e177d439b6ab"
+ integrity sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==
dependencies:
- "@babel/types" "^7.12.10"
+ "@babel/types" "^7.12.13"
-"@babel/helper-builder-binary-assignment-operator-visitor@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz#bb0b75f31bf98cbf9ff143c1ae578b87274ae1a3"
- integrity sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==
- dependencies:
- "@babel/helper-explode-assignable-expression" "^7.10.4"
- "@babel/types" "^7.10.4"
-
-"@babel/helper-builder-react-jsx-experimental@^7.12.10", "@babel/helper-builder-react-jsx-experimental@^7.12.4":
- version "7.12.10"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.12.10.tgz#a58cb96a793dc0fcd5c9ed3bb36d62fdc60534c2"
- integrity sha512-3Kcr2LGpL7CTRDTTYm1bzeor9qZbxbvU2AxsLA6mUG9gYarSfIKMK0UlU+azLWI+s0+BH768bwyaziWB2NOJlQ==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.12.10"
- "@babel/helper-module-imports" "^7.12.5"
- "@babel/types" "^7.12.10"
-
-"@babel/helper-builder-react-jsx@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.10.4.tgz#8095cddbff858e6fa9c326daee54a2f2732c1d5d"
- integrity sha512-5nPcIZ7+KKDxT1427oBivl9V9YTal7qk0diccnh7RrcgrT/pGFOjgGw1dgryyx1GvHEpXVfoDF6Ak3rTiWh8Rg==
+"@babel/helper-builder-binary-assignment-operator-visitor@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz#6bc20361c88b0a74d05137a65cac8d3cbf6f61fc"
+ integrity sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.10.4"
- "@babel/types" "^7.10.4"
+ "@babel/helper-explode-assignable-expression" "^7.12.13"
+ "@babel/types" "^7.12.13"
"@babel/helper-call-delegate@^7.8.7":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.12.1.tgz#0fa31fee33f7e9bf1e8ae711f5c3be7eda2fb657"
- integrity sha512-GeAkqxDhZPlbpr7ajtyS97reL9YlGZ1OQtuOZgPADO67yqN58vS8o0Vuu4ImILgvfksUbDonztD9loGV8qNhow==
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.12.13.tgz#119ef367451f90bed006c685816ba60fc33fee78"
+ integrity sha512-K1kF0RXK/GpdS9OZDlBllG0+RQQtyzG/TC+nk0VkrUry4l4Xh2T7HdDsDOVlXQY/KcqvE/JQ84pKjKucdrg3FQ==
dependencies:
- "@babel/helper-hoist-variables" "^7.10.4"
- "@babel/types" "^7.12.1"
+ "@babel/helper-hoist-variables" "^7.12.13"
+ "@babel/types" "^7.12.13"
-"@babel/helper-compilation-targets@^7.12.5", "@babel/helper-compilation-targets@^7.8.7":
- version "7.12.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz#cb470c76198db6a24e9dbc8987275631e5d29831"
- integrity sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==
+"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.13.16", "@babel/helper-compilation-targets@^7.8.7":
+ version "7.13.16"
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz#6e91dccf15e3f43e5556dffe32d860109887563c"
+ integrity sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA==
dependencies:
- "@babel/compat-data" "^7.12.5"
- "@babel/helper-validator-option" "^7.12.1"
+ "@babel/compat-data" "^7.13.15"
+ "@babel/helper-validator-option" "^7.12.17"
browserslist "^4.14.5"
- semver "^5.5.0"
+ semver "^6.3.0"
-"@babel/helper-create-class-features-plugin@^7.12.1", "@babel/helper-create-class-features-plugin@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz#3c45998f431edd4a9214c5f1d3ad1448a6137f6e"
- integrity sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==
+"@babel/helper-create-class-features-plugin@^7.13.0", "@babel/helper-create-class-features-plugin@^7.14.0", "@babel/helper-create-class-features-plugin@^7.14.3", "@babel/helper-create-class-features-plugin@^7.8.3":
+ version "7.14.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.3.tgz#832111bcf4f57ca57a4c5b1a000fc125abc6554a"
+ integrity sha512-BnEfi5+6J2Lte9LeiL6TxLWdIlEv9Woacc1qXzXBgbikcOzMRM2Oya5XGg/f/ngotv1ej2A/b+3iJH8wbS1+lQ==
dependencies:
- "@babel/helper-function-name" "^7.10.4"
- "@babel/helper-member-expression-to-functions" "^7.12.1"
- "@babel/helper-optimise-call-expression" "^7.10.4"
- "@babel/helper-replace-supers" "^7.12.1"
- "@babel/helper-split-export-declaration" "^7.10.4"
+ "@babel/helper-annotate-as-pure" "^7.12.13"
+ "@babel/helper-function-name" "^7.14.2"
+ "@babel/helper-member-expression-to-functions" "^7.13.12"
+ "@babel/helper-optimise-call-expression" "^7.12.13"
+ "@babel/helper-replace-supers" "^7.14.3"
+ "@babel/helper-split-export-declaration" "^7.12.13"
-"@babel/helper-create-regexp-features-plugin@^7.12.1":
- version "7.12.7"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz#2084172e95443fa0a09214ba1bb328f9aea1278f"
- integrity sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==
+"@babel/helper-create-regexp-features-plugin@^7.12.13":
+ version "7.14.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.3.tgz#149aa6d78c016e318c43e2409a0ae9c136a86688"
+ integrity sha512-JIB2+XJrb7v3zceV2XzDhGIB902CmKGSpSl4q2C6agU9SNLG/2V1RtFRGPG1Ajh9STj3+q6zJMOC+N/pp2P9DA==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.10.4"
+ "@babel/helper-annotate-as-pure" "^7.12.13"
regexpu-core "^4.7.1"
-"@babel/helper-define-map@^7.10.4":
- version "7.10.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz#b53c10db78a640800152692b13393147acb9bb30"
- integrity sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==
+"@babel/helper-define-polyfill-provider@^0.2.0":
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.0.tgz#a640051772045fedaaecc6f0c6c69f02bdd34bf1"
+ integrity sha512-JT8tHuFjKBo8NnaUbblz7mIu1nnvUDiHVjXXkulZULyidvo/7P6TY7+YqpV37IfF+KUFxmlK04elKtGKXaiVgw==
dependencies:
- "@babel/helper-function-name" "^7.10.4"
- "@babel/types" "^7.10.5"
- lodash "^4.17.19"
+ "@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-explode-assignable-expression@^7.10.4":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz#8006a466695c4ad86a2a5f2fb15b5f2c31ad5633"
- integrity sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==
+"@babel/helper-explode-assignable-expression@^7.12.13":
+ version "7.13.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz#17b5c59ff473d9f956f40ef570cf3a76ca12657f"
+ integrity sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA==
dependencies:
- "@babel/types" "^7.12.1"
+ "@babel/types" "^7.13.0"
-"@babel/helper-function-name@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a"
- integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==
+"@babel/helper-function-name@^7.12.13", "@babel/helper-function-name@^7.14.2":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.2.tgz#397688b590760b6ef7725b5f0860c82427ebaac2"
+ integrity sha512-NYZlkZRydxw+YT56IlhIcS8PAhb+FEUiOzuhFTfqDyPmzAhRge6ua0dQYT/Uh0t/EDHq05/i+e5M2d4XvjgarQ==
dependencies:
- "@babel/helper-get-function-arity" "^7.10.4"
- "@babel/template" "^7.10.4"
- "@babel/types" "^7.10.4"
+ "@babel/helper-get-function-arity" "^7.12.13"
+ "@babel/template" "^7.12.13"
+ "@babel/types" "^7.14.2"
-"@babel/helper-get-function-arity@^7.10.4":
- version "7.12.10"
- resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz#b158817a3165b5faa2047825dfa61970ddcc16cf"
- integrity sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==
+"@babel/helper-get-function-arity@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583"
+ integrity sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==
dependencies:
- "@babel/types" "^7.12.10"
+ "@babel/types" "^7.12.13"
-"@babel/helper-hoist-variables@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz#d49b001d1d5a68ca5e6604dda01a6297f7c9381e"
- integrity sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==
+"@babel/helper-hoist-variables@^7.12.13", "@babel/helper-hoist-variables@^7.13.0":
+ version "7.13.16"
+ resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.16.tgz#1b1651249e94b51f8f0d33439843e33e39775b30"
+ integrity sha512-1eMtTrXtrwscjcAeO4BVK+vvkxaLJSPFz1w1KLawz6HLNi9bPFGBNwwDyVfiu1Tv/vRRFYfoGaKhmAQPGPn5Wg==
dependencies:
- "@babel/types" "^7.10.4"
+ "@babel/traverse" "^7.13.15"
+ "@babel/types" "^7.13.16"
-"@babel/helper-member-expression-to-functions@^7.12.1":
- version "7.12.7"
- resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz#aa77bd0396ec8114e5e30787efa78599d874a855"
- integrity sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==
+"@babel/helper-member-expression-to-functions@^7.13.12":
+ version "7.13.12"
+ resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz#dfe368f26d426a07299d8d6513821768216e6d72"
+ integrity sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==
dependencies:
- "@babel/types" "^7.12.7"
+ "@babel/types" "^7.13.12"
-"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.1", "@babel/helper-module-imports@^7.12.5", "@babel/helper-module-imports@^7.8.3":
- version "7.12.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz#1bfc0229f794988f76ed0a4d4e90860850b54dfb"
- integrity sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==
+"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.13.12", "@babel/helper-module-imports@^7.8.3":
+ version "7.13.12"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz#c6a369a6f3621cb25da014078684da9196b61977"
+ integrity sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==
dependencies:
- "@babel/types" "^7.12.5"
+ "@babel/types" "^7.13.12"
-"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.9.0":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz#7954fec71f5b32c48e4b303b437c34453fd7247c"
- integrity sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==
- dependencies:
- "@babel/helper-module-imports" "^7.12.1"
- "@babel/helper-replace-supers" "^7.12.1"
- "@babel/helper-simple-access" "^7.12.1"
- "@babel/helper-split-export-declaration" "^7.11.0"
- "@babel/helper-validator-identifier" "^7.10.4"
- "@babel/template" "^7.10.4"
- "@babel/traverse" "^7.12.1"
- "@babel/types" "^7.12.1"
- lodash "^4.17.19"
+"@babel/helper-module-transforms@^7.13.0", "@babel/helper-module-transforms@^7.14.0", "@babel/helper-module-transforms@^7.14.2", "@babel/helper-module-transforms@^7.9.0":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.2.tgz#ac1cc30ee47b945e3e0c4db12fa0c5389509dfe5"
+ integrity sha512-OznJUda/soKXv0XhpvzGWDnml4Qnwp16GN+D/kZIdLsWoHj05kyu8Rm5kXmMef+rVJZ0+4pSGLkeixdqNUATDA==
+ dependencies:
+ "@babel/helper-module-imports" "^7.13.12"
+ "@babel/helper-replace-supers" "^7.13.12"
+ "@babel/helper-simple-access" "^7.13.12"
+ "@babel/helper-split-export-declaration" "^7.12.13"
+ "@babel/helper-validator-identifier" "^7.14.0"
+ "@babel/template" "^7.12.13"
+ "@babel/traverse" "^7.14.2"
+ "@babel/types" "^7.14.2"
-"@babel/helper-optimise-call-expression@^7.10.4":
- version "7.12.10"
- resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz#94ca4e306ee11a7dd6e9f42823e2ac6b49881e2d"
- integrity sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==
+"@babel/helper-optimise-call-expression@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz#5c02d171b4c8615b1e7163f888c1c81c30a2aaea"
+ integrity sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==
dependencies:
- "@babel/types" "^7.12.10"
+ "@babel/types" "^7.12.13"
-"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375"
- integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==
+"@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.8.0", "@babel/helper-plugin-utils@^7.8.3":
+ version "7.13.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz#806526ce125aed03373bc416a828321e3a6a33af"
+ integrity sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==
-"@babel/helper-remap-async-to-generator@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz#8c4dbbf916314f6047dc05e6a2217074238347fd"
- integrity sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==
+"@babel/helper-remap-async-to-generator@^7.13.0":
+ version "7.13.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz#376a760d9f7b4b2077a9dd05aa9c3927cadb2209"
+ integrity sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.10.4"
- "@babel/helper-wrap-function" "^7.10.4"
- "@babel/types" "^7.12.1"
+ "@babel/helper-annotate-as-pure" "^7.12.13"
+ "@babel/helper-wrap-function" "^7.13.0"
+ "@babel/types" "^7.13.0"
-"@babel/helper-replace-supers@^7.12.1":
- version "7.12.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz#f009a17543bbbbce16b06206ae73b63d3fca68d9"
- integrity sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA==
+"@babel/helper-replace-supers@^7.12.13", "@babel/helper-replace-supers@^7.13.12", "@babel/helper-replace-supers@^7.14.3":
+ version "7.14.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.14.3.tgz#ca17b318b859d107f0e9b722d58cf12d94436600"
+ integrity sha512-Rlh8qEWZSTfdz+tgNV/N4gz1a0TMNwCUcENhMjHTHKp3LseYH5Jha0NSlyTQWMnjbYcwFt+bqAMqSLHVXkQ6UA==
dependencies:
- "@babel/helper-member-expression-to-functions" "^7.12.1"
- "@babel/helper-optimise-call-expression" "^7.10.4"
- "@babel/traverse" "^7.12.5"
- "@babel/types" "^7.12.5"
+ "@babel/helper-member-expression-to-functions" "^7.13.12"
+ "@babel/helper-optimise-call-expression" "^7.12.13"
+ "@babel/traverse" "^7.14.2"
+ "@babel/types" "^7.14.2"
-"@babel/helper-simple-access@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz#32427e5aa61547d38eb1e6eaf5fd1426fdad9136"
- integrity sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==
+"@babel/helper-simple-access@^7.13.12":
+ version "7.13.12"
+ resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz#dd6c538afb61819d205a012c31792a39c7a5eaf6"
+ integrity sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==
dependencies:
- "@babel/types" "^7.12.1"
+ "@babel/types" "^7.13.12"
"@babel/helper-skip-transparent-expression-wrappers@^7.12.1":
version "7.12.1"
@@ -255,64 +244,73 @@
dependencies:
"@babel/types" "^7.12.1"
-"@babel/helper-split-export-declaration@^7.10.4", "@babel/helper-split-export-declaration@^7.11.0":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f"
- integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==
+"@babel/helper-split-export-declaration@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz#e9430be00baf3e88b0e13e6f9d4eaf2136372b05"
+ integrity sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==
dependencies:
- "@babel/types" "^7.11.0"
+ "@babel/types" "^7.12.13"
-"@babel/helper-validator-identifier@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2"
- integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==
+"@babel/helper-validator-identifier@^7.12.11", "@babel/helper-validator-identifier@^7.14.0":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288"
+ integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==
-"@babel/helper-validator-option@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz#175567380c3e77d60ff98a54bb015fe78f2178d9"
- integrity sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A==
+"@babel/helper-validator-option@^7.12.17":
+ version "7.12.17"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz#d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831"
+ integrity sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==
-"@babel/helper-wrap-function@^7.10.4":
- version "7.12.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz#3332339fc4d1fbbf1c27d7958c27d34708e990d9"
- integrity sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==
+"@babel/helper-wrap-function@^7.13.0":
+ version "7.13.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz#bdb5c66fda8526ec235ab894ad53a1235c79fcc4"
+ integrity sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==
dependencies:
- "@babel/helper-function-name" "^7.10.4"
- "@babel/template" "^7.10.4"
- "@babel/traverse" "^7.10.4"
- "@babel/types" "^7.10.4"
+ "@babel/helper-function-name" "^7.12.13"
+ "@babel/template" "^7.12.13"
+ "@babel/traverse" "^7.13.0"
+ "@babel/types" "^7.13.0"
-"@babel/helpers@^7.12.5", "@babel/helpers@^7.9.0":
- version "7.12.5"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.5.tgz#1a1ba4a768d9b58310eda516c449913fe647116e"
- integrity sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==
+"@babel/helpers@^7.14.0", "@babel/helpers@^7.9.0":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.0.tgz#ea9b6be9478a13d6f961dbb5f36bf75e2f3b8f62"
+ integrity sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg==
dependencies:
- "@babel/template" "^7.10.4"
- "@babel/traverse" "^7.12.5"
- "@babel/types" "^7.12.5"
+ "@babel/template" "^7.12.13"
+ "@babel/traverse" "^7.14.0"
+ "@babel/types" "^7.14.0"
-"@babel/highlight@^7.10.4", "@babel/highlight@^7.8.3":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143"
- integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==
+"@babel/highlight@^7.12.13", "@babel/highlight@^7.8.3":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.0.tgz#3197e375711ef6bf834e67d0daec88e4f46113cf"
+ integrity sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==
dependencies:
- "@babel/helper-validator-identifier" "^7.10.4"
+ "@babel/helper-validator-identifier" "^7.14.0"
chalk "^2.0.0"
js-tokens "^4.0.0"
-"@babel/parser@^7.1.0", "@babel/parser@^7.12.10", "@babel/parser@^7.12.7", "@babel/parser@^7.4.3", "@babel/parser@^7.7.0", "@babel/parser@^7.9.0":
- version "7.12.10"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.10.tgz#824600d59e96aea26a5a2af5a9d812af05c3ae81"
- integrity sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA==
+"@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.14.2", "@babel/parser@^7.14.3", "@babel/parser@^7.4.3", "@babel/parser@^7.7.0", "@babel/parser@^7.9.0":
+ version "7.14.3"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.3.tgz#9b530eecb071fd0c93519df25c5ff9f14759f298"
+ integrity sha512-7MpZDIfI7sUC5zWo2+foJ50CSI5lcqDehZ0lVgIhSi4bFEk94fLAKlF3Q0nzSQQ+ca0lm+O6G9ztKVBeu8PMRQ==
-"@babel/plugin-proposal-async-generator-functions@^7.12.1", "@babel/plugin-proposal-async-generator-functions@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz#dc6c1170e27d8aca99ff65f4925bd06b1c90550e"
- integrity sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A==
+"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.13.12":
+ version "7.13.12"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz#a3484d84d0b549f3fc916b99ee4783f26fabad2a"
+ integrity sha512-d0u3zWKcoZf379fOeJdr1a5WPDny4aOFZ6hlfKivgK0LY7ZxNfoaHL2fWwdGtHyVvra38FC+HVYkO+byfSA8AQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-remap-async-to-generator" "^7.12.1"
- "@babel/plugin-syntax-async-generators" "^7.8.0"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1"
+ "@babel/plugin-proposal-optional-chaining" "^7.13.12"
+
+"@babel/plugin-proposal-async-generator-functions@^7.14.2", "@babel/plugin-proposal-async-generator-functions@^7.8.3":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.2.tgz#3a2085abbf5d5f962d480dbc81347385ed62eb1e"
+ integrity sha512-b1AM4F6fwck4N8ItZ/AtC4FP/cqZqmKRQ4FaTDutwSYyjuhtvsGEMLK4N/ztV/ImP40BjIDyMgBQAeAMsQYVFQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-remap-async-to-generator" "^7.13.0"
+ "@babel/plugin-syntax-async-generators" "^7.8.4"
"@babel/plugin-proposal-class-properties@7.8.3":
version "7.8.3"
@@ -322,13 +320,22 @@
"@babel/helper-create-class-features-plugin" "^7.8.3"
"@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-proposal-class-properties@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz#a082ff541f2a29a4821065b8add9346c0c16e5de"
- integrity sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==
+"@babel/plugin-proposal-class-properties@^7.13.0":
+ version "7.13.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz#146376000b94efd001e57a40a88a525afaab9f37"
+ integrity sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.12.1"
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-create-class-features-plugin" "^7.13.0"
+ "@babel/helper-plugin-utils" "^7.13.0"
+
+"@babel/plugin-proposal-class-static-block@^7.13.11":
+ version "7.14.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.3.tgz#5a527e2cae4a4753119c3a3e7f64ecae8ccf1360"
+ integrity sha512-HEjzp5q+lWSjAgJtSluFDrGGosmwTgKwCXdDQZvhKsRlwv3YdkUEqxNrrjesJd+B9E9zvr1PVPVBvhYZ9msjvQ==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.14.3"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/plugin-syntax-class-static-block" "^7.12.13"
"@babel/plugin-proposal-decorators@7.8.3":
version "7.8.3"
@@ -339,36 +346,36 @@
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-syntax-decorators" "^7.8.3"
-"@babel/plugin-proposal-dynamic-import@^7.12.1", "@babel/plugin-proposal-dynamic-import@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz#43eb5c2a3487ecd98c5c8ea8b5fdb69a2749b2dc"
- integrity sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==
+"@babel/plugin-proposal-dynamic-import@^7.14.2", "@babel/plugin-proposal-dynamic-import@^7.8.3":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.2.tgz#01ebabd7c381cff231fa43e302939a9de5be9d9f"
+ integrity sha512-oxVQZIWFh91vuNEMKltqNsKLFWkOIyJc95k2Gv9lWVyDfPUQGSSlbDEgWuJUU1afGE9WwlzpucMZ3yDRHIItkA==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-dynamic-import" "^7.8.0"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/plugin-syntax-dynamic-import" "^7.8.3"
-"@babel/plugin-proposal-export-namespace-from@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz#8b9b8f376b2d88f5dd774e4d24a5cc2e3679b6d4"
- integrity sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==
+"@babel/plugin-proposal-export-namespace-from@^7.14.2":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.2.tgz#62542f94aa9ce8f6dba79eec698af22112253791"
+ integrity sha512-sRxW3z3Zp3pFfLAgVEvzTFutTXax837oOatUIvSG9o5gRj9mKwm3br1Se5f4QalTQs9x4AzlA/HrCWbQIHASUQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.13.0"
"@babel/plugin-syntax-export-namespace-from" "^7.8.3"
-"@babel/plugin-proposal-json-strings@^7.12.1", "@babel/plugin-proposal-json-strings@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz#d45423b517714eedd5621a9dfdc03fa9f4eb241c"
- integrity sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==
+"@babel/plugin-proposal-json-strings@^7.14.2", "@babel/plugin-proposal-json-strings@^7.8.3":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.2.tgz#830b4e2426a782e8b2878fbfe2cba85b70cbf98c"
+ integrity sha512-w2DtsfXBBJddJacXMBhElGEYqCZQqN99Se1qeYn8DVLB33owlrlLftIbMzn5nz1OITfDVknXF433tBrLEAOEjA==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-json-strings" "^7.8.0"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/plugin-syntax-json-strings" "^7.8.3"
-"@babel/plugin-proposal-logical-assignment-operators@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz#f2c490d36e1b3c9659241034a5d2cd50263a2751"
- integrity sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==
+"@babel/plugin-proposal-logical-assignment-operators@^7.14.2":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.2.tgz#222348c080a1678e0e74ea63fe76f275882d1fd7"
+ integrity sha512-1JAZtUrqYyGsS7IDmFeaem+/LJqujfLZ2weLR9ugB0ufUPjzf8cguyVT1g5im7f7RXxuLq1xUxEzvm68uYRtGg==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.13.0"
"@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
"@babel/plugin-proposal-nullish-coalescing-operator@7.8.3":
@@ -379,13 +386,13 @@
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0"
-"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1", "@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz#3ed4fff31c015e7f3f1467f190dbe545cd7b046c"
- integrity sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==
+"@babel/plugin-proposal-nullish-coalescing-operator@^7.14.2", "@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.2.tgz#425b11dc62fc26939a2ab42cbba680bdf5734546"
+ integrity sha512-ebR0zU9OvI2N4qiAC38KIAK75KItpIPTpAtd2r4OZmMFeKbKJpUFLYP2EuDut82+BmYi8sz42B+TfTptJ9iG5Q==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
"@babel/plugin-proposal-numeric-separator@7.8.3":
version "7.8.3"
@@ -395,30 +402,32 @@
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-syntax-numeric-separator" "^7.8.3"
-"@babel/plugin-proposal-numeric-separator@^7.12.7", "@babel/plugin-proposal-numeric-separator@^7.8.3":
- version "7.12.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz#8bf253de8139099fea193b297d23a9d406ef056b"
- integrity sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==
+"@babel/plugin-proposal-numeric-separator@^7.14.2", "@babel/plugin-proposal-numeric-separator@^7.8.3":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.2.tgz#82b4cc06571143faf50626104b335dd71baa4f9e"
+ integrity sha512-DcTQY9syxu9BpU3Uo94fjCB3LN9/hgPS8oUL7KrSW3bA2ePrKZZPJcc5y0hoJAM9dft3pGfErtEUvxXQcfLxUg==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.13.0"
"@babel/plugin-syntax-numeric-separator" "^7.10.4"
-"@babel/plugin-proposal-object-rest-spread@^7.12.1", "@babel/plugin-proposal-object-rest-spread@^7.9.0":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz#def9bd03cea0f9b72283dac0ec22d289c7691069"
- integrity sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==
+"@babel/plugin-proposal-object-rest-spread@^7.14.2", "@babel/plugin-proposal-object-rest-spread@^7.9.0":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.2.tgz#e17d418f81cc103fedd4ce037e181c8056225abc"
+ integrity sha512-hBIQFxwZi8GIp934+nj5uV31mqclC1aYDhctDu5khTi9PCCUOczyy0b34W0oE9U/eJXiqQaKyVsmjeagOaSlbw==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-object-rest-spread" "^7.8.0"
- "@babel/plugin-transform-parameters" "^7.12.1"
+ "@babel/compat-data" "^7.14.0"
+ "@babel/helper-compilation-targets" "^7.13.16"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
+ "@babel/plugin-transform-parameters" "^7.14.2"
-"@babel/plugin-proposal-optional-catch-binding@^7.12.1", "@babel/plugin-proposal-optional-catch-binding@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz#ccc2421af64d3aae50b558a71cede929a5ab2942"
- integrity sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==
+"@babel/plugin-proposal-optional-catch-binding@^7.14.2", "@babel/plugin-proposal-optional-catch-binding@^7.8.3":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.2.tgz#150d4e58e525b16a9a1431bd5326c4eed870d717"
+ integrity sha512-XtkJsmJtBaUbOxZsNk0Fvrv8eiqgneug0A6aqLFZ4TSkar2L5dSXWcnUKHgmjJt49pyB/6ZHvkr3dPgl9MOWRQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-optional-catch-binding" "^7.8.0"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
"@babel/plugin-proposal-optional-chaining@7.9.0":
version "7.9.0"
@@ -428,53 +437,70 @@
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-syntax-optional-chaining" "^7.8.0"
-"@babel/plugin-proposal-optional-chaining@^7.12.7", "@babel/plugin-proposal-optional-chaining@^7.9.0":
- version "7.12.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz#e02f0ea1b5dc59d401ec16fb824679f683d3303c"
- integrity sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==
+"@babel/plugin-proposal-optional-chaining@^7.13.12", "@babel/plugin-proposal-optional-chaining@^7.14.2", "@babel/plugin-proposal-optional-chaining@^7.9.0":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.2.tgz#df8171a8b9c43ebf4c1dabe6311b432d83e1b34e"
+ integrity sha512-qQByMRPwMZJainfig10BoaDldx/+VDtNcrA7qdNaEOAj6VXud+gfrkA8j4CRAU5HjnWREXqIpSpH30qZX1xivA==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.13.0"
"@babel/helper-skip-transparent-expression-wrappers" "^7.12.1"
- "@babel/plugin-syntax-optional-chaining" "^7.8.0"
+ "@babel/plugin-syntax-optional-chaining" "^7.8.3"
-"@babel/plugin-proposal-private-methods@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz#86814f6e7a21374c980c10d38b4493e703f4a389"
- integrity sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==
+"@babel/plugin-proposal-private-methods@^7.13.0":
+ version "7.13.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz#04bd4c6d40f6e6bbfa2f57e2d8094bad900ef787"
+ integrity sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.12.1"
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-create-class-features-plugin" "^7.13.0"
+ "@babel/helper-plugin-utils" "^7.13.0"
-"@babel/plugin-proposal-unicode-property-regex@^7.12.1", "@babel/plugin-proposal-unicode-property-regex@^7.4.4", "@babel/plugin-proposal-unicode-property-regex@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz#2a183958d417765b9eae334f47758e5d6a82e072"
- integrity sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==
+"@babel/plugin-proposal-private-property-in-object@^7.14.0":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.0.tgz#b1a1f2030586b9d3489cc26179d2eb5883277636"
+ integrity sha512-59ANdmEwwRUkLjB7CRtwJxxwtjESw+X2IePItA+RGQh+oy5RmpCh/EvVVvh5XQc3yxsm5gtv0+i9oBZhaDNVTg==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.12.1"
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-annotate-as-pure" "^7.12.13"
+ "@babel/helper-create-class-features-plugin" "^7.14.0"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/plugin-syntax-private-property-in-object" "^7.14.0"
+
+"@babel/plugin-proposal-unicode-property-regex@^7.12.13", "@babel/plugin-proposal-unicode-property-regex@^7.4.4", "@babel/plugin-proposal-unicode-property-regex@^7.8.3":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz#bebde51339be829c17aaaaced18641deb62b39ba"
+ integrity sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.12.13"
-"@babel/plugin-syntax-async-generators@^7.8.0":
+"@babel/plugin-syntax-async-generators@^7.8.0", "@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.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz#bcb297c5366e79bebadef509549cd93b04f19978"
- integrity sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==
+"@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.10.4"
+ "@babel/helper-plugin-utils" "^7.12.13"
+
+"@babel/plugin-syntax-class-static-block@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.12.13.tgz#8e3d674b0613e67975ceac2776c97b60cafc5c9c"
+ integrity sha512-ZmKQ0ZXR0nYpHZIIuj9zE7oIqCx2hw9TKi+lIo73NNrMPAZGHfS92/VRV0ZmPj6H2ffBgyFHXvJ5NYsNeEaP2A==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.12.13"
"@babel/plugin-syntax-decorators@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.1.tgz#81a8b535b284476c41be6de06853a8802b98c5dd"
- integrity sha512-ir9YW5daRrTYiy9UJ2TzdNIJEZu8KclVzDcfSt4iEmOtwQ4llPtWInNKJyKnVXp1vE4bbVd5S31M/im3mYMO1w==
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.13.tgz#fac829bf3c7ef4a1bc916257b403e58c6bdaf648"
+ integrity sha512-Rw6aIXGuqDLr6/LoBBYE57nKOzQpz/aDkKlMqEwH+Vp0MXbG6H/TfRjaY343LKxzAKAMXIHsQ8JzaZKuDZ9MwA==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.12.13"
-"@babel/plugin-syntax-dynamic-import@^7.8.0":
+"@babel/plugin-syntax-dynamic-import@^7.8.0", "@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==
@@ -489,25 +515,25 @@
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-syntax-flow@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.1.tgz#a77670d9abe6d63e8acadf4c31bb1eb5a506bbdd"
- integrity sha512-1lBLLmtxrwpm4VKmtVFselI/P3pX+G63fAtUUt6b2Nzgao77KNDwyuRt90Mj2/9pKobtt68FdvjfqohZjg/FCA==
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.13.tgz#5df9962503c0a9c918381c929d51d4d6949e7e86"
+ integrity sha512-J/RYxnlSLXZLVR7wTRsozxKT8qbsx1mNKJzXEEjQ0Kjx1ZACcyHgbanNWNCFtc36IzuWhYWPpvJFFoexoOWFmA==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.12.13"
-"@babel/plugin-syntax-json-strings@^7.8.0":
+"@babel/plugin-syntax-json-strings@^7.8.0", "@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-jsx@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz#9d9d357cc818aa7ae7935917c1257f67677a0926"
- integrity sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==
+"@babel/plugin-syntax-jsx@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz#044fb81ebad6698fe62c478875575bcbb9b70f15"
+ integrity sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.12.13"
"@babel/plugin-syntax-logical-assignment-operators@^7.10.4":
version "7.10.4"
@@ -516,7 +542,7 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0":
+"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0", "@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==
@@ -530,121 +556,127 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.0":
+"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.0", "@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.0":
+"@babel/plugin-syntax-optional-catch-binding@^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.0":
+"@babel/plugin-syntax-optional-chaining@^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-top-level-await@^7.12.1", "@babel/plugin-syntax-top-level-await@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz#dd6c0b357ac1bb142d98537450a319625d13d2a0"
- integrity sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==
+"@babel/plugin-syntax-private-property-in-object@^7.14.0":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.0.tgz#762a4babec61176fec6c88480dec40372b140c0b"
+ integrity sha512-bda3xF8wGl5/5btF794utNOL0Jw+9jE5C1sLZcoK7c4uonE/y3iQiyG+KbkF3WBV/paX58VCpjhxLPkdj5Fe4w==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.13.0"
-"@babel/plugin-syntax-typescript@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.1.tgz#460ba9d77077653803c3dd2e673f76d66b4029e5"
- integrity sha512-UZNEcCY+4Dp9yYRCAHrHDU+9ZXLYaY9MgBXSRLkB9WjYFRR6quJBumfVrEkUxrePPBwFcpWfNKXqVRQQtm7mMA==
+"@babel/plugin-syntax-top-level-await@^7.12.13", "@babel/plugin-syntax-top-level-await@^7.8.3":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz#c5f0fa6e249f5b739727f923540cf7a806130178"
+ integrity sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.12.13"
-"@babel/plugin-transform-arrow-functions@^7.12.1", "@babel/plugin-transform-arrow-functions@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz#8083ffc86ac8e777fbe24b5967c4b2521f3cb2b3"
- integrity sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==
+"@babel/plugin-syntax-typescript@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz#9dff111ca64154cef0f4dc52cf843d9f12ce4474"
+ integrity sha512-cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.12.13"
-"@babel/plugin-transform-async-to-generator@^7.12.1", "@babel/plugin-transform-async-to-generator@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz#3849a49cc2a22e9743cbd6b52926d30337229af1"
- integrity sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==
+"@babel/plugin-transform-arrow-functions@^7.13.0", "@babel/plugin-transform-arrow-functions@^7.8.3":
+ version "7.13.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz#10a59bebad52d637a027afa692e8d5ceff5e3dae"
+ integrity sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg==
dependencies:
- "@babel/helper-module-imports" "^7.12.1"
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-remap-async-to-generator" "^7.12.1"
+ "@babel/helper-plugin-utils" "^7.13.0"
-"@babel/plugin-transform-block-scoped-functions@^7.12.1", "@babel/plugin-transform-block-scoped-functions@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz#f2a1a365bde2b7112e0a6ded9067fdd7c07905d9"
- integrity sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==
+"@babel/plugin-transform-async-to-generator@^7.13.0", "@babel/plugin-transform-async-to-generator@^7.8.3":
+ version "7.13.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz#8e112bf6771b82bf1e974e5e26806c5c99aa516f"
+ integrity sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-module-imports" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-remap-async-to-generator" "^7.13.0"
-"@babel/plugin-transform-block-scoping@^7.12.1", "@babel/plugin-transform-block-scoping@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz#f0ee727874b42a208a48a586b84c3d222c2bbef1"
- integrity sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w==
+"@babel/plugin-transform-block-scoped-functions@^7.12.13", "@babel/plugin-transform-block-scoped-functions@^7.8.3":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz#a9bf1836f2a39b4eb6cf09967739de29ea4bf4c4"
+ integrity sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.12.13"
-"@babel/plugin-transform-classes@^7.12.1", "@babel/plugin-transform-classes@^7.9.0":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz#65e650fcaddd3d88ddce67c0f834a3d436a32db6"
- integrity sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==
+"@babel/plugin-transform-block-scoping@^7.14.2", "@babel/plugin-transform-block-scoping@^7.8.3":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.2.tgz#761cb12ab5a88d640ad4af4aa81f820e6b5fdf5c"
+ integrity sha512-neZZcP19NugZZqNwMTH+KoBjx5WyvESPSIOQb4JHpfd+zPfqcH65RMu5xJju5+6q/Y2VzYrleQTr+b6METyyxg==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.10.4"
- "@babel/helper-define-map" "^7.10.4"
- "@babel/helper-function-name" "^7.10.4"
- "@babel/helper-optimise-call-expression" "^7.10.4"
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-replace-supers" "^7.12.1"
- "@babel/helper-split-export-declaration" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.13.0"
+
+"@babel/plugin-transform-classes@^7.14.2", "@babel/plugin-transform-classes@^7.9.0":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.2.tgz#3f1196c5709f064c252ad056207d87b7aeb2d03d"
+ integrity sha512-7oafAVcucHquA/VZCsXv/gmuiHeYd64UJyyTYU+MPfNu0KeNlxw06IeENBO8bJjXVbolu+j1MM5aKQtH1OMCNg==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.12.13"
+ "@babel/helper-function-name" "^7.14.2"
+ "@babel/helper-optimise-call-expression" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-replace-supers" "^7.13.12"
+ "@babel/helper-split-export-declaration" "^7.12.13"
globals "^11.1.0"
-"@babel/plugin-transform-computed-properties@^7.12.1", "@babel/plugin-transform-computed-properties@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz#d68cf6c9b7f838a8a4144badbe97541ea0904852"
- integrity sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==
+"@babel/plugin-transform-computed-properties@^7.13.0", "@babel/plugin-transform-computed-properties@^7.8.3":
+ version "7.13.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz#845c6e8b9bb55376b1fa0b92ef0bdc8ea06644ed"
+ integrity sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.13.0"
-"@babel/plugin-transform-destructuring@^7.12.1", "@babel/plugin-transform-destructuring@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz#b9a570fe0d0a8d460116413cb4f97e8e08b2f847"
- integrity sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==
+"@babel/plugin-transform-destructuring@^7.13.17", "@babel/plugin-transform-destructuring@^7.8.3":
+ version "7.13.17"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.17.tgz#678d96576638c19d5b36b332504d3fd6e06dea27"
+ integrity sha512-UAUqiLv+uRLO+xuBKKMEpC+t7YRNVRqBsWWq1yKXbBZBje/t3IXCiSinZhjn/DC3qzBfICeYd2EFGEbHsh5RLA==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.13.0"
-"@babel/plugin-transform-dotall-regex@^7.12.1", "@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz#a1d16c14862817b6409c0a678d6f9373ca9cd975"
- integrity sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==
+"@babel/plugin-transform-dotall-regex@^7.12.13", "@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.8.3":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz#3f1601cc29905bfcb67f53910f197aeafebb25ad"
+ integrity sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.12.1"
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-create-regexp-features-plugin" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.12.13"
-"@babel/plugin-transform-duplicate-keys@^7.12.1", "@babel/plugin-transform-duplicate-keys@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz#745661baba295ac06e686822797a69fbaa2ca228"
- integrity sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==
+"@babel/plugin-transform-duplicate-keys@^7.12.13", "@babel/plugin-transform-duplicate-keys@^7.8.3":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz#6f06b87a8b803fd928e54b81c258f0a0033904de"
+ integrity sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.12.13"
-"@babel/plugin-transform-exponentiation-operator@^7.12.1", "@babel/plugin-transform-exponentiation-operator@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz#b0f2ed356ba1be1428ecaf128ff8a24f02830ae0"
- integrity sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==
+"@babel/plugin-transform-exponentiation-operator@^7.12.13", "@babel/plugin-transform-exponentiation-operator@^7.8.3":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz#4d52390b9a273e651e4aba6aee49ef40e80cd0a1"
+ integrity sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==
dependencies:
- "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4"
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.12.13"
"@babel/plugin-transform-flow-strip-types@7.9.0":
version "7.9.0"
@@ -654,115 +686,115 @@
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-syntax-flow" "^7.8.3"
-"@babel/plugin-transform-for-of@^7.12.1", "@babel/plugin-transform-for-of@^7.9.0":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz#07640f28867ed16f9511c99c888291f560921cfa"
- integrity sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==
+"@babel/plugin-transform-for-of@^7.13.0", "@babel/plugin-transform-for-of@^7.9.0":
+ version "7.13.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz#c799f881a8091ac26b54867a845c3e97d2696062"
+ integrity sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.13.0"
-"@babel/plugin-transform-function-name@^7.12.1", "@babel/plugin-transform-function-name@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz#2ec76258c70fe08c6d7da154003a480620eba667"
- integrity sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==
+"@babel/plugin-transform-function-name@^7.12.13", "@babel/plugin-transform-function-name@^7.8.3":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz#bb024452f9aaed861d374c8e7a24252ce3a50051"
+ integrity sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==
dependencies:
- "@babel/helper-function-name" "^7.10.4"
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-function-name" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.12.13"
-"@babel/plugin-transform-literals@^7.12.1", "@babel/plugin-transform-literals@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz#d73b803a26b37017ddf9d3bb8f4dc58bfb806f57"
- integrity sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==
+"@babel/plugin-transform-literals@^7.12.13", "@babel/plugin-transform-literals@^7.8.3":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz#2ca45bafe4a820197cf315794a4d26560fe4bdb9"
+ integrity sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.12.13"
-"@babel/plugin-transform-member-expression-literals@^7.12.1", "@babel/plugin-transform-member-expression-literals@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz#496038602daf1514a64d43d8e17cbb2755e0c3ad"
- integrity sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==
+"@babel/plugin-transform-member-expression-literals@^7.12.13", "@babel/plugin-transform-member-expression-literals@^7.8.3":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz#5ffa66cd59b9e191314c9f1f803b938e8c081e40"
+ integrity sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.12.13"
-"@babel/plugin-transform-modules-amd@^7.12.1", "@babel/plugin-transform-modules-amd@^7.9.0":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz#3154300b026185666eebb0c0ed7f8415fefcf6f9"
- integrity sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==
+"@babel/plugin-transform-modules-amd@^7.14.2", "@babel/plugin-transform-modules-amd@^7.9.0":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.2.tgz#6622806fe1a7c07a1388444222ef9535f2ca17b0"
+ integrity sha512-hPC6XBswt8P3G2D1tSV2HzdKvkqOpmbyoy+g73JG0qlF/qx2y3KaMmXb1fLrpmWGLZYA0ojCvaHdzFWjlmV+Pw==
dependencies:
- "@babel/helper-module-transforms" "^7.12.1"
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-module-transforms" "^7.14.2"
+ "@babel/helper-plugin-utils" "^7.13.0"
babel-plugin-dynamic-import-node "^2.3.3"
-"@babel/plugin-transform-modules-commonjs@^7.12.1", "@babel/plugin-transform-modules-commonjs@^7.9.0":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz#fa403124542636c786cf9b460a0ffbb48a86e648"
- integrity sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==
+"@babel/plugin-transform-modules-commonjs@^7.14.0", "@babel/plugin-transform-modules-commonjs@^7.9.0":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.0.tgz#52bc199cb581e0992edba0f0f80356467587f161"
+ integrity sha512-EX4QePlsTaRZQmw9BsoPeyh5OCtRGIhwfLquhxGp5e32w+dyL8htOcDwamlitmNFK6xBZYlygjdye9dbd9rUlQ==
dependencies:
- "@babel/helper-module-transforms" "^7.12.1"
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-simple-access" "^7.12.1"
+ "@babel/helper-module-transforms" "^7.14.0"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-simple-access" "^7.13.12"
babel-plugin-dynamic-import-node "^2.3.3"
-"@babel/plugin-transform-modules-systemjs@^7.12.1", "@babel/plugin-transform-modules-systemjs@^7.9.0":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz#663fea620d593c93f214a464cd399bf6dc683086"
- integrity sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==
+"@babel/plugin-transform-modules-systemjs@^7.13.8", "@babel/plugin-transform-modules-systemjs@^7.9.0":
+ version "7.13.8"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz#6d066ee2bff3c7b3d60bf28dec169ad993831ae3"
+ integrity sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A==
dependencies:
- "@babel/helper-hoist-variables" "^7.10.4"
- "@babel/helper-module-transforms" "^7.12.1"
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-validator-identifier" "^7.10.4"
+ "@babel/helper-hoist-variables" "^7.13.0"
+ "@babel/helper-module-transforms" "^7.13.0"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-validator-identifier" "^7.12.11"
babel-plugin-dynamic-import-node "^2.3.3"
-"@babel/plugin-transform-modules-umd@^7.12.1", "@babel/plugin-transform-modules-umd@^7.9.0":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz#eb5a218d6b1c68f3d6217b8fa2cc82fec6547902"
- integrity sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==
+"@babel/plugin-transform-modules-umd@^7.14.0", "@babel/plugin-transform-modules-umd@^7.9.0":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.0.tgz#2f8179d1bbc9263665ce4a65f305526b2ea8ac34"
+ integrity sha512-nPZdnWtXXeY7I87UZr9VlsWme3Y0cfFFE41Wbxz4bbaexAjNMInXPFUpRRUJ8NoMm0Cw+zxbqjdPmLhcjfazMw==
dependencies:
- "@babel/helper-module-transforms" "^7.12.1"
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-module-transforms" "^7.14.0"
+ "@babel/helper-plugin-utils" "^7.13.0"
-"@babel/plugin-transform-named-capturing-groups-regex@^7.12.1", "@babel/plugin-transform-named-capturing-groups-regex@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz#b407f5c96be0d9f5f88467497fa82b30ac3e8753"
- integrity sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==
+"@babel/plugin-transform-named-capturing-groups-regex@^7.12.13", "@babel/plugin-transform-named-capturing-groups-regex@^7.8.3":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz#2213725a5f5bbbe364b50c3ba5998c9599c5c9d9"
+ integrity sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.12.1"
+ "@babel/helper-create-regexp-features-plugin" "^7.12.13"
-"@babel/plugin-transform-new-target@^7.12.1", "@babel/plugin-transform-new-target@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz#80073f02ee1bb2d365c3416490e085c95759dec0"
- integrity sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==
+"@babel/plugin-transform-new-target@^7.12.13", "@babel/plugin-transform-new-target@^7.8.3":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz#e22d8c3af24b150dd528cbd6e685e799bf1c351c"
+ integrity sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.12.13"
-"@babel/plugin-transform-object-super@^7.12.1", "@babel/plugin-transform-object-super@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz#4ea08696b8d2e65841d0c7706482b048bed1066e"
- integrity sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==
+"@babel/plugin-transform-object-super@^7.12.13", "@babel/plugin-transform-object-super@^7.8.3":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz#b4416a2d63b8f7be314f3d349bd55a9c1b5171f7"
+ integrity sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-replace-supers" "^7.12.1"
+ "@babel/helper-plugin-utils" "^7.12.13"
+ "@babel/helper-replace-supers" "^7.12.13"
-"@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.8.7":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz#d2e963b038771650c922eff593799c96d853255d"
- integrity sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==
+"@babel/plugin-transform-parameters@^7.14.2", "@babel/plugin-transform-parameters@^7.8.7":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.2.tgz#e4290f72e0e9e831000d066427c4667098decc31"
+ integrity sha512-NxoVmA3APNCC1JdMXkdYXuQS+EMdqy0vIwyDHeKHiJKRxmp1qGSdb0JLEIoPRhkx6H/8Qi3RJ3uqOCYw8giy9A==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.13.0"
-"@babel/plugin-transform-property-literals@^7.12.1", "@babel/plugin-transform-property-literals@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz#41bc81200d730abb4456ab8b3fbd5537b59adecd"
- integrity sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==
+"@babel/plugin-transform-property-literals@^7.12.13", "@babel/plugin-transform-property-literals@^7.8.3":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz#4e6a9e37864d8f1b3bc0e2dce7bf8857db8b1a81"
+ integrity sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.12.13"
"@babel/plugin-transform-react-constant-elements@^7.0.0":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.12.1.tgz#4471f0851feec3231cc9aaa0dccde39947c1ac1e"
- integrity sha512-KOHd0tIRLoER+J+8f9DblZDa1fLGPwaaN1DI1TVHuQFOpjHV22C3CUB3obeC4fexHY9nx+fH0hQNvLFFfA1mxA==
+ version "7.13.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.13.13.tgz#0208b1d942bf939cd4f7aa5b255d42602aa4a920"
+ integrity sha512-SNJU53VM/SjQL0bZhyU+f4kJQz7bQQajnrZRSaU21hruG/NWY41AEM9AWXeXX90pYr/C2yAmTgI6yW3LlLrAUQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.13.0"
"@babel/plugin-transform-react-display-name@7.8.3":
version "7.8.3"
@@ -771,45 +803,44 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-transform-react-display-name@^7.12.1", "@babel/plugin-transform-react-display-name@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.1.tgz#1cbcd0c3b1d6648c55374a22fc9b6b7e5341c00d"
- integrity sha512-cAzB+UzBIrekfYxyLlFqf/OagTvHLcVBb5vpouzkYkBclRPraiygVnafvAoipErZLI8ANv8Ecn6E/m5qPXD26w==
+"@babel/plugin-transform-react-display-name@^7.12.13", "@babel/plugin-transform-react-display-name@^7.8.3":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.14.2.tgz#2e854544d42ab3bb9c21f84e153d62e800fbd593"
+ integrity sha512-zCubvP+jjahpnFJvPaHPiGVfuVUjXHhFvJKQdNnsmSsiU9kR/rCZ41jHc++tERD2zV+p7Hr6is+t5b6iWTCqSw==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.13.0"
-"@babel/plugin-transform-react-jsx-development@^7.12.7", "@babel/plugin-transform-react-jsx-development@^7.9.0":
- version "7.12.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.7.tgz#4c2a647de79c7e2b16bfe4540677ba3121e82a08"
- integrity sha512-Rs3ETtMtR3VLXFeYRChle5SsP/P9Jp/6dsewBQfokDSzKJThlsuFcnzLTDRALiUmTC48ej19YD9uN1mupEeEDg==
+"@babel/plugin-transform-react-jsx-development@^7.12.17", "@babel/plugin-transform-react-jsx-development@^7.9.0":
+ version "7.12.17"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.17.tgz#f510c0fa7cd7234153539f9a362ced41a5ca1447"
+ integrity sha512-BPjYV86SVuOaudFhsJR1zjgxxOhJDt6JHNoD48DxWEIxUCAMjV1ys6DYw4SDYZh0b1QsS2vfIA9t/ZsQGsDOUQ==
dependencies:
- "@babel/helper-builder-react-jsx-experimental" "^7.12.4"
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-jsx" "^7.12.1"
+ "@babel/plugin-transform-react-jsx" "^7.12.17"
"@babel/plugin-transform-react-jsx-self@^7.9.0":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.12.1.tgz#ef43cbca2a14f1bd17807dbe4376ff89d714cf28"
- integrity sha512-FbpL0ieNWiiBB5tCldX17EtXgmzeEZjFrix72rQYeq9X6nUK38HCaxexzVQrZWXanxKJPKVVIU37gFjEQYkPkA==
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.12.13.tgz#422d99d122d592acab9c35ea22a6cfd9bf189f60"
+ integrity sha512-FXYw98TTJ125GVCCkFLZXlZ1qGcsYqNQhVBQcZjyrwf8FEUtVfKIoidnO8S0q+KBQpDYNTmiGo1gn67Vti04lQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.12.13"
"@babel/plugin-transform-react-jsx-source@^7.9.0":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.12.1.tgz#d07de6863f468da0809edcf79a1aa8ce2a82a26b"
- integrity sha512-keQ5kBfjJNRc6zZN1/nVHCd6LLIHq4aUKcVnvE/2l+ZZROSbqoiGFRtT5t3Is89XJxBQaP7NLZX2jgGHdZvvFQ==
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.14.2.tgz#2620b57e7de775c0687f65d464026d15812941da"
+ integrity sha512-OMorspVyjxghAjzgeAWc6O7W7vHbJhV69NeTGdl9Mxgz6PaweAuo7ffB9T5A1OQ9dGcw0As4SYMUhyNC4u7mVg==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.13.0"
-"@babel/plugin-transform-react-jsx@^7.12.10", "@babel/plugin-transform-react-jsx@^7.9.1":
- version "7.12.10"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.10.tgz#a7af3097c73479123594c8c8fe39545abebd44e3"
- integrity sha512-MM7/BC8QdHXM7Qc1wdnuk73R4gbuOpfrSUgfV/nODGc86sPY1tgmY2M9E9uAnf2e4DOIp8aKGWqgZfQxnTNGuw==
+"@babel/plugin-transform-react-jsx@^7.12.17", "@babel/plugin-transform-react-jsx@^7.13.12", "@babel/plugin-transform-react-jsx@^7.9.1":
+ version "7.14.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.3.tgz#0e26597805cf0862da735f264550933c38babb66"
+ integrity sha512-uuxuoUNVhdgYzERiHHFkE4dWoJx+UFVyuAl0aqN8P2/AKFHwqgUC5w2+4/PjpKXJsFgBlYAFXlUmDQ3k3DUkXw==
dependencies:
- "@babel/helper-builder-react-jsx" "^7.10.4"
- "@babel/helper-builder-react-jsx-experimental" "^7.12.10"
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-jsx" "^7.12.1"
+ "@babel/helper-annotate-as-pure" "^7.12.13"
+ "@babel/helper-module-imports" "^7.13.12"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/plugin-syntax-jsx" "^7.12.13"
+ "@babel/types" "^7.14.2"
"@babel/plugin-transform-react-pure-annotations@^7.12.1":
version "7.12.1"
@@ -819,19 +850,19 @@
"@babel/helper-annotate-as-pure" "^7.10.4"
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-regenerator@^7.12.1", "@babel/plugin-transform-regenerator@^7.8.7":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz#5f0a28d842f6462281f06a964e88ba8d7ab49753"
- integrity sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==
+"@babel/plugin-transform-regenerator@^7.13.15", "@babel/plugin-transform-regenerator@^7.8.7":
+ version "7.13.15"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.13.15.tgz#e5eb28945bf8b6563e7f818945f966a8d2997f39"
+ integrity sha512-Bk9cOLSz8DiurcMETZ8E2YtIVJbFCPGW28DJWUakmyVWtQSm6Wsf0p4B4BfEr/eL2Nkhe/CICiUiMOCi1TPhuQ==
dependencies:
regenerator-transform "^0.14.2"
-"@babel/plugin-transform-reserved-words@^7.12.1", "@babel/plugin-transform-reserved-words@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz#6fdfc8cc7edcc42b36a7c12188c6787c873adcd8"
- integrity sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==
+"@babel/plugin-transform-reserved-words@^7.12.13", "@babel/plugin-transform-reserved-words@^7.8.3":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz#7d9988d4f06e0fe697ea1d9803188aa18b472695"
+ integrity sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.12.13"
"@babel/plugin-transform-runtime@7.9.0":
version "7.9.0"
@@ -843,65 +874,65 @@
resolve "^1.8.1"
semver "^5.5.1"
-"@babel/plugin-transform-shorthand-properties@^7.12.1", "@babel/plugin-transform-shorthand-properties@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz#0bf9cac5550fce0cfdf043420f661d645fdc75e3"
- integrity sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==
+"@babel/plugin-transform-shorthand-properties@^7.12.13", "@babel/plugin-transform-shorthand-properties@^7.8.3":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz#db755732b70c539d504c6390d9ce90fe64aff7ad"
+ integrity sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.12.13"
-"@babel/plugin-transform-spread@^7.12.1", "@babel/plugin-transform-spread@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz#527f9f311be4ec7fdc2b79bb89f7bf884b3e1e1e"
- integrity sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==
+"@babel/plugin-transform-spread@^7.13.0", "@babel/plugin-transform-spread@^7.8.3":
+ version "7.13.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz#84887710e273c1815ace7ae459f6f42a5d31d5fd"
+ integrity sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.13.0"
"@babel/helper-skip-transparent-expression-wrappers" "^7.12.1"
-"@babel/plugin-transform-sticky-regex@^7.12.7", "@babel/plugin-transform-sticky-regex@^7.8.3":
- version "7.12.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz#560224613ab23987453948ed21d0b0b193fa7fad"
- integrity sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==
+"@babel/plugin-transform-sticky-regex@^7.12.13", "@babel/plugin-transform-sticky-regex@^7.8.3":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz#760ffd936face73f860ae646fb86ee82f3d06d1f"
+ integrity sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.12.13"
-"@babel/plugin-transform-template-literals@^7.12.1", "@babel/plugin-transform-template-literals@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz#b43ece6ed9a79c0c71119f576d299ef09d942843"
- integrity sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==
+"@babel/plugin-transform-template-literals@^7.13.0", "@babel/plugin-transform-template-literals@^7.8.3":
+ version "7.13.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz#a36049127977ad94438dee7443598d1cefdf409d"
+ integrity sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.13.0"
-"@babel/plugin-transform-typeof-symbol@^7.12.10", "@babel/plugin-transform-typeof-symbol@^7.8.4":
- version "7.12.10"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz#de01c4c8f96580bd00f183072b0d0ecdcf0dec4b"
- integrity sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==
+"@babel/plugin-transform-typeof-symbol@^7.12.13", "@babel/plugin-transform-typeof-symbol@^7.8.4":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz#785dd67a1f2ea579d9c2be722de8c84cb85f5a7f"
+ integrity sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.12.13"
"@babel/plugin-transform-typescript@^7.9.0":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.1.tgz#d92cc0af504d510e26a754a7dbc2e5c8cd9c7ab4"
- integrity sha512-VrsBByqAIntM+EYMqSm59SiMEf7qkmI9dqMt6RbD/wlwueWmYcI0FFK5Fj47pP6DRZm+3teXjosKlwcZJ5lIMw==
+ version "7.14.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.14.3.tgz#44f67f725a60cccee33d9d6fee5e4f338258f34f"
+ integrity sha512-G5Bb5pY6tJRTC4ag1visSgiDoGgJ1u1fMUgmc2ijLkcIdzP83Q1qyZX4ggFQ/SkR+PNOatkaYC+nKcTlpsX4ag==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.12.1"
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-typescript" "^7.12.1"
+ "@babel/helper-create-class-features-plugin" "^7.14.3"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/plugin-syntax-typescript" "^7.12.13"
-"@babel/plugin-transform-unicode-escapes@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz#5232b9f81ccb07070b7c3c36c67a1b78f1845709"
- integrity sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==
+"@babel/plugin-transform-unicode-escapes@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz#840ced3b816d3b5127dd1d12dcedc5dead1a5e74"
+ integrity sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.12.13"
-"@babel/plugin-transform-unicode-regex@^7.12.1", "@babel/plugin-transform-unicode-regex@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz#cc9661f61390db5c65e3febaccefd5c6ac3faecb"
- integrity sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==
+"@babel/plugin-transform-unicode-regex@^7.12.13", "@babel/plugin-transform-unicode-regex@^7.8.3":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz#b52521685804e155b1202e83fc188d34bb70f5ac"
+ integrity sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.12.1"
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-create-regexp-features-plugin" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.12.13"
"@babel/preset-env@7.9.0":
version "7.9.0"
@@ -970,78 +1001,85 @@
semver "^5.5.0"
"@babel/preset-env@^7.4.5":
- version "7.12.10"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.10.tgz#ca981b95f641f2610531bd71948656306905e6ab"
- integrity sha512-Gz9hnBT/tGeTE2DBNDkD7BiWRELZt+8lSysHuDwmYXUIvtwZl0zI+D6mZgXZX0u8YBlLS4tmai9ONNY9tjRgRA==
- dependencies:
- "@babel/compat-data" "^7.12.7"
- "@babel/helper-compilation-targets" "^7.12.5"
- "@babel/helper-module-imports" "^7.12.5"
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-validator-option" "^7.12.1"
- "@babel/plugin-proposal-async-generator-functions" "^7.12.1"
- "@babel/plugin-proposal-class-properties" "^7.12.1"
- "@babel/plugin-proposal-dynamic-import" "^7.12.1"
- "@babel/plugin-proposal-export-namespace-from" "^7.12.1"
- "@babel/plugin-proposal-json-strings" "^7.12.1"
- "@babel/plugin-proposal-logical-assignment-operators" "^7.12.1"
- "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1"
- "@babel/plugin-proposal-numeric-separator" "^7.12.7"
- "@babel/plugin-proposal-object-rest-spread" "^7.12.1"
- "@babel/plugin-proposal-optional-catch-binding" "^7.12.1"
- "@babel/plugin-proposal-optional-chaining" "^7.12.7"
- "@babel/plugin-proposal-private-methods" "^7.12.1"
- "@babel/plugin-proposal-unicode-property-regex" "^7.12.1"
- "@babel/plugin-syntax-async-generators" "^7.8.0"
- "@babel/plugin-syntax-class-properties" "^7.12.1"
- "@babel/plugin-syntax-dynamic-import" "^7.8.0"
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.14.2.tgz#e80612965da73579c84ad2f963c2359c71524ed5"
+ integrity sha512-7dD7lVT8GMrE73v4lvDEb85cgcQhdES91BSD7jS/xjC6QY8PnRhux35ac+GCpbiRhp8crexBvZZqnaL6VrY8TQ==
+ dependencies:
+ "@babel/compat-data" "^7.14.0"
+ "@babel/helper-compilation-targets" "^7.13.16"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-validator-option" "^7.12.17"
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.13.12"
+ "@babel/plugin-proposal-async-generator-functions" "^7.14.2"
+ "@babel/plugin-proposal-class-properties" "^7.13.0"
+ "@babel/plugin-proposal-class-static-block" "^7.13.11"
+ "@babel/plugin-proposal-dynamic-import" "^7.14.2"
+ "@babel/plugin-proposal-export-namespace-from" "^7.14.2"
+ "@babel/plugin-proposal-json-strings" "^7.14.2"
+ "@babel/plugin-proposal-logical-assignment-operators" "^7.14.2"
+ "@babel/plugin-proposal-nullish-coalescing-operator" "^7.14.2"
+ "@babel/plugin-proposal-numeric-separator" "^7.14.2"
+ "@babel/plugin-proposal-object-rest-spread" "^7.14.2"
+ "@babel/plugin-proposal-optional-catch-binding" "^7.14.2"
+ "@babel/plugin-proposal-optional-chaining" "^7.14.2"
+ "@babel/plugin-proposal-private-methods" "^7.13.0"
+ "@babel/plugin-proposal-private-property-in-object" "^7.14.0"
+ "@babel/plugin-proposal-unicode-property-regex" "^7.12.13"
+ "@babel/plugin-syntax-async-generators" "^7.8.4"
+ "@babel/plugin-syntax-class-properties" "^7.12.13"
+ "@babel/plugin-syntax-class-static-block" "^7.12.13"
+ "@babel/plugin-syntax-dynamic-import" "^7.8.3"
"@babel/plugin-syntax-export-namespace-from" "^7.8.3"
- "@babel/plugin-syntax-json-strings" "^7.8.0"
+ "@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.0"
+ "@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.0"
- "@babel/plugin-syntax-optional-catch-binding" "^7.8.0"
- "@babel/plugin-syntax-optional-chaining" "^7.8.0"
- "@babel/plugin-syntax-top-level-await" "^7.12.1"
- "@babel/plugin-transform-arrow-functions" "^7.12.1"
- "@babel/plugin-transform-async-to-generator" "^7.12.1"
- "@babel/plugin-transform-block-scoped-functions" "^7.12.1"
- "@babel/plugin-transform-block-scoping" "^7.12.1"
- "@babel/plugin-transform-classes" "^7.12.1"
- "@babel/plugin-transform-computed-properties" "^7.12.1"
- "@babel/plugin-transform-destructuring" "^7.12.1"
- "@babel/plugin-transform-dotall-regex" "^7.12.1"
- "@babel/plugin-transform-duplicate-keys" "^7.12.1"
- "@babel/plugin-transform-exponentiation-operator" "^7.12.1"
- "@babel/plugin-transform-for-of" "^7.12.1"
- "@babel/plugin-transform-function-name" "^7.12.1"
- "@babel/plugin-transform-literals" "^7.12.1"
- "@babel/plugin-transform-member-expression-literals" "^7.12.1"
- "@babel/plugin-transform-modules-amd" "^7.12.1"
- "@babel/plugin-transform-modules-commonjs" "^7.12.1"
- "@babel/plugin-transform-modules-systemjs" "^7.12.1"
- "@babel/plugin-transform-modules-umd" "^7.12.1"
- "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.1"
- "@babel/plugin-transform-new-target" "^7.12.1"
- "@babel/plugin-transform-object-super" "^7.12.1"
- "@babel/plugin-transform-parameters" "^7.12.1"
- "@babel/plugin-transform-property-literals" "^7.12.1"
- "@babel/plugin-transform-regenerator" "^7.12.1"
- "@babel/plugin-transform-reserved-words" "^7.12.1"
- "@babel/plugin-transform-shorthand-properties" "^7.12.1"
- "@babel/plugin-transform-spread" "^7.12.1"
- "@babel/plugin-transform-sticky-regex" "^7.12.7"
- "@babel/plugin-transform-template-literals" "^7.12.1"
- "@babel/plugin-transform-typeof-symbol" "^7.12.10"
- "@babel/plugin-transform-unicode-escapes" "^7.12.1"
- "@babel/plugin-transform-unicode-regex" "^7.12.1"
- "@babel/preset-modules" "^0.1.3"
- "@babel/types" "^7.12.10"
- core-js-compat "^3.8.0"
- semver "^5.5.0"
+ "@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.0"
+ "@babel/plugin-syntax-top-level-await" "^7.12.13"
+ "@babel/plugin-transform-arrow-functions" "^7.13.0"
+ "@babel/plugin-transform-async-to-generator" "^7.13.0"
+ "@babel/plugin-transform-block-scoped-functions" "^7.12.13"
+ "@babel/plugin-transform-block-scoping" "^7.14.2"
+ "@babel/plugin-transform-classes" "^7.14.2"
+ "@babel/plugin-transform-computed-properties" "^7.13.0"
+ "@babel/plugin-transform-destructuring" "^7.13.17"
+ "@babel/plugin-transform-dotall-regex" "^7.12.13"
+ "@babel/plugin-transform-duplicate-keys" "^7.12.13"
+ "@babel/plugin-transform-exponentiation-operator" "^7.12.13"
+ "@babel/plugin-transform-for-of" "^7.13.0"
+ "@babel/plugin-transform-function-name" "^7.12.13"
+ "@babel/plugin-transform-literals" "^7.12.13"
+ "@babel/plugin-transform-member-expression-literals" "^7.12.13"
+ "@babel/plugin-transform-modules-amd" "^7.14.2"
+ "@babel/plugin-transform-modules-commonjs" "^7.14.0"
+ "@babel/plugin-transform-modules-systemjs" "^7.13.8"
+ "@babel/plugin-transform-modules-umd" "^7.14.0"
+ "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.13"
+ "@babel/plugin-transform-new-target" "^7.12.13"
+ "@babel/plugin-transform-object-super" "^7.12.13"
+ "@babel/plugin-transform-parameters" "^7.14.2"
+ "@babel/plugin-transform-property-literals" "^7.12.13"
+ "@babel/plugin-transform-regenerator" "^7.13.15"
+ "@babel/plugin-transform-reserved-words" "^7.12.13"
+ "@babel/plugin-transform-shorthand-properties" "^7.12.13"
+ "@babel/plugin-transform-spread" "^7.13.0"
+ "@babel/plugin-transform-sticky-regex" "^7.12.13"
+ "@babel/plugin-transform-template-literals" "^7.13.0"
+ "@babel/plugin-transform-typeof-symbol" "^7.12.13"
+ "@babel/plugin-transform-unicode-escapes" "^7.12.13"
+ "@babel/plugin-transform-unicode-regex" "^7.12.13"
+ "@babel/preset-modules" "^0.1.4"
+ "@babel/types" "^7.14.2"
+ babel-plugin-polyfill-corejs2 "^0.2.0"
+ babel-plugin-polyfill-corejs3 "^0.2.0"
+ babel-plugin-polyfill-regenerator "^0.2.0"
+ core-js-compat "^3.9.0"
+ semver "^6.3.0"
-"@babel/preset-modules@^0.1.3":
+"@babel/preset-modules@^0.1.3", "@babel/preset-modules@^0.1.4":
version "0.1.4"
resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e"
integrity sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==
@@ -1065,14 +1103,15 @@
"@babel/plugin-transform-react-jsx-source" "^7.9.0"
"@babel/preset-react@^7.0.0":
- version "7.12.10"
- resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.12.10.tgz#4fed65f296cbb0f5fb09de6be8cddc85cc909be9"
- integrity sha512-vtQNjaHRl4DUpp+t+g4wvTHsLQuye+n0H/wsXIZRn69oz/fvNC7gQ4IK73zGJBaxvHoxElDvnYCthMcT7uzFoQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-transform-react-display-name" "^7.12.1"
- "@babel/plugin-transform-react-jsx" "^7.12.10"
- "@babel/plugin-transform-react-jsx-development" "^7.12.7"
+ version "7.13.13"
+ resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.13.13.tgz#fa6895a96c50763fe693f9148568458d5a839761"
+ integrity sha512-gx+tDLIE06sRjKJkVtpZ/t3mzCDOnPG+ggHZG9lffUbX8+wC739x20YQc9V35Do6ZAxaUc/HhVHIiOzz5MvDmA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-validator-option" "^7.12.17"
+ "@babel/plugin-transform-react-display-name" "^7.12.13"
+ "@babel/plugin-transform-react-jsx" "^7.13.12"
+ "@babel/plugin-transform-react-jsx-development" "^7.12.17"
"@babel/plugin-transform-react-pure-annotations" "^7.12.1"
"@babel/preset-typescript@7.9.0":
@@ -1084,9 +1123,9 @@
"@babel/plugin-transform-typescript" "^7.9.0"
"@babel/runtime-corejs3@^7.12.1":
- version "7.12.5"
- resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.12.5.tgz#ffee91da0eb4c6dae080774e94ba606368e414f4"
- integrity sha512-roGr54CsTmNPPzZoCP1AmDXuBoNao7tnSA83TXTwt+UK5QVyh1DIJnrgYRPWKCF2flqZQXwa7Yr8v7VmLzF0YQ==
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.14.0.tgz#6bf5fbc0b961f8e3202888cb2cd0fb7a0a9a3f66"
+ integrity sha512-0R0HTZWHLk6G8jIk0FtoX+AatCtKnswS98VhXwGImFc759PJRp4Tru0PQYZofyijTFUr+gT8Mu7sgXVJLQ0ceg==
dependencies:
core-js-pure "^3.0.0"
regenerator-runtime "^0.13.4"
@@ -1098,44 +1137,42 @@
dependencies:
regenerator-runtime "^0.13.4"
-"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4":
- version "7.12.5"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e"
- integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==
+"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.0.tgz#46794bc20b612c5f75e62dd071e24dfd95f1cbe6"
+ integrity sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==
dependencies:
regenerator-runtime "^0.13.4"
-"@babel/template@^7.10.4", "@babel/template@^7.12.7", "@babel/template@^7.4.0", "@babel/template@^7.8.6":
- version "7.12.7"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.7.tgz#c817233696018e39fbb6c491d2fb684e05ed43bc"
- integrity sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==
- dependencies:
- "@babel/code-frame" "^7.10.4"
- "@babel/parser" "^7.12.7"
- "@babel/types" "^7.12.7"
-
-"@babel/traverse@^7.1.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.12.1", "@babel/traverse@^7.12.10", "@babel/traverse@^7.12.5", "@babel/traverse@^7.4.3", "@babel/traverse@^7.7.0", "@babel/traverse@^7.9.0":
- version "7.12.10"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.10.tgz#2d1f4041e8bf42ea099e5b2dc48d6a594c00017a"
- integrity sha512-6aEtf0IeRgbYWzta29lePeYSk+YAFIC3kyqESeft8o5CkFlYIMX+EQDDWEiAQ9LHOA3d0oHdgrSsID/CKqXJlg==
- dependencies:
- "@babel/code-frame" "^7.10.4"
- "@babel/generator" "^7.12.10"
- "@babel/helper-function-name" "^7.10.4"
- "@babel/helper-split-export-declaration" "^7.11.0"
- "@babel/parser" "^7.12.10"
- "@babel/types" "^7.12.10"
+"@babel/template@^7.12.13", "@babel/template@^7.4.0", "@babel/template@^7.8.6":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327"
+ integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==
+ dependencies:
+ "@babel/code-frame" "^7.12.13"
+ "@babel/parser" "^7.12.13"
+ "@babel/types" "^7.12.13"
+
+"@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.13.15", "@babel/traverse@^7.14.0", "@babel/traverse@^7.14.2", "@babel/traverse@^7.4.3", "@babel/traverse@^7.7.0", "@babel/traverse@^7.9.0":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.2.tgz#9201a8d912723a831c2679c7ebbf2fe1416d765b"
+ integrity sha512-TsdRgvBFHMyHOOzcP9S6QU0QQtjxlRpEYOy3mcCO5RgmC305ki42aSAmfZEMSSYBla2oZ9BMqYlncBaKmD/7iA==
+ dependencies:
+ "@babel/code-frame" "^7.12.13"
+ "@babel/generator" "^7.14.2"
+ "@babel/helper-function-name" "^7.14.2"
+ "@babel/helper-split-export-declaration" "^7.12.13"
+ "@babel/parser" "^7.14.2"
+ "@babel/types" "^7.14.2"
debug "^4.1.0"
globals "^11.1.0"
- lodash "^4.17.19"
-"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.12.10", "@babel/types@^7.12.5", "@babel/types@^7.12.7", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.9.0":
- version "7.12.10"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.10.tgz#7965e4a7260b26f09c56bcfcb0498af1f6d9b260"
- integrity sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==
+"@babel/types@^7.0.0", "@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.13.0", "@babel/types@^7.13.12", "@babel/types@^7.13.16", "@babel/types@^7.14.0", "@babel/types@^7.14.2", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.9.0":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.2.tgz#4208ae003107ef8a057ea8333e56eb64d2f6a2c3"
+ integrity sha512-SdjAG/3DikRHpUOjxZgnkbR11xUlyDMUFJdvnIgZEE16mqmY0BINMmc4//JMJglEmn6i7sq6p+mGrFWyZ98EEw==
dependencies:
- "@babel/helper-validator-identifier" "^7.10.4"
- lodash "^4.17.19"
+ "@babel/helper-validator-identifier" "^7.14.0"
to-fast-properties "^2.0.0"
"@cnakazawa/watch@^1.0.3":
@@ -1508,61 +1545,54 @@
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b"
integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==
-"@patternfly/patternfly@4.65.5":
- version "4.65.5"
- resolved "https://registry.yarnpkg.com/@patternfly/patternfly/-/patternfly-4.65.5.tgz#22917237ea8b9cbfe52be1dfd00a258a6bfdb324"
- integrity sha512-10dXyBt4fo55Wtm7v+Vmn9eVp4rD25fR296uif0nxGX3ZXhEuyyPOfo2DgNmCFHu42Exo6N8DP7W472Pp9VkJw==
-
"@patternfly/patternfly@^4.10.31":
- version "4.65.6"
- resolved "https://registry.yarnpkg.com/@patternfly/patternfly/-/patternfly-4.65.6.tgz#ca906c6d55ffc3097d0e23d9ad578e95cb866ea3"
- integrity sha512-dENO2nZbf5SoEH68coW9U+6FpZmdVnFVjztl7rUeWUPSBUuF1eWld5LT03Q6PVoZuWqqbJxFJodyFKwLb+L9vw==
+ version "4.103.6"
+ resolved "https://registry.yarnpkg.com/@patternfly/patternfly/-/patternfly-4.103.6.tgz#a01b1dced931eb4971a6c7366901fdde81a52284"
+ integrity sha512-veWpHv/Dlk0P7tu96QUjLzD2Aq4IysUSGOjGPXlbb/KOUfnIrErLRmQnljY01ykXLJ7kxQSnC3yaJqCU+4fDPQ==
"@patternfly/react-charts@^6.3.9":
- version "6.12.2"
- resolved "https://registry.yarnpkg.com/@patternfly/react-charts/-/react-charts-6.12.2.tgz#69652ddde7321c60bd3a61fb593372fe8a0e0cd8"
- integrity sha512-fvRTZfJBYrVUtr2zQEKCqlHz6zn2GLnwKJ1bg+vqbzza160KVhe63Lklul85/1nfAgmMlBYq8PCjOt32kVCDew==
+ version "6.14.22"
+ resolved "https://registry.yarnpkg.com/@patternfly/react-charts/-/react-charts-6.14.22.tgz#a78ab36ab094c8ed87855afc3c73593b2ef01256"
+ integrity sha512-9rkokh8JPRryqAPDjP3sB+Kx85v9i2jlMVA0JfAa2rQkhS0gOKgOUkU/I9KegXaDEHvtTpCpI6S6a9uQ9/ewYQ==
dependencies:
- "@patternfly/patternfly" "4.65.5"
- "@patternfly/react-styles" "^4.7.16"
- "@patternfly/react-tokens" "^4.9.18"
+ "@patternfly/react-styles" "^4.10.7"
+ "@patternfly/react-tokens" "^4.11.8"
hoist-non-react-statics "^3.3.0"
lodash "^4.17.19"
tslib "1.13.0"
- victory "^35.3.5"
- victory-area "^35.2.0"
- victory-axis "^35.2.0"
- victory-bar "^35.2.0"
- victory-chart "^35.2.0"
- victory-core "^35.2.0"
- victory-create-container "^35.2.0"
- victory-group "^35.2.0"
- victory-legend "^35.2.0"
- victory-line "^35.2.0"
- victory-pie "^35.2.0"
- victory-scatter "^35.2.0"
- victory-stack "^35.2.0"
- victory-tooltip "^35.2.0"
- victory-voronoi-container "^35.2.0"
- victory-zoom-container "^35.2.0"
-
-"@patternfly/react-core@^4.18.5", "@patternfly/react-core@^4.79.2":
- version "4.79.2"
- resolved "https://registry.yarnpkg.com/@patternfly/react-core/-/react-core-4.79.2.tgz#058ebea5a2749294dd69ad9fe8d3e43088100ada"
- integrity sha512-TCWi5Hu8+gpqFVAL4ZMXCRLbRfayM7wJ8+/Ob4rfhC61qm36CZNAcqWOmuV8bghOzB29INUMNShggtuiUa5mkg==
- dependencies:
- "@patternfly/react-icons" "^4.7.18"
- "@patternfly/react-styles" "^4.7.16"
- "@patternfly/react-tokens" "^4.9.18"
- focus-trap "4.0.2"
+ victory-area "^35.4.4"
+ victory-axis "^35.4.4"
+ victory-bar "^35.4.4"
+ victory-chart "^35.4.4"
+ victory-core "^35.4.4"
+ victory-create-container "^35.4.4"
+ victory-group "^35.4.4"
+ victory-legend "^35.4.4"
+ victory-line "^35.4.4"
+ victory-pie "^35.4.4"
+ victory-scatter "^35.4.4"
+ victory-stack "^35.4.4"
+ victory-tooltip "^35.4.4"
+ victory-voronoi-container "^35.4.4"
+ victory-zoom-container "^35.4.4"
+
+"@patternfly/react-core@^4.121.1", "@patternfly/react-core@^4.18.5":
+ version "4.121.1"
+ resolved "https://registry.yarnpkg.com/@patternfly/react-core/-/react-core-4.121.1.tgz#25ce945c54366a202e1f581e48ff167df4d3f7fc"
+ integrity sha512-WIlh7Wd4o4r0PA2+9/fPcOxMAnc2H/InPx8rulJzD9a8KdUevl7+XDtKok6p6grKRUriV5wKPQyfZrxcb5VVHw==
+ dependencies:
+ "@patternfly/react-icons" "^4.10.7"
+ "@patternfly/react-styles" "^4.10.7"
+ "@patternfly/react-tokens" "^4.11.8"
+ focus-trap "6.2.2"
react-dropzone "9.0.0"
tippy.js "5.1.2"
tslib "1.13.0"
-"@patternfly/react-icons@^4.3.5", "@patternfly/react-icons@^4.7.18":
- version "4.7.18"
- resolved "https://registry.yarnpkg.com/@patternfly/react-icons/-/react-icons-4.7.18.tgz#c188f1f460f62bd9ee262f1da580caaefbf8fdf9"
- integrity sha512-Kd0JjeVCESpMJGb5ZkLXvAdCuklV9dYGUkcTO18WMyXQ57s9+xXjVA77wojmp6Ru1ZCWOP5bLXZOKmwVnOfUpQ==
+"@patternfly/react-icons@^4.10.7", "@patternfly/react-icons@^4.3.5":
+ version "4.10.7"
+ resolved "https://registry.yarnpkg.com/@patternfly/react-icons/-/react-icons-4.10.7.tgz#fe2eabf88512afe7dab0c0e7c71142ec6e594664"
+ integrity sha512-CiHYDOS8jrxNiy/KIxv9vPqg3cie4SzsbQKh+eW8lj41x68IrgILiw3VvjcJeVXXJDRW36T7u3IPKjMI6zuoyA==
"@patternfly/react-styles@^3.0.2":
version "3.7.14"
@@ -1575,21 +1605,20 @@
emotion "^9.2.9"
emotion-server "^9.2.9"
-"@patternfly/react-styles@^4.7.16":
- version "4.7.16"
- resolved "https://registry.yarnpkg.com/@patternfly/react-styles/-/react-styles-4.7.16.tgz#a6c5c1cd7efbe54423210ba9cd70a4c41660e09e"
- integrity sha512-bJmRrYKXgHGPPwLHg/gy1tDb/qEV6JpFLgkelLuz38czXeBnPpAUn9yKry3wNr95VQGERT6FcLsWjXKPY1x42Q==
+"@patternfly/react-styles@^4.10.7":
+ version "4.10.7"
+ resolved "https://registry.yarnpkg.com/@patternfly/react-styles/-/react-styles-4.10.7.tgz#3b0ce38f3e12a69cdcbaf1ada163a5b114b919bd"
+ integrity sha512-oA9R1dXAJaKhj0/1z/uf2Z1wzsQ4jGQw2F8alPBagbDLyZD+pvUmElBr7o2Ucz/fm+/pLcphekCkGEVtyV3jOA==
"@patternfly/react-table@^4.5.7":
- version "4.19.24"
- resolved "https://registry.yarnpkg.com/@patternfly/react-table/-/react-table-4.19.24.tgz#5d121e60f1475af0001a64ace278b92da334614b"
- integrity sha512-m7nwDnjlgbnqUHbvHzw53ln6ST42Y/n49Jpt1SUvhpzwppb/SSmY0IrT+3ukwOgLW5jeErGTxCNGNIpAaugTBA==
- dependencies:
- "@patternfly/patternfly" "4.65.5"
- "@patternfly/react-core" "^4.79.2"
- "@patternfly/react-icons" "^4.7.18"
- "@patternfly/react-styles" "^4.7.16"
- "@patternfly/react-tokens" "^4.9.18"
+ version "4.27.7"
+ resolved "https://registry.yarnpkg.com/@patternfly/react-table/-/react-table-4.27.7.tgz#f3159c703b4e5119d3f45dff7f4e9853b0b646a5"
+ integrity sha512-5lQBkXeBC5qtvum7HWPyd6PxpfO2j/UaIdy8ZeN7X0AVI96p3Zb4hH5WSTla2EAOUEmN0g16Nmxg57ZZREp+kg==
+ dependencies:
+ "@patternfly/react-core" "^4.121.1"
+ "@patternfly/react-icons" "^4.10.7"
+ "@patternfly/react-styles" "^4.10.7"
+ "@patternfly/react-tokens" "^4.11.8"
lodash "^4.17.19"
tslib "1.13.0"
@@ -1598,10 +1627,10 @@
resolved "https://registry.yarnpkg.com/@patternfly/react-tokens/-/react-tokens-2.8.15.tgz#f62a569213ccb32ecdbd9da8709d6b5a55f8d215"
integrity sha512-hhxWJ+gHqBxh5kWo6J23B9T5hvaRqwwtK5YoVscvv2skWIS+5XPLetVjhEmMoZ18MEcMHmpKkEri9s9Tj5jtlQ==
-"@patternfly/react-tokens@^4.9.18":
- version "4.9.18"
- resolved "https://registry.yarnpkg.com/@patternfly/react-tokens/-/react-tokens-4.9.18.tgz#b34afc5fd2567a50b7658aff004f31b536fd9096"
- integrity sha512-zQfqwKtoz1hDngyiGnF6oHeESDtgNY6C79Db97JxMMuRBV7i+5f6uC/DrYhcqNtqHA7mxrVJg0SM1xnPSAW9lA==
+"@patternfly/react-tokens@^4.11.8":
+ version "4.11.8"
+ resolved "https://registry.yarnpkg.com/@patternfly/react-tokens/-/react-tokens-4.11.8.tgz#ea0c9ca036f6b0506cda43e899c3248971920337"
+ integrity sha512-k3UwsnWRoHHYbFbiqmUHtkrAPtw6D8BZLB1tPGzdXBlqQXRX1t8xukgDcTSUWo6wOPVdk8WrOgmWMy0u0Tk+sw==
"@svgr/babel-plugin-add-jsx-attribute@^4.2.0":
version "4.2.0"
@@ -1707,9 +1736,9 @@
loader-utils "^1.2.3"
"@types/babel__core@^7.1.0":
- version "7.1.12"
- resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.12.tgz#4d8e9e51eb265552a7e4f1ff2219ab6133bdfb2d"
- integrity sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ==
+ version "7.1.14"
+ resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.14.tgz#faaeefc4185ec71c389f4501ee5ec84b170cc402"
+ integrity sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g==
dependencies:
"@babel/parser" "^7.1.0"
"@babel/types" "^7.0.0"
@@ -1733,9 +1762,9 @@
"@babel/types" "^7.0.0"
"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.0.tgz#b9a1efa635201ba9bc850323a8793ee2d36c04a0"
- integrity sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg==
+ version "7.11.1"
+ resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.1.tgz#654f6c4f67568e24c23b367e947098c6206fa639"
+ integrity sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw==
dependencies:
"@babel/types" "^7.3.0"
@@ -1773,9 +1802,9 @@
"@types/istanbul-lib-report" "*"
"@types/json-schema@^7.0.3", "@types/json-schema@^7.0.5":
- version "7.0.6"
- resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0"
- integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==
+ version "7.0.7"
+ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad"
+ integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==
"@types/json5@^0.0.29":
version "0.0.29"
@@ -1783,34 +1812,53 @@
integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4=
"@types/minimatch@*":
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
- integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.4.tgz#f0ec25dbf2f0e4b18647313ac031134ca5b24b21"
+ integrity sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==
"@types/node@*":
- version "14.14.12"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.12.tgz#0b1d86f8c40141091285dea02e4940df73bba43f"
- integrity sha512-ASH8OPHMNlkdjrEdmoILmzFfsJICvhBsFfAum4aKZ/9U4B6M6tTmTPh+f3ttWdD74CEGV5XvXWkbyfSdXaTd7g==
+ version "15.3.0"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-15.3.0.tgz#d6fed7d6bc6854306da3dea1af9f874b00783e26"
+ integrity sha512-8/bnjSZD86ZfpBsDlCIkNXIvm+h6wi9g7IqL+kmFkQ+Wvu3JrasgLElfiPgoo8V8vVfnEi0QVS12gbl94h9YsQ==
"@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/prop-types@*":
+ version "15.7.3"
+ resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7"
+ integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==
+
"@types/q@^1.5.1":
version "1.5.4"
resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24"
integrity sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==
+"@types/react@*":
+ version "17.0.6"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.6.tgz#0ec564566302c562bf497d73219797a5e0297013"
+ integrity sha512-u/TtPoF/hrvb63LdukET6ncaplYsvCvmkceasx8oG84/ZCsoLxz9Z/raPBP4lTAiWW1Jb889Y9svHmv8R26dWw==
+ dependencies:
+ "@types/prop-types" "*"
+ "@types/scheduler" "*"
+ csstype "^3.0.2"
+
+"@types/scheduler@*":
+ version "0.16.1"
+ resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.1.tgz#18845205e86ff0038517aab7a18a62a6b9f71275"
+ integrity sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA==
+
"@types/stack-utils@^1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e"
integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==
"@types/yargs-parser@*":
- version "15.0.0"
- resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d"
- integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==
+ version "20.2.0"
+ resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9"
+ integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==
"@types/yargs@^13.0.0":
version "13.0.11"
@@ -2163,11 +2211,11 @@ ansi-escapes@^3.0.0:
integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==
ansi-escapes@^4.2.1:
- version "4.3.1"
- resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61"
- integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==
+ 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.11.0"
+ type-fest "^0.21.3"
ansi-html@0.0.7:
version "0.0.7"
@@ -2222,9 +2270,9 @@ anymatch@^2.0.0:
normalize-path "^2.1.1"
anymatch@~3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142"
- integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==
+ 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"
@@ -2284,11 +2332,6 @@ array-equal@^1.0.0:
resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93"
integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=
-array-filter@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83"
- integrity sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=
-
array-flatten@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
@@ -2299,15 +2342,15 @@ array-flatten@^2.1.0:
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099"
integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==
-array-includes@^3.0.3, array-includes@^3.1.1:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.2.tgz#a8db03e0b88c8c6aeddc49cb132f9bcab4ebf9c8"
- integrity sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw==
+array-includes@^3.0.3, array-includes@^3.1.1, array-includes@^3.1.2, array-includes@^3.1.3:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a"
+ integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==
dependencies:
- call-bind "^1.0.0"
+ call-bind "^1.0.2"
define-properties "^1.1.3"
- es-abstract "^1.18.0-next.1"
- get-intrinsic "^1.0.1"
+ es-abstract "^1.18.0-next.2"
+ get-intrinsic "^1.1.1"
is-string "^1.0.5"
array-union@^1.0.1:
@@ -2327,6 +2370,17 @@ array-unique@^0.3.2:
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
+array.prototype.filter@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/array.prototype.filter/-/array.prototype.filter-1.0.0.tgz#24d63e38983cdc6bf023a3c574b2f2a3f384c301"
+ integrity sha512-TfO1gz+tLm+Bswq0FBOXPqAchtCr2Rn48T8dLJoRFl8NoEosjZmzptmuo1X8aZBzZcqsR1W8U761tjACJtngTQ==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+ es-abstract "^1.18.0"
+ es-array-method-boxes-properly "^1.0.0"
+ is-string "^1.0.5"
+
array.prototype.find@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.1.1.tgz#3baca26108ca7affb08db06bf0be6cb3115a969c"
@@ -2335,7 +2389,7 @@ array.prototype.find@^2.1.1:
define-properties "^1.1.3"
es-abstract "^1.17.4"
-array.prototype.flat@^1.2.1, array.prototype.flat@^1.2.3:
+array.prototype.flat@^1.2.1, array.prototype.flat@^1.2.3, array.prototype.flat@^1.2.4:
version "1.2.4"
resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123"
integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==
@@ -2344,7 +2398,7 @@ array.prototype.flat@^1.2.1, array.prototype.flat@^1.2.3:
define-properties "^1.1.3"
es-abstract "^1.18.0-next.1"
-array.prototype.flatmap@^1.2.3:
+array.prototype.flatmap@^1.2.4:
version "1.2.4"
resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz#94cfd47cc1556ec0747d97f7c7738c58122004c9"
integrity sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==
@@ -2531,9 +2585,9 @@ babel-plugin-dynamic-import-node@^2.3.3:
object.assign "^4.1.0"
babel-plugin-emotion@^10.0.27:
- version "10.0.33"
- resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.0.33.tgz#ce1155dcd1783bbb9286051efee53f4e2be63e03"
- integrity sha512-bxZbTTGz0AJQDHm8k6Rf3RQJ8tX2scsfsRyKVgAbiUPUNIRtlK+7JxP+TAd1kRLABFxe0CFm2VdK4ePkoA9FxQ==
+ version "10.2.2"
+ resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.2.2.tgz#a1fe3503cff80abfd0bdda14abd2e8e57a79d17d"
+ integrity sha512-SMSkGoqTbTyUTDeuVuPIWifPdUGkTk1Kf9BWRiXIOIcuyMfsdp2EjeiiFvOzX8NOBvEh/ypKYvUh2rkgAJMCLA==
dependencies:
"@babel/helper-module-imports" "^7.0.0"
"@emotion/hash" "0.8.0"
@@ -2595,6 +2649,30 @@ babel-plugin-named-asset-import@^0.3.6:
resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.7.tgz#156cd55d3f1228a5765774340937afc8398067dd"
integrity sha512-squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw==
+babel-plugin-polyfill-corejs2@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.0.tgz#686775bf9a5aa757e10520903675e3889caeedc4"
+ integrity sha512-9bNwiR0dS881c5SHnzCmmGlMkJLl0OUZvxrxHo9w/iNoRuqaPjqlvBf4HrovXtQs/au5yKkpcdgfT1cC5PAZwg==
+ dependencies:
+ "@babel/compat-data" "^7.13.11"
+ "@babel/helper-define-polyfill-provider" "^0.2.0"
+ semver "^6.1.1"
+
+babel-plugin-polyfill-corejs3@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.0.tgz#f4b4bb7b19329827df36ff56f6e6d367026cb7a2"
+ integrity sha512-zZyi7p3BCUyzNxLx8KV61zTINkkV65zVkDAFNZmrTCRVhjo1jAS+YLvDJ9Jgd/w2tsAviCwFHReYfxO3Iql8Yg==
+ dependencies:
+ "@babel/helper-define-polyfill-provider" "^0.2.0"
+ core-js-compat "^3.9.1"
+
+babel-plugin-polyfill-regenerator@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.0.tgz#853f5f5716f4691d98c84f8069c7636ea8da7ab8"
+ integrity sha512-J7vKbCuD2Xi/eEHxquHN14bXAW9CXtecwuLrOIDJtcZzTaPzV1VdEfoUf9AzcRBMolKUQKM9/GVojeh0hFiqMg==
+ dependencies:
+ "@babel/helper-define-polyfill-provider" "^0.2.0"
+
babel-plugin-syntax-jsx@^6.18.0:
version "6.18.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946"
@@ -2661,9 +2739,9 @@ babylon@^6.18.0:
integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==
balanced-match@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
- integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
+ integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
base16@^1.0.0:
version "1.0.0"
@@ -2711,9 +2789,9 @@ binary-extensions@^1.0.0:
integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==
binary-extensions@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9"
- integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==
+ 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"
@@ -2727,15 +2805,15 @@ bluebird@^3.5.5:
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
-bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0:
- version "4.11.9"
- resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828"
- integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==
+bn.js@^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.1.3"
- resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b"
- integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002"
+ integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==
body-parser@1.19.0:
version "1.19.0"
@@ -2814,7 +2892,7 @@ braces@~3.0.2:
dependencies:
fill-range "^7.0.1"
-brorand@^1.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 sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
@@ -2902,16 +2980,16 @@ browserslist@4.10.0:
node-releases "^1.1.52"
pkg-up "^3.1.0"
-browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.15.0, browserslist@^4.6.2, browserslist@^4.6.4, browserslist@^4.9.1:
- version "4.16.0"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.0.tgz#410277627500be3cb28a1bfe037586fbedf9488b"
- integrity sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ==
+browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.6, browserslist@^4.6.2, browserslist@^4.6.4, browserslist@^4.9.1:
+ version "4.16.6"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2"
+ integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==
dependencies:
- caniuse-lite "^1.0.30001165"
- colorette "^1.2.1"
- electron-to-chromium "^1.3.621"
+ caniuse-lite "^1.0.30001219"
+ colorette "^1.2.2"
+ electron-to-chromium "^1.3.723"
escalade "^3.1.1"
- node-releases "^1.1.67"
+ node-releases "^1.1.71"
bser@2.1.1:
version "2.1.1"
@@ -3024,13 +3102,13 @@ cache-base@^1.0.1:
union-value "^1.0.0"
unset-value "^1.0.0"
-call-bind@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.0.tgz#24127054bb3f9bdcb4b1fb82418186072f77b8ce"
- integrity sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==
+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.0"
+ get-intrinsic "^1.0.2"
call-me-maybe@^1.0.1:
version "1.0.1"
@@ -3097,10 +3175,10 @@ caniuse-api@^3.0.0:
lodash.memoize "^4.1.2"
lodash.uniq "^4.5.0"
-caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001165:
- version "1.0.30001165"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001165.tgz#32955490d2f60290bb186bb754f2981917fa744f"
- integrity sha512-8cEsSMwXfx7lWSUMA2s08z9dIgsnR5NAqjXP23stdsU3AUWkCr/rr4s4OFtHXn5XXr6+7kam3QFVoYyXNPdJPA==
+caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001219:
+ version "1.0.30001228"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001228.tgz#bfdc5942cd3326fa51ee0b42fbef4da9d492a7fa"
+ integrity sha512-QQmLOGJ3DEgokHbMSA8cj2a+geXqmnpyOFT0lhQV6P3/YOJvGDEwoedcwxEQ30gJIwIIunHIicunJ2rzK5gB2A==
capture-exit@^2.0.0:
version "2.0.0"
@@ -3149,9 +3227,9 @@ chalk@^1.1.3:
supports-color "^2.0.0"
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==
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad"
+ integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==
dependencies:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
@@ -3161,17 +3239,29 @@ chardet@^0.7.0:
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
-cheerio@^1.0.0-rc.3:
- version "1.0.0-rc.3"
- resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.3.tgz#094636d425b2e9c0f4eb91a46c05630c9a1a8bf6"
- integrity sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==
+cheerio-select@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-1.4.0.tgz#3a16f21e37a2ef0f211d6d1aa4eff054bb22cdc9"
+ integrity sha512-sobR3Yqz27L553Qa7cK6rtJlMDbiKPdNywtR95Sj/YgfpLfy0u6CGJuaBKe5YE/vTc23SCRKxWSdlon/w6I/Ew==
dependencies:
- css-select "~1.2.0"
- dom-serializer "~0.1.1"
- entities "~1.1.1"
- htmlparser2 "^3.9.1"
- lodash "^4.15.0"
- parse5 "^3.0.1"
+ css-select "^4.1.2"
+ css-what "^5.0.0"
+ domelementtype "^2.2.0"
+ domhandler "^4.2.0"
+ domutils "^2.6.0"
+
+cheerio@^1.0.0-rc.3:
+ version "1.0.0-rc.9"
+ resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.9.tgz#a3ae6b7ce7af80675302ff836f628e7cb786a67f"
+ integrity sha512-QF6XVdrLONO6DXRF5iaolY+odmhj2CLj+xzNod7INPWMi/x9X4SOylH0S/vaPpX+AUU6t04s34SQNh7DbkuCng==
+ dependencies:
+ cheerio-select "^1.4.0"
+ dom-serializer "^1.3.1"
+ domhandler "^4.2.0"
+ htmlparser2 "^6.1.0"
+ parse5 "^6.0.1"
+ parse5-htmlparser2-tree-adapter "^6.0.1"
+ tslib "^2.2.0"
chokidar@^2.1.8:
version "2.1.8"
@@ -3193,9 +3283,9 @@ chokidar@^2.1.8:
fsevents "^1.2.7"
chokidar@^3.3.0, chokidar@^3.4.1:
- version "3.4.3"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b"
- integrity sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==
+ version "3.5.1"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a"
+ integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==
dependencies:
anymatch "~3.1.1"
braces "~3.0.2"
@@ -3205,7 +3295,7 @@ chokidar@^3.3.0, chokidar@^3.4.1:
normalize-path "~3.0.0"
readdirp "~3.5.0"
optionalDependencies:
- fsevents "~2.1.2"
+ fsevents "~2.3.1"
chownr@^1.1.1, chownr@^1.1.2:
version "1.1.4"
@@ -3213,11 +3303,9 @@ chownr@^1.1.1, chownr@^1.1.2:
integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
chrome-trace-event@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4"
- integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==
- dependencies:
- tslib "^1.9.0"
+ 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"
@@ -3365,9 +3453,9 @@ color-name@^1.0.0, color-name@~1.1.4:
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
color-string@^1.5.4:
- version "1.5.4"
- resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.4.tgz#dd51cd25cfee953d138fe4002372cc3d0e504cb6"
- integrity sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==
+ version "1.5.5"
+ resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.5.tgz#65474a8f0e7439625f3d27a6a19d89fc45223014"
+ integrity sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==
dependencies:
color-name "^1.0.0"
simple-swizzle "^0.2.2"
@@ -3380,10 +3468,10 @@ color@^3.0.0:
color-convert "^1.9.1"
color-string "^1.5.4"
-colorette@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b"
- integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==
+colorette@^1.2.1, colorette@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94"
+ integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==
combined-stream@^1.0.6, combined-stream@~1.0.6:
version "1.0.8"
@@ -3497,6 +3585,14 @@ contains-path@^0.1.0:
resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a"
integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=
+contains-path@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-1.0.0.tgz#3458b332185603e8eed18f518d4a10888a3abc91"
+ integrity sha1-NFizMhhWA+ju0Y9RjUoQiIo6vJE=
+ dependencies:
+ normalize-path "^2.1.1"
+ path-starts-with "^1.0.0"
+
content-disposition@0.5.2:
version "0.5.2"
resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4"
@@ -3553,23 +3649,18 @@ copy-descriptor@^0.1.0:
resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
-core-js-compat@^3.6.2, core-js-compat@^3.8.0:
- version "3.8.1"
- resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.8.1.tgz#8d1ddd341d660ba6194cbe0ce60f4c794c87a36e"
- integrity sha512-a16TLmy9NVD1rkjUGbwuyWkiDoN0FDpAwrfLONvHFQx0D9k7J9y0srwMT8QP/Z6HE3MIFaVynEeYwZwPX1o5RQ==
+core-js-compat@^3.6.2, core-js-compat@^3.9.0, core-js-compat@^3.9.1:
+ version "3.12.1"
+ resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.12.1.tgz#2c302c4708505fa7072b0adb5156d26f7801a18b"
+ integrity sha512-i6h5qODpw6EsHAoIdQhKoZdWn+dGBF3dSS8m5tif36RlWvW3A6+yu2S16QHUo3CrkzrnEskMAt9f8FxmY9fhWQ==
dependencies:
- browserslist "^4.15.0"
+ browserslist "^4.16.6"
semver "7.0.0"
core-js-pure@^3.0.0:
- version "3.8.1"
- resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.8.1.tgz#23f84048f366fdfcf52d3fd1c68fec349177d119"
- integrity sha512-Se+LaxqXlVXGvmexKGPvnUIYC1jwXu1H6Pkyb3uBM5d8/NELMYCHs/4/roD7721NxrTLyv7e5nXd5/QLBO+10g==
-
-core-js@^1.0.0:
- version "1.2.7"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
- integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=
+ version "3.12.1"
+ resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.12.1.tgz#934da8b9b7221e2a2443dc71dfa5bd77a7ea00b8"
+ integrity sha512-1cch+qads4JnDSWsvc7d6nzlKAippwjUlf6vykkTLW53VSV+NkE6muGBToAjEA8pG90cSfcud3JgVmW2ds5TaQ==
core-js@^2.4.0, core-js@^2.5.0:
version "2.6.12"
@@ -3577,9 +3668,9 @@ core-js@^2.4.0, core-js@^2.5.0:
integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==
core-js@^3.1.3, core-js@^3.5.0:
- version "3.8.1"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.8.1.tgz#f51523668ac8a294d1285c3b9db44025fda66d47"
- integrity sha512-9Id2xHY1W7m8hCl8NkhQn5CufmF/WuR30BTRewvCXc1aZd3kMECwNZ69ndLbekKfakw9Rf2Xyc+QR6E7Gg+obg==
+ version "3.12.1"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.12.1.tgz#6b5af4ff55616c08a44d386f1f510917ff204112"
+ integrity sha512-Ne9DKPHTObRuB09Dru5AjwKjY4cJHVGu+y5f7coGn1E9Grkc3p2iBwE9AI/nJzsE29mQF7oq+mhYYRqOMFN1Bw==
core-util-is@1.0.2, core-util-is@~1.0.0:
version "1.0.2"
@@ -3668,6 +3759,13 @@ create-react-class@^15.5.2:
loose-envify "^1.3.1"
object-assign "^4.1.1"
+cross-fetch@^3.0.4:
+ version "3.1.4"
+ resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.4.tgz#9723f3a3a247bf8b89039f3a380a9244e8fa2f39"
+ integrity sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==
+ dependencies:
+ node-fetch "2.6.1"
+
cross-spawn@7.0.1:
version "7.0.1"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.1.tgz#0ab56286e0f7c24e153d04cc2aa027e43a9a5d14"
@@ -3772,17 +3870,7 @@ css-select-base-adapter@^0.1.1:
resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7"
integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==
-css-select@^1.1.0, css-select@~1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858"
- integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=
- dependencies:
- boolbase "~1.0.0"
- css-what "2.1"
- domutils "1.5.1"
- nth-check "~1.0.1"
-
-css-select@^2.0.0:
+css-select@^2.0.0, css-select@^2.0.2:
version "2.1.0"
resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef"
integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==
@@ -3792,6 +3880,17 @@ css-select@^2.0.0:
domutils "^1.7.0"
nth-check "^1.0.2"
+css-select@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.2.tgz#8b52b6714ed3a80d8221ec971c543f3b12653286"
+ integrity sha512-nu5ye2Hg/4ISq4XqdLY2bEatAcLIdt3OYGFc9Tm9n7VSlFBcfRv0gBNksHRgSdUDQGtN3XrZ94ztW+NfzkFSUw==
+ dependencies:
+ boolbase "^1.0.0"
+ css-what "^5.0.0"
+ domhandler "^4.2.0"
+ domutils "^2.6.0"
+ nth-check "^2.0.0"
+
css-tree@1.0.0-alpha.37:
version "1.0.0-alpha.37"
resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22"
@@ -3801,23 +3900,23 @@ css-tree@1.0.0-alpha.37:
source-map "^0.6.1"
css-tree@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.2.tgz#9ae393b5dafd7dae8a622475caec78d3d8fbd7b5"
- integrity sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d"
+ integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==
dependencies:
mdn-data "2.0.14"
source-map "^0.6.1"
-css-what@2.1:
- version "2.1.3"
- resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2"
- integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==
-
css-what@^3.2.1:
version "3.4.2"
resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4"
integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==
+css-what@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.0.0.tgz#f0bf4f8bac07582722346ab243f6a35b512cfc47"
+ integrity sha512-qxyKHQvgKwzwDWC/rGbT821eJalfupxYW2qbSJSAtdSTimsr/MlaGONoNLllaUPZWf8QnbcKM/kPVYUQuEKAFA==
+
css@^2.0.0, css@^2.2.3:
version "2.2.4"
resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929"
@@ -3843,10 +3942,10 @@ cssesc@^3.0.0:
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
-cssnano-preset-default@^4.0.7:
- version "4.0.7"
- resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76"
- integrity sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==
+cssnano-preset-default@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz#920622b1fc1e95a34e8838203f1397a504f2d3ff"
+ integrity sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==
dependencies:
css-declaration-sorter "^4.0.1"
cssnano-util-raw-cache "^4.0.1"
@@ -3876,7 +3975,7 @@ cssnano-preset-default@^4.0.7:
postcss-ordered-values "^4.1.2"
postcss-reduce-initial "^4.0.3"
postcss-reduce-transforms "^4.0.2"
- postcss-svgo "^4.0.2"
+ postcss-svgo "^4.0.3"
postcss-unique-selectors "^4.0.1"
cssnano-util-get-arguments@^4.0.0:
@@ -3902,12 +4001,12 @@ cssnano-util-same-parent@^4.0.0:
integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==
cssnano@^4.1.10:
- version "4.1.10"
- resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2"
- integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==
+ version "4.1.11"
+ resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.11.tgz#c7b5f5b81da269cb1fd982cb960c1200910c9a99"
+ integrity sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==
dependencies:
cosmiconfig "^5.0.0"
- cssnano-preset-default "^4.0.7"
+ cssnano-preset-default "^4.0.8"
is-resolvable "^1.0.0"
postcss "^7.0.0"
@@ -3938,9 +4037,14 @@ cssstyle@^1.0.0, cssstyle@^1.1.1:
cssom "0.3.x"
csstype@^2.5.2, csstype@^2.5.7:
- version "2.6.14"
- resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.14.tgz#004822a4050345b55ad4dcc00be1d9cf2f4296de"
- integrity sha512-2mSc+VEpGPblzAxyeR+vZhJKgYg0Og0nnRi7pmRXFYYxSfnOnW8A5wwQb4n4cE2nIOzqKOAzLCaEX6aBmNEv8A==
+ version "2.6.17"
+ resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.17.tgz#4cf30eb87e1d1a005d8b6510f95292413f6a1c0e"
+ integrity sha512-u1wmTI1jJGzCJzWndZo8mk4wnPTZd1eOIYTYvuEyOQGfmDl3TrabCCfKnOC86FZwW/9djqTl933UF/cS425i9A==
+
+csstype@^3.0.2:
+ version "3.0.8"
+ resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.8.tgz#d2266a792729fb227cd216fb572f43728e1ad340"
+ integrity sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==
cyclist@^1.0.1:
version "1.0.1"
@@ -3952,11 +4056,6 @@ d3-array@^1.2.0:
resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.4.tgz#635ce4d5eea759f6f605863dbcfc30edc737f71f"
integrity sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==
-d3-array@^2.4.0:
- version "2.9.1"
- resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-2.9.1.tgz#f355cc72b46c8649b3f9212029e2d681cb5b9643"
- integrity sha512-Ob7RdOtkqsjx1NWyQHMFLtCSk6/aKTxDdC4ZIolX+O+mDD2RzrsYgAyc0WGAlfYFVELLSilS7w8BtE3PKM8bHg==
-
d3-collection@1:
version "1.0.7"
resolved "https://registry.yarnpkg.com/d3-collection/-/d3-collection-1.0.7.tgz#349bd2aa9977db071091c13144d5e4f16b5b310e"
@@ -4026,11 +4125,6 @@ d3-timer@^1.0.0:
resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.10.tgz#dfe76b8a91748831b13b6d9c793ffbd508dd9de5"
integrity sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==
-d3-voronoi@^1.1.2:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/d3-voronoi/-/d3-voronoi-1.1.4.tgz#dd3c78d7653d2bb359284ae478645d95944c8297"
- integrity sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==
-
d@1, d@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a"
@@ -4040,9 +4134,9 @@ d@1, d@^1.0.1:
type "^1.0.1"
damerau-levenshtein@^1.0.4:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz#143c1641cb3d85c60c32329e26899adea8701791"
- integrity sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug==
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz#64368003512a1a6992593741a09a9d31a836f55d"
+ integrity sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw==
dashdash@^1.12.0:
version "1.14.1"
@@ -4067,7 +4161,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9:
dependencies:
ms "2.0.0"
-debug@^3.1.1, debug@^3.2.5:
+debug@^3.1.1, debug@^3.2.5, debug@^3.2.7:
version "3.2.7"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
@@ -4168,10 +4262,10 @@ delaunator@^4.0.0:
resolved "https://registry.yarnpkg.com/delaunator/-/delaunator-4.0.1.tgz#3d779687f57919a7a418f8ab947d3bddb6846957"
integrity sha512-WNPWi1IRKZfCt/qIDMfERkDp93+iZEmOxN2yy4Jg+Xhv8SLk2UTqqbe1sfiipn0and9QrE914/ihdx82Y/Giag==
-delaunay-find@0.0.5:
- version "0.0.5"
- resolved "https://registry.yarnpkg.com/delaunay-find/-/delaunay-find-0.0.5.tgz#5fb37e6509da934881b4b16c08898ac89862c097"
- integrity sha512-7yAJ/wmKWj3SgqjtkGqT/RCwI0HWAo5YnHMoF5nYXD8cdci+YSo23iPmgrZUNOpDxRWN91PqxUvMMr2lKpjr+w==
+delaunay-find@0.0.6:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/delaunay-find/-/delaunay-find-0.0.6.tgz#2ed017a79410013717fa7d9422e082c2502d4ae3"
+ integrity sha512-1+almjfrnR7ZamBk0q3Nhg6lqSe6Le4vL0WJDSMx4IDbQwTpUTXPjxC00lqLBT8MYsJpPCbI16sIkw9cPsbi7Q==
dependencies:
delaunator "^4.0.0"
@@ -4204,9 +4298,9 @@ detect-newline@^2.1.0:
integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=
detect-node@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c"
- integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1"
+ integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==
detect-port-alt@1.1.6:
version "1.1.6"
@@ -4300,28 +4394,29 @@ dom-serializer@0:
domelementtype "^2.0.1"
entities "^2.0.0"
-dom-serializer@~0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0"
- integrity sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==
+dom-serializer@^1.0.1, dom-serializer@^1.3.1:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91"
+ integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==
dependencies:
- domelementtype "^1.3.0"
- entities "^1.1.1"
+ domelementtype "^2.0.1"
+ domhandler "^4.2.0"
+ entities "^2.0.0"
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==
-domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1:
+domelementtype@1, domelementtype@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f"
integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==
-domelementtype@^2.0.1:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.1.0.tgz#a851c080a6d1c3d94344aed151d99f669edf585e"
- integrity sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==
+domelementtype@^2.0.1, domelementtype@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57"
+ integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==
domexception@^1.0.1:
version "1.0.1"
@@ -4337,13 +4432,12 @@ domhandler@^2.3.0:
dependencies:
domelementtype "1"
-domutils@1.5.1:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf"
- integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=
+domhandler@^4.0.0, domhandler@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.0.tgz#f9768a5f034be60a89a27c2e4d0f74eba0d8b059"
+ integrity sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==
dependencies:
- dom-serializer "0"
- domelementtype "1"
+ domelementtype "^2.2.0"
domutils@^1.5.1, domutils@^1.7.0:
version "1.7.0"
@@ -4353,6 +4447,15 @@ domutils@^1.5.1, domutils@^1.7.0:
dom-serializer "0"
domelementtype "1"
+domutils@^2.5.2, domutils@^2.6.0:
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.6.0.tgz#2e15c04185d43fb16ae7057cb76433c6edb938b7"
+ integrity sha512-y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA==
+ dependencies:
+ dom-serializer "^1.0.1"
+ domelementtype "^2.2.0"
+ domhandler "^4.2.0"
+
dot-case@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751"
@@ -4413,23 +4516,23 @@ ee-first@1.1.1:
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
-electron-to-chromium@^1.3.378, electron-to-chromium@^1.3.621:
- version "1.3.622"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.622.tgz#9726bd2e67a5462154750ce9701ca6af07d07877"
- integrity sha512-AJT0Fm1W0uZlMVVkkJrcCVvczDuF8tPm3bwzQf5WO8AaASB2hwTRP7B8pU5rqjireH+ib6am8+hH5/QkXzzYKw==
+electron-to-chromium@^1.3.378, electron-to-chromium@^1.3.723:
+ version "1.3.732"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.732.tgz#2a07a8d61f74f2084b6f6bf2a908605a7a0b2d8d"
+ integrity sha512-qKD5Pbq+QMk4nea4lMuncUMhpEiQwaJyCW7MrvissnRcBDENhVfDmAqQYRQ3X525oTzhar9Zh1cK0L2d1UKYcw==
elliptic@^6.5.3:
- version "6.5.3"
- resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6"
- integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==
+ 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.4.0"
- brorand "^1.0.1"
+ bn.js "^4.11.9"
+ brorand "^1.1.0"
hash.js "^1.0.0"
- hmac-drbg "^1.0.0"
- inherits "^2.0.1"
- minimalistic-assert "^1.0.0"
- minimalistic-crypto-utils "^1.0.0"
+ hmac-drbg "^1.0.1"
+ inherits "^2.0.4"
+ minimalistic-assert "^1.0.1"
+ minimalistic-crypto-utils "^1.0.1"
emoji-regex@^7.0.1, emoji-regex@^7.0.2:
version "7.0.3"
@@ -4471,13 +4574,6 @@ encodeurl@~1.0.2:
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
-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"
@@ -4486,40 +4582,40 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0:
once "^1.4.0"
enhanced-resolve@^4.1.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126"
- integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==
+ 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"
-entities@^1.1.1, entities@~1.1.1:
+entities@^1.1.1:
version "1.1.2"
resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56"
integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==
entities@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/entities/-/entities-2.1.0.tgz#992d3129cf7df6870b96c57858c249a120f8b8b5"
- integrity sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
+ integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
enzyme-adapter-react-16@^1.15.2:
- version "1.15.5"
- resolved "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.15.5.tgz#7a6f0093d3edd2f7025b36e7fbf290695473ee04"
- integrity sha512-33yUJGT1nHFQlbVI5qdo5Pfqvu/h4qPwi1o0a6ZZsjpiqq92a3HjynDhwd1IeED+Su60HDWV8mxJqkTnLYdGkw==
+ version "1.15.6"
+ resolved "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.15.6.tgz#fd677a658d62661ac5afd7f7f541f141f8085901"
+ integrity sha512-yFlVJCXh8T+mcQo8M6my9sPgeGzj85HSHi6Apgf1Cvq/7EL/J9+1JoJmJsRxZgyTvPMAqOEpRSu/Ii/ZpyOk0g==
dependencies:
- enzyme-adapter-utils "^1.13.1"
+ enzyme-adapter-utils "^1.14.0"
enzyme-shallow-equal "^1.0.4"
has "^1.0.3"
- object.assign "^4.1.0"
- object.values "^1.1.1"
+ object.assign "^4.1.2"
+ object.values "^1.1.2"
prop-types "^15.7.2"
react-is "^16.13.1"
react-test-renderer "^16.0.0-0"
semver "^5.7.0"
-enzyme-adapter-utils@^1.13.1:
+enzyme-adapter-utils@^1.14.0:
version "1.14.0"
resolved "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.14.0.tgz#afbb0485e8033aa50c744efb5f5711e64fbf1ad0"
integrity sha512-F/z/7SeLt+reKFcb7597IThpDp0bmzcH1E9Oabqv+o01cID2/YInlqHbFl7HzWBl4h3OdZYedtwNDOmSKkk0bg==
@@ -4569,9 +4665,9 @@ enzyme@^3.11.0:
string.prototype.trim "^1.2.1"
errno@^0.1.3, errno@~0.1.7:
- version "0.1.7"
- resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618"
- integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==
+ 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"
@@ -4582,40 +4678,32 @@ error-ex@^1.2.0, error-ex@^1.3.1:
dependencies:
is-arrayish "^0.2.1"
-es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.4:
- version "1.17.7"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.7.tgz#a4de61b2f66989fc7421676c1cb9787573ace54c"
- integrity sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==
+es-abstract@^1.17.2, es-abstract@^1.17.4, es-abstract@^1.18.0, es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2:
+ version "1.18.0"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0.tgz#ab80b359eecb7ede4c298000390bc5ac3ec7b5a4"
+ integrity sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==
dependencies:
+ call-bind "^1.0.2"
es-to-primitive "^1.2.1"
function-bind "^1.1.1"
+ get-intrinsic "^1.1.1"
has "^1.0.3"
- has-symbols "^1.0.1"
- is-callable "^1.2.2"
- is-regex "^1.1.1"
- object-inspect "^1.8.0"
+ has-symbols "^1.0.2"
+ is-callable "^1.2.3"
+ is-negative-zero "^2.0.1"
+ is-regex "^1.1.2"
+ is-string "^1.0.5"
+ object-inspect "^1.9.0"
object-keys "^1.1.1"
- object.assign "^4.1.1"
- string.prototype.trimend "^1.0.1"
- string.prototype.trimstart "^1.0.1"
+ object.assign "^4.1.2"
+ string.prototype.trimend "^1.0.4"
+ string.prototype.trimstart "^1.0.4"
+ unbox-primitive "^1.0.0"
-es-abstract@^1.18.0-next.0, es-abstract@^1.18.0-next.1:
- version "1.18.0-next.1"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.1.tgz#6e3a0a4bda717e5023ab3b8e90bec36108d22c68"
- integrity sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==
- dependencies:
- es-to-primitive "^1.2.1"
- function-bind "^1.1.1"
- has "^1.0.3"
- has-symbols "^1.0.1"
- is-callable "^1.2.2"
- is-negative-zero "^2.0.0"
- is-regex "^1.1.1"
- object-inspect "^1.8.0"
- object-keys "^1.1.1"
- object.assign "^4.1.1"
- string.prototype.trimend "^1.0.1"
- string.prototype.trimstart "^1.0.1"
+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"
@@ -4710,12 +4798,12 @@ eslint-loader@3.0.3:
object-hash "^2.0.1"
schema-utils "^2.6.1"
-eslint-module-utils@^2.4.1, eslint-module-utils@^2.6.0:
- version "2.6.0"
- resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6"
- integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==
+eslint-module-utils@^2.4.1, eslint-module-utils@^2.6.1:
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.1.tgz#b51be1e473dd0de1c5ea638e22429c2490ea8233"
+ integrity sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A==
dependencies:
- debug "^2.6.9"
+ debug "^3.2.7"
pkg-dir "^2.0.0"
eslint-plugin-flowtype@4.6.0:
@@ -4744,22 +4832,25 @@ eslint-plugin-import@2.20.1:
resolve "^1.12.0"
eslint-plugin-import@^2.20.2:
- version "2.22.1"
- resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz#0896c7e6a0cf44109a2d97b95903c2bb689d7702"
- integrity sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==
+ version "2.23.2"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.23.2.tgz#ee15dd68fc7a1a1ba4c653c734e0d01c100d3484"
+ integrity sha512-LmNoRptHBxOP+nb0PIKz1y6OSzCJlB+0g0IGS3XV4KaKk2q4szqQ6s6F1utVf5ZRkxk/QOTjdxe7v4VjS99Bsg==
dependencies:
- array-includes "^3.1.1"
- array.prototype.flat "^1.2.3"
- contains-path "^0.1.0"
+ array-includes "^3.1.3"
+ array.prototype.flat "^1.2.4"
+ contains-path "^1.0.0"
debug "^2.6.9"
- doctrine "1.5.0"
+ doctrine "^2.1.0"
eslint-import-resolver-node "^0.3.4"
- eslint-module-utils "^2.6.0"
+ eslint-module-utils "^2.6.1"
+ find-up "^2.0.0"
has "^1.0.3"
+ is-core-module "^2.4.0"
minimatch "^3.0.4"
- object.values "^1.1.1"
- read-pkg-up "^2.0.0"
- resolve "^1.17.0"
+ object.values "^1.1.3"
+ pkg-up "^2.0.0"
+ read-pkg-up "^3.0.0"
+ resolve "^1.20.0"
tsconfig-paths "^3.9.0"
eslint-plugin-jsx-a11y@6.2.3:
@@ -4801,21 +4892,22 @@ eslint-plugin-react@7.19.0:
xregexp "^4.3.0"
eslint-plugin-react@^7.19.0:
- version "7.21.5"
- resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.21.5.tgz#50b21a412b9574bfe05b21db176e8b7b3b15bff3"
- integrity sha512-8MaEggC2et0wSF6bUeywF7qQ46ER81irOdWS4QWxnnlAEsnzeBevk1sWh7fhpCghPpXb+8Ks7hvaft6L/xsR6g==
+ version "7.23.2"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.23.2.tgz#2d2291b0f95c03728b55869f01102290e792d494"
+ integrity sha512-AfjgFQB+nYszudkxRkTFu0UR1zEQig0ArVMPloKhxwlwkzaw/fBiH0QWcBBhZONlXqQC51+nfqFrkn4EzHcGBw==
dependencies:
- array-includes "^3.1.1"
- array.prototype.flatmap "^1.2.3"
+ array-includes "^3.1.3"
+ array.prototype.flatmap "^1.2.4"
doctrine "^2.1.0"
has "^1.0.3"
jsx-ast-utils "^2.4.1 || ^3.0.0"
- object.entries "^1.1.2"
- object.fromentries "^2.0.2"
- object.values "^1.1.1"
+ minimatch "^3.0.4"
+ object.entries "^1.1.3"
+ object.fromentries "^2.0.4"
+ object.values "^1.1.3"
prop-types "^15.7.2"
- resolve "^1.18.1"
- string.prototype.matchall "^4.0.2"
+ resolve "^2.0.0-next.3"
+ string.prototype.matchall "^4.0.4"
eslint-scope@^4.0.3:
version "4.0.3"
@@ -4910,9 +5002,9 @@ esprima@^4.0.0, esprima@^4.0.1:
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
esquery@^1.0.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57"
- integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==
+ 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"
@@ -4949,14 +5041,14 @@ eventemitter3@^4.0.0:
integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
events@^3.0.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379"
- integrity sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
+ integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
eventsource@^1.0.7:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0"
- integrity sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.1.0.tgz#00e8ca7c92109e94b0ddf32dac677d841028cfaf"
+ integrity sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==
dependencies:
original "^1.0.0"
@@ -4969,9 +5061,9 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
safe-buffer "^5.1.1"
exec-sh@^0.3.2:
- version "0.3.4"
- resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5"
- integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==
+ version "0.3.6"
+ resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc"
+ integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==
execa@^0.7.0:
version "0.7.0"
@@ -5198,20 +5290,25 @@ fb-watchman@^2.0.0:
dependencies:
bser "2.1.1"
-fbemitter@^2.0.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/fbemitter/-/fbemitter-2.1.1.tgz#523e14fdaf5248805bb02f62efc33be703f51865"
- integrity sha1-Uj4U/a9SSIBbsC9i78M75wP1GGU=
+fbemitter@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/fbemitter/-/fbemitter-3.0.0.tgz#00b2a1af5411254aab416cd75f9e6289bee4bff3"
+ integrity sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==
dependencies:
- fbjs "^0.8.4"
+ fbjs "^3.0.0"
-fbjs@^0.8.0, fbjs@^0.8.4:
- version "0.8.17"
- resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd"
- integrity sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=
+fbjs-css-vars@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8"
+ integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==
+
+fbjs@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-3.0.0.tgz#0907067fb3f57a78f45d95f1eacffcacd623c165"
+ integrity sha512-dJd4PiDOFuhe7vk4F80Mba83Vr2QuK86FoxtgPmzBqEJahncp+13YCmfoa53KHCo6OnlXLG7eeMWPfB5CrpVKg==
dependencies:
- core-js "^1.0.0"
- isomorphic-fetch "^2.1.1"
+ cross-fetch "^3.0.4"
+ fbjs-css-vars "^1.0.0"
loose-envify "^1.0.0"
object-assign "^4.1.0"
promise "^7.1.1"
@@ -5381,26 +5478,32 @@ flush-write-stream@^1.0.0:
inherits "^2.0.3"
readable-stream "^2.3.6"
-flux@^3.1.3:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/flux/-/flux-3.1.3.tgz#d23bed515a79a22d933ab53ab4ada19d05b2f08a"
- integrity sha1-0jvtUVp5oi2TOrU6tK2hnQWy8Io=
+flux@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/flux/-/flux-4.0.1.tgz#7843502b02841d4aaa534af0b373034a1f75ee5c"
+ integrity sha512-emk4RCvJ8RzNP2lNpphKnG7r18q8elDYNAPx7xn+bDeOIo9FFfxEfIQ2y6YbQNmnsGD3nH1noxtLE64Puz1bRQ==
dependencies:
- fbemitter "^2.0.0"
- fbjs "^0.8.0"
+ fbemitter "^3.0.0"
+ fbjs "^3.0.0"
-focus-trap@4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/focus-trap/-/focus-trap-4.0.2.tgz#4ee2b96547c9ea0e4252a2d4b2cca68944194663"
- integrity sha512-HtLjfAK7Hp2qbBtLS6wEznID1mPT+48ZnP2nkHzgjpL4kroYHg0CdqJ5cTXk+UO5znAxF5fRUkhdyfgrhh8Lzw==
+focus-trap@6.2.2:
+ version "6.2.2"
+ resolved "https://registry.yarnpkg.com/focus-trap/-/focus-trap-6.2.2.tgz#0e6f391415b0697c99da932702dedd13084fa131"
+ integrity sha512-qWovH9+LGoKqREvJaTCzJyO0hphQYGz+ap5Hc4NqXHNhZBdxCi5uBPPcaOUw66fHmzXLVwvETLvFgpwPILqKpg==
dependencies:
- tabbable "^3.1.2"
- xtend "^4.0.1"
+ tabbable "^5.1.4"
follow-redirects@^1.0.0:
- version "1.13.0"
- resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.0.tgz#b42e8d93a2a7eea5ed88633676d6597bc8e384db"
- integrity sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.1.tgz#d9114ded0a1cfdd334e164e6662ad02bfd91ff43"
+ integrity sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==
+
+for-each@^0.3.3:
+ version "0.3.3"
+ resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
+ integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==
+ dependencies:
+ is-callable "^1.1.3"
for-in@^0.1.3:
version "0.1.8"
@@ -5534,10 +5637,10 @@ fsevents@^1.2.7:
bindings "^1.5.0"
nan "^2.12.1"
-fsevents@~2.1.2:
- version "2.1.3"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e"
- integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==
+fsevents@~2.3.1:
+ 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"
@@ -5545,31 +5648,31 @@ function-bind@^1.1.1:
integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
function.prototype.name@^1.1.2, function.prototype.name@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.3.tgz#0bb034bb308e7682826f215eb6b2ae64918847fe"
- integrity sha512-H51qkbNSp8mtkJt+nyW1gyStBiKZxfRqySNUR99ylq6BPXHKI4SEvIlTKp4odLfjRKJV04DFWMU3G/YRlQOsag==
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.4.tgz#e4ea839b9d3672ae99d0efd9f38d9191c5eaac83"
+ integrity sha512-iqy1pIotY/RmhdFZygSSlW0wko2yxkSCKqsuv4pr8QESohpYyG/Z7B/XXvPRKTJS//960rgguE5mSRUsDdaJrQ==
dependencies:
- call-bind "^1.0.0"
+ call-bind "^1.0.2"
define-properties "^1.1.3"
- es-abstract "^1.18.0-next.1"
- functions-have-names "^1.2.1"
+ es-abstract "^1.18.0-next.2"
+ 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 sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
-functions-have-names@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.1.tgz#a981ac397fa0c9964551402cdc5533d7a4d52f91"
- integrity sha512-j48B/ZI7VKs3sgeI2cZp7WXWmZXu7Iq5pl5/vptV5N2mq+DGFuS/ulaDjtaoLpYzuD6u8UgrUKHfgo7fDTSiBA==
+functions-have-names@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.2.tgz#98d93991c39da9361f8e50b337c4f6e41f120e21"
+ integrity sha512-bLgc3asbWdwPbx2mNk2S49kmJCuQeu0nfmaOgbs8WIyzzkw3r4htszdIi9Q9EMezDPTYuJx2wvjZ/EwgAthpnA==
fuzzy@^0.1.0:
version "0.1.3"
resolved "https://registry.yarnpkg.com/fuzzy/-/fuzzy-0.1.3.tgz#4c76ec2ff0ac1a36a9dccf9a00df8623078d4ed8"
integrity sha1-THbsL/CsGjap3M+aAN+GIweNTtg=
-gensync@^1.0.0-beta.1:
+gensync@^1.0.0-beta.1, 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==
@@ -5579,10 +5682,10 @@ get-caller-file@^2.0.1:
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.0, get-intrinsic@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.0.1.tgz#94a9768fcbdd0595a1c9273aacf4c89d075631be"
- integrity sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==
+get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6"
+ integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==
dependencies:
function-bind "^1.1.1"
has "^1.0.3"
@@ -5626,9 +5729,9 @@ glob-parent@^3.1.0:
path-dirname "^1.0.0"
glob-parent@^5.0.0, glob-parent@~5.1.0:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229"
- integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==
+ 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"
@@ -5638,9 +5741,9 @@ glob-to-regexp@^0.3.0:
integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=
glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
- version "7.1.6"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
- integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
+ version "7.1.7"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
+ integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
@@ -5702,9 +5805,9 @@ globby@^6.1.0:
pinkie-promise "^2.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.2:
- version "4.2.4"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
- integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
+ version "4.2.6"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee"
+ integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==
growly@^1.3.0:
version "1.3.0"
@@ -5738,9 +5841,9 @@ har-validator@~5.1.3:
har-schema "^2.0.0"
harmony-reflect@^1.4.6:
- version "1.6.1"
- resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.1.tgz#c108d4f2bb451efef7a37861fdbdae72c9bdefa9"
- integrity sha512-WJTeyp0JzGtHcuMsi7rw2VwtkvLa+JyfEKJCFyfcS0+CDkjQ5lHPu7zEhFZP+PDSRrEgXa5Ah0l1MbgbE41XjA==
+ version "1.6.2"
+ resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710"
+ integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==
has-ansi@^2.0.0:
version "2.0.0"
@@ -5749,6 +5852,11 @@ has-ansi@^2.0.0:
dependencies:
ansi-regex "^2.0.0"
+has-bigints@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113"
+ integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==
+
has-flag@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
@@ -5759,10 +5867,10 @@ has-flag@^4.0.0:
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
-has-symbols@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8"
- integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==
+has-symbols@^1.0.1, has-symbols@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423"
+ integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==
has-value@^0.3.1:
version "0.3.1"
@@ -5841,7 +5949,14 @@ history@^4.9.0:
tiny-warning "^1.0.0"
value-equal "^1.0.1"
-hmac-drbg@^1.0.0:
+history@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/history/-/history-5.0.0.tgz#0cabbb6c4bbf835addb874f8259f6d25101efd08"
+ integrity sha512-3NyRMKIiFSJmIPdq7FxkNMJkQ7ZEtVblOQ38VtKaA0zZMW1Eo6Q6W8oDKEflr1kNNTItSnk4JMCO1deeSgbLLg==
+ dependencies:
+ "@babel/runtime" "^7.7.6"
+
+hmac-drbg@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=
@@ -5858,9 +5973,9 @@ hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0:
react-is "^16.7.0"
hosted-git-info@^2.1.4:
- version "2.8.8"
- resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488"
- integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==
+ 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==
hpack.js@^2.1.6:
version "2.1.6"
@@ -5882,17 +5997,13 @@ hsla-regex@^1.0.0:
resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38"
integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg=
-html-comment-regex@^1.1.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7"
- integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==
-
html-element-map@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/html-element-map/-/html-element-map-1.2.0.tgz#dfbb09efe882806af63d990cf6db37993f099f22"
- integrity sha512-0uXq8HsuG1v2TmQ8QkIhzbrqeskE4kn52Q18QJ9iAA/SnHoEKXWiUxHQtclRsCFWEUD2So34X+0+pZZu862nnw==
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/html-element-map/-/html-element-map-1.3.1.tgz#44b2cbcfa7be7aa4ff59779e47e51012e1c73c08"
+ integrity sha512-6XMlxrAFX4UEEGxctfFnmrFaaZFNf9i5fNuV5wZ3WWQ4FVaNP1aX1LkX9j2mfEx1NpjeE/rL3nmgEn23GdFmrg==
dependencies:
- array-filter "^1.0.0"
+ array.prototype.filter "^1.0.0"
+ call-bind "^1.0.2"
html-encoding-sniffer@^1.0.2:
version "1.0.2"
@@ -5902,9 +6013,9 @@ html-encoding-sniffer@^1.0.2:
whatwg-encoding "^1.0.1"
html-entities@^1.3.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44"
- integrity sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc"
+ integrity sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==
html-escaper@^2.0.0:
version "2.0.2"
@@ -5947,7 +6058,7 @@ html-webpack-plugin@4.0.0-beta.11:
tapable "^1.1.3"
util.promisify "1.0.0"
-htmlparser2@^3.3.0, htmlparser2@^3.9.1:
+htmlparser2@^3.10.1:
version "3.10.1"
resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f"
integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==
@@ -5959,6 +6070,16 @@ htmlparser2@^3.3.0, htmlparser2@^3.9.1:
inherits "^2.0.1"
readable-stream "^3.1.1"
+htmlparser2@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7"
+ integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==
+ dependencies:
+ domelementtype "^2.0.1"
+ domhandler "^4.0.0"
+ domutils "^2.5.2"
+ entities "^2.0.0"
+
http-deceiver@^1.2.7:
version "1.2.7"
resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87"
@@ -5997,9 +6118,9 @@ http-errors@~1.7.2:
toidentifier "1.0.0"
http-parser-js@>=0.5.1:
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.2.tgz#da2e31d237b393aae72ace43882dd7e270a8ff77"
- integrity sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ==
+ version "0.5.3"
+ resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.3.tgz#01d2709c79d41698bb01d4decc5e9da4e4a033d9"
+ integrity sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==
http-proxy-middleware@0.19.1:
version "0.19.1"
@@ -6041,13 +6162,6 @@ iconv-lite@0.4.24, iconv-lite@^0.4.24:
dependencies:
safer-buffer ">= 2.1.2 < 3"
-iconv-lite@^0.6.2:
- version "0.6.2"
- resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.2.tgz#ce13d1875b0c3a674bd6a04b7f76b01b1b6ded01"
- integrity sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==
- dependencies:
- safer-buffer ">= 2.1.2 < 3.0.0"
-
icss-utils@^4.0.0, icss-utils@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467"
@@ -6108,9 +6222,9 @@ import-fresh@^2.0.0:
resolve-from "^3.0.0"
import-fresh@^3.0.0, import-fresh@^3.1.0:
- version "3.2.2"
- resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.2.tgz#fc129c160c5d68235507f4331a6baad186bdbc3e"
- integrity sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==
+ 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"
@@ -6174,9 +6288,9 @@ inherits@2.0.3:
integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
ini@^1.3.5, ini@~1.3.0:
- version "1.3.7"
- resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84"
- integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==
+ version "1.3.8"
+ resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
+ integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
inquirer@7.0.4:
version "7.0.4"
@@ -6224,14 +6338,14 @@ internal-ip@^4.3.0:
default-gateway "^4.2.0"
ipaddr.js "^1.9.0"
-internal-slot@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.2.tgz#9c2e9fb3cd8e5e4256c6f45fe310067fcfa378a3"
- integrity sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g==
+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:
- es-abstract "^1.17.0-next.1"
+ get-intrinsic "^1.1.0"
has "^1.0.3"
- side-channel "^1.0.2"
+ side-channel "^1.0.4"
invariant@^2.2.2, invariant@^2.2.4:
version "2.2.4"
@@ -6296,6 +6410,11 @@ is-arrayish@^0.3.1:
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
+is-bigint@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.2.tgz#ffb381442503235ad245ea89e45b3dbff040ee5a"
+ integrity sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==
+
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"
@@ -6310,22 +6429,22 @@ is-binary-path@~2.1.0:
dependencies:
binary-extensions "^2.0.0"
-is-boolean-object@^1.0.1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.0.tgz#e2aaad3a3a8fca34c28f6eee135b156ed2587ff0"
- integrity sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==
+is-boolean-object@^1.0.1, is-boolean-object@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.1.tgz#3c0878f035cb821228d350d2e1e36719716a3de8"
+ integrity sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==
dependencies:
- call-bind "^1.0.0"
+ call-bind "^1.0.2"
is-buffer@^1.0.2, 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-callable@^1.1.4, is-callable@^1.1.5, is-callable@^1.2.2:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9"
- integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==
+is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.1.5, is-callable@^1.2.3:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e"
+ integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==
is-ci@^2.0.0:
version "2.0.0"
@@ -6346,10 +6465,10 @@ is-color-stop@^1.0.0:
rgb-regex "^1.0.1"
rgba-regex "^1.0.0"
-is-core-module@^2.1.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a"
- integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==
+is-core-module@^2.2.0, is-core-module@^2.4.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1"
+ integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==
dependencies:
has "^1.0.3"
@@ -6368,9 +6487,9 @@ is-data-descriptor@^1.0.0:
kind-of "^6.0.0"
is-date-object@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e"
- integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.4.tgz#550cfcc03afada05eea3dd30981c7b09551f73e5"
+ integrity sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==
is-descriptor@^0.1.0:
version "0.1.6"
@@ -6396,9 +6515,9 @@ is-directory@^0.3.1:
integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=
is-docker@^2.0.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156"
- integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==
+ 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"
@@ -6446,15 +6565,15 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
dependencies:
is-extglob "^2.1.1"
-is-negative-zero@^2.0.0:
+is-negative-zero@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24"
integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==
is-number-object@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197"
- integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.5.tgz#6edfaeed7950cff19afedce9fbfca9ee6dd289eb"
+ integrity sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==
is-number@^3.0.0:
version "3.0.0"
@@ -6509,12 +6628,13 @@ is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4:
dependencies:
isobject "^3.0.1"
-is-regex@^1.0.4, is-regex@^1.0.5, is-regex@^1.1.0, is-regex@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9"
- integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==
+is-regex@^1.0.4, is-regex@^1.0.5, is-regex@^1.1.0, is-regex@^1.1.2:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.3.tgz#d029f9aff6448b93ebbe3f33dac71511fdcbef9f"
+ integrity sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==
dependencies:
- has-symbols "^1.0.1"
+ call-bind "^1.0.2"
+ has-symbols "^1.0.2"
is-regexp@^1.0.0:
version "1.0.0"
@@ -6531,34 +6651,27 @@ is-root@2.1.0:
resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c"
integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==
-is-stream@^1.0.1, is-stream@^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 sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
is-string@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6"
- integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.6.tgz#3fe5d5992fb0d93404f32584d4b0179a71b54a5f"
+ integrity sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==
is-subset@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6"
integrity sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=
-is-svg@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75"
- integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==
- dependencies:
- html-comment-regex "^1.1.0"
-
-is-symbol@^1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937"
- integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==
+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.1"
+ has-symbols "^1.0.2"
is-typedarray@~1.0.0:
version "1.0.0"
@@ -6609,14 +6722,6 @@ isobject@^3.0.0, isobject@^3.0.1:
resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
-isomorphic-fetch@^2.1.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
- integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=
- dependencies:
- node-fetch "^1.0.1"
- whatwg-fetch ">=0.10.0"
-
isstream@~0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
@@ -7055,9 +7160,9 @@ jest@24.9.0:
jest-cli "^24.9.0"
jquery@>=1.9.1:
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.5.1.tgz#d7b4d08e1bfdb86ad2f1a3d039ea17304717abb5"
- integrity sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.0.tgz#c72a09f15c1bdce142f49dbf1170bdf8adac2470"
+ integrity sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==
js-levenshtein@^1.1.6:
version "1.1.6"
@@ -7211,9 +7316,9 @@ json5@^1.0.1:
minimist "^1.2.0"
json5@^2.1.2:
- version "2.1.3"
- resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43"
- integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3"
+ integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==
dependencies:
minimist "^1.2.5"
@@ -7240,9 +7345,9 @@ jsprim@^1.2.2:
verror "1.10.0"
jstree@^3.3.3:
- version "3.3.10"
- resolved "https://registry.yarnpkg.com/jstree/-/jstree-3.3.10.tgz#28d5b464a6bd4b5a93ccc2e978d005845596a408"
- integrity sha512-TDhwTy24ZKCVei0gLRxnH5PQuX77nqlG7bhQh+UDTeOxC2xdhDrS1x7YtbjLVlSxmH7USnA/WIeVOGN/m3D0QA==
+ version "3.3.11"
+ resolved "https://registry.yarnpkg.com/jstree/-/jstree-3.3.11.tgz#da2f12bcab6af61839586c81db46e8f2e19160aa"
+ integrity sha512-9ZJKroPjCyjb6JLPuAbBrLJKT6pS1f4m5gkwoEagG5oQWtvzm0IiDsntXTxeFtz7AmqrKfij+gLfF9MgWriNxg==
dependencies:
jquery ">=1.9.1"
@@ -7255,12 +7360,12 @@ jsx-ast-utils@^2.2.1, jsx-ast-utils@^2.2.3:
object.assign "^4.1.0"
"jsx-ast-utils@^2.4.1 || ^3.0.0":
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.1.0.tgz#642f1d7b88aa6d7eb9d8f2210e166478444fa891"
- integrity sha512-d4/UOjg+mxAWxCiF0c5UTSwyqbchkbqCvK87aBovhnh8GtysTjWmgC63tY0cJx/HzGgm9qnA147jVBdpOiQ2RA==
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz#41108d2cec408c3453c1bbe8a4aae9e1e2bd8f82"
+ integrity sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==
dependencies:
- array-includes "^3.1.1"
- object.assign "^4.1.1"
+ array-includes "^3.1.2"
+ object.assign "^4.1.2"
killable@^1.0.1:
version "1.0.1"
@@ -7451,6 +7556,11 @@ lodash.curry@^4.0.1:
resolved "https://registry.yarnpkg.com/lodash.curry/-/lodash.curry-4.1.1.tgz#248e36072ede906501d75966200a86dab8b23170"
integrity sha1-JI42By7ekGUB11lmIAqG2riyMXA=
+lodash.debounce@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
+ integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168=
+
lodash.escape@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-4.0.1.tgz#c9044690c21e04294beaa517712fded1fa88de98"
@@ -7481,7 +7591,7 @@ lodash.sortby@^4.7.0:
resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=
-lodash.template@^4.4.0, lodash.template@^4.5.0:
+lodash.template@^4.4.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab"
integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==
@@ -7501,10 +7611,10 @@ lodash.uniq@^4.5.0:
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
-"lodash@>=3.5 <5", lodash@^4.15.0, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.5:
- version "4.17.20"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
- integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
+"lodash@>=3.5 <5", lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.5:
+ version "4.17.21"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
+ integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
loglevel@^1.6.8:
version "1.7.1"
@@ -7632,9 +7742,9 @@ memory-fs@^0.5.0:
readable-stream "^2.0.1"
merge-deep@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/merge-deep/-/merge-deep-3.0.2.tgz#f39fa100a4f1bd34ff29f7d2bf4508fbb8d83ad2"
- integrity sha512-T7qC8kg4Zoti1cFd8Cr0M+qaZfOwjlPDEdZIIPPB2JZctjaPM4fX+i7HOId69tAti2fvO6X5ldfYUONDODsrkA==
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/merge-deep/-/merge-deep-3.0.3.tgz#1a2b2ae926da8b2ae93a0ac15d90cd1922766003"
+ integrity sha512-qtmzAS6t6grwEkNrunqTBdn0qKwFgNWvlxUbAV8es9M7Ot1EbyApytCnvE0jALPa46ZpKDUo527kKiaWplmlFA==
dependencies:
arr-union "^3.1.0"
clone-deep "^0.2.4"
@@ -7692,15 +7802,10 @@ miller-rabin@^4.0.0:
bn.js "^4.0.0"
brorand "^1.0.1"
-mime-db@1.44.0:
- version "1.44.0"
- resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
- integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==
-
-"mime-db@>= 1.43.0 < 2":
- version "1.45.0"
- resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea"
- integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==
+mime-db@1.47.0, "mime-db@>= 1.43.0 < 2":
+ version "1.47.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c"
+ integrity sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==
mime-db@~1.33.0:
version "1.33.0"
@@ -7715,11 +7820,11 @@ mime-types@2.1.18:
mime-db "~1.33.0"
mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24:
- version "2.1.27"
- resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
- integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==
+ version "2.1.30"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.30.tgz#6e7be8b4c479825f85ed6326695db73f9305d62d"
+ integrity sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==
dependencies:
- mime-db "1.44.0"
+ mime-db "1.47.0"
mime@1.6.0:
version "1.6.0"
@@ -7727,9 +7832,9 @@ mime@1.6.0:
integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
mime@^2.4.4:
- version "2.4.6"
- resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1"
- integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==
+ version "2.5.2"
+ resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe"
+ integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==
mimic-fn@^2.1.0:
version "2.1.0"
@@ -7759,7 +7864,7 @@ minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
-minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
+minimalistic-crypto-utils@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
@@ -7983,13 +8088,10 @@ no-case@^3.0.4:
lower-case "^2.0.2"
tslib "^2.0.3"
-node-fetch@^1.0.1:
- version "1.7.3"
- resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef"
- integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==
- dependencies:
- encoding "^0.1.11"
- is-stream "^1.0.1"
+node-fetch@2.6.1:
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
+ integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
node-forge@^0.10.0:
version "0.10.0"
@@ -8036,9 +8138,9 @@ node-modules-regexp@^1.0.0:
integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=
node-notifier@^5.4.2:
- version "5.4.3"
- resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50"
- integrity sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==
+ version "5.4.5"
+ resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.5.tgz#0cbc1a2b0f658493b4025775a13ad938e96091ef"
+ integrity sha512-tVbHs7DyTLtzOiN78izLA85zRqB9NvEXkAf014Vx3jtSvn/xBl6bR8ZYifj+dFcFrKI21huSQgJZ6ZtL3B4HfQ==
dependencies:
growly "^1.3.0"
is-wsl "^1.1.0"
@@ -8046,10 +8148,10 @@ node-notifier@^5.4.2:
shellwords "^0.1.1"
which "^1.3.0"
-node-releases@^1.1.52, node-releases@^1.1.67:
- version "1.1.67"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.67.tgz#28ebfcccd0baa6aad8e8d4d8fe4cbc49ae239c12"
- integrity sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==
+node-releases@^1.1.52, node-releases@^1.1.71:
+ version "1.1.72"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.72.tgz#14802ab6b1039a79a0c7d662b610a5bbd76eacbe"
+ integrity sha512-LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw==
nopt@~1.0.10:
version "1.0.10"
@@ -8107,13 +8209,20 @@ npm-run-path@^2.0.0:
dependencies:
path-key "^2.0.0"
-nth-check@^1.0.2, nth-check@~1.0.1:
+nth-check@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c"
integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==
dependencies:
boolbase "~1.0.0"
+nth-check@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.0.tgz#1bb4f6dac70072fc313e8c9cd1417b5074c0a125"
+ integrity sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==
+ dependencies:
+ boolbase "^1.0.0"
+
num2fraction@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"
@@ -8149,21 +8258,21 @@ object-copy@^0.1.0:
kind-of "^3.0.3"
object-hash@^2.0.1:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.0.3.tgz#d12db044e03cd2ca3d77c0570d87225b02e1e6ea"
- integrity sha512-JPKn0GMu+Fa3zt3Bmr66JhokJU5BaNBIh4ZeTlaCBzrBsOeXzwcKKAK1tbLiPKgvwmPXsDvvLHoWh5Bm7ofIYg==
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.1.1.tgz#9447d0279b4fcf80cff3259bf66a1dc73afabe09"
+ integrity sha512-VOJmgmS+7wvXf8CjbQmimtCnEx3IAoLxI3fp2fbWehxrWBcAQFbk+vcwb6vzR0VZv/eNCJ/27j151ZTwqW/JeQ==
-object-inspect@^1.7.0, object-inspect@^1.8.0:
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a"
- integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==
+object-inspect@^1.7.0, object-inspect@^1.9.0:
+ version "1.10.3"
+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.3.tgz#c2aa7d2d09f50c99375704f7a0adf24c5782d369"
+ integrity sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==
object-is@^1.0.1, object-is@^1.0.2, object-is@^1.1.2:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.4.tgz#63d6c83c00a43f4cbc9434eb9757c8a5b8565068"
- integrity sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac"
+ integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==
dependencies:
- call-bind "^1.0.0"
+ call-bind "^1.0.2"
define-properties "^1.1.3"
object-keys@^1.0.12, object-keys@^1.1.1:
@@ -8183,7 +8292,7 @@ object-visit@^1.0.0:
dependencies:
isobject "^3.0.0"
-object.assign@^4.1.0, object.assign@^4.1.1, object.assign@^4.1.2:
+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==
@@ -8193,7 +8302,7 @@ object.assign@^4.1.0, object.assign@^4.1.1, object.assign@^4.1.2:
has-symbols "^1.0.1"
object-keys "^1.1.1"
-object.entries@^1.1.0, object.entries@^1.1.1, object.entries@^1.1.2:
+object.entries@^1.1.0, object.entries@^1.1.1, object.entries@^1.1.2, object.entries@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.3.tgz#c601c7f168b62374541a07ddbd3e2d5e4f7711a6"
integrity sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg==
@@ -8203,24 +8312,24 @@ object.entries@^1.1.0, object.entries@^1.1.1, object.entries@^1.1.2:
es-abstract "^1.18.0-next.1"
has "^1.0.3"
-object.fromentries@^2.0.2, object.fromentries@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.3.tgz#13cefcffa702dc67750314a3305e8cb3fad1d072"
- integrity sha512-IDUSMXs6LOSJBWE++L0lzIbSqHl9KDCfff2x/JSEIDtEUavUnyMYC2ZGay/04Zq4UT8lvd4xNhU4/YHKibAOlw==
+object.fromentries@^2.0.2, object.fromentries@^2.0.3, object.fromentries@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.4.tgz#26e1ba5c4571c5c6f0890cef4473066456a120b8"
+ integrity sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ==
dependencies:
- call-bind "^1.0.0"
+ call-bind "^1.0.2"
define-properties "^1.1.3"
- es-abstract "^1.18.0-next.1"
+ es-abstract "^1.18.0-next.2"
has "^1.0.3"
-object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz#0dfda8d108074d9c563e80490c883b6661091544"
- integrity sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==
+object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0, object.getownpropertydescriptors@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz#1bd63aeacf0d5d2d2f31b5e393b03a7c601a23f7"
+ integrity sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==
dependencies:
- call-bind "^1.0.0"
+ call-bind "^1.0.2"
define-properties "^1.1.3"
- es-abstract "^1.18.0-next.1"
+ es-abstract "^1.18.0-next.2"
object.pick@^1.3.0:
version "1.3.0"
@@ -8229,14 +8338,14 @@ object.pick@^1.3.0:
dependencies:
isobject "^3.0.1"
-object.values@^1.1.0, object.values@^1.1.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.2.tgz#7a2015e06fcb0f546bd652486ce8583a4731c731"
- integrity sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==
+object.values@^1.1.0, object.values@^1.1.1, object.values@^1.1.2, object.values@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.3.tgz#eaa8b1e17589f02f698db093f7c62ee1699742ee"
+ integrity sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw==
dependencies:
- call-bind "^1.0.0"
+ call-bind "^1.0.2"
define-properties "^1.1.3"
- es-abstract "^1.18.0-next.1"
+ es-abstract "^1.18.0-next.2"
has "^1.0.3"
obuf@^1.0.0, obuf@^1.1.2:
@@ -8271,9 +8380,9 @@ onetime@^5.1.0:
mimic-fn "^2.1.0"
open@^7.0.2:
- version "7.3.0"
- resolved "https://registry.yarnpkg.com/open/-/open-7.3.0.tgz#45461fdee46444f3645b6e14eb3ca94b82e1be69"
- integrity sha512-mgLwQIx2F/ye9SmbrUkurZCnkoXyXyu9EbHtJZrICjVAJfyMArdHp3KkixGdZx1ZHFPNIwl0DDM1dFFqXbTLZw==
+ version "7.4.2"
+ resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321"
+ integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==
dependencies:
is-docker "^2.0.0"
is-wsl "^2.1.1"
@@ -8459,15 +8568,22 @@ parse-json@^4.0.0:
json-parse-better-errors "^1.0.1"
parse-json@^5.0.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646"
- integrity sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==
+ 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"
+parse5-htmlparser2-tree-adapter@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6"
+ integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==
+ dependencies:
+ parse5 "^6.0.1"
+
parse5@4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608"
@@ -8478,12 +8594,10 @@ parse5@5.1.0:
resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2"
integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==
-parse5@^3.0.1:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz#042f792ffdd36851551cf4e9e066b3874ab45b5c"
- integrity sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==
- dependencies:
- "@types/node" "*"
+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.2, parseurl@~1.3.3:
version "1.3.3"
@@ -8555,6 +8669,13 @@ path-parse@^1.0.6:
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
+path-starts-with@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/path-starts-with/-/path-starts-with-1.0.0.tgz#b28243015e8b138de572682ac52da42e646ad84e"
+ integrity sha1-soJDAV6LE43lcmgqxS2kLmRq2E4=
+ dependencies:
+ normalize-path "^2.1.1"
+
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"
@@ -8592,9 +8713,9 @@ path-type@^4.0.0:
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
pbkdf2@^3.0.3:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94"
- integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==
+ 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"
@@ -8608,9 +8729,9 @@ performance-now@^2.1.0:
integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
picomatch@^2.0.4, picomatch@^2.2.1:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
- integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.3.tgz#465547f359ccc206d3c48e46a1bcb89bf7ee619d"
+ integrity sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==
pify@^2.0.0:
version "2.3.0"
@@ -8681,6 +8802,13 @@ pkg-up@3.1.0, pkg-up@^3.1.0:
dependencies:
find-up "^3.0.0"
+pkg-up@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f"
+ integrity sha1-yBmscoBZpGHKscOImivjxJoATX8=
+ dependencies:
+ find-up "^2.1.0"
+
pn@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb"
@@ -8916,11 +9044,10 @@ postcss-image-set-function@^3.0.1:
postcss-values-parser "^2.0.0"
postcss-initial@^3.0.0:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.2.tgz#f018563694b3c16ae8eaabe3c585ac6319637b2d"
- integrity sha512-ugA2wKonC0xeNHgirR4D3VWHs2JcU08WAi1KFLVcnb7IN89phID6Qtg2RIctWbnvp1TM2BOmDtX8GGLCKdR8YA==
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.4.tgz#9d32069a10531fe2ecafa0b6ac750ee0bc7efc53"
+ integrity sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg==
dependencies:
- lodash.template "^4.5.0"
postcss "^7.0.2"
postcss-lab-function@^2.0.1:
@@ -9283,9 +9410,9 @@ postcss-selector-matches@^4.0.0:
postcss "^7.0.2"
postcss-selector-not@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.0.tgz#c68ff7ba96527499e832724a2674d65603b645c0"
- integrity sha512-W+bkBZRhqJaYN8XAnbbZPLWMvZD1wKTu0UxtFKdhtGjWYmxhkUneoeOhRJKdAE5V7ZTlnbHfCR+6bNwK9e1dTQ==
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz#263016eef1cf219e0ade9a913780fc1f48204cbf"
+ integrity sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ==
dependencies:
balanced-match "^1.0.0"
postcss "^7.0.2"
@@ -9309,21 +9436,18 @@ postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4:
uniq "^1.0.1"
postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2:
- version "6.0.4"
- resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3"
- integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==
+ version "6.0.6"
+ resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea"
+ integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==
dependencies:
cssesc "^3.0.0"
- indexes-of "^1.0.1"
- uniq "^1.0.1"
util-deprecate "^1.0.2"
-postcss-svgo@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258"
- integrity sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==
+postcss-svgo@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.3.tgz#343a2cdbac9505d416243d496f724f38894c941e"
+ integrity sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==
dependencies:
- is-svg "^3.0.0"
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
svgo "^1.0.0"
@@ -9385,9 +9509,9 @@ prepend-http@^1.0.0:
integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=
pretty-bytes@^5.1.0:
- version "5.4.1"
- resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.4.1.tgz#cd89f79bbcef21e3d21eb0da68ffe93f803e884b"
- integrity sha512-s1Iam6Gwz3JI5Hweaz4GoCD1WUNUIyzePFy5+Js2hjwGVt2Z79wNN+ZKOZ2vB6C+Xs6njyB84Z1IthQg8d9LxA==
+ version "5.6.0"
+ resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb"
+ integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==
pretty-error@^2.1.1:
version "2.1.2"
@@ -9442,9 +9566,9 @@ promise@^8.0.3:
asap "~2.0.6"
prompts@^2.0.1:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7"
- integrity sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.1.tgz#befd3b1195ba052f9fd2fde8a486c4e82ee77f61"
+ integrity sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==
dependencies:
kleur "^3.0.3"
sisteransi "^1.0.5"
@@ -9736,15 +9860,33 @@ react-dropzone@9.0.0:
prop-types-extra "^1.1.0"
react-error-overlay@^6.0.7:
- version "6.0.8"
- resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.8.tgz#474ed11d04fc6bda3af643447d85e9127ed6b5de"
- integrity sha512-HvPuUQnLp5H7TouGq3kzBeioJmXms1wHy9EGjz2OURWBp4qZO6AfGEcnxts1D/CbwPLRAgTMPCEgYhA3sEM4vw==
+ version "6.0.9"
+ resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.9.tgz#3c743010c9359608c375ecd6bc76f35d93995b0a"
+ integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==
+
+react-facebook-login@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/react-facebook-login/-/react-facebook-login-4.1.1.tgz#005121236a6ac0dee02099976fb1a3265f9d633e"
+ integrity sha512-COnHEHlYGTKipz4963safFAK9PaNTcCiXfPXMS/yxo8El+/AJL5ye8kMJf23lKSSGGPgqFQuInskIHVqGqTvSw==
react-fast-compare@^2.0.0:
version "2.0.4"
resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9"
integrity sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==
+react-github-login@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/react-github-login/-/react-github-login-1.0.3.tgz#e3fdc29c1162ecc0704d9fe6096c69d6f53315e7"
+ integrity sha1-4/3CnBFi7MBwTZ/mCWxp1vUzFec=
+
+react-google-login@^5.2.2:
+ version "5.2.2"
+ resolved "https://registry.yarnpkg.com/react-google-login/-/react-google-login-5.2.2.tgz#a20b46440c6c1610175ef75baf427118ff0e9859"
+ integrity sha512-JUngfvaSMcOuV0lFff7+SzJ2qviuNMQdqlsDJkUM145xkGPVIfqWXq9Ui+2Dr6jdJWH5KYdynz9+4CzKjI5u6g==
+ dependencies:
+ "@types/react" "*"
+ prop-types "^15.6.0"
+
react-heatmap-grid@^0.8.1:
version "0.8.2"
resolved "https://registry.yarnpkg.com/react-heatmap-grid/-/react-heatmap-grid-0.8.2.tgz#4548fea78b980cb005f64f9b3919aeff8f992a26"
@@ -9756,14 +9898,14 @@ react-is@^16.13.1, react-is@^16.3.2, react-is@^16.6.0, react-is@^16.7.0, react-i
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
react-json-view@^1.19.1:
- version "1.19.1"
- resolved "https://registry.yarnpkg.com/react-json-view/-/react-json-view-1.19.1.tgz#95d8e59e024f08a25e5dc8f076ae304eed97cf5c"
- integrity sha512-u5e0XDLIs9Rj43vWkKvwL8G3JzvXSl6etuS5G42a8klMohZuYFQzSN6ri+/GiBptDqlrXPTdExJVU7x9rrlXhg==
+ version "1.21.3"
+ resolved "https://registry.yarnpkg.com/react-json-view/-/react-json-view-1.21.3.tgz#f184209ee8f1bf374fb0c41b0813cff54549c475"
+ integrity sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==
dependencies:
- flux "^3.1.3"
+ flux "^4.0.1"
react-base16-styling "^0.6.0"
react-lifecycles-compat "^3.0.4"
- react-textarea-autosize "^6.1.0"
+ react-textarea-autosize "^8.3.2"
react-lifecycles-compat@^3.0.4:
version "3.0.4"
@@ -9874,6 +10016,11 @@ react-simple-jstree@^0.2.2:
dependencies:
jstree "^3.3.3"
+react-simple-oauth2-login@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/react-simple-oauth2-login/-/react-simple-oauth2-login-0.2.0.tgz#d09bc3e086978f49c3c7013cbe42590230aa2f0f"
+ integrity sha512-rVQJN/ngEpHK9uQl6S7ymtm0o39c7t/kUxjJg6Yy1uL7A9At0YqjhAw1mDVj2ht9EkVGE8QgzYbXZElRC2OeFQ==
+
react-test-renderer@^16.0.0-0, react-test-renderer@^16.13.1:
version "16.14.0"
resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.14.0.tgz#e98360087348e260c56d4fe2315e970480c228ae"
@@ -9884,12 +10031,14 @@ react-test-renderer@^16.0.0-0, react-test-renderer@^16.13.1:
react-is "^16.8.6"
scheduler "^0.19.1"
-react-textarea-autosize@^6.1.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-6.1.0.tgz#df91387f8a8f22020b77e3833c09829d706a09a5"
- integrity sha512-F6bI1dgib6fSvG8so1HuArPUv+iVEfPliuLWusLF+gAKz0FbB4jLrWUrTAeq1afnPT2c9toEZYUdz/y1uKMy4A==
+react-textarea-autosize@^8.3.2:
+ version "8.3.2"
+ resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-8.3.2.tgz#4f9374d357b0a6f6469956726722549124a1b2db"
+ integrity sha512-JrMWVgQSaExQByP3ggI1eA8zF4mF0+ddVuX7acUeK2V7bmrpjVOY72vmLz2IXFJSAXoY3D80nEzrn0GWajWK3Q==
dependencies:
- prop-types "^15.6.0"
+ "@babel/runtime" "^7.10.2"
+ use-composed-ref "^1.0.0"
+ use-latest "^1.0.0"
react-typeahead@^2.0.0-alpha.8:
version "2.0.0-alpha.8"
@@ -9918,6 +10067,14 @@ read-pkg-up@^2.0.0:
find-up "^2.0.0"
read-pkg "^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 sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=
+ dependencies:
+ find-up "^2.0.0"
+ read-pkg "^3.0.0"
+
read-pkg-up@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978"
@@ -10053,13 +10210,13 @@ regex-parser@^2.2.11:
resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.11.tgz#3b37ec9049e19479806e878cabe7c1ca83ccfe58"
integrity sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==
-regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75"
- integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==
+regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26"
+ integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==
dependencies:
+ call-bind "^1.0.2"
define-properties "^1.1.3"
- es-abstract "^1.17.0-next.1"
regexpp@^2.0.1:
version "2.0.1"
@@ -10104,9 +10261,9 @@ regjsgen@^0.5.1:
integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==
regjsparser@^0.6.4:
- version "0.6.4"
- resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272"
- integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==
+ version "0.6.9"
+ resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.9.tgz#b489eef7c9a2ce43727627011429cf833a7183e6"
+ integrity sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==
dependencies:
jsesc "~0.5.0"
@@ -10121,20 +10278,20 @@ remove-trailing-separator@^1.0.1:
integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8=
renderkid@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.4.tgz#d325e532afb28d3f8796ffee306be8ffd6fc864c"
- integrity sha512-K2eXrSOJdq+HuKzlcjOlGoOarUu5SDguDEhE7+Ah4zuOWL40j8A/oHvLlLob9PSTNvVnBd+/q0Er1QfpEuem5g==
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.5.tgz#483b1ac59c6601ab30a7a596a5965cabccfdd0a5"
+ integrity sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ==
dependencies:
- css-select "^1.1.0"
+ css-select "^2.0.2"
dom-converter "^0.2"
- htmlparser2 "^3.3.0"
+ htmlparser2 "^3.10.1"
lodash "^4.17.20"
strip-ansi "^3.0.0"
repeat-element@^1.1.2:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce"
- integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==
+ 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"
@@ -10253,12 +10410,20 @@ resolve@1.15.0:
dependencies:
path-parse "^1.0.6"
-resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.15.1, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.3.2, resolve@^1.8.1:
- version "1.19.0"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c"
- integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==
+resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.15.1, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.8.1:
+ version "1.20.0"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
+ integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
+ dependencies:
+ is-core-module "^2.2.0"
+ path-parse "^1.0.6"
+
+resolve@^2.0.0-next.3:
+ version "2.0.0-next.3"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46"
+ integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==
dependencies:
- is-core-module "^2.1.0"
+ is-core-module "^2.2.0"
path-parse "^1.0.6"
restful.js@^0.9.6:
@@ -10360,9 +10525,9 @@ run-queue@^1.0.0, run-queue@^1.0.3:
aproba "^1.1.1"
rxjs@^6.5.3, rxjs@^6.6.0:
- version "6.6.3"
- resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552"
- integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==
+ 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"
@@ -10383,7 +10548,7 @@ 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.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==
@@ -10463,9 +10628,9 @@ select-hose@^2.0.0:
integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=
selfsigned@^1.10.7:
- version "1.10.8"
- resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.8.tgz#0d17208b7d12c33f8eac85c41835f27fc3d81a30"
- integrity sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==
+ version "1.10.11"
+ resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.11.tgz#24929cd906fe0f44b6d01fb23999a739537acbe9"
+ integrity sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==
dependencies:
node-forge "^0.10.0"
@@ -10474,7 +10639,7 @@ selfsigned@^1.10.7:
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
-semver@6.3.0, semver@^6.0.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0:
+semver@6.3.0, semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, 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==
@@ -10485,9 +10650,9 @@ semver@7.0.0:
integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
semver@^7.3.2:
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97"
- integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==
+ version "7.3.5"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
+ integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
dependencies:
lru-cache "^6.0.0"
@@ -10658,13 +10823,14 @@ shellwords@^0.1.1:
resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b"
integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==
-side-channel@^1.0.2, side-channel@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.3.tgz#cdc46b057550bbab63706210838df5d4c19519c3"
- integrity sha512-A6+ByhlLkksFoUepsGxfj5x1gTSrs+OydsRptUxeNCabQpCFUvcwIczgOigI8vhY/OJCnPnyE9rGiwgvr9cS1g==
+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:
- es-abstract "^1.18.0-next.0"
- object-inspect "^1.8.0"
+ 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.3"
@@ -10790,9 +10956,9 @@ source-map-support@^0.5.6, source-map-support@~0.5.12:
source-map "^0.6.0"
source-map-url@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
- integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=
+ 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.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1:
version "0.6.1"
@@ -10831,9 +10997,9 @@ spdx-expression-parse@^3.0.0:
spdx-license-ids "^3.0.0"
spdx-license-ids@^3.0.0:
- version "3.0.7"
- resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65"
- integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==
+ version "3.0.8"
+ resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.8.tgz#eb1e97ad99b11bf3f82a3b71a0472dd9a00f2ecf"
+ integrity sha512-NDgA96EnaLSvtbM7trJj+t1LUR3pirkDCcz9nOUlPb5DMBGsH7oES6C3hs3j7R9oHEa1EMvReS/BUAIT5Tcr0g==
spdy-transport@^3.0.0:
version "3.0.0"
@@ -10886,16 +11052,16 @@ sshpk@^1.7.0:
tweetnacl "~0.14.0"
ssri@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8"
- integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==
+ 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"
ssri@^7.0.0:
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/ssri/-/ssri-7.1.0.tgz#92c241bf6de82365b5c7fb4bd76e975522e1294d"
- integrity sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/ssri/-/ssri-7.1.1.tgz#33e44f896a967158e3c63468e47ec46613b95b5f"
+ integrity sha512-w+daCzXN89PseTL99MkA+fxJEcU3wfaE/ah0i0lnOlpG1CYLJ2ZjzEry68YBKfLs4JfoTShrTEsJkAZuNZ/stw==
dependencies:
figgy-pudding "^3.5.1"
minipass "^3.1.1"
@@ -10906,9 +11072,9 @@ stable@^0.1.8:
integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==
stack-utils@^1.0.1:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.4.tgz#4b600971dcfc6aed0cbdf2a8268177cc916c87c8"
- integrity sha512-IPDJfugEGbfizBwBZRZ3xpccMdRyP5lqsBWXGQWimVjua/ccLCeMOAVjlc1R7LxFjo5sEDhyNIXd8mo/AiDS9w==
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.5.tgz#a19b0b01947e0029c8e451d5d61a498f5bb1471b"
+ integrity sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==
dependencies:
escape-string-regexp "^2.0.0"
@@ -11001,50 +11167,50 @@ string-width@^3.0.0, string-width@^3.1.0:
strip-ansi "^5.1.0"
string-width@^4.1.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5"
- integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5"
+ integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==
dependencies:
emoji-regex "^8.0.0"
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.0"
-string.prototype.matchall@^4.0.2:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.3.tgz#24243399bc31b0a49d19e2b74171a15653ec996a"
- integrity sha512-OBxYDA2ifZQ2e13cP82dWFMaCV9CGF8GzmN4fljBVw5O5wep0lu4gacm1OL6MjROoUnB8VbkWRThqkV2YFLNxw==
+string.prototype.matchall@^4.0.2, string.prototype.matchall@^4.0.4:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.4.tgz#608f255e93e072107f5de066f81a2dfb78cf6b29"
+ integrity sha512-pknFIWVachNcyqRfaQSeu/FUfpvJTe4uskUSZ9Wc1RijsPuzbZ8TyYT8WCNnntCjUEqQ3vUHMAfVj2+wLAisPQ==
dependencies:
- call-bind "^1.0.0"
+ call-bind "^1.0.2"
define-properties "^1.1.3"
- es-abstract "^1.18.0-next.1"
+ es-abstract "^1.18.0-next.2"
has-symbols "^1.0.1"
- internal-slot "^1.0.2"
- regexp.prototype.flags "^1.3.0"
- side-channel "^1.0.3"
+ internal-slot "^1.0.3"
+ regexp.prototype.flags "^1.3.1"
+ side-channel "^1.0.4"
string.prototype.trim@^1.2.1:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.3.tgz#d23a22fde01c1e6571a7fadcb9be11decd8061a7"
- integrity sha512-16IL9pIBA5asNOSukPfxX2W68BaBvxyiRK16H3RA/lWW9BDosh+w7f+LhomPHpXJ82QEe7w7/rY/S1CV97raLg==
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.4.tgz#6014689baf5efaf106ad031a5fa45157666ed1bd"
+ integrity sha512-hWCk/iqf7lp0/AgTF7/ddO1IWtSNPASjlzCicV5irAVdE1grjsneK26YG6xACMBEdCvO8fUST0UzDMh/2Qy+9Q==
dependencies:
- call-bind "^1.0.0"
+ call-bind "^1.0.2"
define-properties "^1.1.3"
- es-abstract "^1.18.0-next.1"
+ es-abstract "^1.18.0-next.2"
-string.prototype.trimend@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz#a22bd53cca5c7cf44d7c9d5c732118873d6cd18b"
- integrity sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==
+string.prototype.trimend@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80"
+ integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==
dependencies:
- call-bind "^1.0.0"
+ call-bind "^1.0.2"
define-properties "^1.1.3"
-string.prototype.trimstart@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz#9b4cb590e123bb36564401d59824298de50fd5aa"
- integrity sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==
+string.prototype.trimstart@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed"
+ integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==
dependencies:
- call-bind "^1.0.0"
+ call-bind "^1.0.2"
define-properties "^1.1.3"
string_decoder@^1.0.0, string_decoder@^1.1.1:
@@ -11213,10 +11379,10 @@ symbol-tree@^3.2.2:
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
-tabbable@^3.1.2:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-3.1.2.tgz#f2d16cccd01f400e38635c7181adfe0ad965a4a2"
- integrity sha512-wjB6puVXTYO0BSFtCmWQubA/KIn7Xvajw0x0l6eJUudMG/EAiJvIUnyNX6xO4NpGrJ16lbD0eUseB9WxW0vlpQ==
+tabbable@^5.1.4:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-5.2.0.tgz#4fba60991d8bb89d06e5d9455c92b453acf88fb2"
+ integrity sha512-0uyt8wbP0P3T4rrsfYg/5Rg3cIJ8Shl1RJ54QMqYxm1TLdWqJD1u6+RQjr2Lor3wmfT7JRHkirIwy99ydBsyPg==
table@^5.2.3:
version "5.4.6"
@@ -11355,9 +11521,9 @@ tippy.js@5.1.2:
popper.js "^1.16.0"
tlds@^1.199.0:
- version "1.215.0"
- resolved "https://registry.yarnpkg.com/tlds/-/tlds-1.215.0.tgz#9f7c32d9c575fe7342c97be35b452b89c55c74a2"
- integrity sha512-rmYrP3jM99ILMAXbcCu4ckWKi+K4AgSSN+0G1efJa/Nwjv/TFpBTA9kXC4Tm+o/zaQnX5kDTVoqFGtFTmokA8Q==
+ version "1.221.1"
+ resolved "https://registry.yarnpkg.com/tlds/-/tlds-1.221.1.tgz#6cf6bff5eaf30c5618c5801c3f425a6dc61ca0ad"
+ integrity sha512-N1Afn/SLeOQRpxMwHBuNFJ3GvGrdtY4XPXKPFcx8he0U9Jg9ZkvTKE1k3jQDtCmlFn44UxjVtouF6PT4rEGd3Q==
tmp@^0.0.33:
version "0.0.33"
@@ -11440,6 +11606,11 @@ tr46@^1.0.1:
dependencies:
punycode "^2.1.0"
+ts-essentials@^2.0.3:
+ version "2.0.12"
+ resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-2.0.12.tgz#c9303f3d74f75fa7528c3d49b80e089ab09d8745"
+ integrity sha512-3IVX4nI6B5cc31/GFFE+i8ey/N2eA0CZDbo6n0yrz0zDX8ZJ8djmU1p+XRz7G3is0F3bB3pu2pAroFdAWQKU3w==
+
ts-pnp@1.1.6:
version "1.1.6"
resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.6.tgz#389a24396d425a0d3162e96d2b4638900fdc289a"
@@ -11470,15 +11641,15 @@ tslib@^1.8.1, tslib@^1.9.0:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
-tslib@^2.0.1, tslib@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c"
- integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==
+tslib@^2.0.1, tslib@^2.0.3, tslib@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz#fb2c475977e35e241311ede2693cee1ec6698f5c"
+ integrity sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==
tsutils@^3.17.1:
- version "3.17.1"
- resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759"
- integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==
+ 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"
@@ -11506,10 +11677,10 @@ type-check@~0.3.2:
dependencies:
prelude-ls "~1.1.2"
-type-fest@^0.11.0:
- version "0.11.0"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1"
- integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==
+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.8.1:
version "0.8.1"
@@ -11530,9 +11701,9 @@ type@^1.0.1:
integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==
type@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/type/-/type-2.1.0.tgz#9bdc22c648cf8cf86dd23d32336a41cfb6475e3f"
- integrity sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/type/-/type-2.5.0.tgz#0a2e78c2e77907b252abe5f298c1b01c63f0db3d"
+ integrity sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==
typedarray@^0.0.6:
version "0.0.6"
@@ -11540,20 +11711,30 @@ typedarray@^0.0.6:
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
typescript@^3.5.1:
- version "3.9.7"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa"
- integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==
+ version "3.9.9"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.9.tgz#e69905c54bc0681d0518bd4d587cc6f2d0b1a674"
+ integrity sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==
ua-parser-js@^0.7.18:
- version "0.7.23"
- resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.23.tgz#704d67f951e13195fbcd3d78818577f5bc1d547b"
- integrity sha512-m4hvMLxgGHXG3O3fQVAyyAQpZzDOvwnhOTjYz5Xmr7r/+LpkNy3vJXdVRWgd1TkAb7NGROZuSy96CrlNVjA7KA==
+ version "0.7.28"
+ resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.28.tgz#8ba04e653f35ce210239c64661685bf9121dec31"
+ integrity sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==
uc.micro@^1.0.1:
version "1.0.6"
resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac"
integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==
+unbox-primitive@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471"
+ integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==
+ dependencies:
+ function-bind "^1.1.1"
+ has-bigints "^1.0.1"
+ has-symbols "^1.0.2"
+ which-boxed-primitive "^1.0.2"
+
unicode-canonical-property-names-ecmascript@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818"
@@ -11653,9 +11834,9 @@ upper-case@^1.1.1:
integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=
uri-js@^4.2.2:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602"
- integrity sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==
+ 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"
@@ -11674,9 +11855,9 @@ url-loader@2.3.0:
schema-utils "^2.5.0"
url-parse@^1.4.3:
- version "1.4.7"
- resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278"
- integrity sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.1.tgz#d5fa9890af8a5e1f274a2c98376510f6425f6e3b"
+ integrity sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==
dependencies:
querystringify "^2.1.1"
requires-port "^1.0.0"
@@ -11689,6 +11870,25 @@ url@^0.11.0:
punycode "1.3.2"
querystring "0.2.0"
+use-composed-ref@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/use-composed-ref/-/use-composed-ref-1.1.0.tgz#9220e4e94a97b7b02d7d27eaeab0b37034438bbc"
+ integrity sha512-my1lNHGWsSDAhhVAT4MKs6IjBUtG6ZG11uUqexPH9PptiIZDQOzaF4f5tEbJ2+7qvNbtXNBbU3SfmN+fXlWDhg==
+ dependencies:
+ ts-essentials "^2.0.3"
+
+use-isomorphic-layout-effect@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.1.tgz#7bb6589170cd2987a152042f9084f9effb75c225"
+ integrity sha512-L7Evj8FGcwo/wpbv/qvSfrkHFtOpCzvM5yl2KVyDJoylVuSvzphiiasmjgQPttIGBAy2WKiBNR98q8w7PiNgKQ==
+
+use-latest@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/use-latest/-/use-latest-1.2.0.tgz#a44f6572b8288e0972ec411bdd0840ada366f232"
+ integrity sha512-d2TEuG6nSLKQLAfW3By8mKr8HurOlTkul0sOpxbClIv4SQ4iOd7BYr7VIzdbktUCnv7dua/60xzd8igMU6jmyw==
+ dependencies:
+ use-isomorphic-layout-effect "^1.0.0"
+
use@^3.1.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
@@ -11707,7 +11907,18 @@ util.promisify@1.0.0:
define-properties "^1.1.2"
object.getownpropertydescriptors "^2.0.3"
-util.promisify@^1.0.0, util.promisify@~1.0.0:
+util.promisify@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.1.1.tgz#77832f57ced2c9478174149cae9b96e9918cd54b"
+ integrity sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==
+ dependencies:
+ call-bind "^1.0.0"
+ define-properties "^1.1.3"
+ for-each "^0.3.3"
+ has-symbols "^1.0.1"
+ object.getownpropertydescriptors "^2.1.1"
+
+util.promisify@~1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee"
integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==
@@ -11747,9 +11958,9 @@ uuid@^3.3.2, uuid@^3.4.0:
integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
v8-compile-cache@^2.0.3:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132"
- integrity sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==
+ 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==
validate-npm-package-license@^3.0.1:
version "3.0.4"
@@ -11783,305 +11994,212 @@ verror@1.10.0:
core-util-is "1.0.2"
extsprintf "^1.2.0"
-victory-area@^35.2.0, victory-area@^35.4.3:
- version "35.4.3"
- resolved "https://registry.yarnpkg.com/victory-area/-/victory-area-35.4.3.tgz#fdd187a99249a601b299b6cffd739984f6a3b91d"
- integrity sha512-08uUX8f+Y78HXjHeIUXBCLR0hbeEhjOPhyPpCVinOtkt5HO0+gQpTqkz0xYL/NGG1oI32V4XeBoXCrXmAZ66zA==
+victory-area@^35.4.4:
+ version "35.7.2"
+ resolved "https://registry.yarnpkg.com/victory-area/-/victory-area-35.7.2.tgz#241c938c70cc02c0a62ca2fe872d2be20224a182"
+ integrity sha512-yN1qrD5yoYp/AfWyVCbpWPkwbDurISc0zyECTs5FvuMMhFyz5Bepu5jTEL5CDSx6ZomQ+TIZCcpYXWbF6VZjCg==
dependencies:
d3-shape "^1.2.0"
lodash "^4.17.19"
prop-types "^15.5.8"
- victory-core "^35.4.3"
+ victory-core "^35.7.2"
-victory-axis@^35.2.0, victory-axis@^35.4.3:
- version "35.4.3"
- resolved "https://registry.yarnpkg.com/victory-axis/-/victory-axis-35.4.3.tgz#7592fceb3c58ec1491e2d6e4aadf9e7f469294b9"
- integrity sha512-V22WdV6JhpHXX95foZFcdAknOtVcYL4dT/qIg92rKNXkLqrSc4D0zKgUumYKAEa7Mgqwa5AhQsbIghdpwmAPWw==
+victory-axis@^35.4.4, victory-axis@^35.7.2:
+ version "35.7.2"
+ resolved "https://registry.yarnpkg.com/victory-axis/-/victory-axis-35.7.2.tgz#11a5c33dbf5797d879144d9d69743805033f28cb"
+ integrity sha512-ZzlAErfgScVpVDaxTOJfWza4jO4mpxuLK9im3G40ZC5PjzhYkIij96wW2tR4CpxLE2TZrk2NcD7yMLjIEipLEA==
dependencies:
lodash "^4.17.19"
prop-types "^15.5.8"
- victory-core "^35.4.3"
+ victory-core "^35.7.2"
-victory-bar@^35.2.0, victory-bar@^35.4.3:
- version "35.4.3"
- resolved "https://registry.yarnpkg.com/victory-bar/-/victory-bar-35.4.3.tgz#4f7bf40b0a60c5adc18eaf3705eba3e36278f390"
- integrity sha512-YL3G2XZdNNBvwPPLUuMJp8exy3NV6LT8c9bIUkNPwgcvXVPYZnqv95BEZjuDwwT6/4Fy4kc/5Ta5DbkenYsR7w==
+victory-bar@^35.4.4:
+ version "35.7.2"
+ resolved "https://registry.yarnpkg.com/victory-bar/-/victory-bar-35.7.2.tgz#9e169a323418eff4cdcf8d33faacbeaf2779b276"
+ integrity sha512-Pvh4hZxsSg9VJPE32hrlx4yuy2LsCPHild5oiGYhBmKTPKcCMTQDKmyPmCvNEYXNqYQ/ClKP5gUyYu05Gt/lig==
dependencies:
d3-shape "^1.2.0"
lodash "^4.17.19"
prop-types "^15.5.8"
- victory-core "^35.4.3"
-
-victory-box-plot@^35.4.3:
- version "35.4.3"
- resolved "https://registry.yarnpkg.com/victory-box-plot/-/victory-box-plot-35.4.3.tgz#d4ef5b5541f00155d72db200422cef6207acbcae"
- integrity sha512-OzAJH1tP3k2PgaI0RRFlFSK0BHxAYk3hceVa+6TDyTEHTHPKrYPdtZ2JDXX4vC6ldX7VU4Y+ZGA1KsM8fOmYiw==
- dependencies:
- d3-array "^1.2.0"
- lodash "^4.17.19"
- prop-types "^15.5.8"
- victory-core "^35.4.3"
-
-victory-brush-container@^35.4.3:
- version "35.4.3"
- resolved "https://registry.yarnpkg.com/victory-brush-container/-/victory-brush-container-35.4.3.tgz#431712dc520d67650c371a62fcb597000448a99e"
- integrity sha512-rhFdgCRWPlZV+BBio9hBJ+m31FeDozmluvcZ77swEIUHP9sOFUKU5iL2e0J+uDCAqh/9gTFkM52SgmDgO84klA==
- dependencies:
- lodash "^4.17.19"
- prop-types "^15.5.8"
- react-fast-compare "^2.0.0"
- victory-core "^35.4.3"
+ victory-core "^35.7.2"
-victory-brush-line@^35.4.3:
- version "35.4.3"
- resolved "https://registry.yarnpkg.com/victory-brush-line/-/victory-brush-line-35.4.3.tgz#f1b031854f9f766cd52aa3c9e9b7b66125eeeac1"
- integrity sha512-m5MkrkUk7/ms/aC1Hq4wMqBpD8TMCaKGglXRlkyMGsqV82aclNrpdABZvF3MPIKf1ZrCOr7ZvRmm/6Vjg4bXTw==
+victory-brush-container@^35.7.2:
+ version "35.7.2"
+ resolved "https://registry.yarnpkg.com/victory-brush-container/-/victory-brush-container-35.7.2.tgz#9df4091db5e0fe0b1700c5465514b24dc66119ab"
+ integrity sha512-57X+OVYU1H8UkcBFGzTCXjeMm3da3v3DcmMJhnKLnvb6PkHBcJjUiIV2cbPy8BJP1pGFE85lXyv+DXctsRNgSw==
dependencies:
lodash "^4.17.19"
prop-types "^15.5.8"
react-fast-compare "^2.0.0"
- victory-core "^35.4.3"
-
-victory-candlestick@^35.4.3:
- version "35.4.3"
- resolved "https://registry.yarnpkg.com/victory-candlestick/-/victory-candlestick-35.4.3.tgz#09fd8d609e60debdd5bd250700ff017def621e9f"
- integrity sha512-Xl+mPftnJwTRNy44LY2Er/NfUbXzO1l3i1sxOQg8x/coBx8bOFx+Z7mkwtw0Z7Oq7U1uUw4GFvQ4p2FjxWwQkw==
- dependencies:
- lodash "^4.17.19"
- prop-types "^15.5.8"
- victory-core "^35.4.3"
+ victory-core "^35.7.2"
-victory-chart@^35.2.0, victory-chart@^35.4.3:
- version "35.4.3"
- resolved "https://registry.yarnpkg.com/victory-chart/-/victory-chart-35.4.3.tgz#50c6d1b9feb515174fc5a9f1af02257625875dfe"
- integrity sha512-Gu5lbCtTkr4YUoa4JjmsOXzmsVmiBE8BVr96b0tlFkVyysl/tO8SeC9TeHuYBAIWjsQoKx4SWQGXvBcrgOqQ0A==
+victory-chart@^35.4.4:
+ version "35.7.2"
+ resolved "https://registry.yarnpkg.com/victory-chart/-/victory-chart-35.7.2.tgz#56d401288d19a498e830a5ecdc94359912246e1d"
+ integrity sha512-Kwmyw2iV7as+en4KHAa3x6AmM8XzDvweWDhc29eMyNC3HzvjHSsz06PeHcGOFkxsHLYUCK7GUNCAQLVT/k2pLQ==
dependencies:
lodash "^4.17.19"
prop-types "^15.5.8"
react-fast-compare "^2.0.0"
- victory-axis "^35.4.3"
- victory-core "^35.4.3"
- victory-polar-axis "^35.4.3"
- victory-shared-events "^35.4.3"
+ victory-axis "^35.7.2"
+ victory-core "^35.7.2"
+ victory-polar-axis "^35.7.2"
+ victory-shared-events "^35.7.2"
-victory-core@^35.2.0, victory-core@^35.4.3:
- version "35.4.3"
- resolved "https://registry.yarnpkg.com/victory-core/-/victory-core-35.4.3.tgz#496b0d4f96b09894d1ae0235c040b86d2f30360f"
- integrity sha512-LJVyXFTFFOJsI7M82fMVR5ZWXkbpGDBiWUAVT0KTeS+gH9CMG6RRUb9F9D64iiXW8cGWcM1XMg9R3ev3fOfUuw==
+victory-core@^35.4.4, victory-core@^35.7.2:
+ version "35.7.2"
+ resolved "https://registry.yarnpkg.com/victory-core/-/victory-core-35.7.2.tgz#7fc0e703adb6a8047ec53d44cdda1dcc9beb20fc"
+ integrity sha512-whFDbNTNShAfdy88U8TJkFRG7d8a4GT7yn7ClMmjOqJ9hl8o1sQ/3EWC7m3BoleM06JqpA/n01kUvvgt4OohFQ==
dependencies:
d3-ease "^1.0.0"
d3-interpolate "^1.1.1"
d3-scale "^1.0.0"
d3-shape "^1.2.0"
d3-timer "^1.0.0"
- lodash "^4.17.19"
+ lodash "^4.17.21"
prop-types "^15.5.8"
react-fast-compare "^2.0.0"
-victory-create-container@^35.2.0, victory-create-container@^35.4.3:
- version "35.4.3"
- resolved "https://registry.yarnpkg.com/victory-create-container/-/victory-create-container-35.4.3.tgz#9928b92957d37c52091d54fd6389ecf914156787"
- integrity sha512-7SlkWYhiXNpbIt3pi4W9jyhTGDpqdb9C3JdhHBzlnrMWhRACSZWZI7lJKZYMUmnd0sASu9RAwkdIKKuY2HHisg==
+victory-create-container@^35.4.4:
+ version "35.7.2"
+ resolved "https://registry.yarnpkg.com/victory-create-container/-/victory-create-container-35.7.2.tgz#a65efbc6a6b44a065f823088488bab0f01076ee8"
+ integrity sha512-HMW49dAyZQMIiVrAejlGh6GEPrBAFMK0nnxZWXUr6qZQxerYCk/jlfc4V4bUFWkGTyuCzZ2xDZhDpNOha7RLdA==
dependencies:
lodash "^4.17.19"
- victory-brush-container "^35.4.3"
- victory-core "^35.4.3"
- victory-cursor-container "^35.4.3"
- victory-selection-container "^35.4.3"
- victory-voronoi-container "^35.4.3"
- victory-zoom-container "^35.4.3"
-
-victory-cursor-container@^35.4.3:
- version "35.4.3"
- resolved "https://registry.yarnpkg.com/victory-cursor-container/-/victory-cursor-container-35.4.3.tgz#2ccd32643a8022df57db13e3c7835a72b1cc7d72"
- integrity sha512-8f+Yyi2xsFXlPiaPKJ/LhY+jIJIRFpxv8GFOnH3MrJBRPclVNQ3y0Y4e42/RZrKOaGkgrFgDX2J9dczJigs9YA==
- dependencies:
- lodash "^4.17.19"
- prop-types "^15.5.8"
- victory-core "^35.4.3"
-
-victory-errorbar@^35.4.3:
- version "35.4.3"
- resolved "https://registry.yarnpkg.com/victory-errorbar/-/victory-errorbar-35.4.3.tgz#8a9b18461e519d1529acfc25625f0bd24537f9d4"
- integrity sha512-u5gAADL/2RVcDxWJfB6mX6iL2nVIQs0IrDQPMc9GqlqyDE4s/6lKYAO0Talv1p+KRQSJavYJ0szblH+Mwq4fng==
- dependencies:
- lodash "^4.17.19"
- prop-types "^15.5.8"
- victory-core "^35.4.3"
-
-victory-group@^35.2.0, victory-group@^35.4.3:
- version "35.4.3"
- resolved "https://registry.yarnpkg.com/victory-group/-/victory-group-35.4.3.tgz#a049e97b217e6a0b8e30f7ebe494ad05c8e34fdb"
- integrity sha512-IKfnkbPNeLvIDvDG/EvwagPn7pNpWNjiyPOJs/mh2ZME75EHE3o1hgaBWeLSq7wiNNqh0cq2EifSjbJCEhi3fQ==
+ victory-brush-container "^35.7.2"
+ victory-core "^35.7.2"
+ victory-cursor-container "^35.7.2"
+ victory-selection-container "^35.7.2"
+ victory-voronoi-container "^35.7.2"
+ victory-zoom-container "^35.7.2"
+
+victory-cursor-container@^35.7.2:
+ version "35.7.2"
+ resolved "https://registry.yarnpkg.com/victory-cursor-container/-/victory-cursor-container-35.7.2.tgz#059a3725a9dedc6116558f79cfde817f06e43320"
+ integrity sha512-93qHplAP9YxkLQh/CD75GIIMxKbR896Jq435QPl1J7t7FAv+XPgnrUH6c8WmWsKrXhF617jNP0dWWW2z3ft1VQ==
dependencies:
lodash "^4.17.19"
prop-types "^15.5.8"
- react-fast-compare "^2.0.0"
- victory-core "^35.4.3"
- victory-shared-events "^35.4.3"
+ victory-core "^35.7.2"
-victory-histogram@^35.4.3:
- version "35.4.3"
- resolved "https://registry.yarnpkg.com/victory-histogram/-/victory-histogram-35.4.3.tgz#eb753070ac098c51c383dd5f76d8b279aa5ef077"
- integrity sha512-zB71fmHacNossxjGsKQXtqxZiFI/Y+hocseknEE1vOmUuwHIoT8c5NYLdYxsxbhV8xxHB+MDTJm0XvZjLGzmCw==
+victory-group@^35.4.4:
+ version "35.7.2"
+ resolved "https://registry.yarnpkg.com/victory-group/-/victory-group-35.7.2.tgz#5706b2a939656c3d5973f60599a979cbe3cf0de5"
+ integrity sha512-FwaIuyfYJLTdYsDsZZ1Cd8P0QVebJnmorBgofVKVAxC/sJCbnrcrcjYVcBu4b+5nvqYcQqOX7TARZr5m4v7bVA==
dependencies:
- d3-array "^2.4.0"
- d3-scale "^1.0.0"
lodash "^4.17.19"
prop-types "^15.5.8"
react-fast-compare "^2.0.0"
- victory-bar "^35.4.3"
- victory-core "^35.4.3"
+ victory-core "^35.7.2"
+ victory-shared-events "^35.7.2"
-victory-legend@^35.2.0, victory-legend@^35.4.3:
- version "35.4.3"
- resolved "https://registry.yarnpkg.com/victory-legend/-/victory-legend-35.4.3.tgz#19d8c8f88d65a42647669c9c46dda1caa945c9cb"
- integrity sha512-Jdsv2ZRBNtTz+GZeQ++r7GvowS26wx3UDH+WyTM9RNyvwSTFITHCSDmC14LE8ADdCpdoEDNgTb0ChvQfJtBLWA==
+victory-legend@^35.4.4:
+ version "35.7.2"
+ resolved "https://registry.yarnpkg.com/victory-legend/-/victory-legend-35.7.2.tgz#c2654c73fdb26cfc44c9102aed9c572c64f6bff9"
+ integrity sha512-zjenFh/isWVa5ckzI6x2ubbjfF+FihtZ9uS8xbeIuF0877Fs2ACj2RMdOL59rvskRU4MxQ1hKgk1uvixFPi6+Q==
dependencies:
lodash "^4.17.19"
prop-types "^15.5.8"
- victory-core "^35.4.3"
+ victory-core "^35.7.2"
-victory-line@^35.2.0, victory-line@^35.4.3:
- version "35.4.3"
- resolved "https://registry.yarnpkg.com/victory-line/-/victory-line-35.4.3.tgz#6c8ac783a27a54a5757fc38935e6d1d201d5c97a"
- integrity sha512-M+DMzrWew1ZCcGfjCzjk5NKmQ8/ZxcoI4V7NEPNxIuImDqR5dyJ8gO4hNwPvnzslPX0hv0DVrjqidv0oOKCuLA==
+victory-line@^35.4.4:
+ version "35.7.2"
+ resolved "https://registry.yarnpkg.com/victory-line/-/victory-line-35.7.2.tgz#7cfbe784704288f807838fe0d35a3d05f2012b84"
+ integrity sha512-9hHD4BxgSOiEdUrhgUcWRy5Al5Op9o554xdXpusYL/kzaHPUUrYxMePiJySVm13G1HOZYyDU6FjTWdAyTnTLjQ==
dependencies:
d3-shape "^1.2.0"
lodash "^4.17.19"
prop-types "^15.5.8"
- victory-core "^35.4.3"
+ victory-core "^35.7.2"
-victory-pie@^35.2.0, victory-pie@^35.4.3:
- version "35.4.3"
- resolved "https://registry.yarnpkg.com/victory-pie/-/victory-pie-35.4.3.tgz#76952cb590de73a3e74198b534184e547e986703"
- integrity sha512-VuS9BuC1yU7nUQG3LhCsHMSBQrMcUncZ6DqtlmLPAiVawNu5KCK0jLS/FoPEjA+22oBw75nD75/vCdVJWa3h/Q==
+victory-pie@^35.4.4:
+ version "35.7.2"
+ resolved "https://registry.yarnpkg.com/victory-pie/-/victory-pie-35.7.2.tgz#66894bedcd0e9eb3de626ec80590fd31b2f709ef"
+ integrity sha512-dkDmfrvkcNQdaKHozvRYu9rT1LXjVNQt08Su/e0iWfY2Ae+j6TfC7+v7cvsOIie2UGxw0jM2QzK8R5vwb+BX5g==
dependencies:
d3-shape "^1.0.0"
lodash "^4.17.19"
prop-types "^15.5.8"
- victory-core "^35.4.3"
+ victory-core "^35.7.2"
-victory-polar-axis@^35.4.3:
- version "35.4.3"
- resolved "https://registry.yarnpkg.com/victory-polar-axis/-/victory-polar-axis-35.4.3.tgz#ec8006cc6c3c7a6a7bb5d4bd47e8969e251d423b"
- integrity sha512-dJF4TY6yi0YucsJETBkr7gNyd7Z8+zQUkJ/aK+xxQFXS1fyurzLZlJ/24dNc2vF3xheZVKqrkqmAhqfAptNwSg==
+victory-polar-axis@^35.7.2:
+ version "35.7.2"
+ resolved "https://registry.yarnpkg.com/victory-polar-axis/-/victory-polar-axis-35.7.2.tgz#7a03d6ddc45522702f858a529bccc54018d05aae"
+ integrity sha512-vW94rvV0i0wZdw0tE7JGU6GT2FYi6nAZ4vKDUCexUugAGgK9Y6OSm9RstYK5ihaYca3ezAJO/tL3kVNS6gLqcA==
dependencies:
lodash "^4.17.19"
prop-types "^15.5.8"
- victory-core "^35.4.3"
+ victory-core "^35.7.2"
-victory-scatter@^35.2.0, victory-scatter@^35.4.3:
- version "35.4.3"
- resolved "https://registry.yarnpkg.com/victory-scatter/-/victory-scatter-35.4.3.tgz#a8e989c34025c5f28eb99d06ba9c1354e22437e9"
- integrity sha512-NXihs2yqxMCYFv30gquGcee6NvyCeRUtDX47sVonm2m9lyR4Mj31U5XJHeVB+4/mmCuB2f5tjB2DbjrrC3o5oQ==
+victory-scatter@^35.4.4:
+ version "35.7.2"
+ resolved "https://registry.yarnpkg.com/victory-scatter/-/victory-scatter-35.7.2.tgz#e4f703628c77577c9ad973dea6af3d71bd3df977"
+ integrity sha512-T0C+gciYVmxk0WMIc9obOzk+6hgzN63G/kJz+yx0iF8MrGQRDI41WtIRoYb3k7rBJNK8YYqQohi/4TUQUOBZ+g==
dependencies:
lodash "^4.17.19"
prop-types "^15.5.8"
- victory-core "^35.4.3"
+ victory-core "^35.7.2"
-victory-selection-container@^35.4.3:
- version "35.4.3"
- resolved "https://registry.yarnpkg.com/victory-selection-container/-/victory-selection-container-35.4.3.tgz#2d495e8e8264be608536d3c060f4443e551d8426"
- integrity sha512-t66fEthy3/Ar693geK5J1St1YYqleTjsAUmv/+YHQhdulsnQMqImc/aMZXEV2TotsQPibIstOotFl7HqnaYWBA==
+victory-selection-container@^35.7.2:
+ version "35.7.2"
+ resolved "https://registry.yarnpkg.com/victory-selection-container/-/victory-selection-container-35.7.2.tgz#d3bdd1f066c8146511c59b1bd0ce29c84964c9e7"
+ integrity sha512-KgWnHk6QCdmi2aD0fqmUjdmkyN4QIQbtzi20Sobv6gX+bNk4NcIcP1fu8hKxAbcRrJUIIxvDD4geJdREOA2v1g==
dependencies:
lodash "^4.17.19"
prop-types "^15.5.8"
- victory-core "^35.4.3"
+ victory-core "^35.7.2"
-victory-shared-events@^35.4.3:
- version "35.4.3"
- resolved "https://registry.yarnpkg.com/victory-shared-events/-/victory-shared-events-35.4.3.tgz#0a60d951c9e0e08569cdcf065eddc64ee2384c39"
- integrity sha512-whVEirNz+Ei8dxZgO5s7qohs3tez76B6M42Jqm4ky96u342WubKC1DAyvdZ1vXVch2k4mdl+oi/pLb4QPAngmA==
+victory-shared-events@^35.7.2:
+ version "35.7.2"
+ resolved "https://registry.yarnpkg.com/victory-shared-events/-/victory-shared-events-35.7.2.tgz#89a2368f46c0c43c3433a541aef88be12281c0bb"
+ integrity sha512-QppuGtPMzJq04YUdySfUEaeFFcXlFbZURyPnE+jyJ41M/igJ82kxjAmNS6Gyyx2FGzTWSoWtQCSqrCfw6puxeA==
dependencies:
json-stringify-safe "^5.0.1"
lodash "^4.17.19"
prop-types "^15.5.8"
react-fast-compare "^2.0.0"
- victory-core "^35.4.3"
+ victory-core "^35.7.2"
-victory-stack@^35.2.0, victory-stack@^35.4.3:
- version "35.4.3"
- resolved "https://registry.yarnpkg.com/victory-stack/-/victory-stack-35.4.3.tgz#1601f8abc8804b71e3f31ca1ae8d0b559dfcd59d"
- integrity sha512-tkFEercVzi1EPFt5xj97dxdPZxjcZa9U4IQZ3XwS9ZjfSPW0HdD/TTNBvu+Elwrf5KSmC8eAOiry4GR2FnsDDw==
+victory-stack@^35.4.4:
+ version "35.7.2"
+ resolved "https://registry.yarnpkg.com/victory-stack/-/victory-stack-35.7.2.tgz#26d34efdead698d99c3ae56b6d5009aa346b3e36"
+ integrity sha512-g7sF6GmY7rrsKLVoYheBqZMgl8UTsSSpWtf9f7/Fmu0tfLgQOD9xzy/STCSmSc13jZ/zVTekahmWipkght26tg==
dependencies:
lodash "^4.17.19"
prop-types "^15.5.8"
react-fast-compare "^2.0.0"
- victory-core "^35.4.3"
- victory-shared-events "^35.4.3"
+ victory-core "^35.7.2"
+ victory-shared-events "^35.7.2"
-victory-tooltip@^35.2.0, victory-tooltip@^35.4.3:
- version "35.4.3"
- resolved "https://registry.yarnpkg.com/victory-tooltip/-/victory-tooltip-35.4.3.tgz#07bd61ae2a55a63f0b2cabb371d4a7e898cc928a"
- integrity sha512-QjMHJ5ZW8i2H5WerM0bTZ2b2tGlWoyKpqNMX/QfGEU2LazBVRS4mPzgOzisC2dQEPNbr1sZTrsL5OdhjzsuKQg==
+victory-tooltip@^35.4.4, victory-tooltip@^35.7.2:
+ version "35.7.2"
+ resolved "https://registry.yarnpkg.com/victory-tooltip/-/victory-tooltip-35.7.2.tgz#682747fe28f2036e0ea29963de1f3242b7c4c437"
+ integrity sha512-Lp0mMk4FS2aQqCNH4DK0LciUe/rToFNQ429p9OU+VO9FMu0FreQvVPWGpoXAPJDkWCoMH7qFmRoANpJ7iy9Nrw==
dependencies:
lodash "^4.17.19"
prop-types "^15.5.8"
- victory-core "^35.4.3"
+ victory-core "^35.7.2"
-victory-voronoi-container@^35.2.0, victory-voronoi-container@^35.4.3:
- version "35.4.3"
- resolved "https://registry.yarnpkg.com/victory-voronoi-container/-/victory-voronoi-container-35.4.3.tgz#6af75a953c22e67d4313c84280e551b6dc2fc193"
- integrity sha512-ucbIU56wzOeKyR45FNlKRr79TgSoxsJ+yFSE9bLRdh87BP3kbG203EHKVwpcCEFtrVYQCWSxQHeILbhGs/duXA==
+victory-voronoi-container@^35.4.4, victory-voronoi-container@^35.7.2:
+ version "35.7.2"
+ resolved "https://registry.yarnpkg.com/victory-voronoi-container/-/victory-voronoi-container-35.7.2.tgz#e1be24872dc8d5d4ec0c15e03fc3a18155f67e85"
+ integrity sha512-BoQdytaQqAkuXaqI1TDQ/L4c92/7/DyT/v501k9Xllbz8lmHYkG8IyaltpqV6SKl5SD9pANUo7F3dyRi1NKLZA==
dependencies:
- delaunay-find "0.0.5"
+ delaunay-find "0.0.6"
lodash "^4.17.19"
prop-types "^15.5.8"
react-fast-compare "^2.0.0"
- victory-core "^35.4.3"
- victory-tooltip "^35.4.3"
-
-victory-voronoi@^35.4.3:
- version "35.4.3"
- resolved "https://registry.yarnpkg.com/victory-voronoi/-/victory-voronoi-35.4.3.tgz#d3d228143ce833c8911e4811ce134e37ff1dffe3"
- integrity sha512-L730TigBgPCb97pe+wKYeyf3dL954xxdgZLwiEmCo1HalwF2DC4xeUJ1qI74PfYU8/8Q6co7vHkEK3vx/xAySA==
- dependencies:
- d3-voronoi "^1.1.2"
- lodash "^4.17.19"
- prop-types "^15.5.8"
- victory-core "^35.4.3"
+ victory-core "^35.7.2"
+ victory-tooltip "^35.7.2"
-victory-zoom-container@^35.2.0, victory-zoom-container@^35.4.3:
- version "35.4.3"
- resolved "https://registry.yarnpkg.com/victory-zoom-container/-/victory-zoom-container-35.4.3.tgz#c0623fa1fa35e25e9d28ecf66fb89bcc12a112ff"
- integrity sha512-mCJW1cN42qN/Smt7IZULsoAYYKih0qLXIixyNmnmQyhhPEFCVskNQxd2JO7MqAdFbJRao3ZB6uCz6zEJEq8/CA==
+victory-zoom-container@^35.4.4, victory-zoom-container@^35.7.2:
+ version "35.7.2"
+ resolved "https://registry.yarnpkg.com/victory-zoom-container/-/victory-zoom-container-35.7.2.tgz#73998402e0d14d06df32fc225d6f90d29ddceb93"
+ integrity sha512-4Zb3QuJGcRdPOoYYwLth6KRa8oRghsGfBOWrhywg2PBv/c58PKxcLLWRKPehp0LOFgl0amQjE0OKlO440zBD8g==
dependencies:
lodash "^4.17.19"
prop-types "^15.5.8"
- victory-core "^35.4.3"
-
-victory@^35.3.5:
- version "35.4.3"
- resolved "https://registry.yarnpkg.com/victory/-/victory-35.4.3.tgz#5229448b419d4067c0f30d0119bb97b951757071"
- integrity sha512-GC2/FH43m+UL5J1uyi8qpy/gJgrlBB5/yTjgllwpWmua4lwmSki/2uqSWdESFp4GFGEF3W8z8jotuiPvC9LWcQ==
- dependencies:
- victory-area "^35.4.3"
- victory-axis "^35.4.3"
- victory-bar "^35.4.3"
- victory-box-plot "^35.4.3"
- victory-brush-container "^35.4.3"
- victory-brush-line "^35.4.3"
- victory-candlestick "^35.4.3"
- victory-chart "^35.4.3"
- victory-core "^35.4.3"
- victory-create-container "^35.4.3"
- victory-cursor-container "^35.4.3"
- victory-errorbar "^35.4.3"
- victory-group "^35.4.3"
- victory-histogram "^35.4.3"
- victory-legend "^35.4.3"
- victory-line "^35.4.3"
- victory-pie "^35.4.3"
- victory-polar-axis "^35.4.3"
- victory-scatter "^35.4.3"
- victory-selection-container "^35.4.3"
- victory-shared-events "^35.4.3"
- victory-stack "^35.4.3"
- victory-tooltip "^35.4.3"
- victory-voronoi "^35.4.3"
- victory-voronoi-container "^35.4.3"
- victory-zoom-container "^35.4.3"
+ victory-core "^35.7.2"
vm-browserify@^1.0.1:
version "1.1.2"
@@ -12156,9 +12274,9 @@ webidl-conversions@^4.0.2:
integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==
webpack-dev-middleware@^3.7.2:
- version "3.7.2"
- resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3"
- integrity sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==
+ version "3.7.3"
+ resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz#0639372b143262e2b84ab95d3b91a7597061c2c5"
+ integrity sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==
dependencies:
memory-fs "^0.4.1"
mime "^2.4.4"
@@ -12288,10 +12406,10 @@ whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3, whatwg-encoding@^1.0.5:
dependencies:
iconv-lite "0.4.24"
-whatwg-fetch@>=0.10.0, whatwg-fetch@^3.0.0:
- version "3.5.0"
- resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.5.0.tgz#605a2cd0a7146e5db141e29d1c62ab84c0c4c868"
- integrity sha512-jXkLtsR42xhXg7akoDKvKWE40eJeI+2KZqcp2h3NsOrRnDvtWX36KcKl30dy+hxECivdk2BVUHVNrPtoMBUx6A==
+whatwg-fetch@^3.0.0:
+ version "3.6.2"
+ resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c"
+ integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==
whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0:
version "2.3.0"
@@ -12316,6 +12434,17 @@ whatwg-url@^7.0.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"
@@ -12562,7 +12691,7 @@ xregexp@^4.3.0:
dependencies:
"@babel/runtime-corejs3" "^7.12.1"
-xtend@^4.0.0, xtend@^4.0.1, 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==
@@ -12575,9 +12704,9 @@ xtend@~2.1.1:
object-keys "~0.4.0"
y18n@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4"
- integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf"
+ integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==
yallist@^2.1.2:
version "2.1.2"
@@ -12595,9 +12724,9 @@ yallist@^4.0.0:
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
yaml@^1.7.2:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e"
- integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==
+ version "1.10.2"
+ resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
+ integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
yargs-parser@^13.1.2:
version "13.1.2"