diff --git a/components/crud-web-apps/jupyter/frontend/README.md b/components/crud-web-apps/jupyter/frontend/README.md
index 1f57ef84..f0d3d51a 100644
--- a/components/crud-web-apps/jupyter/frontend/README.md
+++ b/components/crud-web-apps/jupyter/frontend/README.md
@@ -18,9 +18,22 @@ Run `ng build` to build the project. The build artifacts will be stored in the `
Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
-## Running end-to-end tests
+## Running integration tests
-Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).
+To run integration tests locally, make sure that node modules are installed and the frontend is serving the UI under `localhost:4200`. Then use `npm run e2e` to execute the integration tests via [Cypress](https://www.cypress.io/). This will open Cypress and there select the browser in which the tests will run.
+
+Ideally, tests should be run both in Chrome and Firefox and for that there is the script `npm run e2e-ci-all` that `runs` (instead of `opening`) Cypress. Note that in order for tests to run in a browser, the browser needs to be already installed on the system.
+
+Make sure to check out these guides for system-specific information on installing and running Cypress
+
+- https://docs.cypress.io/guides/getting-started/installing-cypress
+- https://docs.cypress.io/guides/references/advanced-installation
+
+### WSL2
+
+In order to be run in a WSL2 installation, Cypress requires these [dependencies](https://docs.cypress.io/guides/getting-started/installing-cypress#Linux-Prerequisites).
+
+In the case of WSL2 on _Windows 10_, [this extra setup](https://docs.cypress.io/guides/references/advanced-installation#Windows-Subsystem-for-Linux) is required in order to have an X Server running in Windows host and creating the browser window.
## Further help
diff --git a/components/crud-web-apps/jupyter/frontend/angular.json b/components/crud-web-apps/jupyter/frontend/angular.json
index a496e0b6..600b2e6f 100644
--- a/components/crud-web-apps/jupyter/frontend/angular.json
+++ b/components/crud-web-apps/jupyter/frontend/angular.json
@@ -182,18 +182,6 @@
"options": {
"lintFilePatterns": ["src/**/*.ts", "src/**/*.html"]
}
- },
- "e2e": {
- "builder": "@angular-devkit/build-angular:protractor",
- "options": {
- "protractorConfig": "e2e/protractor.conf.js",
- "devServerTarget": "frontend:serve"
- },
- "configurations": {
- "production": {
- "devServerTarget": "frontend:serve:production"
- }
- }
}
}
}
diff --git a/components/crud-web-apps/jupyter/frontend/cypress.config.ts b/components/crud-web-apps/jupyter/frontend/cypress.config.ts
new file mode 100644
index 00000000..39d2b9c4
--- /dev/null
+++ b/components/crud-web-apps/jupyter/frontend/cypress.config.ts
@@ -0,0 +1,9 @@
+import { defineConfig } from 'cypress';
+
+export default defineConfig({
+ video: false,
+ e2e: {
+ setupNodeEvents(on, config) {},
+ baseUrl: 'http://localhost:4200',
+ },
+});
diff --git a/components/crud-web-apps/jupyter/frontend/cypress.json b/components/crud-web-apps/jupyter/frontend/cypress.json
deleted file mode 100644
index 6a1c970f..00000000
--- a/components/crud-web-apps/jupyter/frontend/cypress.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "baseUrl": "http://localhost:5000",
- "integrationFolder": "cypress/integration",
- "video": false
-}
diff --git a/components/crud-web-apps/jupyter/frontend/cypress/integration/form-page.spec.ts b/components/crud-web-apps/jupyter/frontend/cypress/e2e/form-page.cy.ts
similarity index 81%
rename from components/crud-web-apps/jupyter/frontend/cypress/integration/form-page.spec.ts
rename to components/crud-web-apps/jupyter/frontend/cypress/e2e/form-page.cy.ts
index 10bf47ad..3ed444ca 100644
--- a/components/crud-web-apps/jupyter/frontend/cypress/integration/form-page.spec.ts
+++ b/components/crud-web-apps/jupyter/frontend/cypress/e2e/form-page.cy.ts
@@ -1,5 +1,15 @@
describe('New notebook form', () => {
- beforeEach(() => {});
+ beforeEach(() => {
+ cy.mockDashboardRequest();
+ cy.mockStorageClassesRequests();
+ cy.mockDefaultStorageClassRequest('rok');
+ cy.mockGpusRequest();
+ cy.mockConfigRequest();
+ cy.fixture('settings').then(settings => {
+ cy.mockNotebooksRequest(settings.namespace);
+ cy.mockPoddefaultsRequest(settings.namespace);
+ });
+ });
it('should have a "New notebook" title', () => {
cy.visit('/new');
diff --git a/components/crud-web-apps/jupyter/frontend/cypress/e2e/main-page.cy.ts b/components/crud-web-apps/jupyter/frontend/cypress/e2e/main-page.cy.ts
new file mode 100644
index 00000000..adf08df0
--- /dev/null
+++ b/components/crud-web-apps/jupyter/frontend/cypress/e2e/main-page.cy.ts
@@ -0,0 +1,87 @@
+import { STATUS_TYPE } from 'kubeflow';
+
+describe('Main table', () => {
+ beforeEach(() => {
+ cy.mockNamespacesRequest();
+ cy.fixture('settings').then(settings => {
+ cy.mockNotebooksRequest(settings.namespace);
+ });
+ cy.fixture('notebooks').as('notebooksRequest');
+ });
+
+ it('should have a "Notebooks" title', () => {
+ cy.visit('/');
+ cy.get('[data-cy-toolbar-title]').contains('Notebooks').should('exist');
+ });
+
+ it('should list Notebooks without errors', () => {
+ cy.visit('/');
+ // wait for the request to fetch notebooks and namespaces
+ cy.wait(['@mockNamespacesRequest', '@mockNotebooksRequest']);
+
+ // after fetching the data the page should not have an error snackbar
+ cy.get('[data-cy-snack-status=ERROR]').should('not.exist');
+ });
+
+ it('should have a `Namespace` column, when showing all-namespaces', () => {
+ cy.visit('/');
+ cy.wait(['@mockNamespacesRequest', '@mockNotebooksRequest']);
+
+ cy.fixture('settings').then(settings => {
+ cy.mockNotebooksAllNamespacesRequest(settings.namespace);
+ });
+ cy.selectAllNamespaces();
+
+ cy.get('[data-cy-table-header-row="Namespace"]').should('exist');
+ });
+
+ // We use function () in order to be able to access aliases via this
+ // tslint:disable-next-line: space-before-function-paren
+ it('renders every Notebook name into the table', function () {
+ cy.visit('/');
+ cy.wait(['@mockNamespacesRequest', '@mockNotebooksRequest']);
+
+ let i = 0;
+ const notebooks = this.notebooksRequest.notebooks;
+ // Table is sorted by Name in ascending order by default
+ // and pvcs object is also sorted alphabetically by name
+ cy.get(`[data-cy-resource-table-row="Name"]`).each(element => {
+ expect(element).to.contain(notebooks[i].name);
+ i++;
+ });
+ });
+
+ // tslint:disable-next-line: space-before-function-paren
+ it('checks Status icon for all notebooks', function () {
+ cy.visit('/');
+ cy.wait(['@mockNamespacesRequest', '@mockNotebooksRequest']);
+
+ let i = 0;
+ const notebooks = this.notebooksRequest.notebooks;
+ cy.get('[data-cy-resource-table-row="Status"]').each(element => {
+ if (notebooks[i].status.phase === STATUS_TYPE.READY) {
+ cy.wrap(element)
+ .find('lib-status>mat-icon')
+ .should('contain', 'check_circle');
+ } else if (notebooks[i].status.phase === STATUS_TYPE.STOPPED) {
+ cy.wrap(element)
+ .find('lib-status>lib-icon')
+ .should('have.attr', 'icon', 'custom:stoppedResource');
+ } else if (notebooks[i].status.phase === STATUS_TYPE.UNAVAILABLE) {
+ cy.wrap(element)
+ .find('lib-status>mat-icon')
+ .should('contain', 'timelapse');
+ } else if (notebooks[i].status.phase === STATUS_TYPE.WARNING) {
+ cy.wrap(element)
+ .find('lib-status>mat-icon')
+ .should('contain', 'warning');
+ } else if (
+ notebooks[i].status.phase === STATUS_TYPE.WAITING ||
+ notebooks[i].status.phase === STATUS_TYPE.TERMINATING
+ ) {
+ cy.wrap(element).find('mat-spinner').should('exist');
+ }
+ i++;
+ });
+ });
+});
diff --git a/components/crud-web-apps/jupyter/frontend/cypress/fixtures/config.json b/components/crud-web-apps/jupyter/frontend/cypress/fixtures/config.json
new file mode 100644
index 00000000..0c30dfe9
--- /dev/null
+++ b/components/crud-web-apps/jupyter/frontend/cypress/fixtures/config.json
@@ -0,0 +1,108 @@
+{
+ "config": {
+ "affinityConfig": {
+ "options": [],
+ "value": ""
+ },
+ "allowCustomImage": true,
+ "configurations": {
+ "readOnly": false,
+ "value": []
+ },
+ "cpu": {
+ "limitFactor": "none",
+ "readOnly": false,
+ "value": "0.5"
+ },
+ "dataVolumes": {
+ "readOnly": false,
+ "value": []
+ },
+ "environment": {
+ "readOnly": false,
+ "value": {}
+ },
+ "gpus": {
+ "readOnly": false,
+ "value": {
+ "num": "none",
+ "vendor": "",
+ "vendors": [
+ {
+ "limitsKey": "nvidia.com/gpu",
+ "uiName": "NVIDIA"
+ },
+ {
+ "limitsKey": "amd.com/gpu",
+ "uiName": "AMD"
+ }
+ ]
+ }
+ },
+ "hideRegistry": true,
+ "hideTag": false,
+ "image": {
+ "options": [
+ "public.ecr.aws/j1r0q0g6/notebooks/notebook-servers/jupyter-scipy:master-6e4ad3b4",
+ "public.ecr.aws/j1r0q0g6/notebooks/notebook-servers/jupyter-pytorch-full:master-6e4ad3b4",
+ "public.ecr.aws/j1r0q0g6/notebooks/notebook-servers/jupyter-pytorch-cuda-full:master-6e4ad3b4",
+ "public.ecr.aws/j1r0q0g6/notebooks/notebook-servers/jupyter-tensorflow-full:master-6e4ad3b4",
+ "public.ecr.aws/j1r0q0g6/notebooks/notebook-servers/jupyter-tensorflow-cuda-full:master-6e4ad3b4"
+ ],
+ "value": "public.ecr.aws/j1r0q0g6/notebooks/notebook-servers/jupyter-scipy:master-6e4ad3b4"
+ },
+ "imageGroupOne": {
+ "options": [
+ "public.ecr.aws/j1r0q0g6/notebooks/notebook-servers/codeserver-python:master-e9324d39"
+ ],
+ "value": "public.ecr.aws/j1r0q0g6/notebooks/notebook-servers/codeserver-python:master-e9324d39"
+ },
+ "imageGroupTwo": {
+ "options": [
+ "public.ecr.aws/j1r0q0g6/notebooks/notebook-servers/rstudio-tidyverse:master-e9324d39"
+ ],
+ "value": "public.ecr.aws/j1r0q0g6/notebooks/notebook-servers/rstudio-tidyverse:master-e9324d39"
+ },
+ "imagePullPolicy": {
+ "readOnly": false,
+ "value": "IfNotPresent"
+ },
+ "memory": {
+ "limitFactor": "none",
+ "readOnly": false,
+ "value": "1.0Gi"
+ },
+ "shm": {
+ "readOnly": false,
+ "value": true
+ },
+ "storageClass": "{none}",
+ "tolerationGroup": {
+ "options": [],
+ "readOnly": false,
+ "value": ""
+ },
+ "workspaceVolume": {
+ "readOnly": false,
+ "value": {
+ "mount": "/home/jovyan",
+ "newPvc": {
+ "metadata": {
+ "name": "{notebook-name}-workspace"
+ },
+ "spec": {
+ "accessModes": ["ReadWriteOnce"],
+ "resources": {
+ "requests": {
+ "storage": "5Gi"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "status": 200,
+ "success": true,
+ "user": null
+}
diff --git a/components/crud-web-apps/jupyter/frontend/cypress/fixtures/namespaces.json b/components/crud-web-apps/jupyter/frontend/cypress/fixtures/namespaces.json
new file mode 100644
index 00000000..9c81e704
--- /dev/null
+++ b/components/crud-web-apps/jupyter/frontend/cypress/fixtures/namespaces.json
@@ -0,0 +1,17 @@
+{
+ "namespaces": [
+ "auth",
+ "cert-manager",
+ "default",
+ "istio-system",
+ "knative-serving",
+ "kserve",
+ "kube-public",
+ "kube-system",
+ "kubeflow",
+ "kubeflow-user"
+ ],
+ "status": 200,
+ "success": true,
+ "user": null
+}
diff --git a/components/crud-web-apps/jupyter/frontend/cypress/fixtures/notebook.ts b/components/crud-web-apps/jupyter/frontend/cypress/fixtures/notebook.ts
deleted file mode 100644
index ed1a2b38..00000000
--- a/components/crud-web-apps/jupyter/frontend/cypress/fixtures/notebook.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-export const notebook = {
- name: 'test-notebook',
- namespace: 'default',
- image:
- 'kubeflownotebookswg/jupyter-scipy:master-1831e436',
- allowCustomImage: true,
- imagePullPolicy: 'IfNotPresent',
- customImage: '',
- customImageCheck: false,
- serverType: 'jupyter',
- cpu: '0.5',
- cpuLimit: '',
- memory: '1Gi',
- memoryLimit: '',
- gpus: { num: 'none' },
- affinityConfig: '',
- tolerationGroup: '',
- datavols: [],
- shm: true,
- configurations: [],
-};
diff --git a/components/crud-web-apps/jupyter/frontend/cypress/fixtures/notebooks.json b/components/crud-web-apps/jupyter/frontend/cypress/fixtures/notebooks.json
new file mode 100644
index 00000000..8a6aa939
--- /dev/null
+++ b/components/crud-web-apps/jupyter/frontend/cypress/fixtures/notebooks.json
@@ -0,0 +1,250 @@
+{
+ "notebooks": [
+ {
+ "age": "2022-09-01T15:15:35Z",
+ "cpu": "1m",
+ "gpus": {
+ "count": 0,
+ "message": ""
+ },
+ "image": "kubeflownotebookswg/jupyter-scipy:latest",
+ "last_activity": "2022-09-21T12:15:06Z",
+ "memory": "1073741824m",
+ "metadata": {
+ "annotations": {
+ "notebooks.kubeflow.org/last-activity": "2022-09-21T12:15:06Z",
+ "notebooks.kubeflow.org/server-type": "jupyter"
+ },
+ "creationTimestamp": "2022-09-01T15:15:35Z",
+ "generation": 2,
+ "labels": {
+ "app": "a-dog-breed-katib"
+ },
+ "name": "a-dog-breed-katib-warning",
+ "namespace": "kubeflow-user",
+ "resourceVersion": "60018065",
+ "selfLink": "/apis/kubeflow.org/v1beta1/namespaces/kubeflow-user/notebooks/a-dog-breed-katib",
+ "uid": "ff8ba37f-ec1f-46d4-a007-abed1e1a9e2a"
+ },
+ "name": "a-dog-breed-katib",
+ "namespace": "kubeflow-user",
+ "serverType": "jupyter",
+ "shortImage": "jupyter-scipy:latest",
+ "status": {
+ "message": "Warning",
+ "phase": "warning",
+ "state": ""
+ },
+ "volumes": [
+ "dshm",
+ "dog-breed-nwmrc-tutorial-dog-breed-datavol-1-xrrmt-lf276",
+ "dog-breed-nwmrc-tutorial-dog-breed-workspace-24ntl-jcjlv"
+ ]
+ },
+ {
+ "age": "2022-09-15T13:28:12Z",
+ "cpu": "500m",
+ "gpus": {
+ "count": 0,
+ "message": ""
+ },
+ "image": "kubeflownotebookswg/codeserver-python:latest",
+ "last_activity": "2022-09-15T13:28:17Z",
+ "memory": "1Gi",
+ "metadata": {
+ "annotations": {
+ "notebooks.kubeflow.org/http-rewrite-uri": "/",
+ "notebooks.kubeflow.org/last-activity": "2022-09-15T13:28:17Z",
+ "notebooks.kubeflow.org/server-type": "group-one"
+ },
+ "creationTimestamp": "2022-09-15T13:28:12Z",
+ "generation": 2,
+ "labels": {
+ "access-ml-pipeline": "true",
+ "access-rok": "true",
+ "app": "a-test-01"
+ },
+ "name": "a-test-01",
+ "namespace": "kubeflow-user",
+ "resourceVersion": "60018244",
+ "selfLink": "/apis/kubeflow.org/v1beta1/namespaces/kubeflow-user/notebooks/a-test-01",
+ "uid": "bfc9453c-9d98-46fd-aa4e-3482aff96e8d"
+ },
+ "name": "a-test-01",
+ "namespace": "kubeflow-user",
+ "serverType": "group-one",
+ "shortImage": "codeserver-python:latest",
+ "status": {
+ "message": "Running",
+ "phase": "ready",
+ "state": ""
+ },
+ "volumes": ["dshm", "b-rstudio-workspace-svdl2"]
+ },
+ {
+ "age": "2022-09-19T16:39:10Z",
+ "cpu": "500m",
+ "gpus": {
+ "count": 0,
+ "message": ""
+ },
+ "image": "kubeflownotebookswg/jupyter-scipy:latest",
+ "last_activity": "",
+ "memory": "1Gi",
+ "metadata": {
+ "annotations": {
+ "kubeflow-resource-stopped": "2022-10-07T09:50:48Z",
+ "notebooks.kubeflow.org/server-type": "jupyter"
+ },
+ "creationTimestamp": "2022-09-19T16:39:10Z",
+ "generation": 2,
+ "labels": {
+ "access-ml-pipeline": "true",
+ "app": "a0-new-image"
+ },
+ "name": "a0-new-image",
+ "namespace": "kubeflow-user",
+ "resourceVersion": "60167216",
+ "selfLink": "/apis/kubeflow.org/v1beta1/namespaces/kubeflow-user/notebooks/a0-new-image",
+ "uid": "6699d0a4-93d2-4373-8a40-48cce931f5fa"
+ },
+ "name": "a0-new-image",
+ "namespace": "kubeflow-user",
+ "serverType": "jupyter",
+ "shortImage": "jupyter-scipy:latest",
+ "status": {
+ "message": "No Pods are currently running for this Notebook Server.",
+ "phase": "stopped",
+ "state": ""
+ },
+ "volumes": [
+ "a0-new-image-workspace-d8pc2",
+ "a0-new-image-datavol-1-wlmfg",
+ "dshm"
+ ]
+ },
+ {
+ "age": "2022-09-01T08:36:40Z",
+ "cpu": "500m",
+ "gpus": {
+ "count": 0,
+ "message": ""
+ },
+ "image": "kubeflownotebookswg/rstudio-tidyverse:latest",
+ "last_activity": "2022-09-12T07:30:39Z",
+ "memory": "1Gi",
+ "metadata": {
+ "annotations": {
+ "notebooks.kubeflow.org/http-headers-request-set": "{\"X-RStudio-Root-Path\":\"/notebook/kubeflow-user/b-rstudio/\"}",
+ "notebooks.kubeflow.org/http-rewrite-uri": "/",
+ "notebooks.kubeflow.org/last-activity": "2022-09-12T07:30:39Z",
+ "notebooks.kubeflow.org/server-type": "group-two"
+ },
+ "creationTimestamp": "2022-09-01T08:36:40Z",
+ "generation": 2,
+ "labels": {
+ "access-ml-pipeline": "true",
+ "app": "b-rstudio"
+ },
+ "name": "b-rstudio",
+ "namespace": "kubeflow-user",
+ "resourceVersion": "60018168",
+ "selfLink": "/apis/kubeflow.org/v1beta1/namespaces/kubeflow-user/notebooks/b-rstudio",
+ "uid": "43ec159d-648a-4546-8985-3edbbc4d132c"
+ },
+ "name": "b-rstudio-terminating",
+ "namespace": "kubeflow-user",
+ "serverType": "group-two",
+ "shortImage": "rstudio-tidyverse:latest",
+ "status": {
+ "message": "Terminating",
+ "phase": "terminating",
+ "state": ""
+ },
+ "volumes": ["dshm", "b-rstudio-workspace-svdl2"]
+ },
+ {
+ "age": "2022-04-15T09:41:07Z",
+ "cpu": "1m",
+ "gpus": {
+ "count": 0,
+ "message": ""
+ },
+ "image": "kubeflownotebookswg/jupyter-scipy:latest",
+ "last_activity": "2022-09-21T12:16:25Z",
+ "memory": "1073741824m",
+ "metadata": {
+ "annotations": {
+ "notebooks.kubeflow.org/last-activity": "2022-09-21T12:16:25Z",
+ "notebooks.kubeflow.org/server-type": "jupyter"
+ },
+ "creationTimestamp": "2022-04-15T09:41:07Z",
+ "generation": 2,
+ "labels": {
+ "access-ml-pipeline": "true",
+ "app": "inference"
+ },
+ "name": "inference-unavailable",
+ "namespace": "kubeflow-user",
+ "resourceVersion": "60019474",
+ "selfLink": "/apis/kubeflow.org/v1beta1/namespaces/kubeflow-user/notebooks/inference",
+ "uid": "e5670f15-9d3a-4226-b49e-2a680a911b09"
+ },
+ "name": "inference-unavailable",
+ "namespace": "kubeflow-user",
+ "serverType": "jupyter",
+ "shortImage": "jupyter-scipy:latest",
+ "status": {
+ "message": "unavailable",
+ "phase": "unavailable",
+ "state": ""
+ },
+ "volumes": ["dshm", "coronahack-l9dwt-1759876298-ax7mi-pvc-dfhvr-zqxmt"]
+ },
+ {
+ "age": "2022-04-14T08:25:10Z",
+ "cpu": "1m",
+ "gpus": {
+ "count": 0,
+ "message": ""
+ },
+ "image": "kubeflownotebookswg/jupyter-scipy:latest",
+ "last_activity": "2022-09-21T12:19:26Z",
+ "memory": "1073741824m",
+ "metadata": {
+ "annotations": {
+ "notebooks.kubeflow.org/last-activity": "2022-09-21T12:19:26Z",
+ "notebooks.kubeflow.org/server-type": "jupyter"
+ },
+ "creationTimestamp": "2022-04-14T08:25:10Z",
+ "generation": 2,
+ "labels": {
+ "access-ml-pipeline": "true",
+ "app": "random-forest"
+ },
+ "name": "random-forest",
+ "namespace": "kubeflow-user",
+ "resourceVersion": "53812193",
+ "selfLink": "/apis/kubeflow.org/v1beta1/namespaces/kubeflow-user/notebooks/random-forest",
+ "uid": "7637cafa-ba4d-4b60-93d3-7008b6ff2d67"
+ },
+ "name": "random-forest-waiting",
+ "namespace": "kubeflow-user",
+ "serverType": "jupyter",
+ "shortImage": "jupyter-scipy:latest",
+ "status": {
+ "message": "PodInitializing",
+ "phase": "waiting",
+ "state": ""
+ },
+ "volumes": [
+ "dshm",
+ "titanic-ml-47xh5-data-m57vq-2md82",
+ "titanic-ml-47xh5-tutorial-titanic-workspace-mxstz-52fbp"
+ ]
+ }
+ ],
+ "status": 200,
+ "success": true,
+ "user": null
+}
diff --git a/components/crud-web-apps/jupyter/frontend/cypress/fixtures/poddefaults.json b/components/crud-web-apps/jupyter/frontend/cypress/fixtures/poddefaults.json
new file mode 100644
index 00000000..d5a4ef5d
--- /dev/null
+++ b/components/crud-web-apps/jupyter/frontend/cypress/fixtures/poddefaults.json
@@ -0,0 +1,59 @@
+{
+ "poddefaults": [
+ {
+ "apiVersion": "kubeflow.org/v1alpha1",
+ "desc": "Allow access to Kubeflow Pipelines",
+ "kind": "PodDefault",
+ "label": "access-ml-pipeline",
+ "metadata": {
+ "creationTimestamp": "2022-04-12T10:19:29Z",
+ "generation": 1,
+ "name": "access-ml-pipeline",
+ "namespace": "kubeflow-user",
+ "resourceVersion": "60754922",
+ "selfLink": "/apis/kubeflow.org/v1alpha1/namespaces/kubeflow-user/poddefaults/access-ml-pipeline",
+ "uid": "6ec1727b-7599-4100-afae-b6ff57a56bf8"
+ },
+ "spec": {
+ "desc": "Allow access to Kubeflow Pipelines",
+ "env": [
+ {
+ "name": "KF_PIPELINES_SA_TOKEN_PATH",
+ "value": "/var/run/secrets/kubeflow/pipelines/token"
+ }
+ ],
+ "selector": {
+ "matchLabels": {
+ "access-ml-pipeline": "true"
+ }
+ },
+ "volumeMounts": [
+ {
+ "mountPath": "/var/run/secrets/kubeflow/pipelines",
+ "name": "volume-ml-pipeline-token",
+ "readOnly": true
+ }
+ ],
+ "volumes": [
+ {
+ "name": "volume-ml-pipeline-token",
+ "projected": {
+ "sources": [
+ {
+ "serviceAccountToken": {
+ "audience": "pipelines.kubeflow.org",
+ "expirationSeconds": 99999,
+ "path": "token"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "status": 200,
+ "success": true,
+ "user": null
+}
diff --git a/components/crud-web-apps/jupyter/frontend/cypress/fixtures/settings.json b/components/crud-web-apps/jupyter/frontend/cypress/fixtures/settings.json
new file mode 100644
index 00000000..60de3335
--- /dev/null
+++ b/components/crud-web-apps/jupyter/frontend/cypress/fixtures/settings.json
@@ -0,0 +1,7 @@
+{
+ "namespace": "kubeflow-user",
+ "postHeaders": {
+ "X-XSRF-Token": "asdf",
+ "Cookie": "XSRF-TOKEN=asdf"
+ }
+}
diff --git a/components/crud-web-apps/jupyter/frontend/cypress/fixtures/settings.ts b/components/crud-web-apps/jupyter/frontend/cypress/fixtures/settings.ts
deleted file mode 100644
index 9ae8cc00..00000000
--- a/components/crud-web-apps/jupyter/frontend/cypress/fixtures/settings.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-export const settings = {
- // namespace to create test Notebooks in
- namespace: 'default',
-
- // POST/PATCH/PUT/DELETE requests will need these headers since we are
- // using the double submit cookie CSRF mechanism
- postHeaders: {
- 'X-XSRF-Token': 'asdf',
- Cookie: 'XSRF-TOKEN=asdf',
- },
-};
diff --git a/components/crud-web-apps/jupyter/frontend/cypress/integration/main-page.spec.ts b/components/crud-web-apps/jupyter/frontend/cypress/integration/main-page.spec.ts
deleted file mode 100644
index 347798fc..00000000
--- a/components/crud-web-apps/jupyter/frontend/cypress/integration/main-page.spec.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-import { settings } from '../fixtures/settings';
-
-describe('Main table', () => {
- beforeEach(() => {});
-
- it('should have a "Notebook" title', () => {
- cy.visit('/');
- cy.get('[data-cy-toolbar-title]').contains('Notebooks').should('exist');
- });
-
- it('should list Notebooks without errors', () => {
- cy.selectNamespace(settings.namespace);
-
- // ensure there's at least one Notebook
- cy.createNotebook();
-
- // wait for the request to fetch notebooks
- const getUrl = `/api/namespaces/${settings.namespace}/notebooks`;
- cy.intercept('GET', getUrl).as('getNotebooks');
- cy.wait('@getNotebooks');
-
- // after fetching the data the page should not have an error snackbar
- cy.get('[data-cy-snack-status=ERROR]').should('not.exist');
- });
-
- it('should have a `Namespace` column, when showing all-namespaces', () => {
- cy.selectAllNamespaces();
-
- // ensure there's at least one Notebook
- cy.createNotebook().then(nb => {
- cy.log(nb);
- cy.get('[data-cy-table-header-row="Namespace"]').should('exist');
- });
- });
-});
diff --git a/components/crud-web-apps/jupyter/frontend/cypress/plugins/index.ts b/components/crud-web-apps/jupyter/frontend/cypress/plugins/index.ts
deleted file mode 100644
index 816a1832..00000000
--- a/components/crud-web-apps/jupyter/frontend/cypress/plugins/index.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-// ***********************************************************
-// This example plugins/index.js can be used to load plugins
-//
-// You can change the location of this file or turn off loading
-// the plugins file with the 'pluginsFile' configuration option.
-//
-// You can read more here:
-// https://on.cypress.io/plugins-guide
-// ***********************************************************
-
-// This function is called when a project is opened or re-opened (e.g. due to
-// the project's config changing)
-
-// eslint-disable-next-line no-unused-vars
-module.exports = (
- on: Cypress.PluginEvents,
- config: Cypress.PluginConfigOptions,
-) => {
- // `on` is used to hook into various events Cypress emits
- // `config` is the resolved Cypress config
-};
diff --git a/components/crud-web-apps/jupyter/frontend/cypress/support/commands.ts b/components/crud-web-apps/jupyter/frontend/cypress/support/commands.ts
index f5e9cc53..f1855631 100644
--- a/components/crud-web-apps/jupyter/frontend/cypress/support/commands.ts
+++ b/components/crud-web-apps/jupyter/frontend/cypress/support/commands.ts
@@ -1,43 +1,73 @@
-import { notebook } from '../fixtures/notebook';
-import { settings } from '../fixtures/settings';
-
-Cypress.Commands.add('selectNamespace', ns => {
- cy.intercept('GET', '/api/namespaces').as('getNamespaces');
- cy.visit('/');
-
- cy.log(`Selecting Namespace: ${ns}`);
- cy.wait('@getNamespaces');
-
- // click and select the provided namespace
- cy.get('[data-cy-namespace-selector-dropdown]').click();
- cy.get(`[data-cy-namespace=${ns}]`).click();
-});
+///
Cypress.Commands.add('selectAllNamespaces', () => {
- cy.intercept('GET', '/api/namespaces').as('getNamespaces');
- cy.visit('/');
-
cy.log(`Selecting all namespaces`);
- cy.wait('@getNamespaces');
- // click and select the provided namespace
+ // click and select 'All namespaces' option
cy.get('[data-cy-namespace-selector-dropdown]').click();
cy.get(`[data-cy-all-namespaces]`).click();
});
-Cypress.Commands.add('createNotebook', () => {
- const randomSubfix = Math.random().toString(36).substring(4);
+Cypress.Commands.add('mockDashboardRequest', () => {
+ cy.intercept('GET', '/dashboard_lib.bundle.js', { body: [] }).as(
+ 'mockDashboardRequest',
+ );
+});
- notebook.name = `test-notebook-${randomSubfix}`;
- notebook.namespace = settings.namespace;
+Cypress.Commands.add('mockNamespacesRequest', () => {
+ cy.intercept('GET', '/api/namespaces', {
+ fixture: 'namespaces',
+ }).as('mockNamespacesRequest');
+});
- cy.log(`Creating a test Notebook ${notebook.namespace}/${notebook.name}`);
+Cypress.Commands.add('mockNotebooksRequest', namespace => {
+ cy.intercept('GET', `/api/namespaces/${namespace}/notebooks`, {
+ fixture: 'notebooks',
+ }).as('mockNotebooksRequest');
+});
- const method = 'POST';
- const url = `api/namespaces/${settings.namespace}/notebooks`;
- const body = notebook;
-
- cy.request({ method, url, body, headers: settings.postHeaders }).then(() => {
- return notebook;
+Cypress.Commands.add('mockNotebooksAllNamespacesRequest', settingsNamespace => {
+ cy.fixture('namespaces').then(res => {
+ for (const namespace of res.namespaces) {
+ if (namespace === settingsNamespace) {
+ continue;
+ }
+ cy.intercept('GET', `/api/namespaces/${namespace}/notebooks`, {
+ notebooks: [],
+ });
+ }
});
});
+
+Cypress.Commands.add('mockStorageClassesRequests', () => {
+ cy.intercept('GET', '/api/storageclasses', {
+ storageClasses: ['rok', 'standard'],
+ });
+});
+
+Cypress.Commands.add('mockDefaultStorageClassRequest', defaultStorageClass => {
+ cy.intercept('GET', '/api/storageclasses/default', {
+ defaultStorageClass,
+ }).as('mockDefaultStorageClassRequest');
+});
+
+Cypress.Commands.add('mockGpusRequest', () => {
+ cy.intercept('GET', '/api/gpus', {
+ status: 200,
+ success: true,
+ user: null,
+ vendors: [],
+ }).as('mockGpusRequest');
+});
+
+Cypress.Commands.add('mockConfigRequest', () => {
+ cy.intercept('GET', '/api/config', {
+ fixture: 'config',
+ }).as('mockConfigRequest');
+});
+
+Cypress.Commands.add('mockPoddefaultsRequest', namespace => {
+ cy.intercept('GET', `/api/namespaces/${namespace}/poddefaults`, {
+ fixture: 'poddefaults',
+ }).as('mockPoddefaultsRequest');
+});
diff --git a/components/crud-web-apps/jupyter/frontend/cypress/support/e2e.ts b/components/crud-web-apps/jupyter/frontend/cypress/support/e2e.ts
new file mode 100644
index 00000000..0eb2ee08
--- /dev/null
+++ b/components/crud-web-apps/jupyter/frontend/cypress/support/e2e.ts
@@ -0,0 +1,68 @@
+import './commands';
+
+// types of the custom commands
+// Must be declared global to be detected by typescript (allows import/export)
+declare global {
+ namespace Cypress {
+ interface Chainable {
+ /**
+ * Custom command to mock request at '/dashboard_lib.bundle.js'
+ */
+ mockDashboardRequest(): Chainable;
+
+ /**
+ * Custom command to select all-namespaces option from the dropdown
+ */
+ selectAllNamespaces(): Chainable;
+
+ /**
+ * Custom command to mock request at '/api/namespaces'
+ */
+ mockNamespacesRequest(): Chainable;
+
+ /**
+ * Custom command to mock request at '/api/namespaces//notebooks'
+ * and returns array with mock notebooks []
+ */
+ mockNotebooksRequest(namespace: string): Chainable;
+
+ /**
+ * Custom command to mock request at '/api/namespaces//notebooks'
+ * for each namespace of namespaces fixture and returns array with mock notebooks []
+ */
+ mockNotebooksAllNamespacesRequest(namespace: string): Chainable;
+
+ /**
+ * Custom command to mock requests at
+ * - '/api/storageclasses'
+ * - '/api/rok/storageclasses'
+ */
+ mockStorageClassesRequests(): Chainable;
+
+ /**
+ * Custom command to mock requests at - '/api/storageclasses/default'
+ * and returns parameter defaultStorageClass
+ */
+ mockDefaultStorageClassRequest(
+ defaultStorageClass: string,
+ ): Chainable;
+
+ /**
+ * Custom command to mock requests at '/api/gpus'
+ * and returns an object with empty vendors list [].
+ */
+ mockGpusRequest(): Chainable;
+
+ /**
+ * Custom command to mock requests at '/api/config'
+ */
+ mockConfigRequest(): Chainable;
+
+ /**
+ * Custom command to mock request at '/api/namespaces//poddefaults'
+ * and returns array with mock poddefaults []
+ */
+ mockPoddefaultsRequest(namespace: string): Chainable;
+ }
+ }
+}
diff --git a/components/crud-web-apps/jupyter/frontend/cypress/support/handlers.ts b/components/crud-web-apps/jupyter/frontend/cypress/support/handlers.ts
deleted file mode 100644
index 13d93402..00000000
--- a/components/crud-web-apps/jupyter/frontend/cypress/support/handlers.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-Cypress.on('uncaught:exception', (err, runnable) => {
- // if testing the app locally, the backend server will return
- // index.html back for the dashboard_lib.bundle.js
- if (err.message.includes("Unexpected token '<'")) {
- return false;
- }
-
- return true;
-});
diff --git a/components/crud-web-apps/jupyter/frontend/cypress/support/index.ts b/components/crud-web-apps/jupyter/frontend/cypress/support/index.ts
deleted file mode 100644
index 2327b48a..00000000
--- a/components/crud-web-apps/jupyter/frontend/cypress/support/index.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-import './handlers';
-import './commands';
-
-// types of the custom commands
-// Must be declared global to be detected by typescript (allows import/export)
-declare global {
- namespace Cypress {
- interface Chainable {
- /**
- * Custom command to select a Namespace in the main page from the dropdown
- * @param ns The namespace to select from the dropdown
- */
- selectNamespace(ns: string): Chainable;
-
- /**
- * Custom command to select all-namespaces option from the dropdown
- */
- selectAllNamespaces(): Chainable;
-
- /**
- * Custom command to create a Notebook with random suffixed name
- */
- createNotebook(): Chainable;
- }
- }
-}
diff --git a/components/crud-web-apps/jupyter/frontend/package-lock.json b/components/crud-web-apps/jupyter/frontend/package-lock.json
index 74b61576..77941f9a 100644
--- a/components/crud-web-apps/jupyter/frontend/package-lock.json
+++ b/components/crud-web-apps/jupyter/frontend/package-lock.json
@@ -2063,6 +2063,13 @@
"to-fast-properties": "^2.0.0"
}
},
+ "@colors/colors": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
+ "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
+ "dev": true,
+ "optional": true
+ },
"@cspotcode/source-map-consumer": {
"version": "0.8.0",
"resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz",
@@ -2084,84 +2091,10 @@
"integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==",
"dev": true
},
- "@cypress/listr-verbose-renderer": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/@cypress/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz",
- "integrity": "sha1-p3SS9LEdzHxEajSz4ochr9M8ZCo=",
- "dev": true,
- "requires": {
- "chalk": "^1.1.3",
- "cli-cursor": "^1.0.2",
- "date-fns": "^1.27.2",
- "figures": "^1.7.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
- "dev": true
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "dev": true,
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- }
- },
- "cli-cursor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz",
- "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=",
- "dev": true,
- "requires": {
- "restore-cursor": "^1.0.1"
- }
- },
- "figures": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
- "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
- "dev": true,
- "requires": {
- "escape-string-regexp": "^1.0.5",
- "object-assign": "^4.1.0"
- }
- },
- "onetime": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
- "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
- "dev": true
- },
- "restore-cursor": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz",
- "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=",
- "dev": true,
- "requires": {
- "exit-hook": "^1.0.0",
- "onetime": "^1.0.0"
- }
- },
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
- "dev": true
- }
- }
- },
"@cypress/request": {
- "version": "2.88.5",
- "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.5.tgz",
- "integrity": "sha512-TzEC1XMi1hJkywWpRfD2clreTa/Z+lOrXDCxxBTBPEcY5azdPi56A6Xw+O4tWJnaJH3iIE7G5aDXZC6JgRZLcA==",
+ "version": "2.88.10",
+ "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.10.tgz",
+ "integrity": "sha512-Zp7F+R93N0yZyG34GutyTNr+okam7s/Fzc1+i3kcqOP8vk6OuajuE9qZJ6Rs+10/1JFtXFYMdyarnU1rZuJesg==",
"dev": true,
"requires": {
"aws-sign2": "~0.7.0",
@@ -2171,19 +2104,65 @@
"extend": "~3.0.2",
"forever-agent": "~0.6.1",
"form-data": "~2.3.2",
- "har-validator": "~5.1.3",
- "http-signature": "~1.2.0",
+ "http-signature": "~1.3.6",
"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"
+ "uuid": "^8.3.2"
+ },
+ "dependencies": {
+ "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"
+ }
+ },
+ "http-signature": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz",
+ "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "jsprim": "^2.0.2",
+ "sshpk": "^1.14.1"
+ }
+ },
+ "json-schema": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
+ "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
+ "dev": true
+ },
+ "jsprim": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz",
+ "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==",
+ "dev": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.4.0",
+ "verror": "1.10.0"
+ }
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "dev": true
+ }
}
},
"@cypress/xvfb": {
@@ -2311,6 +2290,21 @@
"@fortawesome/fontawesome-common-types": "^0.2.35"
}
},
+ "@hapi/hoek": {
+ "version": "9.3.0",
+ "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
+ "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==",
+ "dev": true
+ },
+ "@hapi/topo": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz",
+ "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==",
+ "dev": true,
+ "requires": {
+ "@hapi/hoek": "^9.0.0"
+ }
+ },
"@humanwhocodes/config-array": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz",
@@ -2754,6 +2748,27 @@
"jsonc-parser": "3.0.0"
}
},
+ "@sideway/address": {
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz",
+ "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==",
+ "dev": true,
+ "requires": {
+ "@hapi/hoek": "^9.0.0"
+ }
+ },
+ "@sideway/formula": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz",
+ "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==",
+ "dev": true
+ },
+ "@sideway/pinpoint": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz",
+ "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==",
+ "dev": true
+ },
"@sindresorhus/is": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
@@ -2938,9 +2953,9 @@
}
},
"@types/node": {
- "version": "12.20.15",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.15.tgz",
- "integrity": "sha512-F6S4Chv4JicJmyrwlDkxUdGNSplsQdGwp1A0AJloEVDirWdZOAiRHhovDlsFkKUrquUXhz1imJhXHsf59auyAg=="
+ "version": "12.20.48",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.48.tgz",
+ "integrity": "sha512-4kxzqkrpwYtn6okJUcb2lfUu9ilnb3yhUOH6qX3nug8D2DupZ2drIkff2yJzYcNJVl3begnlcaBJ7tqiTTzjnQ=="
},
"@types/parse-json": {
"version": "4.0.0",
@@ -2979,16 +2994,10 @@
"@types/node": "*"
}
},
- "@types/selenium-webdriver": {
- "version": "3.0.17",
- "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.17.tgz",
- "integrity": "sha512-tGomyEuzSC1H28y2zlW6XPCaDaXFaD6soTdb4GNdmte2qfHtrKqhy0ZFs4r/1hpazCfEZqeTSRLvSasmEx89uw==",
- "dev": true
- },
"@types/sinonjs__fake-timers": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.2.tgz",
- "integrity": "sha512-dIPoZ3g5gcx9zZEszaxLSVTvMReD3xxyyDnQUjA6IYDG9Ba2AV0otMPs+77sG9ojB4Qr2N2Vk5RnKeuA0X/0bg==",
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz",
+ "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==",
"dev": true
},
"@types/sizzle": {
@@ -3058,9 +3067,9 @@
}
},
"@types/yauzl": {
- "version": "2.9.1",
- "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz",
- "integrity": "sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==",
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
+ "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
"dev": true,
"optional": true,
"requires": {
@@ -3459,21 +3468,6 @@
}
}
},
- "adm-zip": {
- "version": "0.4.16",
- "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz",
- "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==",
- "dev": true
- },
- "agent-base": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
- "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==",
- "dev": true,
- "requires": {
- "es6-promisify": "^5.0.0"
- }
- },
"agentkeepalive": {
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.4.tgz",
@@ -3758,11 +3752,29 @@
}
}
},
- "arrify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
- "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
- "dev": true
+ "array.prototype.flatmap": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz",
+ "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.4",
+ "es-abstract": "^1.20.4",
+ "es-shim-unscopables": "^1.0.0"
+ },
+ "dependencies": {
+ "define-properties": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
+ "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==",
+ "dev": true,
+ "requires": {
+ "has-property-descriptors": "^1.0.0",
+ "object-keys": "^1.1.1"
+ }
+ }
+ }
},
"asn1": {
"version": "0.2.4",
@@ -3790,13 +3802,10 @@
"dev": true
},
"async": {
- "version": "2.6.4",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
- "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
- "dev": true,
- "requires": {
- "lodash": "^4.17.14"
- }
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
+ "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==",
+ "dev": true
},
"async-each": {
"version": "1.0.3",
@@ -3842,6 +3851,12 @@
"postcss-value-parser": "^4.1.0"
},
"dependencies": {
+ "colorette": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz",
+ "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==",
+ "dev": true
+ },
"postcss": {
"version": "7.0.36",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
@@ -3870,6 +3885,12 @@
}
}
},
+ "available-typed-arrays": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
+ "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
+ "dev": true
+ },
"aws-sign2": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
@@ -3880,6 +3901,29 @@
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz",
"integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug=="
},
+ "axios": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
+ "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
+ "dev": true,
+ "requires": {
+ "follow-redirects": "^1.14.9",
+ "form-data": "^4.0.0"
+ },
+ "dependencies": {
+ "form-data": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "dev": true,
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ }
+ }
+ }
+ },
"babel-loader": {
"version": "8.2.2",
"resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz",
@@ -4096,15 +4140,6 @@
"integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==",
"dev": true
},
- "blocking-proxy": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz",
- "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.0"
- }
- },
"bluebird": {
"version": "3.7.2",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
@@ -4207,15 +4242,14 @@
"electron-to-chromium": "^1.3.723",
"escalade": "^3.1.1",
"node-releases": "^1.1.71"
- }
- },
- "browserstack": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.6.1.tgz",
- "integrity": "sha512-GxtFjpIaKdbAyzHfFDKixKO8IBT7wR3NjbzrGc78nNs/Ciys9wU3/nBtsqsWv5nDSrdI5tz0peKuzCPuNXNUiw==",
- "dev": true,
- "requires": {
- "https-proxy-agent": "^2.2.1"
+ },
+ "dependencies": {
+ "colorette": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz",
+ "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==",
+ "dev": true
+ }
}
},
"buffer": {
@@ -4231,7 +4265,7 @@
"buffer-crc32": {
"version": "0.2.13",
"resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
+ "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
"dev": true
},
"buffer-from": {
@@ -4410,7 +4444,7 @@
"check-more-types": {
"version": "2.24.0",
"resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz",
- "integrity": "sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA=",
+ "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==",
"dev": true
},
"chokidar": {
@@ -4452,9 +4486,9 @@
}
},
"ci-info": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz",
- "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==",
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.5.0.tgz",
+ "integrity": "sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==",
"dev": true
},
"circular-dependency-plugin": {
@@ -4507,48 +4541,13 @@
"dev": true
},
"cli-table3": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.0.tgz",
- "integrity": "sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==",
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz",
+ "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==",
"dev": true,
"requires": {
- "colors": "^1.1.2",
- "object-assign": "^4.1.0",
+ "@colors/colors": "1.5.0",
"string-width": "^4.2.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.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
- "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==",
- "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"
- }
- }
}
},
"cli-truncate": {
@@ -4559,40 +4558,6 @@
"requires": {
"slice-ansi": "^3.0.0",
"string-width": "^4.2.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.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
- "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==",
- "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"
- }
- }
}
},
"cli-width": {
@@ -4713,9 +4678,9 @@
"dev": true
},
"colorette": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz",
- "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==",
+ "version": "2.0.19",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz",
+ "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==",
"dev": true
},
"colors": {
@@ -4733,9 +4698,9 @@
}
},
"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==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
+ "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
"dev": true
},
"comment-parser": {
@@ -4745,9 +4710,9 @@
"dev": true
},
"common-tags": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz",
- "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==",
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz",
+ "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==",
"dev": true
},
"commondir": {
@@ -5539,32 +5504,35 @@
"dev": true
},
"cypress": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/cypress/-/cypress-7.5.0.tgz",
- "integrity": "sha512-tw3v6nrTJoEzT37+Nf6RK+DvdTfhMb8EJYskZx7oskZ+J9qQ1QHWA4dH8Eoe/Mr/wE47o+7PK6O9tgqhRy6IHg==",
+ "version": "10.11.0",
+ "resolved": "https://registry.npmjs.org/cypress/-/cypress-10.11.0.tgz",
+ "integrity": "sha512-lsaE7dprw5DoXM00skni6W5ElVVLGAdRUUdZjX2dYsGjbY/QnpzWZ95Zom1mkGg0hAaO/QVTZoFVS7Jgr/GUPA==",
"dev": true,
"requires": {
- "@cypress/listr-verbose-renderer": "^0.4.1",
- "@cypress/request": "^2.88.5",
+ "@cypress/request": "^2.88.10",
"@cypress/xvfb": "^1.2.4",
"@types/node": "^14.14.31",
- "@types/sinonjs__fake-timers": "^6.0.2",
+ "@types/sinonjs__fake-timers": "8.1.1",
"@types/sizzle": "^2.3.2",
"arch": "^2.2.0",
"blob-util": "^2.0.2",
"bluebird": "^3.7.2",
+ "buffer": "^5.6.0",
"cachedir": "^2.3.0",
"chalk": "^4.1.0",
"check-more-types": "^2.24.0",
- "cli-table3": "~0.6.0",
+ "cli-cursor": "^3.1.0",
+ "cli-table3": "~0.6.1",
"commander": "^5.1.0",
"common-tags": "^1.8.0",
"dayjs": "^1.10.4",
- "debug": "4.3.2",
- "eventemitter2": "^6.4.3",
+ "debug": "^4.3.2",
+ "enquirer": "^2.3.6",
+ "eventemitter2": "6.4.7",
"execa": "4.1.0",
"executable": "^4.1.1",
"extract-zip": "2.0.1",
+ "figures": "^3.2.0",
"fs-extra": "^9.1.0",
"getos": "^3.2.1",
"is-ci": "^3.0.0",
@@ -5573,22 +5541,22 @@
"listr2": "^3.8.3",
"lodash": "^4.17.21",
"log-symbols": "^4.0.0",
- "minimist": "^1.2.5",
+ "minimist": "^1.2.6",
"ospath": "^1.2.2",
"pretty-bytes": "^5.6.0",
- "ramda": "~0.27.1",
+ "proxy-from-env": "1.0.0",
"request-progress": "^3.0.0",
+ "semver": "^7.3.2",
"supports-color": "^8.1.1",
"tmp": "~0.2.1",
"untildify": "^4.0.0",
- "url": "^0.11.0",
"yauzl": "^2.10.0"
},
"dependencies": {
"@types/node": {
- "version": "14.17.3",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.3.tgz",
- "integrity": "sha512-e6ZowgGJmTuXa3GyaPbTGxX17tnThl2aSSizrFthQ7m9uLGZBXiGhgE55cjRZTF5kjZvYn9EOPOMljdjwbflxw==",
+ "version": "14.18.33",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.33.tgz",
+ "integrity": "sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==",
"dev": true
},
"ansi-styles": {
@@ -5601,9 +5569,9 @@
}
},
"chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"requires": {
"ansi-styles": "^4.1.0",
@@ -5636,12 +5604,6 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "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
- },
"cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
@@ -5654,14 +5616,20 @@
}
},
"debug": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
- "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
"requires": {
"ms": "2.1.2"
}
},
+ "eventemitter2": {
+ "version": "6.4.7",
+ "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz",
+ "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==",
+ "dev": true
+ },
"execa": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz",
@@ -5695,15 +5663,9 @@
"dev": true
},
"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==",
- "dev": true
- },
- "lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
"dev": true
},
"npm-run-path": {
@@ -5721,13 +5683,13 @@
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
"dev": true
},
- "rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "semver": {
+ "version": "7.3.8",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+ "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
"dev": true,
"requires": {
- "glob": "^7.1.3"
+ "lru-cache": "^6.0.0"
}
},
"shebang-command": {
@@ -5794,9 +5756,9 @@
"dev": true
},
"dayjs": {
- "version": "1.10.5",
- "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.5.tgz",
- "integrity": "sha512-BUFis41ikLz+65iH6LHQCDm4YPMj5r1YFLdupPIyM4SGcXMmtiLQ7U37i+hGS8urIuqe7I/ou3IS1jVc4nbN4g==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.6.tgz",
+ "integrity": "sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ==",
"dev": true
},
"debug": {
@@ -6273,35 +6235,44 @@
}
},
"es-abstract": {
- "version": "1.20.4",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz",
- "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==",
+ "version": "1.21.1",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz",
+ "integrity": "sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==",
"dev": true,
"requires": {
+ "available-typed-arrays": "^1.0.5",
"call-bind": "^1.0.2",
+ "es-set-tostringtag": "^2.0.1",
"es-to-primitive": "^1.2.1",
"function-bind": "^1.1.1",
"function.prototype.name": "^1.1.5",
"get-intrinsic": "^1.1.3",
"get-symbol-description": "^1.0.0",
+ "globalthis": "^1.0.3",
+ "gopd": "^1.0.1",
"has": "^1.0.3",
"has-property-descriptors": "^1.0.0",
+ "has-proto": "^1.0.1",
"has-symbols": "^1.0.3",
- "internal-slot": "^1.0.3",
+ "internal-slot": "^1.0.4",
+ "is-array-buffer": "^3.0.1",
"is-callable": "^1.2.7",
"is-negative-zero": "^2.0.2",
"is-regex": "^1.1.4",
"is-shared-array-buffer": "^1.0.2",
"is-string": "^1.0.7",
+ "is-typed-array": "^1.1.10",
"is-weakref": "^1.0.2",
"object-inspect": "^1.12.2",
"object-keys": "^1.1.1",
"object.assign": "^4.1.4",
"regexp.prototype.flags": "^1.4.3",
"safe-regex-test": "^1.0.0",
- "string.prototype.trimend": "^1.0.5",
- "string.prototype.trimstart": "^1.0.5",
- "unbox-primitive": "^1.0.2"
+ "string.prototype.trimend": "^1.0.6",
+ "string.prototype.trimstart": "^1.0.6",
+ "typed-array-length": "^1.0.4",
+ "unbox-primitive": "^1.0.2",
+ "which-typed-array": "^1.1.9"
},
"dependencies": {
"define-properties": {
@@ -6372,6 +6343,36 @@
"integrity": "sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==",
"dev": true
},
+ "es-set-tostringtag": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz",
+ "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==",
+ "dev": true,
+ "requires": {
+ "get-intrinsic": "^1.1.3",
+ "has": "^1.0.3",
+ "has-tostringtag": "^1.0.0"
+ },
+ "dependencies": {
+ "get-intrinsic": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
+ "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.3"
+ }
+ },
+ "has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+ "dev": true
+ }
+ }
+ },
"es-shim-unscopables": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz",
@@ -6392,21 +6393,6 @@
"is-symbol": "^1.0.2"
}
},
- "es6-promise": {
- "version": "4.2.8",
- "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
- "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==",
- "dev": true
- },
- "es6-promisify": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
- "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
- "dev": true,
- "requires": {
- "es6-promise": "^4.0.3"
- }
- },
"escalade": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
@@ -6481,18 +6467,18 @@
}
},
"@babel/helper-validator-identifier": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz",
- "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==",
+ "version": "7.19.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
+ "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
"dev": true
},
"@babel/highlight": {
- "version": "7.17.9",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz",
- "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
+ "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
"dev": true,
"requires": {
- "@babel/helper-validator-identifier": "^7.16.7",
+ "@babel/helper-validator-identifier": "^7.18.6",
"chalk": "^2.0.0",
"js-tokens": "^4.0.0"
},
@@ -6511,7 +6497,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=",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
"dev": true
}
}
@@ -6602,9 +6588,9 @@
}
},
"globals": {
- "version": "13.13.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz",
- "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==",
+ "version": "13.19.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz",
+ "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==",
"dev": true,
"requires": {
"type-fest": "^0.20.2"
@@ -6639,9 +6625,9 @@
"dev": true
},
"semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "version": "7.3.8",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+ "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
@@ -6689,13 +6675,14 @@
}
},
"eslint-import-resolver-node": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz",
- "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==",
+ "version": "0.3.7",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz",
+ "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==",
"dev": true,
"requires": {
"debug": "^3.2.7",
- "resolve": "^1.20.0"
+ "is-core-module": "^2.11.0",
+ "resolve": "^1.22.1"
},
"dependencies": {
"debug": {
@@ -6756,33 +6743,35 @@
}
},
"eslint-plugin-import": {
- "version": "2.26.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz",
- "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==",
+ "version": "2.27.4",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.4.tgz",
+ "integrity": "sha512-Z1jVt1EGKia1X9CnBCkpAOhWy8FgQ7OmJ/IblEkT82yrFU/xJaxwujaTzLWqigewwynRQ9mmHfX9MtAfhxm0sA==",
"dev": true,
"requires": {
- "array-includes": "^3.1.4",
- "array.prototype.flat": "^1.2.5",
- "debug": "^2.6.9",
+ "array-includes": "^3.1.6",
+ "array.prototype.flat": "^1.3.1",
+ "array.prototype.flatmap": "^1.3.0",
+ "debug": "^3.2.7",
"doctrine": "^2.1.0",
- "eslint-import-resolver-node": "^0.3.6",
- "eslint-module-utils": "^2.7.3",
+ "eslint-import-resolver-node": "^0.3.7",
+ "eslint-module-utils": "^2.7.4",
"has": "^1.0.3",
- "is-core-module": "^2.8.1",
+ "is-core-module": "^2.11.0",
"is-glob": "^4.0.3",
"minimatch": "^3.1.2",
- "object.values": "^1.1.5",
- "resolve": "^1.22.0",
+ "object.values": "^1.1.6",
+ "resolve": "^1.22.1",
+ "semver": "^6.3.0",
"tsconfig-paths": "^3.14.1"
},
"dependencies": {
"debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "^2.1.1"
}
},
"doctrine": {
@@ -6821,12 +6810,6 @@
"brace-expansion": "^1.1.7"
}
},
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
- },
"path-parse": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
@@ -6996,12 +6979,6 @@
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
"dev": true
},
- "eventemitter2": {
- "version": "6.4.4",
- "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.4.tgz",
- "integrity": "sha512-HLU3NDY6wARrLCEwyGKRBvuWYyvW6mHYv72SJJAH3iJN3a6eVUvkjFkcxah1bcTgGVBBrFdIopBJPhCQFMLyXw==",
- "dev": true
- },
"eventemitter3": {
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
@@ -7050,23 +7027,11 @@
"pify": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
"dev": true
}
}
},
- "exit": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
- "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
- "dev": true
- },
- "exit-hook": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz",
- "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=",
- "dev": true
- },
"expand-brackets": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
@@ -7366,7 +7331,7 @@
"fd-slicer": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
- "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
+ "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
"dev": true,
"requires": {
"pend": "~1.2.0"
@@ -7527,6 +7492,15 @@
"integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==",
"dev": true
},
+ "for-each": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
+ "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
+ "dev": true,
+ "requires": {
+ "is-callable": "^1.1.3"
+ }
+ },
"for-in": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
@@ -7579,24 +7553,6 @@
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
"universalify": "^2.0.0"
- },
- "dependencies": {
- "jsonfile": {
- "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": "^2.0.0"
- }
- },
- "universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
- "dev": true
- }
}
},
"fs-minipass": {
@@ -7746,14 +7702,6 @@
"dev": true,
"requires": {
"async": "^3.2.0"
- },
- "dependencies": {
- "async": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
- "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==",
- "dev": true
- }
}
},
"getpass": {
@@ -7814,6 +7762,15 @@
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
"integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
},
+ "globalthis": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
+ "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3"
+ }
+ },
"globby": {
"version": "11.0.4",
"resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz",
@@ -7836,6 +7793,34 @@
}
}
},
+ "gopd": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
+ "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
+ "dev": true,
+ "requires": {
+ "get-intrinsic": "^1.1.3"
+ },
+ "dependencies": {
+ "get-intrinsic": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
+ "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.3"
+ }
+ },
+ "has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+ "dev": true
+ }
+ }
+ },
"got": {
"version": "11.8.5",
"resolved": "https://registry.npmjs.org/got/-/got-11.8.5.tgz",
@@ -7855,9 +7840,9 @@
}
},
"graceful-fs": {
- "version": "4.2.6",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
- "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==",
+ "version": "4.2.10",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
+ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
"dev": true
},
"handle-thing": {
@@ -7889,15 +7874,6 @@
"function-bind": "^1.1.1"
}
},
- "has-ansi": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
- "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
- "dev": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- },
"has-bigints": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
@@ -7918,6 +7894,12 @@
"get-intrinsic": "^1.1.1"
}
},
+ "has-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
+ "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
+ "dev": true
+ },
"has-symbols": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz",
@@ -8249,27 +8231,6 @@
"resolve-alpn": "^1.0.0"
}
},
- "https-proxy-agent": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz",
- "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==",
- "dev": true,
- "requires": {
- "agent-base": "^4.3.0",
- "debug": "^3.1.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- }
- }
- },
"human-signals": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
@@ -8328,12 +8289,6 @@
"dev": true,
"optional": true
},
- "immediate": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
- "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=",
- "dev": true
- },
"import-fresh": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
@@ -8436,12 +8391,6 @@
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
- "ini": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
- "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
- "dev": true
- },
"inquirer": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.0.0.tgz",
@@ -8546,14 +8495,33 @@
}
},
"internal-slot": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz",
- "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz",
+ "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==",
"dev": true,
"requires": {
- "get-intrinsic": "^1.1.0",
+ "get-intrinsic": "^1.1.3",
"has": "^1.0.3",
"side-channel": "^1.0.4"
+ },
+ "dependencies": {
+ "get-intrinsic": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
+ "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.3"
+ }
+ },
+ "has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+ "dev": true
+ }
}
},
"interpret": {
@@ -8614,6 +8582,36 @@
"call-bind": "^1.0.0"
}
},
+ "is-array-buffer": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.1.tgz",
+ "integrity": "sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.1.3",
+ "is-typed-array": "^1.1.10"
+ },
+ "dependencies": {
+ "get-intrinsic": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
+ "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.3"
+ }
+ },
+ "has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+ "dev": true
+ }
+ }
+ },
"is-arrayish": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
@@ -8661,12 +8659,12 @@
"dev": true
},
"is-ci": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz",
- "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz",
+ "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==",
"dev": true,
"requires": {
- "ci-info": "^3.1.1"
+ "ci-info": "^3.2.0"
}
},
"is-color-stop": {
@@ -8785,14 +8783,6 @@
"requires": {
"global-dirs": "^3.0.0",
"is-path-inside": "^3.0.2"
- },
- "dependencies": {
- "is-path-inside": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
- "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
- "dev": true
- }
}
},
"is-interactive": {
@@ -8841,16 +8831,24 @@
"dev": true,
"requires": {
"is-path-inside": "^2.1.0"
+ },
+ "dependencies": {
+ "is-path-inside": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz",
+ "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==",
+ "dev": true,
+ "requires": {
+ "path-is-inside": "^1.0.2"
+ }
+ }
}
},
"is-path-inside": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz",
- "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==",
- "dev": true,
- "requires": {
- "path-is-inside": "^1.0.2"
- }
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
+ "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
+ "dev": true
},
"is-plain-object": {
"version": "2.0.4",
@@ -8910,6 +8908,19 @@
"has-symbols": "^1.0.2"
}
},
+ "is-typed-array": {
+ "version": "1.1.10",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz",
+ "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==",
+ "dev": true,
+ "requires": {
+ "available-typed-arrays": "^1.0.5",
+ "call-bind": "^1.0.2",
+ "for-each": "^0.3.3",
+ "gopd": "^1.0.1",
+ "has-tostringtag": "^1.0.0"
+ }
+ },
"is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
@@ -9106,12 +9117,6 @@
"color-convert": "^2.0.1"
}
},
- "async": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
- "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==",
- "dev": true
- },
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -9154,25 +9159,6 @@
}
}
},
- "jasmine": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz",
- "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=",
- "dev": true,
- "requires": {
- "exit": "^0.1.2",
- "glob": "^7.0.6",
- "jasmine-core": "~2.8.0"
- },
- "dependencies": {
- "jasmine-core": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz",
- "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=",
- "dev": true
- }
- }
- },
"jasmine-core": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.6.0.tgz",
@@ -9188,12 +9174,6 @@
"colors": "1.4.0"
}
},
- "jasminewd2": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz",
- "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=",
- "dev": true
- },
"jest-worker": {
"version": "26.6.2",
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz",
@@ -9222,6 +9202,19 @@
}
}
},
+ "joi": {
+ "version": "17.7.0",
+ "resolved": "https://registry.npmjs.org/joi/-/joi-17.7.0.tgz",
+ "integrity": "sha512-1/ugc8djfn93rTE3WRKdCzGGt/EtiYKxITMO4Wiv6q5JL1gl9ePt4kBsl1S499nbosspfctIQTpYIhSmHA3WAg==",
+ "dev": true,
+ "requires": {
+ "@hapi/hoek": "^9.0.0",
+ "@hapi/topo": "^5.0.0",
+ "@sideway/address": "^4.1.3",
+ "@sideway/formula": "^3.0.0",
+ "@sideway/pinpoint": "^2.0.0"
+ }
+ },
"jose": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/jose/-/jose-2.0.6.tgz",
@@ -9357,18 +9350,6 @@
"verror": "1.10.0"
}
},
- "jszip": {
- "version": "3.10.1",
- "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz",
- "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==",
- "dev": true,
- "requires": {
- "lie": "~3.3.0",
- "pako": "~1.0.2",
- "readable-stream": "~2.3.6",
- "setimmediate": "^1.0.5"
- }
- },
"karma": {
"version": "6.3.16",
"resolved": "https://registry.npmjs.org/karma/-/karma-6.3.16.tgz",
@@ -9618,7 +9599,7 @@
"lazy-ass": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz",
- "integrity": "sha1-eZllXoZGwX8In90YfRUNMyTVRRM=",
+ "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==",
"dev": true
},
"less": {
@@ -9683,15 +9664,6 @@
"webpack-sources": "^1.2.0"
}
},
- "lie": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
- "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
- "dev": true,
- "requires": {
- "immediate": "~3.0.5"
- }
- },
"lines-and-columns": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
@@ -9699,24 +9671,25 @@
"dev": true
},
"listr2": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.10.0.tgz",
- "integrity": "sha512-eP40ZHihu70sSmqFNbNy2NL1YwImmlMmPh9WO5sLmPDleurMHt3n+SwEWNu2kzKScexZnkyFtc1VI0z/TGlmpw==",
+ "version": "3.14.0",
+ "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz",
+ "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==",
"dev": true,
"requires": {
"cli-truncate": "^2.1.0",
- "colorette": "^1.2.2",
+ "colorette": "^2.0.16",
"log-update": "^4.0.0",
"p-map": "^4.0.0",
- "rxjs": "^6.6.7",
+ "rfdc": "^1.3.0",
+ "rxjs": "^7.5.1",
"through": "^2.3.8",
"wrap-ansi": "^7.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==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"dev": true
},
"ansi-styles": {
@@ -9743,56 +9716,24 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"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
- },
- "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"
- }
- },
"rxjs": {
- "version": "6.6.7",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
- "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+ "version": "7.5.7",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz",
+ "integrity": "sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==",
"dev": true,
"requires": {
- "tslib": "^1.9.0"
- }
- },
- "string-width": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
- "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
+ "tslib": "^2.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==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
"requires": {
- "ansi-regex": "^5.0.0"
+ "ansi-regex": "^5.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
- },
"wrap-ansi": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
@@ -9869,13 +9810,13 @@
"lodash.once": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
- "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=",
+ "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==",
"dev": true
},
"lodash.truncate": {
"version": "4.4.2",
"resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
- "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=",
+ "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==",
"dev": true
},
"lodash.uniq": {
@@ -9987,12 +9928,6 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"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
- },
"slice-ansi": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
@@ -11155,7 +11090,7 @@
"ospath": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz",
- "integrity": "sha1-EnZjl3Sj+O8lcvf+QoDg6kVQwHs=",
+ "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==",
"dev": true
},
"p-cancelable": {
@@ -11244,12 +11179,6 @@
"tar": "^6.1.0"
}
},
- "pako": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
- "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
- "dev": true
- },
"parent-module": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
@@ -11372,7 +11301,7 @@
"pend": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
- "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
+ "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
"dev": true
},
"performance-now": {
@@ -11433,6 +11362,15 @@
"mkdirp": "^0.5.5"
},
"dependencies": {
+ "async": {
+ "version": "2.6.4",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
+ "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.14"
+ }
+ },
"debug": {
"version": "3.2.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
@@ -11468,6 +11406,14 @@
"colorette": "^1.2.2",
"nanoid": "^3.1.23",
"source-map-js": "^0.6.2"
+ },
+ "dependencies": {
+ "colorette": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz",
+ "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==",
+ "dev": true
+ }
}
},
"postcss-attribute-case-insensitive": {
@@ -13065,353 +13011,6 @@
"retry": "^0.12.0"
}
},
- "protractor": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/protractor/-/protractor-7.0.0.tgz",
- "integrity": "sha512-UqkFjivi4GcvUQYzqGYNe0mLzfn5jiLmO8w9nMhQoJRLhy2grJonpga2IWhI6yJO30LibWXJJtA4MOIZD2GgZw==",
- "dev": true,
- "requires": {
- "@types/q": "^0.0.32",
- "@types/selenium-webdriver": "^3.0.0",
- "blocking-proxy": "^1.0.0",
- "browserstack": "^1.5.1",
- "chalk": "^1.1.3",
- "glob": "^7.0.3",
- "jasmine": "2.8.0",
- "jasminewd2": "^2.1.0",
- "q": "1.4.1",
- "saucelabs": "^1.5.0",
- "selenium-webdriver": "3.6.0",
- "source-map-support": "~0.4.0",
- "webdriver-js-extender": "2.1.0",
- "webdriver-manager": "^12.1.7",
- "yargs": "^15.3.1"
- },
- "dependencies": {
- "@types/q": {
- "version": "0.0.32",
- "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz",
- "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=",
- "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==",
- "dev": true
- },
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
- "dev": true
- },
- "camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
- "dev": true
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "dev": true,
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- }
- },
- "cliui": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
- "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
- "dev": true,
- "requires": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^6.2.0"
- },
- "dependencies": {
- "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"
- }
- }
- }
- },
- "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
- },
- "del": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
- "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
- "dev": true,
- "requires": {
- "globby": "^5.0.0",
- "is-path-cwd": "^1.0.0",
- "is-path-in-cwd": "^1.0.0",
- "object-assign": "^4.0.1",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0",
- "rimraf": "^2.2.8"
- }
- },
- "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==",
- "dev": true
- },
- "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"
- }
- },
- "globby": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
- "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
- "dev": true,
- "requires": {
- "array-union": "^1.0.1",
- "arrify": "^1.0.0",
- "glob": "^7.0.3",
- "object-assign": "^4.0.1",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- }
- },
- "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
- },
- "is-path-cwd": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
- "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
- "dev": true
- },
- "is-path-in-cwd": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz",
- "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
- "dev": true,
- "requires": {
- "is-path-inside": "^1.0.0"
- }
- },
- "is-path-inside": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
- "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
- "dev": true,
- "requires": {
- "path-is-inside": "^1.0.1"
- }
- },
- "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-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"
- }
- },
- "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==",
- "dev": true
- },
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true
- },
- "q": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
- "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=",
- "dev": true
- },
- "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"
- }
- },
- "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
- },
- "source-map-support": {
- "version": "0.4.18",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
- "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
- "dev": true,
- "requires": {
- "source-map": "^0.5.6"
- }
- },
- "string-width": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
- "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
- },
- "dependencies": {
- "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": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
- "dev": true
- },
- "webdriver-manager": {
- "version": "12.1.8",
- "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.8.tgz",
- "integrity": "sha512-qJR36SXG2VwKugPcdwhaqcLQOD7r8P2Xiv9sfNbfZrKBnX243iAkOueX1yAmeNgIKhJ3YAT/F2gq6IiEZzahsg==",
- "dev": true,
- "requires": {
- "adm-zip": "^0.4.9",
- "chalk": "^1.1.1",
- "del": "^2.2.0",
- "glob": "^7.0.3",
- "ini": "^1.3.4",
- "minimist": "^1.2.0",
- "q": "^1.4.1",
- "request": "^2.87.0",
- "rimraf": "^2.5.2",
- "semver": "^5.3.0",
- "xml2js": "^0.4.17"
- }
- },
- "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,
- "requires": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.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"
- }
- },
- "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"
- }
- }
- }
- },
- "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,
- "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,
- "requires": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
- }
- }
- },
"proxy-addr": {
"version": "2.0.7",
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
@@ -13422,6 +13021,12 @@
"ipaddr.js": "1.9.1"
}
},
+ "proxy-from-env": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz",
+ "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==",
+ "dev": true
+ },
"prr": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
@@ -13481,12 +13086,6 @@
"resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
"integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA=="
},
- "ramda": {
- "version": "0.27.1",
- "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.27.1.tgz",
- "integrity": "sha512-PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw==",
- "dev": true
- },
"randombytes": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
@@ -13771,7 +13370,7 @@
"request-progress": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz",
- "integrity": "sha1-TKdUCBx/7GP1BeT6qCWqBs1mnb4=",
+ "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==",
"dev": true,
"requires": {
"throttleit": "^1.0.0"
@@ -14077,15 +13676,6 @@
"neo-async": "^2.6.2"
}
},
- "saucelabs": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz",
- "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==",
- "dev": true,
- "requires": {
- "https-proxy-agent": "^2.2.1"
- }
- },
"sax": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
@@ -14122,38 +13712,6 @@
"integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=",
"dev": true
},
- "selenium-webdriver": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz",
- "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==",
- "dev": true,
- "requires": {
- "jszip": "^3.1.3",
- "rimraf": "^2.5.4",
- "tmp": "0.0.30",
- "xml2js": "^0.4.17"
- },
- "dependencies": {
- "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"
- }
- },
- "tmp": {
- "version": "0.0.30",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz",
- "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=",
- "dev": true,
- "requires": {
- "os-tmpdir": "~1.0.1"
- }
- }
- }
- },
"selfsigned": {
"version": "1.10.11",
"resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz",
@@ -14321,12 +13879,6 @@
}
}
},
- "setimmediate": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==",
- "dev": true
- },
"setprototypeof": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
@@ -14424,12 +13976,6 @@
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"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
}
}
},
@@ -15424,6 +14970,12 @@
"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-support": {
"version": "0.5.19",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
@@ -15506,7 +15058,7 @@
"throttleit": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz",
- "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=",
+ "integrity": "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==",
"dev": true
},
"through": {
@@ -15704,6 +15256,17 @@
"mime-types": "~2.1.24"
}
},
+ "typed-array-length": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz",
+ "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "for-each": "^0.3.3",
+ "is-typed-array": "^1.1.9"
+ }
+ },
"typescript": {
"version": "4.2.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz",
@@ -15983,6 +15546,36 @@
"integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
"dev": true
},
+ "wait-on": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-7.0.1.tgz",
+ "integrity": "sha512-9AnJE9qTjRQOlTZIldAaf/da2eW0eSRSgcqq85mXQja/DW3MriHxkpODDSUEg+Gri/rKEcXUZHe+cevvYItaog==",
+ "dev": true,
+ "requires": {
+ "axios": "^0.27.2",
+ "joi": "^17.7.0",
+ "lodash": "^4.17.21",
+ "minimist": "^1.2.7",
+ "rxjs": "^7.8.0"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
+ "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==",
+ "dev": true
+ },
+ "rxjs": {
+ "version": "7.8.0",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz",
+ "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==",
+ "dev": true,
+ "requires": {
+ "tslib": "^2.1.0"
+ }
+ }
+ }
+ },
"watchpack": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz",
@@ -16011,16 +15604,6 @@
"defaults": "^1.0.3"
}
},
- "webdriver-js-extender": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz",
- "integrity": "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==",
- "dev": true,
- "requires": {
- "@types/selenium-webdriver": "^3.0.0",
- "selenium-webdriver": "^3.0.1"
- }
- },
"webpack": {
"version": "5.39.1",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.39.1.tgz",
@@ -16137,6 +15720,12 @@
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
"dev": true
},
+ "colorette": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz",
+ "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==",
+ "dev": true
+ },
"fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -16563,6 +16152,20 @@
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
"dev": true
},
+ "which-typed-array": {
+ "version": "1.1.9",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz",
+ "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==",
+ "dev": true,
+ "requires": {
+ "available-typed-arrays": "^1.0.5",
+ "call-bind": "^1.0.2",
+ "for-each": "^0.3.3",
+ "gopd": "^1.0.1",
+ "has-tostringtag": "^1.0.0",
+ "is-typed-array": "^1.1.10"
+ }
+ },
"wide-align": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
@@ -16682,22 +16285,6 @@
"async-limiter": "~1.0.0"
}
},
- "xml2js": {
- "version": "0.4.23",
- "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
- "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
- "dev": true,
- "requires": {
- "sax": ">=0.6.0",
- "xmlbuilder": "~11.0.0"
- }
- },
- "xmlbuilder": {
- "version": "11.0.1",
- "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
- "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
- "dev": true
- },
"y18n": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
@@ -16828,7 +16415,7 @@
"yauzl": {
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
+ "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
"dev": true,
"requires": {
"buffer-crc32": "~0.2.3",
diff --git a/components/crud-web-apps/jupyter/frontend/package.json b/components/crud-web-apps/jupyter/frontend/package.json
index f256a847..3b47ed27 100644
--- a/components/crud-web-apps/jupyter/frontend/package.json
+++ b/components/crud-web-apps/jupyter/frontend/package.json
@@ -16,8 +16,9 @@
"i18n:extract": "ng extract-i18n --output-path i18n",
"test": "ng test",
"test:prod": "ng test --browsers=ChromeHeadless --watch=false",
- "e2e": "cypress open .",
- "e2e-ci": "cypress run .",
+ "ui-test": "cypress open . --e2e",
+ "ui-test-ci": "cypress run . --e2e",
+ "ui-test-ci-all": "cypress run . --e2e --browser=chrome && cypress run . --e2e --browser=firefox",
"lint-check": "ng lint",
"lint": "ng lint --fix"
},
@@ -66,7 +67,7 @@
"@types/node": "^12.20.15",
"@typescript-eslint/eslint-plugin": "4.28.2",
"@typescript-eslint/parser": "4.28.2",
- "cypress": "^7.5.0",
+ "cypress": "^10.10.0",
"eslint": "^7.26.0",
"eslint-plugin-import": "latest",
"eslint-plugin-jsdoc": "^34.0.0",
@@ -79,8 +80,8 @@
"karma-jasmine": "~4.0.0",
"karma-jasmine-html-reporter": "^1.6.0",
"prettier": "^2.3.1",
- "protractor": "~7.0.0",
"ts-node": "^10.4.0",
- "typescript": "~4.2.4"
+ "typescript": "~4.2.4",
+ "wait-on": "^7.0.1"
}
}