diff --git a/.github/workflows/documentation-versioning.yml b/.github/workflows/documentation-versioning.yml
index c7ba603a5c..d23364ceda 100644
--- a/.github/workflows/documentation-versioning.yml
+++ b/.github/workflows/documentation-versioning.yml
@@ -36,7 +36,7 @@ jobs:
labels: |
ready for review
draft: false
- base: ${{env.GITHUB_REF}}
+ base: ${GITHUB_REF##*/}
- name: Check output
run: |
echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}"
diff --git a/.gitignore b/.gitignore
index 315651887b..8305cd8f77 100644
--- a/.gitignore
+++ b/.gitignore
@@ -91,12 +91,13 @@ build/dev_config.json
e2e-reports/
.stratos-git-metadata.json
src/jetstream/jetstream
-src/jetstream/console-database.db
+console-database.db
src/jetstream/config.properties
src/jetstream/db/dbconf.yml
src/jetstream/plugins/monocular/chart-repo/chartrepo
src/jetstream/plugins/analysis/container/analyzers
src/jetstream/.helm-cache
+src/jetstream/coverage.txt
# Automatically generated OpenAPI docs
src/jetstream/docs/
@@ -139,3 +140,11 @@ website/versions.json
website/versions-repo
/scan_tmp
+
+# Desktop app using Electron
+/electron/dist
+/electron/node_modules
+/electron/out
+/electron/dev-ssl
+/electron/jetstream
+/electron/version
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ad7506ff43..d63af68e85 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,32 @@
# Change Log
+## 4.4.0
+
+[Full Changelog](https://github.com/cloudfoundry/stratos/compare/4.3.0...4.4.0)
+
+This release includes a number of improvements and fixes, including updates to visible Kubernetes resource types, deploying applications from private Github/Gitlab repositories and a greatly improved home page.
+
+**Improvements:**
+
+- Show more kube resource types for a cluster [\#4823](https://github.com/cloudfoundry/stratos/issues/4823)
+- Add additional kube resources to Workload page [\#4831](https://github.com/cloudfoundry/stratos/issues/4831)
+- Deploy Applications from Enterprise GitHub and GitLab [\#4828](https://github.com/cloudfoundry/stratos/issues/4828)
+- Improve initial home page to show more meaningful data [\#4774](https://github.com/cloudfoundry/stratos/issues/4774)
+- Persist list settings over browser refresh & add reset button [\#4814](https://github.com/cloudfoundry/stratos/issues/4814)
+- Application logstreams incorrectly render unicode characters in the log. [\#4807](https://github.com/cloudfoundry/stratos/issues/4807)
+- No option to set an SSOWhitelist with helm deployments [\#4785](https://github.com/cloudfoundry/stratos/issues/4785)
+- Endpoint Registration: Advanced Client ID and Secret fields can be confusing [\#4767](https://github.com/cloudfoundry/stratos/issues/4767)
+- Clicking on a helm repo endpoint should automatically set it as a filter in chart list [\#4760](https://github.com/cloudfoundry/stratos/issues/4760)
+- Upgrade to Angular 10 [\#4725](https://github.com/cloudfoundry/stratos/issues/4725)
+- Add ability to favourite Kubernetes Namespaces [\#4651](https://github.com/cloudfoundry/stratos/issues/4651)
+
+**Fixes:**
+
+- Can't connect Stratos to a non-Stratos-Metrics Prometheus [\#4804](https://github.com/cloudfoundry/stratos/issues/4804)
+- UAA Setup UI does not accept client secret with # char [\#4789](https://github.com/cloudfoundry/stratos/issues/4789)
+- Password show/hide icon takes tab focus [\#4768](https://github.com/cloudfoundry/stratos/issues/4768)
+
+
## 4.3.0
[Full Changelog](https://github.com/SUSE/stratos/compare/4.2.1...4.3.0)
@@ -220,7 +247,7 @@ This release contains a number of fixes and improvements:
**Improvements:**
-- Apply SSO whitelist to additional places [\#4318](https://github.com/cloudfoundry/stratos/issues/4318)
+- Apply SSO allow-list to additional places [\#4318](https://github.com/cloudfoundry/stratos/issues/4318)
**Fixes:**
diff --git a/angular.json b/angular.json
index 31c5a47d56..6e13303c18 100644
--- a/angular.json
+++ b/angular.json
@@ -11,6 +11,18 @@
"build": {
"builder": "@angular-builders/custom-webpack:browser",
"options": {
+ "allowedCommonJsDependencies": [
+ "moment-timezone",
+ "js-yaml",
+ "webcola",
+ "dagre",
+ "lodash/isEqual",
+ "ajv",
+ "lodash/filter",
+ "lodash/map",
+ "lodash/uniqueId",
+ "lodash/cloneDeep"
+ ],
"customWebpackConfig": {
"path": "./dist-devkit/build/main.js"
},
@@ -61,7 +73,23 @@
"replace": "src/frontend/packages/core/src/environments/environment.ts",
"with": "src/frontend/packages/core/src/environments/environment.prod.ts"
}]
+ },
+ "desktop": {
+ "optimization": false,
+ "outputHashing": "all",
+ "sourceMap": false,
+ "extractCss": true,
+ "namedChunks": false,
+ "aot": false,
+ "extractLicenses": true,
+ "vendorChunk": false,
+ "buildOptimizer": false,
+ "fileReplacements": [{
+ "replace": "src/frontend/packages/core/src/environments/environment.ts",
+ "with": "src/frontend/packages/core/src/environments/environment.desktop.ts"
+ }]
}
+
}
},
"serve": {
@@ -77,6 +105,9 @@
"configurations": {
"production": {
"browserTarget": "stratos:build:production"
+ },
+ "desktop": {
+ "browserTarget": "stratos:build:desktop"
}
}
},
@@ -404,6 +435,34 @@
}
}
}
+ },
+ "git": {
+ "root": "src/frontend/packages/git",
+ "sourceRoot": "src/frontend/packages/git/src",
+ "projectType": "library",
+ "prefix": "lib",
+ "architect": {
+ "test": {
+ "builder": "@angular-devkit/build-angular:karma",
+ "options": {
+ "main": "src/frontend/packages/git/src/test.ts",
+ "tsConfig": "src/frontend/packages/git/tsconfig.spec.json",
+ "karmaConfig": "src/frontend/packages/git/karma.conf.js"
+ }
+ },
+ "lint": {
+ "builder": "@angular-devkit/build-angular:tslint",
+ "options": {
+ "tsConfig": [
+ "src/tsconfig.json"
+ ],
+ "tslintConfig": "src/frontend/packages/git/tslint.json",
+ "files": [
+ "src/frontend/packages/git/src/**/*.ts"
+ ]
+ }
+ }
+ }
}
},
diff --git a/deploy/Dockerfile.all-in-one b/deploy/Dockerfile.all-in-one
index f577039539..6cf57b4d5c 100644
--- a/deploy/Dockerfile.all-in-one
+++ b/deploy/Dockerfile.all-in-one
@@ -23,15 +23,24 @@ RUN CERTS_PATH=/home/stratos/dev-certs ./generate_cert.sh
FROM splatform/stratos-bk-base:leap15_2
ARG CANARY_BUILD
-COPY --from=jetstream-builder /home/stratos/deploy/db /src/deploy/db
-COPY --from=jetstream-builder /home/stratos/dev-certs /srv/dev-certs
-COPY --from=jetstream-builder /home/stratos/ui /srv/ui
-COPY --from=jetstream-builder /home/stratos/jetstream /srv/jetstream
+# Add a jetstream user so we don't run as root
+RUN useradd -M -U -u 2000 jetstream
+RUN usermod -aG users jetstream
+
+# Ensure that the /srv folder is in the users group so that the jetstream user can write to it
+RUN mkdir -p /srv && chgrp users /srv && chmod 775 /srv
+
+COPY --chown=jetstream:users --from=jetstream-builder /home/stratos/dev-certs /srv/dev-certs
+COPY --chown=jetstream:users --from=jetstream-builder /home/stratos/ui /srv/ui
+COPY --chown=jetstream:users --from=jetstream-builder /home/stratos/jetstream /srv/jetstream
RUN chmod +x /srv/jetstream
-COPY --from=jetstream-builder /home/stratos/config.properties /srv/config.properties
+COPY --chown=jetstream:users --from=jetstream-builder /home/stratos/config.properties /srv/config.properties
# User Invite templates
-COPY --from=jetstream-builder /home/stratos/src/jetstream/templates /srv/templates
+COPY --chown=jetstream:users --from=jetstream-builder /home/stratos/src/jetstream/templates /srv/templates
+
+# Plugins.yaml configuration
+COPY --chown=jetstream:users --from=jetstream-builder /home/stratos/src/jetstream/plugins.yaml /srv/plugins.yaml
# Enable persistence features if canary build flag is set
RUN if [ "x$CANARY_BUILD" != "x" ] ; then printf "\nFORCE_ENABLE_PERSISTENCE_FEATURES=true\n" >> /srv/config.properties ; fi
@@ -41,13 +50,6 @@ RUN if [ "x$CANARY_BUILD" != "x" ] ; then printf "\nENABLE_TECH_PREVIEW=true\n"
EXPOSE 5443
-# Add a jetstream user so we don't run as root
-RUN useradd -M -U -u 2000 jetstream
-RUN usermod -aG users jetstream
-
-# Ensure that the /srv folder is in the users group so that the jetstream user can write to it
-RUN chgrp users /srv && chmod 775 /srv
-
USER jetstream
ENTRYPOINT ["./jetstream"]
\ No newline at end of file
diff --git a/deploy/Dockerfile.bk b/deploy/Dockerfile.bk
index 9db5d7e05a..1a335b19f0 100644
--- a/deploy/Dockerfile.bk
+++ b/deploy/Dockerfile.bk
@@ -9,6 +9,7 @@ RUN npm run build-backend
FROM splatform/stratos-bk-base:leap15_2 as common-build
COPY --from=builder /home/stratos/src/jetstream/jetstream /srv/
+COPY --from=builder /home/stratos/src/jetstream/plugins.yaml /srv/
RUN chmod +x /srv/jetstream
# use --target=prod-build to build a backend image for Kubernetes
diff --git a/deploy/ci/travis/e2e-mc-helper.sh b/deploy/ci/travis/e2e-mc-helper.sh
index 5201e0a46f..a3ab8dfa94 100644
--- a/deploy/ci/travis/e2e-mc-helper.sh
+++ b/deploy/ci/travis/e2e-mc-helper.sh
@@ -11,8 +11,6 @@ else
chmod +x mc
cp mc ~/bin
- mc -install -y >/dev/null 2>&1
-
echo "Configuring mc client"
mc config host add s3 ${AWS_ENDPOINT} ${AWS_ACCESS_KEY_ID} ${AWS_SECRET_ACCESS_KEY} --insecure
diff --git a/deploy/ci/travis/run-e2e-tests.sh b/deploy/ci/travis/run-e2e-tests.sh
index 78ba65ac61..6fa4571edf 100755
--- a/deploy/ci/travis/run-e2e-tests.sh
+++ b/deploy/ci/travis/run-e2e-tests.sh
@@ -65,7 +65,9 @@ export STRATOS_E2E_BASE_URL="https://127.0.0.1:5443"
E2E_TARGET="e2e -- --no-webdriver-update --dev-server-target= --base-url=https://127.0.0.1:5443 --suite=${SUITE}"
# Set Stratos debug if running a PR with the appropriate label
+set +e
source "${DIRPATH}/deploy/ci/travis/check-e2e-pr.sh"
+set -e
# Capture video if configured
if [ "$CAPTURE_VIDEO" == "video" ]; then
diff --git a/deploy/cloud-foundry/build.sh b/deploy/cloud-foundry/build.sh
index 3d89979b33..8e047f3016 100755
--- a/deploy/cloud-foundry/build.sh
+++ b/deploy/cloud-foundry/build.sh
@@ -69,6 +69,9 @@ cp src/jetstream/jetstream .
# Copy the user invite templates
cp -R src/jetstream/templates ./templates
+# Copy plugins.yaml
+cp src/jetstream/plugins.yaml .
+
# Back-end serves static resources from ui folder not dist
mv dist ui
diff --git a/deploy/kubernetes/console/README.md b/deploy/kubernetes/console/README.md
index 34f7068858..e2ed7fe44e 100644
--- a/deploy/kubernetes/console/README.md
+++ b/deploy/kubernetes/console/README.md
@@ -58,6 +58,8 @@ The following table lists the configurable parameters of the Stratos Helm chart
|imagePullPolicy|Image pull policy|IfNotPresent|
|console.sessionStoreSecret|Secret to use when encrypting session tokens|auto-generated random value|
|console.ssoLogin|Whether to enable SSO Login and use the UAA Login UI instead of the built-in one|false|
+|console.ssoOptions|Advanced options to customize the SSO experience||
+|console.ssoAllowList|List of permitted redirect URLs for SSO authentication||
|console.backendLogLevel|Log level for backend (info, debug)|info|
|console.service.externalIPs|External IPs to add to the console service|[]|
|console.service.loadBalancerIP|IP address to assign to the load balancer for the metrics service (if supported)||
@@ -66,9 +68,9 @@ The following table lists the configurable parameters of the Stratos Helm chart
|console.service.servicePort|Service port for the console service|443|
|console.service.externalName|External name for the console service when service type is ExternalName||
|console.service.nodePort|Node port to use for the console service when service type is NodePort or LoadBalancer||
-|console.ingress.enabled|Enable ingress for the console service|false|
-|console.ingress.host|Host for the ingress resource|||
-|console.ingress.secretName|Name of an existing secret containing the TLS certificate for ingress|||
+|console.service.ingress.enabled|Enable ingress for the console service|false|
+|console.service.ingress.host|Host for the ingress resource|||
+|console.service.ingress.secretName|Name of an existing secret containing the TLS certificate for ingress|||
|console.service.http.enabled|Enabled HTTP access to the console service (as well as HTTPS)|false|
|console.service.http.servicePort|Service port for HTTP access to the console service when enabled|80|
|console.service.http.nodePort|Node port for HTTP access to the console service (as well as HTTPS)||
@@ -190,6 +192,32 @@ helm install my-console stratos/console --namespace=console --set console.servic
## Using an Ingress Controller
+### Bare minimum Stratos deployment with an Ingress
+
+1. Deploy `ingress-nginx` Ingress controller into your Kubernetes cluster using the [Helm chart](https://artifacthub.io/packages/helm/ingress-nginx/ingress-nginx) or [Kubernetes spec files](https://kubernetes.github.io/ingress-nginx/deploy/).
+2. Create `values.yaml` with the following Stratos Helm chart configuration values:
+```
+console:
+ service:
+ ingress:
+ enabled: true
+```
+3. Install Stratos:
+```
+helm repo add stratos https://cloudfoundry.github.io/stratos
+kubectl create namespace console
+helm install my-console stratos/console --namespace=console --values values.yaml
+```
+4. Obtain Ingress address by running `kubectl get ingress --namespace=console`, your Stratos installation should be accessible at that address.
+
+Note that configuration above would result in a deployment with self-signed HTTPS certificates and Stratos service being a default backend for the Ingress. The following steps most likely would be required for a production deployment:
+
+1. Acquire a static IP address for the Ingress.
+2. Assign a domain name to the static IP via a DNS record and set `console.service.ingress.host` value.
+3. Create a Kubernetes secret containing valid HTTPS certificates for the domain and set `console.service.ingress.secretName` value.
+
+### Ingress configuration
+
If your Kubernetes Cluster supports Ingress, you can expose Stratos through Ingress by supplying the appropriate ingress configuration when installing.
This configuration is described below:
@@ -202,7 +230,7 @@ This configuration is described below:
|console.service.ingress.host|The host name that will be used for the Stratos service.||
|console.service.ingress.secretName|The existing TLS secret that contains the certificate for ingress.||
-You must provide `console.service.ingress.host` when enabling ingress.
+If `console.service.ingress.host` isn't provided, Stratos service will be used as the default backend.
By default a certificate will be generated for TLS. You can provide your own certificate by creating a secret and specifying this with `console.service.ingress.secretName`.
diff --git a/deploy/kubernetes/console/templates/NOTES.txt b/deploy/kubernetes/console/templates/NOTES.txt
index a423cd3600..85402894d2 100644
--- a/deploy/kubernetes/console/templates/NOTES.txt
+++ b/deploy/kubernetes/console/templates/NOTES.txt
@@ -3,9 +3,18 @@ Tech Preview is enabled, extra features will be shown.
{{- end}}
To access Stratos:
-{{- $ingress := .Values.console.ingress | default dict }}
+{{- $ingress := .Values.console.service.ingress | default dict }}
{{- if $ingress.enabled }}
-From outside the cluster, the server URL is: http://{{ .Values.console.ingress.host }}
+{{- if .Values.console.service.ingress.host }}
+From outside the cluster, the server URL is: https://{{ .Values.console.service.ingress.host }}
+{{- else }}
+NOTE: It may take a few minutes for the Ingress IP to become available.
+You can watch the status of by running 'kubectl get ingress --namespace {{ .Release.Namespace }} -w {{ .Release.Name }}-ingress'
+
+Get the URL by running these commands in the same shell:
+ export INGRESS_ADDR=$(kubectl get ingress --namespace {{ .Release.Namespace }} --field-selector 'metadata.name={{ .Release.Name }}-ingress' -o jsonpath='{.items[0].status.loadBalancer.ingress[0].hostname}')
+ echo https://$INGRESS_ADDR
+{{- end }}
{{- else }}
Get the URL by running these commands in the same shell:
{{- if contains "NodePort" .Values.console.service.type }}
diff --git a/deploy/kubernetes/console/templates/__helpers.tpl b/deploy/kubernetes/console/templates/__helpers.tpl
index dca1d26576..765d379bbd 100644
--- a/deploy/kubernetes/console/templates/__helpers.tpl
+++ b/deploy/kubernetes/console/templates/__helpers.tpl
@@ -155,8 +155,6 @@ Ingress Host:
{{ $host | quote }}
{{- else if .Values.env.DOMAIN -}}
{{ print "console." .Values.env.DOMAIN }}
-{{- else -}}
-{{ required "Host name is required" $host | quote }}
{{- end -}}
{{- end -}}
diff --git a/deploy/kubernetes/console/templates/deployment.yaml b/deploy/kubernetes/console/templates/deployment.yaml
index 3606a25df6..3faa48f2b6 100644
--- a/deploy/kubernetes/console/templates/deployment.yaml
+++ b/deploy/kubernetes/console/templates/deployment.yaml
@@ -251,8 +251,12 @@ spec:
value: {{default "false" .Values.console.ssoLogin | quote}}
- name: SSO_OPTIONS
value: {{default "" .Values.console.ssoOptions | quote}}
- - name: SSO_WHITELIST
+ - name: SSO_ALLOWLIST
+ {{- if .Values.console.ssoAllowList }}
+ value: {{ default "" .Values.console.ssoAllowList | quote }}
+ {{- else }}
value: {{ default "" .Values.console.ssoWhiteList | quote }}
+ {{- end }}
{{- if .Values.console.templatesConfigMapName }}
- name: TEMPLATE_DIR
value: /etc/templates
diff --git a/deploy/kubernetes/console/templates/ingress.yaml b/deploy/kubernetes/console/templates/ingress.yaml
index 8d0af55198..288290c5c7 100644
--- a/deploy/kubernetes/console/templates/ingress.yaml
+++ b/deploy/kubernetes/console/templates/ingress.yaml
@@ -53,7 +53,7 @@ metadata:
{{- if hasKey .Values.console.service.ingress.annotations "nginx.ingress.kubernetes.io/proxy-body-size" | not -}}
{{ $_ := set .Values.console.service.ingress.annotations "nginx.ingress.kubernetes.io/proxy-body-size" "200m" }}
{{- end }}
- {{ $_ := set .Values.console.service.ingress.annotations "nginx.org/websocket-services" (print .Release.Name "-ui-ext") }}
+ {{- $_ := set .Values.console.service.ingress.annotations "nginx.org/websocket-services" (print .Release.Name "-ui-ext") }}
{{ toYaml .Values.console.service.ingress.annotations | indent 4 }}
labels:
app.kubernetes.io/name: "stratos"
@@ -65,12 +65,17 @@ metadata:
{{ $key }}: {{ $value }}
{{- end }}
spec:
+{{- $host := (include "ingress.host" .) }}
tls:
- secretName: {{ default (print .Release.Name "-ingress-tls") .Values.console.service.ingress.secretName | quote }}
+ {{- if $host }}
hosts:
- - {{ template "ingress.host" . }}
+ - {{ $host }}
+ {{- end }}
rules:
- - host: {{ template "ingress.host" . }}
+ - {{ if $host -}}
+ host: {{ $host }}
+ {{ end -}}
http:
paths:
- path: "/"
diff --git a/electron/README.md b/electron/README.md
new file mode 100644
index 0000000000..276bf542f9
--- /dev/null
+++ b/electron/README.md
@@ -0,0 +1,27 @@
+# Stratos Desktop
+
+From the top-level Stratos folder:
+
+- Install dependencies with `npm install`
+- Change to the `electron folder` with `cd electron`
+- Install dependencies for the electron UI with `npm install`
+- Run the Electron app with `./run.sh all`
+
+> Note this builds both the frontend and backend and run the app
+
+- To build only the front end before running, use `./run.sh fe`
+- To build only the back end before running, use `./run.sh be`
+- To run without building either the the back end or front end, use `./run.sh`
+
+
+You can also run the UI with `ng serve` from the top-level folder and then start electron with:
+
+`./run.sh dev`
+
+to load the UI from `https://127.0.0.1:4200`
+
+# Packaging
+
+Packaging as a DMG file for Mac:
+
+`./package.sh all`
\ No newline at end of file
diff --git a/electron/VolumeIcon.icns b/electron/VolumeIcon.icns
new file mode 100644
index 0000000000..80aa40e21d
Binary files /dev/null and b/electron/VolumeIcon.icns differ
diff --git a/electron/about.html b/electron/about.html
new file mode 100644
index 0000000000..2acb35bd03
--- /dev/null
+++ b/electron/about.html
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+
+
STRATOS
+
+
+
Version:
+
Lovingly designed & created in Bristol
+
+
+
Close
+
+
+
\ No newline at end of file
diff --git a/electron/background.png b/electron/background.png
new file mode 100644
index 0000000000..c69af6dcce
Binary files /dev/null and b/electron/background.png differ
diff --git a/electron/build.sh b/electron/build.sh
new file mode 100755
index 0000000000..c27e9b007c
--- /dev/null
+++ b/electron/build.sh
@@ -0,0 +1,66 @@
+#!/usr/bin/env bash
+
+# Script folder
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
+STRATOS="`cd "${DIR}/..";pwd`"
+
+BUILD_FRONTEND=false
+BUILD_BACKEND=false
+ARGS=""
+
+if [ "$1" == "fe" ]; then
+ BUILD_FRONTEND=true
+ shift
+elif [ "$1" == "be" ]; then
+ BUILD_BACKEND=true
+ shift
+elif [ "$1" == "all" ]; then
+ BUILD_FRONTEND=true
+ BUILD_BACKEND=true
+ shift
+fi
+
+if [ "$1" == "dev" ]; then
+ ARGS="dev"
+fi
+
+pushd ${DIR} > /dev/null
+# Checks for fresh run on checkout
+if [ ! -d "./node_modules" ]; then
+ echo "Installing node modules ..."
+ npm install
+fi
+popd > /dev/null
+
+pushd ${STRATOS} > /dev/null
+
+cat ./package.json | jq -r .version > ${DIR}/version
+
+if [ ! -d "./node_modules" ]; then
+ echo "Installing node modules in top-level folder ..."
+ npm install
+fi
+
+if [ "$1" != "be" ] && [ ! -d "./dist" ]; then
+ BUILD_FRONTEND=true
+ echo "Frontend has not been built - will build"
+fi
+
+if [ ! -f "./src/jetstream/jetstream" ]; then
+ BUILD_BACKEND=true
+ echo "Backend has not been built - will build"
+fi
+
+if [ "$BUILD_FRONTEND" == "true" ]; then
+ # Ensure the desktop-extendsions are included
+ STRATOS_YAML=./electron/stratos.yaml ng build --configuration=desktop
+fi
+if [ "$BUILD_BACKEND" == "true" ]; then
+ # Ensure we include the desktop backend plugin
+ STRATOS_YAML=./electron/stratos.yaml npm run prepare-backend
+ npm run build-backend
+fi
+cp ./src/jetstream/jetstream ./electron
+cp -R ${STRATOS}/dist ${DIR}
+cp -R ${STRATOS}/dev-ssl ${DIR}
+popd > /dev/null
diff --git a/electron/config.properties b/electron/config.properties
new file mode 100644
index 0000000000..ed0a1d530c
--- /dev/null
+++ b/electron/config.properties
@@ -0,0 +1,71 @@
+# Database connectivity environment variables
+DATABASE_PROVIDER=sqlite
+HTTP_CONNECTION_TIMEOUT_IN_SECS=10
+HTTP_CLIENT_TIMEOUT_IN_SECS=30
+HTTP_CLIENT_TIMEOUT_MUTATING_IN_SECS=120
+HTTP_CLIENT_TIMEOUT_LONGRUNNING_IN_SECS=600
+SKIP_SSL_VALIDATION=true
+CONSOLE_PROXY_TLS_ADDRESS=:5443
+CONSOLE_CLIENT=console
+CF_CLIENT=cf
+UAA_ENDPOINT=
+CONSOLE_ADMIN_SCOPE=stratos.admin
+CF_ADMIN_ROLE=cloud_controller.admin
+ALLOWED_ORIGINS=http://nginx
+SESSION_STORE_SECRET=wheeee!
+CONSOLE_PROXY_CERT_PATH=./dev-ssl/server.crt
+CONSOLE_PROXY_CERT_KEY_PATH=./dev-ssl/server.key
+ENCRYPTION_KEY=B374A26A71490437AA024E4FADD5B497FDFF1A8EA6FF12F6FB65AF2720B59CCF
+#VCAP_APPLICATION={"cf_api": "https://api.10.4.21.240.nip.io:8443"}
+# Keep the sql lite database file
+SQLITE_KEEP_DB=true
+
+# UI code in the parent folder
+UI_PATH=./dist
+
+LOG_TO_JSON=false
+LOG_API_REQUESTS=true
+
+SSO_LOGIN=false
+# Whitelist for the SSO redirect url. Paths can contain wildcard `*`
+SSO_WHITELIST=
+
+# Enable feature in tech preview
+ENABLE_TECH_PREVIEW=true
+# Override the default max list size. When hit we won't fetch all results for the given list
+#UI_LIST_MAX_SIZE=600
+# If the max list size is hit allow the user to load all results anyway. Defaults to false
+#UI_LIST_ALLOW_LOAD_MAXED=false
+
+# User Invites
+SMTP_FROM_ADDRESS=Stratos
+SMTP_HOST=127.0.0.1
+SMTP_PASSWORD=
+SMTP_PORT=1025
+SMTP_USER=
+TEMPLATE_DIR=./templates
+INVITE_USER_CLIENT_ID=
+INVITE_USER_CLIENT_SECRET=
+
+# Use local admin user rather than UAA users
+AUTH_ENDPOINT_TYPE=none
+LOCAL_USER=admin
+LOCAL_USER_PASSWORD=admin
+LOCAL_USER_SCOPE=stratos.admin
+
+# MariaDB database for local dev
+# DATABASE_PROVIDER=mysql
+# DB_HOST=127.0.0.1
+# DB_PORT=3306
+# DB_USER=stratos
+# DB_PASSWORD=strat0s
+# DB_DATABASE_NAME=stratosdb
+
+# Postgresql database for local dev
+# DATABASE_PROVIDER=pgsql
+# DB_HOST=127.0.0.1
+# DB_PORT=5432
+# DB_USER=stratos
+# DB_PASSWORD=strat0s
+# DB_DATABASE_NAME=stratosdb
+# DB_SSL_MODE=disable
diff --git a/electron/electron-store.js b/electron/electron-store.js
new file mode 100644
index 0000000000..3190c60983
--- /dev/null
+++ b/electron/electron-store.js
@@ -0,0 +1,48 @@
+// const electron = require('electron');
+const path = require('path');
+const fs = require('fs');
+const homeDir = require('os').homedir();
+
+class ElectronStore {
+ constructor(opts) {
+ // Renderer process has to get `app` module via `remote`, whereas the main process can get it directly
+ // app.getPath('userData') will return a string of the user's app data directory path.
+ // Causes `EISDIR: illegal operation on a directory, open '/Users//Library/Application Support/Stratos/settings.json'`
+ // this.path = (electron.app || electron.remote.app).getPath('userData');
+ this.path = path.join(homeDir, '.config', 'stratos');
+
+ // We'll use the `configName` property to set the file name and path.join to bring it all together as a string
+ this.filePath = path.join(this.path, opts.configName + '.json');
+
+ this.data = parseDataFile(this.filePath, opts.defaults);
+ }
+
+ // This will just return the property on the `data` object
+ get(key) {
+ return this.data[key];
+ }
+
+ // ...and this will set it
+ set(key, val) {
+ this.data[key] = val;
+ // Wait, I thought using the node.js' synchronous APIs was bad form?
+ // We're not writing a server so there's not nearly the same IO demand on the process
+ // Also if we used an async API and our app was quit before the asynchronous write had a chance to complete,
+ // we might lose that data. Note that in a real app, we would try/catch this.
+ fs.writeFileSync(this.filePath, JSON.stringify(this.data));
+ }
+}
+
+function parseDataFile(filePath, defaults) {
+ // We'll try/catch it in case the file doesn't exist yet, which will be the case on the first application run.
+ // `fs.readFileSync` will return a JSON string which we then parse into a Javascript object
+ try {
+ return JSON.parse(fs.readFileSync(filePath));
+ } catch (error) {
+ // if there was some kind of error, return the passed in defaults instead.
+ return defaults;
+ }
+}
+
+// expose the class
+module.exports = ElectronStore;
diff --git a/electron/freeport.js b/electron/freeport.js
new file mode 100644
index 0000000000..519c500238
--- /dev/null
+++ b/electron/freeport.js
@@ -0,0 +1,59 @@
+const net = require("net");
+
+// call method 1: (port, cb(err, freePort))
+// call method 2: (portBeg, portEnd, cb(err, freePort))
+// call method 3: (portBeg, host, cb(err, freePort))
+// call method 4: (portBeg, portEnd, host, cb(err, freePort))
+// call method 5: (portBeg, portEnd, host, howmany, cb(err, freePort1, freePort2, ...))
+
+function findFreePort(beg, ...rest){
+ const p = rest.slice(0, rest.length - 1), cb = rest[rest.length - 1];
+ let [end, ip, cnt] = Array.from(p);
+ if (!ip && end && !/^\d+$/.test(end)) { // deal with method 3
+ ip = end;
+ end = 65534;
+ } else {
+ if (end == null) { end = 65534; }
+ }
+ if (cnt == null) { cnt = 1; }
+
+ const retcb = cb;
+ const res = [];
+ const probe = function(ip, port, cb){
+ const s = net.createConnection({port: port, host: ip})
+ s.on('connect', function(){ s.end(); cb(null, port + 1); });
+ s.on('error', err=> { cb(port); }); // can't connect, port is available
+ };
+ var onprobe = function(port, nextPort){
+ if (port) {
+ res.push(port);
+ if (res.length >= cnt) {
+ retcb(null, ...res)
+ } else {
+ setImmediate(()=> probe(ip, port+1, onprobe));
+ }
+ } else {
+ if (nextPort>=end) {
+ retcb(new Error("No available ports"));
+ } else {
+ setImmediate(()=> probe(ip, nextPort, onprobe));
+ }
+ }
+ };
+ return probe(ip, beg, onprobe);
+};
+
+function findFreePortPmfy(beg, ...rest) {
+ const last = rest[rest.length - 1];
+ if (typeof last === 'function') {
+ findFreePort(beg, ...rest);
+ } else {
+ return new Promise((resolve, reject) => {
+ findFreePort(beg, ...rest, (err, ...ports) => {
+ if (err) reject(err)
+ else resolve(ports);
+ })
+ })
+ }
+}
+module.exports = findFreePortPmfy
\ No newline at end of file
diff --git a/electron/icon.icns b/electron/icon.icns
new file mode 100644
index 0000000000..80aa40e21d
Binary files /dev/null and b/electron/icon.icns differ
diff --git a/electron/icon.png b/electron/icon.png
new file mode 100644
index 0000000000..3fdc1d63fa
Binary files /dev/null and b/electron/icon.png differ
diff --git a/electron/index.js b/electron/index.js
new file mode 100644
index 0000000000..61989102d5
--- /dev/null
+++ b/electron/index.js
@@ -0,0 +1,271 @@
+const {
+ app,
+ BrowserWindow,
+ Menu,
+ shell,
+ dialog,
+ nativeTheme,
+ Notification,
+ ipcMain
+} = require('electron')
+const url = require("url");
+const path = require("path");
+const https = require('https');
+const chokidar = require('chokidar');
+
+const ElectronStore = require('./electron-store.js');
+
+const findFreePort = require("./freeport");
+const {
+ exec,
+ spawn
+} = require('child_process');
+const contextMenu = require('electron-context-menu');
+const mainMenu = require('./menu');
+const homeDir = require('os').homedir();
+const fs = require('fs-extra');
+const windowStateKeeper = require('electron-window-state');
+// const {
+// escapeRegExp
+// } = require('lodash');
+
+// Auto-update - won't work without signed developer account
+// require('update-electron-app')({
+// repo: 'nwmac/stratos-desktop',
+// updateInterval: '5 minutes',
+// //logger: require('electron-log')
+// })
+
+//const LOG_FILE = '/Users/nwm/stratos.log';
+const icon = path.join(__dirname, '/icon.png');
+
+const ELECTRON_NOTIFICATION = 'ELECTRON_NOTIFICATION';
+// See node_modules/electron/electron.d.ts NotificationConstructorOptions
+const standardNotificationSettings = {
+ title: 'Stratos',
+ silent: false,
+ icon,
+};
+
+let mainWindow;
+let jetstream;
+
+const lastLocation = 'lastLocation';
+const store = new ElectronStore({
+ configName: 'settings',
+ defaults: {
+ [lastLocation]: ''
+ }
+});
+
+function addContextMenu(mainWindow) {
+ let rightClickPosition = null
+
+ const menu = new Menu()
+ const menuItem = new MenuItem({
+ label: 'Inspect Element',
+ click: () => {
+ remote.getCurrentWindow().inspectElement(rightClickPosition.x, rightClickPosition.y)
+ }
+ })
+ menu.append(menuItem)
+
+ mainWindow.addEventListener('contextmenu', (e) => {
+ e.preventDefault()
+ rightClickPosition = {
+ x: e.x,
+ y: e.y
+ }
+ menu.popup(remote.getCurrentWindow())
+ }, false);
+}
+
+function createWindow() {
+
+ // fs.writeFileSync(LOG_FILE, 'STRATOS\n');
+ // fs.appendFileSync(LOG_FILE, __dirname);
+
+ findFreePort(30000, 40000, '127.0.0.1', function (err, port) {
+ let url = `127.0.0.1:${port}`;
+ const prog = path.join(__dirname, `./jetstream`);
+ jetstream = spawn(prog, [], {
+ env: getEnvironment(url),
+ cwd: __dirname,
+ stdio: 'inherit'
+ });
+
+ waitForBackend(`https://${url}`, () => {
+ doCreateWindow(url);
+ }, 0);
+ });
+}
+
+function doCreateWindow(url) {
+
+ let mainWindowState = windowStateKeeper({
+ defaultWidth: 1024,
+ defaultHeight: 768
+ });
+
+ mainWindow = new BrowserWindow({
+ x: mainWindowState.x,
+ y: mainWindowState.y,
+ width: mainWindowState.width,
+ height: mainWindowState.height,
+ // title: 'Stratos', // Set automatically by html title
+ webPreferences: {
+ nodeIntegration: true
+ },
+ icon,
+ });
+ // Remember last position and size
+ mainWindowState.manage(mainWindow);
+ mainWindow.on('close', function () {
+ savePath(mainWindow.webContents.getURL())
+ });
+ mainWindow.on('closed', function () {
+ mainWindow = null;
+ jetstream.kill();
+ });
+
+ // Context menu
+ contextMenu({
+ window: mainWindow,
+ // Hide the 'inspect element' menu item
+ // showInspectElement: false
+ });
+
+ // Load the UI from the dev version beign served by `ng serve`
+ if (isDev()) {
+ url = '127.0.0.1:4200'
+ }
+ url = `https://${url}`
+
+ const menu = Menu.buildFromTemplate(mainMenu(mainWindow, url));
+ Menu.setApplicationMenu(menu)
+
+ mainWindow.loadURL(addPath(url));
+
+ ipcMain.on(ELECTRON_NOTIFICATION, (event, args) => {
+ new Notification({
+ ...standardNotificationSettings,
+ title: 'Stratos',
+ body: args.message,
+ }).show()
+ })
+
+ // Open the DevTools.
+ //mainWindow.webContents.openDevTools({mode:'undocked'});
+
+ // Watch for changed in ant of the local configuration files
+ // We will reload endpoints when these change
+ const watcher = chokidar.watch([
+ getCFConfigFile(),
+ getKubeConfigFile(),
+ getHelmRepoFolder()
+ ]);
+ watcher.on('all', (action, filePath) => {
+ mainWindow.webContents.send('endpointsChanged', action, filePath);
+ });
+}
+
+app.on('ready', createWindow)
+
+app.on('window-all-closed', function () {
+ //if (process.platform !== 'darwin') app.quit()
+ // Even on MacOS, quit when the last window is closed
+ app.quit();
+})
+
+app.on('activate', function () {
+ if (mainWindow === null) createWindow()
+})
+
+app.on('certificate-error', (event, webContents, url, error, certificate, callback) => {
+
+ if (url.indexOf('https://127.0.0.1') === 0 || url.indexOf('wss://127.0.0.1') === 0) {
+ // Verification logic.
+ event.preventDefault()
+ callback(true)
+ } else {
+ callback(false);
+ }
+});
+
+function addPath(url) {
+ return url + store.get(lastLocation);
+}
+
+function savePath(url) {
+ const oUrl = new URL(url);
+ store.set(lastLocation, oUrl.pathname);
+}
+
+function getConfigFolder() {
+ const configFolder = store.path;
+ fs.ensureDirSync(configFolder);
+ return configFolder;
+}
+
+function getEnvironment(url) {
+ return {
+ 'CONSOLE_PROXY_TLS_ADDRESS': url,
+ 'SQLITE_KEEP_DB': 'true',
+ 'SQLITE_DB_DIR': getConfigFolder(),
+ //'LOG_LEVEL': 'DEBUG',
+ 'SESSION_STORE_EXPIRY': 5000,
+ 'AUTH_ENDPOINT_TYPE': 'none'
+ };
+}
+
+function isDev() {
+ const args = process.argv
+ return args.length > 1 && args[2] === 'dev';
+}
+
+function waitForBackend(url, done, retry) {
+ const opts = {
+ rejectUnauthorized: false,
+ }
+ const ping = `${url}/pp/v1/version`;
+ https.get(ping, opts, (resp) => {
+ if (resp.statusCode === 200) {
+ done();
+ } else {
+ jetstreamDidNotStart(url, done, retry + 1)
+ }
+ }).on('error', (err) => {
+ jetstreamDidNotStart(url, done, retry + 1)
+ });
+
+}
+
+function jetstreamDidNotStart(url, done, retry) {
+ if (retry === 100) {
+ dialog.showMessageBoxSync({
+ type: 'error',
+ title: 'Failed to start Stratos backend',
+ message: 'The Stratos backend could not be reached'
+ });
+ jetstream.kill();
+ app.quit();
+ } else {
+ setTimeout(() => waitForBackend(url, done, retry), 50);
+ }
+}
+
+function getHelmRepoFolder() {
+ var isMac = process.platform === "darwin";
+ if (isMac) {
+ return path.join(homeDir, 'Library', 'Preferences', 'helm');
+ }
+ return path.join(homeDir, '.config', 'helm');
+}
+
+function getCFConfigFile() {
+ return path.join(homeDir, '.cf', 'config.json');
+}
+
+function getKubeConfigFile() {
+ return process.env.KUBECONFIG || path.join(homeDir, '.kube', 'config');
+}
diff --git a/electron/logo.png b/electron/logo.png
new file mode 100644
index 0000000000..03d4990b89
Binary files /dev/null and b/electron/logo.png differ
diff --git a/electron/menu.js b/electron/menu.js
new file mode 100644
index 0000000000..1a0fd6921b
--- /dev/null
+++ b/electron/menu.js
@@ -0,0 +1,232 @@
+const {
+ app,
+ Menu,
+ BrowserWindow,
+ autoUpdater
+} = require('electron')
+
+const fs = require('fs');
+const path = require("path");
+
+const isMac = process.platform === 'darwin'
+
+let appMainWindow;
+let appHomeUrl;
+
+// Read version file
+const versionFile = path.join(__dirname, `./version`);
+let version = 'dev';
+if (fs.existsSync(versionFile)) {
+ version = fs.readFileSync(versionFile).toString();
+}
+
+function getMenu(mainWindow, homeUrl) {
+ appMainWindow = mainWindow;
+ appHomeUrl = homeUrl
+ return template;
+}
+
+function about() {
+ let child = new BrowserWindow({
+ parent: appMainWindow,
+ modal: true,
+ width: 360,
+ height: 300,
+ webPreferences: {
+ enableRemoteModule: true,
+ nodeIntegration: true
+ }
+ });
+ child.stratosVersion = version;
+ child.loadFile('about.html');
+ //child.webContents.openDevTools({mode:'undocked'});
+}
+
+const template = [
+ // { role: 'appMenu' }
+ ...(isMac ? [{
+ label: 'Stratos',
+ submenu: [{
+ label: 'About Stratos',
+ click: function () {
+ about();
+ }
+ },
+ {
+ type: 'separator'
+ },
+ {
+ role: 'services'
+ },
+ {
+ type: 'separator'
+ },
+ {
+ role: 'hide'
+ },
+ {
+ role: 'hideothers'
+ },
+ {
+ role: 'unhide'
+ },
+ {
+ type: 'separator'
+ },
+ {
+ role: 'quit'
+ }
+ ]
+ }] : []),
+ // { role: 'fileMenu' }
+ {
+ label: 'File',
+ submenu: [
+ {
+ label: 'Check for Updates',
+ click: function () {
+ autoUpdater.checkForUpdates();
+ }
+ },
+ {
+ type: 'separator'
+ },
+ isMac ? {
+ role: 'close'
+ } : {
+ role: 'quit'
+ }
+ ]
+ },
+ // { role: 'editMenu' }
+ {
+ label: 'Edit',
+ submenu: [{
+ role: 'undo'
+ },
+ {
+ role: 'redo'
+ },
+ {
+ type: 'separator'
+ },
+ {
+ role: 'cut'
+ },
+ {
+ role: 'copy'
+ },
+ {
+ role: 'paste'
+ },
+ ...(isMac ? [{
+ role: 'pasteAndMatchStyle'
+ },
+ {
+ role: 'delete'
+ },
+ {
+ role: 'selectAll'
+ },
+ {
+ type: 'separator'
+ },
+ // {
+ // label: 'Speech',
+ // submenu: [
+ // { role: 'startspeaking' },
+ // { role: 'stopspeaking' }
+ // ]
+ // }
+ ] : [{
+ role: 'delete'
+ },
+ {
+ type: 'separator'
+ },
+ {
+ role: 'selectAll'
+ }
+ ]),
+ {
+ label: 'Settings',
+ click(menuItem, browserWindow, event) {
+ const url = `${appHomeUrl}/desktop-settings`
+ browserWindow.loadURL(url)
+ }
+ }
+ ]
+ },
+ // { role: 'viewMenu' }
+ {
+ label: 'View',
+ submenu: [{
+ role: 'reload'
+ },
+ {
+ role: 'forcereload'
+ },
+ {
+ role: 'toggledevtools'
+ },
+ {
+ type: 'separator'
+ },
+ {
+ role: 'resetzoom'
+ },
+ {
+ role: 'zoomin'
+ },
+ {
+ role: 'zoomout'
+ },
+ {
+ type: 'separator'
+ },
+ {
+ role: 'togglefullscreen'
+ }
+ ]
+ },
+ // { role: 'windowMenu' }
+ {
+ label: 'Window',
+ submenu: [{
+ role: 'minimize'
+ },
+ {
+ role: 'zoom'
+ },
+ ...(isMac ? [{
+ type: 'separator'
+ },
+ {
+ role: 'front'
+ },
+ {
+ type: 'separator'
+ },
+ {
+ role: 'window'
+ }
+ ] : [{
+ role: 'close'
+ }])
+ ]
+ },
+ {
+ role: 'help',
+ submenu: [{
+ label: 'Learn More',
+ click: async () => {
+ const {
+ shell
+ } = require('electron')
+ await shell.openExternal('https://electronjs.org')
+ }
+ }]
+ }
+]
+
+module.exports = getMenu;
diff --git a/electron/package-lock.json b/electron/package-lock.json
new file mode 100644
index 0000000000..3172b2375e
--- /dev/null
+++ b/electron/package-lock.json
@@ -0,0 +1,5767 @@
+{
+ "name": "Stratos",
+ "version": "4.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@electron-forge/async-ora": {
+ "version": "6.0.0-beta.54",
+ "resolved": "https://registry.npmjs.org/@electron-forge/async-ora/-/async-ora-6.0.0-beta.54.tgz",
+ "integrity": "sha512-OCoHds0BIXaB54HgKw6pjlHC1cnaTcfJfVVkPSJl1GLC3VShZ5bETJfsitwbiP2kbfKLUQFayW27sqbwnwQR2w==",
+ "dev": true,
+ "requires": {
+ "colors": "^1.4.0",
+ "debug": "^4.1.0",
+ "log-symbols": "^4.0.0",
+ "ora": "^5.0.0",
+ "pretty-ms": "^7.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
+ }
+ },
+ "@electron-forge/cli": {
+ "version": "6.0.0-beta.54",
+ "resolved": "https://registry.npmjs.org/@electron-forge/cli/-/cli-6.0.0-beta.54.tgz",
+ "integrity": "sha512-+Ui1BI8c5CnBawH2OEySa5QR8DzrFd/I9FHlClvrTsIDfsBAeMSv9NTbSNcmo9Af5kI+aNsLQa8tp1vD8DNrng==",
+ "dev": true,
+ "requires": {
+ "@electron-forge/async-ora": "6.0.0-beta.54",
+ "@electron-forge/core": "6.0.0-beta.54",
+ "@electron-forge/shared-types": "6.0.0-beta.54",
+ "@electron/get": "^1.9.0",
+ "colors": "^1.4.0",
+ "commander": "^4.1.1",
+ "debug": "^4.1.0",
+ "fs-extra": "^9.0.1",
+ "inquirer": "^7.3.3",
+ "semver": "^7.2.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
+ }
+ },
+ "@electron-forge/core": {
+ "version": "6.0.0-beta.54",
+ "resolved": "https://registry.npmjs.org/@electron-forge/core/-/core-6.0.0-beta.54.tgz",
+ "integrity": "sha512-yggZeiwRLnIsQYCT5jKhx2L7I02CwUCjnIzA+CqUZXD0AU1c2o0BA/26dNOGvY/+pr5yWjOXcrGy1hvj3dnLmQ==",
+ "dev": true,
+ "requires": {
+ "@electron-forge/async-ora": "6.0.0-beta.54",
+ "@electron-forge/installer-base": "6.0.0-beta.54",
+ "@electron-forge/installer-deb": "6.0.0-beta.54",
+ "@electron-forge/installer-dmg": "6.0.0-beta.54",
+ "@electron-forge/installer-exe": "6.0.0-beta.54",
+ "@electron-forge/installer-rpm": "6.0.0-beta.54",
+ "@electron-forge/installer-zip": "6.0.0-beta.54",
+ "@electron-forge/maker-base": "6.0.0-beta.54",
+ "@electron-forge/plugin-base": "6.0.0-beta.54",
+ "@electron-forge/publisher-base": "6.0.0-beta.54",
+ "@electron-forge/shared-types": "6.0.0-beta.54",
+ "@electron-forge/template-base": "6.0.0-beta.54",
+ "@electron-forge/template-typescript": "6.0.0-beta.54",
+ "@electron-forge/template-typescript-webpack": "6.0.0-beta.54",
+ "@electron-forge/template-webpack": "6.0.0-beta.54",
+ "@electron/get": "^1.9.0",
+ "@malept/cross-spawn-promise": "^1.1.0",
+ "colors": "^1.4.0",
+ "debug": "^4.1.0",
+ "electron-packager": "^15.0.0",
+ "electron-rebuild": "^2.0.3",
+ "find-up": "^5.0.0",
+ "fs-extra": "^9.0.1",
+ "glob": "^7.1.5",
+ "lodash": "^4.17.20",
+ "log-symbols": "^4.0.0",
+ "node-fetch": "^2.6.0",
+ "nugget": "^2.0.1",
+ "resolve-package": "^1.0.1",
+ "semver": "^7.2.1",
+ "source-map-support": "^0.5.13",
+ "sudo-prompt": "^9.1.1",
+ "username": "^5.1.0",
+ "yarn-or-npm": "^3.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
+ }
+ },
+ "@electron-forge/installer-base": {
+ "version": "6.0.0-beta.54",
+ "resolved": "https://registry.npmjs.org/@electron-forge/installer-base/-/installer-base-6.0.0-beta.54.tgz",
+ "integrity": "sha512-q6Z5kBAE6StKqn+3Z5tXVHu7WGCb9OMeIomw9H9Q41UUIehF7V0J3tCWTkJdhZ8D6/tkXcis3GKptaj0wfMpyg==",
+ "dev": true,
+ "requires": {
+ "@electron-forge/async-ora": "6.0.0-beta.54"
+ }
+ },
+ "@electron-forge/installer-darwin": {
+ "version": "6.0.0-beta.54",
+ "resolved": "https://registry.npmjs.org/@electron-forge/installer-darwin/-/installer-darwin-6.0.0-beta.54.tgz",
+ "integrity": "sha512-kRbH24+QBhbcIugnIvevnf43JGzLFLoyFsoY3YeyZeeDL3vfyg0vtSyUx0hfq1GpHG+zObDf3o18c3WbxdXlXA==",
+ "dev": true,
+ "requires": {
+ "@electron-forge/async-ora": "6.0.0-beta.54",
+ "@electron-forge/installer-base": "6.0.0-beta.54",
+ "fs-extra": "^9.0.1",
+ "sudo-prompt": "^9.1.1"
+ }
+ },
+ "@electron-forge/installer-deb": {
+ "version": "6.0.0-beta.54",
+ "resolved": "https://registry.npmjs.org/@electron-forge/installer-deb/-/installer-deb-6.0.0-beta.54.tgz",
+ "integrity": "sha512-UbJR2Md0SBqex5AIv9YZ56hY2Iz5gZ6f1iAx0q4PlYpCY19W9nRXdudLNhx1w5go26DsT53+h6EzX2NGpBLq3Q==",
+ "dev": true,
+ "requires": {
+ "@electron-forge/installer-linux": "6.0.0-beta.54"
+ }
+ },
+ "@electron-forge/installer-dmg": {
+ "version": "6.0.0-beta.54",
+ "resolved": "https://registry.npmjs.org/@electron-forge/installer-dmg/-/installer-dmg-6.0.0-beta.54.tgz",
+ "integrity": "sha512-F9jwhUTzdFNlbLus7RQ8paoGPryr79JFYDLi42f0dyuFwlOjwlrA1wN5xWqrvcMeqFlc3DfjjeRWZ+10RQyorA==",
+ "dev": true,
+ "requires": {
+ "@electron-forge/installer-darwin": "6.0.0-beta.54",
+ "@malept/cross-spawn-promise": "^1.1.0",
+ "debug": "^4.1.0",
+ "fs-extra": "^9.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
+ }
+ },
+ "@electron-forge/installer-exe": {
+ "version": "6.0.0-beta.54",
+ "resolved": "https://registry.npmjs.org/@electron-forge/installer-exe/-/installer-exe-6.0.0-beta.54.tgz",
+ "integrity": "sha512-PE7RBPerSenNcSkKXJWpervKNl7AVT+JeMzx61OHUQSw3h63NHRvXWh31llxk32mmJcaKRgGle2GsWob87Lv/w==",
+ "dev": true,
+ "requires": {
+ "@electron-forge/installer-base": "6.0.0-beta.54",
+ "open": "^7.2.1"
+ }
+ },
+ "@electron-forge/installer-linux": {
+ "version": "6.0.0-beta.54",
+ "resolved": "https://registry.npmjs.org/@electron-forge/installer-linux/-/installer-linux-6.0.0-beta.54.tgz",
+ "integrity": "sha512-WQVV5fitsfTyktjb18m9Bx+Dho6rCFvVILqFNZAu1RfXIsjLl/h0WdkozdGDccfeDMqlRYmaNs3e5THn5swnAg==",
+ "dev": true,
+ "requires": {
+ "@electron-forge/installer-base": "6.0.0-beta.54",
+ "sudo-prompt": "^9.1.1"
+ }
+ },
+ "@electron-forge/installer-rpm": {
+ "version": "6.0.0-beta.54",
+ "resolved": "https://registry.npmjs.org/@electron-forge/installer-rpm/-/installer-rpm-6.0.0-beta.54.tgz",
+ "integrity": "sha512-8gaJA2m8+Y/ZhV4xEeijXz8UksrliMEzyUAdwM5ZdAsmfmGlnhchGr0L6rI23D66dQP9DeyvUIuUwXrsTlj1nQ==",
+ "dev": true,
+ "requires": {
+ "@electron-forge/installer-linux": "6.0.0-beta.54"
+ }
+ },
+ "@electron-forge/installer-zip": {
+ "version": "6.0.0-beta.54",
+ "resolved": "https://registry.npmjs.org/@electron-forge/installer-zip/-/installer-zip-6.0.0-beta.54.tgz",
+ "integrity": "sha512-KCY5zreA79wjZODhLmtrbFweTWdlh9JgmW9WruIrmHm3sK19rRhCdaZ+Dg5ZWUhMx2A79d5a2C7r78lWGcHl7A==",
+ "dev": true,
+ "requires": {
+ "@electron-forge/installer-darwin": "6.0.0-beta.54",
+ "@malept/cross-spawn-promise": "^1.1.0",
+ "fs-extra": "^9.0.1"
+ }
+ },
+ "@electron-forge/maker-base": {
+ "version": "6.0.0-beta.54",
+ "resolved": "https://registry.npmjs.org/@electron-forge/maker-base/-/maker-base-6.0.0-beta.54.tgz",
+ "integrity": "sha512-4y0y15ieb1EOR5mibtFM9tZzaShbAO0RZu6ARLCpD5BgKuJBzXRPfWvEmY6WeDNzoWTJ+mQdYikLAeOL2E9mew==",
+ "dev": true,
+ "requires": {
+ "@electron-forge/shared-types": "6.0.0-beta.54",
+ "fs-extra": "^9.0.1",
+ "which": "^2.0.2"
+ }
+ },
+ "@electron-forge/maker-deb": {
+ "version": "6.0.0-beta.54",
+ "resolved": "https://registry.npmjs.org/@electron-forge/maker-deb/-/maker-deb-6.0.0-beta.54.tgz",
+ "integrity": "sha512-PEAYULi7n/JkwvaEQnM554ewmLYkxGtHvuh6vUf5wsh48Xw3jcEVHejsc4FDjx5I6cKAByb9nscTtZpKt3ngXw==",
+ "dev": true,
+ "requires": {
+ "@electron-forge/maker-base": "6.0.0-beta.54",
+ "@electron-forge/shared-types": "6.0.0-beta.54",
+ "electron-installer-debian": "^3.0.0"
+ }
+ },
+ "@electron-forge/maker-dmg": {
+ "version": "6.0.0-beta.54",
+ "resolved": "https://registry.npmjs.org/@electron-forge/maker-dmg/-/maker-dmg-6.0.0-beta.54.tgz",
+ "integrity": "sha512-5FmzxBiBxTS7z9SthJKRWpOtMKeDrPqvdi3l56DhwAO6beV3g2Gx2bpx9Y8PZXCU+fLDmcTgUstzjxFF7LLggQ==",
+ "dev": true,
+ "requires": {
+ "@electron-forge/maker-base": "6.0.0-beta.54",
+ "@electron-forge/shared-types": "6.0.0-beta.54",
+ "electron-installer-dmg": "^3.0.0",
+ "fs-extra": "^9.0.1"
+ }
+ },
+ "@electron-forge/maker-rpm": {
+ "version": "6.0.0-beta.54",
+ "resolved": "https://registry.npmjs.org/@electron-forge/maker-rpm/-/maker-rpm-6.0.0-beta.54.tgz",
+ "integrity": "sha512-6nqBOUnojRE8+KdvE8zVXN2/H/V/QuWJQ4cwCLahJQxG1kG5RXOh6VbsM1mEFxjJwOhVnK+wkNCODf1qi56JZw==",
+ "dev": true,
+ "requires": {
+ "@electron-forge/maker-base": "6.0.0-beta.54",
+ "@electron-forge/shared-types": "6.0.0-beta.54",
+ "electron-installer-redhat": "^3.2.0"
+ }
+ },
+ "@electron-forge/maker-squirrel": {
+ "version": "6.0.0-beta.54",
+ "resolved": "https://registry.npmjs.org/@electron-forge/maker-squirrel/-/maker-squirrel-6.0.0-beta.54.tgz",
+ "integrity": "sha512-JJ+HmUe94zZ6mZnyv3IvNLQ5nwoj4dcQ4gzwps4P3fCEpuABMr74KOlza7fMXrrs8cwOrGfMFwsk80GTcLdWkg==",
+ "dev": true,
+ "requires": {
+ "@electron-forge/maker-base": "6.0.0-beta.54",
+ "@electron-forge/shared-types": "6.0.0-beta.54",
+ "electron-winstaller": "^4.0.1",
+ "fs-extra": "^9.0.1"
+ }
+ },
+ "@electron-forge/maker-zip": {
+ "version": "6.0.0-beta.54",
+ "resolved": "https://registry.npmjs.org/@electron-forge/maker-zip/-/maker-zip-6.0.0-beta.54.tgz",
+ "integrity": "sha512-wbJhK1rDOCZMTtKrjvavT8R+Yi+v/6axsnTXvzbkzzMQ0xADKNslTwzO6mmbBJea4oIbYmQ44DRAjI21TNyQ/A==",
+ "dev": true,
+ "requires": {
+ "@electron-forge/maker-base": "6.0.0-beta.54",
+ "@electron-forge/shared-types": "6.0.0-beta.54",
+ "cross-zip": "^3.0.0",
+ "fs-extra": "^9.0.1"
+ }
+ },
+ "@electron-forge/plugin-base": {
+ "version": "6.0.0-beta.54",
+ "resolved": "https://registry.npmjs.org/@electron-forge/plugin-base/-/plugin-base-6.0.0-beta.54.tgz",
+ "integrity": "sha512-8HwGzgNCHo2PgUfNnTch3Gvj7l6fqOgjnARK1y056UfsxFy+hwvHaAO+7LLfr7ktNwU/bH3hGhOpE+ZmBSwSqQ==",
+ "dev": true,
+ "requires": {
+ "@electron-forge/shared-types": "6.0.0-beta.54"
+ }
+ },
+ "@electron-forge/publisher-base": {
+ "version": "6.0.0-beta.54",
+ "resolved": "https://registry.npmjs.org/@electron-forge/publisher-base/-/publisher-base-6.0.0-beta.54.tgz",
+ "integrity": "sha512-Dny0jW0N8QcNYKHTtzQFZD4pBWJ7tclJWf3ZCX031vUKG7RhThdA06IPNzV6JtWJswrvAE9TPndzZONMza2V7g==",
+ "dev": true,
+ "requires": {
+ "@electron-forge/shared-types": "6.0.0-beta.54"
+ }
+ },
+ "@electron-forge/publisher-github": {
+ "version": "6.0.0-beta.54",
+ "resolved": "https://registry.npmjs.org/@electron-forge/publisher-github/-/publisher-github-6.0.0-beta.54.tgz",
+ "integrity": "sha512-B6jwlYBtLjxpL0K6X7DKr8RgOk7mFEDbPsnExmZBbdY19FJ6Z5IdW8atOOqVQl7i+8XjwtXGOKBFv2QDKHp48A==",
+ "dev": true,
+ "requires": {
+ "@electron-forge/async-ora": "6.0.0-beta.54",
+ "@electron-forge/publisher-base": "6.0.0-beta.54",
+ "@electron-forge/shared-types": "6.0.0-beta.54",
+ "@octokit/core": "^3.1.2",
+ "@octokit/rest": "^18.0.6",
+ "@octokit/types": "^5.5.0",
+ "fs-extra": "^9.0.1",
+ "lodash": "^4.17.20",
+ "mime-types": "^2.1.25"
+ }
+ },
+ "@electron-forge/shared-types": {
+ "version": "6.0.0-beta.54",
+ "resolved": "https://registry.npmjs.org/@electron-forge/shared-types/-/shared-types-6.0.0-beta.54.tgz",
+ "integrity": "sha512-6CzWKFR17rxxeIqm1w5ZyT9uTAHSVAjhqL8c+TmizF2703GyCEusUkjP2UXt/tZNY4MJlukZoJM66Bct6oZJ+w==",
+ "dev": true,
+ "requires": {
+ "@electron-forge/async-ora": "6.0.0-beta.54",
+ "electron-packager": "^15.0.0",
+ "electron-rebuild": "^2.0.3",
+ "ora": "^5.0.0"
+ }
+ },
+ "@electron-forge/template-base": {
+ "version": "6.0.0-beta.54",
+ "resolved": "https://registry.npmjs.org/@electron-forge/template-base/-/template-base-6.0.0-beta.54.tgz",
+ "integrity": "sha512-LuSpeOiM6AzUbamz5U/NqRkn4y7dzof1JK1ISAb+6tORf7JU014aKqDcLdwgP8Lxaz6P1bdlMmNJTvg5+SBrEw==",
+ "dev": true,
+ "requires": {
+ "@electron-forge/async-ora": "6.0.0-beta.54",
+ "@electron-forge/shared-types": "6.0.0-beta.54",
+ "debug": "^4.1.0",
+ "fs-extra": "^9.0.1",
+ "username": "^5.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
+ }
+ },
+ "@electron-forge/template-typescript": {
+ "version": "6.0.0-beta.54",
+ "resolved": "https://registry.npmjs.org/@electron-forge/template-typescript/-/template-typescript-6.0.0-beta.54.tgz",
+ "integrity": "sha512-7V87LWH+vJ1YibM9MsTttbz7upfwLrmXgchQ399EfLxK306g7q/ouyGkeTerhLr2gCUAvm/Oqx+sXQ7402ol9w==",
+ "dev": true,
+ "requires": {
+ "@electron-forge/async-ora": "6.0.0-beta.54",
+ "@electron-forge/shared-types": "6.0.0-beta.54",
+ "@electron-forge/template-base": "6.0.0-beta.54",
+ "fs-extra": "^9.0.1"
+ }
+ },
+ "@electron-forge/template-typescript-webpack": {
+ "version": "6.0.0-beta.54",
+ "resolved": "https://registry.npmjs.org/@electron-forge/template-typescript-webpack/-/template-typescript-webpack-6.0.0-beta.54.tgz",
+ "integrity": "sha512-1MIw1eGlMZg7KLG4oAEE0rB28WDOtz01OSoW2a2NqkmUzmu4BxJdSvQ97Tp7xCU0naW0H1uU39B9QOjJQgLGCQ==",
+ "dev": true,
+ "requires": {
+ "@electron-forge/async-ora": "6.0.0-beta.54",
+ "@electron-forge/shared-types": "6.0.0-beta.54",
+ "@electron-forge/template-base": "6.0.0-beta.54",
+ "fs-extra": "^9.0.1"
+ }
+ },
+ "@electron-forge/template-webpack": {
+ "version": "6.0.0-beta.54",
+ "resolved": "https://registry.npmjs.org/@electron-forge/template-webpack/-/template-webpack-6.0.0-beta.54.tgz",
+ "integrity": "sha512-4/zUOZ8MCZqs8PcUCeeG6ofpy6HT53tQiLknM23OPaFP6ckuE6kOunC6N/teijUrJuLpKl3P8d39SWPVacxEzg==",
+ "dev": true,
+ "requires": {
+ "@electron-forge/async-ora": "6.0.0-beta.54",
+ "@electron-forge/shared-types": "6.0.0-beta.54",
+ "@electron-forge/template-base": "6.0.0-beta.54",
+ "fs-extra": "^9.0.1"
+ }
+ },
+ "@electron/get": {
+ "version": "1.12.2",
+ "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.12.2.tgz",
+ "integrity": "sha512-vAuHUbfvBQpYTJ5wB7uVIDq5c/Ry0fiTBMs7lnEYAo/qXXppIVcWdfBr57u6eRnKdVso7KSiH6p/LbQAG6Izrg==",
+ "dev": true,
+ "requires": {
+ "debug": "^4.1.1",
+ "env-paths": "^2.2.0",
+ "fs-extra": "^8.1.0",
+ "global-agent": "^2.0.2",
+ "global-tunnel-ng": "^2.7.1",
+ "got": "^9.6.0",
+ "progress": "^2.0.3",
+ "sanitize-filename": "^1.6.2",
+ "sumchecker": "^3.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "fs-extra": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+ "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
+ "universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "dev": true
+ }
+ }
+ },
+ "@malept/cross-spawn-promise": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.0.tgz",
+ "integrity": "sha512-GeIK5rfU1Yd7BZJQPTGZMMmcZy5nhRToPXZcjaDwQDRSewdhp648GT2E4dh+L7+Io7AOW6WQ+GR44QSzja4qxg==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^7.0.1"
+ }
+ },
+ "@octokit/auth-token": {
+ "version": "2.4.4",
+ "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.4.tgz",
+ "integrity": "sha512-LNfGu3Ro9uFAYh10MUZVaT7X2CnNm2C8IDQmabx+3DygYIQjs9FwzFAHN/0t6mu5HEPhxcb1XOuxdpY82vCg2Q==",
+ "dev": true,
+ "requires": {
+ "@octokit/types": "^6.0.0"
+ },
+ "dependencies": {
+ "@octokit/types": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.0.1.tgz",
+ "integrity": "sha512-H/DnTKC+U09en2GFLH/MfAPNDaYb1isieD4Hx4NLpEt/I1PgtZP/8a+Ehc/j9GHuVF/UvGtOVD8AF9XXvws53w==",
+ "dev": true,
+ "requires": {
+ "@octokit/openapi-types": "^1.2.0",
+ "@types/node": ">= 8"
+ }
+ }
+ }
+ },
+ "@octokit/core": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.2.2.tgz",
+ "integrity": "sha512-cZEP6dC8xpepbAqtdS1GgX88omLer8VQegw5BpQ5fbSrkxgY9Y9K7ratu8ezAd9bD0GVOR1GVWiRzYdxiprU1w==",
+ "dev": true,
+ "requires": {
+ "@octokit/auth-token": "^2.4.0",
+ "@octokit/graphql": "^4.3.1",
+ "@octokit/request": "^5.4.0",
+ "@octokit/types": "^6.0.0",
+ "before-after-hook": "^2.1.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "dependencies": {
+ "@octokit/types": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.0.1.tgz",
+ "integrity": "sha512-H/DnTKC+U09en2GFLH/MfAPNDaYb1isieD4Hx4NLpEt/I1PgtZP/8a+Ehc/j9GHuVF/UvGtOVD8AF9XXvws53w==",
+ "dev": true,
+ "requires": {
+ "@octokit/openapi-types": "^1.2.0",
+ "@types/node": ">= 8"
+ }
+ }
+ }
+ },
+ "@octokit/endpoint": {
+ "version": "6.0.10",
+ "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.10.tgz",
+ "integrity": "sha512-9+Xef8nT7OKZglfkOMm7IL6VwxXUQyR7DUSU0LH/F7VNqs8vyd7es5pTfz9E7DwUIx7R3pGscxu1EBhYljyu7Q==",
+ "dev": true,
+ "requires": {
+ "@octokit/types": "^6.0.0",
+ "is-plain-object": "^5.0.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "dependencies": {
+ "@octokit/types": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.0.1.tgz",
+ "integrity": "sha512-H/DnTKC+U09en2GFLH/MfAPNDaYb1isieD4Hx4NLpEt/I1PgtZP/8a+Ehc/j9GHuVF/UvGtOVD8AF9XXvws53w==",
+ "dev": true,
+ "requires": {
+ "@octokit/openapi-types": "^1.2.0",
+ "@types/node": ">= 8"
+ }
+ }
+ }
+ },
+ "@octokit/graphql": {
+ "version": "4.5.8",
+ "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.5.8.tgz",
+ "integrity": "sha512-WnCtNXWOrupfPJgXe+vSmprZJUr0VIu14G58PMlkWGj3cH+KLZEfKMmbUQ6C3Wwx6fdhzVW1CD5RTnBdUHxhhA==",
+ "dev": true,
+ "requires": {
+ "@octokit/request": "^5.3.0",
+ "@octokit/types": "^6.0.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "dependencies": {
+ "@octokit/types": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.0.1.tgz",
+ "integrity": "sha512-H/DnTKC+U09en2GFLH/MfAPNDaYb1isieD4Hx4NLpEt/I1PgtZP/8a+Ehc/j9GHuVF/UvGtOVD8AF9XXvws53w==",
+ "dev": true,
+ "requires": {
+ "@octokit/openapi-types": "^1.2.0",
+ "@types/node": ">= 8"
+ }
+ }
+ }
+ },
+ "@octokit/openapi-types": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-1.2.2.tgz",
+ "integrity": "sha512-vrKDLd/Rq4IE16oT+jJkDBx0r29NFkdkU8GwqVSP4RajsAvP23CMGtFhVK0pedUhAiMvG1bGnFcTC/xCKaKgmw==",
+ "dev": true
+ },
+ "@octokit/plugin-paginate-rest": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.6.0.tgz",
+ "integrity": "sha512-o+O8c1PqsC5++BHXfMZabRRsBIVb34tXPWyQLyp2IXq5MmkxdipS7TXM4Y9ldL1PzY9CTrCsn/lzFFJGM3oRRA==",
+ "dev": true,
+ "requires": {
+ "@octokit/types": "^5.5.0"
+ }
+ },
+ "@octokit/plugin-request-log": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.2.tgz",
+ "integrity": "sha512-oTJSNAmBqyDR41uSMunLQKMX0jmEXbwD1fpz8FG27lScV3RhtGfBa1/BBLym+PxcC16IBlF7KH9vP1BUYxA+Eg==",
+ "dev": true
+ },
+ "@octokit/plugin-rest-endpoint-methods": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-4.2.1.tgz",
+ "integrity": "sha512-QyFr4Bv807Pt1DXZOC5a7L5aFdrwz71UHTYoHVajYV5hsqffWm8FUl9+O7nxRu5PDMtB/IKrhFqTmdBTK5cx+A==",
+ "dev": true,
+ "requires": {
+ "@octokit/types": "^5.5.0",
+ "deprecation": "^2.3.1"
+ }
+ },
+ "@octokit/request": {
+ "version": "5.4.11",
+ "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.11.tgz",
+ "integrity": "sha512-vskebNjuz4oTdPIv+9cQjHvjk8vjrMv2fOmSo6zr7IIaFHeVsJlG/C07MXiSS/+g/qU1GHjkPG1XW3faz57EoQ==",
+ "dev": true,
+ "requires": {
+ "@octokit/endpoint": "^6.0.1",
+ "@octokit/request-error": "^2.0.0",
+ "@octokit/types": "^6.0.0",
+ "deprecation": "^2.0.0",
+ "is-plain-object": "^5.0.0",
+ "node-fetch": "^2.6.1",
+ "once": "^1.4.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "dependencies": {
+ "@octokit/types": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.0.1.tgz",
+ "integrity": "sha512-H/DnTKC+U09en2GFLH/MfAPNDaYb1isieD4Hx4NLpEt/I1PgtZP/8a+Ehc/j9GHuVF/UvGtOVD8AF9XXvws53w==",
+ "dev": true,
+ "requires": {
+ "@octokit/openapi-types": "^1.2.0",
+ "@types/node": ">= 8"
+ }
+ }
+ }
+ },
+ "@octokit/request-error": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.4.tgz",
+ "integrity": "sha512-LjkSiTbsxIErBiRh5wSZvpZqT4t0/c9+4dOe0PII+6jXR+oj/h66s7E4a/MghV7iT8W9ffoQ5Skoxzs96+gBPA==",
+ "dev": true,
+ "requires": {
+ "@octokit/types": "^6.0.0",
+ "deprecation": "^2.0.0",
+ "once": "^1.4.0"
+ },
+ "dependencies": {
+ "@octokit/types": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.0.1.tgz",
+ "integrity": "sha512-H/DnTKC+U09en2GFLH/MfAPNDaYb1isieD4Hx4NLpEt/I1PgtZP/8a+Ehc/j9GHuVF/UvGtOVD8AF9XXvws53w==",
+ "dev": true,
+ "requires": {
+ "@octokit/openapi-types": "^1.2.0",
+ "@types/node": ">= 8"
+ }
+ }
+ }
+ },
+ "@octokit/rest": {
+ "version": "18.0.9",
+ "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.0.9.tgz",
+ "integrity": "sha512-CC5+cIx974Ygx9lQNfUn7/oXDQ9kqGiKUC6j1A9bAVZZ7aoTF8K6yxu0pQhQrLBwSl92J6Z3iVDhGhGFgISCZg==",
+ "dev": true,
+ "requires": {
+ "@octokit/core": "^3.0.0",
+ "@octokit/plugin-paginate-rest": "^2.2.0",
+ "@octokit/plugin-request-log": "^1.0.0",
+ "@octokit/plugin-rest-endpoint-methods": "4.2.1"
+ }
+ },
+ "@octokit/types": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-5.5.0.tgz",
+ "integrity": "sha512-UZ1pErDue6bZNjYOotCNveTXArOMZQFG6hKJfOnGnulVCMcVVi7YIIuuR4WfBhjo7zgpmzn/BkPDnUXtNx+PcQ==",
+ "dev": true,
+ "requires": {
+ "@types/node": ">= 8"
+ }
+ },
+ "@sindresorhus/is": {
+ "version": "0.14.0",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
+ "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==",
+ "dev": true
+ },
+ "@szmarczak/http-timer": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
+ "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
+ "dev": true,
+ "requires": {
+ "defer-to-connect": "^1.0.1"
+ }
+ },
+ "@types/cacheable-request": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.1.tgz",
+ "integrity": "sha512-ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ==",
+ "dev": true,
+ "requires": {
+ "@types/http-cache-semantics": "*",
+ "@types/keyv": "*",
+ "@types/node": "*",
+ "@types/responselike": "*"
+ }
+ },
+ "@types/color-name": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
+ "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ=="
+ },
+ "@types/fs-extra": {
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.4.tgz",
+ "integrity": "sha512-50GO5ez44lxK5MDH90DYHFFfqxH7+fTqEEnvguQRzJ/tY9qFrMSHLiYHite+F3SNmf7+LHC1eMXojuD+E3Qcyg==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@types/glob": {
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz",
+ "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "@types/minimatch": "*",
+ "@types/node": "*"
+ }
+ },
+ "@types/http-cache-semantics": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz",
+ "integrity": "sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A==",
+ "dev": true
+ },
+ "@types/keyv": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.1.tgz",
+ "integrity": "sha512-MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@types/minimatch": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
+ "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
+ "dev": true,
+ "optional": true
+ },
+ "@types/node": {
+ "version": "14.14.10",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
+ "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ==",
+ "dev": true
+ },
+ "@types/responselike": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz",
+ "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@types/yauzl": {
+ "version": "2.9.1",
+ "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz",
+ "integrity": "sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+ "dev": true
+ },
+ "ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "ansi-escapes": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz",
+ "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.11.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz",
+ "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==",
+ "dev": true
+ }
+ }
+ },
+ "ansi-regex": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg=="
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "anymatch": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+ "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "appdmg": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/appdmg/-/appdmg-0.6.0.tgz",
+ "integrity": "sha512-vDz8cMf5c6BfoS72OmmHzzuxG5DFVDM6YCAkscjYh3GASGEBBRCZ10Bn515ZPSPHOpfI9Xu3MlApbd49C58pJg==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "async": "^1.4.2",
+ "ds-store": "^0.1.5",
+ "execa": "^1.0.0",
+ "fs-temp": "^1.0.0",
+ "fs-xattr": "^0.3.0",
+ "image-size": "^0.7.4",
+ "is-my-json-valid": "^2.20.0",
+ "minimist": "^1.1.3",
+ "parse-color": "^1.0.0",
+ "path-exists": "^4.0.0",
+ "repeat-string": "^1.5.4"
+ }
+ },
+ "aproba": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
+ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
+ "dev": true
+ },
+ "are-we-there-yet": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
+ "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
+ "dev": true,
+ "requires": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^2.0.6"
+ }
+ },
+ "array-find-index": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
+ "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
+ "dev": true
+ },
+ "asar": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/asar/-/asar-3.0.3.tgz",
+ "integrity": "sha512-k7zd+KoR+n8pl71PvgElcoKHrVNiSXtw7odKbyNpmgKe7EGRF9Pnu3uLOukD37EvavKwVFxOUpqXTIZC5B5Pmw==",
+ "dev": true,
+ "requires": {
+ "@types/glob": "^7.1.1",
+ "chromium-pickle-js": "^0.2.0",
+ "commander": "^5.0.0",
+ "glob": "^7.1.6",
+ "minimatch": "^3.0.4"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
+ "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
+ "dev": true
+ }
+ }
+ },
+ "asn1": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
+ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": "~2.1.0"
+ }
+ },
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ },
+ "astral-regex": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ=="
+ },
+ "async": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+ "dev": true,
+ "optional": true
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+ "dev": true
+ },
+ "at-least-node": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
+ "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg=="
+ },
+ "author-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/author-regex/-/author-regex-1.0.0.tgz",
+ "integrity": "sha1-0IiFvmubv5Q5/gh8dihyRfCoFFA=",
+ "dev": true
+ },
+ "aws-sign2": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+ "dev": true
+ },
+ "aws4": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
+ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
+ "dev": true
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "dev": true
+ },
+ "base32-encode": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/base32-encode/-/base32-encode-1.1.1.tgz",
+ "integrity": "sha512-eqa0BeGghj3guezlasdHJhr3+J5ZbbQvxeprkcDMbRQrjlqOT832IUDT4Al4ofAwekFYMqkkM9KMUHs9Cu0HKA==",
+ "dev": true,
+ "optional": true
+ },
+ "base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+ "dev": true
+ },
+ "bcrypt-pbkdf": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+ "dev": true,
+ "requires": {
+ "tweetnacl": "^0.14.3"
+ }
+ },
+ "before-after-hook": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz",
+ "integrity": "sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==",
+ "dev": true
+ },
+ "binary-extensions": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz",
+ "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ=="
+ },
+ "bluebird": {
+ "version": "3.7.2",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
+ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
+ "dev": true
+ },
+ "boolean": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.0.2.tgz",
+ "integrity": "sha512-RwywHlpCRc3/Wh81MiCKun4ydaIFyW5Ea6JbL6sRCVx5q5irDw7pMXBUFYF/jArQ6YrG36q0kpovc9P/Kd3I4g==",
+ "dev": true,
+ "optional": true
+ },
+ "bplist-creator": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.8.tgz",
+ "integrity": "sha512-Za9JKzD6fjLC16oX2wsXfc+qBEhJBJB1YPInoAQpMLhDuj5aVOv1baGeIQSq1Fr3OCqzvsoQcSBSwGId/Ja2PA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "stream-buffers": "~2.2.0"
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "buffer-alloc": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
+ "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
+ "dev": true,
+ "requires": {
+ "buffer-alloc-unsafe": "^1.1.0",
+ "buffer-fill": "^1.0.0"
+ }
+ },
+ "buffer-alloc-unsafe": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
+ "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
+ "dev": true
+ },
+ "buffer-crc32": {
+ "version": "0.2.13",
+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+ "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
+ "dev": true
+ },
+ "buffer-fill": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
+ "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",
+ "dev": true
+ },
+ "buffer-from": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
+ "dev": true
+ },
+ "cacheable-lookup": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.3.tgz",
+ "integrity": "sha512-W+JBqF9SWe18A72XFzN/V/CULFzPm7sBXzzR6ekkE+3tLG72wFZrBiBZhrZuDoYexop4PHJVdFAKb/Nj9+tm9w==",
+ "dev": true
+ },
+ "cacheable-request": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
+ "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
+ "dev": true,
+ "requires": {
+ "clone-response": "^1.0.2",
+ "get-stream": "^5.1.0",
+ "http-cache-semantics": "^4.0.0",
+ "keyv": "^3.0.0",
+ "lowercase-keys": "^2.0.0",
+ "normalize-url": "^4.1.0",
+ "responselike": "^1.0.2"
+ },
+ "dependencies": {
+ "get-stream": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "lowercase-keys": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
+ "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
+ "dev": true
+ }
+ }
+ },
+ "camelcase": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+ "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
+ "dev": true
+ },
+ "camelcase-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
+ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^2.0.0",
+ "map-obj": "^1.0.0"
+ }
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "chardet": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
+ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
+ "dev": true
+ },
+ "chokidar": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz",
+ "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==",
+ "requires": {
+ "anymatch": "~3.1.1",
+ "braces": "~3.0.2",
+ "fsevents": "~2.1.2",
+ "glob-parent": "~5.1.0",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.5.0"
+ }
+ },
+ "chownr": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
+ "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
+ "dev": true
+ },
+ "chromium-pickle-js": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz",
+ "integrity": "sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=",
+ "dev": true
+ },
+ "cli-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
+ "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
+ "dev": true,
+ "requires": {
+ "restore-cursor": "^3.1.0"
+ }
+ },
+ "cli-spinners": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.5.0.tgz",
+ "integrity": "sha512-PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ==",
+ "dev": true
+ },
+ "cli-truncate": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz",
+ "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==",
+ "requires": {
+ "slice-ansi": "^3.0.0",
+ "string-width": "^4.2.0"
+ }
+ },
+ "cli-width": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
+ "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
+ "dev": true
+ },
+ "cliui": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+ "dev": true,
+ "requires": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
+ "clone": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
+ "dev": true
+ },
+ "clone-response": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
+ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
+ "dev": true,
+ "requires": {
+ "mimic-response": "^1.0.0"
+ }
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+ "dev": true
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "colors": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
+ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
+ "dev": true
+ },
+ "combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dev": true,
+ "requires": {
+ "delayed-stream": "~1.0.0"
+ }
+ },
+ "commander": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
+ "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
+ "dev": true
+ },
+ "compare-version": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz",
+ "integrity": "sha1-AWLsLZNR9d3VmpICy6k1NmpyUIA=",
+ "dev": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
+ },
+ "concat-stream": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+ "dev": true,
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.2.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "config-chain": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz",
+ "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ini": "^1.3.4",
+ "proto-list": "~1.2.1"
+ }
+ },
+ "console-control-strings": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
+ "dev": true
+ },
+ "core-js": {
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.0.tgz",
+ "integrity": "sha512-W2VYNB0nwQQE7tKS7HzXd7r2y/y2SVJl4ga6oH/dnaLFzM0o2lB2P3zCkWj5Wc/zyMYjtgd5Hmhk0ObkQFZOIA==",
+ "dev": true,
+ "optional": true
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+ "dev": true
+ },
+ "cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ }
+ },
+ "cross-zip": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/cross-zip/-/cross-zip-3.1.0.tgz",
+ "integrity": "sha512-aX02l0SD3KE27pMl69gkxDdDM5D3u9Ic4Je+2b1B2fP0dWnlWWY6ns2Vk5DEgCXJRhL3GasSpicNQRNbDkq0+w==",
+ "dev": true,
+ "requires": {
+ "rimraf": "^3.0.0"
+ },
+ "dependencies": {
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ }
+ }
+ },
+ "cuint": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz",
+ "integrity": "sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs=",
+ "dev": true,
+ "optional": true
+ },
+ "currently-unhandled": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
+ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+ "dev": true,
+ "requires": {
+ "array-find-index": "^1.0.1"
+ }
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "dev": true
+ },
+ "decompress-response": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
+ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
+ "dev": true,
+ "requires": {
+ "mimic-response": "^1.0.0"
+ }
+ },
+ "deep-extend": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
+ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
+ "dev": true
+ },
+ "defaults": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
+ "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
+ "dev": true,
+ "requires": {
+ "clone": "^1.0.2"
+ }
+ },
+ "defer-to-connect": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
+ "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==",
+ "dev": true
+ },
+ "define-properties": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
+ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "object-keys": "^1.0.12"
+ }
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+ "dev": true
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
+ "dev": true
+ },
+ "deprecation": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
+ "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==",
+ "dev": true
+ },
+ "detect-libc": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
+ "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
+ "dev": true
+ },
+ "detect-node": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz",
+ "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==",
+ "dev": true,
+ "optional": true
+ },
+ "ds-store": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/ds-store/-/ds-store-0.1.6.tgz",
+ "integrity": "sha1-0QJO90btDBPw9/7IXH6FjoxLfKc=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "bplist-creator": "~0.0.3",
+ "macos-alias": "~0.2.5",
+ "tn1150": "^0.1.0"
+ }
+ },
+ "duplexer3": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
+ "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
+ "dev": true
+ },
+ "ecc-jsbn": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+ "dev": true,
+ "requires": {
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
+ "electron": {
+ "version": "11.0.3",
+ "resolved": "https://registry.npmjs.org/electron/-/electron-11.0.3.tgz",
+ "integrity": "sha512-nNfbLi7Q1xfJXOEO2adck5TS6asY4Jxc332E4Te8XfQ9hcaC3GiCdeEqk9FndNCwxhJA5Lr9jfSGRTwWebFa/w==",
+ "dev": true,
+ "requires": {
+ "@electron/get": "^1.0.1",
+ "@types/node": "^12.0.12",
+ "extract-zip": "^1.0.3"
+ },
+ "dependencies": {
+ "@types/node": {
+ "version": "12.19.8",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-12.19.8.tgz",
+ "integrity": "sha512-D4k2kNi0URNBxIRCb1khTnkWNHv8KSL1owPmS/K5e5t8B2GzMReY7AsJIY1BnP5KdlgC4rj9jk2IkDMasIE7xg==",
+ "dev": true
+ },
+ "extract-zip": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz",
+ "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==",
+ "dev": true,
+ "requires": {
+ "concat-stream": "^1.6.2",
+ "debug": "^2.6.9",
+ "mkdirp": "^0.5.4",
+ "yauzl": "^2.10.0"
+ }
+ }
+ }
+ },
+ "electron-context-menu": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/electron-context-menu/-/electron-context-menu-2.0.1.tgz",
+ "integrity": "sha512-klE6+PErH/l9IzoIm9PCcOaKvRtCuyjG8IYKcT376cEBhQwYtp3RsVKvLZ5jLhSLY0+rwgEl0LprBcW3NhM0+w==",
+ "requires": {
+ "cli-truncate": "^2.0.0",
+ "electron-dl": "^3.0.0",
+ "electron-is-dev": "^1.0.1"
+ }
+ },
+ "electron-dl": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/electron-dl/-/electron-dl-3.0.0.tgz",
+ "integrity": "sha512-TeBRv+vQgNVLGf/XLV4EYfYIBMI4TQcw84aDlM8xEm/1Lgxux3PUXDzaingivf+6jMvRojXSRPTHmiWI/6LrqQ==",
+ "requires": {
+ "ext-name": "^5.0.0",
+ "pupa": "^2.0.1",
+ "unused-filename": "^2.1.0"
+ }
+ },
+ "electron-installer-common": {
+ "version": "0.10.3",
+ "resolved": "https://registry.npmjs.org/electron-installer-common/-/electron-installer-common-0.10.3.tgz",
+ "integrity": "sha512-mYbP+6i+nHMIm0WZHXgGdmmXMe+KXncl6jZYQNcCF9C1WsNA9C5SZ2VP4TLQMSIoFO+X4ugkMEA5uld1bmyEvA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "@malept/cross-spawn-promise": "^1.0.0",
+ "@types/fs-extra": "^9.0.1",
+ "asar": "^3.0.0",
+ "debug": "^4.1.1",
+ "fs-extra": "^9.0.0",
+ "glob": "^7.1.4",
+ "lodash": "^4.17.15",
+ "parse-author": "^2.0.0",
+ "semver": "^7.1.1",
+ "tmp-promise": "^3.0.2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "electron-installer-debian": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/electron-installer-debian/-/electron-installer-debian-3.1.0.tgz",
+ "integrity": "sha512-k6KChvx0Fw8XTlCqwwbBfh19yGQaKjGdbugokmr1IpzINOm4QFyACKMTHAYFHW5LCBUZQShZD96hwxUZ+8Kx+w==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "@malept/cross-spawn-promise": "^1.0.0",
+ "debug": "^4.1.1",
+ "electron-installer-common": "^0.10.2",
+ "fs-extra": "^9.0.0",
+ "get-folder-size": "^2.0.1",
+ "lodash": "^4.17.4",
+ "word-wrap": "^1.2.3",
+ "yargs": "^15.0.1"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true,
+ "optional": true
+ },
+ "cliui": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+ "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^6.2.0"
+ }
+ },
+ "debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true,
+ "optional": true
+ },
+ "p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "dev": true,
+ "optional": true
+ },
+ "wrap-ansi": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+ "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "y18n": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz",
+ "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==",
+ "dev": true,
+ "optional": true
+ },
+ "yargs": {
+ "version": "15.4.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
+ "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "cliui": "^6.0.0",
+ "decamelize": "^1.2.0",
+ "find-up": "^4.1.0",
+ "get-caller-file": "^2.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^2.0.0",
+ "set-blocking": "^2.0.0",
+ "string-width": "^4.2.0",
+ "which-module": "^2.0.0",
+ "y18n": "^4.0.0",
+ "yargs-parser": "^18.1.2"
+ }
+ },
+ "yargs-parser": {
+ "version": "18.1.3",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
+ "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
+ }
+ }
+ },
+ "electron-installer-dmg": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/electron-installer-dmg/-/electron-installer-dmg-3.0.0.tgz",
+ "integrity": "sha512-a3z9ABUfLJtrLK1ize4j+wJKslodb0kRHgBuUN4GTckiUxtGdo49XCvvAHvQaOqQk3S5VTvuc6PoofnI9mKSCQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "appdmg": "^0.6.0",
+ "debug": "^4.1.1",
+ "fs-extra": "^8.0.1",
+ "minimist": "^1.1.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "fs-extra": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+ "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true,
+ "optional": true
+ },
+ "universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "electron-installer-redhat": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/electron-installer-redhat/-/electron-installer-redhat-3.2.0.tgz",
+ "integrity": "sha512-XMA+fQj3ULNVMl4eG+hIvrYITEqP1pfpERvx6kRwuPd06vdtB4KucL9241DAHT0NR5E9gnyJHM9Y6N24kk0mcA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "@malept/cross-spawn-promise": "^1.0.0",
+ "debug": "^4.1.1",
+ "electron-installer-common": "^0.10.2",
+ "fs-extra": "^9.0.0",
+ "lodash": "^4.17.15",
+ "word-wrap": "^1.2.3",
+ "yargs": "^15.1.0"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true,
+ "optional": true
+ },
+ "cliui": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+ "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^6.2.0"
+ }
+ },
+ "debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true,
+ "optional": true
+ },
+ "p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "dev": true,
+ "optional": true
+ },
+ "wrap-ansi": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+ "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "y18n": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz",
+ "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==",
+ "dev": true,
+ "optional": true
+ },
+ "yargs": {
+ "version": "15.4.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
+ "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "cliui": "^6.0.0",
+ "decamelize": "^1.2.0",
+ "find-up": "^4.1.0",
+ "get-caller-file": "^2.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^2.0.0",
+ "set-blocking": "^2.0.0",
+ "string-width": "^4.2.0",
+ "which-module": "^2.0.0",
+ "y18n": "^4.0.0",
+ "yargs-parser": "^18.1.2"
+ }
+ },
+ "yargs-parser": {
+ "version": "18.1.3",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
+ "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
+ }
+ }
+ },
+ "electron-is-dev": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/electron-is-dev/-/electron-is-dev-1.2.0.tgz",
+ "integrity": "sha512-R1oD5gMBPS7PVU8gJwH6CtT0e6VSoD0+SzSnYpNm+dBkcijgA+K7VAMHDfnRq/lkKPZArpzplTW6jfiMYosdzw=="
+ },
+ "electron-log": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/electron-log/-/electron-log-4.3.0.tgz",
+ "integrity": "sha512-iuJjH/ZEJkDyCbuAMvvFxAjCMDLMXIQ5NqvppETGrbtf4b/007r5P36BSvexdy0UzwDNzDtIuEXLR34vRXWZrg=="
+ },
+ "electron-notarize": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/electron-notarize/-/electron-notarize-1.0.0.tgz",
+ "integrity": "sha512-dsib1IAquMn0onCrNMJ6gtEIZn/azG8hZMCYOuZIMVMUeRMgBYHK1s5TK9P8xAcrAjh/2aN5WYHzgVSWX314og==",
+ "dev": true,
+ "requires": {
+ "debug": "^4.1.1",
+ "fs-extra": "^9.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
+ }
+ },
+ "electron-osx-sign": {
+ "version": "0.4.17",
+ "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.4.17.tgz",
+ "integrity": "sha512-wUJPmZJQCs1zgdlQgeIpRcvrf7M5/COQaOV68Va1J/SgmWx5KL2otgg+fAae7luw6qz9R8Gvu/Qpe9tAOu/3xQ==",
+ "dev": true,
+ "requires": {
+ "bluebird": "^3.5.0",
+ "compare-version": "^0.1.2",
+ "debug": "^2.6.8",
+ "isbinaryfile": "^3.0.2",
+ "minimist": "^1.2.0",
+ "plist": "^3.0.1"
+ }
+ },
+ "electron-packager": {
+ "version": "15.1.0",
+ "resolved": "https://registry.npmjs.org/electron-packager/-/electron-packager-15.1.0.tgz",
+ "integrity": "sha512-THNm4bz1DfvR9f0g51+NjuAYELflM8+1vhQ/iv/G8vyZNKzSMuFd5doobngQKq3rRsLdPNZVnGqDdgS884d7Og==",
+ "dev": true,
+ "requires": {
+ "@electron/get": "^1.6.0",
+ "asar": "^3.0.0",
+ "debug": "^4.0.1",
+ "electron-notarize": "^1.0.0",
+ "electron-osx-sign": "^0.4.11",
+ "extract-zip": "^2.0.0",
+ "filenamify": "^4.1.0",
+ "fs-extra": "^9.0.0",
+ "galactus": "^0.2.1",
+ "get-package-info": "^1.0.0",
+ "junk": "^3.1.0",
+ "parse-author": "^2.0.0",
+ "plist": "^3.0.0",
+ "rcedit": "^2.0.0",
+ "resolve": "^1.1.6",
+ "semver": "^7.1.3",
+ "yargs-parser": "^19.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
+ }
+ },
+ "electron-rebuild": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-2.3.2.tgz",
+ "integrity": "sha512-VLd3iIn65PmYWmvL+nx0oKspbohkDUhCAz8I2EWbMJcOFzWKW1UXJZ+ZG53iEDJFldm9PahE4q2Bx3ns4bdzeQ==",
+ "dev": true,
+ "requires": {
+ "@malept/cross-spawn-promise": "^1.1.0",
+ "colors": "^1.3.3",
+ "debug": "^4.1.1",
+ "detect-libc": "^1.0.3",
+ "fs-extra": "^9.0.1",
+ "got": "^11.7.0",
+ "lzma-native": "^6.0.1",
+ "node-abi": "^2.19.1",
+ "node-gyp": "^7.1.0",
+ "ora": "^5.1.0",
+ "tar": "^6.0.5",
+ "yargs": "^16.0.0"
+ },
+ "dependencies": {
+ "@sindresorhus/is": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.0.0.tgz",
+ "integrity": "sha512-FyD2meJpDPjyNQejSjvnhpgI/azsQkA4lGbuu5BQZfjvJ9cbRZXzeWL2HceCekW4lixO9JPesIIQkSoLjeJHNQ==",
+ "dev": true
+ },
+ "@szmarczak/http-timer": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.5.tgz",
+ "integrity": "sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ==",
+ "dev": true,
+ "requires": {
+ "defer-to-connect": "^2.0.0"
+ }
+ },
+ "cacheable-request": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.1.tgz",
+ "integrity": "sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw==",
+ "dev": true,
+ "requires": {
+ "clone-response": "^1.0.2",
+ "get-stream": "^5.1.0",
+ "http-cache-semantics": "^4.0.0",
+ "keyv": "^4.0.0",
+ "lowercase-keys": "^2.0.0",
+ "normalize-url": "^4.1.0",
+ "responselike": "^2.0.0"
+ }
+ },
+ "debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "decompress-response": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
+ "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
+ "dev": true,
+ "requires": {
+ "mimic-response": "^3.1.0"
+ }
+ },
+ "defer-to-connect": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.0.tgz",
+ "integrity": "sha512-bYL2d05vOSf1JEZNx5vSAtPuBMkX8K9EUutg7zlKvTqKXHt7RhWJFbmd7qakVuf13i+IkGmp6FwSsONOf6VYIg==",
+ "dev": true
+ },
+ "get-stream": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "got": {
+ "version": "11.8.0",
+ "resolved": "https://registry.npmjs.org/got/-/got-11.8.0.tgz",
+ "integrity": "sha512-k9noyoIIY9EejuhaBNLyZ31D5328LeqnyPNXJQb2XlJZcKakLqN5m6O/ikhq/0lw56kUYS54fVm+D1x57YC9oQ==",
+ "dev": true,
+ "requires": {
+ "@sindresorhus/is": "^4.0.0",
+ "@szmarczak/http-timer": "^4.0.5",
+ "@types/cacheable-request": "^6.0.1",
+ "@types/responselike": "^1.0.0",
+ "cacheable-lookup": "^5.0.3",
+ "cacheable-request": "^7.0.1",
+ "decompress-response": "^6.0.0",
+ "http2-wrapper": "^1.0.0-beta.5.2",
+ "lowercase-keys": "^2.0.0",
+ "p-cancelable": "^2.0.0",
+ "responselike": "^2.0.0"
+ }
+ },
+ "json-buffer": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
+ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
+ "dev": true
+ },
+ "keyv": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.3.tgz",
+ "integrity": "sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA==",
+ "dev": true,
+ "requires": {
+ "json-buffer": "3.0.1"
+ }
+ },
+ "lowercase-keys": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
+ "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
+ "dev": true
+ },
+ "mimic-response": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
+ "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
+ "p-cancelable": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.0.0.tgz",
+ "integrity": "sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg==",
+ "dev": true
+ },
+ "responselike": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz",
+ "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==",
+ "dev": true,
+ "requires": {
+ "lowercase-keys": "^2.0.0"
+ }
+ }
+ }
+ },
+ "electron-squirrel-startup": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/electron-squirrel-startup/-/electron-squirrel-startup-1.0.0.tgz",
+ "integrity": "sha1-GbTlWTP6Dvj1VnhLnGYPdyVGoLg=",
+ "requires": {
+ "debug": "^2.2.0"
+ }
+ },
+ "electron-window-state": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/electron-window-state/-/electron-window-state-5.0.3.tgz",
+ "integrity": "sha512-1mNTwCfkolXl3kMf50yW3vE2lZj0y92P/HYWFBrb+v2S/pCka5mdwN3cagKm458A7NjndSwijynXgcLWRodsVg==",
+ "requires": {
+ "jsonfile": "^4.0.0",
+ "mkdirp": "^0.5.1"
+ }
+ },
+ "electron-winstaller": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/electron-winstaller/-/electron-winstaller-4.0.1.tgz",
+ "integrity": "sha512-wgdABzcMFpREjFCHZKQ5g5JF5jGqa8YCAsVD5Tb3sJhdj63AtuCu/2o++nVESlZZugKDv6Hxo6Wi8c3knEkbgA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "asar": "^2.0.1",
+ "debug": "^4.1.1",
+ "fs-extra": "^7.0.1",
+ "lodash.template": "^4.2.2",
+ "temp": "^0.9.0"
+ },
+ "dependencies": {
+ "asar": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/asar/-/asar-2.1.0.tgz",
+ "integrity": "sha512-d2Ovma+bfqNpvBzY/KU8oPY67ZworixTpkjSx0PCXnQi67c2cXmssaTxpFDUM0ttopXoGx/KRxNg/GDThYbXQA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "@types/glob": "^7.1.1",
+ "chromium-pickle-js": "^0.2.0",
+ "commander": "^2.20.0",
+ "cuint": "^0.2.2",
+ "glob": "^7.1.3",
+ "minimatch": "^3.0.4",
+ "mkdirp": "^0.5.1",
+ "tmp-promise": "^1.0.5"
+ }
+ },
+ "commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "dev": true,
+ "optional": true
+ },
+ "debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "fs-extra": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
+ "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true,
+ "optional": true
+ },
+ "tmp": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz",
+ "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "rimraf": "^2.6.3"
+ }
+ },
+ "tmp-promise": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-1.1.0.tgz",
+ "integrity": "sha512-8+Ah9aB1IRXCnIOxXZ0uFozV1nMU5xiu7hhFVUSxZ3bYu+psD4TzagCzVbexUCgNNGJnsmNDQlS4nG3mTyoNkw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "bluebird": "^3.5.0",
+ "tmp": "0.1.0"
+ }
+ },
+ "universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
+ "encode-utf8": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz",
+ "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==",
+ "dev": true,
+ "optional": true
+ },
+ "encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
+ "dev": true,
+ "optional": true
+ },
+ "end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "dev": true,
+ "requires": {
+ "once": "^1.4.0"
+ }
+ },
+ "env-paths": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz",
+ "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==",
+ "dev": true
+ },
+ "error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
+ "requires": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "es6-error": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
+ "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
+ "dev": true,
+ "optional": true
+ },
+ "escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "dev": true
+ },
+ "escape-goat": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz",
+ "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q=="
+ },
+ "escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "dev": true,
+ "optional": true
+ },
+ "execa": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^4.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "dev": true,
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "dev": true
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^1.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "dev": true
+ },
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "expand-tilde": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
+ "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
+ "dev": true,
+ "requires": {
+ "homedir-polyfill": "^1.0.1"
+ }
+ },
+ "ext-list": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz",
+ "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==",
+ "requires": {
+ "mime-db": "^1.28.0"
+ }
+ },
+ "ext-name": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz",
+ "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==",
+ "requires": {
+ "ext-list": "^2.0.0",
+ "sort-keys-length": "^1.0.0"
+ }
+ },
+ "extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+ "dev": true
+ },
+ "external-editor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
+ "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
+ "dev": true,
+ "requires": {
+ "chardet": "^0.7.0",
+ "iconv-lite": "^0.4.24",
+ "tmp": "^0.0.33"
+ }
+ },
+ "extract-zip": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
+ "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
+ "dev": true,
+ "requires": {
+ "@types/yauzl": "^2.9.1",
+ "debug": "^4.1.1",
+ "get-stream": "^5.1.0",
+ "yauzl": "^2.10.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "get-stream": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
+ }
+ },
+ "extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
+ "dev": true
+ },
+ "fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true
+ },
+ "fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+ "dev": true
+ },
+ "fd-slicer": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
+ "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
+ "dev": true,
+ "requires": {
+ "pend": "~1.2.0"
+ }
+ },
+ "figures": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
+ "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "^1.0.5"
+ },
+ "dependencies": {
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
+ }
+ }
+ },
+ "filename-reserved-regex": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz",
+ "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=",
+ "dev": true
+ },
+ "filenamify": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.2.0.tgz",
+ "integrity": "sha512-pkgE+4p7N1n7QieOopmn3TqJaefjdWXwEkj2XLZJLKfOgcQKkn11ahvGNgTD8mLggexLiDFQxeTs14xVU22XPA==",
+ "dev": true,
+ "requires": {
+ "filename-reserved-regex": "^2.0.0",
+ "strip-outer": "^1.0.1",
+ "trim-repeated": "^1.0.0"
+ }
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "dependencies": {
+ "locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^5.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dev": true,
+ "requires": {
+ "yocto-queue": "^0.1.0"
+ }
+ },
+ "p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^3.0.2"
+ }
+ }
+ }
+ },
+ "flora-colossus": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/flora-colossus/-/flora-colossus-1.0.1.tgz",
+ "integrity": "sha512-d+9na7t9FyH8gBJoNDSi28mE4NgQVGGvxQ4aHtFRetjyh5SXjuus+V5EZaxFmFdXVemSOrx0lsgEl/ZMjnOWJA==",
+ "dev": true,
+ "requires": {
+ "debug": "^4.1.1",
+ "fs-extra": "^7.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "fs-extra": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
+ "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
+ "universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "dev": true
+ }
+ }
+ },
+ "fmix": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/fmix/-/fmix-0.1.0.tgz",
+ "integrity": "sha1-x7vxJN7ELJ0ZHPuUfQqXeN2YbAw=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "imul": "^1.0.0"
+ }
+ },
+ "forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+ "dev": true
+ },
+ "form-data": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+ "dev": true,
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ }
+ },
+ "fs-extra": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz",
+ "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
+ "requires": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^1.0.0"
+ },
+ "dependencies": {
+ "jsonfile": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "requires": {
+ "graceful-fs": "^4.1.6",
+ "universalify": "^2.0.0"
+ },
+ "dependencies": {
+ "universalify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
+ }
+ }
+ }
+ }
+ },
+ "fs-minipass": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
+ "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
+ "dev": true,
+ "requires": {
+ "minipass": "^2.6.0"
+ }
+ },
+ "fs-temp": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/fs-temp/-/fs-temp-1.2.1.tgz",
+ "integrity": "sha512-okTwLB7/Qsq82G6iN5zZJFsOfZtx2/pqrA7Hk/9fvy+c+eJS9CvgGXT2uNxwnI14BDY9L/jQPkaBgSvlKfSW9w==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "random-path": "^0.1.0"
+ }
+ },
+ "fs-xattr": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/fs-xattr/-/fs-xattr-0.3.1.tgz",
+ "integrity": "sha512-UVqkrEW0GfDabw4C3HOrFlxKfx0eeigfRne69FxSBdHIP8Qt5Sq6Pu3RM9KmMlkygtC4pPKkj5CiPO5USnj2GA==",
+ "dev": true,
+ "optional": true
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
+ "fsevents": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
+ "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
+ "optional": true
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "dev": true
+ },
+ "galactus": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/galactus/-/galactus-0.2.1.tgz",
+ "integrity": "sha1-y+0tIKQMH1Z5o1kI4rlBVzPnjbk=",
+ "dev": true,
+ "requires": {
+ "debug": "^3.1.0",
+ "flora-colossus": "^1.0.0",
+ "fs-extra": "^4.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "fs-extra": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
+ "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
+ "universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "dev": true
+ }
+ }
+ },
+ "gar": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/gar/-/gar-1.0.4.tgz",
+ "integrity": "sha512-w4n9cPWyP7aHxKxYHFQMegj7WIAsL/YX/C4Bs5Rr8s1H9M1rNtRWRsw+ovYMkXDQ5S4ZbYHsHAPmevPjPgw44w==",
+ "dev": true,
+ "optional": true
+ },
+ "gauge": {
+ "version": "2.7.4",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
+ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+ "dev": true,
+ "requires": {
+ "aproba": "^1.0.3",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.0",
+ "object-assign": "^4.1.0",
+ "signal-exit": "^3.0.0",
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wide-align": "^1.1.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ }
+ }
+ },
+ "generate-function": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz",
+ "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "is-property": "^1.0.2"
+ }
+ },
+ "generate-object-property": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
+ "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "is-property": "^1.0.0"
+ }
+ },
+ "get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "dev": true
+ },
+ "get-folder-size": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/get-folder-size/-/get-folder-size-2.0.1.tgz",
+ "integrity": "sha512-+CEb+GDCM7tkOS2wdMKTn9vU7DgnKUTuDlehkNJKNSovdCOVxs14OfKCk4cvSaR3za4gj+OBdl9opPN9xrJ0zA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "gar": "^1.0.4",
+ "tiny-each-async": "2.0.3"
+ }
+ },
+ "get-installed-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/get-installed-path/-/get-installed-path-2.1.1.tgz",
+ "integrity": "sha512-Qkn9eq6tW5/q9BDVdMpB8tOHljX9OSP0jRC5TRNVA4qRc839t4g8KQaR8t0Uv0EFVL0MlyG7m/ofjEgAROtYsA==",
+ "dev": true,
+ "requires": {
+ "global-modules": "1.0.0"
+ }
+ },
+ "get-package-info": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/get-package-info/-/get-package-info-1.0.0.tgz",
+ "integrity": "sha1-ZDJ5ZWPigRPNlHTbvQAFKYWkmZw=",
+ "dev": true,
+ "requires": {
+ "bluebird": "^3.1.1",
+ "debug": "^2.2.0",
+ "lodash.get": "^4.0.0",
+ "read-pkg-up": "^2.0.0"
+ }
+ },
+ "get-stdin": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
+ "dev": true
+ },
+ "get-stream": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "github-url-to-object": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/github-url-to-object/-/github-url-to-object-4.0.4.tgz",
+ "integrity": "sha512-1Ri1pR8XTfzLpbtPz5MlW/amGNdNReuExPsbF9rxLsBfO1GH9RtDBamhJikd0knMWq3RTTQDbTtw0GGvvEAJEA==",
+ "requires": {
+ "is-url": "^1.1.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "glob-parent": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "global-agent": {
+ "version": "2.1.12",
+ "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.1.12.tgz",
+ "integrity": "sha512-caAljRMS/qcDo69X9BfkgrihGUgGx44Fb4QQToNQjsiWh+YlQ66uqYVAdA8Olqit+5Ng0nkz09je3ZzANMZcjg==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "boolean": "^3.0.1",
+ "core-js": "^3.6.5",
+ "es6-error": "^4.1.1",
+ "matcher": "^3.0.0",
+ "roarr": "^2.15.3",
+ "semver": "^7.3.2",
+ "serialize-error": "^7.0.1"
+ }
+ },
+ "global-modules": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
+ "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
+ "dev": true,
+ "requires": {
+ "global-prefix": "^1.0.1",
+ "is-windows": "^1.0.1",
+ "resolve-dir": "^1.0.0"
+ }
+ },
+ "global-prefix": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
+ "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
+ "dev": true,
+ "requires": {
+ "expand-tilde": "^2.0.2",
+ "homedir-polyfill": "^1.0.1",
+ "ini": "^1.3.4",
+ "is-windows": "^1.0.1",
+ "which": "^1.2.14"
+ },
+ "dependencies": {
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "global-tunnel-ng": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz",
+ "integrity": "sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "encodeurl": "^1.0.2",
+ "lodash": "^4.17.10",
+ "npm-conf": "^1.1.3",
+ "tunnel": "^0.0.6"
+ }
+ },
+ "globalthis": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.1.tgz",
+ "integrity": "sha512-mJPRTc/P39NH/iNG4mXa9aIhNymaQikTrnspeCa2ZuJ+mH2QN/rXwtX3XwKrHqWgUQFbNZKtHM105aHzJalElw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "define-properties": "^1.1.3"
+ }
+ },
+ "got": {
+ "version": "9.6.0",
+ "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
+ "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==",
+ "dev": true,
+ "requires": {
+ "@sindresorhus/is": "^0.14.0",
+ "@szmarczak/http-timer": "^1.1.2",
+ "cacheable-request": "^6.0.0",
+ "decompress-response": "^3.3.0",
+ "duplexer3": "^0.1.4",
+ "get-stream": "^4.1.0",
+ "lowercase-keys": "^1.0.1",
+ "mimic-response": "^1.0.1",
+ "p-cancelable": "^1.0.0",
+ "to-readable-stream": "^1.0.0",
+ "url-parse-lax": "^3.0.0"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.2.4",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
+ "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw=="
+ },
+ "har-schema": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+ "dev": true
+ },
+ "har-validator": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
+ "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.12.3",
+ "har-schema": "^2.0.0"
+ }
+ },
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1"
+ }
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
+ "dev": true
+ },
+ "homedir-polyfill": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
+ "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
+ "dev": true,
+ "requires": {
+ "parse-passwd": "^1.0.0"
+ }
+ },
+ "hosted-git-info": {
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
+ "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
+ "dev": true
+ },
+ "http-cache-semantics": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
+ "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==",
+ "dev": true
+ },
+ "http-signature": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
+ }
+ },
+ "http2-wrapper": {
+ "version": "1.0.0-beta.5.2",
+ "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.0-beta.5.2.tgz",
+ "integrity": "sha512-xYz9goEyBnC8XwXDTuC/MZ6t+MrKVQZOk4s7+PaDkwIsQd8IwqvM+0M6bA/2lvG8GHXcPdf+MejTUeO2LCPCeQ==",
+ "dev": true,
+ "requires": {
+ "quick-lru": "^5.1.1",
+ "resolve-alpn": "^1.0.0"
+ }
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "ignore-walk": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz",
+ "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==",
+ "dev": true,
+ "requires": {
+ "minimatch": "^3.0.4"
+ }
+ },
+ "image-size": {
+ "version": "0.7.5",
+ "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.7.5.tgz",
+ "integrity": "sha512-Hiyv+mXHfFEP7LzUL/llg9RwFxxY+o9N3JVLIeG5E7iFIFAalxvRU9UZthBdYDEVnzHMgjnKJPPpay5BWf1g9g==",
+ "dev": true,
+ "optional": true
+ },
+ "imul": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/imul/-/imul-1.0.1.tgz",
+ "integrity": "sha1-nVhnFh6LPelsLDjV3HyxAvNeKsk=",
+ "dev": true,
+ "optional": true
+ },
+ "indent-string": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
+ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
+ "dev": true,
+ "requires": {
+ "repeating": "^2.0.0"
+ }
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true
+ },
+ "ini": {
+ "version": "1.3.7",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz",
+ "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==",
+ "dev": true
+ },
+ "inquirer": {
+ "version": "7.3.3",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz",
+ "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.1.0",
+ "cli-cursor": "^3.1.0",
+ "cli-width": "^3.0.0",
+ "external-editor": "^3.0.3",
+ "figures": "^3.0.0",
+ "lodash": "^4.17.19",
+ "mute-stream": "0.0.8",
+ "run-async": "^2.4.0",
+ "rxjs": "^6.6.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0",
+ "through": "^2.3.6"
+ }
+ },
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
+ },
+ "is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "requires": {
+ "binary-extensions": "^2.0.0"
+ }
+ },
+ "is-core-module": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz",
+ "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "is-docker": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz",
+ "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==",
+ "dev": true
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
+ },
+ "is-finite": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz",
+ "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
+ },
+ "is-glob": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+ "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-interactive": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
+ "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
+ "dev": true
+ },
+ "is-my-ip-valid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz",
+ "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==",
+ "dev": true,
+ "optional": true
+ },
+ "is-my-json-valid": {
+ "version": "2.20.5",
+ "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.5.tgz",
+ "integrity": "sha512-VTPuvvGQtxvCeghwspQu1rBgjYUT6FGxPlvFKbYuFtgc4ADsX3U5ihZOYN0qyU6u+d4X9xXb0IT5O6QpXKt87A==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "generate-function": "^2.0.0",
+ "generate-object-property": "^1.1.0",
+ "is-my-ip-valid": "^1.0.0",
+ "jsonpointer": "^4.0.0",
+ "xtend": "^4.0.0"
+ },
+ "dependencies": {
+ "xtend": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
+ },
+ "is-plain-obj": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4="
+ },
+ "is-plain-object": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
+ "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
+ "dev": true
+ },
+ "is-property": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
+ "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=",
+ "dev": true,
+ "optional": true
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "dev": true
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "dev": true
+ },
+ "is-url": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz",
+ "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww=="
+ },
+ "is-utf8": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
+ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
+ "dev": true
+ },
+ "is-windows": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
+ "dev": true
+ },
+ "is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "dev": true,
+ "requires": {
+ "is-docker": "^2.0.0"
+ }
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "isbinaryfile": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz",
+ "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==",
+ "dev": true,
+ "requires": {
+ "buffer-alloc": "^1.2.0"
+ }
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "dev": true
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+ "dev": true
+ },
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+ "dev": true
+ },
+ "json-buffer": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
+ "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=",
+ "dev": true
+ },
+ "json-schema": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+ "dev": true
+ },
+ "json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ },
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+ "dev": true
+ },
+ "jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "jsonpointer": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.1.0.tgz",
+ "integrity": "sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==",
+ "dev": true,
+ "optional": true
+ },
+ "jsprim": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+ "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.2.3",
+ "verror": "1.10.0"
+ }
+ },
+ "junk": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz",
+ "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==",
+ "dev": true
+ },
+ "keyv": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
+ "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
+ "dev": true,
+ "requires": {
+ "json-buffer": "3.0.0"
+ }
+ },
+ "load-json-file": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "strip-bom": "^3.0.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ }
+ }
+ },
+ "locate-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "dev": true,
+ "requires": {
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
+ },
+ "dependencies": {
+ "path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "dev": true
+ }
+ }
+ },
+ "lodash": {
+ "version": "4.17.20",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
+ "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
+ "dev": true
+ },
+ "lodash._reinterpolate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
+ "dev": true,
+ "optional": true
+ },
+ "lodash.get": {
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
+ "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=",
+ "dev": true
+ },
+ "lodash.template": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz",
+ "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "lodash._reinterpolate": "^3.0.0",
+ "lodash.templatesettings": "^4.0.0"
+ }
+ },
+ "lodash.templatesettings": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz",
+ "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "lodash._reinterpolate": "^3.0.0"
+ }
+ },
+ "log-symbols": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz",
+ "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==",
+ "dev": true,
+ "requires": {
+ "chalk": "^4.0.0"
+ }
+ },
+ "loud-rejection": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
+ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
+ "dev": true,
+ "requires": {
+ "currently-unhandled": "^0.4.1",
+ "signal-exit": "^3.0.0"
+ }
+ },
+ "lowercase-keys": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
+ "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
+ "dev": true
+ },
+ "lzma-native": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/lzma-native/-/lzma-native-6.0.1.tgz",
+ "integrity": "sha512-O6oWF0xe1AFvOCjU8uOZBZ/lhjaMNwHfVNaqVMqmoQXlRwBcFWpCAToiZOdXcKVMdo/5s/D0a2QgA5laMErxHQ==",
+ "dev": true,
+ "requires": {
+ "node-addon-api": "^1.6.0",
+ "node-pre-gyp": "^0.11.0",
+ "readable-stream": "^2.3.5",
+ "rimraf": "^2.7.1"
+ }
+ },
+ "macos-alias": {
+ "version": "0.2.11",
+ "resolved": "https://registry.npmjs.org/macos-alias/-/macos-alias-0.2.11.tgz",
+ "integrity": "sha1-/u6mwTuhGYFKQ/xDxHCzHlnvcYo=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "nan": "^2.4.0"
+ }
+ },
+ "map-age-cleaner": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
+ "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
+ "dev": true,
+ "requires": {
+ "p-defer": "^1.0.0"
+ }
+ },
+ "map-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+ "dev": true
+ },
+ "matcher": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz",
+ "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "escape-string-regexp": "^4.0.0"
+ }
+ },
+ "mem": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz",
+ "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==",
+ "dev": true,
+ "requires": {
+ "map-age-cleaner": "^0.1.1",
+ "mimic-fn": "^2.0.0",
+ "p-is-promise": "^2.0.0"
+ }
+ },
+ "meow": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
+ "dev": true,
+ "requires": {
+ "camelcase-keys": "^2.0.0",
+ "decamelize": "^1.1.2",
+ "loud-rejection": "^1.0.0",
+ "map-obj": "^1.0.1",
+ "minimist": "^1.1.3",
+ "normalize-package-data": "^2.3.4",
+ "object-assign": "^4.0.1",
+ "read-pkg-up": "^1.0.1",
+ "redent": "^1.0.0",
+ "trim-newlines": "^1.0.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "dev": true,
+ "requires": {
+ "path-exists": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "load-json-file": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0",
+ "strip-bom": "^2.0.0"
+ }
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "path-type": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "^1.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^1.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+ "dev": true,
+ "requires": {
+ "find-up": "^1.0.0",
+ "read-pkg": "^1.0.0"
+ }
+ },
+ "strip-bom": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "dev": true,
+ "requires": {
+ "is-utf8": "^0.2.0"
+ }
+ }
+ }
+ },
+ "mime-db": {
+ "version": "1.44.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
+ "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg=="
+ },
+ "mime-types": {
+ "version": "2.1.27",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
+ "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
+ "dev": true,
+ "requires": {
+ "mime-db": "1.44.0"
+ }
+ },
+ "mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "dev": true
+ },
+ "mimic-response": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
+ "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
+ },
+ "minipass": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
+ "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.1.2",
+ "yallist": "^3.0.0"
+ }
+ },
+ "minizlib": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
+ "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
+ "dev": true,
+ "requires": {
+ "minipass": "^2.9.0"
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
+ "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
+ "requires": {
+ "minimist": "^1.2.5"
+ }
+ },
+ "modify-filename": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/modify-filename/-/modify-filename-1.1.0.tgz",
+ "integrity": "sha1-mi3sg4Bvuy2XXyK+7IWcoms5OqE="
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ },
+ "murmur-32": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/murmur-32/-/murmur-32-0.2.0.tgz",
+ "integrity": "sha512-ZkcWZudylwF+ir3Ld1n7gL6bI2mQAzXvSobPwVtu8aYi2sbXeipeSkdcanRLzIofLcM5F53lGaKm2dk7orBi7Q==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "encode-utf8": "^1.0.3",
+ "fmix": "^0.1.0",
+ "imul": "^1.0.0"
+ }
+ },
+ "mute-stream": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
+ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
+ "dev": true
+ },
+ "nan": {
+ "version": "2.14.2",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz",
+ "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==",
+ "dev": true,
+ "optional": true
+ },
+ "needle": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/needle/-/needle-2.5.2.tgz",
+ "integrity": "sha512-LbRIwS9BfkPvNwNHlsA41Q29kL2L/6VaOJ0qisM5lLWsTV3nP15abO5ITL6L81zqFhzjRKDAYjpcBcwM0AVvLQ==",
+ "dev": true,
+ "requires": {
+ "debug": "^3.2.6",
+ "iconv-lite": "^0.4.4",
+ "sax": "^1.2.4"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
+ }
+ },
+ "nice-try": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
+ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
+ "dev": true
+ },
+ "node-abi": {
+ "version": "2.19.3",
+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.19.3.tgz",
+ "integrity": "sha512-9xZrlyfvKhWme2EXFKQhZRp1yNWT/uI1luYPr3sFl+H4keYY4xR+1jO7mvTTijIsHf1M+QDe9uWuKeEpLInIlg==",
+ "dev": true,
+ "requires": {
+ "semver": "^5.4.1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ }
+ }
+ },
+ "node-addon-api": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz",
+ "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==",
+ "dev": true
+ },
+ "node-fetch": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
+ "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
+ "dev": true
+ },
+ "node-gyp": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz",
+ "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==",
+ "dev": true,
+ "requires": {
+ "env-paths": "^2.2.0",
+ "glob": "^7.1.4",
+ "graceful-fs": "^4.2.3",
+ "nopt": "^5.0.0",
+ "npmlog": "^4.1.2",
+ "request": "^2.88.2",
+ "rimraf": "^3.0.2",
+ "semver": "^7.3.2",
+ "tar": "^6.0.2",
+ "which": "^2.0.2"
+ },
+ "dependencies": {
+ "nopt": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
+ "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
+ "dev": true,
+ "requires": {
+ "abbrev": "1"
+ }
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ }
+ }
+ },
+ "node-pre-gyp": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz",
+ "integrity": "sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==",
+ "dev": true,
+ "requires": {
+ "detect-libc": "^1.0.2",
+ "mkdirp": "^0.5.1",
+ "needle": "^2.2.1",
+ "nopt": "^4.0.1",
+ "npm-packlist": "^1.1.6",
+ "npmlog": "^4.0.2",
+ "rc": "^1.2.7",
+ "rimraf": "^2.6.1",
+ "semver": "^5.3.0",
+ "tar": "^4"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ },
+ "tar": {
+ "version": "4.4.13",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz",
+ "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==",
+ "dev": true,
+ "requires": {
+ "chownr": "^1.1.1",
+ "fs-minipass": "^1.2.5",
+ "minipass": "^2.8.6",
+ "minizlib": "^1.2.1",
+ "mkdirp": "^0.5.0",
+ "safe-buffer": "^5.1.2",
+ "yallist": "^3.0.3"
+ }
+ }
+ }
+ },
+ "nopt": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
+ "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
+ "dev": true,
+ "requires": {
+ "abbrev": "1",
+ "osenv": "^0.1.4"
+ }
+ },
+ "normalize-package-data": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+ "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ }
+ }
+ },
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
+ },
+ "normalize-url": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz",
+ "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==",
+ "dev": true
+ },
+ "npm-bundled": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz",
+ "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==",
+ "dev": true,
+ "requires": {
+ "npm-normalize-package-bin": "^1.0.1"
+ }
+ },
+ "npm-conf": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz",
+ "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "config-chain": "^1.1.11",
+ "pify": "^3.0.0"
+ }
+ },
+ "npm-normalize-package-bin": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz",
+ "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==",
+ "dev": true
+ },
+ "npm-packlist": {
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz",
+ "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==",
+ "dev": true,
+ "requires": {
+ "ignore-walk": "^3.0.1",
+ "npm-bundled": "^1.0.1",
+ "npm-normalize-package-bin": "^1.0.1"
+ }
+ },
+ "npm-run-path": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "dev": true,
+ "requires": {
+ "path-key": "^2.0.0"
+ },
+ "dependencies": {
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "dev": true
+ }
+ }
+ },
+ "npmlog": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
+ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "dev": true,
+ "requires": {
+ "are-we-there-yet": "~1.1.2",
+ "console-control-strings": "~1.1.0",
+ "gauge": "~2.7.3",
+ "set-blocking": "~2.0.0"
+ }
+ },
+ "nugget": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/nugget/-/nugget-2.0.1.tgz",
+ "integrity": "sha1-IBCVpIfhrTYIGzQy+jytpPjQcbA=",
+ "dev": true,
+ "requires": {
+ "debug": "^2.1.3",
+ "minimist": "^1.1.0",
+ "pretty-bytes": "^1.0.2",
+ "progress-stream": "^1.1.0",
+ "request": "^2.45.0",
+ "single-line-log": "^1.1.2",
+ "throttleit": "0.0.2"
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "dev": true
+ },
+ "oauth-sign": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ },
+ "object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+ "dev": true,
+ "optional": true
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "onetime": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "^2.1.0"
+ }
+ },
+ "open": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/open/-/open-7.3.0.tgz",
+ "integrity": "sha512-mgLwQIx2F/ye9SmbrUkurZCnkoXyXyu9EbHtJZrICjVAJfyMArdHp3KkixGdZx1ZHFPNIwl0DDM1dFFqXbTLZw==",
+ "dev": true,
+ "requires": {
+ "is-docker": "^2.0.0",
+ "is-wsl": "^2.1.1"
+ }
+ },
+ "ora": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-5.1.0.tgz",
+ "integrity": "sha512-9tXIMPvjZ7hPTbk8DFq1f7Kow/HU/pQYB60JbNq+QnGwcyhWVZaQ4hM9zQDEsPxw/muLpgiHSaumUZxCAmod/w==",
+ "dev": true,
+ "requires": {
+ "chalk": "^4.1.0",
+ "cli-cursor": "^3.1.0",
+ "cli-spinners": "^2.4.0",
+ "is-interactive": "^1.0.0",
+ "log-symbols": "^4.0.0",
+ "mute-stream": "0.0.8",
+ "strip-ansi": "^6.0.0",
+ "wcwidth": "^1.0.1"
+ }
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+ "dev": true
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+ "dev": true
+ },
+ "osenv": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
+ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+ "dev": true,
+ "requires": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.0"
+ }
+ },
+ "p-cancelable": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
+ "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==",
+ "dev": true
+ },
+ "p-defer": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
+ "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
+ "dev": true
+ },
+ "p-finally": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+ "dev": true
+ },
+ "p-is-promise": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz",
+ "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==",
+ "dev": true
+ },
+ "p-limit": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+ "dev": true,
+ "requires": {
+ "p-try": "^1.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "dev": true,
+ "requires": {
+ "p-limit": "^1.1.0"
+ }
+ },
+ "p-try": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+ "dev": true
+ },
+ "parse-author": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/parse-author/-/parse-author-2.0.0.tgz",
+ "integrity": "sha1-00YL8d3Q367tQtp1QkLmX7aEqB8=",
+ "dev": true,
+ "requires": {
+ "author-regex": "^1.0.0"
+ }
+ },
+ "parse-color": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/parse-color/-/parse-color-1.0.0.tgz",
+ "integrity": "sha1-e3SLlag/A/FqlPU15S1/PZRlhhk=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "color-convert": "~0.5.0"
+ },
+ "dependencies": {
+ "color-convert": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz",
+ "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "parse-json": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "dev": true,
+ "requires": {
+ "error-ex": "^1.2.0"
+ }
+ },
+ "parse-ms": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz",
+ "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==",
+ "dev": true
+ },
+ "parse-passwd": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
+ "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
+ "dev": true
+ },
+ "path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true
+ },
+ "path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
+ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
+ "dev": true
+ },
+ "path-type": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
+ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
+ "dev": true,
+ "requires": {
+ "pify": "^2.0.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ }
+ }
+ },
+ "pend": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
+ "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
+ "dev": true
+ },
+ "performance-now": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+ "dev": true
+ },
+ "picomatch": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
+ "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg=="
+ },
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true,
+ "optional": true
+ },
+ "pinkie": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+ "dev": true
+ },
+ "pinkie-promise": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "dev": true,
+ "requires": {
+ "pinkie": "^2.0.0"
+ }
+ },
+ "pkg-dir": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+ "dev": true,
+ "requires": {
+ "find-up": "^4.0.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "dev": true,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "dev": true
+ }
+ }
+ },
+ "plist": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz",
+ "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==",
+ "dev": true,
+ "requires": {
+ "base64-js": "^1.2.3",
+ "xmlbuilder": "^9.0.7",
+ "xmldom": "0.1.x"
+ }
+ },
+ "prepend-http": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
+ "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
+ "dev": true
+ },
+ "pretty-bytes": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz",
+ "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=",
+ "dev": true,
+ "requires": {
+ "get-stdin": "^4.0.1",
+ "meow": "^3.1.0"
+ }
+ },
+ "pretty-ms": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz",
+ "integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==",
+ "dev": true,
+ "requires": {
+ "parse-ms": "^2.1.0"
+ }
+ },
+ "process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
+ "dev": true
+ },
+ "progress": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
+ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
+ "dev": true
+ },
+ "progress-stream": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/progress-stream/-/progress-stream-1.2.0.tgz",
+ "integrity": "sha1-LNPP6jO6OonJwSHsM0er6asSX3c=",
+ "dev": true,
+ "requires": {
+ "speedometer": "~0.1.2",
+ "through2": "~0.2.3"
+ }
+ },
+ "proto-list": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
+ "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=",
+ "dev": true,
+ "optional": true
+ },
+ "psl": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
+ "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
+ "dev": true
+ },
+ "pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "dev": true
+ },
+ "pupa": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.0.1.tgz",
+ "integrity": "sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA==",
+ "requires": {
+ "escape-goat": "^2.0.0"
+ }
+ },
+ "qs": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
+ "dev": true
+ },
+ "quick-lru": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
+ "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
+ "dev": true
+ },
+ "random-path": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/random-path/-/random-path-0.1.2.tgz",
+ "integrity": "sha512-4jY0yoEaQ5v9StCl5kZbNIQlg1QheIDBrdkDn53EynpPb9FgO6//p3X/tgMnrC45XN6QZCzU1Xz/+pSSsJBpRw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "base32-encode": "^0.1.0 || ^1.0.0",
+ "murmur-32": "^0.1.0 || ^0.2.0"
+ }
+ },
+ "rc": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
+ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
+ "dev": true,
+ "requires": {
+ "deep-extend": "^0.6.0",
+ "ini": "~1.3.0",
+ "minimist": "^1.2.0",
+ "strip-json-comments": "~2.0.1"
+ }
+ },
+ "rcedit": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-2.2.0.tgz",
+ "integrity": "sha512-dhFtYmQS+V8qQIANyX6zDK+sO50ayDePKApi46ZPK8I6QeyyTDD6LManMa7a3p3c9mLM4zi9QBP41pfhQ9p7Sg==",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
+ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "^2.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^2.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
+ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
+ "dev": true,
+ "requires": {
+ "find-up": "^2.0.0",
+ "read-pkg": "^2.0.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "dev": true,
+ "requires": {
+ "locate-path": "^2.0.0"
+ }
+ }
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "readdirp": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
+ "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
+ "requires": {
+ "picomatch": "^2.2.1"
+ }
+ },
+ "redent": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
+ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
+ "dev": true,
+ "requires": {
+ "indent-string": "^2.1.0",
+ "strip-indent": "^1.0.1"
+ }
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "dev": true,
+ "optional": true
+ },
+ "repeating": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
+ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+ "dev": true,
+ "requires": {
+ "is-finite": "^1.0.0"
+ }
+ },
+ "request": {
+ "version": "2.88.2",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
+ "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
+ "dev": true,
+ "requires": {
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "har-validator": "~5.1.3",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "oauth-sign": "~0.9.0",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.2",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.5.0",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.3.2"
+ }
+ },
+ "require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+ "dev": true
+ },
+ "require-main-filename": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+ "dev": true,
+ "optional": true
+ },
+ "resolve": {
+ "version": "1.19.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz",
+ "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==",
+ "dev": true,
+ "requires": {
+ "is-core-module": "^2.1.0",
+ "path-parse": "^1.0.6"
+ }
+ },
+ "resolve-alpn": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.0.0.tgz",
+ "integrity": "sha512-rTuiIEqFmGxne4IovivKSDzld2lWW9QCjqv80SYjPgf+gS35eaCAjaP54CCwGAwBtnCsvNLYtqxe1Nw+i6JEmA==",
+ "dev": true
+ },
+ "resolve-dir": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
+ "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
+ "dev": true,
+ "requires": {
+ "expand-tilde": "^2.0.0",
+ "global-modules": "^1.0.0"
+ }
+ },
+ "resolve-package": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/resolve-package/-/resolve-package-1.0.1.tgz",
+ "integrity": "sha1-aG9wsYi9fWdfW7xCgszaBgq7nSc=",
+ "dev": true,
+ "requires": {
+ "get-installed-path": "^2.0.3"
+ }
+ },
+ "responselike": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
+ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
+ "dev": true,
+ "requires": {
+ "lowercase-keys": "^1.0.0"
+ }
+ },
+ "restore-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
+ "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
+ "dev": true,
+ "requires": {
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2"
+ }
+ },
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "roarr": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz",
+ "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "boolean": "^3.0.1",
+ "detect-node": "^2.0.4",
+ "globalthis": "^1.0.1",
+ "json-stringify-safe": "^5.0.1",
+ "semver-compare": "^1.0.0",
+ "sprintf-js": "^1.1.2"
+ }
+ },
+ "run-async": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
+ "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
+ "dev": true
+ },
+ "rxjs": {
+ "version": "6.6.3",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz",
+ "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true
+ },
+ "sanitize-filename": {
+ "version": "1.6.3",
+ "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz",
+ "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==",
+ "dev": true,
+ "requires": {
+ "truncate-utf8-bytes": "^1.0.0"
+ }
+ },
+ "sax": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
+ "dev": true
+ },
+ "semver": {
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
+ "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
+ "dev": true
+ },
+ "semver-compare": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
+ "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=",
+ "dev": true,
+ "optional": true
+ },
+ "serialize-error": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz",
+ "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "type-fest": "^0.13.1"
+ }
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "dev": true
+ },
+ "shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^3.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true
+ },
+ "signal-exit": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
+ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
+ "dev": true
+ },
+ "single-line-log": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.2.tgz",
+ "integrity": "sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q=",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ }
+ }
+ },
+ "slice-ansi": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz",
+ "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==",
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ }
+ },
+ "sort-keys": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
+ "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
+ "requires": {
+ "is-plain-obj": "^1.0.0"
+ }
+ },
+ "sort-keys-length": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz",
+ "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=",
+ "requires": {
+ "sort-keys": "^1.0.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "source-map-support": {
+ "version": "0.5.19",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
+ "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
+ "dev": true,
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "spdx-correct": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
+ "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
+ "dev": true,
+ "requires": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-exceptions": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
+ "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
+ "dev": true
+ },
+ "spdx-expression-parse": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
+ "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
+ "dev": true,
+ "requires": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-license-ids": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz",
+ "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==",
+ "dev": true
+ },
+ "speedometer": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/speedometer/-/speedometer-0.1.4.tgz",
+ "integrity": "sha1-mHbb0qFp0xFUAtSObqYynIgWpQ0=",
+ "dev": true
+ },
+ "sprintf-js": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
+ "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==",
+ "dev": true,
+ "optional": true
+ },
+ "sshpk": {
+ "version": "1.16.1",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
+ "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
+ "dev": true,
+ "requires": {
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
+ }
+ },
+ "stream-buffers": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz",
+ "integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ=",
+ "dev": true,
+ "optional": true
+ },
+ "string-width": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "requires": {
+ "ansi-regex": "^5.0.0"
+ }
+ },
+ "strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "dev": true
+ },
+ "strip-eof": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "dev": true
+ },
+ "strip-indent": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
+ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
+ "dev": true,
+ "requires": {
+ "get-stdin": "^4.0.1"
+ }
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "dev": true
+ },
+ "strip-outer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz",
+ "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "^1.0.2"
+ },
+ "dependencies": {
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
+ }
+ }
+ },
+ "sudo-prompt": {
+ "version": "9.2.1",
+ "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz",
+ "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==",
+ "dev": true
+ },
+ "sumchecker": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz",
+ "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==",
+ "dev": true,
+ "requires": {
+ "debug": "^4.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
+ }
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "tar": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.5.tgz",
+ "integrity": "sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg==",
+ "dev": true,
+ "requires": {
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "minipass": "^3.0.0",
+ "minizlib": "^2.1.1",
+ "mkdirp": "^1.0.3",
+ "yallist": "^4.0.0"
+ },
+ "dependencies": {
+ "chownr": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
+ "dev": true
+ },
+ "fs-minipass": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+ "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+ "dev": true,
+ "requires": {
+ "minipass": "^3.0.0"
+ }
+ },
+ "minipass": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz",
+ "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==",
+ "dev": true,
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
+ "minizlib": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
+ "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
+ "dev": true,
+ "requires": {
+ "minipass": "^3.0.0",
+ "yallist": "^4.0.0"
+ }
+ },
+ "mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "dev": true
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ }
+ }
+ },
+ "temp": {
+ "version": "0.9.4",
+ "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.4.tgz",
+ "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "mkdirp": "^0.5.1",
+ "rimraf": "~2.6.2"
+ },
+ "dependencies": {
+ "rimraf": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
+ "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ }
+ }
+ },
+ "throttleit": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz",
+ "integrity": "sha1-z+34jmDADdlpe2H90qg0OptoDq8=",
+ "dev": true
+ },
+ "through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
+ "dev": true
+ },
+ "through2": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-0.2.3.tgz",
+ "integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "~1.1.9",
+ "xtend": "~2.1.1"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "1.1.14",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ }
+ }
+ },
+ "tiny-each-async": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/tiny-each-async/-/tiny-each-async-2.0.3.tgz",
+ "integrity": "sha1-jru/1tYpXxNwAD+7NxYq/loKUdE=",
+ "dev": true,
+ "optional": true
+ },
+ "tmp": {
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "dev": true,
+ "requires": {
+ "os-tmpdir": "~1.0.2"
+ }
+ },
+ "tmp-promise": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.2.tgz",
+ "integrity": "sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "tmp": "^0.2.0"
+ },
+ "dependencies": {
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "tmp": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+ "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "rimraf": "^3.0.0"
+ }
+ }
+ }
+ },
+ "tn1150": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/tn1150/-/tn1150-0.1.0.tgz",
+ "integrity": "sha1-ZzUD0k1WuH3ouMd/7j/AhT1ZoY0=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "unorm": "^1.4.1"
+ }
+ },
+ "to-readable-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
+ "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==",
+ "dev": true
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "tough-cookie": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+ "dev": true,
+ "requires": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ }
+ },
+ "trim-newlines": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
+ "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
+ "dev": true
+ },
+ "trim-repeated": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz",
+ "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "^1.0.2"
+ },
+ "dependencies": {
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
+ }
+ }
+ },
+ "truncate-utf8-bytes": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz",
+ "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=",
+ "dev": true,
+ "requires": {
+ "utf8-byte-length": "^1.0.1"
+ }
+ },
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ },
+ "tunnel": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
+ "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
+ "dev": true,
+ "optional": true
+ },
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+ "dev": true
+ },
+ "type-fest": {
+ "version": "0.13.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
+ "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==",
+ "dev": true,
+ "optional": true
+ },
+ "typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
+ "dev": true
+ },
+ "universal-user-agent": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
+ "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==",
+ "dev": true
+ },
+ "universalify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
+ "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug=="
+ },
+ "unorm": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.6.0.tgz",
+ "integrity": "sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA==",
+ "dev": true,
+ "optional": true
+ },
+ "unused-filename": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/unused-filename/-/unused-filename-2.1.0.tgz",
+ "integrity": "sha512-BMiNwJbuWmqCpAM1FqxCTD7lXF97AvfQC8Kr/DIeA6VtvhJaMDupZ82+inbjl5yVP44PcxOuCSxye1QMS0wZyg==",
+ "requires": {
+ "modify-filename": "^1.1.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "update-electron-app": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/update-electron-app/-/update-electron-app-1.5.0.tgz",
+ "integrity": "sha512-g7noW9JfQ8Hwq6zw9lmZei+R/ikOIBcaZ04TbmIcU5zNfv23HkN80QLLAyiR/47KvfS4sjnh2/wuDq5nh8+0mQ==",
+ "requires": {
+ "electron-is-dev": "^0.3.0",
+ "github-url-to-object": "^4.0.4",
+ "is-url": "^1.2.4",
+ "ms": "^2.1.1"
+ },
+ "dependencies": {
+ "electron-is-dev": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/electron-is-dev/-/electron-is-dev-0.3.0.tgz",
+ "integrity": "sha1-FOb9pcaOnk7L7/nM8DfL18BcWv4="
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
+ }
+ },
+ "uri-js": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
+ "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
+ "dev": true,
+ "requires": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "url-parse-lax": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
+ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
+ "dev": true,
+ "requires": {
+ "prepend-http": "^2.0.0"
+ }
+ },
+ "username": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/username/-/username-5.1.0.tgz",
+ "integrity": "sha512-PCKbdWw85JsYMvmCv5GH3kXmM66rCd9m1hBEDutPNv94b/pqCMT4NtcKyeWYvLFiE8b+ha1Jdl8XAaUdPn5QTg==",
+ "dev": true,
+ "requires": {
+ "execa": "^1.0.0",
+ "mem": "^4.3.0"
+ }
+ },
+ "utf8-byte-length": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz",
+ "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=",
+ "dev": true
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "dev": true
+ },
+ "uuid": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+ "dev": true
+ },
+ "validate-npm-package-license": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+ "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+ "dev": true,
+ "requires": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
+ }
+ },
+ "wcwidth": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
+ "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
+ "dev": true,
+ "requires": {
+ "defaults": "^1.0.3"
+ }
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "which-module": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+ "dev": true,
+ "optional": true
+ },
+ "wide-align": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
+ "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.2 || 2"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ }
+ }
+ },
+ "word-wrap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+ "dev": true,
+ "optional": true
+ },
+ "wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ },
+ "xmlbuilder": {
+ "version": "9.0.7",
+ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
+ "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=",
+ "dev": true
+ },
+ "xmldom": {
+ "version": "0.1.31",
+ "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz",
+ "integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==",
+ "dev": true
+ },
+ "xtend": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz",
+ "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=",
+ "dev": true,
+ "requires": {
+ "object-keys": "~0.4.0"
+ },
+ "dependencies": {
+ "object-keys": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz",
+ "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=",
+ "dev": true
+ }
+ }
+ },
+ "y18n": {
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz",
+ "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==",
+ "dev": true
+ },
+ "yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+ "dev": true
+ },
+ "yargs": {
+ "version": "16.1.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.1.1.tgz",
+ "integrity": "sha512-hAD1RcFP/wfgfxgMVswPE+z3tlPFtxG8/yWUrG2i17sTWGCGqWnxKcLTF4cUKDUK8fzokwsmO9H0TDkRbMHy8w==",
+ "dev": true,
+ "requires": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.0",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^20.2.2"
+ },
+ "dependencies": {
+ "yargs-parser": {
+ "version": "20.2.4",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
+ "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
+ "dev": true
+ }
+ }
+ },
+ "yargs-parser": {
+ "version": "19.0.4",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-19.0.4.tgz",
+ "integrity": "sha512-eXeQm7yXRjPFFyf1voPkZgXQZJjYfjgQUmGPbD2TLtZeIYzvacgWX7sQ5a1HsRgVP+pfKAkRZDNtTGev4h9vhw==",
+ "dev": true
+ },
+ "yarn-or-npm": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/yarn-or-npm/-/yarn-or-npm-3.0.1.tgz",
+ "integrity": "sha512-fTiQP6WbDAh5QZAVdbMQkecZoahnbOjClTQhzv74WX5h2Uaidj1isf9FDes11TKtsZ0/ZVfZsqZ+O3x6aLERHQ==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^6.0.5",
+ "pkg-dir": "^4.2.0"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "dev": true,
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "dev": true
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^1.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "dev": true
+ },
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "yauzl": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
+ "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
+ "dev": true,
+ "requires": {
+ "buffer-crc32": "~0.2.3",
+ "fd-slicer": "~1.1.0"
+ }
+ },
+ "yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "dev": true
+ }
+ }
+}
diff --git a/electron/package.json b/electron/package.json
new file mode 100644
index 0000000000..55bc0bf085
--- /dev/null
+++ b/electron/package.json
@@ -0,0 +1,85 @@
+{
+ "name": "Stratos",
+ "version": "4.0.0",
+ "main": "index.js",
+ "scripts": {
+ "ng": "ng",
+ "start": "electron-forge start",
+ "build": "ng build",
+ "test": "ng test",
+ "lint": "ng lint",
+ "e2e": "ng e2e",
+ "electron": "./node_modules/.bin/electron .",
+ "package": "electron-forge package",
+ "make": "electron-forge make",
+ "epublish": "electron-forge publish"
+ },
+ "dependencies": {
+ "chokidar": "^3.4.1",
+ "electron-context-menu": "^2.0.1",
+ "electron-log": "^4.2.2",
+ "electron-squirrel-startup": "^1.0.0",
+ "electron-window-state": "^5.0.3",
+ "fs-extra": "^9.0.1",
+ "update-electron-app": "^1.5.0"
+ },
+ "devDependencies": {
+ "@electron-forge/cli": "^6.0.0-beta.52",
+ "@electron-forge/maker-deb": "^6.0.0-beta.52",
+ "@electron-forge/maker-dmg": "^6.0.0-beta.52",
+ "@electron-forge/maker-rpm": "^6.0.0-beta.52",
+ "@electron-forge/maker-squirrel": "^6.0.0-beta.52",
+ "@electron-forge/maker-zip": "^6.0.0-beta.52",
+ "@electron-forge/publisher-github": "^6.0.0-beta.52",
+ "electron": "^11.0.3"
+ },
+ "config": {
+ "forge": {
+ "packagerConfig": {
+ "dir": ".",
+ "icon": "./icon.icns"
+ },
+ "makers": [
+ {
+ "name": "@electron-forge/maker-squirrel",
+ "config": {
+ "name": "Stratos"
+ }
+ },
+ {
+ "name": "@electron-forge/maker-zip",
+ "platforms": [
+ "darwin"
+ ]
+ },
+ {
+ "name": "@electron-forge/maker-deb",
+ "config": {}
+ },
+ {
+ "name": "@electron-forge/maker-rpm",
+ "config": {}
+ },
+ {
+ "name": "@electron-forge/maker-dmg",
+ "config": {
+ "background": "background.png",
+ "icon": "VolumeIcon.icns"
+ }
+ }
+ ],
+ "publishers": [
+ {
+ "name": "@electron-forge/publisher-github",
+ "config": {
+ "repository": {
+ "owner": "nwmac",
+ "name": "stratos-desktop"
+ },
+ "prerelease": false
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/electron/package.sh b/electron/package.sh
new file mode 100755
index 0000000000..54daf1d880
--- /dev/null
+++ b/electron/package.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+
+# Script folder
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
+STRATOS="`cd "${DIR}/..";pwd`"
+
+source "${DIR}/build.sh"
+
+pushd ${DIR} > /dev/null
+rm -rf dist/*es5*
+popd > /dev/null
+
+npm run package
+
+# Mac - move the app to the Applications folder
+if [ "$1" == "-i" ]; then
+ mv ./out/Stratos-darwin-x64/Stratos.app /Applications
+fi
\ No newline at end of file
diff --git a/electron/prep-backend.sh b/electron/prep-backend.sh
new file mode 100755
index 0000000000..0ba0988811
--- /dev/null
+++ b/electron/prep-backend.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+
+# Script folder
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
+STRATOS="`cd "${DIR}/..";pwd`"
+
+pushd ${STRATOS} > /dev/null
+# Ensure we include the desktop backend plugin
+STRATOS_YAML=./electron/stratos.yaml npm run prepare-backend
+popd > /dev/null
\ No newline at end of file
diff --git a/electron/run.sh b/electron/run.sh
new file mode 100755
index 0000000000..fd437c12a9
--- /dev/null
+++ b/electron/run.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+
+# Script folder
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
+STRATOS="`cd "${DIR}/..";pwd`"
+
+source "${DIR}/build.sh"
+
+echo "Running electron app ...."
+npm run electron -- ${ARGS}
\ No newline at end of file
diff --git a/electron/stratos.yaml b/electron/stratos.yaml
new file mode 100644
index 0000000000..e7f5f517ca
--- /dev/null
+++ b/electron/stratos.yaml
@@ -0,0 +1,2 @@
+packages:
+ desktop: true
diff --git a/package-lock.json b/package-lock.json
index dbc2a7bb7a..1578216fce 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,154 +1,388 @@
{
"name": "stratos",
- "version": "4.3.0",
+ "version": "4.4.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@angular-builders/custom-webpack": {
- "version": "9.2.0",
- "resolved": "https://registry.npmjs.org/@angular-builders/custom-webpack/-/custom-webpack-9.2.0.tgz",
- "integrity": "sha512-0ivkjENONFm0oNy6hdCod4YaT4dUk80KuP9+eDliWuZIA70yKQgIYMLul0bz6/i+Cm24PaZ2tq4w7kW7AuSMoA==",
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/@angular-builders/custom-webpack/-/custom-webpack-10.0.1.tgz",
+ "integrity": "sha512-YDy5zEKVwXdoXLjmbsY6kGaEbmunQxaPipxrwLUc9hIjRLU2WcrX9vopf1R9Pgj4POad73IPBNGu+ibqNRFIEQ==",
"dev": true,
"requires": {
- "@angular-devkit/architect": ">=0.900.0 < 0.1000.0",
- "@angular-devkit/build-angular": ">=0.900.0 < 0.1000.0",
- "@angular-devkit/core": "^9.0.0",
- "lodash": "^4.17.10",
- "ts-node": "^8.5.2",
- "webpack-merge": "^4.2.1"
+ "@angular-devkit/architect": ">=0.1000.0 < 0.1100.0",
+ "@angular-devkit/build-angular": ">=0.1000.0 < 0.1100.0",
+ "@angular-devkit/core": "^10.0.0",
+ "lodash": "^4.17.15",
+ "ts-node": "^9.0.0",
+ "webpack-merge": "^4.2.2"
+ },
+ "dependencies": {
+ "ts-node": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.0.0.tgz",
+ "integrity": "sha512-/TqB4SnererCDR/vb4S/QvSZvzQMJN8daAslg7MeaiHvD8rDZsSfXmNeNumyZZzMned72Xoq/isQljYSt8Ynfg==",
+ "dev": true,
+ "requires": {
+ "arg": "^4.1.0",
+ "diff": "^4.0.1",
+ "make-error": "^1.1.1",
+ "source-map-support": "^0.5.17",
+ "yn": "3.1.1"
+ }
+ }
}
},
"@angular-devkit/architect": {
- "version": "0.901.7",
- "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.901.7.tgz",
- "integrity": "sha512-yW/PUEqle55QihOFbmeNXaVTodhfeXkteoFDUpz+YpX3xiQDXDtNbIJSzKOQTojtBKdSMKMvZkQLr+RAa7/1EA==",
+ "version": "0.1002.0",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1002.0.tgz",
+ "integrity": "sha512-twM8V03ujBIGVpgV1PBlSDodUdxtUb7WakutfWafAvEHUsgwzfvQz2VtKWvjNZ9AiYjnCuwkQaclqVv0VHNo9w==",
"dev": true,
"requires": {
- "@angular-devkit/core": "9.1.7",
- "rxjs": "6.5.4"
+ "@angular-devkit/core": "10.2.0",
+ "rxjs": "6.6.2"
},
"dependencies": {
"rxjs": {
- "version": "6.5.4",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
- "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
+ "version": "6.6.2",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.2.tgz",
+ "integrity": "sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg==",
"dev": true,
"requires": {
"tslib": "^1.9.0"
}
+ },
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
}
}
},
"@angular-devkit/build-angular": {
- "version": "0.901.12",
- "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.901.12.tgz",
- "integrity": "sha512-enK+u1Lg1a/KWUs3r8Tc7Igduu5ph9fgziV8bjQeVrswrqFb0m0eEhxe/zV8rvE92H3NBZp5Z+uzOYIcg4eirw==",
- "dev": true,
- "requires": {
- "@angular-devkit/architect": "0.901.12",
- "@angular-devkit/build-optimizer": "0.901.12",
- "@angular-devkit/build-webpack": "0.901.12",
- "@angular-devkit/core": "9.1.12",
- "@babel/core": "7.9.0",
- "@babel/generator": "7.9.3",
- "@babel/preset-env": "7.9.0",
- "@babel/template": "7.8.6",
- "@jsdevtools/coverage-istanbul-loader": "3.0.3",
- "@ngtools/webpack": "9.1.12",
- "ajv": "6.12.3",
- "autoprefixer": "9.7.4",
- "babel-loader": "8.0.6",
+ "version": "0.1002.0",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.1002.0.tgz",
+ "integrity": "sha512-cPkdp1GceokGHc79Wg0hACMqqmnJ4W3H9kY4c9qp1Xz18b3vk1aq09JNawOpfUN09S9vBCnn4glg22lRyqmJNA==",
+ "dev": true,
+ "requires": {
+ "@angular-devkit/architect": "0.1002.0",
+ "@angular-devkit/build-optimizer": "0.1002.0",
+ "@angular-devkit/build-webpack": "0.1002.0",
+ "@angular-devkit/core": "10.2.0",
+ "@babel/core": "7.11.1",
+ "@babel/generator": "7.11.0",
+ "@babel/plugin-transform-runtime": "7.11.0",
+ "@babel/preset-env": "7.11.0",
+ "@babel/runtime": "7.11.2",
+ "@babel/template": "7.10.4",
+ "@jsdevtools/coverage-istanbul-loader": "3.0.5",
+ "@ngtools/webpack": "10.2.0",
+ "autoprefixer": "9.8.6",
+ "babel-loader": "8.1.0",
"browserslist": "^4.9.1",
- "cacache": "15.0.0",
+ "cacache": "15.0.5",
"caniuse-lite": "^1.0.30001032",
"circular-dependency-plugin": "5.2.0",
"copy-webpack-plugin": "6.0.3",
"core-js": "3.6.4",
- "css-loader": "3.5.1",
+ "css-loader": "4.2.2",
"cssnano": "4.1.10",
"file-loader": "6.0.0",
"find-cache-dir": "3.3.1",
"glob": "7.1.6",
- "jest-worker": "25.1.0",
+ "jest-worker": "26.3.0",
"karma-source-map-support": "1.4.0",
- "less": "3.11.3",
- "less-loader": "5.0.0",
- "license-webpack-plugin": "2.1.4",
+ "less-loader": "6.2.0",
+ "license-webpack-plugin": "2.3.0",
"loader-utils": "2.0.0",
- "mini-css-extract-plugin": "0.9.0",
+ "mini-css-extract-plugin": "0.10.0",
"minimatch": "3.0.4",
- "open": "7.0.3",
- "parse5": "4.0.0",
- "postcss": "7.0.27",
+ "open": "7.2.0",
+ "parse5": "6.0.1",
+ "parse5-htmlparser2-tree-adapter": "6.0.1",
+ "pnp-webpack-plugin": "1.6.4",
+ "postcss": "7.0.32",
"postcss-import": "12.0.1",
"postcss-loader": "3.0.0",
- "raw-loader": "4.0.0",
- "regenerator-runtime": "0.13.5",
+ "raw-loader": "4.0.1",
+ "regenerator-runtime": "0.13.7",
+ "resolve-url-loader": "3.1.2",
"rimraf": "3.0.2",
- "rollup": "2.1.0",
- "rxjs": "6.5.4",
- "sass": "1.26.3",
- "sass-loader": "8.0.2",
- "semver": "7.1.3",
+ "rollup": "2.26.5",
+ "rxjs": "6.6.2",
+ "sass": "1.26.10",
+ "sass-loader": "10.0.1",
+ "semver": "7.3.2",
"source-map": "0.7.3",
- "source-map-loader": "0.2.4",
- "speed-measure-webpack-plugin": "1.3.1",
- "style-loader": "1.1.3",
- "stylus": "0.54.7",
+ "source-map-loader": "1.0.2",
+ "source-map-support": "0.5.19",
+ "speed-measure-webpack-plugin": "1.3.3",
+ "style-loader": "1.2.1",
+ "stylus": "0.54.8",
"stylus-loader": "3.0.2",
- "terser": "4.6.10",
- "terser-webpack-plugin": "3.0.3",
+ "terser": "5.3.0",
+ "terser-webpack-plugin": "4.1.0",
"tree-kill": "1.2.2",
- "webpack": "4.42.0",
+ "webpack": "4.44.1",
"webpack-dev-middleware": "3.7.2",
"webpack-dev-server": "3.11.0",
"webpack-merge": "4.2.2",
"webpack-sources": "1.4.3",
- "webpack-subresource-integrity": "1.4.0",
- "worker-plugin": "4.0.3"
+ "webpack-subresource-integrity": "1.4.1",
+ "worker-plugin": "5.0.0"
},
"dependencies": {
- "@angular-devkit/architect": {
- "version": "0.901.12",
- "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.901.12.tgz",
- "integrity": "sha512-gLlsxa+3JPV1m1gRvRMujOs4xKox6I5BkYmOD1zfu+dB6y3LuBAvHfXA6FaTDVOMBrmSlWnE4PmOmB6xd7wxMA==",
+ "@babel/code-frame": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+ "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
"dev": true,
"requires": {
- "@angular-devkit/core": "9.1.12",
- "rxjs": "6.5.4"
+ "@babel/highlight": "^7.10.4"
}
},
- "@angular-devkit/core": {
- "version": "9.1.12",
- "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.12.tgz",
- "integrity": "sha512-D/GnBeSlmdgGn7EhuE32HuPuRAjvUuxi7Q6WywBI8PSsXKAGnrypghBwMATNnOA24//CgbW2533Y9VWHaeXdeA==",
+ "@babel/core": {
+ "version": "7.11.1",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.11.1.tgz",
+ "integrity": "sha512-XqF7F6FWQdKGGWAzGELL+aCO1p+lRY5Tj5/tbT3St1G8NaH70jhhDIKknIZaDans0OQBG5wRAldROLHSt44BgQ==",
"dev": true,
"requires": {
- "ajv": "6.12.3",
- "fast-json-stable-stringify": "2.1.0",
- "magic-string": "0.25.7",
- "rxjs": "6.5.4",
- "source-map": "0.7.3"
+ "@babel/code-frame": "^7.10.4",
+ "@babel/generator": "^7.11.0",
+ "@babel/helper-module-transforms": "^7.11.0",
+ "@babel/helpers": "^7.10.4",
+ "@babel/parser": "^7.11.1",
+ "@babel/template": "^7.10.4",
+ "@babel/traverse": "^7.11.0",
+ "@babel/types": "^7.11.0",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.1",
+ "json5": "^2.1.2",
+ "lodash": "^4.17.19",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
}
},
- "ajv": {
- "version": "6.12.3",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
- "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==",
+ "@babel/generator": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.0.tgz",
+ "integrity": "sha512-fEm3Uzw7Mc9Xi//qU20cBKatTfs2aOtKqmvy/Vm7RkJEGFQ4xc9myCfbXxqK//ZS8MR/ciOHw6meGASJuKmDfQ==",
"dev": true,
"requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
+ "@babel/types": "^7.11.0",
+ "jsesc": "^2.5.1",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
}
},
- "chownr": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
- "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
+ "@babel/helper-function-name": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz",
+ "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.10.4",
+ "@babel/template": "^7.10.4",
+ "@babel/types": "^7.10.4"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
+ "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.10.4"
+ }
+ },
+ "@babel/helper-member-expression-to-functions": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz",
+ "integrity": "sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.12.1"
+ }
+ },
+ "@babel/helper-module-imports": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.1.tgz",
+ "integrity": "sha512-ZeC1TlMSvikvJNy1v/wPIazCu3NdOwgYZLIkmIyAsGhqkNpiDoQQRmaCK8YP4Pq3GPTLPV9WXaPCJKvx06JxKA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.12.1"
+ }
+ },
+ "@babel/helper-module-transforms": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz",
+ "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==",
+ "dev": true,
+ "requires": {
+ "@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-optimise-call-expression": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz",
+ "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.10.4"
+ }
+ },
+ "@babel/helper-replace-supers": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz",
+ "integrity": "sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-member-expression-to-functions": "^7.12.1",
+ "@babel/helper-optimise-call-expression": "^7.10.4",
+ "@babel/traverse": "^7.12.1",
+ "@babel/types": "^7.12.1"
+ }
+ },
+ "@babel/helper-simple-access": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz",
+ "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.12.1"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz",
+ "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.11.0"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+ "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.10.4",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "@babel/parser": {
+ "version": "7.12.3",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz",
+ "integrity": "sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw==",
"dev": true
},
+ "@babel/template": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
+ "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/parser": "^7.10.4",
+ "@babel/types": "^7.10.4"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.1.tgz",
+ "integrity": "sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/generator": "^7.12.1",
+ "@babel/helper-function-name": "^7.10.4",
+ "@babel/helper-split-export-declaration": "^7.11.0",
+ "@babel/parser": "^7.12.1",
+ "@babel/types": "^7.12.1",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.19"
+ },
+ "dependencies": {
+ "@babel/generator": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.1.tgz",
+ "integrity": "sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.12.1",
+ "jsesc": "^2.5.1",
+ "source-map": "^0.5.0"
+ }
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/types": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz",
+ "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.10.4",
+ "lodash": "^4.17.19",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "autoprefixer": {
+ "version": "9.8.6",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz",
+ "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==",
+ "dev": true,
+ "requires": {
+ "browserslist": "^4.12.0",
+ "caniuse-lite": "^1.0.30001109",
+ "colorette": "^1.2.1",
+ "normalize-range": "^0.1.2",
+ "num2fraction": "^1.2.2",
+ "postcss": "^7.0.32",
+ "postcss-value-parser": "^4.1.0"
+ }
+ },
"copy-webpack-plugin": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.0.3.tgz",
@@ -166,33 +400,6 @@
"schema-utils": "^2.7.0",
"serialize-javascript": "^4.0.0",
"webpack-sources": "^1.4.3"
- },
- "dependencies": {
- "cacache": {
- "version": "15.0.5",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.5.tgz",
- "integrity": "sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A==",
- "dev": true,
- "requires": {
- "@npmcli/move-file": "^1.0.1",
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "glob": "^7.1.4",
- "infer-owner": "^1.0.4",
- "lru-cache": "^6.0.0",
- "minipass": "^3.1.1",
- "minipass-collect": "^1.0.2",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.2",
- "mkdirp": "^1.0.3",
- "p-map": "^4.0.0",
- "promise-inflight": "^1.0.1",
- "rimraf": "^3.0.2",
- "ssri": "^8.0.0",
- "tar": "^6.0.2",
- "unique-filename": "^1.1.1"
- }
- }
}
},
"core-js": {
@@ -202,12 +409,12 @@
"dev": true
},
"debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
+ "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "2.1.2"
}
},
"fast-glob": {
@@ -224,66 +431,18 @@
"picomatch": "^2.2.1"
}
},
- "glob-parent": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
- "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
- "dev": true,
- "requires": {
- "is-glob": "^4.0.1"
- }
- },
- "less": {
- "version": "3.11.3",
- "resolved": "https://registry.npmjs.org/less/-/less-3.11.3.tgz",
- "integrity": "sha512-VkZiTDdtNEzXA3LgjQiC3D7/ejleBPFVvq+aRI9mIj+Zhmif5TvFPM244bT4rzkvOCvJ9q4zAztok1M7Nygagw==",
- "dev": true,
- "requires": {
- "clone": "^2.1.2",
- "errno": "^0.1.1",
- "graceful-fs": "^4.1.2",
- "image-size": "~0.5.0",
- "make-dir": "^2.1.0",
- "mime": "^1.4.1",
- "promise": "^7.1.1",
- "request": "^2.83.0",
- "source-map": "~0.6.0",
- "tslib": "^1.10.0"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "optional": true
- }
- }
- },
- "lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "minipass": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz",
- "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==",
- "dev": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- },
"mkdirp": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
"dev": true
},
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
"p-limit": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.2.tgz",
@@ -293,27 +452,31 @@
"p-try": "^2.0.0"
}
},
- "p-map": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
- "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
+ "parse5": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+ "dev": true
+ },
+ "postcss": {
+ "version": "7.0.32",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz",
+ "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==",
"dev": true,
"requires": {
- "aggregate-error": "^3.0.0"
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
}
},
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true
- },
- "parse5": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz",
- "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==",
- "dev": true
- },
"rimraf": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
@@ -324,18 +487,27 @@
}
},
"rxjs": {
- "version": "6.5.4",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
- "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
+ "version": "6.6.2",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.2.tgz",
+ "integrity": "sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg==",
"dev": true,
"requires": {
"tslib": "^1.9.0"
}
},
+ "sass": {
+ "version": "1.26.10",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.26.10.tgz",
+ "integrity": "sha512-bzN0uvmzfsTvjz0qwccN1sPm2HxxpNI/Xa+7PlUEMS+nQvbyuEK7Y0qFqxlPHhiNHb1Ze8WQJtU31olMObkAMw==",
+ "dev": true,
+ "requires": {
+ "chokidar": ">=2.0.0 <4.0.0"
+ }
+ },
"semver": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz",
- "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==",
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
+ "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
"dev": true
},
"serialize-javascript": {
@@ -354,30 +526,36 @@
"dev": true
},
"stylus": {
- "version": "0.54.7",
- "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.7.tgz",
- "integrity": "sha512-Yw3WMTzVwevT6ZTrLCYNHAFmanMxdylelL3hkWNgPMeTCpMwpV3nXjpOHuBXtFv7aiO2xRuQS6OoAdgkNcSNug==",
+ "version": "0.54.8",
+ "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.8.tgz",
+ "integrity": "sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==",
"dev": true,
"requires": {
"css-parse": "~2.0.0",
"debug": "~3.1.0",
- "glob": "^7.1.3",
- "mkdirp": "~0.5.x",
+ "glob": "^7.1.6",
+ "mkdirp": "~1.0.4",
"safer-buffer": "^2.1.2",
"sax": "~1.2.4",
- "semver": "^6.0.0",
+ "semver": "^6.3.0",
"source-map": "^0.7.3"
},
"dependencies": {
- "mkdirp": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
- "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"dev": true,
"requires": {
- "minimist": "^1.2.5"
+ "ms": "2.0.0"
}
},
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ },
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
@@ -385,40 +563,52 @@
"dev": true
}
}
+ },
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
}
}
},
"@angular-devkit/build-ng-packagr": {
- "version": "0.901.7",
- "resolved": "https://registry.npmjs.org/@angular-devkit/build-ng-packagr/-/build-ng-packagr-0.901.7.tgz",
- "integrity": "sha512-HJ6nzXIUyI8yUuXGtdk26qDgLzlmfSwsSuc8JWdeqieP82fz/qokf78vVAqyHyJ9gi90IZiPO2+oh6Ot6UMo+g==",
+ "version": "0.1002.0",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-ng-packagr/-/build-ng-packagr-0.1002.0.tgz",
+ "integrity": "sha512-JngcuLuPpu2oOhi1qBPzco+ETjDbv90zyWZELO3qXeCelug1z83E0Qi2sLgnNYayzSHfrivrRamL8CbYYT+M9Q==",
"dev": true,
"requires": {
- "@angular-devkit/architect": "0.901.7",
- "rxjs": "6.5.4"
+ "@angular-devkit/architect": "0.1002.0",
+ "rxjs": "6.6.2"
},
"dependencies": {
"rxjs": {
- "version": "6.5.4",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
- "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
+ "version": "6.6.2",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.2.tgz",
+ "integrity": "sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg==",
"dev": true,
"requires": {
"tslib": "^1.9.0"
}
+ },
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
}
}
},
"@angular-devkit/build-optimizer": {
- "version": "0.901.12",
- "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.12.tgz",
- "integrity": "sha512-XuXA+6y9QkIAwSVZhWmne4r7qugUUWaXobgRefbn9heiRlY8/7XkZmmvbSrxc1fgQfQar52W9fAa19fAIeNvnw==",
+ "version": "0.1002.0",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1002.0.tgz",
+ "integrity": "sha512-ACnm9doPMbRtSy1UZN5ir7smeLMx0g0oW7jX3jyPepeQKZ+9U1Bn09t10NLZQH+Z509jWZgvNJH/aOh85P6euw==",
"dev": true,
"requires": {
"loader-utils": "2.0.0",
"source-map": "0.7.3",
- "tslib": "1.11.1",
- "typescript": "3.6.5",
+ "tslib": "2.0.1",
+ "typescript": "4.0.2",
"webpack-sources": "1.4.3"
},
"dependencies": {
@@ -428,94 +618,77 @@
"integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
"dev": true
},
+ "tslib": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz",
+ "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==",
+ "dev": true
+ },
"typescript": {
- "version": "3.6.5",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.5.tgz",
- "integrity": "sha512-BEjlc0Z06ORZKbtcxGrIvvwYs5hAnuo6TKdNFL55frVDlB+na3z5bsLhFaIxmT+dPWgBIjMo6aNnTOgHHmHgiQ==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.2.tgz",
+ "integrity": "sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ==",
"dev": true
}
}
},
"@angular-devkit/build-webpack": {
- "version": "0.901.12",
- "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.901.12.tgz",
- "integrity": "sha512-zrhZV2LhQ4uFl9at9i2jiedIu932HsaFN4OMMsTFlV+6CZxtEUBI85hhnPa5KQtIYQr2OMQSQf/FyhnBGs0riQ==",
+ "version": "0.1002.0",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1002.0.tgz",
+ "integrity": "sha512-TLBBQ6ANOLKXOPxpCOnxAtoknwHA7XhsLuueN06w5qqF+QNNbWUMPoieKFGs2TnotfCgbiq6x57IDEZTyT6V0w==",
"dev": true,
"requires": {
- "@angular-devkit/architect": "0.901.12",
- "@angular-devkit/core": "9.1.12",
- "rxjs": "6.5.4"
+ "@angular-devkit/architect": "0.1002.0",
+ "@angular-devkit/core": "10.2.0",
+ "rxjs": "6.6.2"
},
"dependencies": {
- "@angular-devkit/architect": {
- "version": "0.901.12",
- "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.901.12.tgz",
- "integrity": "sha512-gLlsxa+3JPV1m1gRvRMujOs4xKox6I5BkYmOD1zfu+dB6y3LuBAvHfXA6FaTDVOMBrmSlWnE4PmOmB6xd7wxMA==",
- "dev": true,
- "requires": {
- "@angular-devkit/core": "9.1.12",
- "rxjs": "6.5.4"
- }
- },
- "@angular-devkit/core": {
- "version": "9.1.12",
- "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.12.tgz",
- "integrity": "sha512-D/GnBeSlmdgGn7EhuE32HuPuRAjvUuxi7Q6WywBI8PSsXKAGnrypghBwMATNnOA24//CgbW2533Y9VWHaeXdeA==",
- "dev": true,
- "requires": {
- "ajv": "6.12.3",
- "fast-json-stable-stringify": "2.1.0",
- "magic-string": "0.25.7",
- "rxjs": "6.5.4",
- "source-map": "0.7.3"
- }
- },
- "ajv": {
- "version": "6.12.3",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
- "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==",
- "dev": true,
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
"rxjs": {
- "version": "6.5.4",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
- "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
+ "version": "6.6.2",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.2.tgz",
+ "integrity": "sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg==",
"dev": true,
"requires": {
"tslib": "^1.9.0"
}
},
- "source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
"dev": true
}
}
},
"@angular-devkit/core": {
- "version": "9.1.7",
- "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.7.tgz",
- "integrity": "sha512-guvolu9Cl+qYMTtedLZD9wCqustJjdqzJ2psD2C1Sr1LrX9T0mprmDldR/YnhsitThveJEb6sM/0EvqWxoSvKw==",
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-10.2.0.tgz",
+ "integrity": "sha512-XAszFhSF3mZw1VjoOsYGbArr5NJLcStjOvcCGjBPl1UBM2AKpuCQXHxI9XJGYKL3B93Vp5G58d8qkHvamT53OA==",
"dev": true,
"requires": {
- "ajv": "6.12.0",
+ "ajv": "6.12.4",
"fast-json-stable-stringify": "2.1.0",
"magic-string": "0.25.7",
- "rxjs": "6.5.4",
+ "rxjs": "6.6.2",
"source-map": "0.7.3"
},
"dependencies": {
+ "ajv": {
+ "version": "6.12.4",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz",
+ "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
"rxjs": {
- "version": "6.5.4",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
- "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
+ "version": "6.6.2",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.2.tgz",
+ "integrity": "sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg==",
"dev": true,
"requires": {
"tslib": "^1.9.0"
@@ -526,72 +699,109 @@
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
"integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
"dev": true
+ },
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
}
}
},
"@angular-devkit/schematics": {
- "version": "9.1.7",
- "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.1.7.tgz",
- "integrity": "sha512-oeHPJePBcPp/bd94jHQeFUnft93PGF5iJiKV9szxqS8WWC5OMZ5eK7icRY0PwvLyfenspAZxdZcNaqJqPMul5A==",
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-10.2.0.tgz",
+ "integrity": "sha512-TQI5NnE6iM3ChF5gZQ9qb+lZgMWa7aLoF5ksOyT3zrmOuICiQYJhA6SsjV95q7J4M55qYymwBib8KTqU/xuQww==",
"dev": true,
"requires": {
- "@angular-devkit/core": "9.1.7",
- "ora": "4.0.3",
- "rxjs": "6.5.4"
+ "@angular-devkit/core": "10.2.0",
+ "ora": "5.0.0",
+ "rxjs": "6.6.2"
},
"dependencies": {
"rxjs": {
- "version": "6.5.4",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
- "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
+ "version": "6.6.2",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.2.tgz",
+ "integrity": "sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg==",
"dev": true,
"requires": {
"tslib": "^1.9.0"
}
+ },
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
}
}
},
"@angular/animations": {
- "version": "9.1.9",
- "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-9.1.9.tgz",
- "integrity": "sha512-qWVi0TxmU6HeXAgEsfpQvFFygh+a0kH2kGe6bWij4XvG6dWfV3xZjlaFwSIYGk+yK4yL0+9+PAXH+ENfxNw+Cw=="
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-10.2.0.tgz",
+ "integrity": "sha512-lKjC2Jm2Al4GCW2zKutdskMWqe5S23gknPvp65ybmR5D1Pz/YgzDOHXmTHqDn5qXJgzpFt/fJgNi805XrAOm4g==",
+ "requires": {
+ "tslib": "^2.0.0"
+ }
},
"@angular/cdk": {
- "version": "9.2.4",
- "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-9.2.4.tgz",
- "integrity": "sha512-iw2+qHMXHYVC6K/fttHeNHIieSKiTEodVutZoOEcBu9rmRTGbLB26V/CRsfIRmA1RBk+uFYWc6UQZnMC3RdnJQ==",
+ "version": "10.2.5",
+ "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-10.2.5.tgz",
+ "integrity": "sha512-SI/YdaxfkttG92A0uGRixyJkfTKHn0GIU+7BCSRq0d31ru3Ugfln+jr+5/xttxWr88CNPTfpGaUt0ZuSqYCzqw==",
"requires": {
- "parse5": "^5.0.0"
+ "parse5": "^5.0.0",
+ "tslib": "^2.0.0"
}
},
"@angular/cli": {
- "version": "9.1.7",
- "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.1.7.tgz",
- "integrity": "sha512-NhsIa725S/U/n7nDxp6ForusdYHEXF4aSIvsFRdoK6vbQ889c5e1Rdj+T5EWXLmpQZxeprSKhLI2alNX0nVhhQ==",
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-10.2.0.tgz",
+ "integrity": "sha512-YBzwkFBmG6CdUJk8onsPXxHX/ByU5MERBQgYhLC873e2nZlXMUu+Ttq2Wai6apyskGvsXKxZNPOQSFZTGKXzXg==",
"dev": true,
"requires": {
- "@angular-devkit/architect": "0.901.7",
- "@angular-devkit/core": "9.1.7",
- "@angular-devkit/schematics": "9.1.7",
- "@schematics/angular": "9.1.7",
- "@schematics/update": "0.901.7",
+ "@angular-devkit/architect": "0.1002.0",
+ "@angular-devkit/core": "10.2.0",
+ "@angular-devkit/schematics": "10.2.0",
+ "@schematics/angular": "10.2.0",
+ "@schematics/update": "0.1002.0",
"@yarnpkg/lockfile": "1.1.0",
"ansi-colors": "4.1.1",
"debug": "4.1.1",
"ini": "1.3.5",
- "inquirer": "7.1.0",
+ "inquirer": "7.3.3",
"npm-package-arg": "8.0.1",
- "npm-pick-manifest": "6.0.0",
- "open": "7.0.3",
+ "npm-pick-manifest": "6.1.0",
+ "open": "7.2.0",
"pacote": "9.5.12",
"read-package-tree": "5.3.1",
"rimraf": "3.0.2",
- "semver": "7.1.3",
+ "semver": "7.3.2",
"symbol-observable": "1.2.0",
- "universal-analytics": "0.4.20",
- "uuid": "7.0.2"
+ "universal-analytics": "0.4.23",
+ "uuid": "8.3.0"
},
"dependencies": {
+ "@angular-devkit/architect": {
+ "version": "0.1002.0",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1002.0.tgz",
+ "integrity": "sha512-twM8V03ujBIGVpgV1PBlSDodUdxtUb7WakutfWafAvEHUsgwzfvQz2VtKWvjNZ9AiYjnCuwkQaclqVv0VHNo9w==",
+ "dev": true,
+ "requires": {
+ "@angular-devkit/core": "10.2.0",
+ "rxjs": "6.6.2"
+ }
+ },
+ "@schematics/angular": {
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-10.2.0.tgz",
+ "integrity": "sha512-rJRTTTL8CMMFb3ebCvAVHKHxuNzRqy/HtbXhJ82l5Xo/jXcm74eV2Q0RBUrNo1yBKWFIR+FIwiXLJaGcC/R9Pw==",
+ "dev": true,
+ "requires": {
+ "@angular-devkit/core": "10.2.0",
+ "@angular-devkit/schematics": "10.2.0",
+ "jsonc-parser": "2.3.0"
+ }
+ },
"ansi-colors": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
@@ -607,12 +817,28 @@
"ms": "^2.1.1"
}
},
+ "jsonc-parser": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.3.0.tgz",
+ "integrity": "sha512-b0EBt8SWFNnixVdvoR2ZtEGa9ZqLhbJnOjezn+WP+8kspFm+PFYDN8Z4Bc7pRlDjvuVcADSUkroIuTWWn/YiIA==",
+ "dev": true
+ },
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
+ "open": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/open/-/open-7.2.0.tgz",
+ "integrity": "sha512-4HeyhxCvBTI5uBePsAdi55C5fmqnWZ2e2MlmvWi5KW5tdH5rxoiv/aMtbeVxKZc3eWkT1GymMnLG8XC4Rq4TDQ==",
+ "dev": true,
+ "requires": {
+ "is-docker": "^2.0.0",
+ "is-wsl": "^2.1.1"
+ }
+ },
"rimraf": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
@@ -622,34 +848,55 @@
"glob": "^7.1.3"
}
},
+ "rxjs": {
+ "version": "6.6.2",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.2.tgz",
+ "integrity": "sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
"semver": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz",
- "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==",
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
+ "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
+ "dev": true
+ },
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
"dev": true
},
"uuid": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.2.tgz",
- "integrity": "sha512-vy9V/+pKG+5ZTYKf+VcphF5Oc6EFiu3W8Nv3P3zIh0EqVI80ZxOzuPfe9EHjkFNvf8+xuTHVeei4Drydlx4zjw==",
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.0.tgz",
+ "integrity": "sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ==",
"dev": true
}
}
},
"@angular/common": {
- "version": "9.1.9",
- "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.1.9.tgz",
- "integrity": "sha512-y/tJtkuOJhV2kcaXZyrLZH84i4uQ1r+vaaEHvXj+JZYfYfcMMd/TDqMiPcIkUb3RxqghtZ+q0ZNW5D1Nlru3Pw=="
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/@angular/common/-/common-10.2.0.tgz",
+ "integrity": "sha512-4q7cb6Z18R1nQ8dN8uj6cckuk4jzY40lF7kpxf/wja0pQBUBtWwExwXsdHTVWGZ/mgQv9a5dTAPQq8/tSmf+hw==",
+ "requires": {
+ "tslib": "^2.0.0"
+ }
},
"@angular/compiler": {
- "version": "9.1.9",
- "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.1.9.tgz",
- "integrity": "sha512-kjFgaTB2ckr9lgmkS1dOGRT7kmzpQueydxsxXSHWgICNVE6F/u1PHyeSOyJRpxW0GnrkLq3QM2EUFnQGGga5bg=="
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-10.2.0.tgz",
+ "integrity": "sha512-r+zNEDJmfH7pyQULgs6iQgMv/zH/CokepTuemrVbBKkUjd8F9Q84XdflR2Tx2rukiAAl4B0BuG+v4tSb9pR1WQ==",
+ "requires": {
+ "tslib": "^2.0.0"
+ }
},
"@angular/compiler-cli": {
- "version": "9.1.9",
- "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.1.9.tgz",
- "integrity": "sha512-aLr2eaDlREN8XybgTbelvjtSZ8eAkxBPilnkddc700BgiC6ImyUSKaItOwa8bnjQwq4Wlz5eVG0ibsrX+5MXwg==",
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-10.2.0.tgz",
+ "integrity": "sha512-NWTNg15LLL14MgooXV1Xb4w49I4OAfWakcc0J7XQm3B3mRFuue/UfXE9dKMStenTfmtUnNO9c+xjZRhTWYJkfw==",
"dev": true,
"requires": {
"canonical-path": "1.0.0",
@@ -663,6 +910,7 @@
"semver": "^6.3.0",
"source-map": "^0.6.1",
"sourcemap-codec": "^1.4.8",
+ "tslib": "^2.0.0",
"yargs": "15.3.0"
},
"dependencies": {
@@ -673,12 +921,11 @@
"dev": true
},
"ansi-styles": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
- "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
- "@types/color-name": "^1.1.1",
"color-convert": "^2.0.1"
}
},
@@ -744,15 +991,6 @@
"p-locate": "^4.1.0"
}
},
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
"p-locate": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
@@ -762,12 +1000,6 @@
"p-limit": "^2.2.0"
}
},
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true
- },
"path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -806,12 +1038,6 @@
"ansi-regex": "^5.0.0"
}
},
- "which-module": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
- "dev": true
- },
"wrap-ansi": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
@@ -855,59 +1081,84 @@
}
},
"@angular/core": {
- "version": "9.1.9",
- "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.1.9.tgz",
- "integrity": "sha512-q/DERgVU6vK2LtTcdVCGGBcoO424WsEfImh3Vcuy+P/ZVmthlDUC/+q+tSKt8MMf4hLpxFDQJE8vUSkktj7QEw=="
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/@angular/core/-/core-10.2.0.tgz",
+ "integrity": "sha512-pj+0cIDHMfeTFFrxbxM1qanSqhnA3ybCYMQm+Fs/WAPlLSvB6s/vVhq6tCdicHzd7/fujGXPcb8Hvtx+km8TqQ==",
+ "requires": {
+ "tslib": "^2.0.0"
+ }
},
"@angular/flex-layout": {
- "version": "9.0.0-beta.31",
- "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-9.0.0-beta.31.tgz",
- "integrity": "sha512-g94u2mecDl87ORvFRuOBshV/S/ETE4bybClU2e1xXKWNG+rhRHchChneHSonc29ZLyROTjHhmAtKOYojL92uLA=="
+ "version": "10.0.0-beta.32",
+ "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-10.0.0-beta.32.tgz",
+ "integrity": "sha512-JvuY4dUoy5jyCTIrFiq7n30Znakh1pD3nbg0h0hs2r3t1OiDQb0ZSI1wcumosG/vYHsuJQTuNhbfaIZzA1x8nA==",
+ "requires": {
+ "tslib": "^2.0.0"
+ }
},
"@angular/forms": {
- "version": "9.1.9",
- "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.1.9.tgz",
- "integrity": "sha512-r675yImnb/0pY7K5W3V2ITa7YETu1I2AS+bRfII6UQ6gthyeFFOHb5noa7YneC2yqQiM6E4DQmF5ig3daPuFNg=="
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-10.2.0.tgz",
+ "integrity": "sha512-pRQP5AWyB37rJWtgvZRWA3H+EMcP9M7QybOAfCf7z9CMRhKK+jVvd5yQqyqOYWOEBuS0kUD3HM/vrpZywhK/6g==",
+ "requires": {
+ "tslib": "^2.0.0"
+ }
},
"@angular/language-service": {
- "version": "9.1.9",
- "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-9.1.9.tgz",
- "integrity": "sha512-yT6HPpdAe2mD9HRoTCiWFog1MRJt+0j+CLbI/Ql7C6pH6vbjmfsJ55xMmQ7eS6trsnebpMWTUv1f2GRykv3ygw==",
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-10.2.0.tgz",
+ "integrity": "sha512-p2yJ8QhJPrNAoeGJ2abX22rNMDyQAmGsMV0GUCpGfmrJ4wDLPW+hy7tbL44qGn2B4KY5lvj30yIxjxL8HtBCVw==",
"dev": true
},
"@angular/material": {
- "version": "9.2.4",
- "resolved": "https://registry.npmjs.org/@angular/material/-/material-9.2.4.tgz",
- "integrity": "sha512-LkoTXE6B0slvMhvfZDdPWaz4yaYLkaAp5VSPunI9pxGsPxzqEV9e210wC1/sjG/76Nk8Ep7/2z9XKac8Q9bMwA=="
+ "version": "10.2.5",
+ "resolved": "https://registry.npmjs.org/@angular/material/-/material-10.2.5.tgz",
+ "integrity": "sha512-gYFqpXdLLuRYb9N1jVj9Gig/AlqsEfT/m+RtzHm4mawmHqeQbEV+0C0Qvc6fKRb1060Nkzfz8TDNGu5B+Xzq5A==",
+ "requires": {
+ "tslib": "^2.0.0"
+ }
},
"@angular/material-moment-adapter": {
- "version": "9.2.4",
- "resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-9.2.4.tgz",
- "integrity": "sha512-V5xkL+YUec3nDGRaJB72mJTUtdUvGaG9WCQEdr45viDWFGjQaEpS6msuScBLp0PwsN8Wt0n69eZg0ULgxPBa5g=="
+ "version": "10.2.5",
+ "resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-10.2.5.tgz",
+ "integrity": "sha512-2nIYwG5Xfd2XTaag8ZZKc7zUKHeh3xkFZA/+iCEDA+i0kuS+6OUUj5+wBxsl8TWC6joxoWdKMrReXjfJOlwD0A==",
+ "requires": {
+ "tslib": "^2.0.0"
+ }
},
"@angular/platform-browser": {
- "version": "9.1.9",
- "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.1.9.tgz",
- "integrity": "sha512-V861X3MxJp1AlMTnkUPldpBLIJbApXF3ka0A5Dq2nVJCyOFeteGkaRWSBgqe2jxmq+LVpJbzcNvtDFXw6mQ0jA=="
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-10.2.0.tgz",
+ "integrity": "sha512-GqO4MH7sddzvirr6AwxPXIfFFQp1+Xs5BCguSajyqt7i1j7vA0mKvFCvO7tIYmJmepWa0YPs9cXtq8nxDAoqVA==",
+ "requires": {
+ "tslib": "^2.0.0"
+ }
},
"@angular/platform-browser-dynamic": {
- "version": "9.1.9",
- "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.1.9.tgz",
- "integrity": "sha512-b9MG5MWne+IuL3uLm8jwPhlJzqYaGBGk/qibOqb17T24j1iyrlO7T5bZ8zO6pUy5iT/TahVfHPnPJC1qTK5OmA=="
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-10.2.0.tgz",
+ "integrity": "sha512-S1yBpoJjQcGrvkoHhy+We1lMi/TONzSAUTYz05WexDC6N8eLX4NpbjOUHxtYH5JfXltQ2B32zycyjwyB2t2ulA==",
+ "requires": {
+ "tslib": "^2.0.0"
+ }
},
"@angular/platform-server": {
- "version": "9.1.9",
- "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-9.1.9.tgz",
- "integrity": "sha512-PtOUE6Vxnrg03/zJbjnZ6BbctAEdFjAbHr8zbGhHa2q504DlY9OJACRCqcP8tIpW9nbDDKqvr/RENONmISichA==",
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-10.2.0.tgz",
+ "integrity": "sha512-eIc7xiGPylQ6uExx+LeTOHFRDtsbRe4sqgbjsfmlQfvxuVbYRzacXctvymjqr1cGzYW+CpB/3eQoz7uX/BGOog==",
"requires": {
"domino": "^2.1.2",
+ "tslib": "^2.0.0",
"xhr2": "^0.2.0"
}
},
"@angular/router": {
- "version": "9.1.9",
- "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.1.9.tgz",
- "integrity": "sha512-4u+CWMPB4hCkAsFCEzC94YEWT0wVozqGkc/Dortt2hFaqvZpIegg6iJVZlDxuyDjzFYBPnnbTDdgiTTA8ckfuA=="
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/@angular/router/-/router-10.2.0.tgz",
+ "integrity": "sha512-iAaJqcFrwduL1YopLrw4ax6kWd2FrqcGjcf0GY2ZUEEcwo5hQVMrKAt7MUJPVHGZf+OzSYJBgP7ApU60oZ43AA==",
+ "requires": {
+ "tslib": "^2.0.0"
+ }
},
"@apidevtools/json-schema-ref-parser": {
"version": "9.0.6",
@@ -930,15 +1181,10 @@
}
},
"@babel/compat-data": {
- "version": "7.11.0",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.11.0.tgz",
- "integrity": "sha512-TPSvJfv73ng0pfnEOh17bYMPQbI95+nGWc71Ss4vZdRBHTDqmM9Z8ZV4rYz8Ks7sfzc95n30k6ODIq5UGnXcYQ==",
- "dev": true,
- "requires": {
- "browserslist": "^4.12.0",
- "invariant": "^2.2.4",
- "semver": "^5.5.0"
- }
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.1.tgz",
+ "integrity": "sha512-725AQupWJZ8ba0jbKceeFblZTY90McUBWMwHhkFQ9q1zKPJ95GUktljFcgcsIVwRnTnRKlcYzfiNImg5G9m6ZQ==",
+ "dev": true
},
"@babel/core": {
"version": "7.9.0",
@@ -1028,16 +1274,10 @@
"@babel/types": "^7.10.4"
},
"dependencies": {
- "@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
- "dev": true
- },
"@babel/types": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz",
- "integrity": "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz",
+ "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
@@ -1057,16 +1297,10 @@
"@babel/types": "^7.10.4"
},
"dependencies": {
- "@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
- "dev": true
- },
"@babel/types": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz",
- "integrity": "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz",
+ "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
@@ -1077,27 +1311,207 @@
}
},
"@babel/helper-compilation-targets": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz",
- "integrity": "sha512-a3rYhlsGV0UHNDvrtOXBg8/OpfV0OKTkxKPzIplS1zpx7CygDcWWxckxZeDd3gzPzC4kUT0A4nVFDK0wGMh4MQ==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.1.tgz",
+ "integrity": "sha512-jtBEif7jsPwP27GPHs06v4WBV0KrE8a/P7n0N0sSvHn2hwUCYnolP/CLmz51IzAW4NlN+HuoBtb9QcwnRo9F/g==",
"dev": true,
"requires": {
- "@babel/compat-data": "^7.10.4",
+ "@babel/compat-data": "^7.12.1",
+ "@babel/helper-validator-option": "^7.12.1",
"browserslist": "^4.12.0",
- "invariant": "^2.2.4",
- "levenary": "^1.1.1",
"semver": "^5.5.0"
}
},
+ "@babel/helper-create-class-features-plugin": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz",
+ "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==",
+ "dev": true,
+ "requires": {
+ "@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"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+ "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.10.4"
+ }
+ },
+ "@babel/generator": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.1.tgz",
+ "integrity": "sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.12.1",
+ "jsesc": "^2.5.1",
+ "source-map": "^0.5.0"
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz",
+ "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.10.4",
+ "@babel/template": "^7.10.4",
+ "@babel/types": "^7.10.4"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
+ "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.10.4"
+ }
+ },
+ "@babel/helper-member-expression-to-functions": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz",
+ "integrity": "sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.12.1"
+ }
+ },
+ "@babel/helper-optimise-call-expression": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz",
+ "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.10.4"
+ }
+ },
+ "@babel/helper-replace-supers": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz",
+ "integrity": "sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-member-expression-to-functions": "^7.12.1",
+ "@babel/helper-optimise-call-expression": "^7.10.4",
+ "@babel/traverse": "^7.12.1",
+ "@babel/types": "^7.12.1"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz",
+ "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.11.0"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+ "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.10.4",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "@babel/parser": {
+ "version": "7.12.3",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz",
+ "integrity": "sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw==",
+ "dev": true
+ },
+ "@babel/template": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
+ "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/parser": "^7.10.4",
+ "@babel/types": "^7.10.4"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.1.tgz",
+ "integrity": "sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/generator": "^7.12.1",
+ "@babel/helper-function-name": "^7.10.4",
+ "@babel/helper-split-export-declaration": "^7.11.0",
+ "@babel/parser": "^7.12.1",
+ "@babel/types": "^7.12.1",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.19"
+ }
+ },
+ "@babel/types": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz",
+ "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.10.4",
+ "lodash": "^4.17.19",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "debug": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
+ "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
+ }
+ },
"@babel/helper-create-regexp-features-plugin": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz",
- "integrity": "sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.1.tgz",
+ "integrity": "sha512-rsZ4LGvFTZnzdNZR5HZdmJVuXK8834R5QkF3WvcnBhrlVtF0HSIUC6zbreL9MgjTywhKokn8RIYRiq99+DLAxA==",
"dev": true,
"requires": {
"@babel/helper-annotate-as-pure": "^7.10.4",
"@babel/helper-regex": "^7.10.4",
- "regexpu-core": "^4.7.0"
+ "regexpu-core": "^4.7.1"
+ },
+ "dependencies": {
+ "regexpu-core": {
+ "version": "4.7.1",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz",
+ "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==",
+ "dev": true,
+ "requires": {
+ "regenerate": "^1.4.0",
+ "regenerate-unicode-properties": "^8.2.0",
+ "regjsgen": "^0.5.1",
+ "regjsparser": "^0.6.4",
+ "unicode-match-property-ecmascript": "^1.0.4",
+ "unicode-match-property-value-ecmascript": "^1.2.0"
+ }
+ }
}
},
"@babel/helper-define-map": {
@@ -1140,12 +1554,6 @@
"@babel/types": "^7.10.4"
}
},
- "@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
- "dev": true
- },
"@babel/highlight": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
@@ -1158,9 +1566,9 @@
}
},
"@babel/parser": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz",
- "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==",
+ "version": "7.12.3",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz",
+ "integrity": "sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw==",
"dev": true
},
"@babel/template": {
@@ -1175,9 +1583,9 @@
}
},
"@babel/types": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz",
- "integrity": "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz",
+ "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
@@ -1188,24 +1596,18 @@
}
},
"@babel/helper-explode-assignable-expression": {
- "version": "7.11.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.11.4.tgz",
- "integrity": "sha512-ux9hm3zR4WV1Y3xXxXkdG/0gxF9nvI0YVmKVhvK9AfMoaQkemL3sJpXw+Xbz65azo8qJiEz2XVDUpK3KYhH3ZQ==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz",
+ "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==",
"dev": true,
"requires": {
- "@babel/types": "^7.10.4"
+ "@babel/types": "^7.12.1"
},
"dependencies": {
- "@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
- "dev": true
- },
"@babel/types": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz",
- "integrity": "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz",
+ "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
@@ -1244,16 +1646,10 @@
"@babel/types": "^7.10.4"
},
"dependencies": {
- "@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
- "dev": true
- },
"@babel/types": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz",
- "integrity": "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz",
+ "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
@@ -1443,64 +1839,20 @@
}
},
"@babel/helper-remap-async-to-generator": {
- "version": "7.11.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.11.4.tgz",
- "integrity": "sha512-tR5vJ/vBa9wFy3m5LLv2faapJLnDFxNWff2SAYkSE4rLUdbp7CdObYFgI7wK4T/Mj4UzpjPwzR8Pzmr5m7MHGA==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz",
+ "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==",
"dev": true,
"requires": {
"@babel/helper-annotate-as-pure": "^7.10.4",
"@babel/helper-wrap-function": "^7.10.4",
- "@babel/template": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "@babel/types": "^7.12.1"
},
"dependencies": {
- "@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
- "dev": true,
- "requires": {
- "@babel/highlight": "^7.10.4"
- }
- },
- "@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
- "dev": true
- },
- "@babel/highlight": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
- "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.10.4",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.0"
- }
- },
- "@babel/parser": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz",
- "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==",
- "dev": true
- },
- "@babel/template": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
- "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.10.4",
- "@babel/parser": "^7.10.4",
- "@babel/types": "^7.10.4"
- }
- },
"@babel/types": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz",
- "integrity": "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz",
+ "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
@@ -1718,24 +2070,18 @@
}
},
"@babel/helper-skip-transparent-expression-wrappers": {
- "version": "7.11.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.11.0.tgz",
- "integrity": "sha512-0XIdiQln4Elglgjbwo9wuJpL/K7AGCY26kmEt0+pRP0TAj4jjyNq1MjoRvikrTVqKcx4Gysxt4cXvVFXP/JO2Q==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz",
+ "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==",
"dev": true,
"requires": {
- "@babel/types": "^7.11.0"
+ "@babel/types": "^7.12.1"
},
"dependencies": {
- "@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
- "dev": true
- },
"@babel/types": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz",
- "integrity": "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz",
+ "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
@@ -1757,13 +2103,18 @@
"@babel/helper-validator-identifier": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw=="
+ },
+ "@babel/helper-validator-option": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz",
+ "integrity": "sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A==",
"dev": true
},
"@babel/helper-wrap-function": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz",
- "integrity": "sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug==",
+ "version": "7.12.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz",
+ "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==",
"dev": true,
"requires": {
"@babel/helper-function-name": "^7.10.4",
@@ -1782,12 +2133,12 @@
}
},
"@babel/generator": {
- "version": "7.11.6",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz",
- "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.1.tgz",
+ "integrity": "sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg==",
"dev": true,
"requires": {
- "@babel/types": "^7.11.5",
+ "@babel/types": "^7.12.1",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
}
@@ -1821,12 +2172,6 @@
"@babel/types": "^7.11.0"
}
},
- "@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
- "dev": true
- },
"@babel/highlight": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
@@ -1839,9 +2184,9 @@
}
},
"@babel/parser": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz",
- "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==",
+ "version": "7.12.3",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz",
+ "integrity": "sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw==",
"dev": true
},
"@babel/template": {
@@ -1856,26 +2201,26 @@
}
},
"@babel/traverse": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz",
- "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.1.tgz",
+ "integrity": "sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.10.4",
- "@babel/generator": "^7.11.5",
+ "@babel/generator": "^7.12.1",
"@babel/helper-function-name": "^7.10.4",
"@babel/helper-split-export-declaration": "^7.11.0",
- "@babel/parser": "^7.11.5",
- "@babel/types": "^7.11.5",
+ "@babel/parser": "^7.12.1",
+ "@babel/types": "^7.12.1",
"debug": "^4.1.0",
"globals": "^11.1.0",
"lodash": "^4.17.19"
}
},
"@babel/types": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz",
- "integrity": "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz",
+ "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
@@ -1884,12 +2229,12 @@
}
},
"debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
+ "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
"dev": true,
"requires": {
- "ms": "^2.1.1"
+ "ms": "2.1.2"
}
},
"ms": {
@@ -2066,40 +2411,70 @@
"dev": true
},
"@babel/plugin-proposal-async-generator-functions": {
- "version": "7.10.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.5.tgz",
- "integrity": "sha512-cNMCVezQbrRGvXJwm9fu/1sJj9bHdGAgKodZdLqOQIpfoH3raqmRPBM17+lh7CzhiKRRBrGtZL9WcjxSoGYUSg==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz",
+ "integrity": "sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4",
- "@babel/helper-remap-async-to-generator": "^7.10.4",
+ "@babel/helper-remap-async-to-generator": "^7.12.1",
"@babel/plugin-syntax-async-generators": "^7.8.0"
}
},
+ "@babel/plugin-proposal-class-properties": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz",
+ "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-create-class-features-plugin": "^7.12.1",
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
+ },
"@babel/plugin-proposal-dynamic-import": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz",
- "integrity": "sha512-up6oID1LeidOOASNXgv/CFbgBqTuKJ0cJjz6An5tWD+NVBNlp3VNSBxv2ZdU7SYl3NxJC7agAQDApZusV6uFwQ==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz",
+ "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.0"
+ }
+ },
+ "@babel/plugin-proposal-export-namespace-from": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz",
+ "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
+ }
+ },
+ "@babel/plugin-proposal-json-strings": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz",
+ "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4",
- "@babel/plugin-syntax-dynamic-import": "^7.8.0"
+ "@babel/plugin-syntax-json-strings": "^7.8.0"
}
},
- "@babel/plugin-proposal-json-strings": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz",
- "integrity": "sha512-fCL7QF0Jo83uy1K0P2YXrfX11tj3lkpN7l4dMv9Y9VkowkhkQDwFHFd8IiwyK5MZjE8UpbgokkgtcReH88Abaw==",
+ "@babel/plugin-proposal-logical-assignment-operators": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz",
+ "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4",
- "@babel/plugin-syntax-json-strings": "^7.8.0"
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
}
},
"@babel/plugin-proposal-nullish-coalescing-operator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz",
- "integrity": "sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz",
+ "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4",
@@ -2107,9 +2482,9 @@
}
},
"@babel/plugin-proposal-numeric-separator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz",
- "integrity": "sha512-73/G7QoRoeNkLZFxsoCCvlg4ezE4eM+57PnOqgaPOozd5myfj7p0muD1mRVJvbUWbOzD+q3No2bWbaKy+DJ8DA==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.1.tgz",
+ "integrity": "sha512-MR7Ok+Af3OhNTCxYVjJZHS0t97ydnJZt/DbR4WISO39iDnhiD8XHrY12xuSJ90FFEGjir0Fzyyn7g/zY6hxbxA==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4",
@@ -2117,20 +2492,20 @@
}
},
"@babel/plugin-proposal-object-rest-spread": {
- "version": "7.11.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.11.0.tgz",
- "integrity": "sha512-wzch41N4yztwoRw0ak+37wxwJM2oiIiy6huGCoqkvSTA9acYWcPfn9Y4aJqmFFJ70KTJUu29f3DQ43uJ9HXzEA==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz",
+ "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4",
"@babel/plugin-syntax-object-rest-spread": "^7.8.0",
- "@babel/plugin-transform-parameters": "^7.10.4"
+ "@babel/plugin-transform-parameters": "^7.12.1"
}
},
"@babel/plugin-proposal-optional-catch-binding": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz",
- "integrity": "sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz",
+ "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4",
@@ -2138,23 +2513,33 @@
}
},
"@babel/plugin-proposal-optional-chaining": {
- "version": "7.11.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.11.0.tgz",
- "integrity": "sha512-v9fZIu3Y8562RRwhm1BbMRxtqZNFmFA2EG+pT2diuU8PT3H6T/KXoZ54KgYisfOFZHV6PfvAiBIZ9Rcz+/JCxA==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz",
+ "integrity": "sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.11.0",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1",
"@babel/plugin-syntax-optional-chaining": "^7.8.0"
}
},
+ "@babel/plugin-proposal-private-methods": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz",
+ "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-create-class-features-plugin": "^7.12.1",
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
+ },
"@babel/plugin-proposal-unicode-property-regex": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz",
- "integrity": "sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz",
+ "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==",
"dev": true,
"requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.10.4",
+ "@babel/helper-create-regexp-features-plugin": "^7.12.1",
"@babel/helper-plugin-utils": "^7.10.4"
}
},
@@ -2167,6 +2552,15 @@
"@babel/helper-plugin-utils": "^7.8.0"
}
},
+ "@babel/plugin-syntax-class-properties": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz",
+ "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
+ },
"@babel/plugin-syntax-dynamic-import": {
"version": "7.8.3",
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
@@ -2176,6 +2570,15 @@
"@babel/helper-plugin-utils": "^7.8.0"
}
},
+ "@babel/plugin-syntax-export-namespace-from": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
+ "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
"@babel/plugin-syntax-json-strings": {
"version": "7.8.3",
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
@@ -2185,6 +2588,15 @@
"@babel/helper-plugin-utils": "^7.8.0"
}
},
+ "@babel/plugin-syntax-logical-assignment-operators": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
+ "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
+ },
"@babel/plugin-syntax-nullish-coalescing-operator": {
"version": "7.8.3",
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
@@ -2231,53 +2643,47 @@
}
},
"@babel/plugin-syntax-top-level-await": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz",
- "integrity": "sha512-ni1brg4lXEmWyafKr0ccFWkJG0CeMt4WV1oyeBW6EFObF4oOHclbkj5cARxAPQyAQ2UTuplJyK4nfkXIMMFvsQ==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz",
+ "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-arrow-functions": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz",
- "integrity": "sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz",
+ "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-async-to-generator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz",
- "integrity": "sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz",
+ "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==",
"dev": true,
"requires": {
- "@babel/helper-module-imports": "^7.10.4",
+ "@babel/helper-module-imports": "^7.12.1",
"@babel/helper-plugin-utils": "^7.10.4",
- "@babel/helper-remap-async-to-generator": "^7.10.4"
+ "@babel/helper-remap-async-to-generator": "^7.12.1"
},
"dependencies": {
"@babel/helper-module-imports": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz",
- "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.1.tgz",
+ "integrity": "sha512-ZeC1TlMSvikvJNy1v/wPIazCu3NdOwgYZLIkmIyAsGhqkNpiDoQQRmaCK8YP4Pq3GPTLPV9WXaPCJKvx06JxKA==",
"dev": true,
"requires": {
- "@babel/types": "^7.10.4"
+ "@babel/types": "^7.12.1"
}
},
- "@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
- "dev": true
- },
"@babel/types": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz",
- "integrity": "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz",
+ "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
@@ -2288,27 +2694,27 @@
}
},
"@babel/plugin-transform-block-scoped-functions": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz",
- "integrity": "sha512-WzXDarQXYYfjaV1szJvN3AD7rZgZzC1JtjJZ8dMHUyiK8mxPRahynp14zzNjU3VkPqPsO38CzxiWO1c9ARZ8JA==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz",
+ "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-block-scoping": {
- "version": "7.11.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.11.1.tgz",
- "integrity": "sha512-00dYeDE0EVEHuuM+26+0w/SCL0BH2Qy7LwHuI4Hi4MH5gkC8/AqMN5uWFJIsoXZrAphiMm1iXzBw6L2T+eA0ew==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz",
+ "integrity": "sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-classes": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz",
- "integrity": "sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz",
+ "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==",
"dev": true,
"requires": {
"@babel/helper-annotate-as-pure": "^7.10.4",
@@ -2316,7 +2722,7 @@
"@babel/helper-function-name": "^7.10.4",
"@babel/helper-optimise-call-expression": "^7.10.4",
"@babel/helper-plugin-utils": "^7.10.4",
- "@babel/helper-replace-supers": "^7.10.4",
+ "@babel/helper-replace-supers": "^7.12.1",
"@babel/helper-split-export-declaration": "^7.10.4",
"globals": "^11.1.0"
},
@@ -2331,12 +2737,12 @@
}
},
"@babel/generator": {
- "version": "7.11.6",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz",
- "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.1.tgz",
+ "integrity": "sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg==",
"dev": true,
"requires": {
- "@babel/types": "^7.11.5",
+ "@babel/types": "^7.12.1",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
}
@@ -2362,12 +2768,12 @@
}
},
"@babel/helper-member-expression-to-functions": {
- "version": "7.11.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz",
- "integrity": "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz",
+ "integrity": "sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ==",
"dev": true,
"requires": {
- "@babel/types": "^7.11.0"
+ "@babel/types": "^7.12.1"
}
},
"@babel/helper-optimise-call-expression": {
@@ -2380,15 +2786,15 @@
}
},
"@babel/helper-replace-supers": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz",
- "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz",
+ "integrity": "sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw==",
"dev": true,
"requires": {
- "@babel/helper-member-expression-to-functions": "^7.10.4",
+ "@babel/helper-member-expression-to-functions": "^7.12.1",
"@babel/helper-optimise-call-expression": "^7.10.4",
- "@babel/traverse": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "@babel/traverse": "^7.12.1",
+ "@babel/types": "^7.12.1"
}
},
"@babel/helper-split-export-declaration": {
@@ -2400,12 +2806,6 @@
"@babel/types": "^7.11.0"
}
},
- "@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
- "dev": true
- },
"@babel/highlight": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
@@ -2418,9 +2818,9 @@
}
},
"@babel/parser": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz",
- "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==",
+ "version": "7.12.3",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz",
+ "integrity": "sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw==",
"dev": true
},
"@babel/template": {
@@ -2435,26 +2835,26 @@
}
},
"@babel/traverse": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz",
- "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.1.tgz",
+ "integrity": "sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.10.4",
- "@babel/generator": "^7.11.5",
+ "@babel/generator": "^7.12.1",
"@babel/helper-function-name": "^7.10.4",
"@babel/helper-split-export-declaration": "^7.11.0",
- "@babel/parser": "^7.11.5",
- "@babel/types": "^7.11.5",
+ "@babel/parser": "^7.12.1",
+ "@babel/types": "^7.12.1",
"debug": "^4.1.0",
"globals": "^11.1.0",
"lodash": "^4.17.19"
}
},
"@babel/types": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz",
- "integrity": "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz",
+ "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
@@ -2463,12 +2863,12 @@
}
},
"debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
+ "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
"dev": true,
"requires": {
- "ms": "^2.1.1"
+ "ms": "2.1.2"
}
},
"ms": {
@@ -2480,46 +2880,46 @@
}
},
"@babel/plugin-transform-computed-properties": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz",
- "integrity": "sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz",
+ "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-destructuring": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz",
- "integrity": "sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz",
+ "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-dotall-regex": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz",
- "integrity": "sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz",
+ "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==",
"dev": true,
"requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.10.4",
+ "@babel/helper-create-regexp-features-plugin": "^7.12.1",
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-duplicate-keys": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz",
- "integrity": "sha512-GL0/fJnmgMclHiBTTWXNlYjYsA7rDrtsazHG6mglaGSTh0KsrW04qml+Bbz9FL0LcJIRwBWL5ZqlNHKTkU3xAA==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz",
+ "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-exponentiation-operator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz",
- "integrity": "sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz",
+ "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==",
"dev": true,
"requires": {
"@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4",
@@ -2527,18 +2927,18 @@
}
},
"@babel/plugin-transform-for-of": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz",
- "integrity": "sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz",
+ "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-function-name": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz",
- "integrity": "sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz",
+ "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==",
"dev": true,
"requires": {
"@babel/helper-function-name": "^7.10.4",
@@ -2574,12 +2974,6 @@
"@babel/types": "^7.10.4"
}
},
- "@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
- "dev": true
- },
"@babel/highlight": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
@@ -2592,9 +2986,9 @@
}
},
"@babel/parser": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz",
- "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==",
+ "version": "7.12.3",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz",
+ "integrity": "sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw==",
"dev": true
},
"@babel/template": {
@@ -2609,9 +3003,9 @@
}
},
"@babel/types": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz",
- "integrity": "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz",
+ "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
@@ -2622,30 +3016,30 @@
}
},
"@babel/plugin-transform-literals": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz",
- "integrity": "sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz",
+ "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-member-expression-literals": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz",
- "integrity": "sha512-0bFOvPyAoTBhtcJLr9VcwZqKmSjFml1iVxvPL0ReomGU53CX53HsM4h2SzckNdkQcHox1bpAqzxBI1Y09LlBSw==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz",
+ "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-modules-amd": {
- "version": "7.10.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.5.tgz",
- "integrity": "sha512-elm5uruNio7CTLFItVC/rIzKLfQ17+fX7EVz5W0TMgIHFo1zY0Ozzx+lgwhL4plzl8OzVn6Qasx5DeEFyoNiRw==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz",
+ "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==",
"dev": true,
"requires": {
- "@babel/helper-module-transforms": "^7.10.5",
+ "@babel/helper-module-transforms": "^7.12.1",
"@babel/helper-plugin-utils": "^7.10.4",
"babel-plugin-dynamic-import-node": "^2.3.3"
},
@@ -2660,12 +3054,12 @@
}
},
"@babel/generator": {
- "version": "7.11.6",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz",
- "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.1.tgz",
+ "integrity": "sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg==",
"dev": true,
"requires": {
- "@babel/types": "^7.11.5",
+ "@babel/types": "^7.12.1",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
}
@@ -2691,35 +3085,37 @@
}
},
"@babel/helper-member-expression-to-functions": {
- "version": "7.11.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz",
- "integrity": "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz",
+ "integrity": "sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ==",
"dev": true,
"requires": {
- "@babel/types": "^7.11.0"
+ "@babel/types": "^7.12.1"
}
},
"@babel/helper-module-imports": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz",
- "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.1.tgz",
+ "integrity": "sha512-ZeC1TlMSvikvJNy1v/wPIazCu3NdOwgYZLIkmIyAsGhqkNpiDoQQRmaCK8YP4Pq3GPTLPV9WXaPCJKvx06JxKA==",
"dev": true,
"requires": {
- "@babel/types": "^7.10.4"
+ "@babel/types": "^7.12.1"
}
},
"@babel/helper-module-transforms": {
- "version": "7.11.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz",
- "integrity": "sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz",
+ "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==",
"dev": true,
"requires": {
- "@babel/helper-module-imports": "^7.10.4",
- "@babel/helper-replace-supers": "^7.10.4",
- "@babel/helper-simple-access": "^7.10.4",
+ "@babel/helper-module-imports": "^7.12.1",
+ "@babel/helper-replace-supers": "^7.12.1",
+ "@babel/helper-simple-access": "^7.12.1",
"@babel/helper-split-export-declaration": "^7.11.0",
+ "@babel/helper-validator-identifier": "^7.10.4",
"@babel/template": "^7.10.4",
- "@babel/types": "^7.11.0",
+ "@babel/traverse": "^7.12.1",
+ "@babel/types": "^7.12.1",
"lodash": "^4.17.19"
}
},
@@ -2733,25 +3129,24 @@
}
},
"@babel/helper-replace-supers": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz",
- "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz",
+ "integrity": "sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw==",
"dev": true,
"requires": {
- "@babel/helper-member-expression-to-functions": "^7.10.4",
+ "@babel/helper-member-expression-to-functions": "^7.12.1",
"@babel/helper-optimise-call-expression": "^7.10.4",
- "@babel/traverse": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "@babel/traverse": "^7.12.1",
+ "@babel/types": "^7.12.1"
}
},
"@babel/helper-simple-access": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz",
- "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz",
+ "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==",
"dev": true,
"requires": {
- "@babel/template": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "@babel/types": "^7.12.1"
}
},
"@babel/helper-split-export-declaration": {
@@ -2763,12 +3158,6 @@
"@babel/types": "^7.11.0"
}
},
- "@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
- "dev": true
- },
"@babel/highlight": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
@@ -2781,9 +3170,9 @@
}
},
"@babel/parser": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz",
- "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==",
+ "version": "7.12.3",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz",
+ "integrity": "sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw==",
"dev": true
},
"@babel/template": {
@@ -2798,26 +3187,26 @@
}
},
"@babel/traverse": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz",
- "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.1.tgz",
+ "integrity": "sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.10.4",
- "@babel/generator": "^7.11.5",
+ "@babel/generator": "^7.12.1",
"@babel/helper-function-name": "^7.10.4",
"@babel/helper-split-export-declaration": "^7.11.0",
- "@babel/parser": "^7.11.5",
- "@babel/types": "^7.11.5",
+ "@babel/parser": "^7.12.1",
+ "@babel/types": "^7.12.1",
"debug": "^4.1.0",
"globals": "^11.1.0",
"lodash": "^4.17.19"
}
},
"@babel/types": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz",
- "integrity": "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz",
+ "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
@@ -2826,12 +3215,12 @@
}
},
"debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
+ "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
"dev": true,
"requires": {
- "ms": "^2.1.1"
+ "ms": "2.1.2"
}
},
"ms": {
@@ -2843,14 +3232,14 @@
}
},
"@babel/plugin-transform-modules-commonjs": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz",
- "integrity": "sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz",
+ "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==",
"dev": true,
"requires": {
- "@babel/helper-module-transforms": "^7.10.4",
+ "@babel/helper-module-transforms": "^7.12.1",
"@babel/helper-plugin-utils": "^7.10.4",
- "@babel/helper-simple-access": "^7.10.4",
+ "@babel/helper-simple-access": "^7.12.1",
"babel-plugin-dynamic-import-node": "^2.3.3"
},
"dependencies": {
@@ -2864,12 +3253,12 @@
}
},
"@babel/generator": {
- "version": "7.11.6",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz",
- "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.1.tgz",
+ "integrity": "sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg==",
"dev": true,
"requires": {
- "@babel/types": "^7.11.5",
+ "@babel/types": "^7.12.1",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
}
@@ -2895,35 +3284,37 @@
}
},
"@babel/helper-member-expression-to-functions": {
- "version": "7.11.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz",
- "integrity": "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz",
+ "integrity": "sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ==",
"dev": true,
"requires": {
- "@babel/types": "^7.11.0"
+ "@babel/types": "^7.12.1"
}
},
"@babel/helper-module-imports": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz",
- "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.1.tgz",
+ "integrity": "sha512-ZeC1TlMSvikvJNy1v/wPIazCu3NdOwgYZLIkmIyAsGhqkNpiDoQQRmaCK8YP4Pq3GPTLPV9WXaPCJKvx06JxKA==",
"dev": true,
"requires": {
- "@babel/types": "^7.10.4"
+ "@babel/types": "^7.12.1"
}
},
"@babel/helper-module-transforms": {
- "version": "7.11.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz",
- "integrity": "sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz",
+ "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==",
"dev": true,
"requires": {
- "@babel/helper-module-imports": "^7.10.4",
- "@babel/helper-replace-supers": "^7.10.4",
- "@babel/helper-simple-access": "^7.10.4",
+ "@babel/helper-module-imports": "^7.12.1",
+ "@babel/helper-replace-supers": "^7.12.1",
+ "@babel/helper-simple-access": "^7.12.1",
"@babel/helper-split-export-declaration": "^7.11.0",
+ "@babel/helper-validator-identifier": "^7.10.4",
"@babel/template": "^7.10.4",
- "@babel/types": "^7.11.0",
+ "@babel/traverse": "^7.12.1",
+ "@babel/types": "^7.12.1",
"lodash": "^4.17.19"
}
},
@@ -2937,25 +3328,24 @@
}
},
"@babel/helper-replace-supers": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz",
- "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz",
+ "integrity": "sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw==",
"dev": true,
"requires": {
- "@babel/helper-member-expression-to-functions": "^7.10.4",
+ "@babel/helper-member-expression-to-functions": "^7.12.1",
"@babel/helper-optimise-call-expression": "^7.10.4",
- "@babel/traverse": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "@babel/traverse": "^7.12.1",
+ "@babel/types": "^7.12.1"
}
},
"@babel/helper-simple-access": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz",
- "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz",
+ "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==",
"dev": true,
"requires": {
- "@babel/template": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "@babel/types": "^7.12.1"
}
},
"@babel/helper-split-export-declaration": {
@@ -2967,12 +3357,6 @@
"@babel/types": "^7.11.0"
}
},
- "@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
- "dev": true
- },
"@babel/highlight": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
@@ -2985,9 +3369,9 @@
}
},
"@babel/parser": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz",
- "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==",
+ "version": "7.12.3",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz",
+ "integrity": "sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw==",
"dev": true
},
"@babel/template": {
@@ -3002,26 +3386,26 @@
}
},
"@babel/traverse": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz",
- "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.1.tgz",
+ "integrity": "sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.10.4",
- "@babel/generator": "^7.11.5",
+ "@babel/generator": "^7.12.1",
"@babel/helper-function-name": "^7.10.4",
"@babel/helper-split-export-declaration": "^7.11.0",
- "@babel/parser": "^7.11.5",
- "@babel/types": "^7.11.5",
+ "@babel/parser": "^7.12.1",
+ "@babel/types": "^7.12.1",
"debug": "^4.1.0",
"globals": "^11.1.0",
"lodash": "^4.17.19"
}
},
"@babel/types": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz",
- "integrity": "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz",
+ "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
@@ -3030,12 +3414,12 @@
}
},
"debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
+ "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
"dev": true,
"requires": {
- "ms": "^2.1.1"
+ "ms": "2.1.2"
}
},
"ms": {
@@ -3047,14 +3431,15 @@
}
},
"@babel/plugin-transform-modules-systemjs": {
- "version": "7.10.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.5.tgz",
- "integrity": "sha512-f4RLO/OL14/FP1AEbcsWMzpbUz6tssRaeQg11RH1BP/XnPpRoVwgeYViMFacnkaw4k4wjRSjn3ip1Uw9TaXuMw==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz",
+ "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==",
"dev": true,
"requires": {
"@babel/helper-hoist-variables": "^7.10.4",
- "@babel/helper-module-transforms": "^7.10.5",
+ "@babel/helper-module-transforms": "^7.12.1",
"@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/helper-validator-identifier": "^7.10.4",
"babel-plugin-dynamic-import-node": "^2.3.3"
},
"dependencies": {
@@ -3068,12 +3453,12 @@
}
},
"@babel/generator": {
- "version": "7.11.6",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz",
- "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.1.tgz",
+ "integrity": "sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg==",
"dev": true,
"requires": {
- "@babel/types": "^7.11.5",
+ "@babel/types": "^7.12.1",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
}
@@ -3099,35 +3484,37 @@
}
},
"@babel/helper-member-expression-to-functions": {
- "version": "7.11.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz",
- "integrity": "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz",
+ "integrity": "sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ==",
"dev": true,
"requires": {
- "@babel/types": "^7.11.0"
+ "@babel/types": "^7.12.1"
}
},
"@babel/helper-module-imports": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz",
- "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.1.tgz",
+ "integrity": "sha512-ZeC1TlMSvikvJNy1v/wPIazCu3NdOwgYZLIkmIyAsGhqkNpiDoQQRmaCK8YP4Pq3GPTLPV9WXaPCJKvx06JxKA==",
"dev": true,
"requires": {
- "@babel/types": "^7.10.4"
+ "@babel/types": "^7.12.1"
}
},
"@babel/helper-module-transforms": {
- "version": "7.11.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz",
- "integrity": "sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz",
+ "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==",
"dev": true,
"requires": {
- "@babel/helper-module-imports": "^7.10.4",
- "@babel/helper-replace-supers": "^7.10.4",
- "@babel/helper-simple-access": "^7.10.4",
+ "@babel/helper-module-imports": "^7.12.1",
+ "@babel/helper-replace-supers": "^7.12.1",
+ "@babel/helper-simple-access": "^7.12.1",
"@babel/helper-split-export-declaration": "^7.11.0",
+ "@babel/helper-validator-identifier": "^7.10.4",
"@babel/template": "^7.10.4",
- "@babel/types": "^7.11.0",
+ "@babel/traverse": "^7.12.1",
+ "@babel/types": "^7.12.1",
"lodash": "^4.17.19"
}
},
@@ -3141,25 +3528,24 @@
}
},
"@babel/helper-replace-supers": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz",
- "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz",
+ "integrity": "sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw==",
"dev": true,
"requires": {
- "@babel/helper-member-expression-to-functions": "^7.10.4",
+ "@babel/helper-member-expression-to-functions": "^7.12.1",
"@babel/helper-optimise-call-expression": "^7.10.4",
- "@babel/traverse": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "@babel/traverse": "^7.12.1",
+ "@babel/types": "^7.12.1"
}
},
"@babel/helper-simple-access": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz",
- "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz",
+ "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==",
"dev": true,
"requires": {
- "@babel/template": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "@babel/types": "^7.12.1"
}
},
"@babel/helper-split-export-declaration": {
@@ -3171,12 +3557,6 @@
"@babel/types": "^7.11.0"
}
},
- "@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
- "dev": true
- },
"@babel/highlight": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
@@ -3189,9 +3569,9 @@
}
},
"@babel/parser": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz",
- "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==",
+ "version": "7.12.3",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz",
+ "integrity": "sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw==",
"dev": true
},
"@babel/template": {
@@ -3206,26 +3586,26 @@
}
},
"@babel/traverse": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz",
- "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.1.tgz",
+ "integrity": "sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.10.4",
- "@babel/generator": "^7.11.5",
+ "@babel/generator": "^7.12.1",
"@babel/helper-function-name": "^7.10.4",
"@babel/helper-split-export-declaration": "^7.11.0",
- "@babel/parser": "^7.11.5",
- "@babel/types": "^7.11.5",
+ "@babel/parser": "^7.12.1",
+ "@babel/types": "^7.12.1",
"debug": "^4.1.0",
"globals": "^11.1.0",
"lodash": "^4.17.19"
}
},
"@babel/types": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz",
- "integrity": "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz",
+ "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
@@ -3234,12 +3614,12 @@
}
},
"debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
+ "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
"dev": true,
"requires": {
- "ms": "^2.1.1"
+ "ms": "2.1.2"
}
},
"ms": {
@@ -3251,12 +3631,12 @@
}
},
"@babel/plugin-transform-modules-umd": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz",
- "integrity": "sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz",
+ "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==",
"dev": true,
"requires": {
- "@babel/helper-module-transforms": "^7.10.4",
+ "@babel/helper-module-transforms": "^7.12.1",
"@babel/helper-plugin-utils": "^7.10.4"
},
"dependencies": {
@@ -3270,12 +3650,12 @@
}
},
"@babel/generator": {
- "version": "7.11.6",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz",
- "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.1.tgz",
+ "integrity": "sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg==",
"dev": true,
"requires": {
- "@babel/types": "^7.11.5",
+ "@babel/types": "^7.12.1",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
}
@@ -3301,35 +3681,37 @@
}
},
"@babel/helper-member-expression-to-functions": {
- "version": "7.11.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz",
- "integrity": "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz",
+ "integrity": "sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ==",
"dev": true,
"requires": {
- "@babel/types": "^7.11.0"
+ "@babel/types": "^7.12.1"
}
},
"@babel/helper-module-imports": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz",
- "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.1.tgz",
+ "integrity": "sha512-ZeC1TlMSvikvJNy1v/wPIazCu3NdOwgYZLIkmIyAsGhqkNpiDoQQRmaCK8YP4Pq3GPTLPV9WXaPCJKvx06JxKA==",
"dev": true,
"requires": {
- "@babel/types": "^7.10.4"
+ "@babel/types": "^7.12.1"
}
},
"@babel/helper-module-transforms": {
- "version": "7.11.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz",
- "integrity": "sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz",
+ "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==",
"dev": true,
"requires": {
- "@babel/helper-module-imports": "^7.10.4",
- "@babel/helper-replace-supers": "^7.10.4",
- "@babel/helper-simple-access": "^7.10.4",
+ "@babel/helper-module-imports": "^7.12.1",
+ "@babel/helper-replace-supers": "^7.12.1",
+ "@babel/helper-simple-access": "^7.12.1",
"@babel/helper-split-export-declaration": "^7.11.0",
+ "@babel/helper-validator-identifier": "^7.10.4",
"@babel/template": "^7.10.4",
- "@babel/types": "^7.11.0",
+ "@babel/traverse": "^7.12.1",
+ "@babel/types": "^7.12.1",
"lodash": "^4.17.19"
}
},
@@ -3343,25 +3725,24 @@
}
},
"@babel/helper-replace-supers": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz",
- "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz",
+ "integrity": "sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw==",
"dev": true,
"requires": {
- "@babel/helper-member-expression-to-functions": "^7.10.4",
+ "@babel/helper-member-expression-to-functions": "^7.12.1",
"@babel/helper-optimise-call-expression": "^7.10.4",
- "@babel/traverse": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "@babel/traverse": "^7.12.1",
+ "@babel/types": "^7.12.1"
}
},
"@babel/helper-simple-access": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz",
- "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz",
+ "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==",
"dev": true,
"requires": {
- "@babel/template": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "@babel/types": "^7.12.1"
}
},
"@babel/helper-split-export-declaration": {
@@ -3385,9 +3766,9 @@
}
},
"@babel/parser": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz",
- "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==",
+ "version": "7.12.3",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz",
+ "integrity": "sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw==",
"dev": true
},
"@babel/template": {
@@ -3402,26 +3783,26 @@
}
},
"@babel/traverse": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz",
- "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.1.tgz",
+ "integrity": "sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.10.4",
- "@babel/generator": "^7.11.5",
+ "@babel/generator": "^7.12.1",
"@babel/helper-function-name": "^7.10.4",
"@babel/helper-split-export-declaration": "^7.11.0",
- "@babel/parser": "^7.11.5",
- "@babel/types": "^7.11.5",
+ "@babel/parser": "^7.12.1",
+ "@babel/types": "^7.12.1",
"debug": "^4.1.0",
"globals": "^11.1.0",
"lodash": "^4.17.19"
}
},
"@babel/types": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz",
- "integrity": "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz",
+ "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
@@ -3430,12 +3811,12 @@
}
},
"debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
+ "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
"dev": true,
"requires": {
- "ms": "^2.1.1"
+ "ms": "2.1.2"
}
},
"ms": {
@@ -3447,31 +3828,31 @@
}
},
"@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz",
- "integrity": "sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz",
+ "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==",
"dev": true,
"requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.10.4"
+ "@babel/helper-create-regexp-features-plugin": "^7.12.1"
}
},
"@babel/plugin-transform-new-target": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz",
- "integrity": "sha512-YXwWUDAH/J6dlfwqlWsztI2Puz1NtUAubXhOPLQ5gjR/qmQ5U96DY4FQO8At33JN4XPBhrjB8I4eMmLROjjLjw==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz",
+ "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-object-super": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz",
- "integrity": "sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz",
+ "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4",
- "@babel/helper-replace-supers": "^7.10.4"
+ "@babel/helper-replace-supers": "^7.12.1"
},
"dependencies": {
"@babel/code-frame": {
@@ -3484,12 +3865,12 @@
}
},
"@babel/generator": {
- "version": "7.11.6",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz",
- "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.1.tgz",
+ "integrity": "sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg==",
"dev": true,
"requires": {
- "@babel/types": "^7.11.5",
+ "@babel/types": "^7.12.1",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
}
@@ -3515,12 +3896,12 @@
}
},
"@babel/helper-member-expression-to-functions": {
- "version": "7.11.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz",
- "integrity": "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz",
+ "integrity": "sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ==",
"dev": true,
"requires": {
- "@babel/types": "^7.11.0"
+ "@babel/types": "^7.12.1"
}
},
"@babel/helper-optimise-call-expression": {
@@ -3533,15 +3914,15 @@
}
},
"@babel/helper-replace-supers": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz",
- "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz",
+ "integrity": "sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw==",
"dev": true,
"requires": {
- "@babel/helper-member-expression-to-functions": "^7.10.4",
+ "@babel/helper-member-expression-to-functions": "^7.12.1",
"@babel/helper-optimise-call-expression": "^7.10.4",
- "@babel/traverse": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "@babel/traverse": "^7.12.1",
+ "@babel/types": "^7.12.1"
}
},
"@babel/helper-split-export-declaration": {
@@ -3565,9 +3946,9 @@
}
},
"@babel/parser": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz",
- "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==",
+ "version": "7.12.3",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz",
+ "integrity": "sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw==",
"dev": true
},
"@babel/template": {
@@ -3582,26 +3963,26 @@
}
},
"@babel/traverse": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz",
- "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.1.tgz",
+ "integrity": "sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.10.4",
- "@babel/generator": "^7.11.5",
+ "@babel/generator": "^7.12.1",
"@babel/helper-function-name": "^7.10.4",
"@babel/helper-split-export-declaration": "^7.11.0",
- "@babel/parser": "^7.11.5",
- "@babel/types": "^7.11.5",
+ "@babel/parser": "^7.12.1",
+ "@babel/types": "^7.12.1",
"debug": "^4.1.0",
"globals": "^11.1.0",
"lodash": "^4.17.19"
}
},
"@babel/types": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz",
- "integrity": "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz",
+ "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
@@ -3610,12 +3991,12 @@
}
},
"debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
+ "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
"dev": true,
"requires": {
- "ms": "^2.1.1"
+ "ms": "2.1.2"
}
},
"ms": {
@@ -3627,87 +4008,98 @@
}
},
"@babel/plugin-transform-parameters": {
- "version": "7.10.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.5.tgz",
- "integrity": "sha512-xPHwUj5RdFV8l1wuYiu5S9fqWGM2DrYc24TMvUiRrPVm+SM3XeqU9BcokQX/kEUe+p2RBwy+yoiR1w/Blq6ubw==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz",
+ "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==",
"dev": true,
"requires": {
- "@babel/helper-get-function-arity": "^7.10.4",
"@babel/helper-plugin-utils": "^7.10.4"
- },
- "dependencies": {
- "@babel/helper-get-function-arity": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
- "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.10.4"
- }
- },
- "@babel/types": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz",
- "integrity": "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.10.4",
- "lodash": "^4.17.19",
- "to-fast-properties": "^2.0.0"
- }
- }
}
},
"@babel/plugin-transform-property-literals": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz",
- "integrity": "sha512-ofsAcKiUxQ8TY4sScgsGeR2vJIsfrzqvFb9GvJ5UdXDzl+MyYCaBj/FGzXuv7qE0aJcjWMILny1epqelnFlz8g==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz",
+ "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-regenerator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz",
- "integrity": "sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz",
+ "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==",
"dev": true,
"requires": {
"regenerator-transform": "^0.14.2"
}
},
"@babel/plugin-transform-reserved-words": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz",
- "integrity": "sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz",
+ "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
+ "@babel/plugin-transform-runtime": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.11.0.tgz",
+ "integrity": "sha512-LFEsP+t3wkYBlis8w6/kmnd6Kb1dxTd+wGJ8MlxTGzQo//ehtqlVL4S9DNUa53+dtPSQobN2CXx4d81FqC58cw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "resolve": "^1.8.1",
+ "semver": "^5.5.1"
+ },
+ "dependencies": {
+ "@babel/helper-module-imports": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.1.tgz",
+ "integrity": "sha512-ZeC1TlMSvikvJNy1v/wPIazCu3NdOwgYZLIkmIyAsGhqkNpiDoQQRmaCK8YP4Pq3GPTLPV9WXaPCJKvx06JxKA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.12.1"
+ }
+ },
+ "@babel/types": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz",
+ "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.10.4",
+ "lodash": "^4.17.19",
+ "to-fast-properties": "^2.0.0"
+ }
+ }
+ }
+ },
"@babel/plugin-transform-shorthand-properties": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz",
- "integrity": "sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz",
+ "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-spread": {
- "version": "7.11.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.11.0.tgz",
- "integrity": "sha512-UwQYGOqIdQJe4aWNyS7noqAnN2VbaczPLiEtln+zPowRNlD+79w3oi2TWfYe0eZgd+gjZCbsydN7lzWysDt+gw==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz",
+ "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.11.0"
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1"
}
},
"@babel/plugin-transform-sticky-regex": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz",
- "integrity": "sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.1.tgz",
+ "integrity": "sha512-CiUgKQ3AGVk7kveIaPEET1jNDhZZEl1RPMWdTBE1799bdz++SwqDHStmxfCtDfBhQgCl38YRiSnrMuUMZIWSUQ==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4",
@@ -3715,100 +4107,138 @@
}
},
"@babel/plugin-transform-template-literals": {
- "version": "7.10.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.5.tgz",
- "integrity": "sha512-V/lnPGIb+KT12OQikDvgSuesRX14ck5FfJXt6+tXhdkJ+Vsd0lDCVtF6jcB4rNClYFzaB2jusZ+lNISDk2mMMw==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz",
+ "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==",
"dev": true,
"requires": {
- "@babel/helper-annotate-as-pure": "^7.10.4",
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-typeof-symbol": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz",
- "integrity": "sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.1.tgz",
+ "integrity": "sha512-EPGgpGy+O5Kg5pJFNDKuxt9RdmTgj5sgrus2XVeMp/ZIbOESadgILUbm50SNpghOh3/6yrbsH+NB5+WJTmsA7Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
+ },
+ "@babel/plugin-transform-unicode-escapes": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz",
+ "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-unicode-regex": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz",
- "integrity": "sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz",
+ "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==",
"dev": true,
"requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.10.4",
+ "@babel/helper-create-regexp-features-plugin": "^7.12.1",
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/preset-env": {
- "version": "7.9.0",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.9.0.tgz",
- "integrity": "sha512-712DeRXT6dyKAM/FMbQTV/FvRCms2hPCx+3weRjZ8iQVQWZejWWk1wwG6ViWMyqb/ouBbGOl5b6aCk0+j1NmsQ==",
- "dev": true,
- "requires": {
- "@babel/compat-data": "^7.9.0",
- "@babel/helper-compilation-targets": "^7.8.7",
- "@babel/helper-module-imports": "^7.8.3",
- "@babel/helper-plugin-utils": "^7.8.3",
- "@babel/plugin-proposal-async-generator-functions": "^7.8.3",
- "@babel/plugin-proposal-dynamic-import": "^7.8.3",
- "@babel/plugin-proposal-json-strings": "^7.8.3",
- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3",
- "@babel/plugin-proposal-numeric-separator": "^7.8.3",
- "@babel/plugin-proposal-object-rest-spread": "^7.9.0",
- "@babel/plugin-proposal-optional-catch-binding": "^7.8.3",
- "@babel/plugin-proposal-optional-chaining": "^7.9.0",
- "@babel/plugin-proposal-unicode-property-regex": "^7.8.3",
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.11.0.tgz",
+ "integrity": "sha512-2u1/k7rG/gTh02dylX2kL3S0IJNF+J6bfDSp4DI2Ma8QN6Y9x9pmAax59fsCk6QUQG0yqH47yJWA+u1I1LccAg==",
+ "dev": true,
+ "requires": {
+ "@babel/compat-data": "^7.11.0",
+ "@babel/helper-compilation-targets": "^7.10.4",
+ "@babel/helper-module-imports": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-proposal-async-generator-functions": "^7.10.4",
+ "@babel/plugin-proposal-class-properties": "^7.10.4",
+ "@babel/plugin-proposal-dynamic-import": "^7.10.4",
+ "@babel/plugin-proposal-export-namespace-from": "^7.10.4",
+ "@babel/plugin-proposal-json-strings": "^7.10.4",
+ "@babel/plugin-proposal-logical-assignment-operators": "^7.11.0",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.4",
+ "@babel/plugin-proposal-numeric-separator": "^7.10.4",
+ "@babel/plugin-proposal-object-rest-spread": "^7.11.0",
+ "@babel/plugin-proposal-optional-catch-binding": "^7.10.4",
+ "@babel/plugin-proposal-optional-chaining": "^7.11.0",
+ "@babel/plugin-proposal-private-methods": "^7.10.4",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.10.4",
"@babel/plugin-syntax-async-generators": "^7.8.0",
+ "@babel/plugin-syntax-class-properties": "^7.10.4",
"@babel/plugin-syntax-dynamic-import": "^7.8.0",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
"@babel/plugin-syntax-json-strings": "^7.8.0",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
"@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0",
- "@babel/plugin-syntax-numeric-separator": "^7.8.0",
+ "@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.8.3",
- "@babel/plugin-transform-arrow-functions": "^7.8.3",
- "@babel/plugin-transform-async-to-generator": "^7.8.3",
- "@babel/plugin-transform-block-scoped-functions": "^7.8.3",
- "@babel/plugin-transform-block-scoping": "^7.8.3",
- "@babel/plugin-transform-classes": "^7.9.0",
- "@babel/plugin-transform-computed-properties": "^7.8.3",
- "@babel/plugin-transform-destructuring": "^7.8.3",
- "@babel/plugin-transform-dotall-regex": "^7.8.3",
- "@babel/plugin-transform-duplicate-keys": "^7.8.3",
- "@babel/plugin-transform-exponentiation-operator": "^7.8.3",
- "@babel/plugin-transform-for-of": "^7.9.0",
- "@babel/plugin-transform-function-name": "^7.8.3",
- "@babel/plugin-transform-literals": "^7.8.3",
- "@babel/plugin-transform-member-expression-literals": "^7.8.3",
- "@babel/plugin-transform-modules-amd": "^7.9.0",
- "@babel/plugin-transform-modules-commonjs": "^7.9.0",
- "@babel/plugin-transform-modules-systemjs": "^7.9.0",
- "@babel/plugin-transform-modules-umd": "^7.9.0",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3",
- "@babel/plugin-transform-new-target": "^7.8.3",
- "@babel/plugin-transform-object-super": "^7.8.3",
- "@babel/plugin-transform-parameters": "^7.8.7",
- "@babel/plugin-transform-property-literals": "^7.8.3",
- "@babel/plugin-transform-regenerator": "^7.8.7",
- "@babel/plugin-transform-reserved-words": "^7.8.3",
- "@babel/plugin-transform-shorthand-properties": "^7.8.3",
- "@babel/plugin-transform-spread": "^7.8.3",
- "@babel/plugin-transform-sticky-regex": "^7.8.3",
- "@babel/plugin-transform-template-literals": "^7.8.3",
- "@babel/plugin-transform-typeof-symbol": "^7.8.4",
- "@babel/plugin-transform-unicode-regex": "^7.8.3",
+ "@babel/plugin-syntax-top-level-await": "^7.10.4",
+ "@babel/plugin-transform-arrow-functions": "^7.10.4",
+ "@babel/plugin-transform-async-to-generator": "^7.10.4",
+ "@babel/plugin-transform-block-scoped-functions": "^7.10.4",
+ "@babel/plugin-transform-block-scoping": "^7.10.4",
+ "@babel/plugin-transform-classes": "^7.10.4",
+ "@babel/plugin-transform-computed-properties": "^7.10.4",
+ "@babel/plugin-transform-destructuring": "^7.10.4",
+ "@babel/plugin-transform-dotall-regex": "^7.10.4",
+ "@babel/plugin-transform-duplicate-keys": "^7.10.4",
+ "@babel/plugin-transform-exponentiation-operator": "^7.10.4",
+ "@babel/plugin-transform-for-of": "^7.10.4",
+ "@babel/plugin-transform-function-name": "^7.10.4",
+ "@babel/plugin-transform-literals": "^7.10.4",
+ "@babel/plugin-transform-member-expression-literals": "^7.10.4",
+ "@babel/plugin-transform-modules-amd": "^7.10.4",
+ "@babel/plugin-transform-modules-commonjs": "^7.10.4",
+ "@babel/plugin-transform-modules-systemjs": "^7.10.4",
+ "@babel/plugin-transform-modules-umd": "^7.10.4",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.10.4",
+ "@babel/plugin-transform-new-target": "^7.10.4",
+ "@babel/plugin-transform-object-super": "^7.10.4",
+ "@babel/plugin-transform-parameters": "^7.10.4",
+ "@babel/plugin-transform-property-literals": "^7.10.4",
+ "@babel/plugin-transform-regenerator": "^7.10.4",
+ "@babel/plugin-transform-reserved-words": "^7.10.4",
+ "@babel/plugin-transform-shorthand-properties": "^7.10.4",
+ "@babel/plugin-transform-spread": "^7.11.0",
+ "@babel/plugin-transform-sticky-regex": "^7.10.4",
+ "@babel/plugin-transform-template-literals": "^7.10.4",
+ "@babel/plugin-transform-typeof-symbol": "^7.10.4",
+ "@babel/plugin-transform-unicode-escapes": "^7.10.4",
+ "@babel/plugin-transform-unicode-regex": "^7.10.4",
"@babel/preset-modules": "^0.1.3",
- "@babel/types": "^7.9.0",
- "browserslist": "^4.9.1",
+ "@babel/types": "^7.11.0",
+ "browserslist": "^4.12.0",
"core-js-compat": "^3.6.2",
"invariant": "^2.2.2",
"levenary": "^1.1.1",
"semver": "^5.5.0"
+ },
+ "dependencies": {
+ "@babel/helper-module-imports": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.1.tgz",
+ "integrity": "sha512-ZeC1TlMSvikvJNy1v/wPIazCu3NdOwgYZLIkmIyAsGhqkNpiDoQQRmaCK8YP4Pq3GPTLPV9WXaPCJKvx06JxKA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.12.1"
+ }
+ },
+ "@babel/types": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz",
+ "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.10.4",
+ "lodash": "^4.17.19",
+ "to-fast-properties": "^2.0.0"
+ }
+ }
}
},
"@babel/preset-modules": {
@@ -4060,38 +4490,16 @@
"dev": true
},
"@jsdevtools/coverage-istanbul-loader": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@jsdevtools/coverage-istanbul-loader/-/coverage-istanbul-loader-3.0.3.tgz",
- "integrity": "sha512-TAdNkeGB5Fe4Og+ZkAr1Kvn9by2sfL44IAHFtxlh1BA1XJ5cLpO9iSNki5opWESv3l3vSHsZ9BNKuqFKbEbFaA==",
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/@jsdevtools/coverage-istanbul-loader/-/coverage-istanbul-loader-3.0.5.tgz",
+ "integrity": "sha512-EUCPEkaRPvmHjWAAZkWMT7JDzpw7FKB00WTISaiXsbNOd5hCHg77XLA8sLYLFDo1zepYLo2w7GstN8YBqRXZfA==",
"dev": true,
"requires": {
"convert-source-map": "^1.7.0",
- "istanbul-lib-instrument": "^4.0.1",
- "loader-utils": "^1.4.0",
+ "istanbul-lib-instrument": "^4.0.3",
+ "loader-utils": "^2.0.0",
"merge-source-map": "^1.1.0",
- "schema-utils": "^2.6.4"
- },
- "dependencies": {
- "json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "loader-utils": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
- "dev": true,
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^1.0.1"
- }
- }
+ "schema-utils": "^2.7.0"
}
},
"@jsdevtools/ono": {
@@ -4101,77 +4509,46 @@
"dev": true
},
"@ngrx/effects": {
- "version": "9.2.0",
- "resolved": "https://registry.npmjs.org/@ngrx/effects/-/effects-9.2.0.tgz",
- "integrity": "sha512-8V09zDIPehGpzgfcgyczelovsVYJvDQhN9wHt37K5A+YCG0CI8nj8FmKokHATwv/S62YqFrOVnr/TZacxpDhBw=="
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/@ngrx/effects/-/effects-10.0.1.tgz",
+ "integrity": "sha512-pw0hRQNlyBBRHH1NRWl3TF+RtEAS4XOSnoTHPtQ84Ib/bEribvexsdEq3k6yLWvR3tLTudb5J6SYwYawcM6omA==",
+ "requires": {
+ "tslib": "^2.0.0"
+ }
},
"@ngrx/router-store": {
- "version": "9.2.0",
- "resolved": "https://registry.npmjs.org/@ngrx/router-store/-/router-store-9.2.0.tgz",
- "integrity": "sha512-thu6aU9YWM64oNEk4Srx/mNSeQ2SPJKlTji8MSzfr06qgCMyPSXZBYlfs8HqY+af3eB7XBEhb/4ew4JJ6xC9zw=="
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/@ngrx/router-store/-/router-store-10.0.1.tgz",
+ "integrity": "sha512-UuTIYJWKhYv5xlhcJw3pz3C+DbLk5DzTWYJ03B7J+O2ELnKlbMDdjoejzNVDGOGKKWjzg/irNvkC/Opu2Zspqg==",
+ "requires": {
+ "tslib": "^2.0.0"
+ }
},
"@ngrx/store": {
- "version": "9.2.0",
- "resolved": "https://registry.npmjs.org/@ngrx/store/-/store-9.2.0.tgz",
- "integrity": "sha512-V8AI3mxbMztVpbZpALkLZYlGkofKcu9GaOCY5e+sZ1VcJ90oxhFjBpnmd6MuVdmhep1XAHALb1B8ZbBFn+xsgQ=="
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/@ngrx/store/-/store-10.0.1.tgz",
+ "integrity": "sha512-ZbPvhp/tRYnS3jZ28mDOX2LH3jfySXT0uv8ffIboM/o9QxBGHpAJyBct2zkpy4duYBc3i/sIbRn+CEpAjLXjHw==",
+ "requires": {
+ "tslib": "^2.0.0"
+ }
},
"@ngrx/store-devtools": {
- "version": "9.2.0",
- "resolved": "https://registry.npmjs.org/@ngrx/store-devtools/-/store-devtools-9.2.0.tgz",
- "integrity": "sha512-/FvgcpjO4IvwNFnRVoHGikAvckr6fxKf4NgYoTQ9giI8xavolLvuQUHxzH20legi5dgZz34ii2m2g1Q7OxEV8w=="
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/@ngrx/store-devtools/-/store-devtools-10.0.1.tgz",
+ "integrity": "sha512-kwgF1yjjVn0FER+AG83OLCYSMuX4/E3L+DN4doSoZs4BNO9FdkYIIA4ul1nXT5d6SLiFFTmlufmbgc6HCF3pjQ==",
+ "requires": {
+ "tslib": "^2.0.0"
+ }
},
"@ngtools/webpack": {
- "version": "9.1.12",
- "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-9.1.12.tgz",
- "integrity": "sha512-lypMXIq5oxBMsoDu/VOa1yUmmXthhxkCJa8LG0ZohfnbwhmZvz3SAW7omBGuVrb5cVIfLCkaRCSnQ1MNc6ULXw==",
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-10.2.0.tgz",
+ "integrity": "sha512-W4SSFNQhIiC8JRhIn3c4mb1+fsFKiHp+THVMAUNo+wRZEt/rgzsCdnqv0EmQJJojZhnilUIyB/wVYJu2+S/Bxg==",
"dev": true,
"requires": {
- "@angular-devkit/core": "9.1.12",
- "enhanced-resolve": "4.1.1",
- "rxjs": "6.5.4",
+ "@angular-devkit/core": "10.2.0",
+ "enhanced-resolve": "4.3.0",
"webpack-sources": "1.4.3"
- },
- "dependencies": {
- "@angular-devkit/core": {
- "version": "9.1.12",
- "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.12.tgz",
- "integrity": "sha512-D/GnBeSlmdgGn7EhuE32HuPuRAjvUuxi7Q6WywBI8PSsXKAGnrypghBwMATNnOA24//CgbW2533Y9VWHaeXdeA==",
- "dev": true,
- "requires": {
- "ajv": "6.12.3",
- "fast-json-stable-stringify": "2.1.0",
- "magic-string": "0.25.7",
- "rxjs": "6.5.4",
- "source-map": "0.7.3"
- }
- },
- "ajv": {
- "version": "6.12.3",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
- "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==",
- "dev": true,
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "rxjs": {
- "version": "6.5.4",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
- "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
- "dev": true,
- "requires": {
- "tslib": "^1.9.0"
- }
- },
- "source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
- "dev": true
- }
}
},
"@nodelib/fs.scandir": {
@@ -4218,18 +4595,30 @@
}
},
"@rollup/plugin-commonjs": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz",
- "integrity": "sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA==",
+ "version": "15.1.0",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-15.1.0.tgz",
+ "integrity": "sha512-xCQqz4z/o0h2syQ7d9LskIMvBSH4PX5PjYdpSSvgS+pQik3WahkQVNWg3D8XJeYjZoVWnIUQYDghuEMRGrmQYQ==",
"dev": true,
"requires": {
- "@rollup/pluginutils": "^3.0.8",
+ "@rollup/pluginutils": "^3.1.0",
"commondir": "^1.0.1",
- "estree-walker": "^1.0.1",
- "glob": "^7.1.2",
- "is-reference": "^1.1.2",
- "magic-string": "^0.25.2",
- "resolve": "^1.11.0"
+ "estree-walker": "^2.0.1",
+ "glob": "^7.1.6",
+ "is-reference": "^1.2.1",
+ "magic-string": "^0.25.7",
+ "resolve": "^1.17.0"
+ },
+ "dependencies": {
+ "resolve": {
+ "version": "1.18.1",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz",
+ "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==",
+ "dev": true,
+ "requires": {
+ "is-core-module": "^2.0.0",
+ "path-parse": "^1.0.6"
+ }
+ }
}
},
"@rollup/plugin-json": {
@@ -4242,290 +4631,282 @@
}
},
"@rollup/plugin-node-resolve": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz",
- "integrity": "sha512-RxtSL3XmdTAE2byxekYLnx+98kEUOrPHF/KRVjLH+DEIHy6kjIw7YINQzn+NXiH/NTrQLAwYs0GWB+csWygA9Q==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz",
+ "integrity": "sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg==",
"dev": true,
"requires": {
- "@rollup/pluginutils": "^3.0.8",
- "@types/resolve": "0.0.8",
+ "@rollup/pluginutils": "^3.1.0",
+ "@types/resolve": "1.17.1",
"builtin-modules": "^3.1.0",
+ "deepmerge": "^4.2.2",
"is-module": "^1.0.0",
- "resolve": "^1.14.2"
+ "resolve": "^1.17.0"
},
"dependencies": {
- "@angular-devkit/core": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-8.3.3.tgz",
- "integrity": "sha512-E49GCnn06q79Xd5SC/+8CDRF1wp9wQqP6HKJVVMijoi3NOrMQTuHTesPURvve2xbkCYqQOVlMEonhOJF5vpnoQ==",
- "requires": {
- "ajv": "6.10.2",
- "fast-json-stable-stringify": "2.0.0",
- "magic-string": "0.25.3",
- "rxjs": "6.4.0"
- }
- },
- "@angular-devkit/schematics": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-8.3.3.tgz",
- "integrity": "sha512-t5I77YeRCWpr5PJMQn8iCu2zHqnQt7qqxt66ejmsDnFgCQDw2G1IQl48AzjegJybIoRCaWX12yUZaS5aaJm5Cg==",
- "requires": {
- "@angular-devkit/core": "8.3.3",
- "rxjs": "6.4.0"
- }
- },
- "@schematics/angular": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-8.3.3.tgz",
- "integrity": "sha512-8dRe7mBPqesscXG56pg7bWgDz+xb8jmU/Yp6LizOL3U0EoO/QV6yuVgPkgiIMSaGQaP3PBzZ7h0xuOOogWJ6ig==",
- "requires": {
- "@angular-devkit/core": "8.3.3",
- "@angular-devkit/schematics": "8.3.3"
- }
- },
- "ajv": {
- "version": "6.10.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
- "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
- "requires": {
- "fast-deep-equal": "^2.0.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "fast-deep-equal": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
- "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
- },
- "fast-json-stable-stringify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
- "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
- },
- "magic-string": {
- "version": "0.25.3",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.3.tgz",
- "integrity": "sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA==",
- "requires": {
- "sourcemap-codec": "^1.4.4"
- }
+ "deepmerge": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
+ "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
+ "dev": true
},
"resolve": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
- "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
+ "version": "1.18.1",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz",
+ "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==",
"dev": true,
"requires": {
+ "is-core-module": "^2.0.0",
"path-parse": "^1.0.6"
}
- },
- "rxjs": {
- "version": "6.4.0",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.4.0.tgz",
- "integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==",
- "requires": {
- "tslib": "^1.9.0"
- }
}
}
},
"@rollup/pluginutils": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.0.9.tgz",
- "integrity": "sha512-TLZavlfPAZYI7v33wQh4mTP6zojne14yok3DNSLcjoG/Hirxfkonn6icP5rrNWRn8nZsirJBFFpijVOJzkUHDg==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
+ "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
"dev": true,
"requires": {
"@types/estree": "0.0.39",
"estree-walker": "^1.0.1",
- "micromatch": "^4.0.2"
+ "picomatch": "^2.2.2"
},
"dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
- },
- "camelcase": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
- "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0="
+ "estree-walker": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
+ "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
+ "dev": true
+ }
+ }
+ },
+ "@schematics/angular": {
+ "version": "9.1.7",
+ "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-9.1.7.tgz",
+ "integrity": "sha512-ld3WcoMWvup04V3OWioQ+AFGQBzz7IDM4Fxc5+Qc3wILWkDJnNkrc4EmJAow96Ab4/T1+Wl1vof3tV4At0BTzA==",
+ "dev": true,
+ "requires": {
+ "@angular-devkit/core": "9.1.7",
+ "@angular-devkit/schematics": "9.1.7"
+ },
+ "dependencies": {
+ "@angular-devkit/core": {
+ "version": "9.1.7",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.7.tgz",
+ "integrity": "sha512-guvolu9Cl+qYMTtedLZD9wCqustJjdqzJ2psD2C1Sr1LrX9T0mprmDldR/YnhsitThveJEb6sM/0EvqWxoSvKw==",
+ "dev": true,
+ "requires": {
+ "ajv": "6.12.0",
+ "fast-json-stable-stringify": "2.1.0",
+ "magic-string": "0.25.7",
+ "rxjs": "6.5.4",
+ "source-map": "0.7.3"
+ }
},
- "cliui": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
- "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
+ "@angular-devkit/schematics": {
+ "version": "9.1.7",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.1.7.tgz",
+ "integrity": "sha512-oeHPJePBcPp/bd94jHQeFUnft93PGF5iJiKV9szxqS8WWC5OMZ5eK7icRY0PwvLyfenspAZxdZcNaqJqPMul5A==",
+ "dev": true,
"requires": {
- "string-width": "^2.1.1",
- "strip-ansi": "^4.0.0"
+ "@angular-devkit/core": "9.1.7",
+ "ora": "4.0.3",
+ "rxjs": "6.5.4"
}
},
- "invert-kv": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
- "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA=="
+ "ansi-regex": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+ "dev": true
},
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
},
- "lcid": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
- "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
"requires": {
- "invert-kv": "^2.0.0"
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
}
},
- "mem": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz",
- "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==",
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
"requires": {
- "map-age-cleaner": "^0.1.1",
- "mimic-fn": "^2.0.0"
+ "color-name": "~1.1.4"
}
},
- "micromatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
- "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "log-symbols": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
+ "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
"dev": true,
"requires": {
- "braces": "^3.0.1",
- "picomatch": "^2.0.5"
+ "chalk": "^2.4.2"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
}
},
- "os-locale": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
- "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
+ "ora": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.3.tgz",
+ "integrity": "sha512-fnDebVFyz309A73cqCipVL1fBZewq4vwgSHfxh43vVy31mbyoQ8sCH3Oeaog/owYOs/lLlGVPCISQonTneg6Pg==",
+ "dev": true,
"requires": {
- "execa": "^1.0.0",
- "lcid": "^2.0.0",
- "mem": "^4.0.0"
+ "chalk": "^3.0.0",
+ "cli-cursor": "^3.1.0",
+ "cli-spinners": "^2.2.0",
+ "is-interactive": "^1.0.0",
+ "log-symbols": "^3.0.0",
+ "mute-stream": "0.0.8",
+ "strip-ansi": "^6.0.0",
+ "wcwidth": "^1.0.1"
}
},
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "rxjs": {
+ "version": "6.5.4",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
+ "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
+ "dev": true,
"requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
+ "tslib": "^1.9.0"
}
},
+ "source-map": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+ "dev": true
+ },
"strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "dev": true,
"requires": {
- "ansi-regex": "^3.0.0"
- }
- },
- "which-module": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
- },
- "y18n": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
- "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE="
- },
- "yargs": {
- "version": "11.1.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.1.tgz",
- "integrity": "sha512-PRU7gJrJaXv3q3yQZ/+/X6KBswZiaQ+zOmdprZcouPYtQgvNU35i+68M4b1ZHLZtYFT5QObFLV+ZkmJYcwKdiw==",
- "requires": {
- "cliui": "^4.0.0",
- "decamelize": "^1.1.1",
- "find-up": "^2.1.0",
- "os-locale": "^3.1.0",
- "require-directory": "^2.1.1",
- "set-blocking": "^2.0.0",
- "string-width": "^2.0.0",
- "which-module": "^2.0.0",
- "y18n": "^3.2.1",
- "yargs-parser": "^9.0.2"
- },
- "dependencies": {
- "yargs-parser": {
- "version": "9.0.2",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz",
- "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=",
- "requires": {
- "camelcase": "^4.1.0"
- }
- }
+ "ansi-regex": "^5.0.0"
}
},
- "yargs-parser": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.0.0.tgz",
- "integrity": "sha512-+DHejWujTVYeMHLff8U96rLc4uE4Emncoftvn5AjhB1Jw1pWxLzgBUT/WYbPrHmy6YPEBTZQx5myHhVcuuu64g==",
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
"requires": {
- "camelcase": "^4.1.0"
+ "has-flag": "^4.0.0"
}
+ },
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
}
}
},
- "@schematics/angular": {
- "version": "9.1.7",
- "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-9.1.7.tgz",
- "integrity": "sha512-ld3WcoMWvup04V3OWioQ+AFGQBzz7IDM4Fxc5+Qc3wILWkDJnNkrc4EmJAow96Ab4/T1+Wl1vof3tV4At0BTzA==",
- "dev": true,
- "requires": {
- "@angular-devkit/core": "9.1.7",
- "@angular-devkit/schematics": "9.1.7"
- }
- },
"@schematics/update": {
- "version": "0.901.7",
- "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.901.7.tgz",
- "integrity": "sha512-6IpQVFvbu47CrXfqqHAzv2vi7AOdfi1S+SiayXU6FWTeA2wV47H8R60VjxurL8JkDGoVhFgC4+lK6KG++g3dQw==",
+ "version": "0.1002.0",
+ "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.1002.0.tgz",
+ "integrity": "sha512-g2bfJSAj3x/YL0GNhnHsDSQmO6DoxSnLxoFLqNN5+ukxK5jq7OZNDwMJGxZ3X6RcSMWKEkIKL/wlq9yhj2T/kw==",
"dev": true,
"requires": {
- "@angular-devkit/core": "9.1.7",
- "@angular-devkit/schematics": "9.1.7",
+ "@angular-devkit/core": "10.2.0",
+ "@angular-devkit/schematics": "10.2.0",
"@yarnpkg/lockfile": "1.1.0",
"ini": "1.3.5",
"npm-package-arg": "^8.0.0",
"pacote": "9.5.12",
- "rxjs": "6.5.4",
- "semver": "7.1.3",
+ "semver": "7.3.2",
"semver-intersect": "1.4.0"
},
"dependencies": {
- "rxjs": {
- "version": "6.5.4",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
- "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
- "dev": true,
- "requires": {
- "tslib": "^1.9.0"
- }
- },
"semver": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz",
- "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==",
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
+ "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
"dev": true
}
}
},
- "@sindresorhus/is": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
- "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==",
- "dev": true
- },
"@swimlane/ngx-charts": {
- "version": "13.0.4",
- "resolved": "https://registry.npmjs.org/@swimlane/ngx-charts/-/ngx-charts-13.0.4.tgz",
- "integrity": "sha512-4EvwclbctVQ5VzPBC63DJsg+jwQU/NlR/yQ9ObVH5acefEbS8kupn3cp/gaWftLTQ0jdXqRqycHNkLOQZfa3XQ==",
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@swimlane/ngx-charts/-/ngx-charts-16.0.0.tgz",
+ "integrity": "sha512-ltbyA7qhnbdNcjWD0NerObHrDzWgDDja8M8R1RVgBZnkaoJFpB/KZ1W3+Ch9F1y9pCy/zdpWSzwd/RzCEhsQhA==",
"requires": {
"d3-array": "^2.4.0",
"d3-brush": "^1.1.5",
@@ -4537,15 +4918,16 @@
"d3-selection": "^1.4.1",
"d3-shape": "^1.3.7",
"d3-time-format": "^2.2.2",
- "d3-transition": "^1.3.2"
+ "d3-transition": "^1.3.2",
+ "tslib": "^2.0.0"
}
},
"@swimlane/ngx-graph": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/@swimlane/ngx-graph/-/ngx-graph-7.0.1.tgz",
- "integrity": "sha512-V85EuEJr61AM3J24slsiUkg6eak6J8IBy5zeD55fywLl3QbndRELRp3l/T2wu/HNpzyHzrC0/qpkEauqcHtRsA==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@swimlane/ngx-graph/-/ngx-graph-7.2.0.tgz",
+ "integrity": "sha512-W9/UfwxKp5+vevATgka1alMQwB5g0GYcZf1EkBp4cPOXUthDl3hgmw4v1fXAszO92qT9jzSgGGpufKlZDt0yJQ==",
"requires": {
- "@swimlane/ngx-charts": "^13.0.1",
+ "@swimlane/ngx-charts": "^16.0.0",
"d3-dispatch": "^1.0.3",
"d3-ease": "^1.0.5",
"d3-force": "^1.1.0",
@@ -4555,18 +4937,10 @@
"d3-transition": "^1.1.1",
"dagre": "^0.8.4",
"transformation-matrix": "^1.15.3",
+ "tslib": "^2.0.0",
"webcola": "^3.3.8"
}
},
- "@szmarczak/http-timer": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
- "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
- "dev": true,
- "requires": {
- "defer-to-connect": "^1.0.1"
- }
- },
"@tootallnate/once": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
@@ -4626,6 +5000,12 @@
"@types/jasmine": "*"
}
},
+ "@types/js-yaml": {
+ "version": "3.12.5",
+ "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-3.12.5.tgz",
+ "integrity": "sha512-JCcp6J0GV66Y4ZMDAQCXot4xprYB+Zfd3meK9+INSJeVZwJmHAW30BBEEkPzXswMXuiyReUGOP3GxrADc9wPww==",
+ "dev": true
+ },
"@types/json-schema": {
"version": "7.0.5",
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz",
@@ -4643,9 +5023,9 @@
}
},
"@types/marked": {
- "version": "0.7.4",
- "resolved": "https://registry.npmjs.org/@types/marked/-/marked-0.7.4.tgz",
- "integrity": "sha512-fdg0NO4qpuHWtZk6dASgsrBggY+8N4dWthl1bAQG9ceKUNKFjqpHaDKCAhRUI6y8vavG7hLSJ4YBwJtZyZEXqw=="
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@types/marked/-/marked-1.1.0.tgz",
+ "integrity": "sha512-j8XXj6/l9kFvCwMyVqozznqpd/nk80krrW+QiIJN60Uu9gX5Pvn4/qPJ2YngQrR3QREPwmrE1f9/EWKVTFzoEw=="
},
"@types/minimatch": {
"version": "3.0.3",
@@ -4705,9 +5085,9 @@
}
},
"@types/resolve": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz",
- "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==",
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz",
+ "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==",
"dev": true,
"requires": {
"@types/node": "*"
@@ -4726,9 +5106,9 @@
"dev": true
},
"@types/stacktrace-js": {
- "version": "0.0.32",
- "resolved": "https://registry.npmjs.org/@types/stacktrace-js/-/stacktrace-js-0.0.32.tgz",
- "integrity": "sha512-SdxmlrHfO0BxgbBP9HZWMUo2rima8lwMjPiWm6S0dyKkDa5CseamktFhXg8umu3TPVBkSlX6ZoB5uUDJK89yvg=="
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/@types/stacktrace-js/-/stacktrace-js-0.0.33.tgz",
+ "integrity": "sha512-aqJ6QM9QThNL4dHBhwl1f9B0oDqiREkYLn9RldghUKsGeFWWGlCsqsRWxbh+hDvvmptMFqc4aIfFIGz9BBu8Qg=="
},
"@types/tough-cookie": {
"version": "4.0.0",
@@ -4756,178 +5136,177 @@
}
},
"@webassemblyjs/ast": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz",
- "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz",
+ "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==",
"dev": true,
"requires": {
- "@webassemblyjs/helper-module-context": "1.8.5",
- "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
- "@webassemblyjs/wast-parser": "1.8.5"
+ "@webassemblyjs/helper-module-context": "1.9.0",
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+ "@webassemblyjs/wast-parser": "1.9.0"
}
},
"@webassemblyjs/floating-point-hex-parser": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz",
- "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz",
+ "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==",
"dev": true
},
"@webassemblyjs/helper-api-error": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz",
- "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz",
+ "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==",
"dev": true
},
"@webassemblyjs/helper-buffer": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz",
- "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz",
+ "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==",
"dev": true
},
"@webassemblyjs/helper-code-frame": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz",
- "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz",
+ "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==",
"dev": true,
"requires": {
- "@webassemblyjs/wast-printer": "1.8.5"
+ "@webassemblyjs/wast-printer": "1.9.0"
}
},
"@webassemblyjs/helper-fsm": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz",
- "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz",
+ "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==",
"dev": true
},
"@webassemblyjs/helper-module-context": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz",
- "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz",
+ "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.8.5",
- "mamacro": "^0.0.3"
+ "@webassemblyjs/ast": "1.9.0"
}
},
"@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz",
- "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz",
+ "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==",
"dev": true
},
"@webassemblyjs/helper-wasm-section": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz",
- "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz",
+ "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.8.5",
- "@webassemblyjs/helper-buffer": "1.8.5",
- "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
- "@webassemblyjs/wasm-gen": "1.8.5"
+ "@webassemblyjs/ast": "1.9.0",
+ "@webassemblyjs/helper-buffer": "1.9.0",
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+ "@webassemblyjs/wasm-gen": "1.9.0"
}
},
"@webassemblyjs/ieee754": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz",
- "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz",
+ "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==",
"dev": true,
"requires": {
"@xtuc/ieee754": "^1.2.0"
}
},
"@webassemblyjs/leb128": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz",
- "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz",
+ "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==",
"dev": true,
"requires": {
"@xtuc/long": "4.2.2"
}
},
"@webassemblyjs/utf8": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz",
- "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz",
+ "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==",
"dev": true
},
"@webassemblyjs/wasm-edit": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz",
- "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz",
+ "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.8.5",
- "@webassemblyjs/helper-buffer": "1.8.5",
- "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
- "@webassemblyjs/helper-wasm-section": "1.8.5",
- "@webassemblyjs/wasm-gen": "1.8.5",
- "@webassemblyjs/wasm-opt": "1.8.5",
- "@webassemblyjs/wasm-parser": "1.8.5",
- "@webassemblyjs/wast-printer": "1.8.5"
+ "@webassemblyjs/ast": "1.9.0",
+ "@webassemblyjs/helper-buffer": "1.9.0",
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+ "@webassemblyjs/helper-wasm-section": "1.9.0",
+ "@webassemblyjs/wasm-gen": "1.9.0",
+ "@webassemblyjs/wasm-opt": "1.9.0",
+ "@webassemblyjs/wasm-parser": "1.9.0",
+ "@webassemblyjs/wast-printer": "1.9.0"
}
},
"@webassemblyjs/wasm-gen": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz",
- "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz",
+ "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.8.5",
- "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
- "@webassemblyjs/ieee754": "1.8.5",
- "@webassemblyjs/leb128": "1.8.5",
- "@webassemblyjs/utf8": "1.8.5"
+ "@webassemblyjs/ast": "1.9.0",
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+ "@webassemblyjs/ieee754": "1.9.0",
+ "@webassemblyjs/leb128": "1.9.0",
+ "@webassemblyjs/utf8": "1.9.0"
}
},
"@webassemblyjs/wasm-opt": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz",
- "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz",
+ "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.8.5",
- "@webassemblyjs/helper-buffer": "1.8.5",
- "@webassemblyjs/wasm-gen": "1.8.5",
- "@webassemblyjs/wasm-parser": "1.8.5"
+ "@webassemblyjs/ast": "1.9.0",
+ "@webassemblyjs/helper-buffer": "1.9.0",
+ "@webassemblyjs/wasm-gen": "1.9.0",
+ "@webassemblyjs/wasm-parser": "1.9.0"
}
},
"@webassemblyjs/wasm-parser": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz",
- "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz",
+ "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.8.5",
- "@webassemblyjs/helper-api-error": "1.8.5",
- "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
- "@webassemblyjs/ieee754": "1.8.5",
- "@webassemblyjs/leb128": "1.8.5",
- "@webassemblyjs/utf8": "1.8.5"
+ "@webassemblyjs/ast": "1.9.0",
+ "@webassemblyjs/helper-api-error": "1.9.0",
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+ "@webassemblyjs/ieee754": "1.9.0",
+ "@webassemblyjs/leb128": "1.9.0",
+ "@webassemblyjs/utf8": "1.9.0"
}
},
"@webassemblyjs/wast-parser": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz",
- "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz",
+ "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.8.5",
- "@webassemblyjs/floating-point-hex-parser": "1.8.5",
- "@webassemblyjs/helper-api-error": "1.8.5",
- "@webassemblyjs/helper-code-frame": "1.8.5",
- "@webassemblyjs/helper-fsm": "1.8.5",
+ "@webassemblyjs/ast": "1.9.0",
+ "@webassemblyjs/floating-point-hex-parser": "1.9.0",
+ "@webassemblyjs/helper-api-error": "1.9.0",
+ "@webassemblyjs/helper-code-frame": "1.9.0",
+ "@webassemblyjs/helper-fsm": "1.9.0",
"@xtuc/long": "4.2.2"
}
},
"@webassemblyjs/wast-printer": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz",
- "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz",
+ "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.8.5",
- "@webassemblyjs/wast-parser": "1.8.5",
+ "@webassemblyjs/ast": "1.9.0",
+ "@webassemblyjs/wast-parser": "1.9.0",
"@xtuc/long": "4.2.2"
}
},
@@ -4959,6 +5338,12 @@
"through": ">=2.2.7 <3"
}
},
+ "abab": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz",
+ "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==",
+ "dev": true
+ },
"abbrev": {
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
@@ -4998,6 +5383,16 @@
}
}
},
+ "adjust-sourcemap-loader": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz",
+ "integrity": "sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw==",
+ "dev": true,
+ "requires": {
+ "loader-utils": "^2.0.0",
+ "regex-parser": "^2.2.11"
+ }
+ },
"adm-zip": {
"version": "0.4.16",
"resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz",
@@ -5052,12 +5447,14 @@
"ajv-errors": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
- "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ=="
+ "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
+ "dev": true
},
"ajv-keywords": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz",
- "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ=="
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
+ "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
+ "dev": true
},
"alphanum-sort": {
"version": "1.0.2",
@@ -5080,55 +5477,6 @@
"@tweenjs/tween.js": "^17.1.0"
}
},
- "ansi-align": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz",
- "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==",
- "dev": true,
- "requires": {
- "string-width": "^3.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
- },
- "string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
- "dev": true,
- "requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- }
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
- }
- },
"ansi-colors": {
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
@@ -5160,7 +5508,6 @@
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
"requires": {
"color-convert": "^1.9.0"
}
@@ -5182,9 +5529,9 @@
}
},
"app-root-path": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-2.2.1.tgz",
- "integrity": "sha512-91IFKeKk7FjfmezPKkwtaRvSpnUc4gDwPAjA1YZ9Gn0q0PPeW+vbeUsZuyDwjI7+QTHhcLen2v25fi/AmhvbJA==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.0.0.tgz",
+ "integrity": "sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw==",
"dev": true
},
"append-transform": {
@@ -5238,6 +5585,12 @@
"commander": "^2.11.0"
}
},
+ "arity-n": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz",
+ "integrity": "sha1-2edrEXM+CFacCEeuezmyhgswt0U=",
+ "dev": true
+ },
"arr-diff": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
@@ -5457,15 +5810,16 @@
}
},
"babel-loader": {
- "version": "8.0.6",
- "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz",
- "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==",
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz",
+ "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==",
"dev": true,
"requires": {
- "find-cache-dir": "^2.0.0",
- "loader-utils": "^1.0.2",
- "mkdirp": "^0.5.1",
- "pify": "^4.0.1"
+ "find-cache-dir": "^2.1.0",
+ "loader-utils": "^1.4.0",
+ "mkdirp": "^0.5.3",
+ "pify": "^4.0.1",
+ "schema-utils": "^2.6.5"
},
"dependencies": {
"find-cache-dir": {
@@ -5525,8 +5879,7 @@
"balanced-match": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
- "dev": true
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
},
"base": {
"version": "0.11.2",
@@ -5616,6 +5969,23 @@
"tweetnacl": "^0.14.3"
}
},
+ "bent": {
+ "version": "7.3.12",
+ "resolved": "https://registry.npmjs.org/bent/-/bent-7.3.12.tgz",
+ "integrity": "sha512-T3yrKnVGB63zRuoco/7Ybl7BwwGZR0lceoVG5XmQyMIH9s19SV5m+a8qam4if0zQuAmOQTyPTPmsQBdAorGK3w==",
+ "requires": {
+ "bytesish": "^0.4.1",
+ "caseless": "~0.12.0",
+ "is-stream": "^2.0.0"
+ },
+ "dependencies": {
+ "is-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
+ "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw=="
+ }
+ }
+ },
"better-assert": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
@@ -5631,11 +6001,21 @@
"integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ=="
},
"binary-extensions": {
- "version": "1.13.1",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
- "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz",
+ "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==",
"dev": true
},
+ "bindings": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
+ "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "file-uri-to-path": "1.0.0"
+ }
+ },
"blob": {
"version": "0.0.5",
"resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz",
@@ -5674,158 +6054,51 @@
"debug": "2.6.9",
"depd": "~1.1.2",
"http-errors": "1.7.2",
- "iconv-lite": "0.4.24",
- "on-finished": "~2.3.0",
- "qs": "6.7.0",
- "raw-body": "2.4.0",
- "type-is": "~1.6.17"
- },
- "dependencies": {
- "bytes": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
- "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
- "dev": true
- },
- "qs": {
- "version": "6.7.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
- "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
- "dev": true
- }
- }
- },
- "bonjour": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz",
- "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=",
- "dev": true,
- "requires": {
- "array-flatten": "^2.1.0",
- "deep-equal": "^1.0.1",
- "dns-equal": "^1.0.0",
- "dns-txt": "^2.0.2",
- "multicast-dns": "^6.0.1",
- "multicast-dns-service-types": "^1.1.0"
- }
- },
- "boolbase": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
- "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
- "dev": true
- },
- "boxen": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz",
- "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==",
- "dev": true,
- "requires": {
- "ansi-align": "^3.0.0",
- "camelcase": "^5.3.1",
- "chalk": "^3.0.0",
- "cli-boxes": "^2.2.0",
- "string-width": "^4.1.0",
- "term-size": "^2.1.0",
- "type-fest": "^0.8.1",
- "widest-line": "^3.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
- "dev": true
- },
- "ansi-styles": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
- "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
- "dev": true,
- "requires": {
- "@types/color-name": "^1.1.1",
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "iconv-lite": "0.4.24",
+ "on-finished": "~2.3.0",
+ "qs": "6.7.0",
+ "raw-body": "2.4.0",
+ "type-is": "~1.6.17"
+ },
+ "dependencies": {
+ "bytes": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
+ "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
"dev": true
},
- "string-width": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
- "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.0"
- }
- },
- "supports-color": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
- "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "type-fest": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
- "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "qs": {
+ "version": "6.7.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
+ "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
"dev": true
}
}
},
+ "bonjour": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz",
+ "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=",
+ "dev": true,
+ "requires": {
+ "array-flatten": "^2.1.0",
+ "deep-equal": "^1.0.1",
+ "dns-equal": "^1.0.0",
+ "dns-txt": "^2.0.2",
+ "multicast-dns": "^6.0.1",
+ "multicast-dns-service-types": "^1.1.0"
+ }
+ },
+ "boolbase": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
+ "dev": true
+ },
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -5947,15 +6220,15 @@
}
},
"browserslist": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz",
- "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==",
+ "version": "4.14.5",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.5.tgz",
+ "integrity": "sha512-Z+vsCZIvCBvqLoYkBFTwEYH3v5MCQbsAjp50ERycpOjnPmolg1Gjy4+KaWWpm8QOJt9GHkhdqAl14NpCX73CWA==",
"dev": true,
"requires": {
- "caniuse-lite": "^1.0.30001043",
- "electron-to-chromium": "^1.3.413",
- "node-releases": "^1.1.53",
- "pkg-up": "^2.0.0"
+ "caniuse-lite": "^1.0.30001135",
+ "electron-to-chromium": "^1.3.571",
+ "escalade": "^3.1.0",
+ "node-releases": "^1.1.61"
}
},
"browserstack": {
@@ -6101,35 +6374,46 @@
"integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
"dev": true
},
+ "bytesish": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/bytesish/-/bytesish-0.4.4.tgz",
+ "integrity": "sha512-i4uu6M4zuMUiyfZN4RU2+i9+peJh//pXhd9x1oSe1LBkZ3LEbCoygu8W0bXTukU1Jme2txKuotpCZRaC3FLxcQ=="
+ },
"cacache": {
- "version": "15.0.0",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.0.tgz",
- "integrity": "sha512-L0JpXHhplbJSiDGzyJJnJCTL7er7NzbBgxzVqLswEb4bO91Zbv17OUMuUeu/q0ZwKn3V+1HM4wb9tO4eVE/K8g==",
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.5.tgz",
+ "integrity": "sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A==",
"dev": true,
"requires": {
- "chownr": "^1.1.2",
+ "@npmcli/move-file": "^1.0.1",
+ "chownr": "^2.0.0",
"fs-minipass": "^2.0.0",
"glob": "^7.1.4",
"infer-owner": "^1.0.4",
- "lru-cache": "^5.1.1",
+ "lru-cache": "^6.0.0",
"minipass": "^3.1.1",
"minipass-collect": "^1.0.2",
"minipass-flush": "^1.0.5",
"minipass-pipeline": "^1.2.2",
"mkdirp": "^1.0.3",
- "move-concurrently": "^1.0.1",
- "p-map": "^3.0.0",
+ "p-map": "^4.0.0",
"promise-inflight": "^1.0.1",
- "rimraf": "^2.7.1",
+ "rimraf": "^3.0.2",
"ssri": "^8.0.0",
- "tar": "^6.0.1",
+ "tar": "^6.0.2",
"unique-filename": "^1.1.1"
},
"dependencies": {
- "minipass": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz",
- "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==",
+ "chownr": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
+ "dev": true
+ },
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"requires": {
"yallist": "^4.0.0"
@@ -6140,6 +6424,24 @@
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
"dev": true
+ },
+ "p-map": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
+ "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
+ "dev": true,
+ "requires": {
+ "aggregate-error": "^3.0.0"
+ }
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
}
}
},
@@ -6160,50 +6462,6 @@
"unset-value": "^1.0.0"
}
},
- "cacheable-request": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
- "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
- "dev": true,
- "requires": {
- "clone-response": "^1.0.2",
- "get-stream": "^5.1.0",
- "http-cache-semantics": "^4.0.0",
- "keyv": "^3.0.0",
- "lowercase-keys": "^2.0.0",
- "normalize-url": "^4.1.0",
- "responselike": "^1.0.2"
- },
- "dependencies": {
- "get-stream": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz",
- "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==",
- "dev": true,
- "requires": {
- "pump": "^3.0.0"
- }
- },
- "http-cache-semantics": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
- "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==",
- "dev": true
- },
- "lowercase-keys": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
- "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
- "dev": true
- },
- "normalize-url": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz",
- "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==",
- "dev": true
- }
- }
- },
"caching-transform": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz",
@@ -6288,9 +6546,9 @@
}
},
"caniuse-lite": {
- "version": "1.0.30001079",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001079.tgz",
- "integrity": "sha512-2KaYheg0iOY+CMmDuAB3DHehrXhhb4OZU4KBVGDr/YKyYAcpudaiUQ9PJ9rxrPlKEoJ3ATasQ5AN48MqpwS43Q==",
+ "version": "1.0.30001151",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001151.tgz",
+ "integrity": "sha512-Zh3sHqskX6mHNrqUerh+fkf0N72cMxrmflzje/JyVImfpknscMnkeJrlFGJcqTmaa0iszdYptGpWMJCRQDkBVw==",
"dev": true
},
"canonical-path": {
@@ -6302,8 +6560,7 @@
"caseless": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
- "dev": true
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
},
"chalk": {
"version": "2.4.2",
@@ -6334,9 +6591,9 @@
"dev": true
},
"chokidar": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz",
- "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==",
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz",
+ "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==",
"dev": true,
"requires": {
"anymatch": "~3.1.1",
@@ -6346,18 +6603,7 @@
"is-binary-path": "~2.1.0",
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
- "readdirp": "~3.4.0"
- },
- "dependencies": {
- "glob-parent": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
- "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
- "dev": true,
- "requires": {
- "is-glob": "^4.0.1"
- }
- }
+ "readdirp": "~3.5.0"
}
},
"chownr": {
@@ -6373,14 +6619,16 @@
"dev": true,
"requires": {
"tslib": "^1.9.0"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ }
}
},
- "ci-info": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
- "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
- "dev": true
- },
"cipher-base": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
@@ -6425,35 +6673,12 @@
}
}
},
- "clean-css": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz",
- "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==",
- "dev": true,
- "requires": {
- "source-map": "~0.6.0"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
- }
- },
"clean-stack": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
"integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
"dev": true
},
- "cli-boxes": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.0.tgz",
- "integrity": "sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==",
- "dev": true
- },
"cli-color": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/cli-color/-/cli-color-2.0.0.tgz",
@@ -6478,9 +6703,9 @@
}
},
"cli-spinners": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.3.0.tgz",
- "integrity": "sha512-Xs2Hf2nzrvJMFKimOR7YR0QwZ8fc0u98kdtwN1eNAZzNQgH3vK2pXzff6GJtKh7S5hoJ87ECiAiZFS2fb5Ii2w==",
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.5.0.tgz",
+ "integrity": "sha512-PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ==",
"dev": true
},
"cli-width": {
@@ -6546,26 +6771,6 @@
"integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
"dev": true
},
- "clone-deep": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
- "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
- "dev": true,
- "requires": {
- "is-plain-object": "^2.0.4",
- "kind-of": "^6.0.2",
- "shallow-clone": "^3.0.0"
- }
- },
- "clone-response": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
- "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
- "dev": true,
- "requires": {
- "mimic-response": "^1.0.0"
- }
- },
"co": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
@@ -6600,25 +6805,54 @@
"js-yaml": "3.13.1",
"teeny-request": "6.0.1",
"urlgrey": "0.4.4"
+ },
+ "dependencies": {
+ "js-yaml": {
+ "version": "3.13.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
+ "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
+ "dev": true,
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ }
+ }
}
},
"codelyzer": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-5.2.2.tgz",
- "integrity": "sha512-jB4FZ1Sx7kZhvZVdf+N2BaKTdrrNZOL0Bj10RRfrhHrb3zEvXjJvvq298JPMJAiyiCS/v4zs1QlGU0ip7xGqeA==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-6.0.1.tgz",
+ "integrity": "sha512-cOyGQgMdhnRYtW2xrJUNrNYDjEgwQ+BrE2y93Bwz3h4DJ6vJRLfupemU5N3pbYsUlBHJf0u1j1UGk+NLW4d97g==",
"dev": true,
"requires": {
- "app-root-path": "^2.2.1",
+ "@angular/compiler": "9.0.0",
+ "@angular/core": "9.0.0",
+ "app-root-path": "^3.0.0",
"aria-query": "^3.0.0",
"axobject-query": "2.0.2",
"css-selector-tokenizer": "^0.7.1",
"cssauron": "^1.4.0",
"damerau-levenshtein": "^1.0.4",
+ "rxjs": "^6.5.3",
"semver-dsl": "^1.0.1",
"source-map": "^0.5.7",
- "sprintf-js": "^1.1.2"
+ "sprintf-js": "^1.1.2",
+ "tslib": "^1.10.0",
+ "zone.js": "~0.10.3"
},
"dependencies": {
+ "@angular/compiler": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.0.tgz",
+ "integrity": "sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ==",
+ "dev": true
+ },
+ "@angular/core": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.0.tgz",
+ "integrity": "sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w==",
+ "dev": true
+ },
"source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
@@ -6630,6 +6864,12 @@
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
"integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==",
"dev": true
+ },
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
}
}
},
@@ -6644,20 +6884,19 @@
}
},
"color": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz",
- "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==",
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz",
+ "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==",
"dev": true,
"requires": {
"color-convert": "^1.9.1",
- "color-string": "^1.5.2"
+ "color-string": "^1.5.4"
}
},
"color-convert": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
"requires": {
"color-name": "1.1.3"
}
@@ -6665,19 +6904,24 @@
"color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "dev": true
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
},
"color-string": {
- "version": "1.5.3",
- "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz",
- "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==",
+ "version": "1.5.4",
+ "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz",
+ "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==",
"dev": true,
"requires": {
"color-name": "^1.0.0",
"simple-swizzle": "^0.2.2"
}
},
+ "colorette": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz",
+ "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==",
+ "dev": true
+ },
"colors": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
@@ -6729,6 +6973,15 @@
"integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=",
"dev": true
},
+ "compose-function": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz",
+ "integrity": "sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8=",
+ "dev": true,
+ "requires": {
+ "arity-n": "^1.0.4"
+ }
+ },
"compressible": {
"version": "2.0.18",
"resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
@@ -6756,8 +7009,7 @@
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
},
"concat-stream": {
"version": "1.6.2",
@@ -6771,37 +7023,6 @@
"typedarray": "^0.0.6"
}
},
- "configstore": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz",
- "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==",
- "dev": true,
- "requires": {
- "dot-prop": "^5.2.0",
- "graceful-fs": "^4.1.2",
- "make-dir": "^3.0.0",
- "unique-string": "^2.0.0",
- "write-file-atomic": "^3.0.0",
- "xdg-basedir": "^4.0.0"
- },
- "dependencies": {
- "make-dir": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.2.tgz",
- "integrity": "sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w==",
- "dev": true,
- "requires": {
- "semver": "^6.0.0"
- }
- },
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
- }
- },
"connect": {
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz",
@@ -7116,6 +7337,7 @@
"version": "6.0.5",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
"integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "dev": true,
"requires": {
"nice-try": "^1.0.4",
"path-key": "^2.0.1",
@@ -7143,12 +7365,6 @@
"randomfill": "^1.0.3"
}
},
- "crypto-random-string": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
- "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==",
- "dev": true
- },
"css": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz",
@@ -7186,50 +7402,52 @@
}
},
"css-loader": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.5.1.tgz",
- "integrity": "sha512-0G4CbcZzQ9D1Q6ndOfjFuMDo8uLYMu5vc9Abs5ztyHcKvmil6GJrMiNjzzi3tQvUF+mVRuDg7bE6Oc0Prolgig==",
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-4.2.2.tgz",
+ "integrity": "sha512-omVGsTkZPVwVRpckeUnLshPp12KsmMSLqYxs12+RzM9jRR5Y+Idn/tBffjXRvOE+qW7if24cuceFJqYR5FmGBg==",
"dev": true,
"requires": {
- "camelcase": "^5.3.1",
+ "camelcase": "^6.0.0",
"cssesc": "^3.0.0",
"icss-utils": "^4.1.1",
- "loader-utils": "^1.2.3",
- "normalize-path": "^3.0.0",
- "postcss": "^7.0.27",
- "postcss-modules-extract-imports": "^2.0.0",
- "postcss-modules-local-by-default": "^3.0.2",
- "postcss-modules-scope": "^2.2.0",
- "postcss-modules-values": "^3.0.0",
- "postcss-value-parser": "^4.0.3",
- "schema-utils": "^2.6.5",
- "semver": "^6.3.0"
- },
- "dependencies": {
- "json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.0"
- }
+ "loader-utils": "^2.0.0",
+ "postcss": "^7.0.32",
+ "postcss-modules-extract-imports": "^2.0.0",
+ "postcss-modules-local-by-default": "^3.0.3",
+ "postcss-modules-scope": "^2.2.0",
+ "postcss-modules-values": "^3.0.0",
+ "postcss-value-parser": "^4.1.0",
+ "schema-utils": "^2.7.0",
+ "semver": "^7.3.2"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.1.0.tgz",
+ "integrity": "sha512-WCMml9ivU60+8rEJgELlFp1gxFcEGxwYleE3bziHEDeqsqAWGHdimB7beBFGjLzVNgPGyDsfgXLQEYMpmIFnVQ==",
+ "dev": true
},
- "loader-utils": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
"dev": true,
"requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^1.0.1"
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
}
},
"semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
+ "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
}
}
@@ -7262,14 +7480,13 @@
"dev": true
},
"css-selector-tokenizer": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.2.tgz",
- "integrity": "sha512-yj856NGuAymN6r8bn8/Jl46pR+OC3eEvAhfGYDUe7YPtTPAYrSSw4oAniZ9Y8T5B92hjhwTBLUen0/vKPxf6pw==",
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz",
+ "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==",
"dev": true,
"requires": {
"cssesc": "^3.0.0",
- "fastparse": "^1.1.2",
- "regexpu-core": "^4.6.0"
+ "fastparse": "^1.1.2"
}
},
"css-tree": {
@@ -7291,9 +7508,9 @@
}
},
"css-what": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.3.0.tgz",
- "integrity": "sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==",
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz",
+ "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==",
"dev": true
},
"cssauron": {
@@ -7450,14 +7667,14 @@
}
},
"d3-array": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.4.0.tgz",
- "integrity": "sha512-KQ41bAF2BMakf/HdKT865ALd4cgND6VcIztVQZUTt0+BH3RWy6ZYnHghVXf6NFjt2ritLr8H1T8LreAAlfiNcw=="
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.8.0.tgz",
+ "integrity": "sha512-6V272gsOeg7+9pTW1jSYOR1QE37g95I3my1hBmY+vOUNHRrk9yt4OTz/gK7PMkVAVDrYYq4mq3grTiZ8iJdNIw=="
},
"d3-brush": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.1.5.tgz",
- "integrity": "sha512-rEaJ5gHlgLxXugWjIkolTA0OyMvw8UWU1imYXy1v642XyyswmI1ybKOv05Ft+ewq+TFmdliD3VuK0pRp1VT/5A==",
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.1.6.tgz",
+ "integrity": "sha512-7RW+w7HfMCPyZLifTz/UnJmI5kdkXtpCbombUSs8xniAyo0vIbrDzDwUJB6eJOgl9u5DQOt2TQlYumxzD1SvYA==",
"requires": {
"d3-dispatch": "1",
"d3-drag": "1",
@@ -7507,9 +7724,9 @@
}
},
"d3-format": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.4.tgz",
- "integrity": "sha512-TWks25e7t8/cqctxCmxpUuzZN11QxIA7YrMbram94zMQ0PXjE4LVIMe/f6a4+xxL8HQ3OsAFULOINQi1pE62Aw=="
+ "version": "1.4.5",
+ "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz",
+ "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ=="
},
"d3-hierarchy": {
"version": "1.1.9",
@@ -7535,15 +7752,15 @@
"integrity": "sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA=="
},
"d3-scale": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-3.2.1.tgz",
- "integrity": "sha512-huz5byJO/6MPpz6Q8d4lg7GgSpTjIZW/l+1MQkzKfu2u8P6hjaXaStOpmyrD6ymKoW87d2QVFCKvSjLwjzx/rA==",
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-3.2.3.tgz",
+ "integrity": "sha512-8E37oWEmEzj57bHcnjPVOBS3n4jqakOeuv1EDdQSiSrYnMCBdMd3nc4HtKk7uia8DUHcY/CGuJ42xxgtEYrX0g==",
"requires": {
- "d3-array": "1.2.0 - 2",
- "d3-format": "1",
- "d3-interpolate": "^1.2.0",
- "d3-time": "1",
- "d3-time-format": "2"
+ "d3-array": "^2.3.0",
+ "d3-format": "1 - 2",
+ "d3-interpolate": "1.2.0 - 2",
+ "d3-time": "1 - 2",
+ "d3-time-format": "2 - 3"
}
},
"d3-selection": {
@@ -7560,16 +7777,23 @@
}
},
"d3-time": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz",
- "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA=="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-2.0.0.tgz",
+ "integrity": "sha512-2mvhstTFcMvwStWd9Tj3e6CEqtOivtD8AUiHT8ido/xmzrI9ijrUUihZ6nHuf/vsScRBonagOdj0Vv+SEL5G3Q=="
},
"d3-time-format": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.2.3.tgz",
- "integrity": "sha512-RAHNnD8+XvC4Zc4d2A56Uw0yJoM7bsvOlJR33bclxq399Rak/b9bhvu/InjxdWhPtkgU53JJcleJTGkNRnN6IA==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.3.0.tgz",
+ "integrity": "sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==",
"requires": {
"d3-time": "1"
+ },
+ "dependencies": {
+ "d3-time": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz",
+ "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA=="
+ }
}
},
"d3-timer": {
@@ -7614,6 +7838,17 @@
"assert-plus": "^1.0.0"
}
},
+ "data-urls": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
+ "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
+ "dev": true,
+ "requires": {
+ "abab": "^2.0.3",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^8.0.0"
+ }
+ },
"date-format": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz",
@@ -7638,7 +7873,8 @@
"decamelize": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "dev": true
},
"decode-uri-component": {
"version": "0.2.0",
@@ -7646,15 +7882,6 @@
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
"dev": true
},
- "decompress-response": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
- "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
- "dev": true,
- "requires": {
- "mimic-response": "^1.0.0"
- }
- },
"deep-equal": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz",
@@ -7669,12 +7896,6 @@
"regexp.prototype.flags": "^1.2.0"
}
},
- "deep-extend": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
- "dev": true
- },
"deep-is": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
@@ -7730,12 +7951,6 @@
}
}
},
- "defer-to-connect": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
- "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==",
- "dev": true
- },
"define-properties": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
@@ -7998,9 +8213,9 @@
},
"dependencies": {
"domelementtype": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz",
- "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.2.tgz",
+ "integrity": "sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA==",
"dev": true
}
}
@@ -8018,9 +8233,9 @@
"dev": true
},
"domino": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/domino/-/domino-2.1.5.tgz",
- "integrity": "sha512-vMDo7f6ogUV9PkzmxXLiXzJkJZqU09Le4C40mj+HmAGS/2FPmdetoNOQZXpu2kekn0GJKvtwKMAVoruTj60Xww=="
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/domino/-/domino-2.1.6.tgz",
+ "integrity": "sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ=="
},
"domutils": {
"version": "1.7.0",
@@ -8033,18 +8248,12 @@
}
},
"dot-prop": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz",
- "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz",
+ "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==",
+ "dev": true,
"requires": {
"is-obj": "^2.0.0"
- },
- "dependencies": {
- "is-obj": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
- "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w=="
- }
}
},
"duplexer": {
@@ -8053,12 +8262,6 @@
"integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
"dev": true
},
- "duplexer3": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
- "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
- "dev": true
- },
"duplexify": {
"version": "3.7.1",
"resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
@@ -8088,9 +8291,9 @@
"dev": true
},
"electron-to-chromium": {
- "version": "1.3.465",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.465.tgz",
- "integrity": "sha512-K/lUeT3NLAsJ5SHRDhK3/zd0tw7OUllYD8w+fTOXm6ljCPsp2qq+vMzxpLo8u1M27ZjZAjRbsA6rirvne2nAMQ==",
+ "version": "1.3.584",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.584.tgz",
+ "integrity": "sha512-NB3DzrTzJFhWkUp+nl2KtUtoFzrfGXTir2S+BU4tXGyXH9vlluPuFpE3pTKeH7+PY460tHLjKzh6K2+TWwW+Ww==",
"dev": true
},
"elliptic": {
@@ -8134,18 +8337,30 @@
"dev": true
},
"encoding": {
- "version": "0.1.12",
- "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
- "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
+ "version": "0.1.13",
+ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
+ "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
"dev": true,
"requires": {
- "iconv-lite": "~0.4.13"
+ "iconv-lite": "^0.6.2"
+ },
+ "dependencies": {
+ "iconv-lite": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz",
+ "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ }
+ }
}
},
"end-of-stream": {
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
"integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "dev": true,
"requires": {
"once": "^1.4.0"
}
@@ -8253,9 +8468,9 @@
}
},
"enhanced-resolve": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz",
- "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz",
+ "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==",
"dev": true,
"requires": {
"graceful-fs": "^4.1.2",
@@ -8270,9 +8485,9 @@
"dev": true
},
"entities": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz",
- "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz",
+ "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==",
"dev": true
},
"err-code": {
@@ -8300,11 +8515,11 @@
}
},
"error-stack-parser": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.4.tgz",
- "integrity": "sha512-fZ0KkoxSjLFmhW5lHbUT3tLwy3nX1qEzMYo8koY1vrsAco53CMT1djnBSeC/wUjTEZRhZl9iRw7PaMaxfJ4wzQ==",
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz",
+ "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==",
"requires": {
- "stackframe": "^1.1.0"
+ "stackframe": "^1.1.1"
}
},
"es-abstract": {
@@ -8440,10 +8655,10 @@
"es6-symbol": "^3.1.1"
}
},
- "escape-goat": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz",
- "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==",
+ "escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
"dev": true
},
"escape-html": {
@@ -8455,8 +8670,7 @@
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
},
"escodegen": {
"version": "1.8.1",
@@ -8713,9 +8927,9 @@
"dev": true
},
"estree-walker": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
- "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.1.tgz",
+ "integrity": "sha512-tF0hv+Yi2Ot1cwj9eYHtxC0jB9bmjacjQs6ZBTj82H8JwUywFuc+7E83NWfNMwHXZc11mjfFcVXPe9gEP4B8dg==",
"dev": true
},
"esutils": {
@@ -8790,6 +9004,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
"integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
+ "dev": true,
"requires": {
"cross-spawn": "^6.0.0",
"get-stream": "^4.0.0",
@@ -9127,6 +9342,13 @@
"schema-utils": "^2.6.5"
}
},
+ "file-uri-to-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
+ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
+ "dev": true,
+ "optional": true
+ },
"fileset": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz",
@@ -9254,11 +9476,12 @@
"dev": true
},
"find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "dev": true,
"requires": {
- "locate-path": "^2.0.0"
+ "locate-path": "^3.0.0"
}
},
"flat-cache": {
@@ -9461,9 +9684,9 @@
}
},
"fs-extra": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz",
- "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==",
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz",
+ "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
"dev": true,
"requires": {
"at-least-node": "^1.0.0",
@@ -9473,13 +9696,21 @@
},
"dependencies": {
"jsonfile": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz",
- "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
"dev": true,
"requires": {
"graceful-fs": "^4.1.6",
- "universalify": "^1.0.0"
+ "universalify": "^2.0.0"
+ },
+ "dependencies": {
+ "universalify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+ "dev": true
+ }
}
},
"universalify": {
@@ -9525,8 +9756,7 @@
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
},
"fsevents": {
"version": "2.1.3",
@@ -9587,6 +9817,7 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
"integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "dev": true,
"requires": {
"pump": "^3.0.0"
}
@@ -9610,7 +9841,6 @@
"version": "7.1.6",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
"integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
- "dev": true,
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@@ -9621,33 +9851,12 @@
}
},
"glob-parent": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
- "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
- "dev": true,
- "requires": {
- "is-glob": "^3.1.0",
- "path-dirname": "^1.0.0"
- },
- "dependencies": {
- "is-glob": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
- "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
- "dev": true,
- "requires": {
- "is-extglob": "^2.1.0"
- }
- }
- }
- },
- "global-dirs": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.0.1.tgz",
- "integrity": "sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
"dev": true,
"requires": {
- "ini": "^1.3.5"
+ "is-glob": "^4.0.1"
}
},
"global-modules": {
@@ -9677,8 +9886,7 @@
"globals": {
"version": "11.12.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "dev": true
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
},
"globby": {
"version": "11.0.1",
@@ -9757,25 +9965,6 @@
}
}
},
- "got": {
- "version": "9.6.0",
- "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
- "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==",
- "dev": true,
- "requires": {
- "@sindresorhus/is": "^0.14.0",
- "@szmarczak/http-timer": "^1.1.2",
- "cacheable-request": "^6.0.0",
- "decompress-response": "^3.3.0",
- "duplexer3": "^0.1.4",
- "get-stream": "^4.1.0",
- "lowercase-keys": "^1.0.1",
- "mimic-response": "^1.0.1",
- "p-cancelable": "^1.0.0",
- "to-readable-stream": "^1.0.0",
- "url-parse-lax": "^3.0.0"
- }
- },
"graceful-fs": {
"version": "4.2.4",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
@@ -9877,8 +10066,7 @@
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
},
"has-glob": {
"version": "1.0.0",
@@ -9958,12 +10146,6 @@
}
}
},
- "has-yarn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz",
- "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==",
- "dev": true
- },
"hash-base": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
@@ -10102,6 +10284,12 @@
"integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
"dev": true
},
+ "http-cache-semantics": {
+ "version": "3.8.1",
+ "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz",
+ "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==",
+ "dev": true
+ },
"http-deceiver": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
@@ -10422,12 +10610,6 @@
"resolve-from": "^3.0.0"
}
},
- "import-lazy": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz",
- "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=",
- "dev": true
- },
"import-local": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
@@ -10453,7 +10635,8 @@
"indexes-of": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
- "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc="
+ "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
+ "dev": true
},
"indexof": {
"version": "0.0.1",
@@ -10471,7 +10654,6 @@
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "dev": true,
"requires": {
"once": "^1.3.0",
"wrappy": "1"
@@ -10480,8 +10662,7 @@
"inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"ini": {
"version": "1.3.5",
@@ -10490,27 +10671,38 @@
"dev": true
},
"injection-js": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/injection-js/-/injection-js-2.3.0.tgz",
- "integrity": "sha512-rhS6E5jv603kbaO72ylOt0hGF1LT03oqQ4GU5KOO0qSaRbIWmdUCHjXq+VT79jL6/NmXtw9ccfK6dh/CzjoYjA==",
- "dev": true
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/injection-js/-/injection-js-2.3.1.tgz",
+ "integrity": "sha512-t+kpDAOL/DUZ68JncAhsb8C91qhJ6dXRMcOuvJfNA7sp63etdiQe6KQoxE/nZ5b2eTi0TQX6OothOCm89cLAJQ==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.9.3"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ }
+ }
},
"inquirer": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz",
- "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==",
+ "version": "7.3.3",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz",
+ "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==",
"dev": true,
"requires": {
"ansi-escapes": "^4.2.1",
- "chalk": "^3.0.0",
+ "chalk": "^4.1.0",
"cli-cursor": "^3.1.0",
- "cli-width": "^2.0.0",
+ "cli-width": "^3.0.0",
"external-editor": "^3.0.3",
"figures": "^3.0.0",
- "lodash": "^4.17.15",
+ "lodash": "^4.17.19",
"mute-stream": "0.0.8",
"run-async": "^2.4.0",
- "rxjs": "^6.5.3",
+ "rxjs": "^6.6.0",
"string-width": "^4.1.0",
"strip-ansi": "^6.0.0",
"through": "^2.3.6"
@@ -10523,25 +10715,30 @@
"dev": true
},
"ansi-styles": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
- "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
- "@types/color-name": "^1.1.1",
"color-convert": "^2.0.1"
}
},
"chalk": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
"dev": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
+ "cli-width": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
+ "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
+ "dev": true
+ },
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -10569,6 +10766,15 @@
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
+ "rxjs": {
+ "version": "6.6.3",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz",
+ "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
"string-width": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
@@ -10590,13 +10796,19 @@
}
},
"supports-color": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
- "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"requires": {
"has-flag": "^4.0.0"
}
+ },
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
}
}
},
@@ -10687,14 +10899,6 @@
"dev": true,
"requires": {
"binary-extensions": "^2.0.0"
- },
- "dependencies": {
- "binary-extensions": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
- "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
- "dev": true
- }
}
},
"is-buffer": {
@@ -10709,15 +10913,6 @@
"integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
"dev": true
},
- "is-ci": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
- "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
- "dev": true,
- "requires": {
- "ci-info": "^2.0.0"
- }
- },
"is-color-stop": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz",
@@ -10732,6 +10927,15 @@
"rgba-regex": "^1.0.0"
}
},
+ "is-core-module": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.0.0.tgz",
+ "integrity": "sha512-jq1AH6C8MuteOoBPwkxHafmByhL9j5q4OaPGdbuD+ZtQJVzH+i6E3BJDQcBA09k57i2Hh2yQbEG8yObZ0jdlWw==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
"is-data-descriptor": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
@@ -10784,9 +10988,9 @@
"dev": true
},
"is-docker": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz",
- "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz",
+ "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==",
"dev": true
},
"is-extendable": {
@@ -10819,24 +11023,6 @@
"is-extglob": "^2.1.1"
}
},
- "is-installed-globally": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz",
- "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==",
- "dev": true,
- "requires": {
- "global-dirs": "^2.0.1",
- "is-path-inside": "^3.0.1"
- },
- "dependencies": {
- "is-path-inside": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz",
- "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==",
- "dev": true
- }
- }
- },
"is-interactive": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
@@ -10868,10 +11054,10 @@
"xtend": "^4.0.0"
}
},
- "is-npm": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz",
- "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==",
+ "is-negative-zero": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz",
+ "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=",
"dev": true
},
"is-number": {
@@ -10880,6 +11066,12 @@
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true
},
+ "is-obj": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
+ "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
+ "dev": true
+ },
"is-path-cwd": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
@@ -10931,20 +11123,12 @@
"dev": true
},
"is-reference": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.0.tgz",
- "integrity": "sha512-ZVxq+5TkOx6GQdnoMm2aRdCKADdcrOWXLGzGT+vIA8DMpqEJaRk5AL1bS80zJ2bjHunVmjdzfCt0e4BymIEqKQ==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz",
+ "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==",
"dev": true,
"requires": {
- "@types/estree": "0.0.44"
- },
- "dependencies": {
- "@types/estree": {
- "version": "0.0.44",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.44.tgz",
- "integrity": "sha512-iaIVzr+w2ZJ5HkidlZ3EJM8VTZb2MJLCjw3V+505yVts0gRC4UMvjw0d1HPtGqI/HQC/KdsYtayfzl+AXY2R8g==",
- "dev": true
- }
+ "@types/estree": "*"
}
},
"is-regex": {
@@ -10971,7 +11155,8 @@
"is-stream": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "dev": true
},
"is-svg": {
"version": "3.0.0",
@@ -11018,12 +11203,6 @@
"is-docker": "^2.0.0"
}
},
- "is-yarn-global": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz",
- "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==",
- "dev": true
- },
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
@@ -11039,7 +11218,8 @@
"isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "dev": true
},
"isobject": {
"version": "3.0.1",
@@ -11522,11 +11702,12 @@
"dev": true
},
"jest-worker": {
- "version": "25.1.0",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.1.0.tgz",
- "integrity": "sha512-ZHhHtlxOWSxCoNOKHGbiLzXnl42ga9CxDr27H36Qn+15pQZd3R/F24jrmjDelw9j/iHUIWMWs08/u2QN50HHOg==",
+ "version": "26.3.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.3.0.tgz",
+ "integrity": "sha512-Vmpn2F6IASefL+DVBhPzI2J9/GJUsqzomdeN+P+dK8/jKxbh8R3BtFnx3FIta7wYlPU62cpJMJQo4kuOowcMnw==",
"dev": true,
"requires": {
+ "@types/node": "*",
"merge-stream": "^2.0.0",
"supports-color": "^7.0.0"
},
@@ -11551,13 +11732,12 @@
"js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
},
"js-yaml": {
- "version": "3.13.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
- "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
+ "version": "3.14.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
+ "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
"requires": {
"argparse": "^1.0.7",
"esprima": "^4.0.0"
@@ -11572,14 +11752,7 @@
"jsesc": {
"version": "2.5.2",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
- "dev": true
- },
- "json-buffer": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
- "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=",
- "dev": true
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="
},
"json-parse-better-errors": {
"version": "1.0.2",
@@ -11587,6 +11760,12 @@
"integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
"dev": true
},
+ "json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+ "dev": true
+ },
"json-schema": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
@@ -12204,21 +12383,12 @@
}
},
"karma-spec-reporter": {
- "version": "0.0.32",
- "resolved": "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.32.tgz",
- "integrity": "sha1-LpxyB+pyZ3EmAln4K+y1QyCeRAo=",
- "dev": true,
- "requires": {
- "colors": "^1.1.2"
- }
- },
- "keyv": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
- "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
+ "version": "0.0.32",
+ "resolved": "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.32.tgz",
+ "integrity": "sha1-LpxyB+pyZ3EmAln4K+y1QyCeRAo=",
"dev": true,
"requires": {
- "json-buffer": "3.0.0"
+ "colors": "^1.1.2"
}
},
"killable": {
@@ -12242,33 +12412,37 @@
"graceful-fs": "^4.1.11"
}
},
+ "kleur": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
+ "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w=="
+ },
+ "klona": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz",
+ "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==",
+ "dev": true
+ },
"known-css-properties": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.3.0.tgz",
"integrity": "sha512-QMQcnKAiQccfQTqtBh/qwquGZ2XK/DXND1jrcN9M8gMMy99Gwla7GQjndVUsEqIaRyP6bsFRuhwRj5poafBGJQ==",
"dev": true
},
- "latest-version": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz",
- "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==",
- "dev": true,
- "requires": {
- "package-json": "^6.3.0"
- }
- },
"less": {
- "version": "3.12.2",
- "resolved": "https://registry.npmjs.org/less/-/less-3.12.2.tgz",
- "integrity": "sha512-+1V2PCMFkL+OIj2/HrtrvZw0BC0sYLMICJfbQjuj/K8CEnlrFX6R5cKKgzzttsZDHyxQNL1jqMREjKN3ja/E3Q==",
+ "version": "3.11.3",
+ "resolved": "https://registry.npmjs.org/less/-/less-3.11.3.tgz",
+ "integrity": "sha512-VkZiTDdtNEzXA3LgjQiC3D7/ejleBPFVvq+aRI9mIj+Zhmif5TvFPM244bT4rzkvOCvJ9q4zAztok1M7Nygagw==",
"dev": true,
"requires": {
+ "clone": "^2.1.2",
"errno": "^0.1.1",
"graceful-fs": "^4.1.2",
"image-size": "~0.5.0",
"make-dir": "^2.1.0",
"mime": "^1.4.1",
- "native-request": "^1.0.5",
+ "promise": "^7.1.1",
+ "request": "^2.83.0",
"source-map": "~0.6.0",
"tslib": "^1.10.0"
},
@@ -12279,46 +12453,25 @@
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true,
"optional": true
+ },
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
}
}
},
"less-loader": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-5.0.0.tgz",
- "integrity": "sha512-bquCU89mO/yWLaUq0Clk7qCsKhsF/TZpJUzETRvJa9KSVEL9SO3ovCvdEHISBhrC81OwC8QSVX7E0bzElZj9cg==",
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-6.2.0.tgz",
+ "integrity": "sha512-Cl5h95/Pz/PWub/tCBgT1oNMFeH1WTD33piG80jn5jr12T4XbxZcjThwNXDQ7AG649WEynuIzO4b0+2Tn9Qolg==",
"dev": true,
"requires": {
- "clone": "^2.1.1",
- "loader-utils": "^1.1.0",
- "pify": "^4.0.1"
- },
- "dependencies": {
- "json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "loader-utils": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
- "dev": true,
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^1.0.1"
- }
- },
- "pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
- "dev": true
- }
+ "clone": "^2.1.2",
+ "less": "^3.11.3",
+ "loader-utils": "^2.0.0",
+ "schema-utils": "^2.7.0"
}
},
"leven": {
@@ -12347,9 +12500,9 @@
}
},
"license-webpack-plugin": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.1.4.tgz",
- "integrity": "sha512-1Xq72fmPbTg5KofXs+yI5L4QqPFjQ6mZxoeI6D7gfiEDOtaEIk6PGrdLaej90bpDqKNHNxlQ/MW4tMAL6xMPJQ==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.3.0.tgz",
+ "integrity": "sha512-JK/DXrtN6UeYQSgkg5q1+pgJ8aiKPL9tnz9Wzw+Ikkf+8mJxG56x6t8O+OH/tAeF/5NREnelTEMyFtbJNkjH4w==",
"dev": true,
"requires": {
"@types/webpack-sources": "^0.1.5",
@@ -12389,11 +12542,12 @@
}
},
"locate-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
- "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "dev": true,
"requires": {
- "p-locate": "^2.0.0",
+ "p-locate": "^3.0.0",
"path-exists": "^3.0.0"
}
},
@@ -12437,6 +12591,12 @@
"integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
"dev": true
},
+ "lodash.sortby": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
+ "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
+ "dev": true
+ },
"lodash.uniq": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
@@ -12444,12 +12604,63 @@
"dev": true
},
"log-symbols": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
- "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz",
+ "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==",
"dev": true,
"requires": {
- "chalk": "^2.4.2"
+ "chalk": "^4.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
}
},
"log4js": {
@@ -12502,12 +12713,6 @@
"js-tokens": "^3.0.0 || ^4.0.0"
}
},
- "lowercase-keys": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
- "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
- "dev": true
- },
"lru-cache": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
@@ -12609,12 +12814,6 @@
"y18n": "^4.0.0"
}
},
- "http-cache-semantics": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz",
- "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==",
- "dev": true
- },
"ssri": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
@@ -12626,16 +12825,11 @@
}
}
},
- "mamacro": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz",
- "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==",
- "dev": true
- },
"map-age-cleaner": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
"integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
+ "dev": true,
"requires": {
"p-defer": "^1.0.0"
}
@@ -12667,9 +12861,9 @@
"integrity": "sha1-55ZqFe6louprSJXSW364It199Fs="
},
"marked": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/marked/-/marked-0.8.2.tgz",
- "integrity": "sha512-EGwzEeCcLniFX51DhTpmTom+dSA/MG/OBUDjnWtHbEnjAH180VzUeAw+oE4+Zv+CoYBWyRlYOTR0N8SO9R1PVw=="
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-1.2.2.tgz",
+ "integrity": "sha512-5jjKHVl/FPo0Z6ocP3zYhKiJLzkwJAw4CZoLjv57FkvbUuwOX4LIBBGGcXjAY6ATcd1q9B8UTj5T9Umauj0QYQ=="
},
"matched": {
"version": "1.0.2",
@@ -12857,18 +13051,13 @@
"mimic-fn": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
- },
- "mimic-response": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
- "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
"dev": true
},
"mini-css-extract-plugin": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz",
- "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==",
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.10.0.tgz",
+ "integrity": "sha512-QgKgJBjaJhxVPwrLNqqwNS0AGkuQQ31Hp4xGXEK/P7wehEg6qmNtReHKai3zRXqY60wGVWLYcOMJK2b98aGc3A==",
"dev": true,
"requires": {
"loader-utils": "^1.1.0",
@@ -12938,7 +13127,6 @@
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
"requires": {
"brace-expansion": "^1.1.7"
}
@@ -12946,24 +13134,16 @@
"minimist": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "dev": true
},
"minipass": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
- "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz",
+ "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==",
"dev": true,
"requires": {
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.0"
- },
- "dependencies": {
- "yallist": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
- "dev": true
- }
+ "yallist": "^4.0.0"
}
},
"minipass-collect": {
@@ -13167,6 +13347,13 @@
"thenify-all": "^1.0.0"
}
},
+ "nan": {
+ "version": "2.14.2",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz",
+ "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==",
+ "dev": true,
+ "optional": true
+ },
"nanomatch": {
"version": "1.2.13",
"resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
@@ -13186,13 +13373,6 @@
"to-regex": "^3.0.1"
}
},
- "native-request": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/native-request/-/native-request-1.0.7.tgz",
- "integrity": "sha512-9nRjinI9bmz+S7dgNtf4A70+/vPhnd+2krGpy4SUlADuOuSa24IDkNaZ+R/QT1wQ6S8jBdi6wE7fLekFZNfUpQ==",
- "dev": true,
- "optional": true
- },
"negotiator": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
@@ -13212,222 +13392,71 @@
"dev": true
},
"ng-packagr": {
- "version": "9.1.5",
- "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-9.1.5.tgz",
- "integrity": "sha512-biuNfM15uLkCW+Vvj8bnuwjX37oX7j5icGm+l71FhM6ydlEl+Cl7PdFXpy9rrIlKFYlYRiPiiiWazGwVGn1icQ==",
+ "version": "10.1.2",
+ "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-10.1.2.tgz",
+ "integrity": "sha512-pm61gu6jPkohL8tFWk+2DwUtb3rs5GpND1ZjKUYv5WUJPUQmBfG5WvEO/CDVQpSDWhNWWLTt17NIQ+RS3hNUHg==",
"dev": true,
"requires": {
- "@rollup/plugin-commonjs": "^11.0.2",
+ "@rollup/plugin-commonjs": "^15.0.0",
"@rollup/plugin-json": "^4.0.0",
- "@rollup/plugin-node-resolve": "^7.1.0",
- "ajv": "^6.10.2",
- "autoprefixer": "^9.7.6",
- "browserslist": "^4.12.0",
- "chalk": "^4.0.0",
+ "@rollup/plugin-node-resolve": "^9.0.0",
+ "ajv": "^6.12.3",
+ "ansi-colors": "^4.1.1",
+ "autoprefixer": "^9.6.5",
+ "browserslist": "^4.7.0",
"chokidar": "^3.2.1",
- "clean-css": "^4.1.11",
- "commander": "^4.0.0",
- "fs-extra": "^9.0.0",
- "glob": "^7.1.2",
- "injection-js": "^2.2.1",
- "less": "^3.10.3",
- "node-sass-tilde-importer": "^1.0.0",
- "postcss": "^7.0.18",
- "postcss-url": "^8.0.0",
- "read-pkg-up": "^5.0.0",
- "rimraf": "^3.0.0",
- "rollup": "2.7.5",
- "rollup-plugin-sourcemaps": "^0.6.0",
- "rxjs": "^6.5.0",
- "sass": "^1.23.0",
- "stylus": "^0.54.7",
- "terser": "^4.3.8",
- "update-notifier": "^4.0.0"
- },
- "dependencies": {
- "autoprefixer": {
- "version": "9.8.0",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.0.tgz",
- "integrity": "sha512-D96ZiIHXbDmU02dBaemyAg53ez+6F5yZmapmgKcjm35yEe1uVDYI8hGW3VYoGRaG290ZFf91YxHrR518vC0u/A==",
- "dev": true,
- "requires": {
- "browserslist": "^4.12.0",
- "caniuse-lite": "^1.0.30001061",
- "chalk": "^2.4.2",
- "normalize-range": "^0.1.2",
- "num2fraction": "^1.2.2",
- "postcss": "^7.0.30",
- "postcss-value-parser": "^4.1.0"
- },
- "dependencies": {
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "postcss": {
- "version": "7.0.32",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz",
- "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==",
- "dev": true,
- "requires": {
- "chalk": "^2.4.2",
- "source-map": "^0.6.1",
- "supports-color": "^6.1.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- }
- }
- },
- "chalk": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
- "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
- "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
- "dev": true,
- "requires": {
- "@types/color-name": "^1.1.1",
- "color-convert": "^2.0.1"
- }
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "supports-color": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
- "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "commander": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
- "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
- "dev": true
- },
- "find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
- "dev": true,
- "requires": {
- "locate-path": "^3.0.0"
- }
- },
- "locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
- "dev": true,
- "requires": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
- }
- },
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "commander": "^6.0.0",
+ "cssnano-preset-default": "^4.0.7",
+ "fs-extra": "^9.0.0",
+ "glob": "^7.1.2",
+ "injection-js": "^2.2.1",
+ "less": "^3.10.3",
+ "node-sass-tilde-importer": "^1.0.0",
+ "postcss": "^7.0.29",
+ "postcss-url": "^8.0.0",
+ "read-pkg-up": "^5.0.0",
+ "rimraf": "^3.0.0",
+ "rollup": "^2.8.0",
+ "rollup-plugin-sourcemaps": "^0.6.0",
+ "rxjs": "^6.5.0",
+ "sass": "^1.23.0",
+ "stylus": "^0.54.7",
+ "terser": "^5.0.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"dev": true,
"requires": {
- "p-limit": "^2.0.0"
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
}
},
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "ansi-colors": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+ "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
"dev": true
},
- "parse-json": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
- "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "error-ex": "^1.3.1",
- "json-parse-better-errors": "^1.0.1",
- "lines-and-columns": "^1.1.6"
- }
- },
- "read-pkg": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
- "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
- "dev": true,
- "requires": {
- "@types/normalize-package-data": "^2.4.0",
- "normalize-package-data": "^2.5.0",
- "parse-json": "^5.0.0",
- "type-fest": "^0.6.0"
- }
+ "commander": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.0.tgz",
+ "integrity": "sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q==",
+ "dev": true
},
- "read-pkg-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-5.0.0.tgz",
- "integrity": "sha512-XBQjqOBtTzyol2CpsQOw8LHV0XbDZVG7xMMjmXAJomlVY03WOBRmYgDJETlvcg0H63AJvPRwT7GFi5rvOzUOKg==",
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
"dev": true,
"requires": {
- "find-up": "^3.0.0",
- "read-pkg": "^5.0.0"
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
}
},
"rimraf": {
@@ -13440,63 +13469,54 @@
}
},
"rollup": {
- "version": "2.7.5",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.7.5.tgz",
- "integrity": "sha512-xQSM8uzhgtF6tTnTVEvOQThrcG3LPUP3T/4l4EukzDp0kbTY1QRDuXjiwtYzs9odKj9Bj/PccRG6viFfS7DmCQ==",
+ "version": "2.32.1",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.32.1.tgz",
+ "integrity": "sha512-Op2vWTpvK7t6/Qnm1TTh7VjEZZkN8RWgf0DHbkKzQBwNf748YhXbozHVefqpPp/Fuyk/PQPAnYsBxAEtlMvpUw==",
"dev": true,
"requires": {
"fsevents": "~2.1.2"
}
},
- "rollup-plugin-sourcemaps": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.2.tgz",
- "integrity": "sha512-9AwTKg3yRykwzemfLt71ySe0LvrAci+bpsOL1LaTYFk5BX4HF6X7DQfpHa74ANfSja3hyjiQkXCR8goSOnW//Q==",
- "dev": true,
- "requires": {
- "@rollup/pluginutils": "^3.0.9",
- "source-map-resolve": "^0.6.0"
- }
- },
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
},
- "source-map-resolve": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz",
- "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==",
- "dev": true,
- "requires": {
- "atob": "^2.1.2",
- "decode-uri-component": "^0.2.0"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "terser": {
+ "version": "5.3.8",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.3.8.tgz",
+ "integrity": "sha512-zVotuHoIfnYjtlurOouTazciEfL7V38QMAOhGqpXDEg6yT13cF4+fEP9b0rrCEQTn+tT46uxgFsTZzhygk+CzQ==",
"dev": true,
"requires": {
- "has-flag": "^3.0.0"
+ "commander": "^2.20.0",
+ "source-map": "~0.7.2",
+ "source-map-support": "~0.5.19"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+ "dev": true
+ }
}
- },
- "type-fest": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
- "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
- "dev": true
}
}
},
"ngrx-store-localstorage": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/ngrx-store-localstorage/-/ngrx-store-localstorage-9.0.0.tgz",
- "integrity": "sha512-F69yiNruZe9jgXcPykfbyKFuM/1JzL+wsBUM+TTfMDXIoaFO7xwuZF9yLG8zbvdglibtJ0OG2M8fy3oadWuV4A==",
+ "version": "10.1.1",
+ "resolved": "https://registry.npmjs.org/ngrx-store-localstorage/-/ngrx-store-localstorage-10.1.1.tgz",
+ "integrity": "sha512-OacpqJMraLrgqr/T3DfyT4T4lqAISZdCPWmYQyHtXWsNgKGid6xL4SgPktJ3vcMbIuuMckOpEFIgIpgBvf8E3g==",
"requires": {
- "deepmerge": "^3.2.0"
+ "deepmerge": "^3.2.0",
+ "tslib": "^2.0.0"
}
},
"ngx-moment": {
@@ -13505,6 +13525,13 @@
"integrity": "sha512-QC/5XNC0BW6WkJkwZT4r2A29j/8sJAmhuQJrEnEdpW35GvkemccuxEUAwo/PwkzPB/CHaquR00E6P2HVEQ1iEg==",
"requires": {
"tslib": "^1.9.0"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+ }
}
},
"ngx-monaco-editor": {
@@ -13515,7 +13542,8 @@
"nice-try": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
- "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
+ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
+ "dev": true
},
"node-fetch": {
"version": "2.6.1",
@@ -13589,9 +13617,9 @@
}
},
"node-releases": {
- "version": "1.1.58",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.58.tgz",
- "integrity": "sha512-NxBudgVKiRh/2aPWMgPR7bPTX0VPmGx5QBwCtdHitnqFE5/O8DeBXuIMH1nwNnw/aMo6AjOrpsHzfY3UbUJ7yg==",
+ "version": "1.1.64",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.64.tgz",
+ "integrity": "sha512-Iec8O9166/x2HRMJyLLLWkd0sFFLrFNy+Xf+JQfSQsdBJzPcHpNl3JQ9gD4j+aJxmCa25jNsIbM4bmACtSbkSg==",
"dev": true
},
"node-sass-tilde-importer": {
@@ -13691,12 +13719,21 @@
},
"dependencies": {
"hosted-git-info": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.4.tgz",
- "integrity": "sha512-4oT62d2jwSDBbLLFLZE+1vPuQ1h8p9wjrJ8Mqx5TjsyWmBMV5B13eJqn8pvluqubLf3cJPTfiYCIwNwDNmzScQ==",
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.7.tgz",
+ "integrity": "sha512-fWqc0IcuXs+BmE9orLDyVykAG9GJtGLGuZAAqgcckPgv5xad4AcXGIv8galtQvlwutxSlaMcdw7BUtq2EIvqCQ==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"requires": {
- "lru-cache": "^5.1.1"
+ "yallist": "^4.0.0"
}
},
"semver": {
@@ -13719,9 +13756,9 @@
}
},
"npm-pick-manifest": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.0.0.tgz",
- "integrity": "sha512-PdJpXMvjqt4nftNEDpCgjBUF8yI3Q3MyuAmVB9nemnnCg32F4BPL/JFBfdj8DubgHCYUFQhtLWmBPvdsFtjWMg==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.0.tgz",
+ "integrity": "sha512-ygs4k6f54ZxJXrzT0x34NybRlLeZ4+6nECAIbr2i0foTnijtS1TJiyzpqtuUAJOps/hO0tNDr8fRV5g+BtRlTw==",
"dev": true,
"requires": {
"npm-install-checks": "^4.0.0",
@@ -13847,6 +13884,7 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
"integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "dev": true,
"requires": {
"path-key": "^2.0.0"
}
@@ -14248,30 +14286,31 @@
"dev": true
},
"object-is": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.2.tgz",
- "integrity": "sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.3.tgz",
+ "integrity": "sha512-teyqLvFWzLkq5B9ki8FVWA902UER2qkxmdA4nLf+wjOLAWgxzCWZNCxpDq9MvE8MmhWNr+I8w3BN49Vx36Y6Xg==",
"dev": true,
"requires": {
"define-properties": "^1.1.3",
- "es-abstract": "^1.17.5"
+ "es-abstract": "^1.18.0-next.1"
},
"dependencies": {
"es-abstract": {
- "version": "1.17.6",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz",
- "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==",
+ "version": "1.18.0-next.1",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz",
+ "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==",
"dev": true,
"requires": {
"es-to-primitive": "^1.2.1",
"function-bind": "^1.1.1",
"has": "^1.0.3",
"has-symbols": "^1.0.1",
- "is-callable": "^1.2.0",
- "is-regex": "^1.1.0",
- "object-inspect": "^1.7.0",
+ "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.0",
+ "object.assign": "^4.1.1",
"string.prototype.trimend": "^1.0.1",
"string.prototype.trimstart": "^1.0.1"
}
@@ -14294,9 +14333,9 @@
"dev": true
},
"is-callable": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz",
- "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz",
+ "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==",
"dev": true
},
"is-regex": {
@@ -14332,15 +14371,75 @@
}
},
"object.assign": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
- "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz",
+ "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==",
"dev": true,
"requires": {
- "define-properties": "^1.1.2",
- "function-bind": "^1.1.1",
- "has-symbols": "^1.0.0",
- "object-keys": "^1.0.11"
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.18.0-next.0",
+ "has-symbols": "^1.0.1",
+ "object-keys": "^1.1.1"
+ },
+ "dependencies": {
+ "es-abstract": {
+ "version": "1.18.0-next.1",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz",
+ "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==",
+ "dev": true,
+ "requires": {
+ "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-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "dev": true,
+ "requires": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ }
+ },
+ "has-symbols": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+ "dev": true
+ },
+ "is-callable": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz",
+ "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==",
+ "dev": true
+ },
+ "is-regex": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz",
+ "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==",
+ "dev": true,
+ "requires": {
+ "has-symbols": "^1.0.1"
+ }
+ },
+ "object-inspect": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz",
+ "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==",
+ "dev": true
+ }
}
},
"object.getownpropertydescriptors": {
@@ -14354,22 +14453,22 @@
},
"dependencies": {
"es-abstract": {
- "version": "1.17.5",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
- "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
+ "version": "1.17.7",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
+ "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
"dev": true,
"requires": {
"es-to-primitive": "^1.2.1",
"function-bind": "^1.1.1",
"has": "^1.0.3",
"has-symbols": "^1.0.1",
- "is-callable": "^1.1.5",
- "is-regex": "^1.0.5",
- "object-inspect": "^1.7.0",
+ "is-callable": "^1.2.2",
+ "is-regex": "^1.1.1",
+ "object-inspect": "^1.8.0",
"object-keys": "^1.1.1",
- "object.assign": "^4.1.0",
- "string.prototype.trimleft": "^2.1.1",
- "string.prototype.trimright": "^2.1.1"
+ "object.assign": "^4.1.1",
+ "string.prototype.trimend": "^1.0.1",
+ "string.prototype.trimstart": "^1.0.1"
}
},
"es-to-primitive": {
@@ -14390,47 +14489,25 @@
"dev": true
},
"is-callable": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz",
- "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz",
+ "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==",
"dev": true
},
"is-regex": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz",
- "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz",
+ "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==",
"dev": true,
"requires": {
"has-symbols": "^1.0.1"
}
},
"object-inspect": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
- "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz",
+ "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==",
"dev": true
- },
- "string.prototype.trimleft": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz",
- "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.5",
- "string.prototype.trimstart": "^1.0.0"
- }
- },
- "string.prototype.trimright": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz",
- "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.5",
- "string.prototype.trimend": "^1.0.0"
- }
}
}
},
@@ -14456,20 +14533,20 @@
},
"dependencies": {
"es-abstract": {
- "version": "1.17.6",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz",
- "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==",
+ "version": "1.17.7",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
+ "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
"dev": true,
"requires": {
"es-to-primitive": "^1.2.1",
"function-bind": "^1.1.1",
"has": "^1.0.3",
"has-symbols": "^1.0.1",
- "is-callable": "^1.2.0",
- "is-regex": "^1.1.0",
- "object-inspect": "^1.7.0",
+ "is-callable": "^1.2.2",
+ "is-regex": "^1.1.1",
+ "object-inspect": "^1.8.0",
"object-keys": "^1.1.1",
- "object.assign": "^4.1.0",
+ "object.assign": "^4.1.1",
"string.prototype.trimend": "^1.0.1",
"string.prototype.trimstart": "^1.0.1"
}
@@ -14492,9 +14569,9 @@
"dev": true
},
"is-callable": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz",
- "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz",
+ "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==",
"dev": true
},
"is-regex": {
@@ -14544,18 +14621,18 @@
}
},
"onetime": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
- "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
"dev": true,
"requires": {
"mimic-fn": "^2.1.0"
}
},
"open": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/open/-/open-7.0.3.tgz",
- "integrity": "sha512-sP2ru2v0P290WFfv49Ap8MF6PkzGNnGlAwHweB4WR4mr5d2d0woiCluUeJ218w7/+PmoBy9JmYgD5A4mLcWOFA==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/open/-/open-7.2.0.tgz",
+ "integrity": "sha512-4HeyhxCvBTI5uBePsAdi55C5fmqnWZ2e2MlmvWi5KW5tdH5rxoiv/aMtbeVxKZc3eWkT1GymMnLG8XC4Rq4TDQ==",
"dev": true,
"requires": {
"is-docker": "^2.0.0",
@@ -14618,16 +14695,16 @@
}
},
"ora": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.3.tgz",
- "integrity": "sha512-fnDebVFyz309A73cqCipVL1fBZewq4vwgSHfxh43vVy31mbyoQ8sCH3Oeaog/owYOs/lLlGVPCISQonTneg6Pg==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-5.0.0.tgz",
+ "integrity": "sha512-s26qdWqke2kjN/wC4dy+IQPBIMWBJlSU/0JZhk30ZDBLelW25rv66yutUWARMigpGPzcXHb+Nac5pNhN/WsARw==",
"dev": true,
"requires": {
- "chalk": "^3.0.0",
+ "chalk": "^4.1.0",
"cli-cursor": "^3.1.0",
- "cli-spinners": "^2.2.0",
+ "cli-spinners": "^2.4.0",
"is-interactive": "^1.0.0",
- "log-symbols": "^3.0.0",
+ "log-symbols": "^4.0.0",
"mute-stream": "0.0.8",
"strip-ansi": "^6.0.0",
"wcwidth": "^1.0.1"
@@ -14640,19 +14717,18 @@
"dev": true
},
"ansi-styles": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
- "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
- "@types/color-name": "^1.1.1",
"color-convert": "^2.0.1"
}
},
"chalk": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
"dev": true,
"requires": {
"ansi-styles": "^4.1.0",
@@ -14690,9 +14766,9 @@
}
},
"supports-color": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
- "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"requires": {
"has-flag": "^4.0.0"
@@ -14737,36 +14813,34 @@
"os-tmpdir": "^1.0.0"
}
},
- "p-cancelable": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
- "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==",
- "dev": true
- },
"p-defer": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
- "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww="
+ "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
+ "dev": true
},
"p-finally": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
- "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+ "dev": true
},
"p-limit": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
- "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "dev": true,
"requires": {
- "p-try": "^1.0.0"
+ "p-try": "^2.0.0"
}
},
"p-locate": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
- "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "dev": true,
"requires": {
- "p-limit": "^1.1.0"
+ "p-limit": "^2.0.0"
}
},
"p-map": {
@@ -14788,9 +14862,10 @@
}
},
"p-try": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
- "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M="
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "dev": true
},
"package-hash": {
"version": "4.0.0",
@@ -14801,55 +14876,7 @@
"graceful-fs": "^4.1.15",
"hasha": "^5.0.0",
"lodash.flattendeep": "^4.4.0",
- "release-zalgo": "^1.0.0"
- }
- },
- "package-json": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz",
- "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==",
- "dev": true,
- "requires": {
- "got": "^9.6.0",
- "registry-auth-token": "^4.0.0",
- "registry-url": "^5.0.0",
- "semver": "^6.2.0"
- },
- "dependencies": {
- "json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "loader-utils": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^1.0.1"
- }
- },
- "schema-utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
- "requires": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
- }
- },
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
+ "release-zalgo": "^1.0.0"
}
},
"pacote": {
@@ -14922,6 +14949,16 @@
"minipass": "^2.6.0"
}
},
+ "minipass": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
+ "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.1.2",
+ "yallist": "^3.0.0"
+ }
+ },
"minizlib": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
@@ -15038,6 +15075,23 @@
"integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==",
"optional": true
},
+ "parse5-htmlparser2-tree-adapter": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz",
+ "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==",
+ "dev": true,
+ "requires": {
+ "parse5": "^6.0.1"
+ },
+ "dependencies": {
+ "parse5": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+ "dev": true
+ }
+ }
+ },
"parseqs": {
"version": "0.0.5",
"resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
@@ -15083,13 +15137,13 @@
"path-exists": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "dev": true
},
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
},
"path-is-inside": {
"version": "1.0.2",
@@ -15100,7 +15154,8 @@
"path-key": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "dev": true
},
"path-parse": {
"version": "1.0.6",
@@ -15191,60 +15246,6 @@
"dev": true,
"requires": {
"find-up": "^3.0.0"
- },
- "dependencies": {
- "find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
- "dev": true,
- "requires": {
- "locate-path": "^3.0.0"
- }
- },
- "locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
- "dev": true,
- "requires": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
- }
- },
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
- "dev": true,
- "requires": {
- "p-limit": "^2.0.0"
- }
- },
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true
- }
- }
- },
- "pkg-up": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz",
- "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=",
- "dev": true,
- "requires": {
- "find-up": "^2.1.0"
}
},
"pluralize": {
@@ -15253,6 +15254,15 @@
"integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=",
"dev": true
},
+ "pnp-webpack-plugin": {
+ "version": "1.6.4",
+ "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz",
+ "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==",
+ "dev": true,
+ "requires": {
+ "ts-pnp": "^1.1.6"
+ }
+ },
"portfinder": {
"version": "1.0.28",
"resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz",
@@ -15273,15 +15283,6 @@
"ms": "^2.1.1"
}
},
- "mkdirp": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
- "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.5"
- }
- },
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -15316,9 +15317,9 @@
}
},
"postcss-calc": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.4.tgz",
- "integrity": "sha512-0I79VRAd1UTkaHzY9w83P39YGO/M3bG7/tNLrHGEunBolfoGM0hSjrGvjoeaj0JE/zIw5GsI2KZ0UwDJqv5hjw==",
+ "version": "7.0.5",
+ "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz",
+ "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==",
"dev": true,
"requires": {
"postcss": "^7.0.27",
@@ -15422,9 +15423,9 @@
}
},
"postcss-load-config": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz",
- "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz",
+ "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==",
"dev": true,
"requires": {
"cosmiconfig": "^5.0.0",
@@ -15630,9 +15631,9 @@
},
"dependencies": {
"postcss": {
- "version": "7.0.32",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz",
- "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==",
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
"dev": true,
"requires": {
"chalk": "^2.4.2",
@@ -15708,16 +15709,6 @@
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
- "postcss-selector-parser": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz",
- "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==",
- "requires": {
- "dot-prop": "^5.2.0",
- "indexes-of": "^1.0.1",
- "uniq": "^1.0.1"
- }
- },
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
@@ -15738,28 +15729,11 @@
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
- "postcss": {
- "version": "7.0.32",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz",
- "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==",
- "dev": true,
- "requires": {
- "chalk": "^2.4.2",
- "source-map": "^0.6.1",
- "supports-color": "^6.1.0"
- }
- },
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
"dev": true
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
}
}
},
@@ -15910,14 +15884,15 @@
}
},
"postcss-selector-parser": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz",
- "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==",
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz",
+ "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==",
"dev": true,
"requires": {
"cssesc": "^3.0.0",
"indexes-of": "^1.0.1",
- "uniq": "^1.0.1"
+ "uniq": "^1.0.1",
+ "util-deprecate": "^1.0.2"
}
},
"postcss-svgo": {
@@ -16056,6 +16031,15 @@
}
}
},
+ "prompts": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz",
+ "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==",
+ "requires": {
+ "kleur": "^3.0.3",
+ "sisteransi": "^1.0.4"
+ }
+ },
"protoduck": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/protoduck/-/protoduck-5.0.1.tgz",
@@ -16280,6 +16264,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
"integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "dev": true,
"requires": {
"end-of-stream": "^1.1.0",
"once": "^1.3.1"
@@ -16313,15 +16298,6 @@
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
},
- "pupa": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.0.1.tgz",
- "integrity": "sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA==",
- "dev": true,
- "requires": {
- "escape-goat": "^2.0.0"
- }
- },
"q": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
@@ -16413,47 +16389,13 @@
}
},
"raw-loader": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.0.tgz",
- "integrity": "sha512-iINUOYvl1cGEmfoaLjnZXt4bKfT2LJnZZib5N/LLyAphC+Dd11vNP9CNVb38j+SAJpFI1uo8j9frmih53ASy7Q==",
- "dev": true,
- "requires": {
- "loader-utils": "^1.2.3",
- "schema-utils": "^2.5.0"
- },
- "dependencies": {
- "json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "loader-utils": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
- "dev": true,
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^1.0.1"
- }
- }
- }
- },
- "rc": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
- "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.1.tgz",
+ "integrity": "sha512-baolhQBSi3iNh1cglJjA0mYzga+wePk7vdEX//1dTFd+v4TsQlQE0jitJSNF1OIP82rdYulH7otaVmdlDaJ64A==",
"dev": true,
"requires": {
- "deep-extend": "^0.6.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
+ "loader-utils": "^2.0.0",
+ "schema-utils": "^2.6.5"
}
},
"read-cache": {
@@ -16474,14 +16416,13 @@
}
},
"read-package-json": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.1.tgz",
- "integrity": "sha512-dAiqGtVc/q5doFz6096CcnXhpYk0ZN8dEKVkGLU0CsASt8SrgF6SF7OTKAYubfvFhWaqofl+Y8HK19GR8jwW+A==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.2.tgz",
+ "integrity": "sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA==",
"dev": true,
"requires": {
"glob": "^7.1.1",
- "graceful-fs": "^4.1.2",
- "json-parse-better-errors": "^1.0.1",
+ "json-parse-even-better-errors": "^2.3.0",
"normalize-package-data": "^2.0.0",
"npm-normalize-package-bin": "^1.0.0"
}
@@ -16497,6 +16438,48 @@
"util-promisify": "^2.1.0"
}
},
+ "read-pkg": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
+ "dev": true,
+ "requires": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "dependencies": {
+ "parse-json": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz",
+ "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==",
+ "dev": true,
+ "requires": {
+ "@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"
+ }
+ },
+ "type-fest": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "dev": true
+ }
+ }
+ },
+ "read-pkg-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-5.0.0.tgz",
+ "integrity": "sha512-XBQjqOBtTzyol2CpsQOw8LHV0XbDZVG7xMMjmXAJomlVY03WOBRmYgDJETlvcg0H63AJvPRwT7GFi5rvOzUOKg==",
+ "dev": true,
+ "requires": {
+ "find-up": "^3.0.0",
+ "read-pkg": "^5.0.0"
+ }
+ },
"readable-stream": {
"version": "2.3.6",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
@@ -16525,9 +16508,9 @@
}
},
"readdirp": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz",
- "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==",
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
+ "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
"dev": true,
"requires": {
"picomatch": "^2.2.1"
@@ -16574,9 +16557,9 @@
}
},
"regenerator-runtime": {
- "version": "0.13.5",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz",
- "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==",
+ "version": "0.13.7",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz",
+ "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==",
"dev": true
},
"regenerator-transform": {
@@ -16598,6 +16581,12 @@
"safe-regex": "^1.1.0"
}
},
+ "regex-parser": {
+ "version": "2.2.11",
+ "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz",
+ "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==",
+ "dev": true
+ },
"regexp.prototype.flags": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz",
@@ -16609,20 +16598,20 @@
},
"dependencies": {
"es-abstract": {
- "version": "1.17.6",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz",
- "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==",
+ "version": "1.17.7",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
+ "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
"dev": true,
"requires": {
"es-to-primitive": "^1.2.1",
"function-bind": "^1.1.1",
"has": "^1.0.3",
"has-symbols": "^1.0.1",
- "is-callable": "^1.2.0",
- "is-regex": "^1.1.0",
- "object-inspect": "^1.7.0",
+ "is-callable": "^1.2.2",
+ "is-regex": "^1.1.1",
+ "object-inspect": "^1.8.0",
"object-keys": "^1.1.1",
- "object.assign": "^4.1.0",
+ "object.assign": "^4.1.1",
"string.prototype.trimend": "^1.0.1",
"string.prototype.trimstart": "^1.0.1"
}
@@ -16645,9 +16634,9 @@
"dev": true
},
"is-callable": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz",
- "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz",
+ "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==",
"dev": true
},
"is-regex": {
@@ -16667,38 +16656,6 @@
}
}
},
- "regexpu-core": {
- "version": "4.7.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz",
- "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==",
- "dev": true,
- "requires": {
- "regenerate": "^1.4.0",
- "regenerate-unicode-properties": "^8.2.0",
- "regjsgen": "^0.5.1",
- "regjsparser": "^0.6.4",
- "unicode-match-property-ecmascript": "^1.0.4",
- "unicode-match-property-value-ecmascript": "^1.2.0"
- }
- },
- "registry-auth-token": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.1.1.tgz",
- "integrity": "sha512-9bKS7nTl9+/A1s7tnPeGrUpRcVY+LUh7bfFgzpndALdPfXQBfQV77rQVtqgUV3ti4vc/Ik81Ex8UJDWDQ12zQA==",
- "dev": true,
- "requires": {
- "rc": "^1.2.8"
- }
- },
- "registry-url": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz",
- "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==",
- "dev": true,
- "requires": {
- "rc": "^1.2.8"
- }
- },
"regjsgen": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz",
@@ -16800,7 +16757,8 @@
"require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+ "dev": true
},
"require-main-filename": {
"version": "2.0.0",
@@ -16892,13 +16850,67 @@
"integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
"dev": true
},
- "responselike": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
- "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
+ "resolve-url-loader": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.2.tgz",
+ "integrity": "sha512-QEb4A76c8Mi7I3xNKXlRKQSlLBwjUV/ULFMP+G7n3/7tJZ8MG5wsZ3ucxP1Jz8Vevn6fnJsxDx9cIls+utGzPQ==",
"dev": true,
"requires": {
- "lowercase-keys": "^1.0.0"
+ "adjust-sourcemap-loader": "3.0.0",
+ "camelcase": "5.3.1",
+ "compose-function": "3.0.3",
+ "convert-source-map": "1.7.0",
+ "es6-iterator": "2.0.3",
+ "loader-utils": "1.2.3",
+ "postcss": "7.0.21",
+ "rework": "1.0.1",
+ "rework-visit": "1.0.0",
+ "source-map": "0.6.1"
+ },
+ "dependencies": {
+ "emojis-list": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
+ "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
+ "dev": true
+ },
+ "json5": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.0"
+ }
+ },
+ "loader-utils": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
+ "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
+ "dev": true,
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^2.0.0",
+ "json5": "^1.0.1"
+ }
+ },
+ "postcss": {
+ "version": "7.0.21",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz",
+ "integrity": "sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
}
},
"restore-cursor": {
@@ -16929,6 +16941,30 @@
"integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
"dev": true
},
+ "rework": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz",
+ "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=",
+ "dev": true,
+ "requires": {
+ "convert-source-map": "^0.3.3",
+ "css": "^2.0.0"
+ },
+ "dependencies": {
+ "convert-source-map": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz",
+ "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=",
+ "dev": true
+ }
+ }
+ },
+ "rework-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz",
+ "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=",
+ "dev": true
+ },
"rfdc": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.4.tgz",
@@ -16967,14 +17003,36 @@
}
},
"rollup": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.1.0.tgz",
- "integrity": "sha512-gfE1455AEazVVTJoeQtcOq/U6GSxwoj4XPSWVsuWmgIxj7sBQNLDOSA82PbdMe+cP8ql8fR1jogPFe8Wg8g4SQ==",
+ "version": "2.26.5",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.26.5.tgz",
+ "integrity": "sha512-rCyFG3ZtQdnn9YwfuAVH0l/Om34BdO5lwCA0W6Hq+bNB21dVEBbCRxhaHOmu1G7OBFDWytbzAC104u7rxHwGjA==",
"dev": true,
"requires": {
"fsevents": "~2.1.2"
}
},
+ "rollup-plugin-sourcemaps": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz",
+ "integrity": "sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw==",
+ "dev": true,
+ "requires": {
+ "@rollup/pluginutils": "^3.0.9",
+ "source-map-resolve": "^0.6.0"
+ },
+ "dependencies": {
+ "source-map-resolve": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz",
+ "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==",
+ "dev": true,
+ "requires": {
+ "atob": "^2.1.2",
+ "decode-uri-component": "^0.2.0"
+ }
+ }
+ }
+ },
"run-async": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
@@ -17003,22 +17061,243 @@
"dev": true
},
"rxjs": {
- "version": "6.5.5",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz",
- "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==",
+ "version": "6.6.3",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz",
+ "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==",
"requires": {
"tslib": "^1.9.0"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+ }
+ }
+ },
+ "rxjs-report-usage": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/rxjs-report-usage/-/rxjs-report-usage-1.0.5.tgz",
+ "integrity": "sha512-jZeg+TTkvP8kAv0tIQj3WOuIhYLi+Ig9mG8DCc+nJHQ1ObJr8IaeNPbJmXDRfHvH3MKQMBzboY4RbQ6jWt6cIg==",
+ "requires": {
+ "@babel/parser": "~7.10.3",
+ "@babel/traverse": "~7.10.3",
+ "@babel/types": "~7.10.3",
+ "bent": "~7.3.6",
+ "chalk": "~4.1.0",
+ "glob": "~7.1.6",
+ "prompts": "~2.3.2"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+ "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "requires": {
+ "@babel/highlight": "^7.10.4"
+ }
+ },
+ "@babel/generator": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.1.tgz",
+ "integrity": "sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg==",
+ "requires": {
+ "@babel/types": "^7.12.1",
+ "jsesc": "^2.5.1",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "@babel/types": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz",
+ "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==",
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.10.4",
+ "lodash": "^4.17.19",
+ "to-fast-properties": "^2.0.0"
+ }
+ }
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz",
+ "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==",
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.10.4",
+ "@babel/template": "^7.10.4",
+ "@babel/types": "^7.10.4"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
+ "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
+ "requires": {
+ "@babel/types": "^7.10.4"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz",
+ "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==",
+ "requires": {
+ "@babel/types": "^7.11.0"
+ },
+ "dependencies": {
+ "@babel/types": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz",
+ "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==",
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.10.4",
+ "lodash": "^4.17.19",
+ "to-fast-properties": "^2.0.0"
+ }
+ }
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+ "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.10.4",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ }
+ }
+ },
+ "@babel/parser": {
+ "version": "7.10.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.5.tgz",
+ "integrity": "sha512-wfryxy4bE1UivvQKSQDU4/X6dr+i8bctjUjj8Zyt3DQy7NtPizJXT8M52nqpNKL+nq2PW8lxk4ZqLj0fD4B4hQ=="
+ },
+ "@babel/template": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
+ "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
+ "requires": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/parser": "^7.10.4",
+ "@babel/types": "^7.10.4"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.10.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.5.tgz",
+ "integrity": "sha512-yc/fyv2gUjPqzTz0WHeRJH2pv7jA9kA7mBX2tXl/x5iOE81uaVPuGPtaYk7wmkx4b67mQ7NqI8rmT2pF47KYKQ==",
+ "requires": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/generator": "^7.10.5",
+ "@babel/helper-function-name": "^7.10.4",
+ "@babel/helper-split-export-declaration": "^7.10.4",
+ "@babel/parser": "^7.10.5",
+ "@babel/types": "^7.10.5",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.19"
+ }
+ },
+ "@babel/types": {
+ "version": "7.10.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.5.tgz",
+ "integrity": "sha512-ixV66KWfCI6GKoA/2H9v6bQdbfXEwwpOdQ8cRvb4F+eyvhlaHxWFMQB4+3d9QFJXZsiiiqVrewNV0DFEQpyT4Q==",
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.10.4",
+ "lodash": "^4.17.19",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "debug": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
+ "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
}
},
"rxjs-spy": {
- "version": "7.5.1",
- "resolved": "https://registry.npmjs.org/rxjs-spy/-/rxjs-spy-7.5.1.tgz",
- "integrity": "sha512-dJ9mO4HvW2r16PsU15Qsc0RVkG7pFrfyCNTGx3vrxWje3kIgZ6QjMVnWblQxbniZ32lwLk/2x9+D2O6GhgXV/w==",
+ "version": "7.5.3",
+ "resolved": "https://registry.npmjs.org/rxjs-spy/-/rxjs-spy-7.5.3.tgz",
+ "integrity": "sha512-8QsSL6Ma51dTeaJ5Q9zWqhqnCSEkDf56Evs1gUsI9N22oB7bYrPMMx4UnoifNGc+Pko2sGX/xydzinLwGO+2pw==",
"requires": {
"@types/circular-json": "^0.4.0",
- "@types/stacktrace-js": "^0.0.32",
+ "@types/stacktrace-js": "^0.0.33",
"circular-json": "^0.5.0",
"error-stack-parser": "^2.0.1",
+ "rxjs-report-usage": "^1.0.4",
"stacktrace-gps": "^3.0.2"
}
},
@@ -17189,6 +17468,14 @@
"semver": "^5.3.0",
"tslib": "^1.8.0",
"tsutils": "^2.29.0"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ }
}
},
"which-module": {
@@ -17334,42 +17621,28 @@
}
},
"sass-loader": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.2.tgz",
- "integrity": "sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ==",
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.0.1.tgz",
+ "integrity": "sha512-b2PSldKVTS3JcFPHSrEXh3BeAfR7XknGiGCAO5aHruR3Pf3kqLP3Gb2ypXLglRrAzgZkloNxLZ7GXEGDX0hBUQ==",
"dev": true,
"requires": {
- "clone-deep": "^4.0.1",
- "loader-utils": "^1.2.3",
- "neo-async": "^2.6.1",
- "schema-utils": "^2.6.1",
- "semver": "^6.3.0"
+ "klona": "^2.0.3",
+ "loader-utils": "^2.0.0",
+ "neo-async": "^2.6.2",
+ "schema-utils": "^2.7.0",
+ "semver": "^7.3.2"
},
"dependencies": {
- "json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "loader-utils": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
- "dev": true,
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^1.0.1"
- }
+ "neo-async": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
+ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
+ "dev": true
},
"semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
+ "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
"dev": true
}
}
@@ -17497,24 +17770,8 @@
"semver": {
"version": "5.6.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
- "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg=="
- },
- "semver-diff": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz",
- "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==",
- "dev": true,
- "requires": {
- "semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
- }
+ "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
+ "dev": true
},
"semver-dsl": {
"version": "1.0.1",
@@ -17628,7 +17885,8 @@
"set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "dev": true
},
"set-immediate-shim": {
"version": "1.0.1",
@@ -17681,19 +17939,11 @@
"safe-buffer": "^5.0.1"
}
},
- "shallow-clone": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
- "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.2"
- }
- },
"shebang-command": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
"integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "dev": true,
"requires": {
"shebang-regex": "^1.0.0"
}
@@ -17701,7 +17951,8 @@
"shebang-regex": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "dev": true
},
"shell-quote": {
"version": "1.7.2",
@@ -17712,7 +17963,8 @@
"signal-exit": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
- "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
+ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
+ "dev": true
},
"simple-swizzle": {
"version": "0.2.2",
@@ -17731,6 +17983,11 @@
}
}
},
+ "sisteransi": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
+ "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg=="
+ },
"slice-ansi": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz",
@@ -18064,34 +18321,32 @@
"integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI="
},
"source-map-loader": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-0.2.4.tgz",
- "integrity": "sha512-OU6UJUty+i2JDpTItnizPrlpOIBLmQbWMuBg9q5bVtnHACqw1tn9nNwqJLbv0/00JjnJb/Ee5g5WS5vrRv7zIQ==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-1.0.2.tgz",
+ "integrity": "sha512-oX8d6ndRjN+tVyjj6PlXSyFPhDdVAPsZA30nD3/II8g4uOv8fCz0DMn5sy8KtVbDfKQxOpGwGJnK3xIW3tauDw==",
"dev": true,
"requires": {
- "async": "^2.5.0",
- "loader-utils": "^1.1.0"
- },
- "dependencies": {
- "json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "loader-utils": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+ "data-urls": "^2.0.0",
+ "iconv-lite": "^0.6.2",
+ "loader-utils": "^2.0.0",
+ "schema-utils": "^2.7.0",
+ "source-map": "^0.6.1"
+ },
+ "dependencies": {
+ "iconv-lite": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz",
+ "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==",
"dev": true,
"requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^1.0.1"
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
}
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
}
}
},
@@ -18135,7 +18390,8 @@
"sourcemap-codec": {
"version": "1.4.8",
"resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
- "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
+ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
+ "dev": true
},
"spawn-wrap": {
"version": "2.0.0",
@@ -18232,12 +18488,12 @@
},
"dependencies": {
"debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
+ "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
"dev": true,
"requires": {
- "ms": "^2.1.1"
+ "ms": "2.1.2"
}
},
"ms": {
@@ -18263,12 +18519,12 @@
},
"dependencies": {
"debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
+ "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
"dev": true,
"requires": {
- "ms": "^2.1.1"
+ "ms": "2.1.2"
}
},
"ms": {
@@ -18291,9 +18547,9 @@
}
},
"speed-measure-webpack-plugin": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.3.1.tgz",
- "integrity": "sha512-qVIkJvbtS9j/UeZumbdfz0vg+QfG/zxonAjzefZrqzkr7xOncLVXkeGbTpzd1gjCBM4PmVNkWlkeTVhgskAGSQ==",
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.3.3.tgz",
+ "integrity": "sha512-2ljD4Ch/rz2zG3HsLsnPfp23osuPBS0qPuz9sGpkNXTN1Ic4M+W9xB8l8rS8ob2cO4b1L+WTJw/0AJwWYVgcxQ==",
"dev": true,
"requires": {
"chalk": "^2.0.1"
@@ -18366,17 +18622,17 @@
"dev": true
},
"stackframe": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.1.0.tgz",
- "integrity": "sha512-Vx6W1Yvy+AM1R/ckVwcHQHV147pTPBKWCRLrXMuPrFVfvBUc3os7PR1QLIWCMhPpRg5eX9ojzbQIMLGBwyLjqg=="
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz",
+ "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA=="
},
"stacktrace-gps": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/stacktrace-gps/-/stacktrace-gps-3.0.3.tgz",
- "integrity": "sha512-51Rr7dXkyFUKNmhY/vqZWK+EvdsfFSRiQVtgHTFlAdNIYaDD7bVh21yBHXaNWAvTD+w+QSjxHg7/v6Tz4veExA==",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/stacktrace-gps/-/stacktrace-gps-3.0.4.tgz",
+ "integrity": "sha512-qIr8x41yZVSldqdqe6jciXEaSCKw1U8XTXpjDuy0ki/apyTn/r3w9hDAAQOhZdxvsC93H+WwwEu5cq5VemzYeg==",
"requires": {
"source-map": "0.5.6",
- "stackframe": "^1.1.0"
+ "stackframe": "^1.1.1"
}
},
"static-extend": {
@@ -18591,32 +18847,33 @@
}
},
"string.prototype.trimend": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz",
- "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.2.tgz",
+ "integrity": "sha512-8oAG/hi14Z4nOVP0z6mdiVZ/wqjDtWSLygMigTzAb+7aPEDTleeFf+WrF+alzecxIRkckkJVn+dTlwzJXORATw==",
"dev": true,
"requires": {
"define-properties": "^1.1.3",
- "es-abstract": "^1.17.5"
+ "es-abstract": "^1.18.0-next.1"
},
"dependencies": {
"es-abstract": {
- "version": "1.17.5",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
- "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
+ "version": "1.18.0-next.1",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz",
+ "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==",
"dev": true,
"requires": {
"es-to-primitive": "^1.2.1",
"function-bind": "^1.1.1",
"has": "^1.0.3",
"has-symbols": "^1.0.1",
- "is-callable": "^1.1.5",
- "is-regex": "^1.0.5",
- "object-inspect": "^1.7.0",
+ "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.0",
- "string.prototype.trimleft": "^2.1.1",
- "string.prototype.trimright": "^2.1.1"
+ "object.assign": "^4.1.1",
+ "string.prototype.trimend": "^1.0.1",
+ "string.prototype.trimstart": "^1.0.1"
}
},
"es-to-primitive": {
@@ -18637,47 +18894,25 @@
"dev": true
},
"is-callable": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz",
- "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz",
+ "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==",
"dev": true
},
"is-regex": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz",
- "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz",
+ "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==",
"dev": true,
"requires": {
"has-symbols": "^1.0.1"
}
},
"object-inspect": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
- "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz",
+ "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==",
"dev": true
- },
- "string.prototype.trimleft": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz",
- "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.5",
- "string.prototype.trimstart": "^1.0.0"
- }
- },
- "string.prototype.trimright": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz",
- "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.5",
- "string.prototype.trimend": "^1.0.0"
- }
}
}
},
@@ -18702,32 +18937,33 @@
}
},
"string.prototype.trimstart": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz",
- "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.2.tgz",
+ "integrity": "sha512-7F6CdBTl5zyu30BJFdzSTlSlLPwODC23Od+iLoVH8X6+3fvDPPuBVVj9iaB1GOsSTSIgVfsfm27R2FGrAPznWg==",
"dev": true,
"requires": {
"define-properties": "^1.1.3",
- "es-abstract": "^1.17.5"
+ "es-abstract": "^1.18.0-next.1"
},
"dependencies": {
"es-abstract": {
- "version": "1.17.5",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
- "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
+ "version": "1.18.0-next.1",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz",
+ "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==",
"dev": true,
"requires": {
"es-to-primitive": "^1.2.1",
"function-bind": "^1.1.1",
"has": "^1.0.3",
"has-symbols": "^1.0.1",
- "is-callable": "^1.1.5",
- "is-regex": "^1.0.5",
- "object-inspect": "^1.7.0",
+ "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.0",
- "string.prototype.trimleft": "^2.1.1",
- "string.prototype.trimright": "^2.1.1"
+ "object.assign": "^4.1.1",
+ "string.prototype.trimend": "^1.0.1",
+ "string.prototype.trimstart": "^1.0.1"
}
},
"es-to-primitive": {
@@ -18748,47 +18984,25 @@
"dev": true
},
"is-callable": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz",
- "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz",
+ "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==",
"dev": true
},
"is-regex": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz",
- "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz",
+ "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==",
"dev": true,
"requires": {
"has-symbols": "^1.0.1"
}
},
"object-inspect": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
- "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz",
+ "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==",
"dev": true
- },
- "string.prototype.trimleft": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz",
- "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.5",
- "string.prototype.trimstart": "^1.0.0"
- }
- },
- "string.prototype.trimright": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz",
- "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.5",
- "string.prototype.trimend": "^1.0.0"
- }
}
}
},
@@ -18813,12 +19027,7 @@
"strip-eof": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8="
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
"dev": true
},
"stubs": {
@@ -18828,35 +19037,13 @@
"dev": true
},
"style-loader": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.1.3.tgz",
- "integrity": "sha512-rlkH7X/22yuwFYK357fMN/BxYOorfnfq0eD7+vqlemSK4wEcejFF1dg4zxP0euBW8NrYx2WZzZ8PPFevr7D+Kw==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.2.1.tgz",
+ "integrity": "sha512-ByHSTQvHLkWE9Ir5+lGbVOXhxX10fbprhLvdg96wedFZb4NDekDPxVKv5Fwmio+QcMlkkNfuK+5W1peQ5CUhZg==",
"dev": true,
"requires": {
- "loader-utils": "^1.2.3",
- "schema-utils": "^2.6.4"
- },
- "dependencies": {
- "json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "loader-utils": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
- "dev": true,
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^1.0.1"
- }
- }
+ "loader-utils": "^2.0.0",
+ "schema-utils": "^2.6.6"
}
},
"stylehacks": {
@@ -18884,18 +19071,18 @@
}
},
"stylus": {
- "version": "0.54.8",
- "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.8.tgz",
- "integrity": "sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==",
+ "version": "0.54.7",
+ "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.7.tgz",
+ "integrity": "sha512-Yw3WMTzVwevT6ZTrLCYNHAFmanMxdylelL3hkWNgPMeTCpMwpV3nXjpOHuBXtFv7aiO2xRuQS6OoAdgkNcSNug==",
"dev": true,
"requires": {
"css-parse": "~2.0.0",
"debug": "~3.1.0",
- "glob": "^7.1.6",
- "mkdirp": "~1.0.4",
+ "glob": "^7.1.3",
+ "mkdirp": "~0.5.x",
"safer-buffer": "^2.1.2",
"sax": "~1.2.4",
- "semver": "^6.3.0",
+ "semver": "^6.0.0",
"source-map": "^0.7.3"
},
"dependencies": {
@@ -18908,12 +19095,6 @@
"ms": "2.0.0"
}
},
- "mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
- "dev": true
- },
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
@@ -19227,16 +19408,10 @@
}
}
},
- "term-size": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.0.tgz",
- "integrity": "sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==",
- "dev": true
- },
"terser": {
- "version": "4.6.10",
- "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.10.tgz",
- "integrity": "sha512-qbF/3UOo11Hggsbsqm2hPa6+L4w7bkr+09FNseEe8xrcVD3APGLFqE+Oz1ZKAxjYnFsj80rLOfgAtJ0LNJjtTA==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.3.0.tgz",
+ "integrity": "sha512-XTT3D3AwxC54KywJijmY2mxZ8nJiEjBHVYzq8l9OaYuRFWeQNBwvipuzzYEP4e+/AVcd1hqG/CqgsdIRyT45Fg==",
"dev": true,
"requires": {
"commander": "^2.20.0",
@@ -19253,131 +19428,35 @@
}
},
"terser-webpack-plugin": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-3.0.3.tgz",
- "integrity": "sha512-bZFnotuIKq5Rqzrs+qIwFzGdKdffV9epG5vDSEbYzvKAhPeR5RbbrQysfPgbIIMhNAQtZD2hGwBfSKUXjXZZZw==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.1.0.tgz",
+ "integrity": "sha512-0ZWDPIP8BtEDZdChbufcXUigOYk6dOX/P/X0hWxqDDcVAQLb8Yy/0FAaemSfax3PAA67+DJR778oz8qVbmy4hA==",
"dev": true,
"requires": {
- "cacache": "^15.0.4",
+ "cacache": "^15.0.5",
"find-cache-dir": "^3.3.1",
- "jest-worker": "^26.0.0",
- "p-limit": "^2.3.0",
+ "jest-worker": "^26.3.0",
+ "p-limit": "^3.0.2",
"schema-utils": "^2.6.6",
- "serialize-javascript": "^3.1.0",
+ "serialize-javascript": "^4.0.0",
"source-map": "^0.6.1",
- "terser": "^4.6.13",
+ "terser": "^5.0.0",
"webpack-sources": "^1.4.3"
},
"dependencies": {
- "cacache": {
- "version": "15.0.5",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.5.tgz",
- "integrity": "sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A==",
- "dev": true,
- "requires": {
- "@npmcli/move-file": "^1.0.1",
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "glob": "^7.1.4",
- "infer-owner": "^1.0.4",
- "lru-cache": "^6.0.0",
- "minipass": "^3.1.1",
- "minipass-collect": "^1.0.2",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.2",
- "mkdirp": "^1.0.3",
- "p-map": "^4.0.0",
- "promise-inflight": "^1.0.1",
- "rimraf": "^3.0.2",
- "ssri": "^8.0.0",
- "tar": "^6.0.2",
- "unique-filename": "^1.1.1"
- }
- },
- "chownr": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
- "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "jest-worker": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.3.0.tgz",
- "integrity": "sha512-Vmpn2F6IASefL+DVBhPzI2J9/GJUsqzomdeN+P+dK8/jKxbh8R3BtFnx3FIta7wYlPU62cpJMJQo4kuOowcMnw==",
- "dev": true,
- "requires": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^7.0.0"
- }
- },
- "lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "minipass": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz",
- "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==",
- "dev": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
- "dev": true
- },
"p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-map": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
- "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
- "dev": true,
- "requires": {
- "aggregate-error": "^3.0.0"
- }
- },
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true
- },
- "rimraf": {
"version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.2.tgz",
+ "integrity": "sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg==",
"dev": true,
"requires": {
- "glob": "^7.1.3"
+ "p-try": "^2.0.0"
}
},
"serialize-javascript": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz",
- "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
+ "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
"dev": true,
"requires": {
"randombytes": "^2.1.0"
@@ -19388,26 +19467,6 @@
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "terser": {
- "version": "4.8.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
- "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
- "dev": true,
- "requires": {
- "commander": "^2.20.0",
- "source-map": "~0.6.1",
- "source-map-support": "~0.5.12"
- }
}
}
},
@@ -19469,9 +19528,9 @@
"dev": true
},
"timers-browserify": {
- "version": "2.0.11",
- "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz",
- "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==",
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz",
+ "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==",
"dev": true,
"requires": {
"setimmediate": "^1.0.4"
@@ -19517,8 +19576,7 @@
"to-fast-properties": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
- "dev": true
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
},
"to-object-path": {
"version": "0.3.0",
@@ -19540,12 +19598,6 @@
}
}
},
- "to-readable-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
- "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==",
- "dev": true
- },
"to-regex": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
@@ -19583,6 +19635,15 @@
"punycode": "^2.1.1"
}
},
+ "tr46": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz",
+ "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==",
+ "dev": true,
+ "requires": {
+ "punycode": "^2.1.1"
+ }
+ },
"transformation-matrix": {
"version": "1.15.3",
"resolved": "https://registry.npmjs.org/transformation-matrix/-/transformation-matrix-1.15.3.tgz",
@@ -19612,10 +19673,16 @@
"yn": "3.1.1"
}
},
+ "ts-pnp": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz",
+ "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==",
+ "dev": true
+ },
"tslib": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz",
- "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA=="
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz",
+ "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ=="
},
"tslint": {
"version": "6.1.2",
@@ -19652,6 +19719,12 @@
"requires": {
"minimist": "^1.2.5"
}
+ },
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
}
}
},
@@ -19662,6 +19735,14 @@
"dev": true,
"requires": {
"tslib": "^1.8.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ }
}
},
"tty-browserify": {
@@ -19732,9 +19813,9 @@
}
},
"typescript": {
- "version": "3.8.3",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz",
- "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.5.tgz",
+ "integrity": "sha512-ywmr/VrTVCmNTJ6iV2LwIrfG1P+lv6luD8sUJs+2eI9NLGigaN+nUQc13iHqisq7bra9lnmUSYqbJvegraBOPQ==",
"dev": true
},
"ua-parser-js": {
@@ -19817,7 +19898,8 @@
"uniq": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
- "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8="
+ "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
+ "dev": true
},
"uniqs": {
"version": "2.0.0",
@@ -19843,33 +19925,24 @@
"imurmurhash": "^0.1.4"
}
},
- "unique-string": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
- "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==",
- "dev": true,
- "requires": {
- "crypto-random-string": "^2.0.0"
- }
- },
"universal-analytics": {
- "version": "0.4.20",
- "resolved": "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.4.20.tgz",
- "integrity": "sha512-gE91dtMvNkjO+kWsPstHRtSwHXz0l2axqptGYp5ceg4MsuurloM0PU3pdOfpb5zBXUvyjT4PwhWK2m39uczZuw==",
+ "version": "0.4.23",
+ "resolved": "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.4.23.tgz",
+ "integrity": "sha512-lgMIH7XBI6OgYn1woDEmxhGdj8yDefMKg7GkWdeATAlQZFrMrNyxSkpDzY57iY0/6fdlzTbBV03OawvvzG+q7A==",
"dev": true,
"requires": {
- "debug": "^3.0.0",
- "request": "^2.88.0",
+ "debug": "^4.1.1",
+ "request": "^2.88.2",
"uuid": "^3.0.0"
},
"dependencies": {
"debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
+ "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
"dev": true,
"requires": {
- "ms": "^2.1.1"
+ "ms": "2.1.2"
}
},
"ms": {
@@ -19944,79 +20017,6 @@
"integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
"dev": true
},
- "update-notifier": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.0.tgz",
- "integrity": "sha512-w3doE1qtI0/ZmgeoDoARmI5fjDoT93IfKgEGqm26dGUOh8oNpaSTsGNdYRN/SjOuo10jcJGwkEL3mroKzktkew==",
- "dev": true,
- "requires": {
- "boxen": "^4.2.0",
- "chalk": "^3.0.0",
- "configstore": "^5.0.1",
- "has-yarn": "^2.1.0",
- "import-lazy": "^2.1.0",
- "is-ci": "^2.0.0",
- "is-installed-globally": "^0.3.1",
- "is-npm": "^4.0.0",
- "is-yarn-global": "^0.3.0",
- "latest-version": "^5.0.0",
- "pupa": "^2.0.1",
- "semver-diff": "^3.1.1",
- "xdg-basedir": "^4.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
- "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
- "dev": true,
- "requires": {
- "@types/color-name": "^1.1.1",
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "supports-color": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
- "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
"uri-js": {
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
@@ -20059,23 +20059,6 @@
"requires-port": "^1.0.0"
}
},
- "url-parse-lax": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
- "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
- "dev": true,
- "requires": {
- "prepend-http": "^2.0.0"
- },
- "dependencies": {
- "prepend-http": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
- "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
- "dev": true
- }
- }
- },
"urlgrey": {
"version": "0.4.4",
"resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-0.4.4.tgz",
@@ -20142,20 +20125,20 @@
},
"dependencies": {
"es-abstract": {
- "version": "1.17.6",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz",
- "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==",
+ "version": "1.17.7",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
+ "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
"dev": true,
"requires": {
"es-to-primitive": "^1.2.1",
"function-bind": "^1.1.1",
"has": "^1.0.3",
"has-symbols": "^1.0.1",
- "is-callable": "^1.2.0",
- "is-regex": "^1.1.0",
- "object-inspect": "^1.7.0",
+ "is-callable": "^1.2.2",
+ "is-regex": "^1.1.1",
+ "object-inspect": "^1.8.0",
"object-keys": "^1.1.1",
- "object.assign": "^4.1.0",
+ "object.assign": "^4.1.1",
"string.prototype.trimend": "^1.0.1",
"string.prototype.trimstart": "^1.0.1"
}
@@ -20178,9 +20161,9 @@
"dev": true
},
"is-callable": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz",
- "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz",
+ "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==",
"dev": true
},
"is-regex": {
@@ -20337,35 +20320,6 @@
"graceful-fs": "^4.1.2",
"neo-async": "^2.5.0",
"watchpack-chokidar2": "^2.0.0"
- },
- "dependencies": {
- "chokidar": {
- "version": "3.4.2",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz",
- "integrity": "sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==",
- "dev": true,
- "optional": true,
- "requires": {
- "anymatch": "~3.1.1",
- "braces": "~3.0.2",
- "fsevents": "~2.1.2",
- "glob-parent": "~5.1.0",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.4.0"
- }
- },
- "glob-parent": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
- "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "is-glob": "^4.0.1"
- }
- }
}
},
"watchpack-chokidar2": {
@@ -20401,6 +20355,13 @@
}
}
},
+ "binary-extensions": {
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
+ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
+ "dev": true,
+ "optional": true
+ },
"braces": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
@@ -20483,7 +20444,34 @@
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
"integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "bindings": "^1.5.0",
+ "nan": "^2.12.1"
+ }
+ },
+ "glob-parent": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "is-glob": "^3.1.0",
+ "path-dirname": "^1.0.0"
+ },
+ "dependencies": {
+ "is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "is-extglob": "^2.1.0"
+ }
+ }
+ }
},
"is-binary-path": {
"version": "1.0.1",
@@ -20608,41 +20596,47 @@
"selenium-webdriver": "^3.0.1"
}
},
+ "webidl-conversions": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
+ "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
+ "dev": true
+ },
"webpack": {
- "version": "4.42.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.42.0.tgz",
- "integrity": "sha512-EzJRHvwQyBiYrYqhyjW9AqM90dE4+s1/XtCfn7uWg6cS72zH+2VPFAlsnW0+W0cDi0XRjNKUMoJtpSi50+Ph6w==",
+ "version": "4.44.1",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.1.tgz",
+ "integrity": "sha512-4UOGAohv/VGUNQJstzEywwNxqX417FnjZgZJpJQegddzPmTvph37eBIRbRTfdySXzVtJXLJfbMN3mMYhM6GdmQ==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.8.5",
- "@webassemblyjs/helper-module-context": "1.8.5",
- "@webassemblyjs/wasm-edit": "1.8.5",
- "@webassemblyjs/wasm-parser": "1.8.5",
- "acorn": "^6.2.1",
+ "@webassemblyjs/ast": "1.9.0",
+ "@webassemblyjs/helper-module-context": "1.9.0",
+ "@webassemblyjs/wasm-edit": "1.9.0",
+ "@webassemblyjs/wasm-parser": "1.9.0",
+ "acorn": "^6.4.1",
"ajv": "^6.10.2",
"ajv-keywords": "^3.4.1",
"chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^4.1.0",
+ "enhanced-resolve": "^4.3.0",
"eslint-scope": "^4.0.3",
"json-parse-better-errors": "^1.0.2",
"loader-runner": "^2.4.0",
"loader-utils": "^1.2.3",
"memory-fs": "^0.4.1",
"micromatch": "^3.1.10",
- "mkdirp": "^0.5.1",
+ "mkdirp": "^0.5.3",
"neo-async": "^2.6.1",
"node-libs-browser": "^2.2.1",
"schema-utils": "^1.0.0",
"tapable": "^1.1.3",
"terser-webpack-plugin": "^1.4.3",
- "watchpack": "^1.6.0",
+ "watchpack": "^1.7.4",
"webpack-sources": "^1.4.1"
},
"dependencies": {
"acorn": {
- "version": "6.4.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz",
- "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==",
+ "version": "6.4.2",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
+ "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
"dev": true
},
"braces": {
@@ -20843,6 +20837,17 @@
"figgy-pudding": "^3.5.1"
}
},
+ "terser": {
+ "version": "4.8.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
+ "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
+ "dev": true,
+ "requires": {
+ "commander": "^2.20.0",
+ "source-map": "~0.6.1",
+ "source-map-support": "~0.5.12"
+ }
+ },
"terser-webpack-plugin": {
"version": "1.4.5",
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
@@ -20965,6 +20970,12 @@
}
}
},
+ "binary-extensions": {
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
+ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
+ "dev": true
+ },
"braces": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
@@ -21015,12 +21026,12 @@
}
},
"debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
+ "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
"dev": true,
"requires": {
- "ms": "^2.1.1"
+ "ms": "2.1.2"
}
},
"fill-range": {
@@ -21051,7 +21062,32 @@
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
"integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "bindings": "^1.5.0",
+ "nan": "^2.12.1"
+ }
+ },
+ "glob-parent": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "dev": true,
+ "requires": {
+ "is-glob": "^3.1.0",
+ "path-dirname": "^1.0.0"
+ },
+ "dependencies": {
+ "is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.0"
+ }
+ }
+ }
},
"is-absolute-url": {
"version": "3.0.3",
@@ -21193,9 +21229,9 @@
}
},
"webpack-subresource-integrity": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.4.0.tgz",
- "integrity": "sha512-GB1kB/LwAWC3CxwcedGhMkxGpNZxSheCe1q+KJP1bakuieAdX/rGHEcf5zsEzhKXpqsGqokgsDoD9dIkr61VDQ==",
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.4.1.tgz",
+ "integrity": "sha512-XMLFInbGbB1HV7K4vHWANzc1CN0t/c4bBvnlvGxGwV45yE/S/feAXIm8dJsCkzqWtSKnmaEgTp/meyeThxG4Iw==",
"dev": true,
"requires": {
"webpack-sources": "^1.3.0"
@@ -21216,6 +21252,23 @@
"integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==",
"dev": true
},
+ "whatwg-mimetype": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
+ "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
+ "dev": true
+ },
+ "whatwg-url": {
+ "version": "8.4.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.4.0.tgz",
+ "integrity": "sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw==",
+ "dev": true,
+ "requires": {
+ "lodash.sortby": "^4.7.0",
+ "tr46": "^2.0.2",
+ "webidl-conversions": "^6.1.0"
+ }
+ },
"when": {
"version": "3.6.4",
"resolved": "https://registry.npmjs.org/when/-/when-3.6.4.tgz",
@@ -21226,6 +21279,7 @@
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
"requires": {
"isexe": "^2.0.0"
}
@@ -21236,49 +21290,6 @@
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
"dev": true
},
- "widest-line": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz",
- "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==",
- "dev": true,
- "requires": {
- "string-width": "^4.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "string-width": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
- "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.0"
- }
- }
- }
- },
"word-wrap": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
@@ -21301,9 +21312,9 @@
}
},
"worker-plugin": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/worker-plugin/-/worker-plugin-4.0.3.tgz",
- "integrity": "sha512-7hFDYWiKcE3yHZvemsoM9lZis/PzurHAEX1ej8PLCu818Rt6QqUAiDdxHPCKZctzmhqzPpcFSgvMCiPbtooqAg==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/worker-plugin/-/worker-plugin-5.0.0.tgz",
+ "integrity": "sha512-AXMUstURCxDD6yGam2r4E34aJg6kW85IiaeX72hi+I1cxyaMUtrvVY6sbfpGKAj5e7f68Acl62BjQF5aOOx2IQ==",
"dev": true,
"requires": {
"loader-utils": "^1.1.0"
@@ -21417,12 +21428,6 @@
"async-limiter": "~1.0.0"
}
},
- "xdg-basedir": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
- "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==",
- "dev": true
- },
"xhr2": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/xhr2/-/xhr2-0.2.0.tgz",
@@ -21517,55 +21522,12 @@
"integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
"dev": true
},
- "find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
- "dev": true,
- "requires": {
- "locate-path": "^3.0.0"
- }
- },
"is-fullwidth-code-point": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
"dev": true
},
- "locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
- "dev": true,
- "requires": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
- }
- },
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
- "dev": true,
- "requires": {
- "p-limit": "^2.0.0"
- }
- },
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true
- },
"string-width": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
diff --git a/package.json b/package.json
index 959d1837c0..ee4f176af5 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "stratos",
- "version": "4.3.0",
+ "version": "4.4.0",
"description": "Stratos Console",
"main": "index.js",
"scripts": {
@@ -29,6 +29,7 @@
"test-frontend:cf-autoscaler": "NG_TEST_SUITE=autoscaler ng test cf-autoscaler --code-coverage --watch=false",
"test-frontend:extensions": "NG_TEST_SUITE=extensions ng test extensions --code-coverage --watch=false",
"test-frontend:kubernetes": "NG_TEST_SUITE=kubernetes ng test kubernetes --code-coverage --watch=false",
+ "test-frontend:git": "NG_TEST_SUITE=git ng test git --code-coverage --watch=false",
"posttest": "nyc report --reporter=html --reporter=lcovonly --reporter=json --tempDir=coverage/nyc",
"codecov": "codecov -f coverage/coverage-final.json -F frontend",
"lint": "ng lint --format stylish",
@@ -49,28 +50,28 @@
"author": "",
"license": "Apache-2.0",
"dependencies": {
- "@angular/animations": "^9.1.6",
- "@angular/cdk": "^9.2.3",
- "@angular/common": "^9.1.6",
- "@angular/compiler": "^9.1.6",
- "@angular/core": "^9.1.6",
- "@angular/flex-layout": "^9.0.0-beta.29",
- "@angular/forms": "^9.1.6",
- "@angular/material": "^9.2.3",
- "@angular/material-moment-adapter": "^9.2.3",
- "@angular/platform-browser": "^9.1.6",
- "@angular/platform-browser-dynamic": "^9.1.6",
- "@angular/platform-server": "^9.1.6",
- "@angular/router": "^9.1.6",
+ "@angular/animations": "^10.2.0",
+ "@angular/cdk": "^10.2.0",
+ "@angular/common": "^10.2.0",
+ "@angular/compiler": "^10.2.0",
+ "@angular/core": "^10.2.0",
+ "@angular/flex-layout": "^10.0.0-beta.32",
+ "@angular/forms": "^10.2.0",
+ "@angular/material": "^10.2.5",
+ "@angular/material-moment-adapter": "^10.2.5",
+ "@angular/platform-browser": "^10.2.0",
+ "@angular/platform-browser-dynamic": "^10.2.0",
+ "@angular/platform-server": "^10.2.0",
+ "@angular/router": "^10.2.0",
"@cfstratos/ajsf-material": "^0.1.6",
"@cfstratos/monaco-yaml": "^2.5.0",
- "@ngrx/effects": "^9.1.2",
- "@ngrx/router-store": "^9.1.2",
- "@ngrx/store": "^9.1.2",
- "@ngrx/store-devtools": "^9.1.2",
- "@swimlane/ngx-charts": "^13.0.3",
- "@swimlane/ngx-graph": "^7.0.1",
- "@types/marked": "^0.7.4",
+ "@ngrx/effects": "^10.0.1",
+ "@ngrx/router-store": "^10.0.1",
+ "@ngrx/store": "^10.0.1",
+ "@ngrx/store-devtools": "^10.0.1",
+ "@swimlane/ngx-charts": "^16.0.0",
+ "@swimlane/ngx-graph": "^7.2.0",
+ "@types/marked": "^1.1.0",
"@types/moment-timezone": "^0.5.13",
"angular2-virtual-scroll": "^0.4.16",
"core-js": "^3.6.5",
@@ -78,19 +79,19 @@
"intersect": "^1.0.1",
"lodash-es": "^4.17.14",
"mappy-breakpoints": "^0.2.3",
- "marked": "^0.8.2",
+ "marked": "^1.1.0",
"moment": "^2.24.0",
- "moment-timezone": "^0.5.28",
- "ngrx-store-localstorage": "9.0.0",
+ "moment-timezone": "^0.5.13",
+ "ngrx-store-localstorage": "10.1.1",
"ngx-moment": "^3.5.0",
"ngx-monaco-editor": "^9.0.0",
"normalizr": "^3.6.0",
"reselect": "^4.0.0",
- "rxjs": "^6.5.5",
- "rxjs-spy": "^7.0.2",
+ "rxjs": "^6.6.3",
+ "rxjs-spy": "^7.5.2",
"rxjs-websockets": "~8.0.1",
"ts-md5": "^1.2.7",
- "tslib": "^1.10.0",
+ "tslib": "^2.0.3",
"web-animations-js": "^2.3.2",
"xterm": "^4.5.0",
"xterm-addon-fit": "^0.3.0",
@@ -101,18 +102,19 @@
"node": "12.13.0"
},
"devDependencies": {
- "@angular-builders/custom-webpack": "^9.1.0",
- "@angular-devkit/architect": "^0.901.7",
- "@angular-devkit/build-angular": "^0.901.12",
- "@angular-devkit/build-ng-packagr": "~0.901.5",
- "@angular-devkit/core": "^9.1.7",
- "@angular-devkit/schematics": "^9.1.5",
- "@angular/cli": "^9.1.5",
- "@angular/compiler-cli": "^9.1.6",
- "@angular/language-service": "^9.1.6",
+ "@angular-builders/custom-webpack": "^10.0.1",
+ "@angular-devkit/architect": "^0.1002.0",
+ "@angular-devkit/build-angular": "^0.1002.0",
+ "@angular-devkit/build-ng-packagr": "~0.1002.0",
+ "@angular-devkit/core": "^10.2.0",
+ "@angular-devkit/schematics": "^10.2.0",
+ "@angular/cli": "^10.2.0",
+ "@angular/compiler-cli": "^10.2.0",
+ "@angular/language-service": "^10.2.0",
"@schematics/angular": "^9.1.5",
"@types/jasmine": "^3.5.10",
"@types/jasminewd2": "~2.0.8",
+ "@types/js-yaml": "^3.12.5",
"@types/karma": "^5.0.0",
"@types/node": "^13.11.1",
"@types/request": "^2.48.4",
@@ -120,10 +122,10 @@
"adm-zip": "^0.4.16",
"browserstack-local": "^1.4.5",
"codecov": "^3.7.1",
- "codelyzer": "^5.1.2",
+ "codelyzer": "^6.0.1",
"copy-webpack-plugin": "^6.2.0",
"delete": "^1.1.0",
- "fs-extra": "^9.0.0",
+ "fs-extra": "^9.0.1",
"globby": "^11.0.0",
"istanbul": "^0.4.5",
"istanbul-api": "2.1.6",
@@ -131,7 +133,7 @@
"jasmine-core": "~3.5.0",
"jasmine-protractor-browser-log-reporter": "cf-stratos/jasmine-protractor-browser-log-reporter",
"jasmine-spec-reporter": "~5.0.1",
- "js-yaml": "~3.13.1",
+ "js-yaml": "~3.14.0",
"json-schema-to-typescript": "^9.1.0",
"karma": "~5.0.1",
"karma-chrome-launcher": "~3.1.0",
@@ -141,10 +143,9 @@
"karma-jasmine-html-reporter": "^1.5.3",
"karma-spec-reporter": "0.0.32",
"kind-of": "^6.0.3",
- "lodash": "^4.17.19",
"mem": "6.1.0",
"mktemp": "^1.0.0",
- "ng-packagr": "^9.1.1",
+ "ng-packagr": "^10.1.2",
"npm-run-all": "^4.1.5",
"nyc": "^15.1.0",
"protractor": "^5.4.3",
@@ -156,7 +157,7 @@
"sass-lint": "^1.12.1",
"stratos-protractor-reporter": "^1.2.3",
"ts-node": "^8.8.2",
- "tslint": "~6.1.1",
- "typescript": "3.8.3"
+ "tslint": "~6.1.0",
+ "typescript": "4.0.5"
}
}
diff --git a/src/frontend/packages/cf-autoscaler/src/features/edit-autoscaler-credential/edit-autoscaler-credential.component.ts b/src/frontend/packages/cf-autoscaler/src/features/edit-autoscaler-credential/edit-autoscaler-credential.component.ts
index d327f4bf5b..55d26acc8e 100644
--- a/src/frontend/packages/cf-autoscaler/src/features/edit-autoscaler-credential/edit-autoscaler-credential.component.ts
+++ b/src/frontend/packages/cf-autoscaler/src/features/edit-autoscaler-credential/edit-autoscaler-credential.component.ts
@@ -120,7 +120,7 @@ export class EditAutoscalerCredentialComponent implements OnInit, OnDestroy {
...creds,
authHeader: 'basic ' + btoa(`${creds.username}:${creds.password}`),
fullUrl: `${creds.url}/v1/apps/${creds.app_id}/metrics`
- }
+ };
}),
publishReplay(1),
refCount()
diff --git a/src/frontend/packages/cf-autoscaler/src/features/edit-autoscaler-policy/edit-autoscaler-policy-base-step.ts b/src/frontend/packages/cf-autoscaler/src/features/edit-autoscaler-policy/edit-autoscaler-policy-base-step.ts
index caf16f5694..a4d28a3ea1 100644
--- a/src/frontend/packages/cf-autoscaler/src/features/edit-autoscaler-policy/edit-autoscaler-policy-base-step.ts
+++ b/src/frontend/packages/cf-autoscaler/src/features/edit-autoscaler-policy/edit-autoscaler-policy-base-step.ts
@@ -1,4 +1,4 @@
-import { OnInit } from '@angular/core';
+import { Directive, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { Observable, of } from 'rxjs';
import { map } from 'rxjs/operators';
@@ -7,7 +7,8 @@ import { StepOnNextFunction } from '../../../../core/src/shared/components/stepp
import { AppAutoscalerPolicy, AppAutoscalerPolicyLocal } from '../../store/app-autoscaler.types';
import { EditAutoscalerPolicyService } from './edit-autoscaler-policy-service';
-export abstract class EditAutoscalerPolicy implements OnInit {
+@Directive()
+export abstract class EditAutoscalerPolicyDirective implements OnInit {
public currentPolicy: AppAutoscalerPolicyLocal;
public appAutoscalerPolicy$: Observable;
protected isCreate = false;
@@ -31,5 +32,5 @@ export abstract class EditAutoscalerPolicy implements OnInit {
onNext: StepOnNextFunction = () => {
this.service.setState(this.currentPolicy);
return of({ success: true });
- }
+ };
}
diff --git a/src/frontend/packages/cf-autoscaler/src/features/edit-autoscaler-policy/edit-autoscaler-policy-step1/edit-autoscaler-policy-step1.component.ts b/src/frontend/packages/cf-autoscaler/src/features/edit-autoscaler-policy/edit-autoscaler-policy-step1/edit-autoscaler-policy-step1.component.ts
index 1ff96089b9..3437024abe 100644
--- a/src/frontend/packages/cf-autoscaler/src/features/edit-autoscaler-policy/edit-autoscaler-policy-step1/edit-autoscaler-policy-step1.component.ts
+++ b/src/frontend/packages/cf-autoscaler/src/features/edit-autoscaler-policy/edit-autoscaler-policy-step1/edit-autoscaler-policy-step1.component.ts
@@ -11,7 +11,7 @@ import { StepOnNextFunction } from '../../../../../core/src/shared/components/st
import { autoscalerTransformArrayToMap } from '../../../core/autoscaler-helpers/autoscaler-transform-policy';
import { PolicyAlert } from '../../../core/autoscaler-helpers/autoscaler-util';
import { numberWithFractionOrExceedRange } from '../../../core/autoscaler-helpers/autoscaler-validation';
-import { EditAutoscalerPolicy } from '../edit-autoscaler-policy-base-step';
+import { EditAutoscalerPolicyDirective } from '../edit-autoscaler-policy-base-step';
import { EditAutoscalerPolicyService } from '../edit-autoscaler-policy-service';
@Component({
@@ -22,7 +22,7 @@ import { EditAutoscalerPolicyService } from '../edit-autoscaler-policy-service';
{ provide: ErrorStateMatcher, useClass: ShowOnDirtyErrorStateMatcher }
]
})
-export class EditAutoscalerPolicyStep1Component extends EditAutoscalerPolicy implements OnInit {
+export class EditAutoscalerPolicyStep1Component extends EditAutoscalerPolicyDirective implements OnInit {
policyAlert = PolicyAlert;
timezoneOptions = moment.tz.names();
@@ -68,10 +68,10 @@ export class EditAutoscalerPolicyStep1Component extends EditAutoscalerPolicy imp
this.currentPolicy.schedules.timezone = this.editLimitForm.get('timezone').value;
this.service.setState(this.currentPolicy);
return observableOf({ success: true });
- }
+ };
validateGlobalLimitMin(): ValidatorFn {
- return (control: AbstractControl): { [key: string]: any } => {
+ return (control: AbstractControl): { [key: string]: any, } => {
const invalid = this.editLimitForm ?
numberWithFractionOrExceedRange(control.value, 1, this.editLimitForm.get('instance_max_count').value - 1, true) : false;
const lastValid = this.editLimitValid;
@@ -84,7 +84,7 @@ export class EditAutoscalerPolicyStep1Component extends EditAutoscalerPolicy imp
}
validateGlobalLimitMax(): ValidatorFn {
- return (control: AbstractControl): { [key: string]: any } => {
+ return (control: AbstractControl): { [key: string]: any, } => {
const invalid = this.editLimitForm ? numberWithFractionOrExceedRange(control.value,
this.editLimitForm.get('instance_min_count').value + 1, Number.MAX_VALUE, true) : false;
const lastValid = this.editLimitValid;
diff --git a/src/frontend/packages/cf-autoscaler/src/features/edit-autoscaler-policy/edit-autoscaler-policy-step2/edit-autoscaler-policy-step2.component.ts b/src/frontend/packages/cf-autoscaler/src/features/edit-autoscaler-policy/edit-autoscaler-policy-step2/edit-autoscaler-policy-step2.component.ts
index 3c4df6dc89..05c2a6591b 100644
--- a/src/frontend/packages/cf-autoscaler/src/features/edit-autoscaler-policy/edit-autoscaler-policy-step2/edit-autoscaler-policy-step2.component.ts
+++ b/src/frontend/packages/cf-autoscaler/src/features/edit-autoscaler-policy/edit-autoscaler-policy-step2/edit-autoscaler-policy-step2.component.ts
@@ -20,7 +20,7 @@ import {
numberWithFractionOrExceedRange,
} from '../../../core/autoscaler-helpers/autoscaler-validation';
import { AppAutoscalerInvalidPolicyError, AppAutoscalerPolicyLocal } from '../../../store/app-autoscaler.types';
-import { EditAutoscalerPolicy } from '../edit-autoscaler-policy-base-step';
+import { EditAutoscalerPolicyDirective } from '../edit-autoscaler-policy-base-step';
import { EditAutoscalerPolicyService } from '../edit-autoscaler-policy-service';
@Component({
@@ -31,7 +31,7 @@ import { EditAutoscalerPolicyService } from '../edit-autoscaler-policy-service';
{ provide: ErrorStateMatcher, useClass: ShowOnDirtyErrorStateMatcher }
]
})
-export class EditAutoscalerPolicyStep2Component extends EditAutoscalerPolicy implements OnInit, OnDestroy {
+export class EditAutoscalerPolicyStep2Component extends EditAutoscalerPolicyDirective implements OnInit, OnDestroy {
policyAlert = PolicyAlert;
metricTypes = AutoscalerConstants.MetricTypes;
@@ -83,14 +83,14 @@ export class EditAutoscalerPolicyStep2Component extends EditAutoscalerPolicy imp
this.filteredMetricTypes$ = this.editTriggerForm.controls.metric_type.valueChanges.pipe(
startWith(''),
map(value => this.metricTypes.filter(type => type.toLocaleLowerCase().includes(value)))
- )
+ );
}
addTrigger = () => {
const { ...newTrigger } = AutoscalerConstants.PolicyDefaultTrigger;
this.currentPolicy.scaling_rules_form.push(newTrigger);
this.editTrigger(this.currentPolicy.scaling_rules_form.length - 1);
- }
+ };
removeTrigger(index: number) {
if (this.editIndex === index) {
@@ -143,7 +143,7 @@ export class EditAutoscalerPolicyStep2Component extends EditAutoscalerPolicy imp
}
validateTriggerMetricType(): ValidatorFn {
- return (control: AbstractControl): { [key: string]: any } => {
+ return (control: AbstractControl): { [key: string]: any, } => {
if (!this.editTriggerForm) {
return null;
}
@@ -158,7 +158,7 @@ export class EditAutoscalerPolicyStep2Component extends EditAutoscalerPolicy imp
}
validateTriggerOperator(): ValidatorFn {
- return (control: AbstractControl): { [key: string]: any } => {
+ return (control: AbstractControl): { [key: string]: any, } => {
if (this.editTriggerForm) {
this.editScaleType = getScaleType(control.value);
this.editTriggerForm.controls.threshold.updateValueAndValidity();
@@ -168,7 +168,7 @@ export class EditAutoscalerPolicyStep2Component extends EditAutoscalerPolicy imp
}
validateTriggerThreshold(): ValidatorFn {
- return (control: AbstractControl): { [key: string]: any } => {
+ return (control: AbstractControl): { [key: string]: any, } => {
if (!this.editTriggerForm) {
return null;
}
@@ -188,7 +188,7 @@ export class EditAutoscalerPolicyStep2Component extends EditAutoscalerPolicy imp
}
validateTriggerAdjustment(): ValidatorFn {
- return (control: AbstractControl): { [key: string]: any } => {
+ return (control: AbstractControl): { [key: string]: any, } => {
if (!this.editTriggerForm) {
return null;
}
@@ -202,7 +202,7 @@ export class EditAutoscalerPolicyStep2Component extends EditAutoscalerPolicy imp
}
validateTriggerAdjustmentType(): ValidatorFn {
- return (control: AbstractControl): { [key: string]: any } => {
+ return (control: AbstractControl): { [key: string]: any, } => {
if (this.editTriggerForm) {
this.editAdjustmentType = control.value;
this.editTriggerForm.controls.adjustment.updateValueAndValidity();
diff --git a/src/frontend/packages/cf-autoscaler/src/features/edit-autoscaler-policy/edit-autoscaler-policy-step3/edit-autoscaler-policy-step3.component.ts b/src/frontend/packages/cf-autoscaler/src/features/edit-autoscaler-policy/edit-autoscaler-policy-step3/edit-autoscaler-policy-step3.component.ts
index a8d47f628b..3c6f533784 100644
--- a/src/frontend/packages/cf-autoscaler/src/features/edit-autoscaler-policy/edit-autoscaler-policy-step3/edit-autoscaler-policy-step3.component.ts
+++ b/src/frontend/packages/cf-autoscaler/src/features/edit-autoscaler-policy/edit-autoscaler-policy-step3/edit-autoscaler-policy-step3.component.ts
@@ -13,7 +13,7 @@ import {
timeIsSameOrAfter,
} from '../../../core/autoscaler-helpers/autoscaler-validation';
import { AppAutoscalerInvalidPolicyError, AppAutoscalerPolicyLocal } from '../../../store/app-autoscaler.types';
-import { EditAutoscalerPolicy } from '../edit-autoscaler-policy-base-step';
+import { EditAutoscalerPolicyDirective } from '../edit-autoscaler-policy-base-step';
import { EditAutoscalerPolicyService } from '../edit-autoscaler-policy-service';
import {
validateRecurringSpecificMax,
@@ -28,7 +28,7 @@ import {
{ provide: ErrorStateMatcher, useClass: ShowOnDirtyErrorStateMatcher }
]
})
-export class EditAutoscalerPolicyStep3Component extends EditAutoscalerPolicy implements OnInit {
+export class EditAutoscalerPolicyStep3Component extends EditAutoscalerPolicyDirective implements OnInit {
policyAlert = PolicyAlert;
weekdayOptions = AutoscalerConstants.WeekdayOptions;
@@ -71,7 +71,7 @@ export class EditAutoscalerPolicyStep3Component extends EditAutoscalerPolicy imp
const { ...newSchedule } = AutoscalerConstants.PolicyDefaultRecurringSchedule;
this.currentPolicy.schedules.recurring_schedule.push(newSchedule);
this.editRecurringSchedule(this.currentPolicy.schedules.recurring_schedule.length - 1);
- }
+ };
removeRecurringSchedule(index: number) {
if (this.editIndex === index) {
@@ -160,7 +160,7 @@ export class EditAutoscalerPolicyStep3Component extends EditAutoscalerPolicy imp
}
validateRecurringScheduleGlobal(controlName?: string): ValidatorFn {
- return (control: AbstractControl): { [key: string]: any } => {
+ return (control: AbstractControl): { [key: string]: any, } => {
if (this.editRecurringScheduleForm) {
if (controlName === 'repeat_type') {
this.editRepeatType = control.value;
@@ -177,7 +177,7 @@ export class EditAutoscalerPolicyStep3Component extends EditAutoscalerPolicy imp
}
validateRecurringScheduleInitialMin(): ValidatorFn {
- return (control: AbstractControl): { [key: string]: any } => {
+ return (control: AbstractControl): { [key: string]: any, } => {
const invalid = this.editRecurringScheduleForm &&
numberWithFractionOrExceedRange(control.value, this.editRecurringScheduleForm.get('instance_min_count').value,
this.editRecurringScheduleForm.get('instance_max_count').value + 1, false);
@@ -186,7 +186,7 @@ export class EditAutoscalerPolicyStep3Component extends EditAutoscalerPolicy imp
}
validateRecurringScheduleDate(mutualName: string): ValidatorFn {
- return (control: AbstractControl): { [key: string]: any } => {
+ return (control: AbstractControl): { [key: string]: any, } => {
if (this.editEffectiveType === 'always') {
return null;
}
@@ -206,7 +206,7 @@ export class EditAutoscalerPolicyStep3Component extends EditAutoscalerPolicy imp
}
validateRecurringScheduleTime(mutualName: string): ValidatorFn {
- return (control: AbstractControl): { [key: string]: any } => {
+ return (control: AbstractControl): { [key: string]: any, } => {
const invalid = this.editRecurringScheduleForm &&
timeIsSameOrAfter(this.editRecurringScheduleForm.get('start_time').value, this.editRecurringScheduleForm.get('end_time').value);
const lastValid = this.editMutualValidation.time;
@@ -217,7 +217,7 @@ export class EditAutoscalerPolicyStep3Component extends EditAutoscalerPolicy imp
}
validateRecurringScheduleWeekMonth(): ValidatorFn {
- return (control: AbstractControl): { [key: string]: any } => {
+ return (control: AbstractControl): { [key: string]: any, } => {
const newSchedule: any = {
start_time: this.editRecurringScheduleForm.get('start_time').value,
end_time: this.editRecurringScheduleForm.get('end_time').value
diff --git a/src/frontend/packages/cf-autoscaler/src/features/edit-autoscaler-policy/edit-autoscaler-policy-step4/edit-autoscaler-policy-step4.component.ts b/src/frontend/packages/cf-autoscaler/src/features/edit-autoscaler-policy/edit-autoscaler-policy-step4/edit-autoscaler-policy-step4.component.ts
index 3050f2caad..f0f42fdc32 100644
--- a/src/frontend/packages/cf-autoscaler/src/features/edit-autoscaler-policy/edit-autoscaler-policy-step4/edit-autoscaler-policy-step4.component.ts
+++ b/src/frontend/packages/cf-autoscaler/src/features/edit-autoscaler-policy/edit-autoscaler-policy-step4/edit-autoscaler-policy-step4.component.ts
@@ -25,7 +25,7 @@ import {
AppAutoscalerPolicyLocal,
AppSpecificDate,
} from '../../../store/app-autoscaler.types';
-import { EditAutoscalerPolicy } from '../edit-autoscaler-policy-base-step';
+import { EditAutoscalerPolicyDirective } from '../edit-autoscaler-policy-base-step';
import { EditAutoscalerPolicyService } from '../edit-autoscaler-policy-service';
@Component({
@@ -36,7 +36,7 @@ import { EditAutoscalerPolicyService } from '../edit-autoscaler-policy-service';
{ provide: ErrorStateMatcher, useClass: ShowOnDirtyErrorStateMatcher }
]
})
-export class EditAutoscalerPolicyStep4Component extends EditAutoscalerPolicy implements OnInit {
+export class EditAutoscalerPolicyStep4Component extends EditAutoscalerPolicyDirective implements OnInit {
policyAlert = PolicyAlert;
editSpecificDateForm: FormGroup;
@@ -102,9 +102,9 @@ export class EditAutoscalerPolicyStep4Component extends EditAutoscalerPolicy imp
})),
first(),
);
- }
+ };
- private getStateResult(info: RequestInfoState): { error: boolean, message: string } {
+ private getStateResult(info: RequestInfoState): { error: boolean, message: string, } {
if (this.isCreate) {
return {
error: info.error,
@@ -129,7 +129,7 @@ export class EditAutoscalerPolicyStep4Component extends EditAutoscalerPolicy imp
const { ...newSchedule } = AutoscalerConstants.PolicyDefaultSpecificDate;
this.currentPolicy.schedules.specific_date.push(newSchedule);
this.editSpecificDate(this.currentPolicy.schedules.specific_date.length - 1);
- }
+ };
removeSpecificDate(index: number) {
if (this.editIndex === index) {
@@ -170,7 +170,7 @@ export class EditAutoscalerPolicyStep4Component extends EditAutoscalerPolicy imp
}
validateSpecificDateInitialMin(): ValidatorFn {
- return (control: AbstractControl): { [key: string]: any } => {
+ return (control: AbstractControl): { [key: string]: any, } => {
const invalid = this.editSpecificDateForm && numberWithFractionOrExceedRange(control.value,
this.editSpecificDateForm.get('instance_min_count').value, this.editSpecificDateForm.get('instance_max_count').value + 1, false);
return invalid ? { alertInvalidPolicyInitialMaximumRange: { value: control.value } } : null;
@@ -178,7 +178,7 @@ export class EditAutoscalerPolicyStep4Component extends EditAutoscalerPolicy imp
}
validateSpecificDateStartDateTime(): ValidatorFn {
- return (control: AbstractControl): { [key: string]: any } => {
+ return (control: AbstractControl): { [key: string]: any, } => {
if (!this.editSpecificDateForm) {
return null;
}
@@ -211,7 +211,7 @@ export class EditAutoscalerPolicyStep4Component extends EditAutoscalerPolicy imp
}
validateSpecificDateEndDateTime(): ValidatorFn {
- return (control: AbstractControl): { [key: string]: any } => {
+ return (control: AbstractControl): { [key: string]: any, } => {
if (!this.editSpecificDateForm) {
return null;
}
@@ -251,7 +251,7 @@ export class EditAutoscalerPolicyStep4Component extends EditAutoscalerPolicy imp
}
export function validateRecurringSpecificMin(editForm, editMutualValidation): ValidatorFn {
- return (control: AbstractControl): { [key: string]: any } => {
+ return (control: AbstractControl): { [key: string]: any, } => {
const invalid = editForm &&
numberWithFractionOrExceedRange(control.value, 1, editForm.get('instance_max_count').value - 1, true);
const lastValid = editMutualValidation.limit;
@@ -267,7 +267,7 @@ export function validateRecurringSpecificMin(editForm, editMutualValidation): Va
}
export function validateRecurringSpecificMax(editForm, editMutualValidation): ValidatorFn {
- return (control: AbstractControl): { [key: string]: any } => {
+ return (control: AbstractControl): { [key: string]: any, } => {
const invalid = editForm && numberWithFractionOrExceedRange(control.value,
editForm.get('instance_min_count').value + 1, Number.MAX_VALUE, true);
const lastValid = editMutualValidation.limit;
diff --git a/src/frontend/packages/cf-autoscaler/src/shared/list-types/app-autoscaler-metric-chart/app-autoscaler-metric-chart-card/app-autoscaler-metric-chart-card.component.ts b/src/frontend/packages/cf-autoscaler/src/shared/list-types/app-autoscaler-metric-chart/app-autoscaler-metric-chart-card/app-autoscaler-metric-chart-card.component.ts
index 975c4b8828..a4523f0b39 100644
--- a/src/frontend/packages/cf-autoscaler/src/shared/list-types/app-autoscaler-metric-chart/app-autoscaler-metric-chart-card/app-autoscaler-metric-chart-card.component.ts
+++ b/src/frontend/packages/cf-autoscaler/src/shared/list-types/app-autoscaler-metric-chart/app-autoscaler-metric-chart-card/app-autoscaler-metric-chart-card.component.ts
@@ -62,6 +62,7 @@ export class AppAutoscalerMetricChartCardComponent extends CardCell) {
+ super.row = row;
if (row) {
if (row.entity.query && row.entity.query.params) {
this.paramsMetricsStart = row.entity.query.params.start * 1000;
diff --git a/src/frontend/packages/cf-autoscaler/src/store/autoscaler-entity-generator.ts b/src/frontend/packages/cf-autoscaler/src/store/autoscaler-entity-generator.ts
index 4e71099074..a4b5d860bb 100644
--- a/src/frontend/packages/cf-autoscaler/src/store/autoscaler-entity-generator.ts
+++ b/src/frontend/packages/cf-autoscaler/src/store/autoscaler-entity-generator.ts
@@ -1,4 +1,3 @@
-import { IOrgFavMetadata } from '../../../cloud-foundry/src/cf-metadata-types';
import {
StratosBaseCatalogEntity,
StratosCatalogEntity,
@@ -114,5 +113,5 @@ function generateMetricEntity(endpointDefinition: IStratosEndpointDefinition) {
labelPlural: 'Autoscaler Metrics',
endpoint: endpointDefinition,
};
- return new StratosCatalogEntity>(definition);
+ return new StratosCatalogEntity>(definition);
}
diff --git a/src/frontend/packages/cf-autoscaler/src/store/autoscaler.store.module.ts b/src/frontend/packages/cf-autoscaler/src/store/autoscaler.store.module.ts
deleted file mode 100644
index ccb391a42f..0000000000
--- a/src/frontend/packages/cf-autoscaler/src/store/autoscaler.store.module.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-// import { NgModule } from '@angular/core';
-
-// import { CoreModule } from '../../../core/src/core/core.module';
-// import { StratosExtension } from '../../../core/src/core/extension/extension-service';
-// import { ExtensionEntitySchema } from '../../../core/src/core/extension/extension-types';
-// import { getAPIResourceGuid } from '../../../store/src/selectors/api.selectors';
-
-// export const appAutoscalerHealthSchemaKey = 'autoscalerHealth';
-// export const appAutoscalerInfoSchemaKey = 'autoscalerInfo';
-// export const appAutoscalerPolicySchemaKey = 'autoscalerPolicy';
-// export const appAutoscalerPolicyTriggerSchemaKey = 'autoscalerPolicyTrigger';
-// export const appAutoscalerScalingHistorySchemaKey = 'autoscalerScalingHistory';
-// export const appAutoscalerAppMetricSchemaKey = 'autoscalerAppMetric';
-
-// export const autoscalerEntities: ExtensionEntitySchema[] = [
-// {
-// entityKey: appAutoscalerInfoSchemaKey,
-// definition: {},
-// options: { idAttribute: getAPIResourceGuid }
-// },
-// {
-// entityKey: appAutoscalerPolicySchemaKey,
-// definition: {},
-// options: { idAttribute: getAPIResourceGuid }
-// },
-// {
-// entityKey: appAutoscalerPolicyTriggerSchemaKey,
-// definition: {},
-// options: { idAttribute: getAPIResourceGuid }
-// },
-// {
-// entityKey: appAutoscalerHealthSchemaKey,
-// definition: {},
-// options: { idAttribute: getAPIResourceGuid }
-// },
-// {
-// entityKey: appAutoscalerScalingHistorySchemaKey,
-// definition: {},
-// options: { idAttribute: getAPIResourceGuid }
-// },
-// {
-// entityKey: appAutoscalerAppMetricSchemaKey,
-// definition: {},
-// options: { idAttribute: getAPIResourceGuid }
-// },
-// ];
-
-// @StratosExtension({
-// entities: autoscalerEntities,
-// })
-// @NgModule({
-// imports: [
-// CoreModule
-// ]
-// })
-// export class AutoscalerStoreModule { }
diff --git a/src/frontend/packages/cloud-foundry/package.json b/src/frontend/packages/cloud-foundry/package.json
index 2762a0873e..512391fb7b 100644
--- a/src/frontend/packages/cloud-foundry/package.json
+++ b/src/frontend/packages/cloud-foundry/package.json
@@ -3,12 +3,13 @@
"version": "0.0.1",
"peerDependencies": {
"@angular/common": "^6.0.0-rc.0 || ^6.0.0",
- "@angular/core": "^6.0.0-rc.0 || ^6.0.0"
+ "@angular/core": "^6.0.0-rc.0 || ^6.0.0",
+ "@stratosui/git": "^0.0.1"
},
"stratos": {
"module": "CloudFoundryPackageModule",
"routingModule": "CloudFoundryRoutingModule",
"theming": "sass/_all-theme#apply-theme-stratos-cloud-foundry",
- "backend": [ "cloudfoundry", "cfapppush", "cfappssh", "userinvite" ]
+ "backend": ["cloudfoundry", "cfapppush", "cfappssh", "userinvite"]
}
}
diff --git a/src/frontend/packages/cloud-foundry/src/actions/application.actions.ts b/src/frontend/packages/cloud-foundry/src/actions/application.actions.ts
index c1cbe2a808..37a1a2a579 100644
--- a/src/frontend/packages/cloud-foundry/src/actions/application.actions.ts
+++ b/src/frontend/packages/cloud-foundry/src/actions/application.actions.ts
@@ -51,7 +51,7 @@ export class GetAllApplications extends CFStartAction implements PaginatedAction
'GET',
'apps'
);
- this.paginationKey = this.paginationKey || createEntityRelationPaginationKey('cf', endpointGuid)
+ this.paginationKey = this.paginationKey || createEntityRelationPaginationKey('cf', endpointGuid);
}
actions = [GET_ALL, GET_ALL_SUCCESS, GET_ALL_FAILED];
entity = [applicationEntitySchema];
@@ -151,7 +151,7 @@ export class UpdateExistingApplication extends CFStartAction implements ICFActio
...keepFromOld
};
return newEntities;
- }
+ };
}
export class DeleteApplication extends CFStartAction implements ICFAction {
diff --git a/src/frontend/packages/cloud-foundry/src/actions/deploy-applications.actions.ts b/src/frontend/packages/cloud-foundry/src/actions/deploy-applications.actions.ts
index 17c35c2e7f..b22e53da80 100644
--- a/src/frontend/packages/cloud-foundry/src/actions/deploy-applications.actions.ts
+++ b/src/frontend/packages/cloud-foundry/src/actions/deploy-applications.actions.ts
@@ -1,24 +1,15 @@
import { Action } from '@ngrx/store';
+import { GitBranch, GitSCM } from '@stratosui/git';
-import { PaginatedAction } from '../../../store/src/types/pagination.types';
-import { EntityRequestAction } from '../../../store/src/types/request.types';
-import { gitBranchesEntityType, gitCommitEntityType } from '../cf-entity-types';
-import { CF_ENDPOINT_TYPE } from '../cf-types';
-import { GitSCM } from '../shared/data-services/scm/scm';
import { DockerAppDetails, GitAppDetails, OverrideAppDetails, SourceType } from '../store/types/deploy-application.types';
-import { GitBranch, GitCommit } from '../store/types/git.types';
export const SET_APP_SOURCE_DETAILS = '[Deploy App] Application Source';
export const CHECK_PROJECT_EXISTS = '[Deploy App] Check Project exists';
export const PROJECT_DOESNT_EXIST = '[Deploy App] Project Doesn\'t exist';
export const PROJECT_FETCH_FAILED = '[Deploy App] Project Fetch Failed';
export const PROJECT_EXISTS = '[Deploy App] Project exists';
-export const FETCH_BRANCHES_FOR_PROJECT = '[Deploy App] Fetch branches';
-export const FETCH_BRANCH_FOR_PROJECT = '[Deploy App] Fetch branch';
export const SAVE_APP_DETAILS = '[Deploy App] Save app details';
export const SAVE_APP_OVERRIDE_DETAILS = '[Deploy App] Save app override details';
-export const FETCH_COMMIT = '[Deploy App] Fetch commit';
-export const FETCH_COMMITS = '[Deploy App] Fetch commits';
export const SET_DEPLOY_CF_SETTINGS = '[Deploy App] Set CF Settings';
export const DELETE_DEPLOY_APP_SECTION = '[Deploy App] Delete section';
export const SET_BRANCH = '[Deploy App] Set branch';
@@ -26,14 +17,6 @@ export const SET_DEPLOY_BRANCH = '[Deploy App] Set deploy branch';
export const SET_DEPLOY_COMMIT = '[Deploy App] Set deploy commit';
export const DELETE_COMMIT = '[Deploy App] Delete commit';
-export const FETCH_BRANCH_START = '[GitHub] Fetch branch start';
-export const FETCH_BRANCH_SUCCESS = '[GitHub] Fetch branch succeeded';
-export const FETCH_BRANCH_FAILED = '[GitHub] Fetch branch failed';
-
-export const FETCH_BRANCHES_START = '[GitHub] Fetch branches start';
-export const FETCH_BRANCHES_SUCCESS = '[GitHub] Fetch branches succeeded';
-export const FETCH_BRANCHES_FAILED = '[GitHub] Fetch branches failed';
-
export class SetAppSourceDetails implements Action {
constructor(public sourceType: SourceType) { }
type = SET_APP_SOURCE_DETAILS;
@@ -59,38 +42,6 @@ export class ProjectExists implements Action {
type = PROJECT_EXISTS;
}
-export class FetchBranchForProject implements EntityRequestAction {
- constructor(public scm: GitSCM, public projectName: string, public guid: string, public branchName: string) {
- this.guid = this.guid || `${scm.getType()}-${this.projectName}-${this.branchName}`
- }
- actions = [
- FETCH_BRANCH_START,
- FETCH_BRANCH_SUCCESS,
- FETCH_BRANCH_FAILED
- ];
- public endpointType = CF_ENDPOINT_TYPE;
- type = FETCH_BRANCH_FOR_PROJECT;
- entityType = gitBranchesEntityType;
-}
-
-export class FetchBranchesForProject implements PaginatedAction {
- constructor(public scm: GitSCM, public projectName: string) {
- this.paginationKey = FetchBranchesForProject.createPaginationKey(scm, projectName);
- }
- actions = [
- FETCH_BRANCHES_START,
- FETCH_BRANCHES_SUCCESS,
- FETCH_BRANCHES_FAILED
- ];
- public endpointType = CF_ENDPOINT_TYPE;
- type = FETCH_BRANCHES_FOR_PROJECT;
- entityType = gitBranchesEntityType;
- paginationKey: string;
- flattenPagination = true;
-
- static createPaginationKey = (scm: GitSCM, projectName: string) => scm.getType() + ':' + projectName;
-}
-
export class SaveAppDetails implements Action {
constructor(public git: GitAppDetails, public docker: DockerAppDetails) { }
type = SAVE_APP_DETAILS;
@@ -101,39 +52,6 @@ export class SaveAppOverrides implements Action {
type = SAVE_APP_OVERRIDE_DETAILS;
}
-export class FetchCommit implements EntityRequestAction {
- commit: GitCommit;
- public endpointType = CF_ENDPOINT_TYPE;
- constructor(public scm: GitSCM, public commitSha: string, public projectName: string) { }
- type = FETCH_COMMIT;
- entityType = gitCommitEntityType;
-}
-
-export class FetchCommits implements PaginatedAction {
-
- /**
- * Creates an instance of FetchCommits.
- * @param projectName For example `cloudfoundry-incubator/stratos`
- * @param sha Branch name, tag, etc
- */
- constructor(public scm: GitSCM, public projectName: string, public sha: string) {
- this.paginationKey = scm.getType() + projectName + sha;
- }
- actions = [
- '[Deploy App] Fetch commits start',
- '[Deploy App] Fetch commits success',
- '[Deploy App] Fetch commits failed',
- ];
- public endpointType = CF_ENDPOINT_TYPE;
- type = FETCH_COMMITS;
- entityType = gitCommitEntityType;
- paginationKey: string;
- initialParams = {
- 'order-direction': 'asc',
- 'order-direction-field': 'date',
- };
-}
-
export class StoreCFSettings implements Action {
constructor(public cloudFoundryDetails: any) { }
type = SET_DEPLOY_CF_SETTINGS;
diff --git a/src/frontend/packages/cloud-foundry/src/actions/github.actions.ts b/src/frontend/packages/cloud-foundry/src/actions/github.actions.ts
deleted file mode 100644
index c02111909b..0000000000
--- a/src/frontend/packages/cloud-foundry/src/actions/github.actions.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { EntityRequestAction } from '../../../store/src/types/request.types';
-import { gitRepoEntityType } from '../cf-entity-types';
-import { CF_ENDPOINT_TYPE } from '../cf-types';
-import { GitMeta } from '../entity-action-builders/git-action-builder';
-
-export const FETCH_GITHUB_REPO = '[Github] Fetch Github repo details';
-
-export class FetchGitHubRepoInfo implements EntityRequestAction {
- constructor(public meta: GitMeta) {
- this.guid = this.meta.scm.getType() + '-' + this.meta.projectName;
- }
- type = FETCH_GITHUB_REPO;
- endpointType = CF_ENDPOINT_TYPE;
- entityType = gitRepoEntityType;
- public guid: string;
-}
diff --git a/src/frontend/packages/cloud-foundry/src/actions/relations-actions.ts b/src/frontend/packages/cloud-foundry/src/actions/relations-actions.ts
index f268cc8926..898ae3f343 100644
--- a/src/frontend/packages/cloud-foundry/src/actions/relations-actions.ts
+++ b/src/frontend/packages/cloud-foundry/src/actions/relations-actions.ts
@@ -32,4 +32,4 @@ export class CfValidateEntitiesComplete implements Action {
) {
}
-}
\ No newline at end of file
+}
diff --git a/src/frontend/packages/cloud-foundry/src/actions/service-instances.actions.ts b/src/frontend/packages/cloud-foundry/src/actions/service-instances.actions.ts
index b0e98b2aeb..9fc542c81a 100644
--- a/src/frontend/packages/cloud-foundry/src/actions/service-instances.actions.ts
+++ b/src/frontend/packages/cloud-foundry/src/actions/service-instances.actions.ts
@@ -196,7 +196,7 @@ export class ListServiceBindingsForInstance
);
this.initialParams.q = [
new QParam('service_instance_guid', serviceInstanceGuid, QParamJoiners.in).toString(),
- ]
+ ];
}
actions = getActions('Service Instances', 'Get all service bindings for instance');
entity = [cfEntityFactory(serviceBindingNoBindingsEntityType)];
diff --git a/src/frontend/packages/cloud-foundry/src/cf-api.types.ts b/src/frontend/packages/cloud-foundry/src/cf-api.types.ts
index 0449db54d5..1fb68ae4c9 100644
--- a/src/frontend/packages/cloud-foundry/src/cf-api.types.ts
+++ b/src/frontend/packages/cloud-foundry/src/cf-api.types.ts
@@ -361,7 +361,7 @@ export interface CfEvent {
actee_type: string;
actee_name: string;
timestamp: string;
- metadata: { [name: string]: any };
+ metadata: { [name: string]: any, };
space_guid?: string;
organization_guid?: string;
}
@@ -381,4 +381,4 @@ export enum CFFeatureFlagTypes {
space_scoped_private_broker_creation = 'space_scoped_private_broker_creation',
space_developer_env_var_visibility = 'space_developer_env_var_visibility',
service_instance_sharing = 'service_instance_sharing',
-}
\ No newline at end of file
+}
diff --git a/src/frontend/packages/cloud-foundry/src/cf-entity-catalog.ts b/src/frontend/packages/cloud-foundry/src/cf-entity-catalog.ts
index a3db99e684..53317cbeb9 100644
--- a/src/frontend/packages/cloud-foundry/src/cf-entity-catalog.ts
+++ b/src/frontend/packages/cloud-foundry/src/cf-entity-catalog.ts
@@ -3,6 +3,7 @@ import {
StratosCatalogEndpointEntity,
} from '../../store/src/entity-catalog/entity-catalog-entity/entity-catalog-entity';
import { APIResource } from '../../store/src/types/api.types';
+import { IFavoriteMetadata } from '../../store/src/types/user-favorites.types';
import {
IService,
IServiceBinding,
@@ -29,7 +30,7 @@ import {
ISpaceQuotaDefinition,
IStack,
} from './cf-api.types';
-import { IAppFavMetadata, IBasicCFMetaData, IOrgFavMetadata, ISpaceFavMetadata } from './cf-metadata-types';
+import { ISpaceFavMetadata } from './cf-metadata-types';
import { AppEnvVarActionBuilders } from './entity-action-builders/application-env-var.action-builders';
import { AppStatsActionBuilders } from './entity-action-builders/application-stats.action-builders';
import { AppSummaryActionBuilders } from './entity-action-builders/application-summary.action-builders';
@@ -39,12 +40,6 @@ import { CfEventActionBuilders } from './entity-action-builders/cf-event.action-
import { CfInfoDefinitionActionBuilders } from './entity-action-builders/cf-info.action-builders';
import { DomainActionBuilders } from './entity-action-builders/domin.action-builder';
import { FeatureFlagActionBuilders } from './entity-action-builders/feature-flag.action-builder';
-import {
- GitBranchActionBuilders,
- GitCommitActionBuilders,
- GitCommitActionBuildersConfig,
- GitRepoActionBuilders,
-} from './entity-action-builders/git-action-builder';
import { OrganizationActionBuilders } from './entity-action-builders/organization.action-builders';
import { QuotaDefinitionActionBuilder } from './entity-action-builders/quota-definition.action-builders';
import { RoutesActionBuilders } from './entity-action-builders/routes.action-builder';
@@ -62,7 +57,6 @@ import { UserProvidedServiceActionBuilder } from './entity-action-builders/user-
import { UserActionBuilders } from './entity-action-builders/user.action-builders';
import { AppStat } from './store/types/app-metadata.types';
import { CfUser } from './store/types/cf-user.types';
-import { GitBranch, GitCommit, GitRepo } from './store/types/git.types';
/**
* A strongly typed collection of Cloud Foundry Catalog Entities.
@@ -72,151 +66,132 @@ export class CfEntityCatalog {
public cfEndpoint: StratosCatalogEndpointEntity;
public quotaDefinition: StratosBaseCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
QuotaDefinitionActionBuilder
>;
public appEnvVar: StratosBaseCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
AppEnvVarActionBuilders
>;
public appSummary: StratosBaseCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
IAppSummary,
AppSummaryActionBuilders
>;
public spaceQuota: StratosBaseCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
SpaceQuotaDefinitionActionBuilders
>;
public privateDomain: StratosBaseCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource
>;
public cfInfo: StratosBaseCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
CfInfoDefinitionActionBuilders
>;
public appStats: StratosBaseCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
AppStat,
AppStatsActionBuilders
>;
public buildPack: StratosBaseCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
BuildpackActionBuilders
>;
public serviceBroker: StratosBaseCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
ServiceBrokerActionBuilders
>;
public servicePlanVisibility: StratosBaseCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
ServicePlanVisibilityActionBuilders
>;
public securityGroup: StratosBaseCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
SecurityGroupBuilders
>;
public serviceBinding: StratosBaseCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
ServiceBindingActionBuilders
>;
public service: StratosBaseCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
ServiceActionBuilders
>;
public servicePlan: StratosBaseCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
ServicePlanActionBuilders
>;
public serviceInstance: StratosBaseCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
ServiceInstanceActionBuilders
>;
public user: StratosBaseCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
UserActionBuilders
>;
public domain: StratosBaseCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
DomainActionBuilders
>;
- public gitCommit: StratosBaseCatalogEntity<
- IBasicCFMetaData,
- GitCommit,
- GitCommitActionBuildersConfig,
- GitCommitActionBuilders
- >;
-
- public gitRepo: StratosBaseCatalogEntity<
- IBasicCFMetaData,
- GitRepo,
- GitRepoActionBuilders
- >;
-
- public gitBranch: StratosBaseCatalogEntity<
- IBasicCFMetaData,
- GitBranch,
- GitBranchActionBuilders
- >;
-
public event: StratosBaseCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
CfEventActionBuilders
>;
public route: StratosBaseCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
RoutesActionBuilders
>;
public stack: StratosBaseCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
StackActionBuilders
>;
public featureFlag: StratosBaseCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
IFeatureFlag,
FeatureFlagActionBuilders
>;
public application: StratosBaseCatalogEntity<
- IAppFavMetadata,
+ IFavoriteMetadata,
APIResource,
ApplicationActionBuilders
>;
@@ -228,17 +203,17 @@ export class CfEntityCatalog {
>;
public org: StratosBaseCatalogEntity<
- IOrgFavMetadata,
+ IFavoriteMetadata,
APIResource,
OrganizationActionBuilders
>;
public metric: StratosBaseCatalogEntity<
- IBasicCFMetaData
+ IFavoriteMetadata
>;
public userProvidedService: StratosBaseCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
UserProvidedServiceActionBuilder
>;
diff --git a/src/frontend/packages/cloud-foundry/src/cf-entity-factory.ts b/src/frontend/packages/cloud-foundry/src/cf-entity-factory.ts
index 33bbedf4f7..49487cbdfc 100644
--- a/src/frontend/packages/cloud-foundry/src/cf-entity-factory.ts
+++ b/src/frontend/packages/cloud-foundry/src/cf-entity-factory.ts
@@ -22,9 +22,6 @@ import {
cfUserEntityType,
domainEntityType,
featureFlagEntityType,
- gitBranchesEntityType,
- gitCommitEntityType,
- gitRepoEntityType,
organizationEntityType,
privateDomainsEntityType,
quotaDefinitionEntityType,
@@ -49,7 +46,7 @@ import { getAPIResourceGuid } from './store/selectors/api.selectors';
import { CfUser, CfUserRoleParams, OrgUserRoleNames, SpaceUserRoleNames } from './store/types/cf-user.types';
const entityCache: {
- [key: string]: EntitySchema
+ [key: string]: EntitySchema;
} = {};
const AppSummarySchema = new CFEntitySchema(appSummaryEntityType, {}, { idAttribute: 'guid' });
@@ -61,15 +58,6 @@ entityCache[appStatsEntityType] = AppStatSchema;
const AppEnvVarSchema = new CFEntitySchema(appEnvVarsEntityType, {}, { idAttribute: getAPIResourceGuid });
entityCache[appEnvVarsEntityType] = AppEnvVarSchema;
-const GithubBranchSchema = new CFEntitySchema(gitBranchesEntityType, {}, { idAttribute: 'entityId' });
-entityCache[gitBranchesEntityType] = GithubBranchSchema;
-
-const GithubRepoSchema = new CFEntitySchema(gitRepoEntityType);
-entityCache[gitRepoEntityType] = GithubRepoSchema;
-
-const GithubCommitSchema = new CFEntitySchema(gitCommitEntityType, {}, { idAttribute: commit => commit.guid });
-entityCache[gitCommitEntityType] = GithubCommitSchema;
-
const CFInfoSchema = new CFEntitySchema(cfInfoEntityType);
entityCache[cfInfoEntityType] = CFInfoSchema;
diff --git a/src/frontend/packages/cloud-foundry/src/cf-entity-generator.ts b/src/frontend/packages/cloud-foundry/src/cf-entity-generator.ts
index 20e226cbd5..442e342b7d 100644
--- a/src/frontend/packages/cloud-foundry/src/cf-entity-generator.ts
+++ b/src/frontend/packages/cloud-foundry/src/cf-entity-generator.ts
@@ -1,5 +1,6 @@
+import { Compiler, Injector } from '@angular/core';
import { Action, Store } from '@ngrx/store';
-import moment from 'moment';
+import { entityFetchedWithoutError } from '@stratosui/store';
import { combineLatest, Observable, of } from 'rxjs';
import { first, map } from 'rxjs/operators';
@@ -27,6 +28,7 @@ import { selectSessionData } from '../../store/src/reducers/auth.reducer';
import { APIResource, EntityInfo } from '../../store/src/types/api.types';
import { PaginatedAction, PaginationEntityState } from '../../store/src/types/pagination.types';
import { ICFAction } from '../../store/src/types/request.types';
+import { IFavoriteMetadata } from '../../store/src/types/user-favorites.types';
import { CfValidateEntitiesStart } from './actions/relations-actions';
import {
IService,
@@ -67,9 +69,6 @@ import {
cfUserEntityType,
domainEntityType,
featureFlagEntityType,
- gitBranchesEntityType,
- gitCommitEntityType,
- gitRepoEntityType,
organizationEntityType,
privateDomainsEntityType,
quotaDefinitionEntityType,
@@ -91,8 +90,7 @@ import {
userProvidedServiceInstanceEntityType,
} from './cf-entity-types';
import { CfErrorResponse, getCfError } from './cf-error-helpers';
-import { getFavoriteFromCfEntity } from './cf-favorites-helpers';
-import { IAppFavMetadata, IBasicCFMetaData, IOrgFavMetadata, ISpaceFavMetadata } from './cf-metadata-types';
+import { ISpaceFavMetadata } from './cf-metadata-types';
import { CF_ENDPOINT_TYPE } from './cf-types';
import {
AppEnvVarActionBuilders,
@@ -112,16 +110,6 @@ import {
} from './entity-action-builders/cf-info.action-builders';
import { DomainActionBuilders, domainActionBuilders } from './entity-action-builders/domin.action-builder';
import { FeatureFlagActionBuilders, featureFlagActionBuilders } from './entity-action-builders/feature-flag.action-builder';
-import {
- GitBranchActionBuilders,
- gitBranchActionBuilders,
- GitCommitActionBuilders,
- gitCommitActionBuilders,
- GitCommitActionBuildersConfig,
- GitMeta,
- GitRepoActionBuilders,
- gitRepoActionBuilders,
-} from './entity-action-builders/git-action-builder';
import {
OrganizationActionBuilders,
organizationActionBuilders,
@@ -175,9 +163,8 @@ import { routeReducer, updateAppSummaryRoutesReducer } from './store/reducers/ro
import { serviceInstanceReducer } from './store/reducers/service-instance.reducer';
import { updateSpaceQuotaReducer } from './store/reducers/space-quota.reducer';
import { AppStat } from './store/types/app-metadata.types';
-import { CFResponse } from './store/types/cf-api.types';
+import { CfAPIResource, CFResponse } from './store/types/cf-api.types';
import { CfUser } from './store/types/cf-user.types';
-import { GitBranch, GitCommit, GitRepo } from './store/types/git.types';
import { cfUserRolesFetch } from './user-permissions/cf-user-roles-fetch';
function safePopulatePaginationFromParent(store: Store, action: PaginatedAction): Observable {
@@ -236,6 +223,33 @@ export interface CFBasePipelineRequestActionMeta {
flatten?: boolean;
}
+function cfShortcuts(id: string) {
+ return [
+ {
+ title: 'View Organizations',
+ link: ['/cloud-foundry', id, 'organizations'],
+ icon: 'organization',
+ iconFont: 'stratos-icons'
+ },
+ {
+ title: 'View Applications',
+ link: ['/applications', id],
+ icon: 'apps'
+ },
+ {
+ title: 'Deploy an Application',
+ link: ['/applications', 'new', id],
+ icon: 'publish'
+ },
+ {
+ title: 'View Cloud Foundry Info',
+ link: ['/cloud-foundry', id],
+ icon: 'cloud_foundry',
+ iconFont: 'stratos-icons'
+ },
+ ];
+}
+
export function generateCFEntities(): StratosBaseCatalogEntity[] {
const endpointDefinition: StratosEndpointExtensionDefinition = {
urlValidationRegexString: urlValidationExpression,
@@ -246,10 +260,20 @@ export function generateCFEntities(): StratosBaseCatalogEntity[] {
iconFont: 'stratos-icons',
logoUrl: '/core/assets/endpoint-icons/cloudfoundry.png',
authTypes: [BaseEndpointAuth.UsernamePassword, BaseEndpointAuth.SSO],
+ homeCard: {
+ component: (compiler: Compiler, injector: Injector) => import('./features/home/cfhome-card/cfhome-card.module').then(m => {
+ return compiler.compileModuleAndAllComponentsAsync(m.CFHomeCardModule).then(cm => {
+ const mod = cm.ngModuleFactory.create(injector);
+ return mod.instance.createHomeCard(mod.componentFactoryResolver);
+ });
+ }),
+ shortcuts: cfShortcuts,
+ fullView: false,
+ },
listDetailsComponent: CfEndpointDetailsComponent,
renderPriority: 1,
healthCheck: new EndpointHealthCheck(CF_ENDPOINT_TYPE, (endpoint) => cfEntityCatalog.cfInfo.api.get(endpoint.guid)),
- favoriteFromEntity: getFavoriteFromCfEntity,
+ getEndpointIdFromEntity: (entity: CfAPIResource) => entity.entity.cfGuid,
globalPreRequest: (request, action) => {
return addCfRelationParams(request, action);
},
@@ -380,9 +404,6 @@ export function generateCFEntities(): StratosBaseCatalogEntity[] {
generateStackEntity(endpointDefinition),
generateRouteEntity(endpointDefinition),
generateEventEntity(endpointDefinition),
- generateGitBranchEntity(endpointDefinition),
- generateGitRepoEntity(endpointDefinition),
- generateGitCommitEntity(endpointDefinition),
generateCFDomainEntity(endpointDefinition),
generateCFUserEntity(endpointDefinition),
generateCFServiceInstanceEntity(endpointDefinition),
@@ -414,7 +435,7 @@ function generateCFQuotaDefinitionEntity(endpointDefinition: StratosEndpointExte
labelPlural: 'Organization Quotas',
};
cfEntityCatalog.quotaDefinition = new StratosCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
QuotaDefinitionActionBuilder
>(definition, {
@@ -457,7 +478,7 @@ function generateCFAppEnvVarEntity(endpointDefinition: StratosEndpointExtensionD
labelPlural: 'App Env Vars',
};
cfEntityCatalog.appEnvVar = new StratosCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
AppEnvVarActionBuilders,
AppEnvVarActionBuilders
@@ -469,9 +490,8 @@ function generateCFAppEnvVarEntity(endpointDefinition: StratosEndpointExtensionD
entityBuilder: {
getMetadata: ent => ({
name: `Application environment variables (${ent.metadata.guid}).`,
- guid: ent.metadata.guid
}),
- getGuid: metadata => metadata.guid,
+ getGuid: entity => entity.metadata.guid
},
});
return cfEntityCatalog.appEnvVar;
@@ -485,7 +505,7 @@ function generateCFAppSummaryEntity(endpointDefinition: StratosEndpointExtension
label: 'App Summary',
labelPlural: 'App Summaries',
};
- cfEntityCatalog.appSummary = new StratosCatalogEntity(definition, {
+ cfEntityCatalog.appSummary = new StratosCatalogEntity(definition, {
dataReducers: [
updateAppSummaryRoutesReducer,
endpointDisconnectRemoveEntitiesReducer()
@@ -494,9 +514,8 @@ function generateCFAppSummaryEntity(endpointDefinition: StratosEndpointExtension
entityBuilder: {
getMetadata: ent => ({
name: ent.name,
- guid: ent.guid
}),
- getGuid: metadata => metadata.guid,
+ getGuid: entity => entity.guid,
}
});
return cfEntityCatalog.appSummary;
@@ -511,7 +530,7 @@ function generateCFSpaceQuotaEntity(endpointDefinition: StratosEndpointExtension
labelPlural: 'Space Quotas',
};
cfEntityCatalog.spaceQuota = new StratosCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
SpaceQuotaDefinitionActionBuilders>(definition, {
dataReducers: [
@@ -530,7 +549,7 @@ function generateCFPrivateDomainEntity(endpointDefinition: StratosEndpointExtens
label: 'Private Domain',
labelPlural: 'Private Domains',
};
- cfEntityCatalog.privateDomain = new StratosCatalogEntity>(definition, {
+ cfEntityCatalog.privateDomain = new StratosCatalogEntity>(definition, {
dataReducers: [
endpointDisconnectRemoveEntitiesReducer()
],
@@ -546,7 +565,7 @@ function generateCFInfoEntity(endpointDefinition: StratosEndpointExtensionDefini
labelPlural: 'Cloud Foundry Infos',
endpoint: endpointDefinition
};
- cfEntityCatalog.cfInfo = new StratosCatalogEntity, CfInfoDefinitionActionBuilders>(
+ cfEntityCatalog.cfInfo = new StratosCatalogEntity, CfInfoDefinitionActionBuilders>(
cfInfoDefinition,
{
dataReducers: [
@@ -555,10 +574,9 @@ function generateCFInfoEntity(endpointDefinition: StratosEndpointExtensionDefini
actionBuilders: cfInfoDefinitionActionBuilders,
entityBuilder: {
getMetadata: info => ({
- guid: info.entity.name,
name: info.entity.name,
}),
- getGuid: metadata => metadata.guid,
+ getGuid: entity => entity.metadata.guid
}
}
);
@@ -574,7 +592,7 @@ function generateCFUserProvidedServiceInstanceEntity(endpointDefinition: Stratos
endpoint: endpointDefinition,
};
cfEntityCatalog.userProvidedService = new StratosCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
UserProvidedServiceActionBuilder
>(
@@ -588,9 +606,8 @@ function generateCFUserProvidedServiceInstanceEntity(endpointDefinition: Stratos
entityBuilder: {
getMetadata: ent => ({
name: ent.entity.name,
- guid: ent.metadata.guid,
}),
- getGuid: metadata => metadata.guid,
+ getGuid: entity => entity.metadata.guid
},
}
);
@@ -629,7 +646,7 @@ function generateCFAppStatsEntity(endpointDefinition: StratosEndpointExtensionDe
return data;
},
};
- cfEntityCatalog.appStats = new StratosCatalogEntity(definition, {
+ cfEntityCatalog.appStats = new StratosCatalogEntity(definition, {
dataReducers: [
endpointDisconnectRemoveEntitiesReducer()
],
@@ -637,9 +654,8 @@ function generateCFAppStatsEntity(endpointDefinition: StratosEndpointExtensionDe
entityBuilder: {
getMetadata: ent => ({
name: ent.guid,
- guid: ent.guid
}),
- getGuid: metadata => metadata.name,
+ getGuid: entity => entity.guid
}
});
return cfEntityCatalog.appStats;
@@ -651,7 +667,7 @@ function generateCFBuildPackEntity(endpointDefinition: StratosEndpointExtensionD
schema: cfEntityFactory(buildpackEntityType),
endpoint: endpointDefinition
};
- cfEntityCatalog.buildPack = new StratosCatalogEntity, BuildpackActionBuilders>(definition, {
+ cfEntityCatalog.buildPack = new StratosCatalogEntity, BuildpackActionBuilders>(definition, {
dataReducers: [
endpointDisconnectRemoveEntitiesReducer()
],
@@ -667,7 +683,7 @@ function generateCFServiceBrokerEntity(endpointDefinition: StratosEndpointExtens
endpoint: endpointDefinition
};
cfEntityCatalog.serviceBroker = new StratosCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
ServiceBrokerActionBuilders>(definition, {
dataReducers: [
@@ -685,7 +701,7 @@ function generateCFServicePlanVisibilityEntity(endpointDefinition: StratosEndpoi
endpoint: endpointDefinition
};
cfEntityCatalog.servicePlanVisibility = new StratosCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
ServicePlanVisibilityActionBuilders
>(definition, {
@@ -706,7 +722,7 @@ function generateCFSecurityGroupEntity(endpointDefinition: StratosEndpointExtens
endpoint: endpointDefinition
};
cfEntityCatalog.securityGroup = new StratosCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
SecurityGroupBuilders>(definition, {
dataReducers: [
@@ -729,7 +745,7 @@ function generateCFServiceBindingEntity(endpointDefinition: StratosEndpointExten
endpoint: endpointDefinition
};
cfEntityCatalog.serviceBinding = new StratosCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
ServiceBindingActionBuilders
>(
@@ -742,9 +758,8 @@ function generateCFServiceBindingEntity(endpointDefinition: StratosEndpointExten
entityBuilder: {
getMetadata: ent => ({
name: ent.metadata.guid,
- guid: ent.metadata.guid
}),
- getGuid: metadata => metadata.guid,
+ getGuid: entity => entity.metadata.guid
}
}
);
@@ -760,7 +775,7 @@ function generateCFServiceEntity(endpointDefinition: StratosEndpointExtensionDef
endpoint: endpointDefinition
};
cfEntityCatalog.service = new StratosCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
ServiceActionBuilders
>(
@@ -773,9 +788,8 @@ function generateCFServiceEntity(endpointDefinition: StratosEndpointExtensionDef
entityBuilder: {
getMetadata: ent => ({
name: ent.entity.label,
- guid: ent.metadata.guid
}),
- getGuid: metadata => metadata.guid,
+ getGuid: entity => entity.metadata.guid
},
}
);
@@ -791,7 +805,7 @@ function generateCFServicePlanEntity(endpointDefinition: StratosEndpointExtensio
endpoint: endpointDefinition
};
cfEntityCatalog.servicePlan = new StratosCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
ServicePlanActionBuilders
>(
@@ -804,9 +818,8 @@ function generateCFServicePlanEntity(endpointDefinition: StratosEndpointExtensio
entityBuilder: {
getMetadata: ent => ({
name: ent.entity.name,
- guid: ent.metadata.guid
}),
- getGuid: metadata => metadata.guid,
+ getGuid: entity => entity.metadata.guid
}
}
);
@@ -826,7 +839,7 @@ function generateCFServiceInstanceEntity(endpointDefinition: StratosEndpointExte
endpoint: endpointDefinition,
};
cfEntityCatalog.serviceInstance = new StratosCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
ServiceInstanceActionBuilders
>(
@@ -840,9 +853,8 @@ function generateCFServiceInstanceEntity(endpointDefinition: StratosEndpointExte
entityBuilder: {
getMetadata: ent => ({
name: ent.entity.name,
- guid: ent.metadata.guid
}),
- getGuid: metadata => metadata.guid,
+ getGuid: entity => entity.metadata.guid
}
}
);
@@ -857,7 +869,7 @@ function generateCFUserEntity(endpointDefinition: StratosEndpointExtensionDefini
labelPlural: 'Users',
endpoint: endpointDefinition,
};
- cfEntityCatalog.user = new StratosCatalogEntity, UserActionBuilders>(
+ cfEntityCatalog.user = new StratosCatalogEntity, UserActionBuilders>(
definition,
{
actionBuilders: userActionBuilders,
@@ -865,9 +877,8 @@ function generateCFUserEntity(endpointDefinition: StratosEndpointExtensionDefini
entityBuilder: {
getMetadata: ent => ({
name: ent.entity.username || ent.entity.guid || ent.metadata.guid,
- guid: ent.metadata.guid
}),
- getGuid: metadata => metadata.guid,
+ getGuid: entity => entity.metadata.guid
}
}
);
@@ -883,7 +894,7 @@ function generateCFDomainEntity(endpointDefinition: StratosEndpointExtensionDefi
endpoint: endpointDefinition
};
cfEntityCatalog.domain = new StratosCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
DomainActionBuilders
>(
@@ -896,93 +907,15 @@ function generateCFDomainEntity(endpointDefinition: StratosEndpointExtensionDefi
entityBuilder: {
getMetadata: ent => ({
name: ent.entity.name,
- guid: ent.metadata.guid
}),
- getGuid: metadata => metadata.guid,
+ getGuid: entity => entity.metadata.guid
}
}
);
return cfEntityCatalog.domain;
}
-function generateGitCommitEntity(endpointDefinition: StratosEndpointExtensionDefinition) {
- const definition: IStratosEntityDefinition = {
- type: gitCommitEntityType,
- schema: cfEntityFactory(gitCommitEntityType),
- label: 'Git Commit',
- labelPlural: 'Git Commits',
- endpoint: endpointDefinition,
- nonJetstreamRequest: true,
- successfulRequestDataMapper: (data, endpointGuid, guid, entityType, endpointType, action) => {
- const metadata = (action.metadata as GitMeta[])[0];
- return {
- ...metadata.scm.convertCommit(metadata.projectName, data),
- guid: action.guid
- };
- },
- };
- cfEntityCatalog.gitCommit = new StratosCatalogEntity(
- definition,
- {
- dataReducers: [
- endpointDisconnectRemoveEntitiesReducer()
- ],
- actionBuilders: gitCommitActionBuilders,
- entityBuilder: {
- getMetadata: ent => ({
- name: ent.commit ? ent.commit.message || ent.sha : ent.sha,
- guid: ent.guid
- }),
- getGuid: metadata => metadata.guid,
- }
- }
- );
- return cfEntityCatalog.gitCommit;
-}
-
-function generateGitRepoEntity(endpointDefinition: StratosEndpointExtensionDefinition) {
- const definition: IStratosEntityDefinition = {
- type: gitRepoEntityType,
- schema: cfEntityFactory(gitRepoEntityType),
- label: 'Git Repository',
- labelPlural: 'Git Repositories',
- endpoint: endpointDefinition
- };
- cfEntityCatalog.gitRepo = new StratosCatalogEntity<
- IBasicCFMetaData,
- GitRepo,
- GitRepoActionBuilders
- >(
- definition,
- {
- dataReducers: [
- endpointDisconnectRemoveEntitiesReducer()
- ],
- actionBuilders: gitRepoActionBuilders,
- }
- );
- return cfEntityCatalog.gitRepo;
-}
-function generateGitBranchEntity(endpointDefinition: StratosEndpointExtensionDefinition) {
- const definition: IStratosEntityDefinition = {
- type: gitBranchesEntityType,
- schema: cfEntityFactory(gitBranchesEntityType),
- label: 'Git Branch',
- labelPlural: 'Git Branches',
- endpoint: endpointDefinition
- };
- cfEntityCatalog.gitBranch = new StratosCatalogEntity(
- definition,
- {
- dataReducers: [
- endpointDisconnectRemoveEntitiesReducer()
- ],
- actionBuilders: gitBranchActionBuilders,
- }
- );
- return cfEntityCatalog.gitBranch;
-}
function generateEventEntity(endpointDefinition: StratosEndpointExtensionDefinition) {
const definition: IStratosEntityDefinition = {
@@ -993,7 +926,7 @@ function generateEventEntity(endpointDefinition: StratosEndpointExtensionDefinit
endpoint: endpointDefinition
};
cfEntityCatalog.event = new StratosCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
CfEventActionBuilders>(
definition,
@@ -1005,11 +938,10 @@ function generateEventEntity(endpointDefinition: StratosEndpointExtensionDefinit
entityBuilder: {
getMetadata: event => {
return {
- guid: event.metadata.guid,
name: event.metadata.guid,
};
},
- getGuid: metadata => metadata.guid,
+ getGuid: entity => entity.metadata.guid
}
}
);
@@ -1025,7 +957,7 @@ function generateRouteEntity(endpointDefinition: StratosEndpointExtensionDefinit
endpoint: endpointDefinition
};
cfEntityCatalog.route = new StratosCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
RoutesActionBuilders
>(
@@ -1038,10 +970,9 @@ function generateRouteEntity(endpointDefinition: StratosEndpointExtensionDefinit
],
entityBuilder: {
getMetadata: app => ({
- guid: app.metadata.guid,
name: app.entity.domain_url,
}),
- getGuid: metadata => metadata.guid,
+ getGuid: entity => entity.metadata.guid
}
}
);
@@ -1057,7 +988,7 @@ function generateStackEntity(endpointDefinition: StratosEndpointExtensionDefinit
endpoint: endpointDefinition
};
cfEntityCatalog.stack = new StratosCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
APIResource,
StackActionBuilders
>(
@@ -1069,10 +1000,9 @@ function generateStackEntity(endpointDefinition: StratosEndpointExtensionDefinit
actionBuilders: stackActionBuilders,
entityBuilder: {
getMetadata: app => ({
- guid: app.metadata.guid,
name: app.entity.name,
}),
- getGuid: metadata => metadata.guid,
+ getGuid: entity => entity.metadata.guid
}
}
);
@@ -1107,7 +1037,7 @@ function generateFeatureFlagEntity(endpointDefinition: StratosEndpointExtensionD
}
};
cfEntityCatalog.featureFlag = new StratosCatalogEntity<
- IBasicCFMetaData,
+ IFavoriteMetadata,
IFeatureFlag,
FeatureFlagActionBuilders>(
featureFlagDefinition,
@@ -1118,10 +1048,9 @@ function generateFeatureFlagEntity(endpointDefinition: StratosEndpointExtensionD
actionBuilders: featureFlagActionBuilders,
entityBuilder: {
getMetadata: ff => ({
- guid: ff.guid,
name: ff.name,
}),
- getGuid: metadata => metadata.guid,
+ getGuid: entity => entity.guid,
}
}
);
@@ -1131,7 +1060,7 @@ function generateFeatureFlagEntity(endpointDefinition: StratosEndpointExtensionD
function generateCfEndpointEntity(endpointDefinition: StratosEndpointExtensionDefinition) {
cfEntityCatalog.cfEndpoint = new StratosCatalogEndpointEntity(
endpointDefinition,
- metadata => `/cloud-foundry/${metadata.guid}`
+ favorite => `/cloud-foundry/${favorite.endpointId}`
);
return cfEntityCatalog.cfEndpoint;
}
@@ -1153,7 +1082,7 @@ function generateCfApplicationEntity(endpointDefinition: StratosEndpointExtensio
};
cfEntityCatalog.application = new StratosCatalogEntity<
- IAppFavMetadata,
+ IFavoriteMetadata,
APIResource,
ApplicationActionBuilders
>(
@@ -1165,16 +1094,11 @@ function generateCfApplicationEntity(endpointDefinition: StratosEndpointExtensio
],
entityBuilder: {
getMetadata: app => ({
- guid: app.metadata.guid,
- cfGuid: app.entity.cfGuid,
- createdAt: moment(app.metadata.created_at).format('LLL'),
name: app.entity.name,
}),
- getLink: metadata => `/applications/${metadata.cfGuid}/${metadata.guid}/summary`,
- getGuid: metadata => metadata.guid,
- getLines: () => ([
- ['Created', (meta) => meta.createdAt]
- ])
+ getLink: favorite => `/applications/${favorite.endpointId}/${favorite.entityId}/summary`,
+ getGuid: entity => entity.metadata.guid,
+ getIsValid: (fav) => cfEntityCatalog.application.api.get(fav.entityId, fav.endpointId, {}).pipe(entityFetchedWithoutError())
},
actionBuilders: applicationActionBuilder
},
@@ -1206,17 +1130,12 @@ function generateCfSpaceEntity(endpointDefinition: StratosEndpointExtensionDefin
],
entityBuilder: {
getMetadata: space => ({
- guid: space.metadata.guid,
orgGuid: space.entity.organization_guid ? space.entity.organization_guid : space.entity.organization.metadata.guid,
name: space.entity.name,
- cfGuid: space.entity.cfGuid,
- createdAt: moment(space.metadata.created_at).format('LLL'),
}),
- getLines: () => ([
- ['Created', (meta) => meta.createdAt]
- ]),
- getLink: metadata => `/cloud-foundry/${metadata.cfGuid}/organizations/${metadata.orgGuid}/spaces/${metadata.guid}/summary`,
- getGuid: metadata => metadata.guid
+ getLink: favorite => `/cloud-foundry/${favorite.endpointId}/organizations/${favorite.metadata.orgGuid}/spaces/${favorite.entityId}/summary`,
+ getGuid: entity => entity.metadata.guid,
+ getIsValid: (fav) => cfEntityCatalog.space.api.get(fav.entityId, fav.endpointId).pipe(entityFetchedWithoutError())
}
}
);
@@ -1234,7 +1153,7 @@ function generateCfOrgEntity(endpointDefinition: StratosEndpointExtensionDefinit
iconFont: 'stratos-icons'
};
cfEntityCatalog.org = new StratosCatalogEntity<
- IOrgFavMetadata,
+ IFavoriteMetadata,
APIResource,
OrganizationActionBuilders
>(
@@ -1249,30 +1168,17 @@ function generateCfOrgEntity(endpointDefinition: StratosEndpointExtensionDefinit
],
entityBuilder: {
getMetadata: org => ({
- guid: org.metadata.guid,
- status: getOrgStatus(org),
name: org.entity.name,
- cfGuid: org.entity.cfGuid,
- createdAt: moment(org.metadata.created_at).format('LLL'),
}),
- getLink: metadata => `/cloud-foundry/${metadata.cfGuid}/organizations/${metadata.guid}`,
- getLines: () => ([
- ['Created', (meta) => meta.createdAt]
- ]),
- getGuid: metadata => metadata.guid
+ getLink: favorite => `/cloud-foundry/${favorite.endpointId}/organizations/${favorite.entityId}`,
+ getGuid: entity => entity.metadata.guid,
+ getIsValid: (favorite) => cfEntityCatalog.org.api.get(favorite.entityId, favorite.endpointId, {}).pipe(entityFetchedWithoutError())
}
}
);
return cfEntityCatalog.org;
}
-function getOrgStatus(org: APIResource) {
- if (!org || !org.entity || !org.entity.status) {
- return 'Unknown';
- }
- return org.entity.status.charAt(0).toUpperCase() + org.entity.status.slice(1);
-}
-
function generateCFMetrics(endpointDefinition: StratosEndpointExtensionDefinition) {
const definition: IStratosEntityDefinition = {
type: metricEntityType,
@@ -1281,7 +1187,7 @@ function generateCFMetrics(endpointDefinition: StratosEndpointExtensionDefinitio
labelPlural: 'CF Metrics',
endpoint: endpointDefinition,
};
- cfEntityCatalog.metric = new StratosCatalogEntity(
+ cfEntityCatalog.metric = new StratosCatalogEntity(
definition,
{
dataReducers: [
diff --git a/src/frontend/packages/cloud-foundry/src/cf-entity-types.ts b/src/frontend/packages/cloud-foundry/src/cf-entity-types.ts
index 4175b2d4e4..cec772d1d6 100644
--- a/src/frontend/packages/cloud-foundry/src/cf-entity-types.ts
+++ b/src/frontend/packages/cloud-foundry/src/cf-entity-types.ts
@@ -26,7 +26,6 @@ import {
} from './cf-api.types';
import { AppStats } from './store/types/app-metadata.types';
import { CfUser } from './store/types/cf-user.types';
-import { GitBranch, GitCommit, GitRepo } from './store/types/git.types';
export const applicationEntityType = 'application';
export const stackEntityType = 'stack';
@@ -41,9 +40,6 @@ export const cfUserEntityType = 'user';
export const appSummaryEntityType = 'applicationSummary';
export const appStatsEntityType = 'applicationStats';
export const appEnvVarsEntityType = 'environmentVars';
-export const gitBranchesEntityType = 'gitBranches';
-export const gitRepoEntityType = 'gitRepo';
-export const gitCommitEntityType = 'gitCommits';
export const serviceEntityType = 'service';
export const serviceBindingEntityType = 'serviceBinding';
export const servicePlanEntityType = 'servicePlan';
@@ -70,9 +66,6 @@ interface CFEntityValues {
cfOrganization: IRequestEntityTypeState>;
cfRoute: IRequestEntityTypeState>;
cfEvent: IRequestEntityTypeState;
- cfGitBranches: IRequestEntityTypeState>;
- cfGitRepo: IRequestEntityTypeState>;
- cfGitCommits: IRequestEntityTypeState>;
cfDomain: IRequestEntityTypeState>;
cfUser: IRequestEntityTypeState>;
cfServiceInstance: IRequestEntityTypeState>;
diff --git a/src/frontend/packages/cloud-foundry/src/cf-favorites-helpers.ts b/src/frontend/packages/cloud-foundry/src/cf-favorites-helpers.ts
deleted file mode 100644
index 8f19d39a21..0000000000
--- a/src/frontend/packages/cloud-foundry/src/cf-favorites-helpers.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { IEntityMetadata } from '../../store/src/entity-catalog/entity-catalog.types';
-import { FavoritesConfigMapper } from '../../store/src/favorite-config-mapper';
-import { UserFavorite } from '../../store/src/types/user-favorites.types';
-import { CfAPIResource } from './store/types/cf-api.types';
-
-export function getFavoriteFromCfEntity(
- entity,
- entityType: string,
- favoritesConfigMapper: FavoritesConfigMapper
-): UserFavorite {
- if (isCfEntity(entity as CfAPIResource)) {
- return favoritesConfigMapper.getFavoriteFromEntity(
- entityType,
- 'cf',
- entity.entity.cfGuid,
- entity
- );
- }
- return null;
-}
-
-function isCfEntity(entity: CfAPIResource) {
- return entity && entity.entity.cfGuid && entity.metadata && entity.metadata.guid;
-}
-
diff --git a/src/frontend/packages/cloud-foundry/src/cf-metadata-types.ts b/src/frontend/packages/cloud-foundry/src/cf-metadata-types.ts
index 5103014d69..f9beed8b62 100644
--- a/src/frontend/packages/cloud-foundry/src/cf-metadata-types.ts
+++ b/src/frontend/packages/cloud-foundry/src/cf-metadata-types.ts
@@ -1,26 +1,5 @@
import { IFavoriteMetadata } from '../../store/src/types/user-favorites.types';
export interface ISpaceFavMetadata extends IFavoriteMetadata {
- guid: string;
orgGuid: string;
- name: string;
- cfGuid: string;
-}
-
-export interface IOrgFavMetadata extends IFavoriteMetadata {
- guid: string;
- status: string;
- name: string;
- cfGuid: string;
-}
-
-export interface IAppFavMetadata extends IFavoriteMetadata {
- guid: string;
- cfGuid: string;
- name: string;
-}
-
-export interface IBasicCFMetaData extends IFavoriteMetadata {
- guid: string;
- name: string;
}
diff --git a/src/frontend/packages/cloud-foundry/src/cloud-foundry-package.module.ts b/src/frontend/packages/cloud-foundry/src/cloud-foundry-package.module.ts
index 410bbe7b18..03e6f28654 100644
--- a/src/frontend/packages/cloud-foundry/src/cloud-foundry-package.module.ts
+++ b/src/frontend/packages/cloud-foundry/src/cloud-foundry-package.module.ts
@@ -8,7 +8,6 @@ import { generateCFEntities } from './cf-entity-generator';
import { CfUserService } from './shared/data-services/cf-user.service';
import { CloudFoundryService } from './shared/data-services/cloud-foundry.service';
import { LongRunningCfOperationsService } from './shared/data-services/long-running-cf-op.service';
-import { GitSCMService } from './shared/data-services/scm/scm.service';
import { ServiceActionHelperService } from './shared/data-services/service-action-helper.service';
import { CloudFoundryUserProvidedServicesService } from './shared/services/cloud-foundry-user-provided-services.service';
import { CloudFoundryStoreModule } from './store/cloud-foundry.store.module';
@@ -29,7 +28,6 @@ import { cfCurrentUserPermissionsService } from './user-permissions/cf-user-perm
ServiceActionHelperService,
LongRunningCfOperationsService,
CloudFoundryUserProvidedServicesService,
- GitSCMService,
]
})
export class CloudFoundryPackageModule { }
diff --git a/src/frontend/packages/cloud-foundry/src/cloud-foundry-routing.module.ts b/src/frontend/packages/cloud-foundry/src/cloud-foundry-routing.module.ts
index 61bfb111fb..e3ef0fd606 100644
--- a/src/frontend/packages/cloud-foundry/src/cloud-foundry-routing.module.ts
+++ b/src/frontend/packages/cloud-foundry/src/cloud-foundry-routing.module.ts
@@ -53,7 +53,7 @@ const customRoutes: Routes = [
}
},
},
-]
+];
@NgModule({
imports: [
@@ -61,4 +61,4 @@ const customRoutes: Routes = [
],
declarations: []
})
-export class CloudFoundryRoutingModule { }
\ No newline at end of file
+export class CloudFoundryRoutingModule { }
diff --git a/src/frontend/packages/cloud-foundry/src/cloud-foundry-test.module.ts b/src/frontend/packages/cloud-foundry/src/cloud-foundry-test.module.ts
index 3df3235a19..1ae6031ddd 100644
--- a/src/frontend/packages/cloud-foundry/src/cloud-foundry-test.module.ts
+++ b/src/frontend/packages/cloud-foundry/src/cloud-foundry-test.module.ts
@@ -1,9 +1,9 @@
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { NgModule } from '@angular/core';
import { EffectsModule } from '@ngrx/effects';
+import { getGitHubAPIURL, GITHUB_API_URL, GitSCMService } from '@stratosui/git';
import { generateASEntities } from '../../cf-autoscaler/src/store/autoscaler-entity-generator';
-import { getGitHubAPIURL, GITHUB_API_URL } from '../../core/src/core/github.helpers';
import { CATALOGUE_ENTITIES, EntityCatalogFeatureModule } from '../../store/src/entity-catalog.module';
import { entityCatalog, TestEntityCatalog } from '../../store/src/entity-catalog/entity-catalog';
import { generateStratosEntities } from '../../store/src/stratos-entity-generator';
@@ -13,7 +13,6 @@ import { generateCFEntities } from './cf-entity-generator';
import { ActiveRouteCfOrgSpace } from './features/cf/cf-page.types';
import { CfUserService } from './shared/data-services/cf-user.service';
import { LongRunningCfOperationsService } from './shared/data-services/long-running-cf-op.service';
-import { GitSCMService } from './shared/data-services/scm/scm.service';
import { CloudFoundryStoreModule } from './store/cloud-foundry.store.module';
@NgModule({
@@ -22,7 +21,8 @@ import { CloudFoundryStoreModule } from './store/cloud-foundry.store.module';
ngModule: EntityCatalogFeatureModule,
providers: [
{
- provide: CATALOGUE_ENTITIES, useFactory: () => {
+ provide: CATALOGUE_ENTITIES,
+ useFactory: () => {
const testEntityCatalog = entityCatalog as TestEntityCatalog;
testEntityCatalog.clear();
return [
@@ -30,7 +30,8 @@ import { CloudFoundryStoreModule } from './store/cloud-foundry.store.module';
...generateStratosEntities(),
...generateASEntities(), // FIXME: Remove hard link between cf and autoscaler packages #4416
];
- }
+ },
+ multi: true
}
]
},
diff --git a/src/frontend/packages/cloud-foundry/src/entity-action-builders/application-stats.action-builders.ts b/src/frontend/packages/cloud-foundry/src/entity-action-builders/application-stats.action-builders.ts
index 44d485252a..2677c0fc16 100644
--- a/src/frontend/packages/cloud-foundry/src/entity-action-builders/application-stats.action-builders.ts
+++ b/src/frontend/packages/cloud-foundry/src/entity-action-builders/application-stats.action-builders.ts
@@ -3,7 +3,7 @@ import { GetAppStatsAction } from '../actions/app-metadata.actions';
export interface AppStatsActionBuilders extends OrchestratedActionBuilders {
getMultiple: (appGuid, endpointGuid) => GetAppStatsAction;
-};
+}
export const appStatsActionBuilders: AppStatsActionBuilders = {
getMultiple: (appGuid, endpointGuid) => new GetAppStatsAction(appGuid, endpointGuid)
diff --git a/src/frontend/packages/cloud-foundry/src/entity-action-builders/domin.action-builder.ts b/src/frontend/packages/cloud-foundry/src/entity-action-builders/domin.action-builder.ts
index 03dc4fcc43..deda2a9dba 100644
--- a/src/frontend/packages/cloud-foundry/src/entity-action-builders/domin.action-builder.ts
+++ b/src/frontend/packages/cloud-foundry/src/entity-action-builders/domin.action-builder.ts
@@ -19,7 +19,7 @@ export interface DomainActionBuilders extends OrchestratedActionBuilders {
paginationKey?: string,
meta?: CFBasePipelineRequestActionMeta
) => GetAllOrganizationDomains;
-};
+}
export const domainActionBuilders: DomainActionBuilders = {
get: (
@@ -43,5 +43,3 @@ export const domainActionBuilders: DomainActionBuilders = {
}
) => new GetAllOrganizationDomains(orgGuid, endpointGuid, paginationKey, meta.includeRelations, meta.populateMissing)
};
-
-
diff --git a/src/frontend/packages/cloud-foundry/src/entity-action-builders/feature-flag.action-builder.ts b/src/frontend/packages/cloud-foundry/src/entity-action-builders/feature-flag.action-builder.ts
index 65e4d1030b..7d9bb796a2 100644
--- a/src/frontend/packages/cloud-foundry/src/entity-action-builders/feature-flag.action-builder.ts
+++ b/src/frontend/packages/cloud-foundry/src/entity-action-builders/feature-flag.action-builder.ts
@@ -6,7 +6,7 @@ export interface FeatureFlagActionBuilders extends OrchestratedActionBuilders {
endpointGuid,
paginationKey?,
) => GetAllFeatureFlags;
-};
+}
export const featureFlagActionBuilders: FeatureFlagActionBuilders = {
getMultiple: (
diff --git a/src/frontend/packages/cloud-foundry/src/entity-action-builders/git-action-builder.ts b/src/frontend/packages/cloud-foundry/src/entity-action-builders/git-action-builder.ts
deleted file mode 100644
index 47c2b83a4d..0000000000
--- a/src/frontend/packages/cloud-foundry/src/entity-action-builders/git-action-builder.ts
+++ /dev/null
@@ -1,84 +0,0 @@
-import {
- EntityRequestActionConfig,
- KnownEntityActionBuilder,
- OrchestratedActionBuilderConfig,
- OrchestratedActionBuilders,
-} from '../../../store/src/entity-catalog/action-orchestrator/action-orchestrator';
-import { FetchBranchesForProject, FetchBranchForProject, FetchCommits } from '../actions/deploy-applications.actions';
-import { FetchGitHubRepoInfo } from '../actions/github.actions';
-import { GitSCM } from '../shared/data-services/scm/scm';
-
-export interface GitRepoActionBuilders extends OrchestratedActionBuilders {
- getRepoInfo: (
- meta: GitMeta
- ) => FetchGitHubRepoInfo;
-}
-
-export const gitRepoActionBuilders: GitRepoActionBuilders = {
- getRepoInfo: (
- meta: GitMeta
- ) => new FetchGitHubRepoInfo(meta)
-};
-
-export interface GitMeta {
- projectName: string;
- scm: GitSCM; // FIXME: Remove from action, see #4245
- commitSha?: string;
- branchName?: string;
-}
-
-export interface GitCommitActionBuildersConfig extends OrchestratedActionBuilderConfig {
- get: EntityRequestActionConfig>;
- getMultiple: (commitSha: string, endpointGuid: string, projectMeta: GitMeta) => FetchCommits;
-}
-
-export interface GitCommitActionBuilders extends OrchestratedActionBuilders {
- get: KnownEntityActionBuilder;
- getMultiple: (commitSha: string, endpointGuid: string, projectMeta: GitMeta) => FetchCommits;
-}
-
-export const gitCommitActionBuilders: GitCommitActionBuildersConfig = {
- get: new EntityRequestActionConfig>(
- (id, endpointGuid, meta) => meta.scm.getCommitApiUrl(meta.projectName, meta.commitSha),
- {
- externalRequest: true
- }
- ),
- getMultiple: (
- commitSha: string,
- endpointGuid: string,
- commitMeta: GitMeta
- ) => new FetchCommits(commitMeta.scm, commitMeta.projectName, commitSha)
-};
-
-export interface GitBranchActionBuilders extends OrchestratedActionBuilders {
- /**
- * guid & endpointGuid are optional
- */
- get: (
- guid: string,
- endpointId: string,
- meta: GitMeta
- ) => FetchBranchForProject;
- /**
- * endpointGuid & paginationKey are optional
- */
- getMultiple: (
- endpointGuid: string,
- paginationKey: string,
- meta: GitMeta
- ) => FetchBranchesForProject;
-}
-
-export const gitBranchActionBuilders: GitBranchActionBuilders = {
- get: (
- guid: string,
- endpointId: string,
- meta: GitMeta
- ) => new FetchBranchForProject(meta.scm, meta.projectName, guid, meta.branchName),
- getMultiple: (
- endpointGuid: string = null,
- paginationKey: string = null,
- meta?: GitMeta
- ) => new FetchBranchesForProject(meta.scm, meta.projectName)
-};
diff --git a/src/frontend/packages/cloud-foundry/src/entity-action-builders/service-plan-visibility.action-builders.ts b/src/frontend/packages/cloud-foundry/src/entity-action-builders/service-plan-visibility.action-builders.ts
index fec17c28d2..ec8cdd523f 100644
--- a/src/frontend/packages/cloud-foundry/src/entity-action-builders/service-plan-visibility.action-builders.ts
+++ b/src/frontend/packages/cloud-foundry/src/entity-action-builders/service-plan-visibility.action-builders.ts
@@ -8,7 +8,7 @@ export interface ServicePlanVisibilityActionBuilders extends OrchestratedActionB
paginationKey,
{ includeRelations, populateMissing }: CFBasePipelineRequestActionMeta
) => GetServicePlanVisibilities;
-};
+}
export const servicePlanVisibilityActionBuilders: ServicePlanVisibilityActionBuilders = {
getMultiple: (
diff --git a/src/frontend/packages/cloud-foundry/src/entity-action-builders/service-plan.action-builders.ts b/src/frontend/packages/cloud-foundry/src/entity-action-builders/service-plan.action-builders.ts
index e4b8391296..b7eb2e6801 100644
--- a/src/frontend/packages/cloud-foundry/src/entity-action-builders/service-plan.action-builders.ts
+++ b/src/frontend/packages/cloud-foundry/src/entity-action-builders/service-plan.action-builders.ts
@@ -7,8 +7,8 @@ export interface ServicePlanActionBuilders extends OrchestratedActionBuilders {
endpointGuid: string,
paginationKey: string,
includeRelations?: string[]
- ) => GetServicePlansForService
-};
+ ) => GetServicePlansForService;
+}
export const servicePlanActionBuilders: ServicePlanActionBuilders = {
getAllForServiceInstance: (
diff --git a/src/frontend/packages/cloud-foundry/src/entity-action-builders/space-quota.action-builders.ts b/src/frontend/packages/cloud-foundry/src/entity-action-builders/space-quota.action-builders.ts
index aec68cfd2e..6d2c64657c 100644
--- a/src/frontend/packages/cloud-foundry/src/entity-action-builders/space-quota.action-builders.ts
+++ b/src/frontend/packages/cloud-foundry/src/entity-action-builders/space-quota.action-builders.ts
@@ -15,13 +15,13 @@ export interface SpaceQuotaDefinitionActionBuilders extends OrchestratedActionBu
guid: string,
endpointGuid: string,
{ includeRelations, populateMissing }: CFBasePipelineRequestActionMeta
- ) => GetSpaceQuotaDefinition
+ ) => GetSpaceQuotaDefinition;
create: (
id: string,
endpointGuid: string,
args: {
- orgGuid: string
- createQuota: QuotaFormValues
+ orgGuid: string;
+ createQuota: QuotaFormValues;
},
) => CreateSpaceQuotaDefinition;
update: (
@@ -58,8 +58,8 @@ export const spaceQuotaDefinitionActionBuilders: SpaceQuotaDefinitionActionBuild
id: string,
endpointGuid: string,
args: {
- orgGuid: string
- createQuota: QuotaFormValues
+ orgGuid: string;
+ createQuota: QuotaFormValues;
}
) => new CreateSpaceQuotaDefinition(id, endpointGuid, args.orgGuid, args.createQuota),
update: (
diff --git a/src/frontend/packages/cloud-foundry/src/entity-action-builders/space.action-builders.ts b/src/frontend/packages/cloud-foundry/src/entity-action-builders/space.action-builders.ts
index 1c265a167a..a5717d3806 100644
--- a/src/frontend/packages/cloud-foundry/src/entity-action-builders/space.action-builders.ts
+++ b/src/frontend/packages/cloud-foundry/src/entity-action-builders/space.action-builders.ts
@@ -21,12 +21,12 @@ export interface SpaceActionBuilders extends OrchestratedActionBuilders {
remove: (
guid: string,
endpointGuid: string,
- { orgGuid }: { orgGuid: string }
+ { orgGuid }: { orgGuid: string, }
) => DeleteSpace;
create: (
id: string,
endpointGuid: string,
- { orgGuid, createSpace }: { orgGuid: string, createSpace: IUpdateSpace }
+ { orgGuid, createSpace }: { orgGuid: string, createSpace: IUpdateSpace, }
) => CreateSpace;
update: (
guid: string,
@@ -70,15 +70,15 @@ export const spaceActionBuilders: SpaceActionBuilders = {
endpointGuid,
includeRelations || [],
populateMissing
- )
+ );
action.entity = [cfEntityFactory(spaceWithOrgEntityType)];
- action.schemaKey = spaceWithOrgEntityType
+ action.schemaKey = spaceWithOrgEntityType;
return action;
},
remove: (
guid,
endpointGuid,
- { orgGuid }: { orgGuid: string }
+ { orgGuid }: { orgGuid: string, }
) => new DeleteSpace(
guid,
orgGuid,
@@ -87,7 +87,7 @@ export const spaceActionBuilders: SpaceActionBuilders = {
create: (
id: string,
endpointGuid: string,
- { orgGuid, createSpace }: { orgGuid: string, createSpace: IUpdateSpace }
+ { orgGuid, createSpace }: { orgGuid: string, createSpace: IUpdateSpace, }
) => new CreateSpace(
endpointGuid,
orgGuid,
diff --git a/src/frontend/packages/cloud-foundry/src/entity-action-builders/user-provided-service.action-builders.ts b/src/frontend/packages/cloud-foundry/src/entity-action-builders/user-provided-service.action-builders.ts
index 3ca122c4ff..3adbc49afe 100644
--- a/src/frontend/packages/cloud-foundry/src/entity-action-builders/user-provided-service.action-builders.ts
+++ b/src/frontend/packages/cloud-foundry/src/entity-action-builders/user-provided-service.action-builders.ts
@@ -21,7 +21,7 @@ export interface UserProvidedServiceActionBuilder extends OrchestratedActionBuil
endpointGuid: string,
guid: string,
data: IUserProvidedServiceInstanceData,
- proxyPaginationEntityConfig?: EntityCatalogEntityConfig) => CreateUserProvidedServiceInstance,
+ proxyPaginationEntityConfig?: EntityCatalogEntityConfig) => CreateUserProvidedServiceInstance;
remove: (
guid: string,
endpointGuid: string,
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/application-delete/application-delete.component.ts b/src/frontend/packages/cloud-foundry/src/features/applications/application-delete/application-delete.component.ts
index b12daa358f..92ff15dacc 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/application-delete/application-delete.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/application-delete/application-delete.component.ts
@@ -61,7 +61,7 @@ import { ApplicationService } from '../application.service';
]
})
export class ApplicationDeleteComponent {
- relatedEntities$: Observable<{ instances: APIResource[], routes: APIResource[] }>;
+ relatedEntities$: Observable<{ instances: APIResource[], routes: APIResource[]; }>;
public deleteStarted = false;
public instanceDeleteColumns: ITableColumn>[] = [
{
@@ -303,20 +303,20 @@ export class ApplicationDeleteComponent {
if (success) {
if (this.selectedRoutes && this.selectedRoutes.length) {
this.selectedRoutes.forEach(route => {
- cfEntityCatalog.route.api.delete(route.metadata.guid, this.applicationService.cfGuid, this.applicationService.appGuid)
+ cfEntityCatalog.route.api.delete(route.metadata.guid, this.applicationService.cfGuid, this.applicationService.appGuid);
});
}
if (this.selectedServiceInstances && this.selectedServiceInstances.length) {
this.selectedServiceInstances.forEach(instance => {
if (isUserProvidedServiceInstance(instance.entity.service_instance.entity)) {
- cfEntityCatalog.userProvidedService.api.remove(instance.entity.service_instance_guid, this.applicationService.cfGuid)
+ cfEntityCatalog.userProvidedService.api.remove(instance.entity.service_instance_guid, this.applicationService.cfGuid);
} else {
- cfEntityCatalog.serviceInstance.api.remove(instance.entity.service_instance_guid, this.applicationService.cfGuid)
+ cfEntityCatalog.serviceInstance.api.remove(instance.entity.service_instance_guid, this.applicationService.cfGuid);
}
});
}
}
})
);
- }
+ };
}
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/application-delete/delete-app-instances/app-delete-instances-routes-list-config.service.ts b/src/frontend/packages/cloud-foundry/src/features/applications/application-delete/delete-app-instances/app-delete-instances-routes-list-config.service.ts
index f3db600307..0b53c801da 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/application-delete/delete-app-instances/app-delete-instances-routes-list-config.service.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/application-delete/delete-app-instances/app-delete-instances-routes-list-config.service.ts
@@ -28,7 +28,7 @@ import { ApplicationService } from '../../application.service';
export class AppDeleteServiceInstancesListConfigService extends AppServiceBindingListConfigService {
hideRefresh: boolean;
allowSelection: boolean;
- obsCache: { [serviceGuid: string]: Observable } = {};
+ obsCache: { [serviceGuid: string]: Observable, } = {};
constructor(
store: Store,
@@ -63,7 +63,7 @@ export class AppDeleteServiceInstancesListConfigService extends AppServiceBindin
{
includeRelations: [],
}
- )
+ );
this.obsCache[serviceBinding.entity.service_instance_guid] = fetchTotalResults(
action,
store,
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/application-wall/application-wall.component.html b/src/frontend/packages/cloud-foundry/src/features/applications/application-wall/application-wall.component.html
index 34ef360c0f..b533b0a99a 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/application-wall/application-wall.component.html
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/application-wall/application-wall.component.html
@@ -23,5 +23,6 @@ Applications
\ No newline at end of file
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/application-wall/application-wall.component.spec.ts b/src/frontend/packages/cloud-foundry/src/features/applications/application-wall/application-wall.component.spec.ts
index e7060da064..3c7ef0d531 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/application-wall/application-wall.component.spec.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/application-wall/application-wall.component.spec.ts
@@ -1,5 +1,6 @@
import { DatePipe } from '@angular/common';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+import { ActivatedRoute } from '@angular/router';
import { TabNavService } from '../../../../../core/src/tab-nav.service';
import { generateCfBaseTestModules } from '../../../../test-framework/cloud-foundry-endpoint-service.helper';
@@ -24,6 +25,15 @@ describe('ApplicationWallComponent', () => {
DatePipe,
TabNavService,
CloudFoundryService,
+ {
+ provide: ActivatedRoute,
+ useValue: {
+ snapshot: {
+ params: {},
+ queryParams: {}
+ }
+ }
+ }
]
})
.compileComponents();
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/application-wall/application-wall.component.ts b/src/frontend/packages/cloud-foundry/src/features/applications/application-wall/application-wall.component.ts
index c6cfa5d7dc..7552b1a9d3 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/application-wall/application-wall.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/application-wall/application-wall.component.ts
@@ -1,17 +1,17 @@
import { animate, query, style, transition, trigger } from '@angular/animations';
import { Component, OnDestroy } from '@angular/core';
+import { ActivatedRoute } from '@angular/router';
import { Store } from '@ngrx/store';
-import { Observable, Subscription } from 'rxjs';
+import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
import { CFAppState } from '../../../../../cloud-foundry/src/cf-app-state';
-import { applicationEntityType } from '../../../../../cloud-foundry/src/cf-entity-types';
import { ListConfig } from '../../../../../core/src/shared/components/list/list.component.types';
import { CfAppConfigService } from '../../../shared/components/list/list-types/app/cf-app-config.service';
-import { CfAppsDataSource } from '../../../shared/components/list/list-types/app/cf-apps-data-source';
-import { CfOrgSpaceDataService, initCfOrgSpaceService } from '../../../shared/data-services/cf-org-space-service.service';
+import { CfOrgSpaceDataService } from '../../../shared/data-services/cf-org-space-service.service';
import { CloudFoundryService } from '../../../shared/data-services/cloud-foundry.service';
import { CfCurrentUserPermissions } from '../../../user-permissions/cf-user-permissions-checkers';
+import { goToAppWall } from '../../cf/cf.helpers';
@Component({
selector: 'app-application-wall',
@@ -20,13 +20,13 @@ import { CfCurrentUserPermissions } from '../../../user-permissions/cf-user-perm
animations: [
trigger(
'cardEnter', [
- transition('* => *', [
- query(':enter', [
- style({ opacity: 0, transform: 'translateY(10px)' }),
- animate('150ms ease-out', style({ opacity: 1, transform: 'translateY(0)' }))
- ], { optional: true })
- ])
- ]
+ transition('* => *', [
+ query(':enter', [
+ style({ opacity: 0, transform: 'translateY(10px)' }),
+ animate('150ms ease-out', style({ opacity: 1, transform: 'translateY(0)' }))
+ ], { optional: true })
+ ])
+ ]
)
],
providers: [{
@@ -38,7 +38,6 @@ import { CfCurrentUserPermissions } from '../../../user-permissions/cf-user-perm
})
export class ApplicationWallComponent implements OnDestroy {
public cfIds$: Observable;
- private initCfOrgSpaceService: Subscription;
public canCreateApplication: string;
@@ -47,8 +46,16 @@ export class ApplicationWallComponent implements OnDestroy {
constructor(
public cloudFoundryService: CloudFoundryService,
private store: Store,
- private cfOrgSpaceService: CfOrgSpaceDataService,
+ public cfOrgSpaceService: CfOrgSpaceDataService,
+ activatedRoute: ActivatedRoute,
) {
+ // If we have an endpoint ID, select it and redirect
+ const { endpointId } = activatedRoute.snapshot.params;
+ if (endpointId) {
+ goToAppWall(this.store, endpointId);
+ return;
+ }
+
this.cfIds$ = cloudFoundryService.cFEndpoints$.pipe(
map(endpoints => endpoints.map(endpoint => endpoint.guid)),
);
@@ -57,14 +64,8 @@ export class ApplicationWallComponent implements OnDestroy {
this.haveConnectedCf$ = cloudFoundryService.connectedCFEndpoints$.pipe(
map(endpoints => !!endpoints && endpoints.length > 0)
);
-
- this.initCfOrgSpaceService = initCfOrgSpaceService(this.store,
- this.cfOrgSpaceService,
- applicationEntityType,
- CfAppsDataSource.paginationKey).subscribe();
}
ngOnDestroy(): void {
- this.initCfOrgSpaceService.unsubscribe();
}
}
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/application.service.spec.ts b/src/frontend/packages/cloud-foundry/src/features/applications/application.service.spec.ts
index 23282a262b..3b7a2dd197 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/application.service.spec.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/application.service.spec.ts
@@ -3,14 +3,14 @@ import { RouterTestingModule } from '@angular/router/testing';
import { CoreModule } from '../../../../core/src/core/core.module';
import { ExtensionService } from '../../../../core/src/core/extension/extension-service';
-import { getGitHubAPIURL, GITHUB_API_URL } from '../../../../core/src/core/github.helpers';
+import { getGitHubAPIURL, GITHUB_API_URL } from '../../../../git/src/shared/github.helpers';
+import { GitSCMService } from '../../../../git/src/shared/scm/scm.service';
import { EntityMonitorFactory } from '../../../../store/src/monitors/entity-monitor.factory.service';
import { PaginationMonitorFactory } from '../../../../store/src/monitors/pagination-monitor.factory';
import { AppStoreModule } from '../../../../store/src/store.module';
import { generateTestApplicationServiceProvider } from '../../../test-framework/application-service-helper';
import { generateCfStoreModules } from '../../../test-framework/cloud-foundry-endpoint-service.helper';
import { LongRunningCfOperationsService } from '../../shared/data-services/long-running-cf-op.service';
-import { GitSCMService } from '../../shared/data-services/scm/scm.service';
import { ApplicationStateService } from '../../shared/services/application-state.service';
import { ApplicationService } from './application.service';
import { ApplicationEnvVarsHelper } from './application/application-tabs-base/tabs/build-tab/application-env-vars.service';
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/application.service.ts b/src/frontend/packages/cloud-foundry/src/features/applications/application.service.ts
index 628b8560a4..a7b41a4e54 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/application.service.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/application.service.ts
@@ -178,12 +178,12 @@ export class ApplicationService {
public getApplicationEnvVarsMonitor() {
return cfEntityCatalog.appEnvVar.store.getEntityMonitor(
this.appGuid
- )
+ );
}
private constructAmalgamatedObservables() {
// Assign/Amalgamate them to public properties (with mangling if required)
- const appStats = cfEntityCatalog.appStats.store.getPaginationService(this.appGuid, this.cfGuid)
+ const appStats = cfEntityCatalog.appStats.store.getPaginationService(this.appGuid, this.cfGuid);
// This will fail to fetch the app stats if the current app is not running but we're
// willing to do this to speed up the initial fetch for a running application.
this.appStats$ = appStats.entities$;
@@ -268,7 +268,7 @@ export class ApplicationService {
);
}
- isEntityComplete(value, requestInfo: { fetching: boolean }): boolean {
+ isEntityComplete(value, requestInfo: { fetching: boolean, }): boolean {
if (requestInfo) {
return !requestInfo.fetching;
} else {
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/application-polling.service.ts b/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/application-polling.service.ts
index 046af5a750..1b537529f6 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/application-polling.service.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/application-polling.service.ts
@@ -74,7 +74,7 @@ export class ApplicationPollingService {
).subscribe(resource => {
cfEntityCatalog.appSummary.api.get(appGuid, cfGuid);
if (resource && resource.entity && resource.entity.entity && resource.entity.entity.state === 'STARTED') {
- cfEntityCatalog.appStats.api.getMultiple(appGuid, cfGuid)
+ cfEntityCatalog.appStats.api.getMultiple(appGuid, cfGuid);
}
});
}
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/application-tabs-base.component.spec.ts b/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/application-tabs-base.component.spec.ts
index db27792fcc..2bac8414af 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/application-tabs-base.component.spec.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/application-tabs-base.component.spec.ts
@@ -6,10 +6,10 @@ import { RouterTestingModule } from '@angular/router/testing';
import { StoreModule } from '@ngrx/store';
import { CoreModule } from '../../../../../../core/src/core/core.module';
-import { getGitHubAPIURL, GITHUB_API_URL } from '../../../../../../core/src/core/github.helpers';
import { MDAppModule } from '../../../../../../core/src/core/md.module';
import { SharedModule } from '../../../../../../core/src/shared/shared.module';
import { TabNavService } from '../../../../../../core/src/tab-nav.service';
+import { getGitHubAPIURL, GITHUB_API_URL } from '../../../../../../git/src/shared/github.helpers';
import { generateTestApplicationServiceProvider } from '../../../../../test-framework/application-service-helper';
import { generateCfStoreModules } from '../../../../../test-framework/cloud-foundry-endpoint-service.helper';
import { ApplicationStateService } from '../../../../shared/services/application-state.service';
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/application-tabs-base.component.ts b/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/application-tabs-base.component.ts
index 12db72f9ba..a16de404aa 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/application-tabs-base.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/application-tabs-base.component.ts
@@ -1,11 +1,11 @@
import { Component, NgZone, OnDestroy, OnInit } from '@angular/core';
import { Store } from '@ngrx/store';
+import { GitSCMService, GitSCMType } from '@stratosui/git';
import { combineLatest as observableCombineLatest, Observable, Subscription } from 'rxjs';
import { filter, first, map, startWith, switchMap, withLatestFrom } from 'rxjs/operators';
import { CFAppState } from '../../../../../../cloud-foundry/src/cf-app-state';
import { applicationEntityType } from '../../../../../../cloud-foundry/src/cf-entity-types';
-import { IAppFavMetadata } from '../../../../../../cloud-foundry/src/cf-metadata-types';
import { EndpointsService } from '../../../../../../core/src/core/endpoints.service';
import {
getActionsFromExtensions,
@@ -20,17 +20,16 @@ import { IPageSideNavTab } from '../../../../../../core/src/features/dashboard/p
import { IHeaderBreadcrumb } from '../../../../../../core/src/shared/components/page-header/page-header.types';
import { RouterNav } from '../../../../../../store/src/actions/router.actions';
import { entityCatalog } from '../../../../../../store/src/entity-catalog/entity-catalog';
-import { FavoritesConfigMapper } from '../../../../../../store/src/favorite-config-mapper';
import { EntitySchema } from '../../../../../../store/src/helpers/entity-schema';
import { ActionState } from '../../../../../../store/src/reducers/api-request-reducer/types';
import { endpointEntitiesSelector } from '../../../../../../store/src/selectors/endpoint.selectors';
import { APIResource } from '../../../../../../store/src/types/api.types';
import { EndpointModel } from '../../../../../../store/src/types/endpoint.types';
-import { getFavoriteFromEntity } from '../../../../../../store/src/user-favorite-helpers';
+import { IFavoriteMetadata } from '../../../../../../store/src/types/user-favorites.types';
+import { UserFavoriteManager } from '../../../../../../store/src/user-favorite-manager';
import { UpdateExistingApplication } from '../../../../actions/application.actions';
import { IApp, IOrganization, ISpace } from '../../../../cf-api.types';
import { CF_ENDPOINT_TYPE } from '../../../../cf-types';
-import { GitSCMService, GitSCMType } from '../../../../shared/data-services/scm/scm.service';
import { ApplicationStateData } from '../../../../shared/services/application-state.service';
import { CfCurrentUserPermissions } from '../../../../user-permissions/cf-user-permissions-checkers';
import { ApplicationService } from '../../application.service';
@@ -48,10 +47,10 @@ export class ApplicationTabsBaseComponent implements OnInit, OnDestroy {
public favorite$ = this.applicationService.app$.pipe(
filter(app => !!app),
- map(app => getFavoriteFromEntity(app.entity, applicationEntityType, this.favoritesConfigMapper, CF_ENDPOINT_TYPE))
+ map(app => this.userFavoriteManager.getFavorite(app.entity, applicationEntityType, CF_ENDPOINT_TYPE))
);
- isBusyUpdating$: Observable<{ updating: boolean }>;
+ isBusyUpdating$: Observable<{ updating: boolean; }>;
public extensionActions: StratosActionMetadata[] = getActionsFromExtensions(StratosActionType.Application);
@@ -62,7 +61,7 @@ export class ApplicationTabsBaseComponent implements OnInit, OnDestroy {
private ngZone: NgZone,
private currentUserPermissionsService: CurrentUserPermissionsService,
scmService: GitSCMService,
- private favoritesConfigMapper: FavoritesConfigMapper,
+ private userFavoriteManager: UserFavoriteManager,
private appPollingService: ApplicationPollingService
) {
const catalogEntity = entityCatalog.getEntity(CF_ENDPOINT_TYPE, applicationEntityType);
@@ -130,7 +129,7 @@ export class ApplicationTabsBaseComponent implements OnInit, OnDestroy {
(stratProject.deploySource.type === 'github' || stratProject.deploySource.type === 'gitscm')
) {
const gitscm = stratProject.deploySource.scm || stratProject.deploySource.type;
- const scm = scmService.getSCM(gitscm as GitSCMType);
+ const scm = scmService.getSCM(gitscm as GitSCMType, stratProject.deploySource.endpointGuid);
const iconInfo = scm.getIcon();
// Add tab or update existing tab
const tab = this.tabLinks.find(t => t.link === 'gitscm');
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/build-tab/application-env-vars.service.ts b/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/build-tab/application-env-vars.service.ts
index f3abf44de4..6cabbdf3a9 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/build-tab/application-env-vars.service.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/build-tab/application-env-vars.service.ts
@@ -18,6 +18,7 @@ export interface EnvVarStratosProjectSource {
timestamp: number;
project?: string;
scm?: string;
+ endpointGuid: string;
branch?: string;
url?: string;
commit?: string;
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/build-tab/build-tab.component.html b/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/build-tab/build-tab.component.html
index 147eb829b0..04f9217a96 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/build-tab/build-tab.component.html
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/build-tab/build-tab.component.html
@@ -164,12 +164,41 @@
{{(applicationService.applicationStratProject$| async)?.deploySource.url}}
-
-
- {{ deploySource.commit | slice:0:8 }}
-
-
+
+
+
+ {{deploySource.label}}
+
+
+
+
+
+
+ {{ deploySource.project }}
+
+
+
+
+
+
+
+
+ {{ deploySource.branch}}
+
+
+
+
+
+
+ {{ deploySource.commit | slice:0:8 }}
+
+
+
Deployed from local folder
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/build-tab/build-tab.component.scss b/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/build-tab/build-tab.component.scss
index 4c439a3228..b70214592a 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/build-tab/build-tab.component.scss
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/build-tab/build-tab.component.scss
@@ -43,6 +43,16 @@
margin-right: 8px;
}
}
+
+ &__gitscm {
+ display: flex;
+ div {
+ flex: 1;
+ app-metadata-item:first-of-type {
+ margin-top: 0;
+ }
+ }
+ }
}
.app-metadata {
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/build-tab/build-tab.component.spec.ts b/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/build-tab/build-tab.component.spec.ts
index 6f3aa1d408..b0b0411d95 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/build-tab/build-tab.component.spec.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/build-tab/build-tab.component.spec.ts
@@ -5,10 +5,10 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { RouterTestingModule } from '@angular/router/testing';
import { CoreModule } from '../../../../../../../../core/src/core/core.module';
-import { GITHUB_API_URL } from '../../../../../../../../core/src/core/github.helpers';
import { APP_GUID, CF_GUID } from '../../../../../../../../core/src/shared/entity.tokens';
import { SharedModule } from '../../../../../../../../core/src/shared/shared.module';
import { TabNavService } from '../../../../../../../../core/src/tab-nav.service';
+import { GITHUB_API_URL } from '../../../../../../../../git/src/shared/github.helpers';
import { AppStoreModule } from '../../../../../../../../store/src/store.module';
import { ApplicationServiceMock } from '../../../../../../../test-framework/application-service-helper';
import { generateCfStoreModules } from '../../../../../../../test-framework/cloud-foundry-endpoint-service.helper';
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/build-tab/build-tab.component.ts b/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/build-tab/build-tab.component.ts
index 26f9c2b373..ad2f5a7134 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/build-tab/build-tab.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/build-tab/build-tab.component.ts
@@ -1,6 +1,7 @@
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { Store } from '@ngrx/store';
+import { GitCommit, gitEntityCatalog, GitRepo, GitSCMService, GitSCMType, SCMIcon } from '@stratosui/git';
import { combineLatest as observableCombineLatest, Observable, of as observableOf, of } from 'rxjs';
import { combineLatest, delay, distinct, filter, first, map, mergeMap, startWith, switchMap, tap } from 'rxjs/operators';
@@ -18,11 +19,11 @@ import { ActionState } from '../../../../../../../../store/src/reducers/api-requ
import { EntityInfo } from '../../../../../../../../store/src/types/api.types';
import { IAppSummary } from '../../../../../../cf-api.types';
import { cfEntityCatalog } from '../../../../../../cf-entity-catalog';
-import { GitSCMService, GitSCMType } from '../../../../../../shared/data-services/scm/scm.service';
import { CfCurrentUserPermissions } from '../../../../../../user-permissions/cf-user-permissions-checkers';
import { ApplicationMonitorService } from '../../../../application-monitor.service';
import { ApplicationData, ApplicationService } from '../../../../application.service';
import { DEPLOY_TYPES_IDS } from '../../../../deploy-application/deploy-application-steps.types';
+import { EnvVarStratosProjectSource } from './application-env-vars.service';
const isDockerHubRegEx = /^([a-zA-Z0-9_-]+)\/([a-zA-Z0-9_-]+):([a-zA-Z0-9_.-]+)/g;
@@ -48,6 +49,12 @@ const appRestageConfirmation = new ConfirmationDialogConfig(
'Restage'
);
+interface CustomEnvVarStratosProjectSource extends EnvVarStratosProjectSource {
+ label?: string;
+ icon?: SCMIcon;
+ commitURL?: string;
+}
+
@Component({
selector: 'app-build-tab',
templateUrl: './build-tab.component.html',
@@ -57,7 +64,7 @@ const appRestageConfirmation = new ConfirmationDialogConfig(
]
})
export class BuildTabComponent implements OnInit {
- public isBusyUpdating$: Observable<{ updating: boolean }>;
+ public isBusyUpdating$: Observable<{ updating: boolean, }>;
public manageAppPermission = CfCurrentUserPermissions.APPLICATION_MANAGE;
constructor(
@@ -78,7 +85,9 @@ export class BuildTabComponent implements OnInit {
sshStatus$: Observable;
- deploySource$: Observable<{ type: string, [name: string]: any }>;
+ deploySource$: Observable;
+
+ public gitRepo$: Observable;
ngOnInit() {
this.cardTwoFetching$ = this.applicationService.application$.pipe(
@@ -115,7 +124,17 @@ export class BuildTabComponent implements OnInit {
this.applicationService.cfGuid,
space.metadata.guid)
)
- )
+ );
+
+ this.gitRepo$ = this.applicationService.applicationStratProject$.pipe(
+ map(project => {
+ const scmType = project.deploySource.scm || project.deploySource.type;
+ const scm = this.scmService.getSCM(scmType as GitSCMType, project.deploySource.endpointGuid);
+ return gitEntityCatalog.repo.store.getRepoInfo.getEntityService({ projectName: project.deploySource.project, scm });
+ }),
+ switchMap(repoService => repoService.waitForEntity$),
+ map(p => p.entity)
+ );
const deploySource$ = observableCombineLatest(
this.applicationService.applicationStratProject$,
@@ -123,7 +142,7 @@ export class BuildTabComponent implements OnInit {
).pipe(
map(([project, app]) => {
if (!!project) {
- const deploySource = { ...project.deploySource } as any;
+ const deploySource: CustomEnvVarStratosProjectSource = { ...project.deploySource };
// Legacy
if (deploySource.type === 'github') {
@@ -131,14 +150,6 @@ export class BuildTabComponent implements OnInit {
deploySource.scm = 'github';
}
- if (deploySource.type === 'gitscm') {
- const scmType = deploySource.scm as GitSCMType;
- const scm = this.scmService.getSCM(scmType);
- deploySource.label = scm.getLabel();
- deploySource.commitURL = scm.getCommitURL(deploySource.project, deploySource.commit);
- deploySource.icon = scm.getIcon();
- }
-
if (deploySource.type === DEPLOY_TYPES_IDS.DOCKER_IMG) {
return {
type: 'docker',
@@ -158,8 +169,34 @@ export class BuildTabComponent implements OnInit {
return null;
}
}),
+ switchMap((deploySource: CustomEnvVarStratosProjectSource) => {
+ const res: Observable[] = [
+ of(deploySource),
+ ];
+ if (deploySource && deploySource.type === 'gitscm') {
+ // Add gitscm info... add async info in next section
+ const scmType = deploySource.scm as GitSCMType;
+ const scm = this.scmService.getSCM(scmType, deploySource.endpointGuid);
+ deploySource.label = scm.getLabel();
+ deploySource.icon = scm.getIcon();
+ res.push(gitEntityCatalog.commit.store.getEntityService(null, scm.endpointGuid, {
+ projectName: deploySource.project,
+ scm,
+ commitSha: deploySource.commit
+ }).entityObs$);
+ } else {
+ res.push(of(null));
+ }
+ return observableCombineLatest(res);
+ }),
+ map(([deploySource, commit]: [CustomEnvVarStratosProjectSource, EntityInfo]) => {
+ if (deploySource) {
+ deploySource.commitURL = commit?.entity?.html_url;
+ }
+ return deploySource;
+ }),
startWith({ type: 'loading' })
- )
+ );
this.deploySource$ = canSeeEnvVars$.pipe(
switchMap(canSeeEnvVars => canSeeEnvVars ? deploySource$ : of(null)),
@@ -187,7 +224,7 @@ export class BuildTabComponent implements OnInit {
private dispatchAppStats = () => {
const { cfGuid, appGuid } = this.applicationService;
cfEntityCatalog.appStats.api.getMultiple(appGuid, cfGuid);
- }
+ };
restartApplication() {
this.confirmDialog.open(appRestartConfirmation, () => {
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/gitscm-tab/gitscm-tab.component.html b/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/gitscm-tab/gitscm-tab.component.html
index 2719c0700c..6143ee88af 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/gitscm-tab/gitscm-tab.component.html
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/gitscm-tab/gitscm-tab.component.html
@@ -1,87 +1,109 @@
-
-
-
-
-
- Deployment Information
-
-
-
-
- {{stratosProject.deploySource.project }}
-
-
-
- {{ stratosProject.deploySource.branch}}
-
-
-
-
-
- {{ stratosProject.deploySource.commit | limitTo: 8}}
+
+
+
+
+
+
+
+ Deployment Information
+
+
+
-
+
+
+
+
+
+
+ Repository Details
+
+
+
+
+
+
+
+
+
+
+
{{ gitSCMRepo.owner.login || gitSCMRepo.owner.name }}
+
+
{{ gitSCMRepo.description || '-' }}
+
{{ gitSCMRepo.created_at | date:'medium' }}
+
+ {{ gitSCMRepo.pushed_at | date:'medium' }}
+
+ {{ gitSCMRepo.last_activity_at | date:'medium' }}
+
+
+
+
+
+
+
+
+ Commit Details
+
+
+
+
+
+
-
The {{ stratosProject.deploySource.branch}} branch has been updated since this app was deployed. Redeploy to update
-
- {{ stratosProject.deploySource.timestamp * 1000 | date:'medium' }}
-
-
-
-
-
-
-
- Repository Details
-
-
-
-
-
-
-
-
-
- {{ gitSCMRepo.full_name }}
-
-
{{ gitSCMRepo.owner.login || gitSCMRepo.owner.name }}
-
{{ gitSCMRepo.description }}
-
{{ gitSCMRepo.created_at | date:'medium' }}
-
{{ gitSCMRepo.pushed_at | date:'medium' }}
-
{{ gitSCMRepo.last_activity_at | date:'medium' }}
-
-
-
-
-
-
-
-
- Commit Details
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/gitscm-tab/gitscm-tab.component.scss b/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/gitscm-tab/gitscm-tab.component.scss
index a7f500398d..05b0261327 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/gitscm-tab/gitscm-tab.component.scss
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/gitscm-tab/gitscm-tab.component.scss
@@ -8,11 +8,30 @@
padding-left: 24px;
}
}
- .gitscm-tab__avatar {
+ &__avatar {
img {
float: right;
height: 84px;
width: 84px;
}
}
+
+ &__repo {
+ &__name {
+ align-items: center;
+ display: flex;
+ word-break: break-all;
+ a {
+ flex: 1;
+ }
+ &--icon {
+ font-size: 18px;
+ height: 18px;
+ line-height: 18px;
+ margin-left: 5px;
+ margin-right: 0;
+ width: 18px;
+ }
+ }
+ }
}
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/gitscm-tab/gitscm-tab.component.spec.ts b/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/gitscm-tab/gitscm-tab.component.spec.ts
index 81fa6de062..af8f5fcd90 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/gitscm-tab/gitscm-tab.component.spec.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/gitscm-tab/gitscm-tab.component.spec.ts
@@ -6,15 +6,15 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { RouterTestingModule } from '@angular/router/testing';
import { CoreModule } from '../../../../../../../../core/src/core/core.module';
-import { getGitHubAPIURL, GITHUB_API_URL } from '../../../../../../../../core/src/core/github.helpers';
import { SharedModule } from '../../../../../../../../core/src/shared/shared.module';
+import {
+ GithubCommitAuthorComponent,
+} from '../../../../../../../../git/src/shared/components/github-commit-author/github-commit-author.component';
+import { getGitHubAPIURL, GITHUB_API_URL } from '../../../../../../../../git/src/shared/github.helpers';
+import { GitSCMService } from '../../../../../../../../git/src/shared/scm/scm.service';
import { ApplicationServiceMock } from '../../../../../../../test-framework/application-service-helper';
import { generateCfStoreModules } from '../../../../../../../test-framework/cloud-foundry-endpoint-service.helper';
import { ApplicationService } from '../../../../application.service';
-import {
- GithubCommitAuthorComponent,
-} from './../../../../../../shared/components/github-commit-author/github-commit-author.component';
-import { GitSCMService } from './../../../../../../shared/data-services/scm/scm.service';
import { GitSCMTabComponent } from './gitscm-tab.component';
describe('GitSCMTabComponent', () => {
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/gitscm-tab/gitscm-tab.component.ts b/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/gitscm-tab/gitscm-tab.component.ts
index 32d2c03c3e..bed4d15c30 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/gitscm-tab/gitscm-tab.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/gitscm-tab/gitscm-tab.component.ts
@@ -2,19 +2,28 @@ import { DatePipe } from '@angular/common';
import { Component, OnDestroy, OnInit } from '@angular/core';
import { MatSnackBar, MatSnackBarRef, SimpleSnackBar } from '@angular/material/snack-bar';
import { Store } from '@ngrx/store';
-import { Observable, of as observableOf, Subscription } from 'rxjs';
-import { distinctUntilChanged, filter, map, take, tap } from 'rxjs/operators';
+import { GitCommit, gitEntityCatalog, GitMeta, GitRepo, GitSCMService, GitSCMType, SCMIcon } from '@stratosui/git';
+import { Observable, Subscription } from 'rxjs';
+import {
+ distinctUntilChanged,
+ filter,
+ first,
+ map,
+ publishReplay,
+ refCount,
+ startWith,
+ switchMap,
+ withLatestFrom,
+} from 'rxjs/operators';
import { ListConfig } from '../../../../../../../../core/src/shared/components/list/list.component.types';
-import { EntityService } from '../../../../../../../../store/src/entity-service';
+import {
+ NoContentMessageLine,
+} from '../../../../../../../../core/src/shared/components/no-content-message/no-content-message.component';
import { CFAppState } from '../../../../../../cf-app-state';
-import { cfEntityCatalog } from '../../../../../../cf-entity-catalog';
-import { GitMeta } from '../../../../../../entity-action-builders/git-action-builder';
import {
GithubCommitsListConfigServiceAppTab,
} from '../../../../../../shared/components/list/list-types/github-commits/github-commits-list-config-app-tab.service';
-import { GitSCMService, GitSCMType } from '../../../../../../shared/data-services/scm/scm.service';
-import { GitBranch, GitCommit, GitRepo } from '../../../../../../store/types/git.types';
import { ApplicationService } from '../../../../application.service';
import { EnvVarStratosProject } from '../build-tab/application-env-vars.service';
@@ -34,27 +43,30 @@ import { EnvVarStratosProject } from '../build-tab/application-env-vars.service'
},
deps: [Store, DatePipe, GitSCMService, ApplicationService]
}
- ]
+ ],
})
export class GitSCMTabComponent implements OnInit, OnDestroy {
- gitBranchEntityService: EntityService
;
- gitCommitEntityService: EntityService;
- gitSCMRepoEntityService: EntityService;
-
- deployAppSubscription: Subscription;
- stratosProject$: Observable;
- gitSCMRepo$: Observable;
- gitSCMRepoErrorSub: Subscription;
- commit$: Observable;
- isHead$: Observable;
- initialised$: Observable;
+ public hasRepo$: Observable;
+ public isLoading$: Observable;
+
+ public gitSCMRepo$: Observable;
+ public commit$: Observable;
+ public isHead$: Observable;
+
+ private gitSCMRepoErrorSub: Subscription;
private snackBarRef: MatSnackBarRef;
+ public noContentFirstLine = 'Unable to fetch details';
+ public noContentSecondLine: NoContentMessageLine = {
+ text: 'This repository may be private or has been removed.'
+ };
+ public noContentOtherLines: NoContentMessageLine[] = [{
+ text: 'Alternatively this may be due to a communication issue.'
+ }];
+ public icon$: Observable;
+
ngOnDestroy(): void {
- if (this.deployAppSubscription) {
- this.deployAppSubscription.unsubscribe();
- }
if (this.snackBarRef) {
this.snackBarRef.dismiss();
}
@@ -64,67 +76,92 @@ export class GitSCMTabComponent implements OnInit, OnDestroy {
}
constructor(
- private applicationService: ApplicationService,
+ public appService: ApplicationService,
private snackBar: MatSnackBar,
private scmService: GitSCMService
) { }
+ private createBaseGitMeta(stProject: EnvVarStratosProject): GitMeta {
+ // Fallback to type if scm is not set (legacy support)
+ const scmType = stProject.deploySource.scm || stProject.deploySource.type;
+ const scm = this.scmService.getSCM(scmType as GitSCMType, stProject.deploySource.endpointGuid);
+
+ return { projectName: stProject.deploySource.project, scm };
+ }
+
ngOnInit() {
- this.stratosProject$ = this.applicationService.applicationStratProject$.pipe(
- take(1),
- tap((stProject: EnvVarStratosProject) => {
- const projectName = stProject.deploySource.project;
- const commitSha = stProject.deploySource.commit.trim();
-
- // Fallback to type if scm is not set (legacy support)
- const scmType = stProject.deploySource.scm || stProject.deploySource.type;
- const scm = this.scmService.getSCM(scmType as GitSCMType);
-
- const gitRepInfoMeta: GitMeta = { projectName: stProject.deploySource.project, scm };
- this.gitSCMRepoEntityService = cfEntityCatalog.gitRepo.store.getRepoInfo.getEntityService(gitRepInfoMeta);
-
- const gitMeta: GitMeta = { projectName: stProject.deploySource.project, scm, commitSha };
- const repoEntityID = `${scmType}-${projectName}`;
- const commitEntityID = `${repoEntityID}-${commitSha}`; // FIXME: Should come from action #4245
- this.gitCommitEntityService = cfEntityCatalog.gitCommit.store.getEntityService(commitEntityID, null, gitMeta);
-
- this.gitBranchEntityService = cfEntityCatalog.gitBranch.store.getEntityService(undefined, undefined, {
- scm,
- projectName,
- branchName: stProject.deploySource.branch
- });
-
-
- this.gitSCMRepo$ = this.gitSCMRepoEntityService.waitForEntity$.pipe(
- map(p => p.entity && p.entity)
- );
-
- this.gitSCMRepoErrorSub = this.gitSCMRepoEntityService.entityMonitor.entityRequest$.pipe(
- filter(request => !!request.error),
- map(request => request.message),
- distinctUntilChanged(),
- ).subscribe(errorMessage => {
- if (this.snackBarRef) {
- this.snackBarRef.dismiss();
- }
- this.snackBarRef = this.snackBar.open(`Unable to fetch ${scm.getLabel()} project: ${errorMessage}`, 'Dismiss');
- });
-
- this.commit$ = this.gitCommitEntityService.waitForEntity$.pipe(
- map(p => p.entity)
- );
-
- this.isHead$ = this.gitBranchEntityService.waitForEntity$.pipe(
- map(p => {
- return (
- p.entity.commit.sha ===
- stProject.deploySource.commit.trim()
- );
- }),
- tap(p => (this.initialised$ = observableOf(true)))
- );
+ const coreInfo$: Observable<[EnvVarStratosProject, GitMeta]> = this.appService.applicationStratProject$.pipe(
+ first(),
+ map(stProject => [stProject, this.createBaseGitMeta(stProject)])
+ );
+
+ this.icon$ = this.appService.applicationStratProject$.pipe(
+ first(),
+ map((stProject: EnvVarStratosProject) => {
+ const meta: GitMeta = this.createBaseGitMeta(stProject);
+ return meta.scm.getIcon();
})
);
- }
+ this.hasRepo$ = this.appService.applicationStratProject$.pipe(
+ first(),
+ switchMap((stProject: EnvVarStratosProject) => {
+ const gitRepInfoMeta: GitMeta = this.createBaseGitMeta(stProject);
+ return gitEntityCatalog.repo.store.getRepoInfo.getEntityService(gitRepInfoMeta).entityObs$;
+ }),
+ map(entity => entity.entity ? true : entity.entityRequestInfo.error ? false : undefined),
+ startWith(undefined),
+ publishReplay(1),
+ refCount()
+ );
+
+ this.isLoading$ = this.hasRepo$.pipe(
+ filter(hasRepo => hasRepo !== undefined),
+ map(() => false),
+ startWith(true)
+ );
+
+ const blockedOnRepo$: Observable<[EnvVarStratosProject, GitMeta]> = this.hasRepo$.pipe(
+ filter(hasRepo => hasRepo),
+ switchMap(() => coreInfo$)
+ );
+
+ this.gitSCMRepo$ = blockedOnRepo$.pipe(
+ map(([, baseGitMeta]) => gitEntityCatalog.repo.store.getRepoInfo.getEntityService(baseGitMeta)),
+ switchMap(repoService => repoService.waitForEntity$),
+ map(p => p.entity)
+ );
+
+ this.gitSCMRepoErrorSub = this.hasRepo$.pipe(
+ filter(hasRepo => hasRepo === false),
+ switchMap(() => coreInfo$),
+ switchMap(([, baseGitMeta]) => gitEntityCatalog.repo.store.getRepoInfo.getEntityService(baseGitMeta).entityMonitor.entityRequest$),
+ map(request => request.message),
+ distinctUntilChanged(),
+ withLatestFrom(coreInfo$)
+ ).subscribe(([errorMessage, [, baseGitMeta]]) => {
+ if (this.snackBarRef) {
+ this.snackBarRef.dismiss();
+ }
+ this.snackBarRef = this.snackBar.open(`Unable to fetch ${baseGitMeta.scm.getLabel()} project: ${errorMessage}`, 'Dismiss');
+ });
+
+ this.commit$ = blockedOnRepo$.pipe(
+ map(([stProject, baseGitMeta]) => gitEntityCatalog.commit.store.getEntityService(null, null, {
+ ...baseGitMeta,
+ commitSha: stProject.deploySource.commit.trim()
+ })),
+ switchMap(commitService => commitService.waitForEntity$),
+ map(p => p.entity)
+ );
+ this.isHead$ = blockedOnRepo$.pipe(
+ map(([stProject, baseGitMeta]) => gitEntityCatalog.branch.store.getEntityService(undefined, undefined, {
+ ...baseGitMeta,
+ branchName: stProject.deploySource.branch
+ })),
+ switchMap(branchService => branchService.waitForEntity$),
+ withLatestFrom(blockedOnRepo$),
+ map(([p, [stProject]]) => p.entity.commit.sha === stProject.deploySource.commit.trim()),
+ );
+ }
}
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/log-stream-tab/log-stream-tab.component.ts b/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/log-stream-tab/log-stream-tab.component.ts
index cc4a4f4bd7..8f207f162d 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/log-stream-tab/log-stream-tab.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/application/application-tabs-base/tabs/log-stream-tab/log-stream-tab.component.ts
@@ -105,7 +105,7 @@ export class LogStreamTabComponent implements OnInit {
msgColour = 'red';
bold = true;
}
- const messageString = this.colorizer.colorize(atob(messageObj.message), msgColour, bold) + '\n';
+ const messageString = this.colorizer.colorize(decodeURIComponent(escape(atob(messageObj.message))), msgColour, bold) + '\n';
return timeStamp + ': ' + messageSource + ' ' + messageString;
} catch (error) {
console.error('Failed to filter jsonMessage from WebSocket: ' + JSON.stringify(error));
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/applications.module.ts b/src/frontend/packages/cloud-foundry/src/features/applications/applications.module.ts
index ce590dbaa6..aef3d5cd18 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/applications.module.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/applications.module.ts
@@ -4,6 +4,7 @@ import { NgModule } from '@angular/core';
import { CfAutoscalerModule } from '../../../../cf-autoscaler/src/cf-autoscaler.module';
import { CoreModule } from '../../../../core/src/core/core.module';
import { SharedModule } from '../../../../core/src/shared/shared.module';
+import { GitSharedModule } from '../../../../git/src/shared/git-shared.module';
import { CloudFoundrySharedModule } from '../../shared/cf-shared.module';
import { ApplicationDeleteComponent } from './application-delete/application-delete.component';
import {
@@ -47,7 +48,8 @@ import { SshApplicationComponent } from './ssh-application/ssh-application.compo
ApplicationsRoutingModule,
CloudFoundrySharedModule,
// FIXME: Remove hard link between cf and autoscaler packages #4416
- CfAutoscalerModule
+ CfAutoscalerModule,
+ GitSharedModule
],
declarations: [
ApplicationWallComponent,
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/applications.routing.ts b/src/frontend/packages/cloud-foundry/src/features/applications/applications.routing.ts
index 1b0ffd86b4..d8f3bf62cf 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/applications.routing.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/applications.routing.ts
@@ -39,6 +39,12 @@ const applicationsRoutes: Routes = [
{
path: 'new',
component: NewApplicationBaseStepComponent,
+ pathMatch: 'full'
+ },
+ {
+ path: 'new/:endpointId',
+ component: NewApplicationBaseStepComponent,
+ pathMatch: 'full'
},
{
path: 'create',
@@ -59,6 +65,11 @@ const applicationsRoutes: Routes = [
extensionsActionsKey: StratosActionType.Applications
}
},
+ {
+ path: ':endpointId',
+ component: ApplicationWallComponent,
+ pathMatch: 'full'
+ },
{
path: ':endpointId/:id',
component: ApplicationBaseComponent,
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/create-application/create-application-step3/create-application-step3.component.ts b/src/frontend/packages/cloud-foundry/src/features/applications/create-application/create-application-step3/create-application-step3.component.ts
index 3a700a6462..b5e013d4a1 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/create-application/create-application-step3/create-application-step3.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/create-application/create-application-step3/create-application-step3.component.ts
@@ -78,7 +78,7 @@ export class CreateApplicationStep3Component implements OnInit {
return observableOf({ success: false, message: err.message });
})
);
- }
+ };
validate(): boolean {
return this.setDomainHost.valid;
@@ -93,9 +93,9 @@ export class CreateApplicationStep3Component implements OnInit {
const obs$ = cfEntityCatalog.application.api.create(
newAppGuid,
cloudFoundry, {
- name,
- space_guid: space
- });
+ name,
+ space_guid: space
+ });
return this.wrapObservable(obs$, 'Could not create application');
}
@@ -117,7 +117,7 @@ export class CreateApplicationStep3Component implements OnInit {
domain_guid: selectedDomainGuid,
host: hostName
}
- )
+ );
return this.wrapObservable(obs$, 'Application created. Could not create route');
}
return observableOf({
@@ -137,7 +137,7 @@ export class CreateApplicationStep3Component implements OnInit {
deleting: null,
response: null
}))
- )
+ );
return this.wrapObservable(obs$, 'Application and route created. Could not associated route with app');
}
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/create-application/create-application.component.ts b/src/frontend/packages/cloud-foundry/src/features/applications/create-application/create-application.component.ts
index 438d60af57..48e54d2ce1 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/create-application/create-application.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/create-application/create-application.component.ts
@@ -4,10 +4,10 @@ import { Subscription } from 'rxjs';
import { filter, first, tap } from 'rxjs/operators';
import { CFAppState } from '../../../../../cloud-foundry/src/cf-app-state';
-import { applicationEntityType } from '../../../../../cloud-foundry/src/cf-entity-types';
-import { selectCfPaginationState } from '../../../../../cloud-foundry/src/store/selectors/pagination.selectors';
+import { applicationEntityType } from '../../../cf-entity-types';
import { CfAppsDataSource } from '../../../shared/components/list/list-types/app/cf-apps-data-source';
import { CfOrgSpaceDataService } from '../../../shared/data-services/cf-org-space-service.service';
+import { selectCfPaginationState } from '../../../store/selectors/pagination.selectors';
@Component({
selector: 'app-create-application',
@@ -22,6 +22,9 @@ export class CreateApplicationComponent implements OnInit, OnDestroy {
ngOnInit() {
// We will auto select endpoint/org/space that have been selected on the app wall.
+ this.cfOrgSpaceService.enableAutoSelectors();
+ // FIXME: This has been broken for a while (setting cf will clear org + space after org and space has been set)
+ // With new tools (set initial/enable auto) this should be easier to fix
const appWallPaginationState = this.store.select(selectCfPaginationState(applicationEntityType, CfAppsDataSource.paginationKey));
this.paginationStateSub = appWallPaginationState.pipe(filter(pag => !!pag), first(), tap(pag => {
const { cf, org, space } = pag.clientPagination.filter.items;
@@ -29,7 +32,6 @@ export class CreateApplicationComponent implements OnInit, OnDestroy {
this.cfOrgSpaceService.cf.select.next(cf);
}
if (cf && org) {
-
this.cfOrgSpaceService.org.select.next(org);
}
if (cf && org && space) {
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application-deployer.ts b/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application-deployer.ts
index 12a575759e..e575c35ddd 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application-deployer.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application-deployer.ts
@@ -44,6 +44,7 @@ interface GitSCMSourceInfo extends DeploySource {
url: string;
commit: string;
scm: string;
+ endpointGuid: string;
}
// Structure used to provide metadata about the Git Url source
@@ -229,7 +230,7 @@ export class DeployApplicationDeployer {
type: SocketEventTypes.OVERRIDES_SUPPLIED
};
return JSON.stringify(msg);
- }
+ };
sendProjectInfo = (appSource: DeployApplicationSource) => {
if (appSource.type.group === 'gitscm') {
@@ -242,7 +243,7 @@ export class DeployApplicationDeployer {
return this.sendDockerImageMetadata(appSource);
}
return '';
- }
+ };
sendGitSCMSourceMetadata = (appSource: DeployApplicationSource) => {
const gitscm: GitSCMSourceInfo = {
@@ -251,7 +252,8 @@ export class DeployApplicationDeployer {
type: appSource.type.group,
commit: appSource.gitDetails.commit,
url: appSource.gitDetails.url,
- scm: appSource.type.id
+ scm: appSource.type.id,
+ endpointGuid: appSource.gitDetails.endpointGuid
};
const msg = {
@@ -260,7 +262,7 @@ export class DeployApplicationDeployer {
type: SocketEventTypes.SOURCE_GITSCM
};
return JSON.stringify(msg);
- }
+ };
sendGitUrlSourceMetadata = (appSource: DeployApplicationSource) => {
const gitUrl: GitUrlSourceInfo = {
@@ -275,7 +277,7 @@ export class DeployApplicationDeployer {
type: SocketEventTypes.SOURCE_GITURL
};
return JSON.stringify(msg);
- }
+ };
sendDockerImageMetadata = (appSource: DeployApplicationSource) => {
const dockerInfo: DockerImageSourceInfo = {
@@ -291,7 +293,7 @@ export class DeployApplicationDeployer {
type: SocketEventTypes.SOURCE_DOCKER_IMG
};
return JSON.stringify(msg);
- }
+ };
sendCloseAcknowledgement = () => {
const msg = {
@@ -300,7 +302,7 @@ export class DeployApplicationDeployer {
type: SocketEventTypes.CLOSE_ACK
};
return JSON.stringify(msg);
- }
+ };
processWebSocketMessage = (log) => {
switch (log.type) {
@@ -331,19 +333,19 @@ export class DeployApplicationDeployer {
break;
case SocketEventTypes.CLOSE_INVALID_MANIFEST:
this.onClose(log, 'Deploy Failed - Invalid manifest!',
- 'Failed to deploy app! Please make sure that a valid manifest.yaml was provided!');
+ 'Failed to deploy app! Please make sure that a valid manifest.yaml was provided.');
break;
case SocketEventTypes.CLOSE_NO_MANIFEST:
this.onClose(log, 'Deploy Failed - No manifest present!',
- 'Failed to deploy app! Please make sure that a valid manifest.yaml is present!');
+ 'Failed to deploy app! Please make sure that a valid manifest.yaml is present.');
break;
case SocketEventTypes.CLOSE_FAILED_CLONE:
this.onClose(log, 'Deploy Failed - Failed to clone repository!',
- 'Failed to deploy app! Please make sure the repository is public!');
+ 'Failed to deploy app! Please make sure the repository is public.');
break;
case SocketEventTypes.CLOSE_FAILED_NO_BRANCH:
this.onClose(log, 'Deploy Failed - Failed to located branch!',
- 'Failed to deploy app! Please make sure that branch exists!');
+ 'Failed to deploy app! Please make sure that the branch exists.');
break;
case SocketEventTypes.CLOSE_FAILURE:
case SocketEventTypes.CLOSE_PUSH_ERROR:
@@ -376,7 +378,7 @@ export class DeployApplicationDeployer {
default:
// noop
}
- }
+ };
private sendNextFile() {
// Update for the previous file transfer
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application-step2-1/commit-list-wrapper/commit-list-wrapper.component.spec.ts b/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application-step2-1/commit-list-wrapper/commit-list-wrapper.component.spec.ts
index ca81b0308b..8ed3dd9a30 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application-step2-1/commit-list-wrapper/commit-list-wrapper.component.spec.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application-step2-1/commit-list-wrapper/commit-list-wrapper.component.spec.ts
@@ -1,12 +1,12 @@
import { CommonModule, DatePipe } from '@angular/common';
-import { HttpClientModule, HttpClient, HttpBackend } from '@angular/common/http';
+import { HttpBackend, HttpClient, HttpClientModule } from '@angular/common/http';
import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { Store } from '@ngrx/store';
import { CoreModule } from '../../../../../../../core/src/core/core.module';
-import { getGitHubAPIURL, GITHUB_API_URL } from '../../../../../../../core/src/core/github.helpers';
import { SharedModule } from '../../../../../../../core/src/shared/shared.module';
+import { getGitHubAPIURL, GITHUB_API_URL } from '../../../../../../../git/src/shared/github.helpers';
import { generateCfStoreModules } from '../../../../../../test-framework/cloud-foundry-endpoint-service.helper';
import { SetAppSourceDetails } from '../../../../../actions/deploy-applications.actions';
import { CommitListWrapperComponent } from './commit-list-wrapper.component';
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application-step2-1/commit-list-wrapper/commit-list-wrapper.component.ts b/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application-step2-1/commit-list-wrapper/commit-list-wrapper.component.ts
index 4d916391d9..4a6e786028 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application-step2-1/commit-list-wrapper/commit-list-wrapper.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application-step2-1/commit-list-wrapper/commit-list-wrapper.component.ts
@@ -1,16 +1,15 @@
import { DatePipe } from '@angular/common';
import { Component } from '@angular/core';
import { Store } from '@ngrx/store';
+import { GitCommit, GitSCMService } from '@stratosui/git';
import { Observable } from 'rxjs';
import { filter, map, mergeMap } from 'rxjs/operators';
import { CFAppState } from '../../../../../../../cloud-foundry/src/cf-app-state';
-import { GitCommit } from '../../../../../../../cloud-foundry/src/store/types/git.types';
import { ListConfig } from '../../../../../../../core/src/shared/components/list/list.component.types';
import {
GithubCommitsListConfigServiceDeploy,
} from '../../../../../shared/components/list/list-types/github-commits/github-commits-list-config-deploy.service';
-import { GitSCMService } from '../../../../../shared/data-services/scm/scm.service';
@Component({
selector: 'app-commit-list-wrapper',
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application-step2-1/deploy-application-step2-1.component.ts b/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application-step2-1/deploy-application-step2-1.component.ts
index dfc9efe55d..7bb65d9591 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application-step2-1/deploy-application-step2-1.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application-step2-1/deploy-application-step2-1.component.ts
@@ -8,12 +8,12 @@ import {
ViewContainerRef,
} from '@angular/core';
import { Store } from '@ngrx/store';
+import { GitCommit } from '@stratosui/git';
import { Observable } from 'rxjs';
import { first, map, tap } from 'rxjs/operators';
import { SetDeployCommit } from '../../../../../../cloud-foundry/src/actions/deploy-applications.actions';
import { CFAppState } from '../../../../../../cloud-foundry/src/cf-app-state';
-import { GitCommit } from '../../../../../../cloud-foundry/src/store/types/git.types';
import { StepOnNextFunction } from '../../../../../../core/src/shared/components/stepper/step/step.component';
import { CommitListWrapperComponent } from './commit-list-wrapper/commit-list-wrapper.component';
@@ -46,7 +46,7 @@ export class DeployApplicationStep21Component {
onLeave = () => {
this.wrapperRef.destroy();
this.target.clear();
- }
+ };
onEnter = () => {
// Wrap the list component in another component. This means it's recreated every time to include changes in the github repo
@@ -56,7 +56,7 @@ export class DeployApplicationStep21Component {
this.validate = this.selectedCommit$.pipe(
map(selectedCommit => !!selectedCommit)
);
- }
+ };
onNext: StepOnNextFunction = () => {
return this.selectedCommit$.pipe(
@@ -66,5 +66,5 @@ export class DeployApplicationStep21Component {
}),
map(() => ({ success: true }))
);
- }
+ };
}
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application-step2/deploy-application-step2.component.html b/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application-step2/deploy-application-step2.component.html
index 1635d731f3..9879d583f3 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application-step2/deploy-application-step2.component.html
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application-step2/deploy-application-step2.component.html
@@ -13,10 +13,16 @@
+ placeholder="Project" name="projectName"
+ [appGithubProjectExists]="sourceType.id + ',' + sourceType.endpointGuid" required>
- {{repo}}
+
+
+
;
INITIAL_SOURCE_TYPE = 0; // Fall back to GitHub, for cases where there's no type in store (refresh) or url (removed & nav)
@@ -84,13 +82,13 @@ export class DeployApplicationStep2Component
// @Input('fsSourceData') fsSourceData;
// ---- GIT ----------
- repositoryBranches$: Observable;
+ repositoryBranches$: Observable;
projectInfo$: Observable;
commitSubscription: Subscription;
sourceType: SourceType;
- repositoryBranch: GitBranch = { name: null, commit: null };
+ repositoryBranch: GitBranch = null;
repository: string;
scm: GitSCM;
@@ -98,7 +96,7 @@ export class DeployApplicationStep2Component
cachedSuggestions = {};
// We don't have any repositories to suggest initially - need user to start typing
- suggestedRepos$: Observable;
+ suggestedRepos$: Observable;
// Git URL
gitUrl: string;
@@ -130,24 +128,34 @@ export class DeployApplicationStep2Component
private httpClient: HttpClient,
private appDeploySourceTypes: ApplicationDeploySourceTypes
) {
- this.sourceTypes = appDeploySourceTypes.getTypes();
}
onNext: StepOnNextFunction = () => {
// Set the details based on which source type is selected
if (this.sourceType.group === 'gitscm') {
- this.store.dispatch(new SaveAppDetails({
+ gitEntityCatalog.repo.store.getRepoInfo.getEntityService({
projectName: this.repository,
- branch: this.repositoryBranch,
- url: this.scm.getCloneURL(this.repository),
- commit: this.isRedeploy ? this.commitInfo.sha : undefined
- }, null));
+ scm: this.scm,
+ }).waitForEntity$.pipe(first()).subscribe(repo => {
+ this.store.dispatch(new SaveAppDetails({
+ projectName: this.repository,
+ branch: this.repositoryBranch,
+ url: repo.entity.clone_url,
+ commit: this.isRedeploy ? this.commitInfo.sha : undefined,
+ endpointGuid: this.sourceType.endpointGuid,
+ }, null));
+ });
} else if (this.sourceType.id === DEPLOY_TYPES_IDS.GIT_URL) {
this.store.dispatch(new SaveAppDetails({
projectName: this.gitUrl,
branch: {
- name: this.gitUrlBranchName
- }
+ name: this.gitUrlBranchName,
+ guid: null,
+ projectName: null,
+ scmType: null,
+ endpointGuid: null,
+ },
+ endpointGuid: null
}, null));
} else if (this.sourceType.id === DEPLOY_TYPES_IDS.DOCKER_IMG) {
this.store.dispatch(new SaveAppDetails(null, {
@@ -157,15 +165,15 @@ export class DeployApplicationStep2Component
}));
}
return observableOf({ success: true, data: this.sourceSelectionForm.form.value.fsLocalSource });
- }
+ };
ngOnInit() {
this.sourceType$ = combineLatest(
- of(this.appDeploySourceTypes.getAutoSelectedType(this.route)),
+ this.appDeploySourceTypes.getAutoSelectedType(this.route),
this.store.select(selectSourceType),
- of(this.sourceTypes[this.INITIAL_SOURCE_TYPE])
+ this.appDeploySourceTypes.types$.pipe(first(), map(st => st[this.INITIAL_SOURCE_TYPE]))
).pipe(
- map(([sourceFromStore, sourceFromParam, sourceDefault]) => sourceFromParam || sourceFromStore || sourceDefault),
+ map(([sourceFromParam, sourceFromStore, sourceDefault]) => sourceFromParam || sourceFromStore || sourceDefault),
filter(sourceType => !!sourceType),
);
@@ -219,7 +227,7 @@ export class DeployApplicationStep2Component
}
this.store.dispatch(new SetAppSourceDetails(sourceType));
- }
+ };
ngAfterContentInit() {
this.validate = this.sourceSelectionForm.statusChanges.pipe(map(() => {
@@ -250,12 +258,12 @@ export class DeployApplicationStep2Component
distinctUntilChanged((x, y) => x.name.toLowerCase() === y.name.toLowerCase()),
// Convert project name into branches pagination observable
switchMap(state =>
- cfEntityCatalog.gitBranch.store.getPaginationService(null, null, {
+ gitEntityCatalog.branch.store.getPaginationService(null, null, {
scm: this.scm,
projectName: state.name
}).entities$
),
- // Find the specific branch we're interested inS
+ // Find the specific branch we're interested in
withLatestFrom(deployBranchName$),
filter(([, branchName]) => !!branchName),
tap(([branches, branchName]) => {
@@ -263,7 +271,7 @@ export class DeployApplicationStep2Component
branch => branch.name === branchName
);
}),
- map(([p, q]) => p),
+ map(([branches, branchName]) => branches),
publishReplay(1),
refCount()
);
@@ -272,23 +280,20 @@ export class DeployApplicationStep2Component
this.repositoryBranches$,
deployBranchName$,
this.projectInfo$,
- deployCommit$
+ deployCommit$,
).pipe(
tap(([branches, name, projectInfo, commit]) => {
const branch = branches.find(b => b.name === name);
- if (branch && !!projectInfo && branch.projectId === projectInfo.full_name) {
+ if (branch && !!projectInfo && branch.projectName === projectInfo.full_name) {
this.store.dispatch(new SetBranch(branch));
-
if (this.isRedeploy) {
const commitSha = commit || branch.commit.sha;
- // FIXME: This method to create entity id's should be standardised.... #4245
- const repoEntityID = `${this.scm.getType()}-${projectInfo.full_name}`;
- const commitEntityID = `${repoEntityID}-${commitSha}`;
- const commitEntityService = cfEntityCatalog.gitCommit.store.getEntityService(commitEntityID, null, {
+ const commitGuid = getCommitGuid(this.scm.getType(), projectInfo.full_name, commitSha);
+ const commitEntityService = gitEntityCatalog.commit.store.getEntityService(commitGuid, null, {
projectName: projectInfo.full_name,
scm: this.scm, commitSha
- })
+ });
if (this.commitSubscription) {
this.commitSubscription.unsubscribe();
@@ -307,10 +312,11 @@ export class DeployApplicationStep2Component
const setSourceTypeModel$ = this.store.select(selectSourceType).pipe(
filter(p => !!p),
- tap(p => {
- this.sourceType = this.sourceTypes.find(s => s.id === p.id);
+ withLatestFrom(this.appDeploySourceTypes.types$),
+ tap(([p, sourceTypes]) => {
+ this.sourceType = sourceTypes.find(s => s.id === p.id && (p.endpointGuid ? s.endpointGuid === p.endpointGuid : true));
- const newScm = this.scmService.getSCM(this.sourceType.id as GitSCMType);
+ const newScm = this.scmService.getSCM(this.sourceType.id as GitSCMType, this.sourceType.endpointGuid);
if (!!newScm) {
// User selected one of the SCM options
if (this.scm && newScm.getType() !== this.scm.getType()) {
@@ -320,7 +326,7 @@ export class DeployApplicationStep2Component
this.repositoryBranch = null;
this.store.dispatch(new SetBranch(null));
this.store.dispatch(new ProjectDoesntExist(''));
- this.store.dispatch(new SaveAppDetails({ projectName: '', branch: null }, null));
+ this.store.dispatch(new SaveAppDetails({ projectName: '', branch: null, endpointGuid: this.sourceType.endpointGuid }, null));
}
this.scm = newScm;
}
@@ -347,9 +353,9 @@ export class DeployApplicationStep2Component
);
}
- updateSuggestedRepositories(name: string): Observable {
+ updateSuggestedRepositories(name: string): Observable {
if (!name || name.length < 3) {
- return observableOf([] as string[]);
+ return observableOf([] as GitSuggestedRepo[]);
}
const cacheName = this.scm.getType() + ':' + name;
@@ -361,7 +367,7 @@ export class DeployApplicationStep2Component
take(1),
switchMap(() => this.scm.getMatchingRepositories(this.httpClient, name)),
catchError(e => observableOf(null)),
- tap(suggestions => this.cachedSuggestions[cacheName] = suggestions)
+ tap(suggestions => this.cachedSuggestions[cacheName] = suggestions),
);
}
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application-step3/deploy-application-step3.component.ts b/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application-step3/deploy-application-step3.component.ts
index 7e34bdc40b..c076181efb 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application-step3/deploy-application-step3.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application-step3/deploy-application-step3.component.ts
@@ -1,5 +1,4 @@
import { Component, Input, OnDestroy } from '@angular/core';
-import { MatSnackBar } from '@angular/material/snack-bar';
import { Store } from '@ngrx/store';
import {
BehaviorSubject,
@@ -14,6 +13,7 @@ import { DeleteDeployAppSection } from '../../../../../../cloud-foundry/src/acti
import { CFAppState } from '../../../../../../cloud-foundry/src/cf-app-state';
import { safeUnsubscribe } from '../../../../../../core/src/core/utils.service';
import { StepOnNextFunction } from '../../../../../../core/src/shared/components/stepper/step/step.component';
+import { SnackBarService } from '../../../../../../core/src/shared/services/snackbar.service';
import { RouterNav } from '../../../../../../store/src/actions/router.actions';
import { cfEntityCatalog } from '../../../../cf-entity-catalog';
import { CfAppsDataSource } from '../../../../shared/components/list/list-types/app/cf-apps-data-source';
@@ -49,7 +49,7 @@ export class DeployApplicationStep3Component implements OnDestroy {
constructor(
private store: Store,
- private snackBar: MatSnackBar,
+ private snackBarService: SnackBarService,
public cfOrgSpaceService: CfOrgSpaceDataService
) {
this.valid$ = observableOf(false);
@@ -64,7 +64,7 @@ export class DeployApplicationStep3Component implements OnDestroy {
// Observables
this.errorSub = this.deployer.status$.pipe(
filter((status) => status.error)
- ).subscribe(status => this.snackBar.open(status.errorMsg, 'Dismiss'));
+ ).subscribe(status => this.snackBarService.show(status.errorMsg, 'Dismiss'));
const appGuid$ = this.deployer.applicationGuid$.pipe(
filter((appGuid) => appGuid !== null),
@@ -126,9 +126,9 @@ export class DeployApplicationStep3Component implements OnDestroy {
first()
).subscribe(status => {
if (status.error) {
- this.snackBar.open(status.errorMsg, 'Dismiss');
+ this.snackBarService.show(status.errorMsg, 'Dismiss');
} else {
- const ref = this.snackBar.open('Application deployment complete', 'View', { duration: 5000 });
+ const ref = this.snackBarService.show('Application deployment complete', 'View', 10000, true);
ref.onAction().subscribe(() => { this.goToAppSummary(); });
}
this.deployer.close();
@@ -151,14 +151,14 @@ export class DeployApplicationStep3Component implements OnDestroy {
this.deployer.deploy();
}
this.busy = true;
- }
+ };
onNext: StepOnNextFunction = () => {
// Delete Deploy App Section
this.store.dispatch(new DeleteDeployAppSection());
this.goToAppSummary();
return observableOf({ success: true });
- }
+ };
goToAppSummary() {
// Take user to applications
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application-steps.types.ts b/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application-steps.types.ts
index b20ecdb697..b92c91eb93 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application-steps.types.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application-steps.types.ts
@@ -1,14 +1,16 @@
import { Injectable } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
-import { Store } from '@ngrx/store';
import { Observable, of } from 'rxjs';
import { filter, first, map, publishReplay, refCount, switchMap } from 'rxjs/operators';
import { SourceType } from '../../../../../cloud-foundry/src/store/types/deploy-application.types';
import { PermissionConfig } from '../../../../../core/src/core/permissions/current-user-permissions.config';
import { CurrentUserPermissionsService } from '../../../../../core/src/core/permissions/current-user-permissions.service';
+import { GitSCM, GitSCMService } from '../../../../../git/src/public_api';
+import { GIT_ENDPOINT_SUB_TYPES, GIT_ENDPOINT_TYPE } from '../../../../../git/src/store/git-entity-factory';
+import { getFullEndpointApiUrl } from '../../../../../store/src/endpoint-utils';
+import { stratosEntityCatalog } from '../../../../../store/src/stratos-entity-catalog';
import { CFFeatureFlagTypes } from '../../../cf-api.types';
-import { CFAppState } from '../../../cf-app-state';
import { cfEntityCatalog } from '../../../cf-entity-catalog';
import { CfPermissionTypes } from '../../../user-permissions/cf-user-permissions-checkers';
@@ -22,16 +24,17 @@ export enum DEPLOY_TYPES_IDS {
}
export const AUTO_SELECT_DEPLOY_TYPE_URL_PARAM = 'auto-select-deploy';
+export const AUTO_SELECT_DEPLOY_TYPE_ENDPOINT_PARAM = 'auto-select-deploy-endpoint';
@Injectable()
export class ApplicationDeploySourceTypes {
- private types: SourceType[] = [
+ private baseTypes: SourceType[] = [
{
- name: 'Public GitHub',
+ name: 'GitHub',
id: DEPLOY_TYPES_IDS.GITHUB,
group: 'gitscm',
- helpText: 'Please select the public GitHub project and branch you would like to deploy from.',
+ helpText: 'Please select the GitHub project and branch you would like to deploy from.',
graphic: {
// TODO: Move cf assets to CF package (#3769)
location: '/core/assets/endpoint-icons/github-logo.png',
@@ -39,10 +42,10 @@ export class ApplicationDeploySourceTypes {
}
},
{
- name: 'Public GitLab',
+ name: 'GitLab',
id: DEPLOY_TYPES_IDS.GITLAB,
group: 'gitscm',
- helpText: 'Please select the public GitLab project and branch you would like to deploy from.',
+ helpText: 'Please select the GitLab project and branch you would like to deploy from.',
graphic: {
location: '/core/assets/endpoint-icons/gitlab-icon-rgb.svg'
}
@@ -79,22 +82,85 @@ export class ApplicationDeploySourceTypes {
graphic: { matIcon: 'folder' }
},
];
+ public types$: Observable;
+
constructor(
private perms: CurrentUserPermissionsService,
- private store: Store,
- ) { }
+ private scmService: GitSCMService
+ ) {
+ const scms: { [deployId: string]: GitSCM; } = {
+ [DEPLOY_TYPES_IDS.GITHUB]: this.scmService.getSCM('github', null),
+ [DEPLOY_TYPES_IDS.GITLAB]: this.scmService.getSCM('gitlab', null)
+ };
- getTypes(): SourceType[] {
- return [
- ...this.types
- ];
- }
+ this.types$ = stratosEntityCatalog.endpoint.store.getAll.getPaginationService().entities$.pipe(
+ filter(e => !!e),
+ map(endpoints => {
+ const newTypes: SourceType[] = [];
+
+ // Add all the base types... also update git types if the user has provided credentials for it
+ this.baseTypes.forEach(t => {
+ const scm = scms[t.id];
+ if (scm) {
+ // Find the endpoint that's associated with this git type
+ const eType = GIT_ENDPOINT_TYPE;
+ const eSubType: GIT_ENDPOINT_SUB_TYPES = scm.getType() === DEPLOY_TYPES_IDS.GITHUB ?
+ GIT_ENDPOINT_SUB_TYPES.GITHUB :
+ GIT_ENDPOINT_SUB_TYPES.GITLAB;
+ for (const e of endpoints) {
+ const url = getFullEndpointApiUrl(e);
+ if (
+ e.cnsi_type === eType &&
+ e.sub_type === eSubType &&
+ url === scm.getPublicApi() // Must match the endpoint associated with github.com/gitlab.com types (not enterprise)
+ ) {
+ newTypes.push({
+ ...t,
+ endpointGuid: e.guid
+ });
+ return;
+ }
+ }
+ }
+ newTypes.push(t);
+ });
+ // Add all enterprise github/gitlab types
+ endpoints.forEach(e => {
+ if (e.cnsi_type !== GIT_ENDPOINT_TYPE) {
+ return;
+ }
+ const deployId: DEPLOY_TYPES_IDS = e.sub_type === GIT_ENDPOINT_SUB_TYPES.GITHUB ?
+ DEPLOY_TYPES_IDS.GITHUB :
+ DEPLOY_TYPES_IDS.GITLAB;
+ const scm = scms[deployId];
+ const url = getFullEndpointApiUrl(e);
+ // If this isn't the public api one... it must be enterprise
+ if (url !== scm.getPublicApi()) {
+ const index = newTypes.findIndex(nt => nt.id === deployId);
+ newTypes.splice(index + 1, 0, {
+ ...this.baseTypes[index], // Use similar settings to the original one but with more info
+ name: e.name,
+ endpointGuid: e.guid
+ });
+ }
+ });
- getAutoSelectedType(activatedRoute: ActivatedRoute): SourceType {
+ return newTypes;
+ }),
+ publishReplay(1),
+ refCount()
+ );
+ }
+
+ getAutoSelectedType(activatedRoute: ActivatedRoute): Observable {
const typeId = activatedRoute.snapshot.queryParams[AUTO_SELECT_DEPLOY_TYPE_URL_PARAM];
- return typeId ? this.getTypes().find(source => source.id === typeId) : null;
+ if (!typeId) {
+ return of(null);
+ }
+ const endpointGuid = activatedRoute.snapshot.queryParams[AUTO_SELECT_DEPLOY_TYPE_ENDPOINT_PARAM];
+ return this.types$.pipe(map(types => types.find(source => source.id === typeId && source.endpointGuid === endpointGuid)));
}
canDeployType(cfId: string, sourceId: string): Observable {
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application.component.html b/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application.component.html
index cde7e260b2..43375d3b6c 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application.component.html
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application.component.html
@@ -1,5 +1,5 @@
- {{ getTitle() }}
+ {{ getTitle() | async }}
@@ -29,8 +29,8 @@ {{ getTitle() }}
+ disablePrevious=true cancelButtonText="Close" [onEnter]="step3.onEnter" [onNext]="step3.onNext"
+ [showBusy]="step3.busy" finishButtonText="Go to App Summary">
\ No newline at end of file
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application.component.spec.ts b/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application.component.spec.ts
index 2124a1e765..43a27de167 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application.component.spec.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application.component.spec.ts
@@ -5,9 +5,9 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { RouterTestingModule } from '@angular/router/testing';
import { CoreModule } from '../../../../../core/src/core/core.module';
-import { getGitHubAPIURL, GITHUB_API_URL } from '../../../../../core/src/core/github.helpers';
import { SharedModule } from '../../../../../core/src/shared/shared.module';
import { TabNavService } from '../../../../../core/src/tab-nav.service';
+import { getGitHubAPIURL, GITHUB_API_URL } from '../../../../../git/src/shared/github.helpers';
import { generateCfStoreModules } from '../../../../test-framework/cloud-foundry-endpoint-service.helper';
import { CloudFoundrySharedModule } from '../../../shared/cf-shared.module';
import { CfOrgSpaceDataService } from '../../../shared/data-services/cf-org-space-service.service';
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application.component.ts b/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application.component.ts
index ff481bc25d..8c8cdd5b8f 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/deploy-application.component.ts
@@ -2,8 +2,8 @@ import { Component, OnDestroy, OnInit } from '@angular/core';
import { ErrorStateMatcher, ShowOnDirtyErrorStateMatcher } from '@angular/material/core';
import { ActivatedRoute } from '@angular/router';
import { Store } from '@ngrx/store';
-import { Observable, of as observableOf, Subscription } from 'rxjs';
-import { filter, map, tap } from 'rxjs/operators';
+import { Observable, of as observableOf, of, Subscription } from 'rxjs';
+import { filter, first, map, tap } from 'rxjs/operators';
import {
DeleteDeployAppSection,
@@ -22,6 +22,7 @@ import { RouterNav } from '../../../../../store/src/actions/router.actions';
import { selectPaginationState } from '../../../../../store/src/selectors/pagination.selectors';
import { CfAppsDataSource } from '../../../shared/components/list/list-types/app/cf-apps-data-source';
import { CfOrgSpaceDataService } from '../../../shared/data-services/cf-org-space-service.service';
+import { AUTO_SELECT_CF_URL_PARAM } from '../new-application-base-step/new-application-base-step.component';
import { ApplicationDeploySourceTypes } from './deploy-application-steps.types';
@Component({
@@ -40,7 +41,7 @@ export class DeployApplicationComponent implements OnInit, OnDestroy {
deployButtonText = 'Deploy';
skipConfig$: Observable = observableOf(false);
isRedeploy: boolean;
- selectedSourceType: SourceType;
+ selectedSourceType$: Observable;
entityKey: string;
constructor(
private store: Store,
@@ -52,7 +53,7 @@ export class DeployApplicationComponent implements OnInit, OnDestroy {
this.appGuid = this.activatedRoute.snapshot.queryParams.appGuid;
this.isRedeploy = !!this.appGuid;
- this.selectedSourceType = appDeploySourceTypes.getAutoSelectedType(activatedRoute);
+ this.selectedSourceType$ = appDeploySourceTypes.getAutoSelectedType(activatedRoute);
this.skipConfig$ = this.store.select(selectApplicationSource).pipe(
map((appSource: DeployApplicationSource) => {
@@ -71,13 +72,18 @@ export class DeployApplicationComponent implements OnInit, OnDestroy {
space: this.cfOrgSpaceService.space.select.getValue()
}));
return observableOf({ success: true });
- }
+ };
ngOnDestroy(): void {
this.initCfOrgSpaceService.forEach(p => p.unsubscribe());
}
ngOnInit(): void {
+ // Has the endpoint ID been specified in the URL?
+ const endpoint = this.activatedRoute.snapshot.queryParams[AUTO_SELECT_CF_URL_PARAM];
+ if (endpoint) {
+ this.cfOrgSpaceService.cf.select.next(endpoint);
+ }
if (this.appGuid) {
this.deployButtonText = 'Redeploy';
@@ -117,12 +123,14 @@ export class DeployApplicationComponent implements OnInit, OnDestroy {
}
}
- getTitle = () => {
+ getTitle = (): Observable => {
if (this.appGuid) {
- return 'Redeploy';
- } else {
- return `Deploy ${this.selectedSourceType ? 'from ' + this.selectedSourceType.name : ''}`;
+ return of('Redeploy');
}
- }
+ return this.selectedSourceType$.pipe(
+ first(),
+ map(selectedSourceType => `Deploy ${selectedSourceType ? 'from ' + selectedSourceType.name : ''}`)
+ );
+ };
}
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/github-project-exists.directive.spec.ts b/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/github-project-exists.directive.spec.ts
index de2ca64431..6dd665ad9c 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/github-project-exists.directive.spec.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/github-project-exists.directive.spec.ts
@@ -5,11 +5,11 @@ import { inject, TestBed } from '@angular/core/testing';
import { Store } from '@ngrx/store';
import { CoreModule } from '../../../../../core/src/core/core.module';
-import { getGitHubAPIURL, GITHUB_API_URL } from '../../../../../core/src/core/github.helpers';
import { SharedModule } from '../../../../../core/src/shared/shared.module';
+import { getGitHubAPIURL, GITHUB_API_URL } from '../../../../../git/src/shared/github.helpers';
+import { GitSCMService } from '../../../../../git/src/shared/scm/scm.service';
import { generateCfStoreModules } from '../../../../test-framework/cloud-foundry-endpoint-service.helper';
import { CFAppState } from '../../../cf-app-state';
-import { GitSCMService } from '../../../shared/data-services/scm/scm.service';
import { GithubProjectExistsDirective } from './github-project-exists.directive';
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/github-project-exists.directive.ts b/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/github-project-exists.directive.ts
index a053f51d2c..805731dc45 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/github-project-exists.directive.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/deploy-application/github-project-exists.directive.ts
@@ -1,13 +1,13 @@
import { Directive, forwardRef, Input } from '@angular/core';
import { AbstractControl, NG_ASYNC_VALIDATORS, Validator } from '@angular/forms';
import { Store } from '@ngrx/store';
+import { GitSCMService, GitSCMType } from '@stratosui/git';
import { Observable, of as observableOf } from 'rxjs';
import { debounceTime, filter, first, map, tap } from 'rxjs/operators';
import { CheckProjectExists } from '../../../../../cloud-foundry/src/actions/deploy-applications.actions';
import { CFAppState } from '../../../../../cloud-foundry/src/cf-app-state';
import { selectDeployAppState } from '../../../../../cloud-foundry/src/store/selectors/deploy-application.selector';
-import { GitSCMService, GitSCMType } from '../../../shared/data-services/scm/scm.service';
interface GithubProjectExistsResponse {
githubProjectDoesNotExist: boolean;
@@ -41,6 +41,16 @@ export class GithubProjectExistsDirective implements Validator {
return this.lastValue.length && this.lastValue.indexOf(name) === 0;
}
+ private getTypeAndEndpoint(): [GitSCMType, string] {
+ const res = this.appGithubProjectExists.split(',');
+ if (res.length === 2) {
+ return [res[0] as GitSCMType, res[1]];
+ }
+ console.warn('appGithubProjectExists value should be `,');
+ return null;
+ }
+
+
validate(c: AbstractControl): Observable {
if (c.value) {
if (!this.isValidProjectName(c.value) || this.haveAlreadyChecked(c.value)) {
@@ -54,7 +64,7 @@ export class GithubProjectExistsDirective implements Validator {
debounceTime(250),
tap(createAppState => {
if (createAppState.projectExists && createAppState.projectExists.name !== c.value) {
- this.store.dispatch(new CheckProjectExists(this.scmService.getSCM(this.appGithubProjectExists as GitSCMType), c.value));
+ this.store.dispatch(new CheckProjectExists(this.scmService.getSCM(...this.getTypeAndEndpoint()), c.value));
}
}),
filter(createAppState =>
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/new-application-base-step/new-application-base-step.component.html b/src/frontend/packages/cloud-foundry/src/features/applications/new-application-base-step/new-application-base-step.component.html
index d697a06e09..a076102dc9 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/new-application-base-step/new-application-base-step.component.html
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/new-application-base-step/new-application-base-step.component.html
@@ -7,7 +7,8 @@ New Application
Select application source
To create an application you can either deploy from a specific source or create an application shell. An
application shell is an empty application with no package associated with it.
-
+
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/new-application-base-step/new-application-base-step.component.ts b/src/frontend/packages/cloud-foundry/src/features/applications/new-application-base-step/new-application-base-step.component.ts
index 24b9f15696..53853e78df 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/new-application-base-step/new-application-base-step.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/new-application-base-step/new-application-base-step.component.ts
@@ -1,20 +1,28 @@
import { Component } from '@angular/core';
+import { ActivatedRoute } from '@angular/router';
import { Store } from '@ngrx/store';
+import { Observable } from 'rxjs';
+import { map } from 'rxjs/operators';
import { CFAppState } from '../../../../../cloud-foundry/src/cf-app-state';
import { BASE_REDIRECT_QUERY } from '../../../../../core/src/shared/components/stepper/stepper.types';
import { ITileConfig, ITileData } from '../../../../../core/src/shared/components/tile/tile-selector.types';
import { RouterNav } from '../../../../../store/src/actions/router.actions';
-import { SourceType } from '../../../store/types/deploy-application.types';
import {
ApplicationDeploySourceTypes,
+ AUTO_SELECT_DEPLOY_TYPE_ENDPOINT_PARAM,
AUTO_SELECT_DEPLOY_TYPE_URL_PARAM,
} from '../deploy-application/deploy-application-steps.types';
-interface IAppTileData extends ITileData {
+export const AUTO_SELECT_CF_URL_PARAM = 'auto-select-endpoint';
+
+
+export interface IAppTileData extends ITileData {
type: string;
subType?: string;
+ endpointGuid?: string;
}
+
@Component({
selector: 'app-new-application-base-step',
templateUrl: './new-application-base-step.component.html',
@@ -23,19 +31,25 @@ interface IAppTileData extends ITileData {
export class NewApplicationBaseStepComponent {
public serviceType: string;
- private sourceTypes: SourceType[];
- public tileSelectorConfig: ITileConfig[];
+ public tileSelectorConfig$: Observable[]>;
set selectedTile(tile: ITileConfig) {
- const type = tile ? tile.data.type : null;
if (tile) {
const baseUrl = 'applications';
+ const type = tile.data.type;
const query = {
[BASE_REDIRECT_QUERY]: `${baseUrl}/new`
};
if (tile.data.subType) {
query[AUTO_SELECT_DEPLOY_TYPE_URL_PARAM] = tile.data.subType;
+ query[AUTO_SELECT_DEPLOY_TYPE_ENDPOINT_PARAM] = tile.data.endpointGuid;
}
+ const endpoint = this.activatedRoute.snapshot.params.endpointId;
+ if (endpoint) {
+ query[AUTO_SELECT_CF_URL_PARAM] = endpoint;
+ query[BASE_REDIRECT_QUERY] += `/${endpoint}`;
+ }
+
this.store.dispatch(new RouterNav({
path: `${baseUrl}/${type}`,
query
@@ -45,21 +59,26 @@ export class NewApplicationBaseStepComponent {
constructor(
private store: Store,
- appDeploySourceTypes: ApplicationDeploySourceTypes) {
- this.sourceTypes = appDeploySourceTypes.getTypes();
- this.tileSelectorConfig = [
- ...this.sourceTypes.map(type =>
- new ITileConfig(
- type.name,
- type.graphic,
- { type: 'deploy', subType: type.id },
- ),
- ),
- new ITileConfig(
- 'Application Shell',
- { matIcon: 'border_clear' },
- { type: 'create' }
- )
- ];
+ appDeploySourceTypes: ApplicationDeploySourceTypes,
+ private activatedRoute: ActivatedRoute,
+ ) {
+ this.tileSelectorConfig$ = appDeploySourceTypes.types$.pipe(
+ map(types => {
+ return [
+ ...types.map(type =>
+ new ITileConfig(
+ type.name,
+ type.graphic,
+ { type: 'deploy', subType: type.id, endpointGuid: type.endpointGuid },
+ ),
+ ),
+ new ITileConfig(
+ 'Application Shell',
+ { matIcon: 'border_clear' },
+ { type: 'create' }
+ )
+ ];
+ })
+ );
}
}
diff --git a/src/frontend/packages/cloud-foundry/src/features/applications/routes/add-routes/add-routes.component.ts b/src/frontend/packages/cloud-foundry/src/features/applications/routes/add-routes/add-routes.component.ts
index 0b3902f107..bcc986dd96 100644
--- a/src/frontend/packages/cloud-foundry/src/features/applications/routes/add-routes/add-routes.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/applications/routes/add-routes/add-routes.component.ts
@@ -163,7 +163,7 @@ export class AddRoutesComponent implements OnInit, OnDestroy {
} else {
return this.mapRouteSubmit();
}
- }
+ };
onSubmit(): Observable {
const domainGuid = this.domainFormGroup.value.domain.metadata.guid;
@@ -231,7 +231,7 @@ export class AddRoutesComponent implements OnInit, OnDestroy {
if (requestState.error) {
return { success: false, message: `Failed to associate route with app: ${requestState.error}` };
}
- cfEntityCatalog.route.api.getAllForApplication(this.appGuid, this.cfGuid)
+ cfEntityCatalog.route.api.getAllForApplication(this.appGuid, this.cfGuid);
this.store.dispatch(new RouterNav({ path: ['/applications', this.cfGuid, this.appGuid, 'routes'] }));
return { success: true };
})
diff --git a/src/frontend/packages/cloud-foundry/src/features/cf/add-organization/create-organization-step/create-organization-step.component.ts b/src/frontend/packages/cloud-foundry/src/features/cf/add-organization/create-organization-step/create-organization-step.component.ts
index c13b3bdef2..acacd4fc2d 100644
--- a/src/frontend/packages/cloud-foundry/src/features/cf/add-organization/create-organization-step/create-organization-step.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/cf/add-organization/create-organization-step/create-organization-step.component.ts
@@ -85,15 +85,15 @@ export class CreateOrganizationStepComponent implements OnInit, OnDestroy {
});
}
})
- )
+ );
this.orgSubscription = this.orgs$.subscribe();
}
nameTakenValidator = (): ValidatorFn => {
- return (formField: AbstractControl): { [key: string]: any } =>
+ return (formField: AbstractControl): { [key: string]: any, } =>
!this.validateNameTaken(formField.value) ? { nameTaken: { value: formField.value } } : null;
- }
+ };
validateNameTaken = (value: string = null) => this.allOrgs ? this.allOrgs.indexOf(value || this.orgName.value) === -1 : true;
@@ -113,7 +113,7 @@ export class CreateOrganizationStepComponent implements OnInit, OnDestroy {
message: requestInfo.error ? `Failed to create organization: ${requestInfo.message}` : ''
}))
);
- }
+ };
ngOnDestroy() {
this.orgSubscription.unsubscribe();
diff --git a/src/frontend/packages/cloud-foundry/src/features/cf/add-space/create-space-step/create-space-step.component.ts b/src/frontend/packages/cloud-foundry/src/features/cf/add-space/create-space-step/create-space-step.component.ts
index 5f85a93af3..c5d20a4a05 100644
--- a/src/frontend/packages/cloud-foundry/src/features/cf/add-space/create-space-step/create-space-step.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/cf/add-space/create-space-step/create-space-step.component.ts
@@ -62,14 +62,14 @@ export class CreateSpaceStepComponent extends AddEditSpaceStepBase implements On
validateNameTaken = (spaceName: string = null) => {
return this.allSpacesInOrg ? this.allSpacesInOrg.indexOf(spaceName || this.spaceName.value) === -1 : true;
- }
+ };
validate = () => !!this.createSpaceForm && this.createSpaceForm.valid;
spaceNameTakenValidator = (): ValidatorFn => {
- return (formField: AbstractControl): { [key: string]: any } =>
+ return (formField: AbstractControl): { [key: string]: any, } =>
!this.validateNameTaken(formField.value) ? { spaceNameTaken: { value: formField.value } } : null;
- }
+ };
submit: StepOnNextFunction = () => {
const id = `${this.orgGuid}-${this.spaceName.value}`;
@@ -86,7 +86,7 @@ export class CreateSpaceStepComponent extends AddEditSpaceStepBase implements On
map(([, newS]) => newS),
this.map('Failed to create space: ')
);
- }
+ };
ngOnDestroy() {
this.quotaSubscription.unsubscribe();
diff --git a/src/frontend/packages/cloud-foundry/src/features/cf/cloud-foundry-section.module.ts b/src/frontend/packages/cloud-foundry/src/features/cf/cloud-foundry-section.module.ts
index 688e900238..f8adc26ba8 100644
--- a/src/frontend/packages/cloud-foundry/src/features/cf/cloud-foundry-section.module.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/cf/cloud-foundry-section.module.ts
@@ -10,6 +10,7 @@ import { CloudFoundrySharedModule } from '../../shared/cf-shared.module';
import {
CFEndpointsListConfigService,
} from '../../shared/components/list/list-types/cf-endpoints/cf-endpoints-list-config.service';
+import { CFHomeCardModule } from '../home/cfhome-card/cfhome-card.module';
import { AddOrganizationComponent } from './add-organization/add-organization.component';
import {
CreateOrganizationStepComponent,
@@ -138,7 +139,8 @@ import { RemoveUserComponent } from './users/remove-user/remove-user.component';
CloudFoundrySectionRoutingModule,
RouterModule,
NgxChartsModule,
- CloudFoundrySharedModule
+ CloudFoundrySharedModule,
+ CFHomeCardModule,
],
declarations: [
CloudFoundryBaseComponent,
diff --git a/src/frontend/packages/cloud-foundry/src/features/cf/cloud-foundry-tabs-base/cloud-foundry-tabs-base.component.ts b/src/frontend/packages/cloud-foundry/src/features/cf/cloud-foundry-tabs-base/cloud-foundry-tabs-base.component.ts
index 2818e5005e..e4b2877b4a 100644
--- a/src/frontend/packages/cloud-foundry/src/features/cf/cloud-foundry-tabs-base/cloud-foundry-tabs-base.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/cf/cloud-foundry-tabs-base/cloud-foundry-tabs-base.component.ts
@@ -13,8 +13,8 @@ import {
import { CurrentUserPermissionsService } from '../../../../../core/src/core/permissions/current-user-permissions.service';
import { environment } from '../../../../../core/src/environments/environment.prod';
import { IPageSideNavTab } from '../../../../../core/src/features/dashboard/page-side-nav/page-side-nav.component';
-import { FavoritesConfigMapper } from '../../../../../store/src/favorite-config-mapper';
import { UserFavoriteEndpoint } from '../../../../../store/src/types/user-favorites.types';
+import { UserFavoriteManager } from '../../../../../store/src/user-favorite-manager';
import { CfCurrentUserPermissions } from '../../../user-permissions/cf-user-permissions-checkers';
import { CloudFoundryEndpointService } from '../services/cloud-foundry-endpoint.service';
@@ -45,12 +45,12 @@ export class CloudFoundryTabsBaseComponent implements OnInit {
public cfEndpointService: CloudFoundryEndpointService,
private currentUserPermissionsService: CurrentUserPermissionsService,
endpointsService: EndpointsService,
- favoritesConfigMapper: FavoritesConfigMapper
+ userFavoriteManager: UserFavoriteManager
) {
this.favorite$ = endpointsService.endpoints$.pipe(
first(),
map(endpoints => endpoints[this.cfEndpointService.cfGuid]),
- map(endpoint => favoritesConfigMapper.getFavoriteEndpointFromEntity(endpoint))
+ map(endpoint => userFavoriteManager.getFavoriteEndpointFromEntity(endpoint))
);
const firehoseHidden$ = this.currentUserPermissionsService
diff --git a/src/frontend/packages/cloud-foundry/src/features/cf/edit-space/edit-space-step/edit-space-step.component.ts b/src/frontend/packages/cloud-foundry/src/features/cf/edit-space/edit-space-step/edit-space-step.component.ts
index b4930646e2..183a9523a6 100644
--- a/src/frontend/packages/cloud-foundry/src/features/cf/edit-space/edit-space-step/edit-space-step.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/cf/edit-space/edit-space-step/edit-space-step.component.ts
@@ -70,7 +70,7 @@ export class EditSpaceStepComponent extends AddEditSpaceStepBase implements OnDe
.indexOf(spaceName ? spaceName : this.spaceName) === -1;
}
return true;
- }
+ };
submit: StepOnNextFunction = () => {
const spaceQuotaGuid = this.editSpaceForm.value.quotaDefinition;
@@ -97,7 +97,7 @@ export class EditSpaceStepComponent extends AddEditSpaceStepBase implements OnDe
return this.updateSpaceQuota();
}),
);
- }
+ };
updateSpace() {
return cfEntityCatalog.space.api.update(this.spaceGuid, this.cfGuid, {
@@ -114,7 +114,7 @@ export class EditSpaceStepComponent extends AddEditSpaceStepBase implements OnDe
const spaceQuotaGuid = this.editSpaceForm.value.quotaDefinition;
const mon = spaceQuotaGuid ?
cfEntityCatalog.spaceQuota.api.associateWithSpace(this.spaceGuid, this.cfGuid, spaceQuotaGuid) :
- cfEntityCatalog.spaceQuota.api.disassociateFromSpace(this.spaceGuid, this.cfGuid, this.originalSpaceQuotaGuid)
+ cfEntityCatalog.spaceQuota.api.disassociateFromSpace(this.spaceGuid, this.cfGuid, this.originalSpaceQuotaGuid);
return mon.pipe(
pairwise(),
filter(([oldS, newS]) => oldS.busy && !newS.busy),
diff --git a/src/frontend/packages/cloud-foundry/src/features/cf/services/cloud-foundry-endpoint.service.ts b/src/frontend/packages/cloud-foundry/src/features/cf/services/cloud-foundry-endpoint.service.ts
index 2a26f72b91..58f5047596 100644
--- a/src/frontend/packages/cloud-foundry/src/features/cf/services/cloud-foundry-endpoint.service.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/cf/services/cloud-foundry-endpoint.service.ts
@@ -134,6 +134,26 @@ export class CloudFoundryEndpointService {
return fetchTotalResults(action, store, pmf);
}
+ // Fetch the cound of organisations in a Cloud Foundry
+ public static fetchOrgCount(store: Store, pmf: PaginationMonitorFactory, cfGuid: string): Observable {
+ const getAllOrgsAction = CloudFoundryEndpointService.createGetAllOrganizations(cfGuid);
+ return fetchTotalResults(getAllOrgsAction, store, pmf);
+ }
+
+ public static fetchOrgs(store: Store, pmf: PaginationMonitorFactory, cfGuid: string):
+ Observable[]> {
+ const getAllOrgsAction = CloudFoundryEndpointService.createGetAllOrganizations(cfGuid);
+ return getPaginationObservables>({
+ store,
+ action: getAllOrgsAction,
+ paginationMonitor: pmf.create(
+ getAllOrgsAction.paginationKey,
+ cfEntityFactory(organizationEntityType),
+ getAllOrgsAction.flattenPagination
+ )
+ }, getAllOrgsAction.flattenPagination).entities$;
+ }
+
constructor(
public activeRouteCfOrgSpace: ActiveRouteCfOrgSpace,
private store: Store,
@@ -141,10 +161,9 @@ export class CloudFoundryEndpointService {
private pmf: PaginationMonitorFactory,
) {
this.cfGuid = activeRouteCfOrgSpace.cfGuid;
-
this.cfEndpointEntityService = stratosEntityCatalog.endpoint.store.getEntityService(this.cfGuid);
- this.cfInfoEntityService = cfEntityCatalog.cfInfo.store.getEntityService(this.cfGuid)
+ this.cfInfoEntityService = cfEntityCatalog.cfInfo.store.getEntityService(this.cfGuid);
this.constructCoreObservables();
this.constructSecondaryObservable();
}
@@ -152,16 +171,7 @@ export class CloudFoundryEndpointService {
private constructCoreObservables() {
this.endpoint$ = this.cfEndpointEntityService.waitForEntity$;
- const getAllOrgsAction = CloudFoundryEndpointService.createGetAllOrganizations(this.cfGuid);
- this.orgs$ = getPaginationObservables>({
- store: this.store,
- action: getAllOrgsAction,
- paginationMonitor: this.pmf.create(
- getAllOrgsAction.paginationKey,
- cfEntityFactory(organizationEntityType),
- getAllOrgsAction.flattenPagination
- )
- }, getAllOrgsAction.flattenPagination).entities$;
+ this.orgs$ = CloudFoundryEndpointService.fetchOrgs(this.store, this.pmf, this.cfGuid);
this.info$ = this.cfInfoEntityService.waitForEntity$;
diff --git a/src/frontend/packages/cloud-foundry/src/features/cf/services/cloud-foundry-organization.service.ts b/src/frontend/packages/cloud-foundry/src/features/cf/services/cloud-foundry-organization.service.ts
index 52db165c63..cef7cef7ad 100644
--- a/src/frontend/packages/cloud-foundry/src/features/cf/services/cloud-foundry-organization.service.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/cf/services/cloud-foundry-organization.service.ts
@@ -97,7 +97,7 @@ export class CloudFoundryOrganizationService {
}
public deleteSpace(spaceGuid: string, orgGuid: string, endpointGuid: string) {
- cfEntityCatalog.space.api.remove(spaceGuid, endpointGuid, { orgGuid })
+ cfEntityCatalog.space.api.remove(spaceGuid, endpointGuid, { orgGuid });
}
public fetchApps() {
diff --git a/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cf-organization-base/cloud-foundry-organization-base.component.ts b/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cf-organization-base/cloud-foundry-organization-base.component.ts
index 682da43532..12948952ae 100644
--- a/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cf-organization-base/cloud-foundry-organization-base.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cf-organization-base/cloud-foundry-organization-base.component.ts
@@ -12,13 +12,11 @@ import {
import { environment } from '../../../../../../../core/src/environments/environment.prod';
import { IPageSideNavTab } from '../../../../../../../core/src/features/dashboard/page-side-nav/page-side-nav.component';
import { IHeaderBreadcrumb } from '../../../../../../../core/src/shared/components/page-header/page-header.types';
-import { FavoritesConfigMapper } from '../../../../../../../store/src/favorite-config-mapper';
import { EntitySchema } from '../../../../../../../store/src/helpers/entity-schema';
-import { UserFavorite } from '../../../../../../../store/src/types/user-favorites.types';
-import { getFavoriteFromEntity } from '../../../../../../../store/src/user-favorite-helpers';
+import { IFavoriteMetadata, UserFavorite } from '../../../../../../../store/src/types/user-favorites.types';
+import { UserFavoriteManager } from '../../../../../../../store/src/user-favorite-manager';
import { cfEntityFactory } from '../../../../../cf-entity-factory';
import { organizationEntityType } from '../../../../../cf-entity-types';
-import { IOrgFavMetadata } from '../../../../../cf-metadata-types';
import { CF_ENDPOINT_TYPE } from '../../../../../cf-types';
import { CfUserService } from '../../../../../shared/data-services/cf-user.service';
import {
@@ -89,17 +87,17 @@ export class CloudFoundryOrganizationBaseComponent {
public extensionActions: StratosActionMetadata[] = getActionsFromExtensions(StratosActionType.CloudFoundryOrg);
- public favorite$: Observable>;
+ public favorite$: Observable>;
constructor(
public cfEndpointService: CloudFoundryEndpointService,
public cfOrgService: CloudFoundryOrganizationService,
- favoritesConfigMapper: FavoritesConfigMapper
+ userFavoriteManager: UserFavoriteManager
) {
this.schema = cfEntityFactory(organizationEntityType);
this.favorite$ = cfOrgService.org$.pipe(
first(),
- map(org => getFavoriteFromEntity(org.entity, organizationEntityType, favoritesConfigMapper, CF_ENDPOINT_TYPE))
+ map(org => userFavoriteManager.getFavorite(org.entity, organizationEntityType, CF_ENDPOINT_TYPE))
);
this.name$ = cfOrgService.org$.pipe(
map(org => org.entity.entity.name),
diff --git a/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cf-organization-spaces/cloud-foundry-space-base/cloud-foundry-space-base.component.ts b/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cf-organization-spaces/cloud-foundry-space-base/cloud-foundry-space-base.component.ts
index c1cea96630..89b6fb7ec1 100644
--- a/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cf-organization-spaces/cloud-foundry-space-base/cloud-foundry-space-base.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cf-organization-spaces/cloud-foundry-space-base/cloud-foundry-space-base.component.ts
@@ -15,9 +15,8 @@ import { IPageSideNavTab } from '../../../../../../../../core/src/features/dashb
import { ConfirmationDialogService } from '../../../../../../../../core/src/shared/components/confirmation-dialog.service';
import { IHeaderBreadcrumb } from '../../../../../../../../core/src/shared/components/page-header/page-header.types';
import { RouterNav } from '../../../../../../../../store/src/actions/router.actions';
-import { FavoritesConfigMapper } from '../../../../../../../../store/src/favorite-config-mapper';
import { UserFavorite } from '../../../../../../../../store/src/types/user-favorites.types';
-import { getFavoriteFromEntity } from '../../../../../../../../store/src/user-favorite-helpers';
+import { UserFavoriteManager } from '../../../../../../../../store/src/user-favorite-manager';
import { CFAppState } from '../../../../../../cf-app-state';
import { cfEntityFactory } from '../../../../../../cf-entity-factory';
import { spaceEntityType } from '../../../../../../cf-entity-types';
@@ -112,10 +111,10 @@ export class CloudFoundrySpaceBaseComponent implements OnDestroy {
public cfOrgService: CloudFoundryOrganizationService,
private store: Store,
private confirmDialog: ConfirmationDialogService,
- favoritesConfigMapper: FavoritesConfigMapper
+ userFavoriteManager: UserFavoriteManager
) {
this.favorite$ = cfSpaceService.space$.pipe(
- map(space => getFavoriteFromEntity(space.entity, spaceEntityType, favoritesConfigMapper, CF_ENDPOINT_TYPE))
+ map(space => userFavoriteManager.getFavorite(space.entity, spaceEntityType, CF_ENDPOINT_TYPE))
);
this.isFetching$ = cfSpaceService.space$.pipe(
map(space => space.entityRequestInfo.fetching)
diff --git a/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cf-organization-spaces/tabs/cloud-foundry-space-summary/cloud-foundry-space-summary.component.html b/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cf-organization-spaces/tabs/cloud-foundry-space-summary/cloud-foundry-space-summary.component.html
index 3f8bab4fa0..355e1f50c8 100644
--- a/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cf-organization-spaces/tabs/cloud-foundry-space-summary/cloud-foundry-space-summary.component.html
+++ b/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cf-organization-spaces/tabs/cloud-foundry-space-summary/cloud-foundry-space-summary.component.html
@@ -75,7 +75,8 @@
+ [endpoint]="cfEndpointService.cfGuid"
+ [loading$]="cfSpaceService.loadingApps$" (refresh)="cfSpaceService.fetchApps()">
diff --git a/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cf-organization-spaces/tabs/cloud-foundry-space-summary/cloud-foundry-space-summary.component.spec.ts b/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cf-organization-spaces/tabs/cloud-foundry-space-summary/cloud-foundry-space-summary.component.spec.ts
index 9b1935631e..e973d6b546 100644
--- a/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cf-organization-spaces/tabs/cloud-foundry-space-summary/cloud-foundry-space-summary.component.spec.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cf-organization-spaces/tabs/cloud-foundry-space-summary/cloud-foundry-space-summary.component.spec.ts
@@ -6,12 +6,6 @@ import {
generateCfBaseTestModules,
} from '../../../../../../../../test-framework/cloud-foundry-endpoint-service.helper';
import { CloudFoundrySpaceServiceMock } from '../../../../../../../../test-framework/cloud-foundry-space.service.mock';
-import {
- CardCfRecentAppsComponent,
-} from '../../../../../../../shared/components/cards/card-cf-recent-apps/card-cf-recent-apps.component';
-import {
- CompactAppCardComponent,
-} from '../../../../../../../shared/components/cards/card-cf-recent-apps/compact-app-card/compact-app-card.component';
import {
CardCfSpaceDetailsComponent,
} from '../../../../../../../shared/components/cards/card-cf-space-details/card-cf-space-details.component';
@@ -22,6 +16,10 @@ import {
import {
CloudFoundryUserProvidedServicesService,
} from '../../../../../../../shared/services/cloud-foundry-user-provided-services.service';
+import { CardCfRecentAppsComponent } from '../../../../../../home/card-cf-recent-apps/card-cf-recent-apps.component';
+import {
+ CompactAppCardComponent,
+} from '../../../../../../home/card-cf-recent-apps/compact-app-card/compact-app-card.component';
import { CloudFoundryEndpointService } from '../../../../../services/cloud-foundry-endpoint.service';
import { CloudFoundryOrganizationService } from '../../../../../services/cloud-foundry-organization.service';
import { CloudFoundrySpaceService } from '../../../../../services/cloud-foundry-space.service';
diff --git a/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cf-organization-summary/cloud-foundry-organization-summary.component.html b/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cf-organization-summary/cloud-foundry-organization-summary.component.html
index c0b58c00cd..7f08c97325 100644
--- a/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cf-organization-summary/cloud-foundry-organization-summary.component.html
+++ b/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cf-organization-summary/cloud-foundry-organization-summary.component.html
@@ -75,6 +75,7 @@
diff --git a/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cf-organization-summary/cloud-foundry-organization-summary.component.spec.ts b/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cf-organization-summary/cloud-foundry-organization-summary.component.spec.ts
index 639ae6ff62..ea18e34694 100644
--- a/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cf-organization-summary/cloud-foundry-organization-summary.component.spec.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cf-organization-summary/cloud-foundry-organization-summary.component.spec.ts
@@ -11,13 +11,9 @@ import {
import {
CardCfOrgUserDetailsComponent,
} from '../../../../../shared/components/cards/card-cf-org-user-details/card-cf-org-user-details.component';
-import {
- CardCfRecentAppsComponent,
-} from '../../../../../shared/components/cards/card-cf-recent-apps/card-cf-recent-apps.component';
-import {
- CompactAppCardComponent,
-} from '../../../../../shared/components/cards/card-cf-recent-apps/compact-app-card/compact-app-card.component';
import { CfUserPermissionDirective } from '../../../../../shared/directives/cf-user-permission/cf-user-permission.directive';
+import { CardCfRecentAppsComponent } from '../../../../home/card-cf-recent-apps/card-cf-recent-apps.component';
+import { CompactAppCardComponent } from '../../../../home/card-cf-recent-apps/compact-app-card/compact-app-card.component';
import { CloudFoundryOrganizationService } from '../../../services/cloud-foundry-organization.service';
import { CloudFoundryOrganizationSummaryComponent } from './cloud-foundry-organization-summary.component';
diff --git a/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cloud-foundry-organizations.component.html b/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cloud-foundry-organizations.component.html
index 3f84dbd35e..fbf1e13256 100644
--- a/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cloud-foundry-organizations.component.html
+++ b/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cloud-foundry-organizations.component.html
@@ -1,11 +1,11 @@
+ routerLink="/cloud-foundry/{{cfEndpointService.cfGuid}}/add-org">
add Create
-
+
\ No newline at end of file
diff --git a/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cloud-foundry-organizations.component.spec.ts b/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cloud-foundry-organizations.component.spec.ts
index ec94265165..3c837c672c 100644
--- a/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cloud-foundry-organizations.component.spec.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cloud-foundry-organizations.component.spec.ts
@@ -5,7 +5,6 @@ import {
generateCfBaseTestModules,
generateTestCfEndpointServiceProvider,
} from '../../../../../test-framework/cloud-foundry-endpoint-service.helper';
-import { CfOrgsListConfigService } from '../../../../shared/components/list/list-types/cf-orgs/cf-orgs-list-config.service';
import { CloudFoundryOrganizationsComponent } from './cloud-foundry-organizations.component';
describe('CloudFoundryOrganizationsComponent', () => {
@@ -15,7 +14,7 @@ describe('CloudFoundryOrganizationsComponent', () => {
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [CloudFoundryOrganizationsComponent],
- providers: [CfOrgsListConfigService, generateTestCfEndpointServiceProvider(), TabNavService],
+ providers: [generateTestCfEndpointServiceProvider(), TabNavService],
imports: generateCfBaseTestModules()
})
.compileComponents();
diff --git a/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cloud-foundry-organizations.component.ts b/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cloud-foundry-organizations.component.ts
index 479d1c9618..42ffcb4f36 100644
--- a/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cloud-foundry-organizations.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-organizations/cloud-foundry-organizations.component.ts
@@ -1,10 +1,16 @@
import { Component } from '@angular/core';
+import { Store } from '@ngrx/store';
import { Observable } from 'rxjs';
import { CurrentUserPermissionsService } from '../../../../../../core/src/core/permissions/current-user-permissions.service';
-import { ListConfig } from '../../../../../../core/src/shared/components/list/list.component.types';
+import {
+ ActionListConfigProvider,
+} from '../../../../../../core/src/shared/components/list/list-generics/list-providers/action-list-config-provider';
+import { ListViewTypes } from '../../../../../../core/src/shared/components/list/list.component.types';
+import { ListView } from '../../../../../../store/src/actions/list.actions';
+import { APIResource } from '../../../../../../store/src/types/api.types';
+import { IOrganization } from '../../../../cf-api.types';
import { CfOrgCardComponent } from '../../../../shared/components/list/list-types/cf-orgs/cf-org-card/cf-org-card.component';
-import { CfOrgsListConfigService } from '../../../../shared/components/list/list-types/cf-orgs/cf-orgs-list-config.service';
import { CfCurrentUserPermissions } from '../../../../user-permissions/cf-user-permissions-checkers';
import { CloudFoundryEndpointService } from '../../services/cloud-foundry-endpoint.service';
@@ -12,20 +18,59 @@ import { CloudFoundryEndpointService } from '../../services/cloud-foundry-endpoi
selector: 'app-cloud-foundry-organizations',
templateUrl: './cloud-foundry-organizations.component.html',
styleUrls: ['./cloud-foundry-organizations.component.scss'],
- providers: [
- {
- provide: ListConfig,
- useClass: CfOrgsListConfigService
- }
- ]
})
export class CloudFoundryOrganizationsComponent {
public canAddOrg$: Observable;
+
+ public provider: ActionListConfigProvider>;
+
constructor(
public cfEndpointService: CloudFoundryEndpointService,
- currentUserPermissionsService: CurrentUserPermissionsService
+ currentUserPermissionsService: CurrentUserPermissionsService,
+ private store: Store,
) {
this.canAddOrg$ = currentUserPermissionsService.can(CfCurrentUserPermissions.ORGANIZATION_CREATE, this.cfEndpointService.cfGuid);
+
+ this.provider = this.createProvider(this.cfEndpointService.cfGuid);
+ }
+
+ private createProvider(cfGuid: string): ActionListConfigProvider> {
+ const action = CloudFoundryEndpointService.createGetAllOrganizations(cfGuid);
+ const provider = new ActionListConfigProvider>(this.store, action);
+
+ provider.updateListConfig({
+ cardComponent: CfOrgCardComponent,
+ viewType: ListViewTypes.CARD_ONLY,
+ defaultView: 'cards' as ListView,
+ getColumns: () => [{
+ columnId: 'name',
+ headerCell: () => 'Name',
+ sort: {
+ type: 'sort',
+ orderKey: 'name',
+ field: 'entity.name'
+ }
+ }, {
+ columnId: 'createdAt',
+ headerCell: () => 'Creation',
+ sort: {
+ type: 'sort',
+ orderKey: 'createdAt',
+ field: 'metadata.created_at'
+ },
+ }],
+ text: {
+ title: null,
+ filter: 'Search by name',
+ noEntries: 'There are no organizations'
+ },
+ });
+
+ provider.updateDataSourceConfig({
+ transformEntities: [{ type: 'filter', field: 'entity.name' }] // Note - this will go away once fixed in default case
+ });
+
+ return provider;
}
- cardComponent = CfOrgCardComponent;
}
+
diff --git a/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-quotas/cloud-foundry-quotas.component.spec.ts b/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-quotas/cloud-foundry-quotas.component.spec.ts
index 8e5c68629e..55eb8c7472 100644
--- a/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-quotas/cloud-foundry-quotas.component.spec.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-quotas/cloud-foundry-quotas.component.spec.ts
@@ -4,7 +4,6 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { TabNavService } from '../../../../../../core/src/tab-nav.service';
import { CFBaseTestModules } from '../../../../../test-framework/cf-test-helper';
import { generateTestCfEndpointServiceProvider } from '../../../../../test-framework/cloud-foundry-endpoint-service.helper';
-import { CfOrgsListConfigService } from '../../../../shared/components/list/list-types/cf-orgs/cf-orgs-list-config.service';
import { CloudFoundryQuotasComponent } from './cloud-foundry-quotas.component';
describe('CloudFoundryQuotasComponent', () => {
@@ -14,7 +13,7 @@ describe('CloudFoundryQuotasComponent', () => {
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [CloudFoundryQuotasComponent],
- providers: [CfOrgsListConfigService, generateTestCfEndpointServiceProvider(), TabNavService, DatePipe],
+ providers: [generateTestCfEndpointServiceProvider(), TabNavService, DatePipe],
imports: [...CFBaseTestModules]
})
.compileComponents();
diff --git a/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-summary-tab/cloud-foundry-summary-tab.component.html b/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-summary-tab/cloud-foundry-summary-tab.component.html
index 00060a2ab9..a45b8fd8f4 100644
--- a/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-summary-tab/cloud-foundry-summary-tab.component.html
+++ b/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-summary-tab/cloud-foundry-summary-tab.component.html
@@ -34,6 +34,7 @@
diff --git a/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-summary-tab/cloud-foundry-summary-tab.component.spec.ts b/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-summary-tab/cloud-foundry-summary-tab.component.spec.ts
index 9c459b2db9..bb055e4564 100644
--- a/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-summary-tab/cloud-foundry-summary-tab.component.spec.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/cf/tabs/cf-summary-tab/cloud-foundry-summary-tab.component.spec.ts
@@ -6,12 +6,8 @@ import {
generateTestCfEndpointServiceProvider,
} from '../../../../../test-framework/cloud-foundry-endpoint-service.helper';
import { CardCfInfoComponent } from '../../../../shared/components/cards/card-cf-info/card-cf-info.component';
-import {
- CardCfRecentAppsComponent,
-} from '../../../../shared/components/cards/card-cf-recent-apps/card-cf-recent-apps.component';
-import {
- CompactAppCardComponent,
-} from '../../../../shared/components/cards/card-cf-recent-apps/compact-app-card/compact-app-card.component';
+import { CardCfRecentAppsComponent } from '../../../home/card-cf-recent-apps/card-cf-recent-apps.component';
+import { CompactAppCardComponent } from '../../../home/card-cf-recent-apps/compact-app-card/compact-app-card.component';
import { CloudFoundrySummaryTabComponent } from './cloud-foundry-summary-tab.component';
describe('CloudFoundrySummaryTabComponent', () => {
diff --git a/src/frontend/packages/cloud-foundry/src/features/cf/user-invites/user-invite.service.ts b/src/frontend/packages/cloud-foundry/src/features/cf/user-invites/user-invite.service.ts
index da7ba84675..6ebb948cbc 100644
--- a/src/frontend/packages/cloud-foundry/src/features/cf/user-invites/user-invite.service.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/cf/user-invites/user-invite.service.ts
@@ -49,7 +49,7 @@ export enum UserInviteSendSpaceRoles {
interface UserInviteSend {
org: string;
space: string;
- spaceRoles: { [spaceRole: string]: boolean };
+ spaceRoles: { [spaceRole: string]: boolean, };
emails: string[];
}
@@ -69,7 +69,7 @@ export class UserInviteConfigureService {
const url = `/pp/${proxyAPIVersion}/invite/${cfGUID}`;
const obs$ = this.http.post(url, formData).pipe(
map(v => {
- stratosEntityCatalog.systemInfo.api.getSystemInfo()
+ stratosEntityCatalog.systemInfo.api.getSystemInfo();
return {
error: false
};
@@ -98,7 +98,7 @@ export class UserInviteConfigureService {
const url = `/pp/${proxyAPIVersion}/invite/${cfGUID}`;
this.http.delete(url).pipe(
map(v => {
- stratosEntityCatalog.systemInfo.api.getSystemInfo()
+ stratosEntityCatalog.systemInfo.api.getSystemInfo();
return {
error: false,
errorMessage: ''
diff --git a/src/frontend/packages/cloud-foundry/src/features/cf/users/manage-users/cf-roles.service.ts b/src/frontend/packages/cloud-foundry/src/features/cf/users/manage-users/cf-roles.service.ts
index db59e58a77..6f1ee1d29d 100644
--- a/src/frontend/packages/cloud-foundry/src/features/cf/users/manage-users/cf-roles.service.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/cf/users/manage-users/cf-roles.service.ts
@@ -43,7 +43,7 @@ export class CfRolesService {
existingRoles$: Observable;
newRoles$: Observable;
loading$: Observable;
- cfOrgs: { [cfGuid: string]: Observable[]> } = {};
+ cfOrgs: { [cfGuid: string]: Observable[]>, } = {};
/**
* Given a list of orgs or spaces remove those that the connected user cannot edit roles in.
@@ -79,7 +79,7 @@ export class CfRolesService {
guid: string,
cfGuid: string,
orgGuid: string,
- spaceGuid): Observable<{ guid: string, canEdit: boolean }> {
+ spaceGuid): Observable<{ guid: string, canEdit: boolean, }> {
return canUpdateOrgSpaceRoles(userPerms, cfGuid, orgGuid, spaceGuid).pipe(
first(),
map(canEdit => ({ guid, canEdit }))
@@ -137,7 +137,7 @@ export class CfRolesService {
}
private populateUserRoles(user: APIResource, roles: CfUserRolesSelected) {
- const mappedUser: { [orgGuid: string]: IUserPermissionInOrg } = {};
+ const mappedUser: { [orgGuid: string]: IUserPermissionInOrg, } = {};
const orgRoles = this.cfUserService.getOrgRolesFromUser(user.entity);
const spaceRoles = this.cfUserService.getSpaceRolesFromUser(user.entity);
// ... populate org roles ...
@@ -248,7 +248,7 @@ export class CfRolesService {
createEntityRelationKey(organizationEntityType, spaceEntityType)
], populateMissing: true
}
- ).entities$
+ ).entities$;
this.cfOrgs[cfGuid] = CfRolesService.filterEditableOrgOrSpace(this.userPerms, true, orgs$).pipe(
map(orgs => orgs.sort((a, b) => a.entity.name.localeCompare(b.entity.name))),
publishReplay(1),
diff --git a/src/frontend/packages/cloud-foundry/src/features/cf/users/manage-users/manage-users-modify/manage-users-modify.component.ts b/src/frontend/packages/cloud-foundry/src/features/cf/users/manage-users/manage-users-modify/manage-users-modify.component.ts
index aec13ada83..4d1c3c269e 100644
--- a/src/frontend/packages/cloud-foundry/src/features/cf/users/manage-users/manage-users-modify/manage-users-modify.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/cf/users/manage-users/manage-users-modify/manage-users-modify.component.ts
@@ -304,7 +304,7 @@ export class UsersRolesModifyComponent implements OnInit, OnDestroy {
this.store.select(selectCfUsersIsRemove).pipe(first()),
this.cfRolesService.createRolesDiff(this.selectedOrgGuid)
]).pipe(
- map(([isRemove,]) => {
+ map(([isRemove]) => {
if (isRemove) {
// If we're going to eventually remove the roles flip the add to remove
this.store.dispatch(new UsersRolesFlipSetRoles());
diff --git a/src/frontend/packages/cloud-foundry/src/features/cf/users/manage-users/manage-users-set-usernames/manage-users-set-usernames.component.ts b/src/frontend/packages/cloud-foundry/src/features/cf/users/manage-users/manage-users-set-usernames/manage-users-set-usernames.component.ts
index 17365fc60e..51799bb57b 100644
--- a/src/frontend/packages/cloud-foundry/src/features/cf/users/manage-users/manage-users-set-usernames/manage-users-set-usernames.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/cf/users/manage-users/manage-users-set-usernames/manage-users-set-usernames.component.ts
@@ -89,7 +89,7 @@ export class ManageUsersSetUsernamesComponent implements OnInit {
const canAddRemove = combineLatest([this.canAdd$, this.canRemove$]);
// Set starting value of add/remove radio button
- canAddRemove.pipe(first()).subscribe(([canAdd]) => this.setIsRemove({ source: null, value: !canAdd }))
+ canAddRemove.pipe(first()).subscribe(([canAdd]) => this.setIsRemove({ source: null, value: !canAdd }));
// Block content until we know the add/remove state
this.blocked$ = canAddRemove.pipe(
@@ -136,5 +136,5 @@ export class ManageUsersSetUsernamesComponent implements OnInit {
return of({
success: true
});
- }
+ };
}
diff --git a/src/frontend/packages/cloud-foundry/src/features/home/card-cf-recent-apps/card-cf-recent-apps.component.html b/src/frontend/packages/cloud-foundry/src/features/home/card-cf-recent-apps/card-cf-recent-apps.component.html
new file mode 100644
index 0000000000..7c77d6d64c
--- /dev/null
+++ b/src/frontend/packages/cloud-foundry/src/features/home/card-cf-recent-apps/card-cf-recent-apps.component.html
@@ -0,0 +1,30 @@
+
+
+
+
+
+ There are no applications.
+
+ 0" class="recent-apps-card__scroller">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/cards/card-cf-recent-apps/card-cf-recent-apps.component.scss b/src/frontend/packages/cloud-foundry/src/features/home/card-cf-recent-apps/card-cf-recent-apps.component.scss
similarity index 70%
rename from src/frontend/packages/cloud-foundry/src/shared/components/cards/card-cf-recent-apps/card-cf-recent-apps.component.scss
rename to src/frontend/packages/cloud-foundry/src/features/home/card-cf-recent-apps/card-cf-recent-apps.component.scss
index e6f70f9ab0..96249b7129 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/cards/card-cf-recent-apps/card-cf-recent-apps.component.scss
+++ b/src/frontend/packages/cloud-foundry/src/features/home/card-cf-recent-apps/card-cf-recent-apps.component.scss
@@ -1,9 +1,16 @@
+:host {
+ display: flex;
+}
.recent-apps-card {
display: flex;
flex-direction: column;
height: 100%;
width: 100%;
+ &__plain {
+ box-shadow: none;
+ }
+
&__content {
display: flex;
overflow-y: auto;
@@ -14,7 +21,6 @@
flex: 1;
height: 40px;
justify-content: space-between;
- padding-top: 0;
mat-card-title {
margin-bottom: 0;
@@ -31,5 +37,10 @@
overflow-y: auto;
width: 100%;
}
+}
+// Remove box shadow in plain mode
+mat-card.recent-apps-card.mat-card.recent-apps-card__plain {
+ box-shadow: none;
+ padding: 0 1em;
}
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/cards/card-cf-recent-apps/card-cf-recent-apps.component.spec.ts b/src/frontend/packages/cloud-foundry/src/features/home/card-cf-recent-apps/card-cf-recent-apps.component.spec.ts
similarity index 64%
rename from src/frontend/packages/cloud-foundry/src/shared/components/cards/card-cf-recent-apps/card-cf-recent-apps.component.spec.ts
rename to src/frontend/packages/cloud-foundry/src/features/home/card-cf-recent-apps/card-cf-recent-apps.component.spec.ts
index b93ba4295a..53fbd7045f 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/cards/card-cf-recent-apps/card-cf-recent-apps.component.spec.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/home/card-cf-recent-apps/card-cf-recent-apps.component.spec.ts
@@ -3,21 +3,21 @@ import { of as observableOf } from 'rxjs';
import {
ApplicationStateIconComponent,
-} from '../../../../../../core/src/shared/components/application-state/application-state-icon/application-state-icon.component';
+} from '../../../../../core/src/shared/components/application-state/application-state-icon/application-state-icon.component';
import {
ApplicationStateIconPipe,
-} from '../../../../../../core/src/shared/components/application-state/application-state-icon/application-state-icon.pipe';
+} from '../../../../../core/src/shared/components/application-state/application-state-icon/application-state-icon.pipe';
import {
PollingIndicatorComponent,
-} from '../../../../../../core/src/shared/components/polling-indicator/polling-indicator.component';
-import { EntityMonitorFactory } from '../../../../../../store/src/monitors/entity-monitor.factory.service';
-import { PaginationMonitorFactory } from '../../../../../../store/src/monitors/pagination-monitor.factory';
+} from '../../../../../core/src/shared/components/polling-indicator/polling-indicator.component';
+import { EntityMonitorFactory } from '../../../../../store/src/monitors/entity-monitor.factory.service';
+import { PaginationMonitorFactory } from '../../../../../store/src/monitors/pagination-monitor.factory';
import {
generateActiveRouteCfOrgSpaceMock,
generateCfBaseTestModulesNoShared,
-} from '../../../../../test-framework/cloud-foundry-endpoint-service.helper';
-import { CloudFoundryEndpointService } from '../../../../features/cf/services/cloud-foundry-endpoint.service';
-import { CfUserService } from '../../../data-services/cf-user.service';
+} from '../../../../test-framework/cloud-foundry-endpoint-service.helper';
+import { CfUserService } from '../../../shared/data-services/cf-user.service';
+import { CloudFoundryEndpointService } from '../../cf/services/cloud-foundry-endpoint.service';
import { CardCfRecentAppsComponent } from './card-cf-recent-apps.component';
import { CompactAppCardComponent } from './compact-app-card/compact-app-card.component';
diff --git a/src/frontend/packages/cloud-foundry/src/features/home/card-cf-recent-apps/card-cf-recent-apps.component.ts b/src/frontend/packages/cloud-foundry/src/features/home/card-cf-recent-apps/card-cf-recent-apps.component.ts
new file mode 100644
index 0000000000..69179fc0f4
--- /dev/null
+++ b/src/frontend/packages/cloud-foundry/src/features/home/card-cf-recent-apps/card-cf-recent-apps.component.ts
@@ -0,0 +1,103 @@
+import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
+import { BehaviorSubject, combineLatest, Observable, of } from 'rxjs';
+import { filter, map, startWith, tap } from 'rxjs/operators';
+
+import { PaginationObservables } from '../../../../../store/src/reducers/pagination-reducer/pagination-reducer.types';
+import { APIResource } from '../../../../../store/src/types/api.types';
+import { IApp } from '../../../cf-api.types';
+import { cfEntityCatalog } from '../../../cf-entity-catalog';
+import { appDataSort } from '../../cf/services/cloud-foundry-endpoint.service';
+
+
+const RECENT_ITEMS_COUNT = 10;
+
+@Component({
+ selector: 'app-card-cf-recent-apps',
+ templateUrl: './card-cf-recent-apps.component.html',
+ styleUrls: ['./card-cf-recent-apps.component.scss'],
+})
+export class CardCfRecentAppsComponent implements OnInit {
+
+ public recentApps$: Observable[]>;
+ @Input() allApps$: Observable[]>;
+ @Input() loading$: Observable;
+ @Output() refresh = new EventEmitter();
+ @Input() endpoint: string;
+ @Input() mode: string;
+ @Input() showDate = true;
+ @Input() dateMode: string;
+ @Input() noStats = false;
+ @Input() placeholderMode = false;
+ @Input() hideWhenEmpty = false;
+
+ public canRefresh = false;
+
+ public placeholders: any[];
+
+ appsPagObs: PaginationObservables>;
+
+ hasEntities$: Observable;
+ show$: Observable;
+
+ private maxRowsSubject = new BehaviorSubject(RECENT_ITEMS_COUNT);
+
+ @Input() set maxRows(value: number) {
+ this.maxRowsSubject.next(value);
+ this.placeholders = new Array(value).fill(null);
+ }
+
+ constructor() {
+ this.placeholders = new Array(RECENT_ITEMS_COUNT).fill(null);
+ }
+
+ ngOnInit() {
+ if (this.placeholderMode) {
+ this.canRefresh = false;
+ this.hasEntities$ = of(false);
+ return;
+ }
+ this.canRefresh = this.refresh.observers.length > 0;
+ this.appsPagObs = cfEntityCatalog.application.store.getPaginationService(this.endpoint);
+ if (!this.allApps$) {
+ this.allApps$ = this.appsPagObs.entities$;
+ this.loading$ = this.appsPagObs.fetchingEntities$;
+ this.hasEntities$ = this.appsPagObs.hasEntities$;
+ } else {
+ this.hasEntities$ = of(true);
+ }
+
+ this.recentApps$ = combineLatest(
+ this.allApps$,
+ this.maxRowsSubject.asObservable()
+ ).pipe(
+ filter(([apps]) => !!apps),
+ map(([apps, maxRows]) => this.restrictApps(apps, maxRows)),
+ tap(apps => this.fetchAppStats(apps))
+ );
+
+ this.show$ = this.allApps$.pipe(
+ map(apps => {
+ return !this.hideWhenEmpty || this.hideWhenEmpty && apps.length > 0;
+ }),
+ startWith(true),
+ );
+ }
+
+ private fetchAppStats(recentApps: APIResource[]) {
+ if (!this.noStats) {
+ recentApps.forEach(app => {
+ if (app.entity.state === 'STARTED') {
+ cfEntityCatalog.appStats.api.getMultiple(app.metadata.guid, this.endpoint);
+ }
+ });
+ }
+ }
+
+ private restrictApps(apps: APIResource[], maxRows = RECENT_ITEMS_COUNT): APIResource[] {
+ if (!apps) {
+ return [];
+ }
+ return apps.sort(appDataSort).slice(0, maxRows);
+ }
+
+}
diff --git a/src/frontend/packages/cloud-foundry/src/features/home/card-cf-recent-apps/compact-app-card/compact-app-card.component.html b/src/frontend/packages/cloud-foundry/src/features/home/card-cf-recent-apps/compact-app-card/compact-app-card.component.html
new file mode 100644
index 0000000000..06a1acd218
--- /dev/null
+++ b/src/frontend/packages/cloud-foundry/src/features/home/card-cf-recent-apps/compact-app-card/compact-app-card.component.html
@@ -0,0 +1,17 @@
+
+
+
+
{{ app.metadata.updated_at | date:'medium' }}
+
+
+
+
+
\ No newline at end of file
diff --git a/src/frontend/packages/cloud-foundry/src/features/home/card-cf-recent-apps/compact-app-card/compact-app-card.component.scss b/src/frontend/packages/cloud-foundry/src/features/home/card-cf-recent-apps/compact-app-card/compact-app-card.component.scss
new file mode 100644
index 0000000000..bb7def5219
--- /dev/null
+++ b/src/frontend/packages/cloud-foundry/src/features/home/card-cf-recent-apps/compact-app-card/compact-app-card.component.scss
@@ -0,0 +1,79 @@
+:host {
+ border: 1px solid #ccc;
+ display: flex;
+ padding: 0 12px;
+
+ &:not(:first-child) {
+ border-top: 0;
+ }
+}
+
+.compact-app-card {
+ align-items: center;
+ display: flex;
+ flex-direction: row;
+ font-size: 14px;
+ height: 40px;
+ width: 100%;
+ &__name {
+ flex: 1;
+ padding-left: 12px;
+ }
+ &__subtle {
+ font-size: 12px;
+ opacity: 0.7;
+ }
+}
+
+$ph-bg: #fff !default;
+$ph-color: #ced4da !default;
+$ph-border-radius: 2px !default;
+
+$ph-gutter: 30px !default;
+$ph-spacer: 15px !default;
+
+$ph-avatar-border-radius: 50% !default;
+
+$ph-animation-duration: .8s !default;
+
+.ph-item {
+ height: 14px;
+ background-color: #d8d8d8;
+ overflow: hidden;
+ position: relative;
+
+ &::before {
+ animation: phAnimation $ph-animation-duration linear infinite;
+ background: linear-gradient(to right, rgba($ph-bg, 0) 46%, rgba($ph-bg, .35) 50%, rgba($ph-bg, 0) 54%) 50% 50%;
+ content: '';
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 50%;
+ z-index: 1;
+ width: 500%;
+ margin-left: -250%;
+ position: absolute;
+ }
+
+ &.ph-large {
+ width: 120px;
+ }
+ &.ph-small {
+ width: 80px;
+ }
+ &.ph-icon {
+ border-radius: 50%;
+ height: 20px;
+ width: 20px;
+ }
+}
+
+@keyframes phAnimation {
+ 0% {
+ transform: translate3d(-30%, 0, 0);
+ }
+ 100% {
+ transform: translate3d(30%, 0, 0);
+ }
+}
\ No newline at end of file
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/cards/card-cf-recent-apps/compact-app-card/compact-app-card.component.spec.ts b/src/frontend/packages/cloud-foundry/src/features/home/card-cf-recent-apps/compact-app-card/compact-app-card.component.spec.ts
similarity index 69%
rename from src/frontend/packages/cloud-foundry/src/shared/components/cards/card-cf-recent-apps/compact-app-card/compact-app-card.component.spec.ts
rename to src/frontend/packages/cloud-foundry/src/features/home/card-cf-recent-apps/compact-app-card/compact-app-card.component.spec.ts
index d6655a60b1..2f7bc155e6 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/cards/card-cf-recent-apps/compact-app-card/compact-app-card.component.spec.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/home/card-cf-recent-apps/compact-app-card/compact-app-card.component.spec.ts
@@ -2,13 +2,13 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import {
ApplicationStateIconComponent,
-} from '../../../../../../../core/src/shared/components/application-state/application-state-icon/application-state-icon.component';
+} from '../../../../../../core/src/shared/components/application-state/application-state-icon/application-state-icon.component';
import {
ApplicationStateIconPipe,
-} from '../../../../../../../core/src/shared/components/application-state/application-state-icon/application-state-icon.pipe';
-import { generateCfBaseTestModulesNoShared } from '../../../../../../test-framework/cloud-foundry-endpoint-service.helper';
-import { ActiveRouteCfOrgSpace } from '../../../../../features/cf/cf-page.types';
-import { ApplicationStateService } from '../../../../services/application-state.service';
+} from '../../../../../../core/src/shared/components/application-state/application-state-icon/application-state-icon.pipe';
+import { generateCfBaseTestModulesNoShared } from '../../../../../test-framework/cloud-foundry-endpoint-service.helper';
+import { ApplicationStateService } from '../../../../shared/services/application-state.service';
+import { ActiveRouteCfOrgSpace } from '../../../cf/cf-page.types';
import { CompactAppCardComponent } from './compact-app-card.component';
describe('CompactAppCardComponent', () => {
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/cards/card-cf-recent-apps/compact-app-card/compact-app-card.component.ts b/src/frontend/packages/cloud-foundry/src/features/home/card-cf-recent-apps/compact-app-card/compact-app-card.component.ts
similarity index 65%
rename from src/frontend/packages/cloud-foundry/src/shared/components/cards/card-cf-recent-apps/compact-app-card/compact-app-card.component.ts
rename to src/frontend/packages/cloud-foundry/src/features/home/card-cf-recent-apps/compact-app-card/compact-app-card.component.ts
index 456ba80949..c78c819bd1 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/cards/card-cf-recent-apps/compact-app-card/compact-app-card.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/home/card-cf-recent-apps/compact-app-card/compact-app-card.component.ts
@@ -3,12 +3,12 @@ import { Store } from '@ngrx/store';
import { Observable } from 'rxjs';
import { map, startWith } from 'rxjs/operators';
-import { CFAppState } from '../../../../../../../cloud-foundry/src/cf-app-state';
-import { ApplicationService } from '../../../../../../../cloud-foundry/src/features/applications/application.service';
-import { BREADCRUMB_URL_PARAM } from '../../../../../../../core/src/shared/components/breadcrumbs/breadcrumbs.types';
-import { StratosStatus } from '../../../../../../../store/src/types/shared.types';
-import { ActiveRouteCfOrgSpace } from '../../../../../features/cf/cf-page.types';
-import { ApplicationStateData, ApplicationStateService } from '../../../../services/application-state.service';
+import { BREADCRUMB_URL_PARAM } from '../../../../../../core/src/shared/components/breadcrumbs/breadcrumbs.types';
+import { StratosStatus } from '../../../../../../store/src/types/shared.types';
+import { CFAppState } from '../../../../cf-app-state';
+import { ApplicationStateData, ApplicationStateService } from '../../../../shared/services/application-state.service';
+import { ApplicationService } from '../../../applications/application.service';
+import { ActiveRouteCfOrgSpace } from '../../../cf/cf-page.types';
@Component({
@@ -20,6 +20,11 @@ export class CompactAppCardComponent implements OnInit {
@Input() app;
+ @Input() endpoint: string;
+
+ @Input() showDate = true;
+ @Input() dateMode: string;
+
applicationState$: Observable;
appStatus$: Observable;
@@ -34,14 +39,23 @@ export class CompactAppCardComponent implements OnInit {
) { }
ngOnInit() {
+ if (this.activeRouteCfOrgSpace) {
+ this.bcType = this.setBreadcrumbType(this.activeRouteCfOrgSpace);
+ if (!this.endpoint) {
+ this.endpoint = this.activeRouteCfOrgSpace.cfGuid;
+ }
+ }
+
+ if (!this.app) {
+ return;
+ }
- this.bcType = this.setBreadcrumbType(this.activeRouteCfOrgSpace);
const initState = this.appStateService.get(this.app.entity, null);
this.applicationState$ = ApplicationService.getApplicationState(
this.appStateService,
this.app.entity,
this.app.metadata.guid,
- this.activeRouteCfOrgSpace.cfGuid
+ this.endpoint
).pipe(
startWith(initState)
);
diff --git a/src/frontend/packages/cloud-foundry/src/features/home/cfhome-card/cfhome-card.component.html b/src/frontend/packages/cloud-foundry/src/features/home/cfhome-card/cfhome-card.component.html
new file mode 100644
index 0000000000..6a65b9bcb5
--- /dev/null
+++ b/src/frontend/packages/cloud-foundry/src/features/home/cfhome-card/cfhome-card.component.html
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0" [hideWhenEmpty]="true" [noStats]="true"
+ dateMode="subtle" [showDate]="layout.x === 1" [maxRows]="recentAppsRows" mode="plain" [endpoint]="guid">
+
+ 0" [placeholderMode]="true"
+ [maxRows]="recentAppsRows" mode="plain">
+
+
+
apps
+
You don't have any applications
+
+
Get started by deploying an Application from ...
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/frontend/packages/cloud-foundry/src/features/home/cfhome-card/cfhome-card.component.scss b/src/frontend/packages/cloud-foundry/src/features/home/cfhome-card/cfhome-card.component.scss
new file mode 100644
index 0000000000..85cb520946
--- /dev/null
+++ b/src/frontend/packages/cloud-foundry/src/features/home/cfhome-card/cfhome-card.component.scss
@@ -0,0 +1,30 @@
+.cf-home-card {
+ &__plain-tiles {
+ margin-left: 0;
+ margin-right: 1em;
+ margin-top: 1em;
+ }
+ &__no-apps {
+ align-items: center;
+ display: flex;
+ flex-direction: column;
+ margin-top: 20px;
+ opacity: 0.7;
+ > mat-icon {
+ font-size: 48px;
+ height: 48px;
+ width: 48px;
+ }
+ &-title {
+ font-size: 16px;
+ margin: 10px 8px;
+ text-align: center;
+ }
+ &-deploy {
+ font-size: 16px;
+ font-weight: bold;
+ margin: 20px 0;
+ text-align: center;
+ }
+ }
+}
diff --git a/src/frontend/packages/cloud-foundry/src/features/home/cfhome-card/cfhome-card.component.spec.ts b/src/frontend/packages/cloud-foundry/src/features/home/cfhome-card/cfhome-card.component.spec.ts
new file mode 100644
index 0000000000..87195f96e6
--- /dev/null
+++ b/src/frontend/packages/cloud-foundry/src/features/home/cfhome-card/cfhome-card.component.spec.ts
@@ -0,0 +1,31 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { generateCfBaseTestModules } from '../../../../test-framework/cloud-foundry-endpoint-service.helper';
+import { ApplicationDeploySourceTypes } from '../../applications/deploy-application/deploy-application-steps.types';
+import { CFHomeCardComponent } from './cfhome-card.component';
+
+describe('CFHomeCardComponent', () => {
+ let component: CFHomeCardComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [ CFHomeCardComponent ],
+ imports: generateCfBaseTestModules(),
+ providers: [
+ ApplicationDeploySourceTypes
+ ]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(CFHomeCardComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/frontend/packages/cloud-foundry/src/features/home/cfhome-card/cfhome-card.component.ts b/src/frontend/packages/cloud-foundry/src/features/home/cfhome-card/cfhome-card.component.ts
new file mode 100644
index 0000000000..b6c063f1d0
--- /dev/null
+++ b/src/frontend/packages/cloud-foundry/src/features/home/cfhome-card/cfhome-card.component.ts
@@ -0,0 +1,202 @@
+import { Component, Input } from '@angular/core';
+import { Store } from '@ngrx/store';
+import { BehaviorSubject, combineLatest, Observable } from 'rxjs';
+import { filter, first, map, pairwise } from 'rxjs/operators';
+
+import { BASE_REDIRECT_QUERY } from '../../../../../core/src/shared/components/stepper/stepper.types';
+import { RouterNav } from '../../../../../store/src/actions/router.actions';
+import { PaginationMonitorFactory } from '../../../../../store/src/monitors/pagination-monitor.factory';
+import { EndpointModel } from '../../../../../store/src/public-api';
+import { ActionState } from '../../../../../store/src/reducers/api-request-reducer/types';
+import { APIResource } from '../../../../../store/src/types/api.types';
+import { IApp } from '../../../cf-api.types';
+import { CFAppState } from '../../../cf-app-state';
+import { cfEntityCatalog } from '../../../cf-entity-catalog';
+import {
+ ApplicationDeploySourceTypes,
+ AUTO_SELECT_DEPLOY_TYPE_ENDPOINT_PARAM,
+ AUTO_SELECT_DEPLOY_TYPE_URL_PARAM,
+} from '../../applications/deploy-application/deploy-application-steps.types';
+import {
+ AUTO_SELECT_CF_URL_PARAM,
+ IAppTileData,
+} from '../../applications/new-application-base-step/new-application-base-step.component';
+import { ActiveRouteCfOrgSpace } from '../../cf/cf-page.types';
+import { goToAppWall } from '../../cf/cf.helpers';
+import { appDataSort, CloudFoundryEndpointService } from '../../cf/services/cloud-foundry-endpoint.service';
+import { HomePageCardLayout, HomePageEndpointCard } from './../../../../../core/src/features/home/home.types';
+import { ITileConfig } from './../../../../../core/src/shared/components/tile/tile-selector.types';
+
+
+@Component({
+ selector: 'app-cfhome-card',
+ templateUrl: './cfhome-card.component.html',
+ styleUrls: ['./cfhome-card.component.scss'],
+ providers: [
+ {
+ provide: ActiveRouteCfOrgSpace,
+ useValue: null,
+ },
+ CloudFoundryEndpointService
+ ]
+})
+export class CFHomeCardComponent implements HomePageEndpointCard {
+
+ pLayout: HomePageCardLayout;
+
+ get layout(): HomePageCardLayout {
+ return this.pLayout;
+ }
+
+ @Input() set layout(value: HomePageCardLayout) {
+ if (value) {
+ this.pLayout = value;
+ }
+ this.updateLayout();
+ }
+
+ @Input() set endpoint(value: EndpointModel) {
+ this.guid = value.guid;
+ }
+
+ guid: string;
+
+ recentAppsRows = 10;
+
+ appLink: () => void;
+
+ appCount$: Observable;
+ orgCount$: Observable;
+ routeCount$: Observable;
+
+ hasNoApps$: Observable;
+
+ cardLoaded = false;
+
+ recentApps = [];
+
+ private appStatsLoaded = new BehaviorSubject(false);
+ private appStatsToLoad: APIResource[] = [];
+
+ public tileSelectorConfig$: Observable[]>;
+
+ showDeployAppTiles = false;
+
+ constructor(
+ private store: Store,
+ private pmf: PaginationMonitorFactory,
+ appDeploySourceTypes: ApplicationDeploySourceTypes,
+ ) {
+ // Set a default layout
+ this.pLayout = new HomePageCardLayout(1, 1);
+
+ // Get source types for if we are showing tiles to deploy an application
+ this.tileSelectorConfig$ = appDeploySourceTypes.types$.pipe(
+ map(types => types.map(type =>
+ new ITileConfig(
+ type.name,
+ type.graphic,
+ {
+ type: 'deploy',
+ subType: type.id,
+ endpointGuid: type.endpointGuid
+ },
+ )
+ ))
+ );
+ }
+
+ // Deploy an app from the Home Card for the given endpoint
+ set selectedTile(tile: ITileConfig) {
+ const type = tile ? tile.data.type : null;
+ if (tile) {
+ const query = {
+ [BASE_REDIRECT_QUERY]: `applications/new/${this.guid}`,
+ [AUTO_SELECT_CF_URL_PARAM]: this.guid
+ };
+ if (tile.data.subType) {
+ query[AUTO_SELECT_DEPLOY_TYPE_URL_PARAM] = tile.data.subType;
+ }
+ if (tile.data.endpointGuid) {
+ query[AUTO_SELECT_DEPLOY_TYPE_ENDPOINT_PARAM] = tile.data.endpointGuid;
+ }
+ this.store.dispatch(new RouterNav({ path: `applications/${type}`, query }));
+ }
+ }
+
+ // Card is instructed to load its view by the container, whn it is visible
+ load(): Observable {
+ this.cardLoaded = true;
+ this.routeCount$ = CloudFoundryEndpointService.fetchRouteCount(this.store, this.pmf, this.guid);
+ this.appCount$ = CloudFoundryEndpointService.fetchAppCount(this.store, this.pmf, this.guid);
+ this.orgCount$ = CloudFoundryEndpointService.fetchOrgCount(this.store, this.pmf, this.guid);
+
+ this.appLink = () => goToAppWall(this.store, this.guid);
+
+ const appsPagObs = cfEntityCatalog.application.store.getPaginationService(this.guid);
+
+ // When the apps are loaded, fetch the app stats
+ this.hasNoApps$ = appsPagObs.entities$.pipe(first(), map(apps => {
+ this.recentApps = apps;
+ this.appStatsToLoad = this.restrictApps(apps);
+ this.fetchAppStats();
+ this.fetchAppStats();
+ return apps.length === 0;
+ }));
+
+ const appStatLoaded$ = this.appStatsLoaded.asObservable().pipe(filter(loaded => loaded));
+ return combineLatest([
+ this.routeCount$,
+ this.appCount$,
+ this.orgCount$,
+ appsPagObs.entities$,
+ appStatLoaded$
+ ]).pipe(
+ map(() => true)
+ );
+ }
+
+ public updateLayout() {
+ const currentRows = this.recentAppsRows;
+ this.recentAppsRows = this.layout.y > 1 ? 5 : 10;
+
+ // Hide recent apps if more than 2 columns
+ if (this.layout.x > 2) {
+ this.recentAppsRows = 0;
+ }
+
+ // If the layout changes and there are apps to show then we need to fetch the app stats for them
+ if (this.recentAppsRows > currentRows) {
+ this.appStatsToLoad = this.restrictApps(this.recentApps);
+ this.fetchAppStats();
+ }
+
+ // Only show the deploy app tiles in the full view
+ this.showDeployAppTiles = this.layout.x === 1 && this.layout.y === 1;
+ }
+
+ // Fetch the app stats - we fetch two at a time
+ private fetchAppStats() {
+ if (this.appStatsToLoad.length > 0) {
+ const app = this.appStatsToLoad.shift();
+ if (app.entity.state === 'STARTED') {
+ cfEntityCatalog.appStats.api.getMultiple(app.metadata.guid, this.guid).pipe(
+ map(a => a as ActionState),
+ pairwise(),
+ filter(([oldR, newR]) => oldR.busy && !newR.busy),
+ first()
+ ).subscribe(a => {
+ this.fetchAppStats();
+ });
+ } else {
+ this.fetchAppStats();
+ }
+ } else {
+ this.appStatsLoaded.next(true);
+ }
+ }
+
+ private restrictApps(apps: APIResource[]): APIResource[] {
+ return !apps ? [] : [...apps.sort(appDataSort).slice(0, this.recentAppsRows)];
+ }
+}
diff --git a/src/frontend/packages/cloud-foundry/src/features/home/cfhome-card/cfhome-card.module.ts b/src/frontend/packages/cloud-foundry/src/features/home/cfhome-card/cfhome-card.module.ts
new file mode 100644
index 0000000000..c9bd1f1179
--- /dev/null
+++ b/src/frontend/packages/cloud-foundry/src/features/home/cfhome-card/cfhome-card.module.ts
@@ -0,0 +1,42 @@
+import { ComponentFactoryResolver, NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import { CoreModule } from '../../../../../core/src/core/core.module';
+import { HomeModule } from '../../../../../core/src/features/home/home.module';
+import { SharedModule } from '../../../../../core/src/public-api';
+import { ApplicationStateService } from '../../../shared/services/application-state.service';
+import { ApplicationDeploySourceTypes } from '../../applications/deploy-application/deploy-application-steps.types';
+import { CardCfRecentAppsComponent } from '../card-cf-recent-apps/card-cf-recent-apps.component';
+import { CompactAppCardComponent } from '../card-cf-recent-apps/compact-app-card/compact-app-card.component';
+import { MDAppModule } from './../../../../../core/src/core/md.module';
+import { CFHomeCardComponent } from './cfhome-card.component';
+
+@NgModule({
+ imports: [
+ CoreModule,
+ RouterModule,
+ MDAppModule,
+ SharedModule,
+ HomeModule,
+ ],
+ declarations: [
+ CFHomeCardComponent,
+ CardCfRecentAppsComponent,
+ CompactAppCardComponent,
+ ],
+ exports: [
+ CFHomeCardComponent,
+ CardCfRecentAppsComponent,
+ CompactAppCardComponent,
+ ],
+ providers: [
+ ApplicationStateService,
+ ApplicationDeploySourceTypes,
+ ]
+})
+export class CFHomeCardModule {
+
+ public createHomeCard(componentFactoryResolver: ComponentFactoryResolver) {
+ return componentFactoryResolver.resolveComponentFactory(CFHomeCardComponent);
+ }
+}
diff --git a/src/frontend/packages/cloud-foundry/src/features/service-catalog/service-tabs-base/service-tabs-base.component.ts b/src/frontend/packages/cloud-foundry/src/features/service-catalog/service-tabs-base/service-tabs-base.component.ts
index 763af35529..085149bb4f 100644
--- a/src/frontend/packages/cloud-foundry/src/features/service-catalog/service-tabs-base/service-tabs-base.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/service-catalog/service-tabs-base/service-tabs-base.component.ts
@@ -68,18 +68,18 @@ export class ServiceTabsBaseComponent {
...queryParams,
[CSI_CANCEL_URL]: `/marketplace/${this.servicesService.cfGuid}/${this.servicesService.serviceGuid}/instances`
}))
- )
+ );
this.addServiceInstanceLink = [
'/marketplace',
this.servicesService.cfGuid,
this.servicesService.serviceGuid,
'create'
- ]
+ ];
this.serviceLabel$ = this.servicesService.service$.pipe(
map(getServiceName),
publishReplay(1),
refCount()
- )
+ );
}
}
diff --git a/src/frontend/packages/cloud-foundry/src/features/service-catalog/services-helper.ts b/src/frontend/packages/cloud-foundry/src/features/service-catalog/services-helper.ts
index 21db362ed1..f6d14ee8df 100644
--- a/src/frontend/packages/cloud-foundry/src/features/service-catalog/services-helper.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/service-catalog/services-helper.ts
@@ -80,7 +80,7 @@ export const fetchServiceInstancesCount = (
cfGuid,
createEntityRelationPaginationKey(parentSchemaKey, uniqueKey),
{ includeRelations: [], populateMissing: false }
- )
+ );
if (orgGuid) {
action.initialParams.q.push(new QParam('organization_guid', orgGuid, QParamJoiners.in).toString());
}
@@ -121,7 +121,7 @@ export const getServicePlans = (
}));
};
-export const getServicePlanName = (plan: { name: string, extraTyped?: IServicePlanExtra }): string =>
+export const getServicePlanName = (plan: { name: string, extraTyped?: IServicePlanExtra, }): string =>
plan.extraTyped && plan.extraTyped.displayName ? plan.extraTyped.displayName : plan.name;
export const getServicePlanAccessibility = (
@@ -205,5 +205,5 @@ export const getCfServiceInstance = (
includeRelations,
populateMissing: !!includeRelations
}
- )
+ );
};
diff --git a/src/frontend/packages/cloud-foundry/src/features/service-catalog/services.service.ts b/src/frontend/packages/cloud-foundry/src/features/service-catalog/services.service.ts
index 05d65754d3..114a8e3075 100644
--- a/src/frontend/packages/cloud-foundry/src/features/service-catalog/services.service.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/service-catalog/services.service.ts
@@ -72,11 +72,11 @@ export class ServicesService {
filter(s => s && s.length === 1),
map(s => s[0]),
first()
- )
+ );
getServiceName = () => this.service$.pipe(
map(getServiceName)
- )
+ );
getServiceProviderName = () => observableCombineLatest(this.serviceExtraInfo$, this.service$).pipe(
map(([extraInfo]) => extraInfo && extraInfo.providerDisplayName ? extraInfo.providerDisplayName : '')
@@ -88,19 +88,19 @@ export class ServicesService {
getDocumentationUrl = () => this.serviceExtraInfo$.pipe(
map(p => p ? p.documentationUrl : null)
- )
+ );
getSupportUrl = () => this.serviceExtraInfo$.pipe(
map(p => p ? p.supportUrl : null)
- )
+ );
hasSupportUrl = () => this.getSupportUrl().pipe(
map(p => !!p)
- )
+ );
hasDocumentationUrl = () => this.getDocumentationUrl().pipe(
map(p => !!p)
- )
+ );
getServiceTags = () => this.service$.pipe(
first(),
@@ -110,7 +110,7 @@ export class ServicesService {
hideClearButton$: observableOf(true)
}))
)
- )
+ );
/**
* Init observables specific to a service
diff --git a/src/frontend/packages/cloud-foundry/src/features/services/services-wall/services-wall.component.html b/src/frontend/packages/cloud-foundry/src/features/services/services-wall/services-wall.component.html
index b47b7c7e12..d188fc7735 100644
--- a/src/frontend/packages/cloud-foundry/src/features/services/services-wall/services-wall.component.html
+++ b/src/frontend/packages/cloud-foundry/src/features/services/services-wall/services-wall.component.html
@@ -26,5 +26,6 @@ Services
\ No newline at end of file
diff --git a/src/frontend/packages/cloud-foundry/src/features/services/services-wall/services-wall.component.ts b/src/frontend/packages/cloud-foundry/src/features/services/services-wall/services-wall.component.ts
index be3e78240d..05f0c8b613 100644
--- a/src/frontend/packages/cloud-foundry/src/features/services/services-wall/services-wall.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/services/services-wall/services-wall.component.ts
@@ -1,17 +1,13 @@
-import { Component, OnDestroy } from '@angular/core';
+import { Component } from '@angular/core';
import { Store } from '@ngrx/store';
import { Observable, Subscription } from 'rxjs';
import { map } from 'rxjs/operators';
import { CFAppState } from '../../../../../cloud-foundry/src/cf-app-state';
-import { serviceInstancesEntityType } from '../../../../../cloud-foundry/src/cf-entity-types';
import {
ServiceInstancesWallListConfigService,
} from '../../../../../cloud-foundry/src/shared/components/list/list-types/services-wall/service-instances-wall-list-config.service';
-import {
- CfOrgSpaceDataService,
- initCfOrgSpaceService,
-} from '../../../../../cloud-foundry/src/shared/data-services/cf-org-space-service.service';
+import { CfOrgSpaceDataService } from '../../../../../cloud-foundry/src/shared/data-services/cf-org-space-service.service';
import { CloudFoundryService } from '../../../../../cloud-foundry/src/shared/data-services/cloud-foundry.service';
import { ListConfig } from '../../../../../core/src/shared/components/list/list.component.types';
import { CSI_CANCEL_URL } from '../../../shared/components/add-service-instance/csi-mode.service';
@@ -29,19 +25,19 @@ import { CfCurrentUserPermissions } from '../../../user-permissions/cf-user-perm
CfOrgSpaceDataService
]
})
-export class ServicesWallComponent implements OnDestroy {
+export class ServicesWallComponent {
public haveConnectedCf$: Observable;
canCreateServiceInstance: CfCurrentUserPermissions;
initCfOrgSpaceService: Subscription;
cfIds$: Observable;
- location: { [CSI_CANCEL_URL]: string };
+ location: { [CSI_CANCEL_URL]: string, };
constructor(
public cloudFoundryService: CloudFoundryService,
public store: Store,
- private cfOrgSpaceService: CfOrgSpaceDataService) {
+ public cfOrgSpaceService: CfOrgSpaceDataService) {
this.canCreateServiceInstance = CfCurrentUserPermissions.SERVICE_INSTANCE_CREATE;
this.cfIds$ = cloudFoundryService.cFEndpoints$.pipe(
@@ -51,21 +47,12 @@ export class ServicesWallComponent implements OnDestroy {
)
);
- this.initCfOrgSpaceService = initCfOrgSpaceService(this.store,
- this.cfOrgSpaceService,
- serviceInstancesEntityType,
- 'all').subscribe();
-
this.haveConnectedCf$ = cloudFoundryService.connectedCFEndpoints$.pipe(
map(endpoints => !!endpoints && endpoints.length > 0)
);
this.location = {
[CSI_CANCEL_URL]: `/services`
- }
- }
-
- ngOnDestroy(): void {
- this.initCfOrgSpaceService.unsubscribe();
+ };
}
}
diff --git a/src/frontend/packages/cloud-foundry/src/features/services/services/services-wall.service.ts b/src/frontend/packages/cloud-foundry/src/features/services/services/services-wall.service.ts
index eadc97f032..a9cbeff2b5 100644
--- a/src/frontend/packages/cloud-foundry/src/features/services/services/services-wall.service.ts
+++ b/src/frontend/packages/cloud-foundry/src/features/services/services/services-wall.service.ts
@@ -19,8 +19,8 @@ export class ServicesWallService {
initServicesObservable = () => {
const paginationKey = createEntityRelationPaginationKey(endpointEntityType);
- return cfEntityCatalog.service.store.getPaginationService(null, paginationKey, {}).entities$
- }
+ return cfEntityCatalog.service.store.getPaginationService(null, paginationKey, {}).entities$;
+ };
getServicesInCf = (cfGuid: string) => this.services$.pipe(
filter(p => !!p && p.length > 0),
@@ -28,7 +28,7 @@ export class ServicesWallService {
filter(p => !!p),
publishReplay(1),
refCount()
- )
+ );
getSpaceServicePagKey(cfGuid: string, spaceGuid: string) {
return createEntityRelationPaginationKey(serviceEntityType, `${cfGuid}-${spaceGuid}`);
@@ -37,5 +37,5 @@ export class ServicesWallService {
getServicesInSpace = (cfGuid: string, spaceGuid: string) => {
const paginationKey = this.getSpaceServicePagKey(cfGuid, spaceGuid);
return cfEntityCatalog.service.store.getAllInSpace.getPaginationService(cfGuid, paginationKey, spaceGuid).entities$;
- }
+ };
}
diff --git a/src/frontend/packages/cloud-foundry/src/public_api.ts b/src/frontend/packages/cloud-foundry/src/public_api.ts
index 0d517d9617..daa44ceb4e 100644
--- a/src/frontend/packages/cloud-foundry/src/public_api.ts
+++ b/src/frontend/packages/cloud-foundry/src/public_api.ts
@@ -5,4 +5,4 @@
export * from './cloud-foundry-package.module';
export * from './cloud-foundry-routing.module';
-export * from './cf-api-svc.types';
\ No newline at end of file
+export * from './cf-api-svc.types';
diff --git a/src/frontend/packages/cloud-foundry/src/shared/cf-shared.module.ts b/src/frontend/packages/cloud-foundry/src/shared/cf-shared.module.ts
index 206abb267a..554586149c 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/cf-shared.module.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/cf-shared.module.ts
@@ -31,8 +31,6 @@ import { CardCfInfoComponent } from './components/cards/card-cf-info/card-cf-inf
import {
CardCfOrgUserDetailsComponent,
} from './components/cards/card-cf-org-user-details/card-cf-org-user-details.component';
-import { CardCfRecentAppsComponent } from './components/cards/card-cf-recent-apps/card-cf-recent-apps.component';
-import { CompactAppCardComponent } from './components/cards/card-cf-recent-apps/compact-app-card/compact-app-card.component';
import { CardCfSpaceDetailsComponent } from './components/cards/card-cf-space-details/card-cf-space-details.component';
import { CardCfUserInfoComponent } from './components/cards/card-cf-user-info/card-cf-user-info.component';
import {
@@ -54,7 +52,6 @@ import {
CreateApplicationStep1Component,
} from './components/create-application/create-application-step1/create-application-step1.component';
import { EnvVarViewComponent } from './components/env-var-view/env-var-view.component';
-import { GithubCommitAuthorComponent } from './components/github-commit-author/github-commit-author.component';
import {
TableCellCfCellComponent,
} from './components/list/list-types/app-instance/table-cell-cf-cell/table-cell-cf-cell.component';
@@ -180,9 +177,6 @@ import {
import {
CfSpacePermissionCellComponent,
} from './components/list/list-types/cf-users/cf-space-permission-cell/cf-space-permission-cell.component';
-import {
- TableCellCommitAuthorComponent,
-} from './components/list/list-types/github-commits/table-cell-commit-author/table-cell-commit-author.component';
import {
TableCellAServicePlanExtrasComponent,
} from './components/list/list-types/service-plans/table-cell-service-plan-extras/table-cell-service-plan-extras.component';
@@ -250,7 +244,6 @@ const cfListTableCells: Type>[] = [
TableCellServiceActiveComponent,
TableCellServiceReferencesComponent,
TableCellServiceInstanceTagsComponent,
- TableCellCommitAuthorComponent,
TableCellServiceBrokerComponent
];
@@ -300,8 +293,6 @@ const cfListCards: Type>[] = [
CardCfUserInfoComponent,
CardCfOrgUserDetailsComponent,
CardCfSpaceDetailsComponent,
- CardCfRecentAppsComponent,
- CompactAppCardComponent,
ServiceSummaryCardComponent,
ServiceBrokerCardComponent,
ServiceRecentInstancesCardComponent,
@@ -319,7 +310,6 @@ const cfListCards: Type>[] = [
TableCellFeatureFlagDescriptionComponent,
AppNameUniqueDirective,
ApplicationInstanceChartComponent,
- GithubCommitAuthorComponent,
EnvVarViewComponent,
CfUserPermissionDirective
],
@@ -349,8 +339,6 @@ const cfListCards: Type>[] = [
CardCfUserInfoComponent,
CardCfOrgUserDetailsComponent,
CardCfSpaceDetailsComponent,
- CardCfRecentAppsComponent,
- CompactAppCardComponent,
ServiceSummaryCardComponent,
ServiceBrokerCardComponent,
ServiceRecentInstancesCardComponent,
@@ -362,7 +350,6 @@ const cfListCards: Type>[] = [
CloudFoundryEventsListComponent,
AppNameUniqueDirective,
ApplicationInstanceChartComponent,
- GithubCommitAuthorComponent,
EnvVarViewComponent,
CfUserPermissionDirective
],
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/add-service-instance/add-service-instance-base-step/add-service-instance-base-step.component.ts b/src/frontend/packages/cloud-foundry/src/shared/components/add-service-instance/add-service-instance-base-step/add-service-instance-base-step.component.ts
index 2daa17cb4a..587b4043f9 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/add-service-instance/add-service-instance-base-step/add-service-instance-base-step.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/components/add-service-instance/add-service-instance-base-step/add-service-instance-base-step.component.ts
@@ -74,11 +74,11 @@ export class AddServiceInstanceBaseStepComponent {
}
private createServiceTileUrl(): string {
- return this.bindApp ? `/applications/${this.cfId}/${this.appId}/bind` : '/services/new'
+ return this.bindApp ? `/applications/${this.cfId}/${this.appId}/bind` : '/services/new';
}
private createCancelUrl(): string {
- return this.bindApp ? `/applications/${this.cfId}/${this.appId}/services` : '/services'
+ return this.bindApp ? `/applications/${this.cfId}/${this.appId}/services` : '/services';
}
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/add-service-instance/csi-mode.service.ts b/src/frontend/packages/cloud-foundry/src/shared/components/add-service-instance/csi-mode.service.ts
index ad65ce4410..588d129690 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/add-service-instance/csi-mode.service.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/components/add-service-instance/csi-mode.service.ts
@@ -23,7 +23,7 @@ export const enum CreateServiceFormMode {
* Where should the user be taken on cancel (and success). If not supplied will fall back on previous location and then deduced from
* params
*/
-export const CSI_CANCEL_URL = 'cancel'
+export const CSI_CANCEL_URL = 'cancel';
/**
* Used when `CSI_CANCEL_URL` is not supplied
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/add-service-instance/specify-details-step/specify-details-step.component.ts b/src/frontend/packages/cloud-foundry/src/shared/components/add-service-instance/specify-details-step/specify-details-step.component.ts
index ae2ed8a868..029efc2e84 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/add-service-instance/specify-details-step/specify-details-step.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/components/add-service-instance/specify-details-step/specify-details-step.component.ts
@@ -104,9 +104,9 @@ export class SpecifyDetailsStepComponent implements OnDestroy, AfterContentInit
nameTakenValidator = (): ValidatorFn => {
- return (formField: AbstractControl): { [key: string]: any } =>
+ return (formField: AbstractControl): { [key: string]: any, } =>
!this.checkName(formField.value) ? { nameTaken: { value: formField.value } } : null;
- }
+ };
constructor(
private store: Store,
@@ -212,7 +212,7 @@ export class SpecifyDetailsStepComponent implements OnDestroy, AfterContentInit
).subscribe();
}
this.subscriptions.push(this.setupFormValidatorData());
- }
+ };
setServiceParams(data) {
this.serviceParams = data;
@@ -232,7 +232,7 @@ export class SpecifyDetailsStepComponent implements OnDestroy, AfterContentInit
} else if (mode === CreateServiceFormMode.BindServiceInstance) {
this.bindExistingInstance = true;
}
- }
+ };
private setupFormValidatorData(): Subscription {
return this.allServiceInstances$.pipe(
@@ -353,7 +353,7 @@ export class SpecifyDetailsStepComponent implements OnDestroy, AfterContentInit
return observableOf(this.routeToServices());
}),
);
- }
+ };
routeToServices = (): StepOnNextResult => {
return {
@@ -361,10 +361,10 @@ export class SpecifyDetailsStepComponent implements OnDestroy, AfterContentInit
// We should always go back to where we came from, aka 'cancel' location.
redirect: true,
};
- }
+ };
- private setServiceInstanceGuid = (request: { creating: boolean; error: boolean; response: { result: any[]; }; }) =>
- this.bindExistingInstance ? this.selectExistingInstanceForm.controls.serviceInstances.value : request.response.result[0]
+ private setServiceInstanceGuid = (request: { creating: boolean; error: boolean; response: { result: any[], }, }) =>
+ this.bindExistingInstance ? this.selectExistingInstanceForm.controls.serviceInstances.value : request.response.result[0];
private setupValidate() {
// For a new service instance the step is valid if the form and service params are both valid
@@ -418,13 +418,13 @@ export class SpecifyDetailsStepComponent implements OnDestroy, AfterContentInit
newServiceInstanceGuid,
cfGuid,
{ name, servicePlanGuid, spaceGuid, params, tags: tagsStr }
- )
+ );
}
return cfEntityCatalog.serviceInstance.actions.create(
newServiceInstanceGuid,
cfGuid,
{ name, servicePlanGuid, spaceGuid, params, tags: tagsStr }
- )
+ );
}
private getIdFromResponseGetter(cfGuid: string, newId: string, isEditMode: boolean) {
@@ -509,6 +509,6 @@ export class SpecifyDetailsStepComponent implements OnDestroy, AfterContentInit
return this.allServiceInstanceNames.indexOf(value || this.createNewInstanceForm.controls.name.value) === -1;
}
return true;
- }
+ };
}
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/add-service-instance/specify-user-provided-details/specify-user-provided-details.component.ts b/src/frontend/packages/cloud-foundry/src/shared/components/add-service-instance/specify-user-provided-details/specify-user-provided-details.component.ts
index 258727a9cc..bf23f3494c 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/add-service-instance/specify-user-provided-details/specify-user-provided-details.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/components/add-service-instance/specify-user-provided-details/specify-user-provided-details.component.ts
@@ -67,7 +67,7 @@ export class SpecifyUserProvidedDetailsComponent implements OnDestroy {
public allServiceInstanceNames: string[];
public subs: Subscription[] = [];
public isUpdate: boolean;
- public tags: { label: string }[] = [];
+ public tags: { label: string, }[] = [];
public valid = new BehaviorSubject(false);
private subscriptions: Subscription[] = [];
private tagsChanged = new BehaviorSubject(true);
@@ -170,7 +170,7 @@ export class SpecifyUserProvidedDetailsComponent implements OnDestroy {
if (mode === CreateServiceFormMode.CreateServiceInstance) {
this.tags = [];
}
- }
+ };
private serviceInstancesForApplication() {
return this.store.select(selectCreateServiceInstance).pipe(
@@ -237,13 +237,13 @@ export class SpecifyUserProvidedDetailsComponent implements OnDestroy {
params
},
);
- }
+ };
public onNext = (): Observable => {
return this.isUpdate ?
this.onNextUpdate() :
this.formMode === CreateServiceFormMode.CreateServiceInstance ? this.onNextCreate() : this.onNextBind();
- }
+ };
private onNextCreate(): Observable {
const data = this.getServiceData();
@@ -284,7 +284,7 @@ export class SpecifyUserProvidedDetailsComponent implements OnDestroy {
return { success: false, message: `Failed to create service instance binding: ${req.message}` };
} else {
// Refetch env vars for app, since they have been changed by CF
- cfEntityCatalog.appEnvVar.api.getMultiple(data.bindAppGuid, data.cfGuid)
+ cfEntityCatalog.appEnvVar.api.getMultiple(data.bindAppGuid, data.cfGuid);
return { success: true, redirect: true };
}
})
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/cards/card-app-instances/card-app-instances.component.ts b/src/frontend/packages/cloud-foundry/src/shared/components/cards/card-app-instances/card-app-instances.component.ts
index 6604494482..00a14152d0 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/cards/card-app-instances/card-app-instances.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/components/cards/card-app-instances/card-app-instances.component.ts
@@ -48,7 +48,7 @@ export class CardAppInstancesComponent implements OnInit, OnDestroy {
).pipe(
switchMap(([org, space]) =>
cups.can(CfCurrentUserPermissions.APPLICATION_EDIT, appService.cfGuid, org.metadata.guid, space.metadata.guid)
- ))
+ ));
}
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/cards/card-cf-recent-apps/card-cf-recent-apps.component.html b/src/frontend/packages/cloud-foundry/src/shared/components/cards/card-cf-recent-apps/card-cf-recent-apps.component.html
deleted file mode 100644
index f26820ae69..0000000000
--- a/src/frontend/packages/cloud-foundry/src/shared/components/cards/card-cf-recent-apps/card-cf-recent-apps.component.html
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
- There are no applications.
-
- 0" class="recent-apps-card__scroller">
-
-
-
-
-
\ No newline at end of file
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/cards/card-cf-recent-apps/card-cf-recent-apps.component.ts b/src/frontend/packages/cloud-foundry/src/shared/components/cards/card-cf-recent-apps/card-cf-recent-apps.component.ts
deleted file mode 100644
index 136fc16ee1..0000000000
--- a/src/frontend/packages/cloud-foundry/src/shared/components/cards/card-cf-recent-apps/card-cf-recent-apps.component.ts
+++ /dev/null
@@ -1,57 +0,0 @@
-import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
-import { Store } from '@ngrx/store';
-import { Observable } from 'rxjs';
-import { filter, first, map, tap } from 'rxjs/operators';
-
-import { CFAppState } from '../../../../../../cloud-foundry/src/cf-app-state';
-import { APIResource } from '../../../../../../store/src/types/api.types';
-import { IApp } from '../../../../cf-api.types';
-import { cfEntityCatalog } from '../../../../cf-entity-catalog';
-import { appDataSort, CloudFoundryEndpointService } from '../../../../features/cf/services/cloud-foundry-endpoint.service';
-
-const RECENT_ITEMS_COUNT = 10;
-
-@Component({
- selector: 'app-card-cf-recent-apps',
- templateUrl: './card-cf-recent-apps.component.html',
- styleUrls: ['./card-cf-recent-apps.component.scss'],
-})
-export class CardCfRecentAppsComponent implements OnInit {
-
- public recentApps$: Observable[]>;
- @Input() allApps$: Observable[]>;
- @Input() loading$: Observable;
- @Output() refresh = new EventEmitter();
-
- constructor(
- private store: Store,
- public cfEndpointService: CloudFoundryEndpointService,
- ) { }
-
- ngOnInit() {
- this.recentApps$ = this.allApps$.pipe(
- filter(apps => !!apps),
- first(),
- map(apps => this.restrictApps(apps)),
- tap(apps => this.fetchAppStats(apps))
- );
- }
-
- private fetchAppStats(recentApps: APIResource[]) {
- recentApps.forEach(app => {
- if (app.entity.state === 'STARTED') {
- cfEntityCatalog.appStats.api.getMultiple(app.metadata.guid, this.cfEndpointService.cfGuid);
- }
- });
- }
-
- private restrictApps(apps: APIResource[]): APIResource[] {
- if (!apps) {
- return [];
- }
- return apps.sort(appDataSort).slice(0, RECENT_ITEMS_COUNT);
- }
-
-}
-
-
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/cards/card-cf-recent-apps/compact-app-card/compact-app-card.component.html b/src/frontend/packages/cloud-foundry/src/shared/components/cards/card-cf-recent-apps/compact-app-card/compact-app-card.component.html
deleted file mode 100644
index 994e79e2d9..0000000000
--- a/src/frontend/packages/cloud-foundry/src/shared/components/cards/card-cf-recent-apps/compact-app-card/compact-app-card.component.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
{{ app.metadata.updated_at | date:'medium' }}
-
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/cards/card-cf-recent-apps/compact-app-card/compact-app-card.component.scss b/src/frontend/packages/cloud-foundry/src/shared/components/cards/card-cf-recent-apps/compact-app-card/compact-app-card.component.scss
deleted file mode 100644
index ff8d0d2082..0000000000
--- a/src/frontend/packages/cloud-foundry/src/shared/components/cards/card-cf-recent-apps/compact-app-card/compact-app-card.component.scss
+++ /dev/null
@@ -1,22 +0,0 @@
-:host {
- border: 1px solid #ccc;
- display: flex;
- padding: 0 12px;
-
- &:not(:first-child) {
- border-top: 0;
- }
-}
-
-.compact-app-card {
- align-items: center;
- display: flex;
- flex-direction: row;
- font-size: 14px;
- height: 40px;
- width: 100%;
- &__name {
- flex: 1;
- padding-left: 12px;
- }
-}
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/cards/card-cf-space-details/card-cf-space-details.component.ts b/src/frontend/packages/cloud-foundry/src/shared/components/cards/card-cf-space-details/card-cf-space-details.component.ts
index ab6ed99ffe..cc634ff0af 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/cards/card-cf-space-details/card-cf-space-details.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/components/cards/card-cf-space-details/card-cf-space-details.component.ts
@@ -33,7 +33,7 @@ export class CardCfSpaceDetailsComponent implements OnDestroy {
goToOrgQuota() {
this.quotaLinkSub = this.cfSpaceService.quotaLink$.subscribe(quotaLink => {
this.store.dispatch(new RouterNav({ path: quotaLink }));
- this.snackBarService.showReturn('You were switched to an organization', this.router.url, 'Return to space');
+ this.snackBarService.showWithLink('You were switched to an organization', this.router.url, 'Return to space');
});
}
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/cards/service-broker-card/service-broker-card.component.ts b/src/frontend/packages/cloud-foundry/src/shared/components/cards/service-broker-card/service-broker-card.component.ts
index de72d19887..a8a026eef7 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/cards/service-broker-card/service-broker-card.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/components/cards/service-broker-card/service-broker-card.component.ts
@@ -31,7 +31,7 @@ export class ServiceBrokerCardComponent implements OnDestroy {
filter(o => !!o),
// Broker is space scoped
switchMap(spaceGuid => {
- return cfEntityCatalog.space.store.getEntityService(spaceGuid, this.servicesService.cfGuid).waitForEntity$
+ return cfEntityCatalog.space.store.getEntityService(spaceGuid, this.servicesService.cfGuid).waitForEntity$;
}),
tap(space => {
this.spaceLink = ['/cloud-foundry',
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/create-application/create-application-step1/create-application-step1.component.ts b/src/frontend/packages/cloud-foundry/src/shared/components/create-application/create-application-step1/create-application-step1.component.ts
index 1e3dd731a4..1552c10c08 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/create-application/create-application-step1/create-application-step1.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/components/create-application/create-application-step1/create-application-step1.component.ts
@@ -49,7 +49,7 @@ export class CreateApplicationStep1Component implements OnInit, AfterContentInit
space: this.cfOrgSpaceService.space.select.getValue()
}));
return of({ success: true });
- }
+ };
ngOnInit() {
if (this.route.root.snapshot.queryParams.endpointGuid) {
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app-instance/cf-app-instances-config.service.ts b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app-instance/cf-app-instances-config.service.ts
index a06230eeb0..4358af82cc 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app-instance/cf-app-instances-config.service.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app-instance/cf-app-instances-config.service.ts
@@ -235,7 +235,7 @@ export class CfAppInstancesConfigService implements IListConfig
switchMap(([org, space]) =>
cups.can(CfCurrentUserPermissions.APPLICATION_EDIT, appService.cfGuid, org.metadata.guid, space.metadata.guid)
)
- )
+ );
}
getGlobalActions = () => null;
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app-instance/cf-app-instances-data-source.ts b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app-instance/cf-app-instances-data-source.ts
index 3976e36dc2..1c25e63be7 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app-instance/cf-app-instances-data-source.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app-instance/cf-app-instances-data-source.ts
@@ -22,7 +22,7 @@ export class CfAppInstancesDataSource extends ListDataSource
) {
const paginationKey = createEntityRelationPaginationKey(applicationEntityType, appGuid);
- const action = cfEntityCatalog.appStats.actions.getMultiple(appGuid, cfGuid)
+ const action = cfEntityCatalog.appStats.actions.getMultiple(appGuid, cfGuid);
super(
{
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app-instance/table-cell-cf-cell/table-cell-cf-cell.component.ts b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app-instance/table-cell-cf-cell/table-cell-cf-cell.component.ts
index 651c1b90ac..bea4bf0411 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app-instance/table-cell-cf-cell/table-cell-cf-cell.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app-instance/table-cell-cf-cell/table-cell-cf-cell.component.ts
@@ -21,9 +21,10 @@ export class TableCellCfCellComponent extends TableCellCustom i
@Input('config')
set config(config: {
- metricEntityService: EntityService>>
- cfGuid: string
+ metricEntityService: EntityService>>;
+ cfGuid: string;
}) {
+ super.config = config;
if (!config) {
return;
}
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app-route/cf-app-map-routes-list-config.service.ts b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app-route/cf-app-map-routes-list-config.service.ts
index a113574270..5cb71abcc6 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app-route/cf-app-map-routes-list-config.service.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app-route/cf-app-map-routes-list-config.service.ts
@@ -37,7 +37,7 @@ export class CfAppMapRoutesListConfigService extends CfAppRoutesListConfigServic
spaceGuid,
appService.cfGuid,
createEntityRelationPaginationKey(spaceEntityType, spaceGuid)
- )
+ );
// If parentEntitySchema is set the entity validation process will look for the space routes in the parent space entity
// In this case, we do have them however they're missing the route-->app relationship.. which means we fetch them at a rate of one per
// route. For spaces with hundreds of routes this isn't acceptable, so remove the link to the parent and fetch the list afresh.
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app-route/cf-app-routes-list-config-base.ts b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app-route/cf-app-routes-list-config-base.ts
index 2a658beb99..891e780638 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app-route/cf-app-routes-list-config-base.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app-route/cf-app-routes-list-config-base.ts
@@ -64,7 +64,7 @@ export abstract class CfAppRoutesListConfigServiceBase extends CfRoutesListConfi
this.getDataSource = () => {
// Lazy init so that any changes to the columns & data functions (like sort) are correctly applied
if (!this.dataSource) {
- const getAppRoutesAction = cfEntityCatalog.route.actions.getAllForApplication(appService.appGuid, appService.cfGuid)
+ const getAppRoutesAction = cfEntityCatalog.route.actions.getAllForApplication(appService.appGuid, appService.cfGuid);
this.dataSource = new CfAppRoutesDataSource(
store,
appService,
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app-variables/table-cell-edit-variable/table-cell-edit-variable.component.ts b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app-variables/table-cell-edit-variable/table-cell-edit-variable.component.ts
index 886357b248..21ee25d4a0 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app-variables/table-cell-edit-variable/table-cell-edit-variable.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app-variables/table-cell-edit-variable/table-cell-edit-variable.component.ts
@@ -5,7 +5,6 @@ import { TableCellCustom } from '../../../../../../../../core/src/shared/compone
import { EnvVarViewComponent } from '../../../../env-var-view/env-var-view.component';
import { ListAppEnvVar } from '../cf-app-variables-data-source';
-/* tslint:disable:no-access-missing-member https://github.com/mgechev/codelyzer/issues/191*/
@Component({
selector: 'app-table-cell-edit-variable',
templateUrl: './table-cell-edit-variable.component.html',
@@ -31,6 +30,6 @@ export class TableCellEditVariableComponent extends TableCellCustom> implements OnInit {
- @Input() row: APIResource;
applicationState$: Observable;
appStatus$: Observable;
entityConfig: ComponentEntityMonitorConfig;
cfOrgSpace: CfOrgSpaceLabelService;
- public favorite: UserFavorite;
+ public favorite: UserFavorite;
constructor(
private store: Store,
private appStateService: ApplicationStateService,
- private favoritesConfigMapper: FavoritesConfigMapper,
-
-
+ private userFavoriteManager: UserFavoriteManager
) {
super();
}
@@ -54,7 +49,7 @@ export class CardAppComponent extends CardCell> implements OnI
this.row.entity.space_guid
);
- this.favorite = getFavoriteFromEntity(this.row, applicationEntityType, this.favoritesConfigMapper, CF_ENDPOINT_TYPE);
+ this.favorite = this.userFavoriteManager.getFavorite(this.row, applicationEntityType, CF_ENDPOINT_TYPE);
const initState = this.appStateService.get(this.row.entity, null);
this.applicationState$ = ApplicationService.getApplicationState(
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app/cf-app-config.service.ts b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app/cf-app-config.service.ts
index a2b5398834..81e7adea09 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app/cf-app-config.service.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app/cf-app-config.service.ts
@@ -48,13 +48,14 @@ export class CfAppConfigService extends ListConfig implements IList
// Apply the initial cf guid to the data source. Normally this is done via applying the selection to the filter... however this is too
// late for maxedResult world
- this.initialised$ = this.cfOrgSpaceService.cf.loading$.pipe(
+ this.initialised$ = this.cfOrgSpaceService.isLoading$.pipe(
filter(isLoading => !isLoading),
switchMap(() => this.cfOrgSpaceService.cf.list$),
first(),
map(cfs => {
const cfGuid = cfs.length === 1 ? cfs[0].guid : null;
this.appsDataSource = new CfAppsDataSource(this.store, this, undefined, undefined, undefined, cfGuid);
+ this.cfOrgSpaceService.setInitialValuesFromAction(this.appsDataSource.action, 'cf', 'org', 'space');
return true;
})
);
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app/table-cell-app-cforgspace-header/table-cell-app-cforgspace-header.component.spec.ts b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app/table-cell-app-cforgspace-header/table-cell-app-cforgspace-header.component.spec.ts
index 064ed53be4..5ce454b9ee 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app/table-cell-app-cforgspace-header/table-cell-app-cforgspace-header.component.spec.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app/table-cell-app-cforgspace-header/table-cell-app-cforgspace-header.component.spec.ts
@@ -12,13 +12,16 @@ import {
ApplicationStateComponent,
} from '../../../../../../../../core/src/shared/components/application-state/application-state.component';
import { PaginationMonitorFactory } from '../../../../../../../../store/src/monitors/pagination-monitor.factory';
+import { APIResource } from '../../../../../../../../store/src/types/api.types';
import { generateCfStoreModules } from '../../../../../../../test-framework/cloud-foundry-endpoint-service.helper';
+import { IApp } from '../../../../../../cf-api.types';
import { ApplicationStateService } from '../../../../../services/application-state.service';
import { TableCellAppStatusComponent } from '../table-cell-app-status/table-cell-app-status.component';
+import { TableCellAppCfOrgSpaceHeaderComponent } from './table-cell-app-cforgspace-header.component';
-describe('TableCellAppStatusComponent', () => {
- let component: TableCellAppStatusComponent;
- let fixture: ComponentFixture>;
+describe('TableCellAppCfOrgSpaceHeaderComponent', () => {
+ let component: TableCellAppCfOrgSpaceHeaderComponent;
+ let fixture: ComponentFixture;
beforeEach(async(() => {
TestBed.configureTestingModule({
@@ -42,9 +45,9 @@ describe('TableCellAppStatusComponent', () => {
}));
beforeEach(() => {
- fixture = TestBed.createComponent(TableCellAppStatusComponent);
+ fixture = TestBed.createComponent(TableCellAppCfOrgSpaceHeaderComponent);
component = fixture.componentInstance;
- component.row = { entity: {}, metadata: {} };
+ component.row = { entity: {}, metadata: {} } as APIResource;
fixture.detectChanges();
});
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app/table-cell-app-cforgspace/table-cell-app-cforgspace.component.spec.ts b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app/table-cell-app-cforgspace/table-cell-app-cforgspace.component.spec.ts
index 064ed53be4..c36063be34 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app/table-cell-app-cforgspace/table-cell-app-cforgspace.component.spec.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app/table-cell-app-cforgspace/table-cell-app-cforgspace.component.spec.ts
@@ -12,13 +12,16 @@ import {
ApplicationStateComponent,
} from '../../../../../../../../core/src/shared/components/application-state/application-state.component';
import { PaginationMonitorFactory } from '../../../../../../../../store/src/monitors/pagination-monitor.factory';
+import { APIResource } from '../../../../../../../../store/src/types/api.types';
import { generateCfStoreModules } from '../../../../../../../test-framework/cloud-foundry-endpoint-service.helper';
+import { IApp } from '../../../../../../cf-api.types';
import { ApplicationStateService } from '../../../../../services/application-state.service';
import { TableCellAppStatusComponent } from '../table-cell-app-status/table-cell-app-status.component';
+import { TableCellAppCfOrgSpaceComponent } from './table-cell-app-cforgspace.component';
-describe('TableCellAppStatusComponent', () => {
- let component: TableCellAppStatusComponent;
- let fixture: ComponentFixture>;
+describe('TableCellAppCfOrgSpaceComponent', () => {
+ let component: TableCellAppCfOrgSpaceComponent;
+ let fixture: ComponentFixture;
beforeEach(async(() => {
TestBed.configureTestingModule({
@@ -42,9 +45,18 @@ describe('TableCellAppStatusComponent', () => {
}));
beforeEach(() => {
- fixture = TestBed.createComponent(TableCellAppStatusComponent);
+ fixture = TestBed.createComponent(TableCellAppCfOrgSpaceComponent);
component = fixture.componentInstance;
- component.row = { entity: {}, metadata: {} };
+ component.row = {
+ entity: {
+ space: {
+ entity: {
+
+ }
+ }
+ },
+ metadata: {}
+ } as APIResource;
fixture.detectChanges();
});
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app/table-cell-app-cforgspace/table-cell-app-cforgspace.component.ts b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app/table-cell-app-cforgspace/table-cell-app-cforgspace.component.ts
index f5c2fdb4c9..f8a2013f6e 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app/table-cell-app-cforgspace/table-cell-app-cforgspace.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app/table-cell-app-cforgspace/table-cell-app-cforgspace.component.ts
@@ -15,6 +15,7 @@ export class TableCellAppCfOrgSpaceComponent extends TableCellAppCfOrgSpaceBase
@Input('row')
set row(row: APIResource) {
+ super.row = row;
if (row) {
this.init(row.entity.cfGuid, (row.entity.space as APIResource).entity.organization_guid, row.entity.space_guid);
}
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app/table-cell-app-status/table-cell-app-status.component.spec.ts b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app/table-cell-app-status/table-cell-app-status.component.spec.ts
index 73d730dac9..f8cb5f8454 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app/table-cell-app-status/table-cell-app-status.component.spec.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app/table-cell-app-status/table-cell-app-status.component.spec.ts
@@ -12,13 +12,15 @@ import {
ApplicationStateComponent,
} from '../../../../../../../../core/src/shared/components/application-state/application-state.component';
import { PaginationMonitorFactory } from '../../../../../../../../store/src/monitors/pagination-monitor.factory';
+import { APIResource } from '../../../../../../../../store/src/types/api.types';
import { generateCfStoreModules } from '../../../../../../../test-framework/cloud-foundry-endpoint-service.helper';
+import { IApp } from '../../../../../../cf-api.types';
import { ApplicationStateService } from '../../../../../services/application-state.service';
import { TableCellAppStatusComponent } from './table-cell-app-status.component';
describe('TableCellAppStatusComponent', () => {
- let component: TableCellAppStatusComponent;
- let fixture: ComponentFixture>;
+ let component: TableCellAppStatusComponent;
+ let fixture: ComponentFixture;
beforeEach(async(() => {
TestBed.configureTestingModule({
@@ -44,7 +46,7 @@ describe('TableCellAppStatusComponent', () => {
beforeEach(() => {
fixture = TestBed.createComponent(TableCellAppStatusComponent);
component = fixture.componentInstance;
- component.row = { entity: {}, metadata: {} };
+ component.row = { entity: {}, metadata: {} } as APIResource;
fixture.detectChanges();
});
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app/table-cell-app-status/table-cell-app-status.component.ts b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app/table-cell-app-status/table-cell-app-status.component.ts
index 06dd674a12..b38d0a6198 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app/table-cell-app-status/table-cell-app-status.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/app/table-cell-app-status/table-cell-app-status.component.ts
@@ -1,10 +1,10 @@
import { Component, Input, OnInit } from '@angular/core';
-import { Store } from '@ngrx/store';
import { Observable } from 'rxjs';
import { startWith } from 'rxjs/operators';
-import { CFAppState } from '../../../../../../../../cloud-foundry/src/cf-app-state';
import { TableCellCustom } from '../../../../../../../../core/src/shared/components/list/list.types';
+import { APIResource } from '../../../../../../../../store/src/types/api.types';
+import { IApp } from '../../../../../../cf-api.types';
import { ApplicationService } from '../../../../../../features/applications/application.service';
import { ApplicationStateData, ApplicationStateService } from '../../../../../services/application-state.service';
@@ -13,12 +13,12 @@ import { ApplicationStateData, ApplicationStateService } from '../../../../../se
templateUrl: './table-cell-app-status.component.html',
styleUrls: ['./table-cell-app-status.component.scss'],
})
-export class TableCellAppStatusComponent extends TableCellCustom implements OnInit {
+export class TableCellAppStatusComponent extends TableCellCustom> implements OnInit {
- @Input() row;
applicationState: ApplicationStateData;
@Input('config')
- set config(value: { hideIcon: boolean, initialStateOnly: boolean }) {
+ set config(value: { hideIcon: boolean, initialStateOnly: boolean, }) {
+ super.config = value;
value = value || {
hideIcon: false,
initialStateOnly: false
@@ -28,14 +28,9 @@ export class TableCellAppStatusComponent extends TableCellCustom implement
}
public fetchAppState$: Observable;
public hideIcon = false;
- public initialStateOnly = false
- ;
- constructor(
- private store: Store,
- private appStateService: ApplicationStateService,
+ public initialStateOnly = false;
-
- ) {
+ constructor(private appStateService: ApplicationStateService) {
super();
}
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-buildpacks/cf-buildpacks-data-source.ts b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-buildpacks/cf-buildpacks-data-source.ts
index fbc40398d9..6f433e3ab6 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-buildpacks/cf-buildpacks-data-source.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-buildpacks/cf-buildpacks-data-source.ts
@@ -18,7 +18,7 @@ import { cfEntityFactory } from '../../../../../cf-entity-factory';
export class CfBuildpacksDataSource extends ListDataSource {
constructor(store: Store, cfGuid: string, listConfig?: IListConfig) {
const paginationKey = createEntityRelationPaginationKey(endpointEntityType, cfGuid);
- const action = cfEntityCatalog.buildPack.actions.getMultiple(cfGuid, paginationKey)
+ const action = cfEntityCatalog.buildPack.actions.getMultiple(cfGuid, paginationKey);
super({
store,
action,
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-confirm-roles/table-cell-confirm-org-space/table-cell-confirm-org-space.component.ts b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-confirm-roles/table-cell-confirm-org-space/table-cell-confirm-org-space.component.ts
index dc6211b746..d1f796b8f1 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-confirm-roles/table-cell-confirm-org-space/table-cell-confirm-org-space.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-confirm-roles/table-cell-confirm-org-space/table-cell-confirm-org-space.component.ts
@@ -13,6 +13,7 @@ export class TableCellConfirmOrgSpaceComponent extends TableCellCustom[];
@Input('row')
set row(row: CfRoleChangeWithNames) {
+ super.row = row;
const chipConfig = new AppChip();
chipConfig.key = row;
chipConfig.value = row.spaceGuid ? `Space: ${row.spaceName}` : `Org: ${row.orgName}`;
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-events/cf-events-config.service.ts b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-events/cf-events-config.service.ts
index 0911a517aa..e88414a714 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-events/cf-events-config.service.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-events/cf-events-config.service.ts
@@ -99,15 +99,15 @@ export class CfEventsConfigService extends ListConfig implements IL
});
}
- setEventFilters(values: { actee: string, type: string[] }) {
+ setEventFilters(values: { actee: string, type: string[], }) {
this.getEventFilters().pipe(
first()
).subscribe(currentFilters => {
const action = this.eventSource.action as PaginatedAction;
// Recreate the whole q param and set it again using 'AddParams'
- const typeChanged = !arraysEqual(values.type, currentFilters.type)
- const acteeChanged = valueOrCommonFalsy(values.actee) !== valueOrCommonFalsy(currentFilters.actee)
+ const typeChanged = !arraysEqual(values.type, currentFilters.type);
+ const acteeChanged = valueOrCommonFalsy(values.actee) !== valueOrCommonFalsy(currentFilters.actee);
if (typeChanged || acteeChanged) {
const newQ: string[] = [];
if (values.type && values.type.length) {
@@ -123,7 +123,7 @@ export class CfEventsConfigService extends ListConfig implements IL
getEventFilters(): Observable<{
type: string[],
- actee: string
+ actee: string,
}> {
return this.getDataSource().pagination$.pipe(
distinctUntilChanged(),
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-events/table-cell-event-actee/table-cell-event-actee.component.ts b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-events/table-cell-event-actee/table-cell-event-actee.component.ts
index ebbd8333b3..10565d54cf 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-events/table-cell-event-actee/table-cell-event-actee.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-events/table-cell-event-actee/table-cell-event-actee.component.ts
@@ -1,20 +1,24 @@
-import { Component, Input } from '@angular/core';
+import { Component } from '@angular/core';
import { TableCellCustom } from '../../../../../../../../core/src/shared/components/list/list.types';
import { APIResource } from '../../../../../../../../store/src/types/api.types';
+interface CellEVentActeeConfig {
+ setActeeFilter: (actee: string) => void;
+}
+
@Component({
selector: 'app-table-cell-event-actee',
templateUrl: './table-cell-event-actee.component.html',
styleUrls: ['./table-cell-event-actee.component.scss']
})
-export class TableCellEventActeeComponent extends TableCellCustom {
+export class TableCellEventActeeComponent extends TableCellCustom {
icon: {
[type: string]: {
icon: string,
- iconFont?: string
- }
+ iconFont?: string;
+ };
} = {
'': {
icon: 'help'
@@ -71,15 +75,6 @@ export class TableCellEventActeeComponent extends TableCellCustom {
},
};
- @Input() config: {
- setActeeFilter: (actee: string) => void;
- };
-
- // constructor() { }
-
- // ngOnInit() {
- // }
-
setActee() {
this.config.setActeeFilter(this.row.entity.actee);
}
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-events/table-cell-event-timestamp/table-cell-event-timestamp.component.ts b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-events/table-cell-event-timestamp/table-cell-event-timestamp.component.ts
index 62e7f37807..5c7857bcf5 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-events/table-cell-event-timestamp/table-cell-event-timestamp.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-events/table-cell-event-timestamp/table-cell-event-timestamp.component.ts
@@ -1,5 +1,5 @@
-/* tslint:disable:no-access-missing-member https://github.com/mgechev/codelyzer/issues/191*/
-import { Component, OnInit } from '@angular/core';
+import { Component } from '@angular/core';
+
import { TableCellCustom } from '../../../../../../../../core/src/shared/components/list/list.types';
@Component({
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-events/table-cell-event-type/table-cell-event-type.component.ts b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-events/table-cell-event-type/table-cell-event-type.component.ts
index b65532d6ec..227648ffc1 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-events/table-cell-event-type/table-cell-event-type.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-events/table-cell-event-type/table-cell-event-type.component.ts
@@ -1,5 +1,5 @@
-/* tslint:disable:no-access-missing-member https://github.com/mgechev/codelyzer/issues/191*/
-import { Component, OnInit } from '@angular/core';
+import { Component } from '@angular/core';
+
import { TableCellCustom } from '../../../../../../../../core/src/shared/components/list/list.types';
@Component({
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-feature-flags/table-cell-feature-flag-description/table-cell-feature-flag-description.component.ts b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-feature-flags/table-cell-feature-flag-description/table-cell-feature-flag-description.component.ts
index 324c695ac2..ff19cef07d 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-feature-flags/table-cell-feature-flag-description/table-cell-feature-flag-description.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-feature-flags/table-cell-feature-flag-description/table-cell-feature-flag-description.component.ts
@@ -15,6 +15,7 @@ export class TableCellFeatureFlagDescriptionComponent extends TableCellCustom {
- @Input() row: IFeatureFlag;
-}
+export class TableCellFeatureFlagStateComponent extends TableCellCustom { }
diff --git a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-orgs/cf-org-card/cf-org-card.component.ts b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-orgs/cf-org-card/cf-org-card.component.ts
index fee067f62f..19ac98c5c1 100644
--- a/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-orgs/cf-org-card/cf-org-card.component.ts
+++ b/src/frontend/packages/cloud-foundry/src/shared/components/list/list-types/cf-orgs/cf-org-card/cf-org-card.component.ts
@@ -13,7 +13,6 @@ import { ConfirmationDialogConfig } from '../../../../../../../../core/src/share
import { ConfirmationDialogService } from '../../../../../../../../core/src/shared/components/confirmation-dialog.service';
import { CardCell } from '../../../../../../../../core/src/shared/components/list/list.types';
import { RouterNav } from '../../../../../../../../store/src/actions/router.actions';
-import { FavoritesConfigMapper } from '../../../../../../../../store/src/favorite-config-mapper';
import { EntityMonitorFactory } from '../../../../../../../../store/src/monitors/entity-monitor.factory.service';
import { PaginationMonitorFactory } from '../../../../../../../../store/src/monitors/pagination-monitor.factory';
import { APIResource } from '../../../../../../../../store/src/types/api.types';
@@ -21,7 +20,7 @@ import { EndpointUser } from '../../../../../../../../store/src/types/endpoint.t
import { MenuItem } from '../../../../../../../../store/src/types/menu-item.types';
import { ComponentEntityMonitorConfig, StratosStatus } from '../../../../../../../../store/src/types/shared.types';
import { IFavoriteMetadata, UserFavorite } from '../../../../../../../../store/src/types/user-favorites.types';
-import { getFavoriteFromEntity } from '../../../../../../../../store/src/user-favorite-helpers';
+import { UserFavoriteManager } from '../../../../../../../../store/src/user-favorite-manager';
import { IApp, IOrganization } from '../../../../../../cf-api.types';
import { cfEntityFactory } from '../../../../../../cf-entity-factory';
import { getStartedAppInstanceCount } from '../../../../../../cf.helpers';
@@ -64,7 +63,7 @@ export class CfOrgCardComponent extends CardCell> imp
private confirmDialog: ConfirmationDialogService,
private paginationMonitorFactory: PaginationMonitorFactory,
private emf: EntityMonitorFactory,
- private favoritesConfigMapper: FavoritesConfigMapper
+ private userFavoriteManager: UserFavoriteManager
) {
super();
@@ -96,7 +95,7 @@ export class CfOrgCardComponent extends CardCell